/* =========================================================
   eboardresults – Premium Design Layer (v3.0.0)
   Search-form visual identity matched to the eBoardResults
   "Result Checker" mockup: green palette, header bar with a
   live badge, soft tinted fields, a green gradient action and
   a verified footer. Loaded AFTER style.css so it overrides
   freely. Every JS hook class (.bdrc-board, .bdrc-captcha,
   .bdrc-submit, .tab-btn, .checker-tab-panel, …) is preserved.
   ========================================================= */

/* ── Scoped tokens — only apply inside .bdrc-redesign ── */
.bdrc-redesign {
    --green:        #06694d;
    --green-dark:   #033d2d;
    --green-mid:    #0a7d5c;
    --green-tint:   #eaf4f0;
    --green-tint-2: #f2f9f6;
    --primary:      #06694d;          /* alias kept for legacy rules */
    --primary-rgb:  6, 105, 77;
    --secondary:    #0a7d5c;
    --accent:       #0a7d5c;
    --success:      #06694d;
    --warning:      #b76e00;
    --danger:       #e23b46;

    --bg:           #f4f7fb;
    --white:        #ffffff;
    --card:         #ffffff;
    --dark:         #18222f;
    --text:         #18222f;
    --muted:        #5b6877;

    --gray-100:     #f2f6fa;
    --gray-200:     #e7edf3;
    --gray-300:     #d6deea;
    --gray-400:     #8a96a4;
    --gray-500:     #5b6877;
    --gray-600:     #475260;
    --gray-800:     #18222f;

    --border:        rgba(24,34,47,.08);
    --border-strong: rgba(24,34,47,.14);

    --font-primary: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans Bengali", "Nirmala UI", "Hind Siliguri", Arial, sans-serif;
    --font-bengali: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans Bengali", "Nirmala UI", "Hind Siliguri", Arial, sans-serif;
    --font-mono:    'JetBrains Mono', ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Consolas, monospace;

    --shadow-sm:    0 1px 3px rgba(24,34,47,.06), 0 1px 2px rgba(24,34,47,.04);
    --shadow-md:    0 6px 16px rgba(24,34,47,.06), 0 2px 6px rgba(24,34,47,.04);
    --shadow-lg:    0 18px 40px rgba(24,34,47,.10), 0 6px 14px rgba(24,34,47,.05);
    --shadow-xl:    0 32px 70px rgba(24,34,47,.16), 0 10px 24px rgba(24,34,47,.08);
    --shadow-green: 0 8px 24px rgba(6,105,77,.28);

    --radius-sm:    10px;
    --radius-md:    14px;
    --radius-lg:    22px;
    --radius-pill:  999px;

    --ease: cubic-bezier(.22,.61,.36,1);
    --transition-normal: all .3s var(--ease);
    --transition-fast:   all .18s ease;

    font-family: var(--font-primary);
    color: var(--text);
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
}

.bdrc-redesign *,
.bdrc-redesign *::before,
.bdrc-redesign *::after { box-sizing: border-box; }

.bdrc-redesign :focus-visible {
    outline: 3px solid rgba(6,105,77,.40);
    outline-offset: 2px;
    border-radius: 6px;
}

/* ── Container layout ─────────────────────────────────── */
.bdrc-checker-wrapper { width: 100%; padding: 1.5rem .5rem 2rem; }
.checker-section-wrapper { width: 100%; }
.checker-container {
    width: 100%;
    max-width: 920px;
    margin: 0 auto;
    padding: 0 .5rem;
}

/* ── Utilities ────────────────────────────────────────── */
.bdrc-redesign .flex-center { display: flex; align-items: center; justify-content: center; }
.bdrc-redesign .flex-1 { flex: 1; min-width: 150px; }

/* ── Icons ────────────────────────────────────────────── */
.bdrc-redesign .icon-sm { width: 18px; height: 18px; flex-shrink: 0; }
.bdrc-redesign .icon-md { width: 20px; height: 20px; flex-shrink: 0; }

/* ── Checker card ─────────────────────────────────────── */
.bdrc-redesign.bdrc-app { max-width: 100%; margin: 0; padding: 0; }
.bdrc-redesign .checker-card {
    background: var(--card) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius-lg) !important;
    padding: 0 !important;
    box-shadow: none !important;
    margin: 0 auto 1rem;
    max-width: 880px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    position: relative;
    transition: var(--transition-normal);
}
.bdrc-redesign .checker-card:hover { box-shadow: none !important; }
.bdrc-redesign .card-glow { display: none; }
.bdrc-redesign .checker-card--single { max-width: 600px; }

