*{box-sizing:border-box}body{margin:0;background:#f7f8fa;color:#202633;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;padding-bottom:90px}.top{height:62px;background:#fff;border-bottom:1px solid #e6e8ed;display:flex;align-items:center;justify-content:space-between;padding:0 max(22px,calc((100vw - 1050px)/2))}.brand{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:800;letter-spacing:.08em}.brand small{display:block;font-size:10px;font-weight:500;letter-spacing:0;color:#7b8492;margin-top:2px}.brand-mark{width:30px;height:30px;border-radius:8px;background:#3157d5;color:#fff;display:grid;place-items:center;font-weight:800}.top-note{font-size:10px;letter-spacing:.08em;color:#89919d}.wrap{max-width:980px;margin:0 auto;padding:34px 22px}.intro h1{font-size:24px;letter-spacing:-.04em;margin:0 0 7px;font-weight:750}.intro p{margin:0;color:#77808d;font-size:13px}.filters{display:flex;gap:14px;margin:27px 0 25px;padding:16px;background:#fff;border:1px solid #e6e8ed;border-radius:9px}.filters label{font-size:11px;font-weight:700;color:#5e6876;display:flex;flex-direction:column;gap:7px;flex:1}.filters select{height:40px;border:1px solid #dfe3e9;border-radius:6px;background:white;padding:0 11px;font-size:13px;color:#273142;outline:none}.filters select:focus{border-color:#8ea7ef}.list-head{display:flex;justify-content:space-between;align-items:center;margin:0 1px 10px;font-size:12px;color:#737e8d}.list-head b{color:#202633}.select-all{display:flex;align-items:center;gap:7px;font-size:11px}.select-all input,.q-check input{accent-color:#3157d5}.question-list{display:grid;gap:8px}.q-card{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;background:#fff;border:1px solid #e6e8ed;border-radius:8px;padding:15px 16px}.q-card.selected{border-color:#9db3ee;background:#fcfdff}.q-check{padding-top:2px}.q-check input{width:15px;height:15px}.q-text{font-family:Georgia,"Times New Roman",serif;font-size:15px;line-height:1.6;color:#242b36}.q-text p{margin:0 0 7px}.q-meta{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:10px;font:10px Inter,system-ui,sans-serif;color:#8a93a0}.q-meta .topic{color:#657386}.tag{background:#f1f3f7;border-radius:4px;padding:3px 6px}.loading,.empty{text-align:center;padding:40px;color:#87909c;font-size:12px}.bottom-bar{position:fixed;z-index:10;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e2e6ec;box-shadow:0 -4px 20px #1b2c4610;min-height:68px;padding:12px max(22px,calc((100vw - 980px)/2));display:flex;align-items:center;justify-content:space-between;gap:15px}.selection-info{font-size:12px;color:#707b89}.selection-info b{font-size:18px;color:#202633;margin-right:3px}.actions{display:flex;gap:9px}.btn{height:39px;border-radius:7px;padding:0 16px;font-size:12px;font-weight:650;cursor:pointer;border:1px solid transparent}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:#3157d5;color:#fff}.btn-primary:hover:not(:disabled){background:#2648bd}.btn-light{background:#fff;border-color:#d9dee7;color:#354052}.btn-light:hover:not(:disabled){background:#f7f8fb}.empty[hidden]{display:none}@media(max-width:600px){.top{padding:0 15px}.top-note{display:none}.wrap{padding:24px 13px}.filters{padding:12px;gap:9px}.filters label{font-size:10px}.filters select{font-size:11px;padding:0 7px}.q-card{padding:12px 10px;gap:8px}.q-text{font-size:14px}.bottom-bar{padding:10px 12px}.btn{padding:0 10px;font-size:11px}.actions{gap:6px}}

/* Three-stage workflow and compact selection review */
.workflow{display:flex;gap:22px;align-items:center;margin:0 0 25px;padding:11px 14px;background:#fff;border:1px solid #e6e8ed;border-radius:8px;color:#87909c;font-size:11px}.workflow b{color:#3157d5;font-weight:750}.filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.preview-summary{display:flex;gap:18px;align-items:center;margin:20px 0 12px;padding:12px 15px;background:#fff;border:1px solid #e6e8ed;border-radius:8px;font-size:12px}.preview-summary strong{font-size:14px}.preview-summary span{color:#77808d}.selected-preview-card{grid-template-columns:28px minmax(0,1fr) 28px;align-items:start}.preview-number{font-size:12px;font-weight:700;color:#7c8795;padding-top:2px;text-align:center}.remove-question{width:26px;height:26px;border:1px solid #e1e5eb;border-radius:6px;background:#fff;color:#7c8795;font-size:19px;line-height:1;cursor:pointer}.remove-question:hover{color:#c03939;border-color:#e5b4b4}.btn-choice{background:#3157d5;color:#fff;border-color:#3157d5;min-width:160px}.btn-choice:hover:not(:disabled){background:#2648bd}.preview-bar .actions{gap:8px}.scroll-top{position:fixed;right:22px;bottom:88px;z-index:30;width:42px;height:42px;border:0;border-radius:50%;background:#263b63;color:#fff;font-size:22px;line-height:1;box-shadow:0 3px 12px #17243b35;cursor:pointer;opacity:.92}.scroll-top:hover{background:#3157d5;transform:translateY(-2px)}
@media(max-width:760px){.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow{gap:10px;justify-content:space-between;font-size:9px}.preview-bar{align-items:stretch;flex-direction:column}.preview-bar .actions{display:grid;grid-template-columns:1fr 1fr}.preview-bar .actions .btn{min-width:0;padding:0 8px}.preview-bar .actions #backBtn{grid-column:1/-1}.scroll-top{right:13px;bottom:112px}}

/* Question-bank table and compact selection dashboard */
.wrap{max-width:1180px}
.question-table-wrap{background:#fff;border:1px solid #e1e6ed;border-radius:9px;overflow:auto;box-shadow:0 2px 8px #1b2c4608}
.question-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:12px}
.question-table th{height:43px;background:#f1f4f8;color:#536174;text-transform:uppercase;letter-spacing:.045em;font-size:10px;font-weight:700;text-align:left;border-bottom:1px solid #dfe5ed;padding:0 12px;white-space:nowrap}
.question-table th:first-child{width:42px;text-align:center}
.question-table th:nth-child(2){width:74px}.question-table th:nth-child(3){width:92px}
.question-table th:nth-child(5){width:68px;text-align:center}.question-table th:nth-child(6){width:88px;text-align:center}
.question-table td{padding:13px 12px;border-bottom:1px solid #e8edf3;vertical-align:top;color:#344054;line-height:1.55}
.question-table tbody tr:last-child td{border-bottom:0}
.question-row{cursor:pointer;transition:background .12s ease}
.question-row:hover{background:#f8faff}
.question-row.is-selected{background:#f1f5ff}
.question-row.is-selected td:first-child{box-shadow:inset 3px 0 #3157d5}
.question-table td.check-cell{text-align:center;vertical-align:middle;padding:10px 8px}
.question-table input[type=checkbox]{width:15px;height:15px;accent-color:#3157d5;cursor:pointer}
.question-table td:nth-child(2){vertical-align:middle;text-align:center;font-variant-numeric:tabular-nums}
.question-table td:nth-child(3){vertical-align:middle;text-align:center}
.question-table td:nth-child(5),.question-table td:nth-child(6){vertical-align:middle;text-align:center;font-variant-numeric:tabular-nums}
.paper-pill{display:inline-block;padding:3px 7px;border-radius:5px;background:#f0f3f8;color:#43546c;font-size:10px;font-weight:700}
.table-question{font-family:Inter,system-ui,sans-serif;font-size:12px;color:#293548!important}
.table-question p{display:inline;margin:0}
.table-question>div{margin:0 0 3px}
.table-question strong p{font-weight:650}
.empty-cell{padding:35px!important;text-align:center!important;color:#8993a1!important}
.list-head{margin-top:3px}
.bottom-bar{padding:10px max(18px,calc((100vw - 1180px)/2));min-height:76px}
.selection-dashboard{display:flex;align-items:center;gap:18px;min-width:0}
.selection-count{display:flex;align-items:baseline;gap:6px;white-space:nowrap;color:#566273;font-size:12px}
.selection-count b{font-size:19px;color:#202b3a}
.selection-composition{font-size:11px;color:#7b8796;white-space:nowrap}
.selection-total{display:flex;align-items:baseline;gap:8px;white-space:nowrap}
.selection-total span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#7b8796}
.selection-total b{font-size:20px;color:#3157d5}
@media(max-width:760px){.question-table{min-width:780px}.bottom-bar{align-items:stretch;flex-direction:column;padding:9px 12px;gap:8px}.selection-dashboard{justify-content:space-between;gap:7px}.selection-composition{display:none}.bottom-bar .actions{width:100%}.bottom-bar .actions .btn{width:100%}.wrap{padding-bottom:140px}}

/* Header subject mode controls */
.top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{font-weight:750;letter-spacing:-.025em}
.brand small{display:none}
.top-controls{display:flex;align-items:center;gap:10px}
.mode-switch{display:flex;align-items:center;padding:3px;background:#f0f3f8;border:1px solid #e0e6ee;border-radius:8px;gap:2px}
.mode-btn{border:0;background:transparent;color:#667085;padding:7px 13px;border-radius:6px;font-size:12px;font-weight:650;cursor:pointer}
.mode-btn.active{background:#fff;color:#244dc2;box-shadow:0 1px 3px #1018281a}
.optional-select{min-width:205px;max-width:260px}
.optional-select[hidden],label[hidden]{display:none!important}
.workflow{margin-top:12px}
.intro p{display:none}
.selected-preview-card{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:start;gap:12px}
.row-tools{display:flex;align-items:center;gap:4px}
.row-tools button{width:29px;height:29px;border:1px solid #e1e6ed;border-radius:6px;background:#fff;color:#526174;cursor:pointer;font-size:15px}
.row-tools button:hover:not(:disabled){background:#f1f5ff;border-color:#c7d3f7;color:#3157d5}
.row-tools button:disabled{opacity:.3;cursor:not-allowed}
.row-tools .remove-question{font-size:19px;color:#8a5660}
.selected-preview-card.dragging{opacity:.45;border:1px dashed #3157d5}
@media(max-width:650px){.top{align-items:flex-start}.top-controls{flex-direction:column;align-items:flex-end}.optional-select{min-width:165px;width:165px}.selected-preview-card{grid-template-columns:25px minmax(0,1fr)}.row-tools{grid-column:2;justify-content:flex-end}}

/* Compact multi-select filter menus */
.filters{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}
.multi-filter{position:relative;min-width:155px}
.multi-trigger{width:100%;height:38px;display:flex;justify-content:space-between;align-items:center;padding:0 11px;background:#fff;border:1px solid #dce3ec;border-radius:7px;color:#344054;font-size:12px;cursor:pointer}
.multi-trigger:hover{border-color:#aebbd0}
.multi-menu{position:absolute;top:calc(100% + 5px);left:0;z-index:25;min-width:220px;max-height:270px;overflow:auto;padding:6px;background:#fff;border:1px solid #dce3ec;border-radius:8px;box-shadow:0 8px 24px #1b2c461c}
.multi-menu[hidden]{display:none}
.multi-option{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:5px;font-size:12px;color:#344054;cursor:pointer}
.multi-option:hover{background:#f4f6fa}
.multi-option input{accent-color:#3157d5}
.multi-empty{display:block;padding:10px;color:#8993a1;font-size:12px}
/* Lean question list: question number, question, marks and year */
.question-table th:first-child{width:38px}
.question-table th:nth-child(2){width:62px;text-align:center}
.question-table th:nth-child(3){width:auto}
.question-table th:nth-child(4){width:65px;text-align:center}
.question-table th:nth-child(5){width:72px;text-align:center}
.question-table td{padding:8px 10px;line-height:1.42}
.question-table td.qno-cell,.question-table td.marks-cell,.question-table td.year-cell{text-align:center;vertical-align:middle;font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}
.question-table td.qno-cell{font-weight:650;color:#64748b}
.question-table td.marks-cell{font-weight:700;color:#344054}
.question-table td.year-cell{color:#64748b}
.question-table td.table-question{padding:8px 12px;font-size:11.5px;line-height:1.42}
.table-question>div{margin:0 0 2px}
.question-table td.check-cell{padding:7px 5px}

/* Cohesive visual polish */
:root{--ink:#1e293b;--muted-ink:#64748b;--line-soft:#e3e8f0;--accent-blue:#3157c9;--accent-soft:#eef3ff;--canvas:#f4f6fa}
body{background:var(--canvas);color:var(--ink)}
.top{height:66px;border-bottom:1px solid var(--line-soft);box-shadow:0 1px 4px rgba(15,23,42,.035)}
.brand{font-size:14px;letter-spacing:-.02em;color:#17243b}
.brand-mark{background:linear-gradient(145deg,#4268d5,#2949a8);box-shadow:0 2px 5px rgba(49,87,201,.22)}
.top-controls{gap:12px}
.mode-switch{background:#edf1f7;border-color:#dfe5ef;padding:3px}
.mode-btn{min-width:68px}
.mode-btn.active{color:#2449ad}
.optional-select{height:37px;border:1px solid #d8e0ec;border-radius:7px;background:#fff;padding:0 10px;color:#334155;font-size:12px;outline:none}
.optional-select:focus,.multi-trigger:focus-visible{outline:3px solid rgba(49,87,201,.13);border-color:#7893df}
.wrap{padding-top:27px}
.workflow{border-color:#e0e6ef;box-shadow:0 2px 7px rgba(15,23,42,.025);padding:12px 16px}
.workflow b{color:#284db7}
.intro h1{font-size:25px;color:#17243b;margin-bottom:4px}
.filters{background:#fff;border:1px solid #e1e7f0;border-radius:11px;padding:14px 15px;margin:20px 0 18px;box-shadow:0 2px 8px rgba(15,23,42,.025)}
.multi-filter{flex:1 1 160px;min-width:145px}
.multi-trigger{height:40px;border-color:#dce3ed;border-radius:8px;font-weight:550;color:#334155}
.multi-trigger span{color:#8190a5;font-size:15px}
.multi-menu{border-color:#dce3ed;border-radius:9px;box-shadow:0 12px 28px rgba(15,23,42,.13);padding:7px}
.filters .multi-option{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;width:100%;min-height:34px;padding:7px 9px;margin:0;font-size:12px;font-weight:500;line-height:1.35;color:#334155;cursor:pointer}
.filters .multi-option input{display:block!important;flex:0 0 15px;width:15px;height:15px;margin:0;accent-color:#3157c9}
.filters .multi-option span{display:block;flex:1;min-width:0}
.multi-option:hover{background:#f0f4fc}
.list-head{color:#65748a;margin-bottom:9px}
.list-head b{color:#26364e}
.question-table-wrap{border-color:#dfe6ef;border-radius:10px;box-shadow:0 3px 12px rgba(15,23,42,.035)}
.question-table th{background:#edf2f8;color:#53647d;border-bottom-color:#dce4ef}
.question-table td{border-bottom-color:#edf0f5;color:#334155}
.question-row:hover{background:#f5f8ff}
.question-row.is-selected{background:#edf3ff}
.question-row.is-selected td:first-child{box-shadow:inset 3px 0 #3157c9}
.paper-pill{background:#edf2fb;color:#36528c}
.bottom-bar{border-top-color:#dfe5ee;box-shadow:0 -5px 18px rgba(15,23,42,.055)}
.selection-count b{color:#1d2b43}
.selection-total b{color:#3157c9}
.btn-primary,.btn-choice{background:#3157c9;border-color:#3157c9;box-shadow:0 1px 2px rgba(34,65,150,.12)}
.btn-primary:hover:not(:disabled),.btn-choice:hover:not(:disabled){background:#2548b0;border-color:#2548b0}
.btn-light{border-color:#d8e0eb;color:#43536b}
.btn-light:hover:not(:disabled){background:#f4f7fb}
.scroll-top{background:#2b477f;box-shadow:0 4px 14px rgba(27,48,91,.22)}
.scroll-top:hover{background:#3157c9}
@media(max-width:760px){.wrap{padding-top:20px}.filters{padding:11px}.multi-filter{min-width:calc(50% - 8px)}}

/* Main question bank display restored to v3: Year | Paper | Question | Marks | Word limit */
.question-table th:first-child{width:42px;text-align:center}
.question-table th:nth-child(2){width:74px;text-align:center}
.question-table th:nth-child(3){width:92px;text-align:center}
.question-table th:nth-child(4){width:auto;text-align:left}
.question-table th:nth-child(5){width:68px;text-align:center}
.question-table th:nth-child(6){width:88px;text-align:center}
.question-table td.year-cell{width:74px;text-align:center;vertical-align:middle;font-variant-numeric:tabular-nums;color:#64748b}
.question-table td.paper-cell{text-align:center;vertical-align:middle}
.question-table td.table-question{padding:9px 12px;text-align:left;font-size:12px;line-height:1.5}
.question-table td.marks-cell,.question-table td.word-cell{text-align:center;vertical-align:middle;font-variant-numeric:tabular-nums;white-space:nowrap}
.question-table td.marks-cell{font-weight:650}
.question-table td.word-cell{color:#64748b}

/* Universal search across the active candidate subject family */
.universal-search{display:flex;align-items:center;gap:10px;min-height:46px;margin:-5px 0 17px;padding:0 12px;background:#fff;border:1px solid #dce4ef;border-radius:9px;box-shadow:0 2px 8px rgba(15,23,42,.025)}
.universal-search:focus-within{border-color:#8da5e8;box-shadow:0 0 0 3px rgba(49,87,201,.09)}
.universal-search-icon{font-size:22px;line-height:1;color:#73839b;transform:rotate(-15deg)}
.universal-search input{flex:1;min-width:0;height:42px;border:0!important;outline:0!important;background:transparent!important;color:#24334a;font-size:13px;padding:0!important;box-shadow:none!important}
.universal-search input::placeholder{color:#8996a8}
.universal-search #clearUniversalSearch{border:0;background:#f3f5f9;color:#53647c;border-radius:6px;padding:5px 9px;font-size:11px;cursor:pointer}
.universal-search #clearUniversalSearch:hover{background:#e9eef8;color:#294caa}
.universal-search #clearUniversalSearch[hidden]{display:none}
.search-scope{font-size:10px;color:#77869a;white-space:nowrap;border-left:1px solid #e6eaf0;padding-left:10px}
.multi-menu-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 2px 7px;border-bottom:1px solid #edf0f5;margin-bottom:7px}
.multi-action{border:1px solid #dce4ef;background:#f8faff;color:#425575;border-radius:5px;padding:4px 10px;font-size:11px;font-weight:600;cursor:pointer}
.multi-action:hover{background:#edf3ff;border-color:#b9c9ef;color:#294caa}
.multi-action.multi-clear{background:#fff8f7;border-color:#f3d4d0;color:#b5473c}
.multi-action.multi-clear:hover{background:#fff0ee;border-color:#eab4ad}
.multi-search{display:block;width:100%;height:33px;margin:0 0 7px;padding:0 9px;border:1px solid #d9e1ec;border-radius:6px;background:#fff;color:#344054;font-size:11px;outline:none}
.multi-search:focus{border-color:#8da5e8;box-shadow:0 0 0 2px rgba(49,87,201,.09)}
.multi-options{max-height:205px;overflow:auto}
.multi-empty{padding:10px 8px}
#clearSelected{border-color:#f0c6c2;background:#fff5f4;color:#b42318}
#clearSelected:hover:not(:disabled){border-color:#e4a29b;background:#feeceb;color:#9f1d16}
#clearSelected:disabled{background:#fafafa;border-color:#e7e9ed;color:#a0a8b4}
@media(max-width:760px){.universal-search{margin:0 0 12px;gap:7px;padding:0 9px}.search-scope{font-size:9px;padding-left:7px}.universal-search input{font-size:12px}.multi-menu{min-width:min(220px,80vw)}}
