/* Portal styling follows the local website's Geist / neutral component palette. */
@font-face{font-family:Geist;src:url('/vendor/geist/Geist-Variable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root,[data-theme=light]{color-scheme:light;--ink:#171717;--muted:#626262;--line:#e5e5e5;--paper:#fafafa;--surface:#fff;--soft:#f5f5f5;--input:#fff;--primary:#171717;--on-primary:#fafafa;--green:#171717;--accent:#ffac30;--cream:#fff4df;--red:#a12828;--blue:#315f8d;--success-bg:#eef6ee;--success-ink:#285833;--warning-bg:#fff5df;--warning-ink:#785018;--warning-line:#dbc18a;--error-bg:#fff0ed;--error-ink:#a12828;--error-line:#b83b32;--info-bg:#edf4fa;--info-ink:#315f8d;--selection-bg:#fff0cf;--selection-ink:#664000;--selection-line:#c28622;--model-background:#f0f0f0;--model-grid-minor:#96969666;--model-grid-major:#626262aa;--model-grid-axis:#3b3b3baa;--model-grid-text:#363636}
[data-theme=dark]{color-scheme:dark;--ink:#fafafa;--muted:#a3a3a3;--line:#333;--paper:#090909;--surface:#111;--soft:#1c1c1c;--input:#171717;--primary:#fafafa;--on-primary:#171717;--green:#fafafa;--cream:#30250e;--red:#ffb4a9;--blue:#aad2f3;--success-bg:#192c1e;--success-ink:#b4dbb9;--warning-bg:#33270e;--warning-ink:#f5c46b;--warning-line:#756039;--error-bg:#361916;--error-ink:#ffb4a9;--error-line:#e77d70;--info-bg:#192a38;--info-ink:#aad2f3;--selection-bg:#33270e;--selection-ink:#ffd58a;--selection-line:#b88a3e;--model-background:#181818;--model-grid-minor:#9d9d9d66;--model-grid-major:#c0c0c0aa;--model-grid-axis:#eeeeeeaa;--model-grid-text:#ededed}
body{font-family:Geist,Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink)}
.sidebar,.topbar,.card,.stat,.competition-card,.document-viewer,.login-panel,.email-comparison,.import-version-history li,.rich-editor-field.expanded,dialog{background:var(--surface);color:var(--ink);border-color:var(--line)}
.sidebar{padding-top:28px}.navlabel,.nav,.footer{color:var(--muted)}.nav:hover{background:var(--soft);color:var(--ink)}.nav.active{background:var(--soft);color:var(--ink)}
.avatar,.welcome-art,.badge,.rank-medal{background:var(--soft);color:var(--ink)}.stat .mini{color:var(--muted)}
.btn{border-color:var(--line);background:var(--surface);color:var(--ink);border-radius:6px;transition:background .15s,border-color .15s}
.btn:hover:not(:disabled){background:var(--soft)}.btn.primary{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.btn.primary:hover:not(:disabled){opacity:.85;background:var(--primary)}
.btn.accent{background:var(--accent);border-color:var(--accent);color:#171717}.btn.accent:hover:not(:disabled){background:#ffc266}.btn.danger{color:var(--error-ink);border-color:var(--error-line)}.btn.text{background:transparent;color:var(--ink)}
a{color:var(--ink)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--muted);outline-offset:3px}
input:not([type=checkbox]),select,textarea{background:var(--input);border-color:var(--line);color:var(--ink)}input::placeholder,textarea::placeholder{color:var(--muted)}input[type=checkbox],input[type=range]{accent-color:var(--primary)}
.table-input{background:var(--input)!important}th,.stage1-live th:first-child{background:var(--soft);color:var(--muted)}tbody tr:hover{background:var(--soft)}
.badge.green,.criteria-weight-summary.complete{background:var(--success-bg);color:var(--success-ink);border-color:var(--line)}.badge.amber,.banner.warning,.demo,.criteria-weight-summary,.email-comparison.email-mismatch{background:var(--warning-bg);color:var(--warning-ink);border-color:var(--warning-line)}
.badge.red,.criteria-weight-summary.over{background:var(--error-bg);color:var(--error-ink);border-color:var(--error-line)}.badge.blue{background:var(--info-bg);color:var(--info-ink)}
.banner,.account-details,.invitation-preview,.publish-readiness,.audititem pre,.material,.login-story,.competition-art,.import-details-row>td,.import-main-row.details-open,.source-option:has(input:checked){background:var(--soft);color:var(--ink);border-color:var(--line)}
.login-story h1,.login-story p,.import-detail-content h4,.import-decision-guidance,.award{color:var(--ink)}.import-review-table .superseded .import-details-toggle{color:var(--ink)}.import-details-row>td{border-bottom-color:var(--line)}.import-version-history li.current-version{border-color:var(--muted);box-shadow:inset 3px 0 var(--muted)}
.step.active span{background:var(--primary);color:var(--on-primary)}.progress,.criteria-weight-summary .progress{background:var(--soft)}.progress div{background:var(--primary)}
.reportready{background:var(--primary);color:var(--on-primary)}.reportready p{color:inherit}.reportready .btn{background:var(--surface);color:var(--ink)}
#toast{background:var(--primary);color:var(--on-primary)}#toast.error{background:var(--error-bg);color:var(--error-ink);border:1px solid var(--error-line)}
.session-save-bar{background:var(--surface);border-color:var(--line);border-radius:7px;box-shadow:0 4px 16px #0001}
.assessment-error-message{color:var(--error-ink)}.assessment-error-summary{background:var(--error-bg);border-color:var(--error-line)}.assessment-field-error{background:var(--error-bg)!important;border-color:var(--error-line)!important}form.assessment-has-error{border-color:var(--error-line)}.assessment-has-error>td{box-shadow:inset 0 2px var(--error-line),inset 0 -2px var(--error-line)}
tr.materials-active>td{background:var(--selection-bg)!important;border-color:var(--selection-line)}.materials-active .team{color:var(--selection-ink)}.materials-open-badge{background:var(--primary);color:var(--on-primary)}
.stage1-live .materials-active input.table-input,.stage1-live .materials-active select.table-input,.stage1-live .materials-active textarea.table-input{background:var(--input)!important;border-color:var(--selection-line)}
.stage1-live .materials-active .assessment-field-error{background:var(--error-bg)!important;border-color:var(--error-line)!important}
.document-viewer #viewer-team{color:var(--selection-ink);background:var(--selection-bg)}.stage1-live tr.materials-active,.responsive-records tr.materials-active{background:var(--selection-bg);border-color:var(--selection-line)}
.viewer-stage{background:var(--soft)}.document-viewer footer,.image-zoom,.native-pdf-note,.pdf-controls,.pdf-accessibility-note,.stl-controls,.stl-scale-info{background:var(--surface);color:var(--ink);border-color:var(--line)}.pdf-document{background:var(--soft)}.viewer-peek{background:var(--primary);color:var(--on-primary)}
dialog footer{background:var(--soft)}dialog::backdrop{background:#0008}.viewer-open #viewer-backdrop{background:#0009}
.rich-editor-field .ql-toolbar.ql-snow,.rich-editor-field .ql-container.ql-snow{background:var(--surface);color:var(--ink);border-color:var(--line)}.rich-editor-field .ql-toolbar.ql-snow{background:var(--soft)}.rich-editor-field .ql-editor.ql-blank::before{color:var(--muted)}.rich-editor-field .ql-editor blockquote,.guidance-prose blockquote{color:var(--muted)}
.rich-editor-field .ql-snow .ql-stroke{stroke:var(--ink)}.rich-editor-field .ql-snow .ql-fill{fill:var(--ink)}.rich-editor-field .ql-snow .ql-picker{color:var(--ink)}.rich-editor-field .ql-snow .ql-picker-options,.rich-editor-field .ql-snow .ql-tooltip{background:var(--surface);color:var(--ink);border-color:var(--line)}.rich-editor-field .ql-snow .ql-picker.ql-expanded .ql-picker-label{color:var(--ink);border-color:var(--line)}
.competition-art svg [fill]:not([fill=none]){fill:var(--line)}.competition-art svg path{stroke:var(--muted)}
[data-theme=dark] img[src="/brand.svg"]{content:url('/brand-dark.svg')}
.theme-switch{display:inline-flex;align-items:center;gap:2px;flex:none;padding:3px;border:1px solid var(--line);background:var(--soft);border-radius:7px}.theme-switch button{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border:0;border-radius:4px;background:transparent;color:var(--muted);font-size:11px;min-height:30px}.theme-switch button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #0002}.theme-swatch{width:11px;height:11px;border:1px solid #777;border-radius:50%}.theme-swatch.light{background:#fff}.theme-swatch.dark{background:#111}
.login-panel>.theme-switch{position:absolute;top:20px;right:24px}.recovery-page>.theme-switch{position:absolute;top:20px;right:24px}.topright{gap:12px}.topbar>div:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar{gap:12px}
@media(max-width:760px){.topright .demo{display:none}.topbar{min-height:58px;height:auto;padding-top:8px;padding-bottom:8px}.theme-switch button{padding:4px 7px}.stage1-live tr{background:var(--surface)}.stage1-live td[data-label="TEAM ID"]{background:var(--soft)}.stage1-live tr.materials-active{background:var(--selection-bg)}.import-review-table .import-main-row{background:var(--surface)}}
@media(prefers-reduced-motion:reduce){.btn{transition:none}}

@media(max-width:1100px){.topright>.muted{display:none}}

.stl-control-help{display:flex;flex-wrap:wrap;gap:4px 15px;padding:10px 14px;background:var(--surface);color:var(--muted);border-top:1px solid var(--line);font-size:11px;flex:none}.stl-control-help>strong{color:var(--ink);width:100%}.stl-controls #stl-pan[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}@media(max-width:760px){.stl-control-help{font-size:10px;gap:3px 10px}}

.login-page{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:76px 20px 36px}.login-story{display:block;background:transparent;padding:0;min-height:0;width:100%;max-width:420px}.login-panel{display:block;width:100%;max-width:420px;padding:28px;border:1px solid var(--line);border-radius:7px}.login-panel h1{font-size:28px;margin-bottom:20px}.login-panel form{margin-top:0}@media(max-width:760px){.login-story{padding:0}.login-panel{padding:22px}}

.audit-byline{display:block;color:var(--muted);font-size:12px;margin:4px 0}.audit-changes{table-layout:fixed;width:100%;min-width:480px}.audit-changes th:first-child{width:36%}.audit-changes td{white-space:pre-wrap;overflow-wrap:anywhere;vertical-align:top}.audit-reference{margin-top:12px;color:var(--muted);font-size:11px;overflow-wrap:anywhere}.audit-reference summary{cursor:pointer}

.competition-poster{margin:0;aspect-ratio:25/16;min-height:120px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--soft);align-self:center}.competition-poster img{display:block;width:100%;height:100%;object-fit:contain}.competition-poster img[hidden]{display:none}.poster-fallback{color:var(--muted);font-size:12px}.poster-fallback[hidden]{display:none}.source-poster-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.source-option.poster-choice{padding:0;margin:0;position:relative;overflow:hidden;display:block;cursor:pointer;border:1px solid var(--line);border-radius:7px;background:var(--surface)}.poster-choice>input[type=radio]{position:absolute;top:12px;right:12px;z-index:1;width:18px;height:18px;padding:0;accent-color:var(--primary)}.poster-choice:has(input:checked){border:2px solid var(--primary);box-shadow:0 0 0 2px var(--line)}.poster-choice:has(input:focus-visible){outline:2px solid var(--muted);outline-offset:3px}.poster-choice:has(input:disabled){opacity:.55;cursor:default}.source-poster-copy{padding:16px}.source-poster-copy strong{display:block;margin-bottom:6px}.source-poster-copy p{font-size:12px;margin:8px 0 0}.wizard-selected-competition{display:flex;align-items:center;gap:16px;margin:18px 0;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:7px}.wizard-selected-competition .competition-poster{width:110px;min-height:0;flex:none}@media(max-width:760px){.source-poster-grid{grid-template-columns:1fr}.competition-card>.competition-poster{max-height:260px}.wizard-selected-competition{gap:10px}.wizard-selected-competition .competition-poster{width:85px}}

.login-story .login-app-name,.login-app-name{font-size:14px;color:var(--ink);line-height:1.4;margin:12px 0 0;letter-spacing:.2px}@media(max-width:760px){.login-story .login-app-name{display:block}}

.legal-footer{display:block;line-height:1.65;font-size:11px;color:var(--muted);width:100%}.legal-footer>div{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.legal-footer nav{display:flex;gap:16px;flex-wrap:wrap}.legal-footer nav button{padding:0;border:0;background:none;color:var(--ink);text-decoration:underline;font-size:inherit}.legal-footer p{margin:12px 0 0;max-width:1100px}.login-page>.legal-footer,.recovery-page>.legal-footer{max-width:900px;margin-top:30px}.legal-page{max-width:1100px;margin:0 auto;padding:28px 24px 44px}.legal-page-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:24px;margin-bottom:28px;border-bottom:1px solid var(--line)}.legal-page-header>a{display:flex;align-items:center;gap:18px;text-decoration:none}.legal-page-header img{width:145px;height:auto}.legal-page-header span{font-size:13px}.legal-page .pagehead{align-items:center}.legal-page details{border-top:1px solid var(--line);padding:16px 0}.legal-page details summary{font-weight:600;cursor:pointer}.legal-page .checkline{margin:18px 0}.legal-page .guidance-prose{padding:18px 0}.cookie-inventory{margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}.cookie-notice{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);width:min(920px,calc(100% - 32px));z-index:80;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 50px #0003;display:flex;align-items:center;gap:24px;padding:20px}.cookie-notice p{font-size:12px;margin:6px 0}.cookie-notice a{font-size:12px}.cookie-notice .btn{flex:none}.legal-footer a{color:var(--ink)}@media(max-width:760px){.cookie-notice{bottom:10px;display:block;padding:16px}.cookie-notice .btn{width:100%;margin-top:14px}.legal-page{padding:20px 16px 35px}.legal-page-header>a{display:block}.legal-page-header span{display:block;margin-top:7px}.legal-footer nav{gap:12px}.legal-page-header{gap:10px}}

/* Assessment lists expand in the document; the page handles vertical scrolling. */
.assessment-queue{border:0;border-radius:0;box-shadow:none;background:transparent;margin:24px 0;min-width:0}
.assessment-list-heading{display:flex;align-items:center;gap:12px;cursor:pointer;padding:16px 0;border-bottom:1px solid var(--line);list-style:none}
.assessment-list-heading::-webkit-details-marker{display:none}
.assessment-list-heading::before{content:'\25B6';font-size:12px;transition:transform .15s}
.assessment-queue[open]>.assessment-list-heading::before{transform:rotate(90deg)}
.assessment-list-heading h2{margin:0;font-size:18px;flex:1}
.assessment-list-heading:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
.assessment-queue.stage1-live .tablewrap{max-height:none;height:auto;scrollbar-gutter:auto}
.assessment-queue .queue-help{padding:0;margin:14px 0}

/* Assessment rows fit the desktop page without an inner scrolling area. */
.assessment-queue.stage1-live .tablewrap{overflow:visible;max-width:100%;width:100%;max-height:none}
@media(min-width:761px){
.assessment-queue.stage1-live table{display:table;table-layout:fixed;min-width:0;width:100%;max-width:100%}
.assessment-queue.stage1-live thead{display:table-header-group;position:static}
.assessment-queue.stage1-live tbody{display:table-row-group;padding:0;background:transparent}
.assessment-queue.stage1-live tr{display:table-row;border:0;border-radius:0;background:transparent}
.assessment-queue.stage1-live th,.assessment-queue.stage1-live td{position:static!important;min-width:0!important;width:auto;max-width:none;padding:10px 5px;vertical-align:top;overflow-wrap:anywhere;white-space:normal;font-size:11px}
.assessment-queue.stage1-live td{display:table-cell;border-bottom:1px solid var(--line);background:transparent}
.assessment-queue.stage1-live td::before{display:none}
.assessment-queue.stage1-live th small{display:block;font-size:10px}
.assessment-queue.stage1-live td[data-label="TEAM ID"]{width:auto;min-width:0;background:transparent}
.assessment-queue.stage1-live td .statusline,.assessment-queue.stage1-live .shared-decision{min-width:0;max-width:100%}
.assessment-queue.stage1-live .team{font-size:11px;overflow-wrap:anywhere}
.assessment-queue.stage1-live .table-input,.assessment-queue.stage1-live textarea.table-input,.assessment-queue.stage1-live input.table-input,.assessment-queue.stage1-live select.table-input{min-width:0;max-width:100%;width:100%;box-sizing:border-box;font-size:11px;padding:6px 4px}
.assessment-queue.stage1-live td textarea{min-width:0;width:100%}
.assessment-queue.stage1-live td .btn{white-space:normal;max-width:100%;min-width:0;padding:6px 4px;font-size:10px}
.assessment-queue.stage1-live td label{overflow-wrap:anywhere}
.assessment-queue.stage1-live .badge{white-space:normal;max-width:100%;box-sizing:border-box}
}
.assessment-list-heading{flex-wrap:wrap;min-width:0}
.assessment-list-heading h2{min-width:0;overflow-wrap:anywhere}

.competition-brief-frame{width:100%;flex:1;min-height:300px;border:0;background:white}.brief-preview-note{padding:12px 16px;flex:none;border-bottom:1px solid var(--line)}.brief-preview-note p{margin:8px 0 0;font-size:12px}.jury-deadline strong{font-size:17px}

/* Keep only the current list's title and columns visible, within that list's bounds. */
.assessment-queue>.assessment-list-heading{position:sticky;top:var(--assessment-header-top,0px);z-index:5;background:var(--paper);margin:0}
@media(min-width:761px){.assessment-queue.stage1-live thead{position:sticky;top:calc(var(--assessment-header-top,0px) + var(--assessment-heading-height,64px));z-index:4;background:var(--surface)}.assessment-queue.stage1-live thead th{background:var(--surface);box-shadow:inset 0 -1px var(--line)}}

.session-save-bar{top:var(--session-save-top,0px)}

.assessment-completion-notice{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;padding:28px;margin:0 0 28px;border:2px solid var(--ink);background:var(--surface);color:var(--ink)}.completion-deadline-label{display:block;font-size:14px;font-weight:700;margin-bottom:12px}.completion-deadline-date{display:block;font-size:clamp(26px,3.4vw,42px);line-height:1.2;overflow-wrap:anywhere}.completion-deadline-time{display:block;font-size:13px;margin-top:12px;color:var(--muted)}.completion-instructions h2{font-size:21px;margin:0 0 12px}.completion-instructions p{line-height:1.8;margin:0 0 18px}.assessment-submitted{border-color:var(--line)}@media(max-width:760px){.assessment-completion-notice{grid-template-columns:minmax(0,1fr);padding:20px;gap:24px}.completion-instructions .btn{width:100%}}

.team-material-link{font:inherit;font-weight:700;color:inherit;padding:3px 0;border:0;background:transparent;text-decoration:underline;text-underline-offset:3px;cursor:pointer;overflow-wrap:anywhere;text-align:left}.team-material-link:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.team-material-link:disabled{cursor:default;text-decoration:none;opacity:.6}.ranking-team-row.materials-active>td{background:var(--soft);box-shadow:inset 0 2px var(--ink),inset 0 -2px var(--ink)}.ranking-team-row.materials-active>td:first-child{border-left:4px solid var(--ink)}

.notification-template-editor{border-top:1px solid var(--line);padding:18px 0}.notification-template-editor>summary{font-weight:600;cursor:pointer;padding:8px 0 16px}.notification-template-editor[open]{margin-bottom:18px}

.deadline-overdue-text{color:#b91c1c!important;font-weight:800!important}.assessment-overdue{border-color:#b91c1c}html[data-theme="dark"] .deadline-overdue-text{color:#ff9a9a!important}

.winner-identity{padding:18px 0;border-top:1px solid var(--line)}.winner-identity li{display:flex;flex-wrap:wrap;gap:16px;margin:10px 0}.winner-country{color:var(--muted)}.winner-country [role=img]{font-size:22px}

.award-result{gap:16px;flex-wrap:wrap}.award-team-code{font-size:20px;letter-spacing:.05em}.award-result.materials-active{background:var(--soft);border-left:4px solid var(--ink);padding-left:14px}