/* ── Result Type switch row (replaces the old tab bar) ── */
/* Result Type select hidden — replaced by inline field in form rows */
.bdrc-redesign .bdrc-rt-switch-inline { display: none !important; }

/* 50/50 equal-width form row */
.bdrc-redesign .form-row--half { flex-wrap: nowrap; }
.bdrc-redesign .form-row--half > .form-group { flex: 1 1 0; min-width: 0; }
.bdrc-redesign .form-row--half > .form-group .form-control { width: 100%; }

/* Result Type field font-weight */
.bdrc-redesign .bdrc-rt-field .form-control { font-weight: 600; }
.bdrc-redesign .bdrc-rt-inline-select { font-weight: 600; }

/* ── Header bar (icon · title · live badge) ───────────── */
.bdrc-redesign .checker-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: 11px 16px;
    border-bottom: 1px solid var(--border);
    background: linear-gradient(180deg, var(--green-tint-2), #fff);
}
.bdrc-redesign .checker-top .ttl {
    display: flex;
    align-items: center;
    gap: 9px;
    font-weight: 700;
    font-size: 16px;
    color: var(--text);
    line-height: 1.3;
    min-width: 0;
}
.bdrc-redesign .checker-top .ttl-text { display: block; }
.bdrc-redesign .checker-top .live {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 600;
    color: var(--green);
    background: var(--green-tint);
    padding: 4px 9px;
    border-radius: var(--radius-pill);
    white-space: nowrap;
    flex-shrink: 0;
}
.bdrc-redesign .checker-top .live .pulse {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--green);
    box-shadow: 0 0 0 0 rgba(6,105,77,.5);
    animation: bdrc-pulse 2s infinite;
}
/* "Upcoming" badge — green to match live */
.bdrc-redesign .checker-top .live--upcoming {
    color: var(--green);
    background: var(--green-tint);
}
.bdrc-redesign .checker-top .live--upcoming .pulse {
    background: var(--green);
    box-shadow: 0 0 0 0 rgba(6,105,77,.5);
    animation: bdrc-pulse 2s infinite;
}
@keyframes bdrc-pulse {
    0%   { box-shadow: 0 0 0 0 rgba(6,105,77,.5); }
    70%  { box-shadow: 0 0 0 6px rgba(6,105,77,0); }
    100% { box-shadow: 0 0 0 0 rgba(6,105,77,0); }
}

