/* Question analysis (Owen, 13 September 2026). RAG colours come from the shared success / warning / action tokens.
   Bars and heat cells use classes and data-fill steps, never inline styles (the local server blocks them). */
.qla-page{--qla-green-bg:var(--success-bg);--qla-green-ink:var(--success-ink);--qla-green-line:var(--success-line);--qla-amber-bg:var(--warning-bg);--qla-amber-ink:var(--warning-ink);--qla-amber-line:var(--warning-line);--qla-red-bg:var(--action-bg);--qla-red-ink:var(--action-ink);--qla-red-line:var(--action-line)}
.qla-rag{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap;border:1px solid #d4dde3;background:#eef2f5;color:#4d5c66;font-variant-numeric:tabular-nums}
.qla-rag.is-green,.qla-dot.is-green,.qla-split .is-green,.qla-heat.is-green{background:var(--qla-green-bg);color:var(--qla-green-ink);border-color:var(--qla-green-line)}
.qla-rag.is-amber,.qla-dot.is-amber,.qla-split .is-amber,.qla-heat.is-amber{background:var(--qla-amber-bg);color:var(--qla-amber-ink);border-color:var(--qla-amber-line)}
.qla-rag.is-red,.qla-dot.is-red,.qla-split .is-red,.qla-heat.is-red{background:var(--qla-red-bg);color:var(--qla-red-ink);border-color:var(--qla-red-line)}

/* list */
.qla-steps{list-style:none;counter-reset:qla;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:0 0 16px;padding:0}
.qla-steps li{counter-increment:qla;position:relative;display:flex;flex-direction:column;gap:2px;padding:10px 14px 10px 48px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.qla-steps li::before{content:counter(qla);position:absolute;left:12px;top:11px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--rp-green);color:#fff;font-weight:700;font-size:13px}
.qla-steps b{color:var(--green)}.qla-steps span{font-size:13px;color:var(--muted)}
.qla-class+.qla-class{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.qla-class-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.qla-class-head h3{margin:0;font-size:15px}
.qla-class-links,.qla-start-list{display:flex;gap:8px;flex-wrap:wrap}

/* paper page */
.qla-h1-class{font-size:.55em;font-weight:600;color:var(--muted);margin-left:6px}
.qla-tabs{margin-bottom:14px}.qla-tabs a:last-child{margin-left:auto}
.qla-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:0 0 14px}
.qla-tile{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-soft)}
.qla-tile small{font-size:11.5px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.qla-tile b{font-size:26px;line-height:1.15;color:var(--ink);font-variant-numeric:tabular-nums}.qla-tile b span{font-size:15px;color:var(--muted);font-weight:600}
.qla-tile em{font-style:normal;font-size:12.5px;color:var(--muted)}
.qla-tile.is-green{border-left:5px solid var(--qla-green-ink)}.qla-tile.is-amber{border-left:5px solid var(--qla-amber-ink)}.qla-tile.is-red{border-left:5px solid var(--qla-red-ink)}
.qla-counts{display:flex;gap:6px}
.qla-dot{display:inline-grid;place-items:center;min-width:34px;height:32px;padding:0 6px;border-radius:8px;border:1px solid;font-size:17px}

.qla-monday{border:1px solid #bfd3c3;border-left:6px solid var(--rp-green);border-radius:14px;background:var(--rp-green-soft);padding:14px 18px;margin:0 0 16px}
.qla-monday-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.qla-monday-head h2{margin:0;color:var(--rp-green);font-size:20px}
.qla-monday-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:10px}
.qla-monday-grid>div{background:var(--surface);border-radius:10px;padding:10px 14px;border:1px solid #d6e3d8}
.qla-monday h3{margin:0 0 8px;font-size:14px;color:var(--green)}
.qla-monday ol,.qla-monday ul{margin:0;padding:0;list-style:none;display:grid;gap:9px}
.qla-monday li{display:flex;flex-wrap:wrap;gap:3px 8px;align-items:baseline}
.qla-monday li small,.qla-focus small{flex-basis:100%;color:var(--muted);font-size:12.5px}
.qla-names{flex-basis:100%;font-size:13px;margin:0}.qla-names a{white-space:nowrap}
.qla-focus{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}
.qla-focus li{background:var(--surface);border:1px solid #d6e3d8;border-radius:10px;padding:10px 12px;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline}

.qla-two{display:grid;gap:0 16px}
@media (min-width:1500px){.qla-two{grid-template-columns:1fr 1fr}}
#rp-page .qla-two .table-scroll{max-height:none}
#rp-page.qla-page .table-scroll td:first-child{min-width:0}
.qla-table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}
.qla-table th,.qla-table td{padding:7px 8px;border-bottom:1px solid #e3e9e4;text-align:left;vertical-align:middle}
.qla-table thead th{background:var(--surface-soft);color:var(--green);font-size:12px;position:sticky;top:0;z-index:1;vertical-align:bottom}
.qla-table tbody th small,.qla-table td small{display:block;color:var(--muted);font-size:11.5px;font-weight:400}
.qla-table tfoot th,.qla-table tfoot td,.qla-marks tfoot th,.qla-marks tfoot td{border-top:2px solid #cfdad2;font-weight:700}
.qla-page .num{text-align:right;font-variant-numeric:tabular-nums}
.qla-pcell{white-space:nowrap}.qla-pcell b{margin-left:8px;font-variant-numeric:tabular-nums}
.qla-bar{width:80px}.qla-bar.is-green>span{background:#3f8a5a}.qla-bar.is-amber>span{background:#d49a1c}.qla-bar.is-red>span{background:#b7443a}
.qla-split{white-space:nowrap}.qla-split span{display:inline-block;min-width:26px;text-align:center;padding:1px 4px;border:1px solid;border-radius:6px;margin-right:3px;font-weight:700;font-variant-numeric:tabular-nums}
.qla-who summary{cursor:pointer;font-weight:600;font-size:12.5px;white-space:nowrap}
.qla-who p{margin:6px 0 0;display:grid;gap:4px;font-size:12.5px}
.qla-who-red::before{content:'Red: ';font-weight:700;color:var(--qla-red-ink)}.qla-who-amber::before{content:'Amber: ';font-weight:700;color:var(--qla-amber-ink)}
.qla-chips{display:flex;flex-wrap:wrap;gap:3px 4px;min-width:230px;max-width:330px}
.qla-page td.qla-heat{min-width:36px;text-align:center;font-variant-numeric:tabular-nums;font-weight:600;border-left:1px solid #fff}
.qla-matrix .qla-vhead{height:132px;min-width:36px;padding:6px 4px;text-align:center}
.qla-vhead span{writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;max-height:122px;overflow:hidden;text-overflow:ellipsis;display:inline-block;font-weight:600}
.qla-sticky{position:sticky;left:0;z-index:2;background:var(--surface)}
.qla-page thead .qla-sticky{z-index:3;background:var(--surface-soft)}
.qla-page tfoot .qla-sticky{background:var(--surface)}
.qla-page tr.is-absent th,.qla-page tr.is-absent td{color:var(--muted);background:#f6f7f6}
.qla-phead{min-width:92px}.qla-phead a{display:block;font-weight:700}.qla-phead small{display:block;color:var(--muted);font-weight:400}
.qla-trend{font-size:12px;color:var(--muted)}.qla-trend.is-up{color:#2f7a4a}.qla-trend.is-down{color:#b7443a}
.qla-empty{text-align:center;padding:28px}

/* marks grid */
.qla-toolbar{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between}
.qla-dir{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;color:var(--muted)}.qla-dir span{margin-right:4px}
.qla-dir button{min-height:32px;padding:4px 10px;border:1px solid var(--line);background:var(--surface);border-radius:8px;font-size:13px;color:var(--ink)}
.qla-dir button[aria-pressed=true]{background:var(--rp-green);color:#fff;border-color:var(--rp-green)}
.qla-linked{border-color:#bfd3c3;background:var(--rp-green-soft)}
.qla-marks{border-collapse:separate;border-spacing:0;font-size:13px}
.qla-marks th,.qla-marks td{border-bottom:1px solid #e3e9e4;padding:4px}
.qla-marks thead th{background:var(--surface-soft);color:var(--green);position:sticky;top:0;z-index:1;vertical-align:bottom}
.qla-qhead{min-width:54px;text-align:center}.qla-qhead b{display:block;font-size:14px}.qla-qhead small{display:block;color:var(--muted);font-weight:600}
.qla-qhead span{max-width:76px;margin:2px auto 0;font-size:10.5px;font-weight:500;color:var(--muted);line-height:1.2;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.qla-marks tbody th{min-width:210px;padding:4px 10px;text-align:left}
.qla-abs-h{font-size:11px}.qla-abs{text-align:center}
.qla-page td.qla-mark{padding:2px}
.qla-in{width:48px;height:34px;padding:0;text-align:center;font-size:15px;font-variant-numeric:tabular-nums;border:1px solid #d5ddd7;border-radius:6px;background:transparent;color:var(--ink)}
.qla-in:focus{outline:3px solid #8fb89a;outline-offset:0;border-color:var(--rp-green);background:#fff}
.qla-in:disabled{border-color:transparent}
.qla-mark.is-green{background:var(--qla-green-bg)}.qla-mark.is-amber{background:var(--qla-amber-bg)}.qla-mark.is-red{background:var(--qla-red-bg)}
.qla-total{white-space:nowrap}.qla-total small{color:var(--muted)}

/* mark scheme */
.qla-scheme-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,330px);gap:16px;align-items:start}
@media (max-width:980px){.qla-scheme-layout{grid-template-columns:1fr}}
.qla-scheme{border-collapse:collapse;width:100%;font-size:13px}
.qla-scheme th{text-align:left;font-size:12px;color:var(--green);padding:6px;background:var(--surface-soft)}
.qla-scheme td{padding:3px 4px}
.qla-scheme input{width:100%;min-height:34px;box-sizing:border-box}
.qla-scheme td:nth-child(1){width:76px}.qla-scheme td:nth-child(2){width:84px}.qla-scheme td:nth-child(3){min-width:210px}.qla-scheme td:nth-child(6){width:38px}
.qla-x{min-height:32px;width:32px;padding:0;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--action-ink);font-size:18px;line-height:1}
.qla-scheme-actions{display:flex;justify-content:space-between;gap:10px;margin-top:10px}
.qla-total-live{font-size:14px;color:var(--muted)}.qla-total-live b{color:var(--ink);font-size:18px}
.qla-paste{margin-top:14px;border-top:1px dashed var(--line);padding-top:10px}.qla-paste summary{cursor:pointer;font-weight:600;color:var(--green)}
.qla-paste textarea{width:100%;box-sizing:border-box;font-family:ui-monospace,Consolas,monospace;font-size:12.5px;margin:6px 0}
.qla-details,.qla-rag-form,.qla-new{display:grid;gap:12px}
.qla-details label,.qla-rag-form label,.qla-new label{display:grid;gap:4px;font-size:13px;font-weight:600}
.qla-details label small,.qla-new label small,.qla-rag-form small{font-weight:400;color:var(--muted);font-size:12px}
.qla-details h2,.qla-rag-form h2{margin:0;font-size:16px;color:var(--green)}
.qla-details .actions{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.qla-rag-form input{width:76px}
.qla-classes{border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin:0;display:flex;flex-wrap:wrap;gap:6px 14px}
.qla-classes legend{font-size:13px;font-weight:600;padding:0 4px}
.qla-page .qla-classes label{display:inline-flex;align-items:center;gap:6px;font-weight:500}
.qla-new{max-width:640px}
/* upload QLA spreadsheets */
.qla-drop{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:130px;padding:18px;margin:0 0 10px;border:2px dashed var(--rp-gold);border-radius:14px;background:var(--rp-cream);text-align:center;cursor:pointer}
.qla-drop b{font-size:18px;color:var(--rp-green)}.qla-drop span{color:var(--muted);font-size:13px}
.qla-drop:hover,.qla-drop.is-over{border-color:var(--rp-green);background:var(--rp-green-soft)}
.qla-drop:focus-within{outline:3px solid #8fb89a;outline-offset:2px}
.qla-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.qla-private{margin:0 0 16px}
.qla-upload.is-error{border-color:var(--action-line)}
.qla-found{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline;margin:0 0 12px}.qla-found b{font-size:20px;color:var(--ink)}.qla-found small{color:var(--muted)}
.qla-upload-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px 14px;margin:0 0 12px}
.qla-upload-fields label{display:grid;gap:4px;font-size:13px;font-weight:600}.qla-upload-fields input,.qla-upload-fields select{min-height:36px}
.qla-topics-found,.qla-names-found{margin:0 0 10px;border:1px solid var(--line);border-radius:10px;padding:8px 12px}
.qla-topics-found summary,.qla-names-found summary{cursor:pointer;font-weight:600;color:var(--green)}
.qla-topics-found p{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0}
.qla-match tr.is-unmatched th{color:var(--action-ink)}.qla-match select{min-height:32px;max-width:260px}
.qla-how{font-size:11.5px;color:var(--muted);text-transform:capitalize}
.qla-blanks{display:inline-flex;gap:6px;align-items:center;margin:4px 0 8px;font-size:13px}
.qla-warnings{margin:6px 0 10px;padding-left:18px;color:var(--warning-ink);font-size:13px}
.qla-import-all{justify-content:flex-end;display:flex}
.qla-upload-button{background:var(--rp-green);color:#fff;border-color:var(--rp-green)}.qla-upload-button:hover{background:#1f3d25;color:#fff}
@media print{.qla-tabs,.qla-toolbar,.rp-picks,[data-qla-copy],[data-qla-csv]{display:none!important}}
