:root{--primary:#153e75;--primary-2:#0f2f5d;--accent:#0ea5a4;--bg:#f3f6fb;--surface:#fff;--text:#172033;--muted:#667085;--border:#e2e8f0;--danger:#b42318;--warning:#b54708;--success:#067647;--sidebar:#102a4c;--shadow:0 10px 30px rgba(15,23,42,.06)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.45}a{color:var(--primary);text-decoration:none}h1{font-size:30px;margin:0 0 6px}h2{font-size:20px;margin:0 0 18px}h3{margin:0 0 12px}.muted{color:var(--muted)}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.page-actions{display:flex;gap:10px;flex-wrap:wrap}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:260px;background:var(--sidebar);color:#fff;padding:22px 16px;z-index:100;overflow:auto}.sidebar-brand{display:flex;align-items:center;gap:12px;color:#fff;padding:4px 8px 24px}.sidebar-brand small,.user-chip small{display:block;font-weight:400;opacity:.7}.brand-mark{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#2dd4bf,#38bdf8);display:grid;place-items:center;font-weight:900;font-size:22px}.sidebar-nav{display:flex;flex-direction:column;gap:5px}.sidebar-nav a{color:#d9e5f4;padding:11px 13px;border-radius:10px;display:flex;align-items:center;gap:11px;font-weight:650}.sidebar-nav a:hover,.sidebar-nav a.active{background:rgba(255,255,255,.12);color:#fff}.sidebar-nav a span{width:22px;text-align:center}.nav-label{text-transform:uppercase;font-size:11px;letter-spacing:.12em;color:#88a2c2;padding:20px 13px 7px}.app-main{margin-left:260px;min-height:100vh}.app-topbar{height:72px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:50}.menu-toggle{display:none;border:0;background:transparent;font-size:24px}.user-chip{display:flex;align-items:center;gap:10px}.avatar{width:38px;height:38px;border-radius:50%;background:#e6eef9;color:var(--primary);display:grid;place-items:center;font-weight:800}.content{padding:30px;max-width:1500px;margin:auto}.public-topbar{height:68px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 5%}.public-topbar nav{display:flex;gap:18px}.brand{font-size:21px;font-weight:850}.container{width:min(1180px,92%);margin:30px auto;min-height:calc(100vh - 150px)}.card{background:var(--surface);border:1px solid var(--border);border-radius:15px;padding:22px;box-shadow:var(--shadow);margin-bottom:20px}.card.flush{padding:0;overflow:hidden}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:18px;margin:22px 0}.stat-card{background:#fff;border:1px solid var(--border);border-radius:15px;padding:20px;box-shadow:var(--shadow)}.stat-label{color:var(--muted);font-size:14px}.stat-value{font-size:34px;font-weight:850;margin-top:8px}.stat-note{font-size:12px;color:var(--muted);margin-top:5px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:9px;padding:10px 16px;background:var(--primary);color:#fff;cursor:pointer;font-weight:750;font-size:14px}.btn:hover{background:var(--primary-2)}.btn.secondary{background:#eef2f7;color:#344054}.btn.outline{background:#fff;color:var(--primary);border:1px solid #b8c7da}.btn.danger{background:var(--danger)}.btn.small{padding:7px 10px;font-size:12px}.actions{display:flex;gap:7px;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.form-grid .full{grid-column:1/-1}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #cbd5e1;border-radius:9px;margin:6px 0 15px;background:#fff;color:var(--text);font:inherit}input:focus,select:focus,textarea:focus{outline:3px solid rgba(21,62,117,.12);border-color:var(--primary)}textarea{min-height:90px;resize:vertical}label{font-weight:700;font-size:13px}.checkline{display:flex;align-items:center;gap:8px;margin:8px 0 16px}.checkline input{width:auto;margin:0}/* ==========================================
   Candidate/User filter bar - FIXED
   ========================================== */

.filter-bar{
    display:grid;
    grid-template-columns:minmax(260px,1.5fr) minmax(170px,1fr) minmax(170px,1fr) auto;
    gap:12px;
    align-items:end;
}

.filter-bar > div {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.filter-bar label {
    display: block;
    margin-bottom: 6px;
    font-weight: 700;
    font-size: 13px;
    color: var(--text);
}

.filter-bar input,
.filter-bar select{
    width: 100%;
    height: 46px;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 9px;
    background: #fff;
    color: var(--text);
    font: inherit;
    box-sizing: border-box;
}

.filter-bar .filter-submit{
    height:46px;
    min-height:46px;
    margin:0;
    padding:0 24px;
    border:0;
    border-radius:9px;
    background:var(--primary);
    color:#fff;
    cursor:pointer;
    font-weight:750;
    font-size:14px;
    white-space:nowrap;
    align-self:end;
}

.filter-bar .filter-submit:hover {
    background: var(--primary-2);
}

.filter-bar > div{
    min-width:0;
}

/* Tablet */
@media(max-width:1100px){
    .filter-bar{
        grid-template-columns:1fr 1fr;
    }
}

/* Mobile */
@media(max-width:620px){
    .filter-bar{
        grid-template-columns:1fr;
    }

    .filter-bar .filter-submit{
        width:100%;
    }
}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:13px 14px;border-bottom:1px solid #edf0f4;text-align:left;vertical-align:middle}th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#667085;background:#fafbfc}tr:hover td{background:#fbfdff}.badge{display:inline-block;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:750;background:#eef2f6;color:#475467}.badge-active,.badge-approved,.badge-published,.badge-passed,.badge-graded{background:#dcfae6;color:#067647}.badge-inactive,.badge-draft,.badge-in-progress{background:#f2f4f7;color:#475467}.badge-blocked,.badge-archived,.badge-closed,.badge-not-passed{background:#fee4e2;color:#b42318}.badge-instructor{background:#e0f2fe;color:#075985}.badge-admin{background:#ede9fe;color:#5b21b6}.badge-candidate{background:#ecfdf3;color:#027a48}.alert{padding:13px 16px;border-radius:10px;margin-bottom:18px;font-weight:650}.success{background:#dcfce7;color:#166534}.error{background:#fee2e2;color:#991b1b}.empty-state{text-align:center;padding:42px 20px;color:var(--muted)}.empty-state strong{display:block;color:var(--text);font-size:18px;margin-bottom:6px}.pagination{display:flex;gap:6px;justify-content:flex-end;padding-top:16px}.pagination a,.pagination span{padding:7px 11px;border:1px solid var(--border);border-radius:8px;background:#fff}.pagination .current{background:var(--primary);color:#fff}.split{display:grid;grid-template-columns:1fr 1.7fr;gap:20px}.exam-layout{display:grid;grid-template-columns:1fr 270px;gap:20px}.question-nav{position:sticky;top:90px}.nav-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.nav-grid button{padding:10px;border:1px solid #cbd5e1;border-radius:7px;background:#fff}.timer{font-size:24px;font-weight:900;color:var(--danger)}.option{display:block;padding:12px;border:1px solid #dbe3ed;border-radius:9px;margin:9px 0}.login-wrap{max-width:440px;margin:7vh auto}.login-logo{text-align:center;margin-bottom:20px}.login-logo .brand-mark{margin:0 auto 10px}footer{text-align:center;padding:24px;color:var(--muted)}@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(2,1fr)}.filter-bar{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr}}@media(max-width:900px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar-open .sidebar{transform:translateX(0)}.app-main{margin-left:0}.menu-toggle{display:block}.content{padding:20px}.app-topbar{padding:0 18px}.user-chip span:last-child{display:none}.exam-layout{grid-template-columns:1fr}.question-nav{position:static}}@media(max-width:620px){.stats-grid,.form-grid,.filter-bar{grid-template-columns:1fr}.page-head{flex-direction:column}.content{padding:16px}.card{padding:17px}h1{font-size:25px}}

.candidate-shell{min-height:100vh}.candidate-sidebar{position:fixed;inset:0 auto 0 0;width:240px;background:var(--sidebar);color:#fff;padding:22px 16px;z-index:100;overflow:auto}.candidate-main{margin-left:240px;min-height:100vh}.candidate-hero{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:22px}.candidate-hero h1{margin-bottom:6px}.exam-card{display:flex;flex-direction:column;gap:14px;min-height:260px}.exam-card .exam-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px}.exam-card .exam-meta div{background:#f8fafc;border:1px solid var(--border);padding:10px;border-radius:10px}.exam-card .exam-meta small{display:block;color:var(--muted)}.exam-card .card-actions{margin-top:auto;display:flex;gap:10px}.candidate-empty{padding:60px 20px;text-align:center}.question-actions{display:flex;gap:6px;flex-wrap:wrap}.danger-zone{border-color:#fecaca;background:#fffafa}.preview-question{max-width:900px}.preview-option{padding:12px 14px;border:1px solid var(--border);border-radius:10px;margin:8px 0}.preview-option.correct{border-color:#86efac;background:#f0fdf4}@media(max-width:900px){.candidate-sidebar{transform:translateX(-100%);transition:.2s}.candidate-sidebar-open .candidate-sidebar{transform:translateX(0)}.candidate-main{margin-left:0}}@media(max-width:620px){.candidate-hero{align-items:flex-start;flex-direction:column}.exam-card .exam-meta{grid-template-columns:1fr}}

/* v1.2.1 exam workflow */
.result-card{max-width:720px;margin:auto;text-align:center}.result-percent{font-size:58px;font-weight:900}.exam-workspace{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:22px;align-items:start}.exam-stage{min-width:0}.exam-heading{margin-bottom:20px}.exam-question-panel{display:none}.exam-question-panel.current{display:block}.question-toolbar{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:12px}.flag-btn{border:1px solid var(--border);background:#fff;border-radius:9px;padding:8px 11px;cursor:pointer;color:var(--muted);font-weight:700}.flag-btn.flagged{background:#fff7ed;border-color:#fdba74;color:#b54708}.question-image{max-width:100%;max-height:360px;border-radius:10px;margin:10px 0}.option-card{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #dbe3ed;border-radius:11px;margin:10px 0;cursor:pointer;transition:.15s;background:#fff}.option-card:hover{border-color:#94a3b8;background:#f8fafc}.option-card.selected{border-color:var(--primary);background:#eff6ff;box-shadow:0 0 0 2px rgba(21,62,117,.08)}.option-card input{width:18px;height:18px;margin:0;flex:0 0 auto}.option-letter{width:30px;height:30px;border-radius:50%;background:#eef2f7;display:grid;place-items:center;font-weight:850;color:var(--primary);flex:0 0 auto}.option-copy{font-weight:650}.question-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;padding-top:18px;border-top:1px solid var(--border)}.question-footer button:disabled{opacity:.45;cursor:not-allowed}.exam-aside{position:sticky;top:90px}.timer-label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.timer.urgent{animation:pulseTimer 1s infinite}@keyframes pulseTimer{50%{opacity:.55}}.save-state{margin:10px 0 14px;font-size:13px;color:var(--muted)}.save-state.saved{color:var(--success)}.save-state.saving{color:var(--warning)}.save-state.failed{color:var(--danger)}.nav-grid button.current{outline:2px solid var(--primary);outline-offset:1px}.nav-grid button.answered{background:#dcfae6;color:#067647;border-color:#86efac}.nav-grid button.flagged{box-shadow:inset 0 -4px 0 #f59e0b}.nav-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-bottom:12px}.nav-legend span{display:flex;align-items:center;gap:5px}.dot{width:9px;height:9px;border-radius:50%;display:inline-block;background:#cbd5e1}.dot.answered{background:#22c55e}.dot.flagged{background:#f59e0b}.btn.full{width:100%;margin-top:14px}.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.58);display:grid;place-items:center;padding:20px;z-index:1000}.modal-backdrop[hidden]{display:none}.submit-modal{background:#fff;border-radius:16px;padding:25px;width:min(650px,100%);box-shadow:0 25px 70px rgba(0,0,0,.25)}.submit-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0}.submit-summary div{background:#f8fafc;border:1px solid var(--border);border-radius:10px;padding:14px;text-align:center}.submit-summary strong{display:block;font-size:24px}.submit-summary span{font-size:12px;color:var(--muted)}.actions.end{justify-content:flex-end}.badge-in-progress{background:#fff7ed;color:#b54708}
@media(max-width:900px){.exam-workspace{grid-template-columns:1fr}.exam-aside{position:static;order:-1}.question-nav{position:static}.submit-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.question-toolbar,.question-footer{align-items:flex-start;flex-direction:column}.question-footer .btn{width:100%}.submit-summary{grid-template-columns:1fr 1fr}}

/* v1.3 assignment and notification foundation */
.topbar-actions{display:flex;align-items:center;gap:16px}.notification-button{position:relative;width:40px;height:40px;border:1px solid var(--border);border-radius:50%;display:grid;place-items:center;background:#fff;font-size:18px}.notification-button span{position:absolute;top:-5px;right:-5px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--danger);color:#fff;font-size:11px;display:grid;place-items:center;font-weight:800}.nav-count{margin-left:auto;background:#ef4444;color:#fff;min-width:20px;height:20px;padding:0 6px;border-radius:999px;display:grid;place-items:center;font-size:11px}.notification-list{display:grid;gap:12px}.notification-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:15px;align-items:center;margin:0}.notification-item.unread{border-left:4px solid var(--primary);background:#fbfdff}.notification-icon{width:42px;height:42px;border-radius:12px;background:#eef4fb;display:grid;place-items:center;font-size:20px}.notification-copy h3{margin:0}.notification-copy p{margin:6px 0}.badge-queued,.badge-processing{background:#fff7ed;color:#b54708}.badge-sent{background:#dcfae6;color:#067647}.badge-failed,.badge-cancelled{background:#fee4e2;color:#b42318}.badge-viewed,.badge-assigned{background:#e0f2fe;color:#075985}.badge-started{background:#fff7ed;color:#b54708}.badge-completed{background:#dcfae6;color:#067647}.badge-not-queued{background:#f2f4f7;color:#475467}
@media(max-width:620px){.notification-item{grid-template-columns:38px 1fr}.notification-item>div:last-child{grid-column:2}.topbar-actions{gap:8px}}

/* v1.3 Part 2 — instructions and explicit start workflow */
.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800;color:var(--primary);margin-bottom:7px}.instruction-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px;align-items:start}.instruction-main h2{margin-top:0}.instruction-main h2:not(:first-child){margin-top:28px}.instruction-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.instruction-meta div{border:1px solid var(--border);background:#f8fafc;border-radius:11px;padding:13px}.instruction-meta small{display:block;color:var(--muted);margin-bottom:3px}.instruction-copy{line-height:1.75;color:#344054}.instruction-copy ul{padding-left:22px}.readiness-box{border-top:1px solid var(--border);margin-top:26px;padding-top:23px}.readiness-list{display:grid;gap:9px}.readiness-item{padding:10px 12px;border-radius:9px;background:#f8fafc;border:1px solid var(--border);font-weight:650}.readiness-item span{margin-right:8px}.readiness-item.ok{background:#ecfdf3;border-color:#a7f3d0;color:#067647}.readiness-item.failed{background:#fef2f2;border-color:#fecaca;color:#b42318}.readiness-item.pending{color:var(--muted)}.confirmation-card{display:flex;align-items:flex-start;gap:13px;padding:16px;border:1px solid #b8c6d9;background:#f8fbff;border-radius:12px;cursor:pointer;margin-top:24px}.confirmation-card input{width:19px;height:19px;margin:2px 0 0;flex:0 0 auto}.confirmation-card strong,.confirmation-card small{display:block}.confirmation-card small{font-weight:400;color:var(--muted);margin-top:5px}.instruction-actions{justify-content:flex-end;margin-top:18px}.btn-large{padding:12px 19px;font-size:15px}.instruction-side{position:sticky;top:90px}.instruction-side p{line-height:1.65;color:var(--muted)}.instruction-warning{margin-top:18px;padding:13px;border-radius:10px;background:#fff7ed;color:#9a3412;border:1px solid #fed7aa;font-weight:650}.instruction-alert{margin-top:24px}.alert.warning{background:#fff7ed;color:#9a3412}
@media(max-width:1000px){.instruction-layout{grid-template-columns:1fr}.instruction-side{position:static}.instruction-meta{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.instruction-meta{grid-template-columns:1fr}.instruction-actions{flex-direction:column-reverse}.instruction-actions .btn{width:100%}}

/* v1.3 Part 3 — assignment management and timeline */
.assignment-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:16px;margin-bottom:20px}.assignment-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:20px;align-items:start}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.detail-grid>div{padding:14px;border:1px solid var(--border);border-radius:11px;background:#f8fafc}.detail-grid small,.detail-grid strong,.detail-grid span{display:block}.detail-grid small{color:var(--muted);margin-bottom:5px}.detail-grid span{color:var(--muted);margin-top:4px}.assignment-action-stack{display:grid;gap:9px}.assignment-action-stack form{margin:0}.assignment-action-stack input{margin:0 0 8px}.action-help{font-size:12px;margin:16px 0 0}.timeline{position:relative;padding-left:8px}.timeline:before{content:"";position:absolute;left:13px;top:7px;bottom:8px;width:2px;background:#dbe4ef}.timeline-item{position:relative;display:grid;grid-template-columns:20px 1fr;gap:10px;padding-bottom:18px}.timeline-dot{position:relative;z-index:1;width:12px;height:12px;border-radius:50%;background:var(--primary);border:3px solid #eaf0f8;margin-top:4px}.timeline-item p{margin:4px 0;color:var(--muted);font-size:13px}.timeline-item small{color:var(--muted)}
@media(max-width:1100px){.assignment-summary-grid{grid-template-columns:repeat(2,1fr)}.assignment-detail-layout{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.assignment-summary-grid,.detail-grid{grid-template-columns:1fr}}

/* v1.3 Part 3.1 — professional exam workspace */
.exam-workspace-head{align-items:center}.exam-summary-strip{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:12px;margin-bottom:18px}.exam-summary-strip>div{background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px;box-shadow:var(--shadow)}.exam-summary-strip small{display:block;color:var(--muted);margin-bottom:6px}.exam-summary-strip strong{font-size:22px}.workspace-tabs{display:flex;gap:4px;padding:6px;background:#e8eef6;border-radius:12px;margin-bottom:20px;overflow:auto}.workspace-tabs a{padding:10px 15px;border-radius:9px;color:#475467;font-weight:750;white-space:nowrap}.workspace-tabs a.active{background:#fff;color:var(--primary);box-shadow:0 2px 8px rgba(15,23,42,.08)}.workspace-columns{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.85fr);gap:20px;align-items:start}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.section-head h2{margin-bottom:4px}.rules-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 15px}.large-textarea{min-height:150px}.compact-input{width:78px;margin:0;padding:7px 8px}.filter-card{position:static}.select-list,.candidate-picker{display:grid;gap:8px;max-height:520px;overflow:auto;margin-bottom:14px}.select-row{display:flex;align-items:flex-start;gap:11px;padding:12px;border:1px solid var(--border);border-radius:10px;background:#fff;cursor:pointer}.select-row:hover{background:#f8fbff;border-color:#b7c7db}.select-row input{width:18px;height:18px;margin:3px 0 0;flex:0 0 auto}.select-row span,.select-row small,.select-row em{display:block}.select-row small{font-weight:500;margin-top:3px}.select-row em{font-style:normal;color:var(--muted);font-size:12px;margin-top:5px}.select-row.disabled{opacity:.55;cursor:not-allowed;background:#f8fafc}.exam-preview{max-width:1000px}.preview-banner{padding:10px 0 22px;border-bottom:1px solid var(--border);margin-bottom:22px}.preview-outline{display:grid;grid-template-columns:38px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--border)}.preview-outline>span{width:34px;height:34px;border-radius:50%;background:#eef4fb;color:var(--primary);display:grid;place-items:center;font-weight:850}.preview-outline p{margin:4px 0}.preview-outline small{color:var(--muted)}
@media(max-width:1100px){.exam-summary-strip{grid-template-columns:repeat(3,1fr)}.workspace-columns{grid-template-columns:1fr}.filter-card{position:static}.rules-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.exam-summary-strip{grid-template-columns:repeat(2,1fr)}.workspace-tabs{padding:4px}.rules-grid{grid-template-columns:1fr}.section-head{flex-direction:column}}

/* v1.3 Part 3.2 — grouped assignment actions and safer confirmations */
.action-center-card{display:grid;gap:16px}.action-center-card>h2{margin-bottom:0}.action-intro{margin:-8px 0 2px}.action-group{border:1px solid var(--border);border-radius:13px;padding:14px;background:#fbfcfe;display:grid;gap:11px}.action-group-head{display:grid;grid-template-columns:36px 1fr;gap:10px;align-items:start}.action-group-head h3{margin:1px 0 3px;font-size:16px}.action-group-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.action-group-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#eaf1fa;color:var(--primary);font-weight:900}.reason-action-form{display:grid;gap:8px}.reason-action-form label{font-size:12px;font-weight:750;color:#344054}.reason-action-form input{margin:5px 0 0;background:#fff}.action-context{padding:10px 11px;border-radius:9px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}.action-context strong,.action-context span{display:block}.action-context span{margin-top:4px;font-size:12px}.danger-zone{border-color:#fda29b;background:#fffafa}.danger-zone .action-group-icon{background:#fee4e2;color:#b42318}.action-inline-help{margin:-3px 0 0;color:var(--muted);font-size:12px}.btn:disabled{cursor:not-allowed;opacity:.58}.action-center-card .action-help{margin:0;line-height:1.5}

/* KAS reusable confirmation modal */
.kas-modal-root{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:20px;opacity:0;transition:opacity .15s ease}.kas-modal-root[hidden]{display:none}.kas-modal-root.is-open{opacity:1}.kas-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.62);backdrop-filter:blur(3px)}.kas-modal{position:relative;width:min(520px,100%);background:#fff;border:1px solid rgba(255,255,255,.7);border-radius:22px;box-shadow:0 28px 80px rgba(15,23,42,.28);padding:28px;display:grid;grid-template-columns:58px 1fr;gap:18px;transform:translateY(10px) scale(.985);transition:transform .15s ease}.kas-modal-root.is-open .kas-modal{transform:translateY(0) scale(1)}.kas-modal-icon{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;font-size:25px;font-weight:900;background:#fff7ed;color:#b54708;border:1px solid #fed7aa}.kas-modal-danger .kas-modal-icon{background:#fff1f0;color:#b42318;border-color:#fecaca}.kas-modal-info .kas-modal-icon{background:#eff6ff;color:#153e75;border-color:#bfdbfe}.kas-modal-success .kas-modal-icon{background:#ecfdf3;color:#067647;border-color:#a7f3d0}.kas-modal-copy{min-width:0}.kas-modal-eyebrow{margin:0 0 4px;text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:800;color:var(--muted)}.kas-modal h2{font-size:24px;margin:0 34px 9px 0}.kas-modal #kas-modal-message{margin:0;color:#475467;font-size:15px;line-height:1.6}.kas-modal-details{margin-top:14px;padding:12px 14px;border-radius:12px;background:#f8fafc;border:1px solid var(--border);font-size:13px;color:#475467}.kas-modal-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;padding-top:8px}.kas-modal-x{position:absolute;right:16px;top:14px;border:0;background:transparent;color:#667085;font-size:27px;line-height:1;cursor:pointer}.btn.warning{background:#b54708;color:#fff;border-color:#b54708}.btn.warning:hover{background:#93370d}.kas-modal .btn{min-width:120px}@media(max-width:560px){.kas-modal{grid-template-columns:1fr;padding:22px}.kas-modal-icon{width:46px;height:46px}.kas-modal-actions{flex-direction:column-reverse}.kas-modal .btn{width:100%}}

/* v1.4 Settings and Email Center */
.settings-card{padding:28px}.settings-card h2,.test-email-card h2{margin-top:0}.settings-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:22px;align-items:start}.test-email-card{padding:26px;position:sticky;top:96px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px}.form-grid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-grid label,.test-email-card label,.queue-toolbar label{display:flex;flex-direction:column;gap:7px;font-weight:700}.form-grid small{font-weight:400;color:#667085}.form-actions{display:flex;justify-content:flex-end;margin-top:24px}.security-note{margin-top:20px;padding:14px 16px;border-radius:10px;background:#eff8ff;border:1px solid #b2ddff;color:#1849a9}.switch{display:flex!important;flex-direction:row!important;align-items:center;gap:10px!important;white-space:nowrap}.switch input{position:absolute;opacity:0}.switch span{width:44px;height:24px;border-radius:999px;background:#cbd5e1;position:relative;transition:.2s}.switch span:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:white;top:3px;left:3px;transition:.2s;box-shadow:0 1px 3px #0003}.switch input:checked+span{background:#153e75}.switch input:checked+span:after{transform:translateX(20px)}.settings-summary{display:grid;gap:0;margin:0}.settings-summary div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #edf2f7}.settings-summary dt{color:#667085}.settings-summary dd{font-weight:700;margin:0}.workspace-tabs{display:flex;gap:6px;border-bottom:1px solid #dbe3ef;margin-bottom:22px;overflow:auto}.workspace-tabs a{padding:12px 16px;color:#475467;font-weight:700;text-decoration:none;border-bottom:3px solid transparent;white-space:nowrap}.workspace-tabs a.active{color:#153e75;border-color:#153e75}.stat-grid.compact{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:20px}.stat-grid.compact .stat-card{text-decoration:none}.queue-toolbar{padding:18px 22px;display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.queue-toolbar form{display:flex;align-items:end;gap:12px}.queue-toolbar input{width:110px}.table-actions{display:flex;gap:7px;flex-wrap:wrap}.table-actions form{margin:0}.btn.small{padding:7px 11px;font-size:13px}.btn.danger-outline{color:#b42318;border-color:#fda29b;background:#fff}.error-text{max-width:260px;color:#b42318;font-size:12px}.empty-cell{text-align:center;padding:35px!important;color:#667085}.table-card td small{display:block;color:#667085;margin-top:3px}
@media(max-width:1100px){.settings-layout{grid-template-columns:1fr}.test-email-card{position:static}.stat-grid.compact{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.form-grid.two{grid-template-columns:1fr}.section-heading,.queue-toolbar,.queue-toolbar form{align-items:stretch;flex-direction:column}.stat-grid.compact{grid-template-columns:repeat(2,1fr)}}


/* v1.4.1 — professional settings and email operations polish */
.page-kicker{display:block;font-size:11px;font-weight:850;letter-spacing:.12em;color:#55708f;margin-bottom:7px}.settings-page-heading{align-items:center}.settings-version{min-width:120px;padding:12px 16px;border:1px solid var(--border);border-radius:13px;background:#fff;box-shadow:var(--shadow);text-align:right}.settings-version span{display:block;color:var(--muted);font-size:12px}.settings-version strong{font-size:18px}.settings-tabs a span{margin-right:6px}.settings-professional-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start}.settings-main-stack,.settings-side-stack{display:grid;gap:20px}.settings-section-card{padding:26px}.settings-section-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:22px}.settings-section-head.compact{margin-bottom:16px}.settings-section-head h2{margin:0 0 5px}.settings-section-head p{margin:0;color:var(--muted);line-height:1.5}.settings-section-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#eaf2fb;color:var(--primary);font-size:19px;flex:0 0 auto}.platform-health-card,.system-info-card,.smtp-reference-card{padding:22px}.health-list{display:grid;gap:0}.health-list>div{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid #edf1f6}.health-list>div:last-child{border-bottom:0}.health-list b{font-size:13px}.health-good{color:#067647}.health-warn{color:#b54708}.health-bad{color:#b42318}.health-muted{color:#667085}.system-info-card h3,.smtp-reference-card h3{margin-top:0}.system-info-card dl{margin:0}.system-info-card dl div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #edf1f6;gap:14px}.system-info-card dt{color:var(--muted)}.system-info-card dd{font-weight:750;margin:0;text-align:right}.sticky-save-bar{position:sticky;bottom:14px;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid #cdd9e7;border-radius:14px;background:rgba(255,255,255,.95);box-shadow:0 12px 35px rgba(15,42,76,.14);backdrop-filter:blur(8px)}.save-state{color:var(--muted);font-size:13px}.smtp-status-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;padding:24px;margin-bottom:20px}.smtp-status-hero h2{margin:0 0 5px}.smtp-status-hero p{margin:0;color:var(--muted)}.smtp-status-icon{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;font-size:25px}.smtp-status-icon.ready{background:#ecfdf3;color:#067647}.smtp-status-icon.pending{background:#fff7ed;color:#b54708}.smtp-status-metrics{display:flex;gap:22px}.smtp-status-metrics>div{min-width:130px;padding-left:18px;border-left:1px solid var(--border)}.smtp-status-metrics small{display:block;color:var(--muted);margin-bottom:5px}.smtp-status-metrics strong{display:block;font-size:13px}.settings-layout.enhanced{grid-template-columns:minmax(0,1fr) 360px}.security-note{display:grid;gap:4px}.full-width{width:100%}.text-link{display:inline-block;margin-top:17px;font-weight:750}.password-setting small{min-height:34px}
.email-center-heading{align-items:center}.email-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin-bottom:20px}.email-stat-card{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:15px;padding:17px;text-decoration:none;box-shadow:var(--shadow);transition:.18s}.email-stat-card:hover,.email-stat-card.active{transform:translateY(-2px);border-color:#9eb6d2;box-shadow:0 12px 28px rgba(15,42,76,.12)}.email-stat-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:20px;font-weight:900}.email-stat-card small{display:block;color:var(--muted);font-weight:750}.email-stat-card strong{display:block;font-size:29px;line-height:1.1;margin:2px 0}.email-stat-card p{margin:0;color:var(--muted);font-size:11px}.status-queued .email-stat-icon{background:#fff7ed;color:#b54708}.status-processing .email-stat-icon{background:#eff8ff;color:#175cd3}.status-sent .email-stat-icon{background:#ecfdf3;color:#067647}.status-failed .email-stat-icon{background:#fff1f0;color:#b42318}.status-cancelled .email-stat-icon{background:#f2f4f7;color:#667085}.queue-operations-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:18px;margin-bottom:18px}.worker-card,.worker-health-card{padding:22px}.worker-head{display:flex;justify-content:space-between;gap:18px}.worker-head h2,.worker-health-card h2{margin:3px 0 6px}.worker-head p{margin:0;color:var(--muted)}.worker-state{align-self:start;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:800}.worker-state.ready{background:#ecfdf3;color:#067647}.worker-state.disabled{background:#fff1f0;color:#b42318}.worker-form{
    display:flex;
    align-items:flex-end;
    gap:12px;
    margin-top:18px;
}

.worker-form label{
    display:flex;
    flex-direction:column;
    gap:6px;
    font-weight:750;
    margin:0;
}

.worker-form input{
    width:130px;
    height:46px;
    margin:0;
}

.worker-form .btn{
    height:46px;
    min-height:46px;
    margin:0;
    padding:0 18px;
    align-self:flex-end;
}.worker-health-row{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid #edf1f6}.email-filter-bar{display:grid;grid-template-columns:minmax(260px,1fr) 190px 220px auto auto;gap:12px;align-items:end;padding:18px;margin-bottom:18px}.email-filter-bar label{display:grid;gap:6px;font-weight:750}.table-card-heading{display:flex;justify-content:space-between;align-items:center;padding:20px 20px 0}.table-card-heading h2{margin:0 0 3px}.table-card-heading p{margin:0;color:var(--muted)}.table-responsive{overflow:auto}.email-table-card{padding:0 0 10px}.email-table-card table{min-width:1120px}.record-id{font-family:ui-monospace,monospace;color:#475467;font-weight:750}.email-type-badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#eef4fb;color:#1d4f82;font-size:11px;font-weight:800;margin-bottom:5px}.email-subject{display:block;max-width:300px}.no-error{color:#98a2b3}.empty-cell strong,.empty-cell span{display:block}.empty-cell span{margin-top:5px;font-size:13px}.email-preview-dialog{width:min(850px,92vw);height:min(720px,88vh);padding:0;border:0;border-radius:18px;box-shadow:0 30px 90px rgba(15,23,42,.35);overflow:hidden}.email-preview-dialog::backdrop{background:rgba(15,23,42,.65);backdrop-filter:blur(3px)}.email-preview-head{display:flex;justify-content:space-between;gap:18px;padding:22px 24px;border-bottom:1px solid var(--border)}.email-preview-head h2{margin:3px 0 4px}.email-preview-head p{margin:0;color:var(--muted)}.email-preview-head>button{border:0;background:transparent;font-size:30px;color:#667085;cursor:pointer}.email-preview-dialog iframe{display:block;width:100%;height:calc(100% - 168px);border:0;background:#fff}.email-preview-footer{display:flex;justify-content:space-between;align-items:center;padding:14px 22px;border-top:1px solid var(--border);background:#f8fafc}
@media(max-width:1180px){.settings-professional-layout{grid-template-columns:1fr}.email-stat-grid{grid-template-columns:repeat(3,1fr)}.queue-operations-grid{grid-template-columns:1fr}.smtp-status-hero{grid-template-columns:auto 1fr}.smtp-status-metrics{grid-column:1/-1}.email-filter-bar{grid-template-columns:1fr 1fr 1fr auto auto}}
@media(max-width:760px){.email-stat-grid{grid-template-columns:repeat(2,1fr)}.smtp-status-hero{grid-template-columns:1fr}.smtp-status-metrics{flex-direction:column;gap:10px}.smtp-status-metrics>div{border-left:0;padding:0}.email-filter-bar{grid-template-columns:1fr}.worker-head,.worker-form,.sticky-save-bar{align-items:stretch;flex-direction:column}.worker-form input{width:100%}.settings-version{display:none}}
/* v1.5 Professional Question Bank */
.question-create-card summary{cursor:pointer;padding:18px 20px}.question-editor-form{padding:20px}.question-editor-grid{margin-bottom:18px}.type-panel{margin:18px 0;padding:20px;border:1px solid var(--border,#dbe3ef);border-radius:16px;background:#f8fafc}.type-panel[hidden]{display:none!important}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.section-heading h3{margin:0}.section-heading p{margin:4px 0 0;color:#64748b}.dynamic-list{display:grid;gap:10px}.dynamic-row{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:10px}.dynamic-row.pair-row{grid-template-columns:1fr auto 1fr auto}.option-index{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#e8f0fb;color:#153e75;font-weight:800}.icon-btn{width:36px;height:36px;border:0;border-radius:10px;background:#fee2e2;color:#b91c1c;font-size:22px;cursor:pointer}.choice-inline{display:flex;gap:24px;padding:10px 0}.check-row{display:flex!important;align-items:center;gap:10px}.check-row input{width:auto!important}.info-box{padding:14px 16px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;color:#1e3a8a}.preview-card h2{margin:28px 0 18px}.preview-options{display:grid;gap:10px}.preview-options .correct{border-color:#22c55e;background:#f0fdf4}.preview-options .correct strong{margin-left:auto;color:#15803d}.matching-grid,.ordering-grid{display:grid;gap:12px}.matching-grid label,.ordering-grid label{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:12px;padding:12px;border:1px solid #dbe3ef;border-radius:12px}.number-answer{display:flex;align-items:center;gap:12px}.number-answer input{max-width:320px}.row-actions{display:flex;flex-wrap:wrap;gap:6px}.row-actions form{display:inline-flex}.stats-grid .stat-card.success strong{color:#15803d}.stats-grid .stat-card.danger strong{color:#b91c1c}@media(max-width:760px){.dynamic-row,.dynamic-row.pair-row{grid-template-columns:auto 1fr auto}.dynamic-row.pair-row span{display:none}.dynamic-row.pair-row input:nth-of-type(2){grid-column:2}.matching-grid label,.ordering-grid label{grid-template-columns:1fr}.page-heading .actions{width:100%}}

/* v1.6 — premium administration dashboard */
.dashboard-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:25px}.dashboard-hero h1{font-size:36px;letter-spacing:-.03em;margin-bottom:8px}.dashboard-hero p{margin:0;color:var(--muted);font-size:16px}.dashboard-hero-actions{display:flex;gap:10px;flex-wrap:wrap}.dashboard-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:20px}.dashboard-metric-card{position:relative;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:14px;padding:20px;background:#fff;border:1px solid var(--border);border-radius:17px;box-shadow:var(--shadow);overflow:hidden;transition:.2s}.dashboard-metric-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#94a3b8}.dashboard-metric-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(15,42,76,.12);border-color:#bccbdb}.dashboard-metric-card.tone-blue:before{background:#2563eb}.dashboard-metric-card.tone-teal:before{background:#0f9f9a}.dashboard-metric-card.tone-purple:before{background:#7c3aed}.dashboard-metric-card.tone-green:before{background:#16a34a}.dashboard-metric-card.tone-gold:before{background:#ca8a04}.dashboard-metric-card.tone-orange:before{background:#ea580c}.metric-icon{width:46px;height:46px;border-radius:14px;background:#edf3fb;display:grid;place-items:center;font-size:20px}.metric-content{min-width:0}.metric-content small,.metric-content em{display:block}.metric-content small{color:var(--muted);font-weight:750}.metric-content strong{display:block;font-size:30px;line-height:1.1;color:var(--text);margin:3px 0}.metric-content em{font-style:normal;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric-arrow{color:#98a2b3;font-size:20px}.dashboard-insight-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr);gap:20px}.dashboard-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px}.dashboard-card-head h2{margin:1px 0 4px}.dashboard-card-head p{margin:0;color:var(--muted)}.dashboard-card-head>a{font-weight:750;white-space:nowrap}.performance-summary{display:grid;grid-template-columns:190px 1fr;gap:25px;align-items:center}.progress-ring{--progress:0;width:170px;height:170px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--primary) calc(var(--progress)*1%),#e8eef6 0);position:relative}.progress-ring:after{content:"";position:absolute;inset:16px;border-radius:50%;background:#fff}.progress-ring span{position:relative;z-index:1;text-align:center}.progress-ring strong,.progress-ring small{display:block}.progress-ring strong{font-size:31px}.progress-ring small{color:var(--muted)}.performance-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.performance-facts div{padding:15px;background:#f7f9fc;border:1px solid #e7edf5;border-radius:13px}.performance-facts span,.performance-facts strong{display:block}.performance-facts span{color:var(--muted);font-size:12px}.performance-facts strong{font-size:23px;margin-top:5px}.weekly-chart{height:155px;display:grid;grid-template-columns:repeat(7,1fr);gap:12px;align-items:end;margin-top:26px;padding-top:18px;border-top:1px solid var(--border)}.weekly-column{height:125px;display:grid;grid-template-rows:17px 1fr 18px;gap:5px;text-align:center}.weekly-value{font-size:11px;color:var(--muted)}.weekly-track{height:83px;border-radius:10px;background:#eff3f8;display:flex;align-items:flex-end;overflow:hidden}.weekly-track i{display:block;width:100%;min-height:5px;border-radius:10px;background:linear-gradient(180deg,#2c67a4,var(--primary))}.weekly-column small{color:var(--muted);font-weight:700}.dashboard-health-list{display:grid}.dashboard-health-list>div{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:11px;padding:13px 0;border-bottom:1px solid #edf1f6}.dashboard-health-list>div:last-child{border-bottom:0}.dashboard-health-list strong{font-size:13px}.health-dot{width:9px;height:9px;border-radius:50%;background:#94a3b8}.health-dot.good{background:#12b76a;box-shadow:0 0 0 4px #ecfdf3}.health-dot.warn{background:#f79009;box-shadow:0 0 0 4px #fff7ed}.health-dot.bad{background:#f04438;box-shadow:0 0 0 4px #fff1f0}.dashboard-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.dashboard-quick-actions a{display:grid;grid-template-columns:32px 1fr;column-gap:9px;padding:13px;border:1px solid var(--border);border-radius:13px;background:#f8fafc}.dashboard-quick-actions a>span{grid-row:1/3;width:32px;height:32px;border-radius:10px;background:#e7eff9;display:grid;place-items:center}.dashboard-quick-actions b,.dashboard-quick-actions small{display:block}.dashboard-quick-actions small{color:var(--muted);font-size:10px}.dashboard-lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.dashboard-list-card{padding:22px}.dashboard-attempt-list,.upcoming-exam-list{display:grid}.dashboard-attempt-list>a,.upcoming-exam-list>a{display:grid;align-items:center;gap:12px;padding:13px 4px;border-bottom:1px solid #edf1f6;color:var(--text)}.dashboard-attempt-list>a{grid-template-columns:38px minmax(0,1fr) auto 58px}.upcoming-exam-list>a{grid-template-columns:52px minmax(0,1fr) auto}.dashboard-attempt-list>a:last-child,.upcoming-exam-list>a:last-child{border-bottom:0}.attempt-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#eaf1fa;color:var(--primary);font-weight:850}.attempt-main strong,.attempt-main small,.exam-list-main strong,.exam-list-main small{display:block}.attempt-main small,.exam-list-main small{color:var(--muted);margin-top:3px}.attempt-score{text-align:right;font-weight:850}.exam-date{width:48px;height:50px;border-radius:12px;background:#eef4fb;display:grid;place-items:center;align-content:center}.exam-date b{font-size:19px;line-height:1}.exam-date small{font-size:9px;color:var(--primary);font-weight:850;margin-top:3px}.premium-empty{text-align:center;padding:35px 20px;color:var(--muted)}.premium-empty>span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#eef3f8;margin:0 auto 10px;font-size:20px}.premium-empty strong,.premium-empty p{display:block}.premium-empty p{margin:5px 0 0}.premium-empty.compact{padding:18px}.dashboard-audit-card{padding:22px}.dashboard-audit-timeline{display:grid;grid-template-columns:repeat(7,minmax(140px,1fr));gap:0;overflow:auto;padding-bottom:5px}.dashboard-audit-timeline>div{position:relative;min-width:145px;padding:20px 15px 5px;border-top:2px solid #d8e2ef}.audit-marker{position:absolute;top:-7px;left:15px;width:12px;height:12px;border:3px solid #fff;border-radius:50%;background:var(--primary);box-shadow:0 0 0 1px #b9c9dc}.dashboard-audit-timeline p{margin:0;font-size:12px}.dashboard-audit-timeline p strong{display:block;font-size:13px}.dashboard-audit-timeline p small{color:var(--muted)}.dashboard-audit-timeline time{display:block;margin-top:8px;color:var(--muted);font-size:10px}
@media(max-width:1250px){.dashboard-metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-insight-grid{grid-template-columns:1fr}.dashboard-health-card{display:grid;grid-template-columns:1fr 1fr;column-gap:25px}.dashboard-health-card .dashboard-card-head{grid-column:1/-1}.dashboard-lower-grid{grid-template-columns:1fr}}
@media(max-width:760px){.dashboard-hero{align-items:stretch;flex-direction:column}.dashboard-hero h1{font-size:29px}.dashboard-hero-actions{display:grid;grid-template-columns:1fr}.dashboard-metric-grid{grid-template-columns:1fr}.dashboard-insight-grid,.dashboard-lower-grid{display:block}.dashboard-health-card{display:block}.performance-summary{grid-template-columns:1fr}.progress-ring{margin:auto}.performance-facts{grid-template-columns:1fr}.weekly-chart{gap:6px}.dashboard-attempt-list>a{grid-template-columns:38px minmax(0,1fr) auto}.dashboard-attempt-list>a .attempt-score{grid-column:2;text-align:left}.dashboard-audit-timeline{grid-template-columns:repeat(7,170px)}}

/* v1.7 secure account activation */
.account-access-card{max-width:520px;margin:70px auto;padding:32px}.account-access-card h1{margin-top:0}.account-access-card form{display:grid;gap:14px}.account-card-link{text-align:center;margin:20px 0 0}.account-card-link a{color:#153e75;font-weight:700;text-decoration:none}.full-width{width:100%;justify-content:center}.activation-note{display:flex;flex-direction:column;gap:5px;margin:16px 0;padding:14px 16px;border:1px solid #bfdbfe;background:#eff6ff;border-radius:10px;color:#1e3a5f}.activation-note span{font-size:13px;line-height:1.5;color:#52657a}.badge-activation-pending{background:#fff7ed;color:#9a3412}.badge-activated,.badge-ready{background:#ecfdf3;color:#166534}
@media(max-width:640px){.account-access-card{margin:24px 12px;padding:24px}}


/* =========================================================
   Email preview — secure read-only mode
   ========================================================= */

.email-preview-dialog {
    width: min(920px, calc(100vw - 32px));
    max-width: 920px;
    max-height: calc(100vh - 32px);
    padding: 0;
    border: 0;
    border-radius: 18px;
    overflow: hidden;
    background: #ffffff;
    box-shadow:
        0 30px 80px rgba(15, 35, 65, 0.28),
        0 8px 28px rgba(15, 35, 65, 0.16);
}

.email-preview-dialog::backdrop {
    background: rgba(15, 27, 46, 0.72);
    backdrop-filter: blur(3px);
}

.email-preview-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    padding: 24px 26px 20px;
    border-bottom: 1px solid #e4eaf2;
    background: #ffffff;
}

.email-preview-head h2 {
    margin: 9px 0 5px;
    font-size: 22px;
    line-height: 1.3;
    color: #102448;
}

.email-preview-head p {
    margin: 0;
    color: #68768c;
    font-size: 14px;
}

.email-preview-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    padding: 0;
    border: 0;
    border-radius: 10px;
    background: #eef3f9;
    color: #415471;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
}

.email-preview-close:hover {
    background: #e2eaf4;
    color: #142d53;
}

.email-preview-notice {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 13px 26px;
    border-bottom: 1px solid #dbe5f1;
    background: #f1f7ff;
    color: #315274;
}

.email-preview-notice > span {
    font-size: 18px;
    line-height: 1.4;
}

.email-preview-notice p {
    margin: 0;
    font-size: 13px;
    line-height: 1.55;
}

.email-preview-notice strong {
    display: block;
    margin-bottom: 1px;
    color: #193d66;
}

.email-preview-frame {
    position: relative;
    height: min(570px, calc(100vh - 245px));
    min-height: 360px;
    overflow: hidden;
    background: #f1f4f9;
}

.email-preview-frame iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    background: #f1f4f9;
}

.email-preview-lock {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: transparent;
    cursor: default;
}

.email-preview-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 26px;
    border-top: 1px solid #e4eaf2;
    background: #ffffff;
}

.email-preview-dialog[open] {
    animation: email-dialog-enter 160ms ease-out;
}

@keyframes email-dialog-enter {
    from {
        opacity: 0;
        transform: translateY(8px) scale(0.985);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@media (max-width: 700px) {
    .email-preview-dialog {
        width: calc(100vw - 18px);
        max-height: calc(100vh - 18px);
        border-radius: 14px;
    }

    .email-preview-head {
        padding: 18px;
    }

    .email-preview-head h2 {
        font-size: 18px;
    }

    .email-preview-notice {
        padding: 12px 18px;
    }

    .email-preview-frame {
        height: calc(100vh - 250px);
        min-height: 300px;
    }

    .email-preview-footer {
        padding: 14px 18px;
    }
}
/* =========================================================
   Simple assignment workflow
   ========================================================= */
.assignment-wizard{display:grid;gap:20px}.wizard-step{display:grid;grid-template-columns:52px minmax(0,1fr);gap:18px;padding:24px}.wizard-number{width:42px;height:42px;border-radius:14px;background:#153e75;color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800}.wizard-body{min-width:0}.assignment-exam-list{display:grid;gap:12px}.assignment-exam-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px;border:1px solid #dce5f0;border-radius:12px;background:#fff;cursor:pointer}.assignment-exam-option:has(input:checked){border-color:#225da3;box-shadow:0 0 0 3px rgba(34,93,163,.1);background:#f7fbff}.assignment-exam-option.disabled{opacity:.65;background:#f5f7fa;cursor:not-allowed}.assignment-exam-option span{display:grid;gap:4px}.assignment-exam-option small,.assignment-exam-option em{color:#667085;font-style:normal}.assignment-candidate-picker{max-height:420px;overflow:auto}.pending-candidates{margin-top:16px;padding:14px 16px;border-radius:10px;background:#fff8e8;border:1px solid #f4ddb0}.pending-candidates summary{cursor:pointer;font-weight:700}.assignment-review{margin:20px 0;padding:20px;border-radius:14px;background:#f5f8fc;border:1px solid #dce5f0}.assignment-review h3{margin-top:0}.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.review-grid>div{padding:12px;background:#fff;border:1px solid #e2e8f0;border-radius:10px}.review-grid small{display:block;color:#667085;margin-bottom:5px}.candidate-exam-detail-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:20px}.candidate-exam-detail-grid>.card{align-self:start}
@media(max-width:800px){.wizard-step{grid-template-columns:1fr}.review-grid,.candidate-exam-detail-grid{grid-template-columns:1fr}.wizard-number{width:38px;height:38px}}

/* =========================================================
   v1.9 Results, review and reporting
   ========================================================= */
.result-page-shell{display:grid;gap:22px;max-width:1100px;margin:0 auto}.result-hero{text-align:center;padding:38px;position:relative;overflow:hidden}.result-hero:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:#184b83}.result-hero.pending:before{background:#d89116}.result-hero.passed:before{background:#15935b}.result-hero.failed:before{background:#c6382a}.result-hero-icon{width:62px;height:62px;border-radius:20px;margin:0 auto 15px;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:800;background:#eef4fb;color:#184b83}.result-hero.pending .result-hero-icon{background:#fff5dd;color:#a46400}.result-hero.passed .result-hero-icon{background:#e7f8ef;color:#107347}.result-hero.failed .result-hero-icon{background:#fff0ee;color:#a92b20}.result-hero h1{margin:8px 0;font-size:34px}.result-hero h2{margin:10px 0 8px}.result-hero p{max-width:720px;margin:0 auto;color:#667085;line-height:1.65}.result-score-main{font-size:58px;font-weight:850;letter-spacing:-.04em;margin:12px 0 0}.result-detail-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);gap:20px}.result-summary-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0}.result-summary-list>div{padding:15px 0;border-bottom:1px solid #e8edf3}.result-summary-list>div:nth-child(odd){padding-right:18px}.result-summary-list dt{font-size:13px;color:#667085;margin-bottom:5px}.result-summary-list dd{margin:0;font-weight:750;color:#14233d}.result-next-card{align-self:start}.result-check-list{padding-left:22px;color:#506079;line-height:1.9}.stack-actions{display:grid;gap:10px;margin-top:22px}.results-stat-grid,.attempt-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:20px}.results-filter-grid{display:grid;grid-template-columns:2fr 1.2fr 1.1fr 1.1fr 1fr 1fr;gap:14px;align-items:end;margin-bottom:20px}.results-filter-grid label{display:grid;gap:7px;font-weight:700}.filter-actions{display:flex;gap:8px;grid-column:1/-1;justify-content:flex-end}.pending-note{display:block;margin-top:7px;color:#9a6200}.attempt-review-form{display:grid;gap:18px}.attempt-question-card{padding:24px}.attempt-question-card.manual{border-left:4px solid #d89116}.attempt-question-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;border-bottom:1px solid #e8edf3;padding-bottom:16px;margin-bottom:18px}.attempt-question-head h2{font-size:18px;margin:6px 0 0}.attempt-question-head>div:last-child{text-align:right;display:grid;gap:8px}.answer-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.answer-review-grid small{display:block;color:#667085;margin-bottom:7px;font-weight:700}.answer-box{padding:16px;border:1px solid #dfe7f0;border-radius:12px;background:#fff;min-height:82px;line-height:1.6}.answer-box.reference{background:#f5f8fc}.manual-grade-panel{display:grid;grid-template-columns:180px 1fr;gap:16px;margin-top:18px;padding:18px;border-radius:12px;background:#fff8e9;border:1px solid #efd49a}.manual-grade-panel label{display:grid;gap:7px;font-weight:750}.automatic-grade-row{display:flex;justify-content:space-between;margin-top:16px;padding:13px 16px;border-radius:10px;background:#f4f7fb}.grading-submit-bar{display:flex;justify-content:space-between;align-items:center;gap:24px;position:sticky;bottom:12px;z-index:5;border:1px solid #cddcee;box-shadow:0 12px 35px rgba(20,50,90,.15)}.grading-submit-bar p{margin:5px 0 0;color:#667085}.candidate-history-list{display:grid;gap:14px}.history-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:18px;align-items:center;padding:20px}.history-status-icon{width:48px;height:48px;border-radius:15px;display:flex;align-items:center;justify-content:center;font-size:21px;font-weight:800;background:#edf3fa;color:#1c4f84}.history-status-icon.pending{background:#fff5dd;color:#a46400}.history-status-icon.passed{background:#e7f8ef;color:#107347}.history-status-icon.failed{background:#fff0ee;color:#a92b20}.history-main h2{font-size:18px;margin:0}.history-main p{margin:5px 0;color:#667085}.history-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:#7a8799}.history-result{text-align:right}.history-result strong{display:block;font-size:22px}.history-result span{font-size:12px;color:#667085}
@media(max-width:1050px){.results-stat-grid,.attempt-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.results-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.result-detail-grid{grid-template-columns:1fr}}
@media(max-width:720px){.result-summary-list{grid-template-columns:1fr}.result-summary-list>div:nth-child(odd){padding-right:0}.results-stat-grid,.attempt-summary-grid,.results-filter-grid,.answer-review-grid,.manual-grade-panel{grid-template-columns:1fr}.history-card{grid-template-columns:auto 1fr}.history-result{grid-column:2;text-align:left}.history-card>div:last-child{grid-column:2}.attempt-question-head,.grading-submit-bar{align-items:stretch;flex-direction:column}.attempt-question-head>div:last-child{text-align:left}.result-hero{padding:28px 20px}.result-hero h1{font-size:28px}}
/* Question import selection and latest-import review */

.import-preview-card .table-card-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding: 20px 22px;
}

.import-preview-card .table-card-heading h2 {
    margin: 0 0 5px;
}

.import-preview-card .table-card-heading p {
    margin: 0;
    color: #66758a;
}

.import-select-column {
    width: 74px;
    text-align: center;
}

.import-row-checkbox {
    width: 18px;
    height: 18px;
    accent-color: #174982;
    cursor: pointer;
}

.import-row-invalid {
    background: #fff8f8;
    opacity: 0.78;
}

.import-row-invalid .import-row-checkbox {
    cursor: not-allowed;
}

.import-question-cell {
    min-width: 320px;
    max-width: 620px;
    white-space: normal;
    line-height: 1.5;
}

.import-confirm-card {
    margin-top: 20px;
}

.import-confirm-card h2 {
    margin-top: 0;
}

.import-result-alert {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.import-result-alert > div:first-child {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.import-result-alert span {
    font-weight: 400;
}

@media (max-width: 800px) {
    .import-preview-card .table-card-heading,
    .import-result-alert {
        flex-direction: column;
        align-items: stretch;
    }
}
/* Question Bank horizontal filter bar */

.question-filter-bar {
    display: grid;
    grid-template-columns:
        minmax(280px, 2fr)
        minmax(180px, 1fr)
        minmax(170px, 1fr)
        minmax(150px, 0.8fr)
        auto;
    align-items: end;
    gap: 16px;
    padding: 20px;
}

.question-filter-field {
    min-width: 0;
}

.question-filter-field label {
    display: block;
    margin-bottom: 7px;
    font-size: 13px;
    font-weight: 700;
    color: #263b59;
}

.question-filter-field input,
.question-filter-field select {
    width: 100%;
    min-height: 46px;
}

.question-filter-actions{
    display:flex;
    align-items:flex-end;
    align-self:end;
    margin-top:22px;
    gap:10px;
}

.question-filter-actions .btn{
    height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
}
@media (max-width: 1180px) {
    .question-filter-bar {
        grid-template-columns:
            minmax(260px, 2fr)
            repeat(3, minmax(150px, 1fr));
    }

    .question-filter-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }
}

@media (max-width: 760px) {
    .question-filter-bar {
        grid-template-columns: 1fr;
    }

    .question-filter-actions {
        grid-column: auto;
        width: 100%;
    }

    .question-filter-actions .btn {
        flex: 1;
    }
}
/* Final alignment fix for Question Bank filters */

.question-filter-bar {
    display: grid;
    grid-template-columns:
        minmax(280px, 2fr)
        minmax(180px, 1fr)
        minmax(170px, 1fr)
        minmax(150px, 0.8fr)
        auto;
    align-items: end;
    gap: 14px;
    padding: 20px;
}

.question-filter-field {
    min-width: 0;
}

.question-filter-field label {
    display: block;
    height: 18px;
    margin: 0 0 7px;
    font-size: 13px;
    font-weight: 700;
    line-height: 18px;
}

.question-filter-field input,
.question-filter-field select {
    display: block;
    width: 100%;
    height: 44px;
    min-height: 44px;
    margin: 0;
}

/* Important: remove previous top margins */
.question-filter-actions {
    display: flex;
    align-items: center;
    align-self: end;
    gap: 10px;
    margin: 0 !important;
    padding: 0 !important;
}

.question-filter-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    min-height: 44px;
    margin: 0 !important;
    padding-top: 0;
    padding-bottom: 0;
    white-space: nowrap;
}

/* Phase 1 bilingual interface */
.language-switch {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    white-space: nowrap;
}

.language-switch button {
    appearance: none;
    border: 0;
    background: transparent;
    padding: 4px 5px;
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: 700;
    opacity: .55;
}

.language-switch button:hover,
.language-switch button:focus-visible {
    opacity: 1;
}

.language-switch button.active {
    opacity: 1;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.public-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Email Filter Bar - Fix alignment */
.email-filter-bar {
    display: grid;
    grid-template-columns: minmax(260px, 1.5fr) minmax(170px, 1fr) minmax(170px, 1fr) auto auto;
    gap: 12px;
    align-items: end;
    padding: 18px 22px;
    margin-bottom: 18px;
}

.email-filter-bar label {
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-weight: 700;
    font-size: 13px;
    color: var(--text);
    margin: 0;
}

.email-filter-bar input,
.email-filter-bar select {
    width: 100%;
    height: 46px;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 9px;
    background: #fff;
    color: var(--text);
    font: inherit;
    box-sizing: border-box;
}

.email-filter-bar .btn {
    height: 46px;
    min-height: 46px;
    margin: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 24px;
    white-space: nowrap;
}

.email-filter-bar .btn.primary {
    background: var(--primary);
    color: #fff;
    border: 0;
    border-radius: 9px;
    cursor: pointer;
    font-weight: 750;
    font-size: 14px;
}

.email-filter-bar .btn.primary:hover {
    background: var(--primary-2);
}

.email-filter-bar a.btn {
    background: #fff;
    color: var(--primary);
    border: 1px solid #b8c7da;
    border-radius: 9px;
    text-decoration: none;
    cursor: pointer;
}

.email-filter-bar a.btn:hover {
    background: #f5f8fc;
}

/* Tablet */
@media (max-width: 1100px) {
    .email-filter-bar {
        grid-template-columns: 1fr 1fr;
    }
}

/* Mobile */
@media (max-width: 760px) {
    .email-filter-bar {
        grid-template-columns: 1fr;
    }
}
/* v2.0 — safe user administration */
.user-management-tabs{margin-bottom:20px}
.user-row-actions{align-items:center}
.user-row-actions form{margin:0}
@media(max-width:760px){.user-management-tabs{display:flex}.user-row-actions{min-width:190px}}

/* v2.0.1 — user-management table and action menu polish */
.user-management-tabs{margin-bottom:18px}

/* Give the management table more room than the create/edit panel. */
.user-management-layout{
    grid-template-columns:minmax(270px,.78fr) minmax(0,2.22fr);
    align-items:start;
}

.user-management-layout .table-wrap{
    overflow:visible;
}

.user-management-layout .card.flush{
    overflow:visible;
}

.user-management-layout table{
    table-layout:auto;
}

.user-management-layout th:first-child,
.user-management-layout td:first-child{
    min-width:180px;
}

.user-management-layout th:nth-child(5),
.user-management-layout td:nth-child(5){
    min-width:120px;
}

.user-management-layout th:last-child,
.user-management-layout td:last-child{
    min-width:150px;
}

.user-actions-cell{
    overflow:visible;
}

.user-row-actions{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:7px;
    flex-wrap:nowrap;
    position:relative;
}

.user-actions-menu{
    position:relative;
}

.user-actions-menu > summary{
    list-style:none;
    white-space:nowrap;
    user-select:none;
}

.user-actions-menu > summary::-webkit-details-marker{
    display:none;
}

.user-actions-menu[open] > summary{
    background:#e8eef6;
    color:#153e75;
}

.user-actions-dropdown{
    position:absolute;
    z-index:120;
    top:calc(100% + 7px);
    right:0;
    width:220px;
    padding:7px;
    border:1px solid var(--border);
    border-radius:12px;
    background:#fff;
    box-shadow:0 18px 45px rgba(15,42,76,.18);
}

.user-actions-dropdown form{
    margin:0;
}

.user-menu-action{
    display:block;
    width:100%;
    border:0;
    border-radius:8px;
    background:transparent;
    color:#344054;
    padding:10px 11px;
    text-align:left;
    font:inherit;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
}

.user-menu-action:hover{
    background:#f3f6fb;
    color:#153e75;
}

.user-menu-action.warning-text{
    color:#b54708;
}

.user-menu-action.warning-text:hover{
    background:#fff7ed;
    color:#93370d;
}

.user-menu-action.danger-text{
    color:#b42318;
}

.user-menu-action.danger-text:hover{
    background:#fff1f0;
    color:#912018;
}

.user-menu-separator{
    height:1px;
    margin:6px 4px;
    background:#edf0f4;
}

@media(max-width:1100px){
    .user-management-layout{
        grid-template-columns:1fr;
    }
    .user-management-layout .table-wrap{
        overflow:auto;
    }
    .user-management-layout .card.flush{
        overflow:hidden;
    }
}

@media(max-width:760px){
    .user-row-actions{
        min-width:155px;
    }
    .user-actions-dropdown{
        right:auto;
        left:0;
    }
}