/* ── Verified footer ──────────────────────────────────── */
.bdrc-redesign .checker-foot {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 9px 16px 10px;
    border-top: 1px solid var(--border);
    background: linear-gradient(0deg, var(--green-tint-2), #fff);
    font-size: 11.5px;
    font-weight: 500;
    color: var(--muted);
    text-align: center;
}
.bdrc-redesign .checker-foot svg { width: 14px; height: 14px; color: var(--green); stroke: var(--green); flex-shrink: 0; }
.bdrc-redesign .checker-foot b { color: var(--green-dark); font-weight: 600; }

/* ── Tabs ─────────────────────────────────────────────── */
.checker-tabs {
    display: flex;
    background-color: var(--white);
    border-bottom: 1px solid var(--border);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.checker-tabs::-webkit-scrollbar { display: none; }
.checker-tabs .tab-btn {
    flex: 1;
    min-width: 100px;
    padding: .85rem .75rem;
    background: none;
    border: none;
    border-bottom: 2.5px solid transparent;
    font-size: .85rem;
    font-weight: 600;
    color: var(--muted);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    transition: var(--transition-fast);
    white-space: nowrap;
    flex-shrink: 0;
    font-family: var(--font-primary);
}
.checker-tabs .tab-btn:hover { color: var(--green); background: var(--green-tint-2); }
.checker-tabs .tab-btn.active {
    color: var(--green);
    border-bottom-color: var(--green);
    background-color: var(--white);
    font-weight: 700;
}

/* ── Tab panels ───────────────────────────────────────── */
.checker-tab-panels { position: relative; }
.checker-tab-panel { display: none; }
.checker-tab-panel.active-panel { display: block; }
.checker-tab-panel .bdrc-app { margin: 0; padding: 0; max-width: 100%; }

/* ── Checker body (form padding) ──────────────────────── */
.bdrc-redesign .checker-body {
    padding: 1.5rem 1.6rem 1.75rem;
    flex: 1;
    position: relative;
    background: var(--white);
}

/* ── Form layout ──────────────────────────────────────── */
.bdrc-redesign .bdrc-form { margin: 0; padding: 0; border: none; background: none; box-shadow: none; }
.bdrc-redesign .form-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}
.bdrc-redesign .form-inputs-side {
    display: flex;
    flex-direction: column;
    gap: .8rem;
}
.bdrc-redesign .form-row {
    display: flex;
    gap: .8rem;
    flex-wrap: wrap;
}
.bdrc-redesign .form-group {
    display: flex;
    flex-direction: column;
    position: relative;
    gap: 5px;
}
.bdrc-redesign .select-half { width: 150px; }
.bdrc-redesign .form-label {
    font-size: 13px;
    font-weight: 600;
    color: var(--muted);
    letter-spacing: .005em;
    margin: 0;
}

/* ── Select / Input controls ──────────────────────────── */
.bdrc-redesign .select-wrapper { position: relative; }
.bdrc-redesign .form-control {
    width: 100%;
    background-color: #fbfcfe;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-sm);
    padding: 10px 12px;
    font-family: var(--font-primary);
    font-size: 15px;
    color: var(--text);
    font-weight: 500;
    outline: none;
    transition: border-color .2s, box-shadow .2s, background .2s;
    height: 46px;
    line-height: 1.2;
    -webkit-appearance: none;
    appearance: none;
}
.bdrc-redesign .form-control::placeholder { color: #9aa6b3; font-weight: 400; }
.bdrc-redesign .form-control:focus {
    border-color: var(--green);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(6,105,77,.10);
}
.bdrc-redesign select.form-control {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding-right: 2.1rem;
    cursor: pointer;
}
.bdrc-redesign .select-arrow {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--muted);
    pointer-events: none;
    width: 16px;
    height: 16px;
    transition: color .2s;
}
.bdrc-redesign .select-wrapper:focus-within .select-arrow { color: var(--green); }

/* ── Floating-label group ─────────────────────────────── */
.bdrc-redesign .floating-group { position: relative; flex: 1; min-width: 160px; }
.bdrc-redesign .form-control.text-input {
    font-family: var(--font-mono);
    letter-spacing: -.01em;
    padding-top: 1.25rem;
    padding-bottom: .3rem;
    height: 54px;
}
.bdrc-redesign .floating-label {
    position: absolute;
    left: 13px;
    top: 16px;
    color: var(--muted);
    font-size: 15px;
    font-weight: 500;
    pointer-events: none;
    transition: all .2s ease;
    background: transparent;
    font-family: var(--font-primary);
}
.bdrc-redesign .text-input:focus ~ .floating-label,
.bdrc-redesign .text-input:not(:placeholder-shown) ~ .floating-label {
    top: 6px;
    left: 13px;
    font-size: 11px;
    font-weight: 700;
    color: var(--green);
    letter-spacing: .04em;
    text-transform: uppercase;
}
.bdrc-redesign .input-helper {
    font-size: 12px;
    color: var(--gray-600);
    margin-top: 2px;
    padding-left: 2px;
}

/* Invalid state (preserve legacy .bdrc-invalid hook from JS) */
.bdrc-redesign .form-control.bdrc-invalid {
    border-color: var(--danger) !important;
    box-shadow: 0 0 0 3px rgba(226,59,70,.14) !important;
}

/* ── CAPTCHA box ──────────────────────────────────────── */
.bdrc-redesign .captcha-row { align-items: flex-end; gap: .8rem; }
.bdrc-redesign .captcha-box {
    background-color: #fbfcfe;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-sm);
    padding: .2rem .5rem .2rem .75rem;
    gap: 0;
    user-select: none;
    height: 72px;
    min-width: 230px;
    flex: 0 0 auto;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    overflow: hidden;
}
.bdrc-redesign .captcha-image-wrap {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    height: 100%;
}
.bdrc-redesign .bdrc-captcha-img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: 60px;
    object-fit: contain;
    display: block;
    border-radius: 4px;
    image-rendering: crisp-edges;
}
.bdrc-redesign .bdrc-captcha-loading {
    font-size: .78rem;
    color: var(--gray-400);
    font-weight: 600;
    white-space: nowrap;
}
.bdrc-redesign .btn-icon {
    background: transparent;
    border: none;
    cursor: pointer;
    color: var(--muted);
    padding: .3rem;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition-fast);
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    margin-left: .25rem;
    line-height: 1;
}
.bdrc-redesign .btn-icon .icon-sm { width: 20px; height: 20px; }
.bdrc-redesign .btn-icon:hover { background: var(--green-tint); color: var(--green); }
.bdrc-redesign .btn-icon:active { transform: rotate(180deg); }

