/* Student OMR registration pages (scoped to body.omr-register; sits on top of Bootstrap 4). */
:root {
  --omr-primary: #2f5bea;
  --omr-primary-dark: #2447c4;
  --omr-success: #1f9d63;
  --omr-ink: #1e2536;
  --omr-muted: #6b7388;
  --omr-bg: #f3f5fb;
  --omr-card: #ffffff;
  --omr-border: #e1e6f2;
  --omr-radius: 14px;
}

body.omr-register {
  background: var(--omr-bg);
  color: var(--omr-ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", "Noto Sans Devanagari", sans-serif;
  -webkit-font-smoothing: antialiased;
}

.omr-register .container { max-width: 640px; padding: 24px 16px 48px; }

.omr-register h4, .omr-register h5 { font-weight: 700; letter-spacing: -.01em; }
.omr-register h4 { margin-bottom: 16px; }
/* .omr-register a { color: var(--omr-primary); } */
/* .omr-register a:hover { color: var(--omr-primary-dark); } */

/* cards */
.omr-register .card {
  background: var(--omr-card);
  border: 1px solid var(--omr-border);
  border-radius: var(--omr-radius);
  box-shadow: 0 2px 10px rgba(30, 37, 54, .05);
}
.omr-register .card-body { padding: 20px; }
.omr-register .card.mb-2, .omr-register .card.mb-3 { margin-bottom: 14px !important; }

/* exam list rows */
.omr-register .card .card-body.d-flex { gap: 12px; flex-wrap: wrap; }
.omr-register .card .card-body.d-flex strong { font-size: 1.02rem; }

/* forms */
.omr-register label { font-weight: 600; font-size: .9rem; margin-bottom: 6px; }
.omr-register .form-control {
  height: 46px;
  border-radius: 10px;
  border: 1px solid var(--omr-border);
  font-size: 1rem;
}
.omr-register .form-control:focus {
  border-color: var(--omr-primary);
  box-shadow: 0 0 0 3px rgba(47, 91, 234, .15);
}
.omr-register .form-control-file {
  width: 100%;
  padding: 14px;
  border: 2px dashed var(--omr-border);
  border-radius: 10px;
  background: #fafbff;
}
.omr-register small, .omr-register .text-muted { color: var(--omr-muted) !important; }

/* buttons */
.omr-register .btn { border-radius: 10px; font-weight: 600; padding: 10px 18px; }
.omr-register .btn-primary { background: var(--omr-primary); border-color: var(--omr-primary); }
.omr-register .btn-primary:hover { background: var(--omr-primary-dark); border-color: var(--omr-primary-dark); }
.omr-register .btn-success { background: var(--omr-success); border-color: var(--omr-success); }
.omr-register .btn-sm { padding: 6px 14px; }
.omr-register form .btn { min-height: 44px; }

/* badges & alerts */
.omr-register .badge { border-radius: 999px; padding: .4em .8em; font-weight: 600; }
.omr-register .badge-light { background: #eef1fa; color: var(--omr-ink); }
.omr-register .alert { border: 0; border-radius: 12px; }

/* ID card */
.omr-register .idcard {
  max-width: 420px;
  margin: 8px auto 0;
  padding: 28px 24px;
  background: var(--omr-card);
  border: 1px solid var(--omr-border);
  border-top: 8px solid var(--omr-primary);
  border-radius: var(--omr-radius);
  box-shadow: 0 8px 28px rgba(30, 37, 54, .12);
}
.omr-register .idcard h4 { margin: 6px 0 4px; font-size: 1.35rem; }
.omr-register .idcard .roll {
  display: inline-block;
  margin: 14px 0;
  padding: 8px 22px;
  font-size: 2.4rem;
  font-weight: 800;
  letter-spacing: .35em;
  padding-left: calc(22px + .35em);
  font-variant-numeric: tabular-nums;
  color: var(--omr-primary);
  background: #eef2ff;
  border: 2px dashed var(--omr-primary);
  border-radius: 12px;
}

/* small screens */
@media (max-width: 480px) {
  .omr-register .container { padding: 16px 12px 40px; }
  .omr-register .card-body { padding: 16px; }
  .omr-register .card .card-body.d-flex > .btn { width: 100%; }
  .omr-register .idcard .roll { font-size: 1.8rem; letter-spacing: .25em; }
}

/* print: only the ID card */
@media print {
  body.omr-register { background: #fff; }
  .omr-register .alert, .omr-register p.text-center { display: none !important; }
  .omr-register .idcard { box-shadow: none; border: 2px solid #000; border-top-width: 8px; page-break-inside: avoid; }
}