/* ── Buttons ──────────────────────────────────────────── */
.bdrc-redesign .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 16px;
    padding: 12px 22px;
    border-radius: 12px;
    border: 1px solid transparent;
    cursor: pointer;
    transition: transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease);
    user-select: none;
    gap: .5rem;
    font-family: var(--font-primary);
    line-height: 1.2;
    min-height: 48px;
    white-space: nowrap;
}
.bdrc-redesign .btn-primary {
    color: #fff;
    background: linear-gradient(135deg, var(--green-mid), var(--green));
    box-shadow: var(--shadow-green);
}
.bdrc-redesign .btn-primary:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(6,105,77,.34);
}
.bdrc-redesign .btn-primary:active:not(:disabled) { transform: translateY(0); }
.bdrc-redesign .btn-primary:disabled {
    opacity: .6;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}
.bdrc-redesign .btn-outline {
    background-color: #fff;
    color: var(--muted);
    border-color: var(--border-strong);
}
.bdrc-redesign .btn-outline:hover {
    border-color: var(--green);
    color: var(--green);
    background-color: var(--green-tint-2);
}
.bdrc-redesign .btn-full { flex: 1; min-width: 0; }
.bdrc-redesign .form-actions {
    display: flex;
    gap: .65rem;
    margin-top: .15rem;
}

/* ── Spinner inside buttons ───────────────────────────── */
.bdrc-redesign .bdrc-spin { animation: bdrc-spin 1s linear infinite; }
@keyframes bdrc-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

/* ── Alert ────────────────────────────────────────────── */
.bdrc-redesign .bdrc-message {
    padding: .8rem 1rem;
    border-radius: var(--radius-sm);
    font-size: .88rem;
    border: 1px solid;
    margin: 0 0 1rem;
    font-weight: 500;
}
.bdrc-redesign .bdrc-msg-error { background: #fdf1f2; color: #a12029; border-color: #f6cdd0; }
.bdrc-redesign .bdrc-msg-info  { background: var(--green-tint-2); color: var(--green-dark); border-color: #cfe6dd; }

/* ── Responsive ───────────────────────────────────────── */
@media (max-width: 768px) {
    .bdrc-checker-wrapper { padding: 1rem .25rem 1.5rem; }
    .bdrc-redesign .checker-body { padding: 1.25rem 1.1rem 1.5rem; }
    .checker-tabs .tab-btn { padding: .8rem .5rem; font-size: .8rem; min-width: 80px; }
    .bdrc-redesign .form-row { flex-direction: column; gap: .9rem; }
    .bdrc-redesign .form-row--half { flex-direction: row; gap: .8rem; } /* keep 50/50 on tablet */
    .bdrc-redesign .select-half { width: 100%; }
    .bdrc-redesign .floating-group { min-width: unset; }
    .bdrc-redesign .captcha-row { flex-direction: row; align-items: flex-end; }
    .bdrc-redesign .form-actions { flex-direction: column; gap: .65rem; }
    .bdrc-redesign .btn-full { width: 100%; }
}
@media (max-width: 560px) {
    .bdrc-redesign .checker-body { padding: .9rem .85rem 1.1rem; }
    .bdrc-redesign .checker-top { padding: 10px 13px; }
    .bdrc-redesign .checker-top .ttl { font-size: 13px; }

    /* ── Every form row stacks to 1 column on mobile ── */
    .bdrc-redesign .form-row--half {
        flex-direction: column !important;
        gap: .9rem !important;
    }
    .bdrc-redesign .form-row--half > .form-group {
        /* Column flex: keep main-axis (height) content-sized; a 100% flex-basis
           here made each stacked field claim full height and overlap, hiding the
           2nd field (Examination / Exam Year). 'auto' sizes to content instead. */
        flex: 1 1 auto !important;
        width: 100% !important;
        min-width: 0 !important;
    }
    .bdrc-redesign .form-row--half > .form-group .form-control { width: 100% !important; }

    /* Captcha image on its own row, the input on the next row */
    .bdrc-redesign .captcha-row { flex-direction: column; align-items: stretch; gap: .55rem; }
    .bdrc-redesign .captcha-box { width: 100%; min-width: 0; flex: 0 0 auto; }
    .bdrc-redesign .captcha-row .floating-group { width: 100%; min-width: 0; }

    /* ── Premium mobile touch targets ── */
    .bdrc-redesign .form-control {
        min-height: 50px;
        padding: 10px 38px 10px 13px !important;
    }
    .bdrc-redesign .text-input {
        min-height: 54px;
        /* Floating-label inputs need head-room: the label floats to the top
           of the field, so reserve enough top padding that typed text never
           collides with it on mobile (the .form-control rule above crushed
           the desktop padding-top). */
        padding-top: 1.45rem !important;
        padding-bottom: .35rem !important;
    }
    .bdrc-redesign .form-label {
        font-size: 13px;
        font-weight: 700;
        letter-spacing: .03em;
        text-transform: uppercase;
    }
    .bdrc-redesign .btn { min-height: 50px; }
    .bdrc-redesign .form-inputs-side { gap: 1rem; }

    /* Captcha tab-panel inner body override */
    .checker-tab-panel .checker-body { padding: .4rem .75rem .9rem !important; }
}

/* ─────────────────────────────────────────────────────────
   TABBED VIEW: neutralise inner card chrome (single container)
   ───────────────────────────────────────────────────────── */
.checker-tab-panel .checker-card {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    margin: 0 !important;
    min-height: auto !important;
    max-width: 100% !important;
}
.checker-tab-panel .checker-card:hover { box-shadow: none !important; }
.checker-tab-panel .card-glow { display: none !important; }
.checker-tab-panel .checker-body { padding: .5rem 1.25rem 1.15rem !important; }
@media (max-width: 768px) {
    .checker-tab-panel .checker-body { padding: .4rem .9rem .95rem !important; }
}

/* ═════════════════════════════════════════════════════════
   RESULT POPUP MODAL + MARKSHEET  (recoloured to green theme)
   Structure preserved from the original; sapphire accents
   swapped for the search-form green palette for cohesion.
   ═════════════════════════════════════════════════════════ */
/* ─────────────────────────────────────────────────────────
   RESULT POPUP MODAL  (themed to match the search form)
   ───────────────────────────────────────────────────────── */
.bdrc-modal-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 99999;
    background: rgba(3,30,22, 0.72);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    align-items: center;
    justify-content: center;
    padding: 16px;
    animation: bdrc-fadein .25s ease;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans Bengali", "Nirmala UI", "Bangla MN", "Hind Siliguri", Arial, sans-serif;

    /* Re-declare the result-card tokens here (the injected result HTML is no
       longer inside .bdrc-wrapper) AND retheme them to the search-form palette
       so the result page visually matches the form. */
    --bdrc-primary:    #06694d;
    --bdrc-primary-dk: #0a7d5c;
    --bdrc-accent:     #0a7d5c;
    --bdrc-success:    #10B981;
    --bdrc-success-bg: #065f46;
    --bdrc-danger:     #EF4444;
    --bdrc-danger-bg:  #991b1b;
    --bdrc-bg:         #F1F5F9;
    --bdrc-card:       #ffffff;
    --bdrc-border:     #E2E8F0;
    --bdrc-text:       #1E293B;
    --bdrc-muted:      #475569;
    --bdrc-radius:     12px;
    --bdrc-shadow:     0 10px 15px -3px rgba(6,105,77,.08), 0 4px 6px -2px rgba(0,0,0,.04);
}
@keyframes bdrc-fadein { from { opacity: 0; } to { opacity: 1; } }
.bdrc-modal-overlay.bdrc-modal-open { display: flex; }

.bdrc-modal-box {
    position: relative;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 24px 64px rgba(3,30,22,.38);
    width: 100%;
    max-width: 860px;
    max-height: 92vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: bdrc-modal-in .28s cubic-bezier(.34,1.56,.64,1);
}
@keyframes bdrc-modal-in {
    from { opacity: 0; transform: scale(.93) translateY(18px); }
    to   { opacity: 1; transform: scale(1)  translateY(0);     }
}

/* Floating close button — sits over the result card's own header */
.bdrc-modal-close {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 5;
    background: rgba(15,23,42,.28);
    border: none;
    color: #fff;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .18s, transform .18s;
    line-height: 1;
}
.bdrc-modal-close svg { display: block; stroke: #fff; flex-shrink: 0; }
.bdrc-modal-close:hover { background: rgba(15,23,42,.5); transform: scale(1.05); }

.bdrc-modal-body {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
    background: #F8FAFC;
    padding: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans Bengali", "Nirmala UI", "Bangla MN", "Hind Siliguri", Arial, sans-serif;
}
/* The result card sits flush; modal supplies the frame. */
.bdrc-modal-body > .bdrc-card {
    margin: 0;
    border: none;
    border-radius: 0;
    box-shadow: none;
}

/* ── Result page → match search-form look ──────────────────
   The result markup uses the same tokens above; these tweaks
   align fonts, header gradient and the result table with the
   sapphire/Outfit search-form aesthetic. */
.bdrc-modal-body .bdrc-card-header {
    background: #06694d !important;
    padding: 1.6rem 1.5rem 1.4rem !important;
}
.bdrc-modal-body .bdrc-org {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans Bengali", "Nirmala UI", "Bangla MN", "Hind Siliguri", Arial, sans-serif;
    font-size: .72rem;
    letter-spacing: .08em;
    opacity: .85;
}
.bdrc-modal-body .bdrc-exam-meta {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans Bengali", "Nirmala UI", "Bangla MN", "Hind Siliguri", Arial, sans-serif;
    font-weight: 700;
    opacity: .96;
}
.bdrc-modal-body .bdrc-section-title {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans Bengali", "Nirmala UI", "Bangla MN", "Hind Siliguri", Arial, sans-serif;
    font-weight: 700;
    color: var(--bdrc-text);
}
.bdrc-modal-body .bdrc-result-actions {
    padding: 1rem 1.5rem 1.5rem;
    display: flex;
    gap: .75rem;
    flex-wrap: wrap;
}
.bdrc-modal-body .bdrc-btn {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans Bengali", "Nirmala UI", "Bangla MN", "Hind Siliguri", Arial, sans-serif;
    font-weight: 600;
    border-radius: 12px;
    padding: .7rem 1.3rem;
    min-height: 44px;
    border: 2px solid transparent;
    transition: all .2s ease;
}
.bdrc-modal-body .bdrc-btn-primary { background: #06694d; color: #fff; }
.bdrc-modal-body .bdrc-btn-primary:hover { background: #0a7d5c; transform: translateY(-1px); }
.bdrc-modal-body .bdrc-btn-secondary { background: #fff; color: #06694d; border-color: #CBD5E1; }
.bdrc-modal-body .bdrc-btn-secondary:hover { border-color: #06694d; background: rgba(6,105,77,.04); }
/* Result table headers in sapphire to match */
.bdrc-modal-body .bdrc-html-result table thead th,
.bdrc-modal-body .bdrc-html-result table tr:first-child td,
.bdrc-modal-body .bdrc-html-result table tr:first-child th {
    background: #06694d !important;
}
.bdrc-modal-body .bdrc-html-result table {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans Bengali", "Nirmala UI", "Bangla MN", "Hind Siliguri", Arial, sans-serif !important;
}

/* ── Full result-card alignment with the search-form aesthetic ──
   Tokens are already sapphire (set on .bdrc-modal-overlay). These rules
   refine spacing, typography and component chrome so the result page
   reads as part of the same design system as the form. */
.bdrc-modal-body .bdrc-card-body { background: #fff; padding: 1.5rem; }

/* Section titles */
.bdrc-modal-body .bdrc-section-title {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans Bengali", "Nirmala UI", "Bangla MN", "Hind Siliguri", Arial, sans-serif; font-weight: 700; font-size: 1rem;
    color: #1E293B; margin-bottom: .7rem;
}

/* Grades + group tables */
.bdrc-modal-body .bdrc-grades-table-wrap {
    border: 1px solid #E2E8F0; border-radius: 12px; overflow: hidden;
}
.bdrc-modal-body .bdrc-grades-table { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans Bengali", "Nirmala UI", "Bangla MN", "Hind Siliguri", Arial, sans-serif; }
.bdrc-modal-body .bdrc-grades-table thead th {
    background: #06694d !important; color: #fff !important;
    font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; font-weight: 700;
}
.bdrc-modal-body .bdrc-grade-badge {
    border-radius: 8px; font-weight: 700; min-width: 30px; display: inline-block; text-align: center;
}

/* School info card (institution) */
.bdrc-modal-body .bdrc-school-card {
    background: #F8FAFC; border: 1px solid #E2E8F0; border-left: 4px solid #06694d;
    border-radius: 12px; margin: 0 0 1.1rem;
}
.bdrc-modal-body .bdrc-eiin-badge { background: #06694d; border-radius: 99px; }

/* Stat cards (students overview) */
.bdrc-modal-body .bdrc-stats-grid {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: .6rem;
}
.bdrc-modal-body .bdrc-stat-card {
    border: 1px solid #E2E8F0; border-radius: 12px; background: #F8FAFC;
}
.bdrc-modal-body .bdrc-stat-val { color: #06694d; font-weight: 800; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans Bengali", "Nirmala UI", "Bangla MN", "Hind Siliguri", Arial, sans-serif; }

/* ── Individual marksheet — compact green theme (solid #0a7d5c, normal
   weight, official data structure). Scoped to .bdrc-individual-card so it
   also applies to the off-screen print clone. */
.bdrc-individual-card {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans Bengali", "Nirmala UI", "Hind Siliguri", Arial, sans-serif;
    color: #1c352d;
    background: #fff;
}
.bdrc-individual-card *, .bdrc-individual-card *::before, .bdrc-individual-card *::after { box-sizing: border-box; }

/* ── Hero header — solid green banner, emblem + titles (top-aligned grid) ── */
.bdrc-individual-card .bdrc-indv-gov-header.bdrc-ebr-hero-grid {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: start;            /* items aligned to TOP */
    gap: 13px;
    position: relative;
    padding: 13px 18px;
    background: #0a7d5c;
    color: #fff;
    text-align: left;
    border-bottom: 2px solid #086a4e;
}
.bdrc-individual-card .bdrc-hero-glow { display: none; }
.bdrc-individual-card .bdrc-gov-emblem {
    flex: 0 0 auto;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 11px;
    padding: 5px;
    box-shadow: 0 4px 12px rgba(3,61,45,.22);
}
.bdrc-individual-card .bdrc-gov-emblem img { width: 100%; height: 100%; display: block; object-fit: contain; }
.bdrc-individual-card .bdrc-gov-titles { min-width: 0; padding-top: 1px; }
.bdrc-individual-card .bdrc-gov-1 {
    font-size: .95rem;
    font-weight: 600;
    letter-spacing: .01em;
    line-height: 1.25;
    color: #fff;
}
.bdrc-individual-card .bdrc-gov-2 {
    font-size: .72rem;
    font-weight: 500;
    color: rgba(233,247,241,.9);
    margin-top: 2px;
    letter-spacing: .02em;
    line-height: 1.3;
}

.bdrc-individual-card .bdrc-card-body { background: #fff; padding: 0 1.3rem 1.1rem; }

/* ── Centred exam title on a soft tinted band ── */
.bdrc-individual-card .bdrc-indv-title {
    font-size: 1.18rem;
    font-weight: 600;
    color: #0a3f30;
    text-align: center;
    margin: 0 -1.3rem;
    padding: .8rem 1.3rem;
    background: #f2f9f6;
    border-bottom: 1px solid #dcebe4;
    letter-spacing: .005em;
    line-height: 1.3;
}

/* ── Section label — green band (no left border, background only) ── */
.bdrc-individual-card .bdrc-indv-sec-label {
    display: inline-block;
    font-size: .76rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #0a7d5c;
    background: #eaf4f0;
    border-radius: 6px;
    padding: .35rem .7rem;
    margin: .95rem 0 .55rem;
}

/* Horizontal scroll wrapper keeps the 4-column layout on narrow screens */
.bdrc-individual-card .bdrc-indv-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 0;
}
.bdrc-individual-card .bdrc-indv-scroll::-webkit-scrollbar { height: 6px; }
.bdrc-individual-card .bdrc-indv-scroll::-webkit-scrollbar-track { background: #eaf4f0; border-radius: 99px; }
.bdrc-individual-card .bdrc-indv-scroll::-webkit-scrollbar-thumb { background: #b6d8cb; border-radius: 99px; }

/* ── Student information summary table ── */
.bdrc-individual-card .bdrc-info-tbl {
    width: 100%;
    min-width: 520px;
    border-collapse: collapse;
    font-size: .85rem;
    border: 1px solid #e3efe9;
    border-radius: 10px;
    overflow: hidden;
    border-bottom: 2px solid #0a7d5c;
}
.bdrc-individual-card .bdrc-info-tbl td {
    padding: .42rem .7rem;
    border-bottom: 1px solid #ebf3ef;
    vertical-align: top;
    line-height: 1.35;
}
.bdrc-individual-card .bdrc-info-tbl tr:last-child td { border-bottom: none; }
.bdrc-individual-card .bdrc-k {
    color: #5b756b;
    font-weight: 500;
    width: 17%;
    white-space: nowrap;
    padding-right: .7rem;
    background: #f7fbf9;
}
.bdrc-individual-card .bdrc-v {
    color: #1c352d;
    font-weight: 500;
    width: 33%;
}
.bdrc-individual-card .bdrc-v-result {
    font-weight: 700;
    color: #0a7d5c;
}
.bdrc-individual-card .bdrc-v-result.is-failed { color: #c0392b; }

/* ── "Subject-wise Grade/Marks" centred heading ── */
.bdrc-individual-card .bdrc-grade-title {
    font-size: 1rem;
    font-weight: 600;
    color: #0a3f30;
    text-align: center;
    margin: 1rem 0 .55rem;
    letter-spacing: .005em;
}

/* ── Subject table — solid green header, compact rows ── */
.bdrc-individual-card .bdrc-grade-tbl {
    width: 100%;
    min-width: 420px;
    border-collapse: separate;
    border-spacing: 0;
    font-size: .85rem;
    border: 1px solid #e3efe9;
    border-radius: 10px;
    overflow: hidden;
}
.bdrc-individual-card .bdrc-grade-tbl thead th {
    text-align: left;
    font-weight: 600;
    color: #fff;
    padding: .5rem .7rem;
    background: #0a7d5c;
    letter-spacing: .02em;
}
.bdrc-individual-card .bdrc-grade-tbl tbody td {
    padding: .42rem .7rem;
    border-bottom: 1px solid #ebf3ef;
    color: #1c352d;
}
.bdrc-individual-card .bdrc-grade-tbl tbody tr:nth-child(even) td { background: #f7fbf9; }
.bdrc-individual-card .bdrc-grade-tbl tbody tr:last-child td { border-bottom: none; }
.bdrc-individual-card .bdrc-gt-code  { width: 22%; font-weight: 500; color: #44615a; }
.bdrc-individual-card .bdrc-gt-subj  { width: 56%; font-weight: 500; }
.bdrc-individual-card .bdrc-gt-grade { width: 22%; font-weight: 700; color: #0a7d5c; }

/* ── Actions ── */
.bdrc-individual-card .bdrc-result-actions {
    display: flex;
    gap: .6rem;
    flex-wrap: wrap;
    padding: 1rem 0 0;
}

@media (max-width: 560px) {
    .bdrc-individual-card .bdrc-indv-gov-header.bdrc-ebr-hero-grid { padding: 11px 13px; gap: 11px; }
    .bdrc-individual-card .bdrc-gov-emblem { width: 44px; height: 44px; border-radius: 10px; }
    .bdrc-individual-card .bdrc-gov-1 { font-size: .85rem; }
    .bdrc-individual-card .bdrc-gov-2 { font-size: .66rem; }
    .bdrc-individual-card .bdrc-card-body { padding: 0 .9rem 1rem; }
    .bdrc-individual-card .bdrc-indv-title { font-size: 1.05rem; padding: .7rem .9rem; margin: 0 -.9rem; }
    .bdrc-individual-card .bdrc-info-tbl, .bdrc-individual-card .bdrc-grade-tbl { font-size: .8rem; }
    .bdrc-individual-card .bdrc-result-actions { flex-direction: column; }
    .bdrc-individual-card .bdrc-result-actions .bdrc-btn { width: 100%; }
}
/* ═════════════════════════════════════════════════════════
   MOBILE — keep the result modal inside the viewport
   (District result intentionally left to its original styling)
   ═════════════════════════════════════════════════════════ */
@media (max-width: 640px) {
    .bdrc-modal-overlay { padding: 8px; }
    .bdrc-modal-box { max-height: 94vh; border-radius: 12px; }
    .bdrc-modal-body { padding: 0; }
    .bdrc-modal-close { top: 8px; right: 8px; width: 34px; height: 34px; }

    .bdrc-modal-body .bdrc-stats-grid { grid-template-columns: repeat(auto-fit, minmax(92px, 1fr)); gap: .45rem; }
}
