:root{--charcoal:#2a3944;--ink:#142029;--muted:#63717b;--line:#dce3e8;--soft:#f6f8f9;--white:#fff;--red:#ff4040;--red-dark:#e94f48;--red-soft:#fff0ef;--shadow:0 24px 80px #1420291f;color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}body{background:linear-gradient(90deg, #2a39440f 1px, transparent 1px), linear-gradient(180deg, #2a39440f 1px, transparent 1px), var(--soft);background-size:44px 44px;min-width:320px;min-height:100vh;margin:0}button,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.46}.app-shell{grid-template-rows:auto auto 1fr auto;min-height:100vh;display:grid}.auth-shell{justify-content:center;align-items:center;min-height:100vh;padding:clamp(20px,5vw,56px);display:flex}.auth-card{box-shadow:var(--shadow);background:#fffffff5;border:1px solid #2a39441f;border-radius:8px;width:100%;max-width:680px;padding:clamp(28px,5vw,56px)}.auth-logo{background:var(--charcoal);object-fit:cover;object-position:center;border-radius:8px;width:160px;height:72px;margin-bottom:28px;display:block}.auth-form{gap:16px;margin-top:28px;display:grid}.auth-methods{background:var(--soft);border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;display:grid}.auth-method{color:var(--muted);background:0 0;border:0;border-radius:6px;min-height:38px;font-weight:800}.auth-method.active{background:var(--white);color:var(--charcoal);box-shadow:0 1px 8px #14202914}.auth-form label{gap:8px;display:grid}.auth-form label>span{color:var(--charcoal);font-size:13px;font-weight:800}.input-with-icon{background:var(--soft);border:1px solid var(--line);border-radius:8px;align-items:center;gap:10px;padding:0 12px;display:flex}.input-with-icon svg{color:var(--red-dark);flex:none}input{color:var(--ink);background:0 0;border:0;outline:0;width:100%;min-height:46px}select{appearance:none;background:var(--soft);border:1px solid var(--line);color:var(--ink);border-radius:8px;width:100%;min-height:46px;padding:0 36px 0 12px}.auth-message{color:var(--charcoal);margin:18px 0 0;font-weight:700}.auth-message.error{color:var(--red-dark)}.env-list{gap:10px;margin:24px 0;display:grid}.env-list code{background:var(--ink);color:#e8f0f3;border-radius:8px;padding:10px 12px}.topbar{background:var(--charcoal);color:var(--white);justify-content:space-between;align-items:center;gap:24px;padding:14px clamp(16px,4vw,48px);display:flex}.brand-mark{align-items:center;height:42px;display:flex;overflow:hidden}.brand-mark img{object-fit:contain;width:152px;height:78px;display:block}.review-meta{text-align:right;flex-direction:column;align-items:flex-end;gap:2px;font-size:13px;display:flex}.review-meta span{color:#ffffffb8}.review-meta strong{font-size:16px}.review-meta small{color:#ffffff94}.review-meta.align-left{text-align:left;align-items:flex-start}.progress-track{background:#2a394429;height:4px}.progress-fill{background:var(--red);height:100%;transition:width .22s}.workspace{justify-content:center;padding:clamp(20px,4vw,48px);display:flex}.task-surface{box-shadow:var(--shadow);background:#fffffff5;border:1px solid #2a39441f;border-radius:8px;width:100%;max-width:1120px;padding:clamp(24px,5vw,56px);animation:.18s both task-enter}@keyframes task-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.instruction-screen{max-width:880px}.eyebrow,.meta-label{color:var(--red-dark);letter-spacing:0;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:800;display:block}h1{color:var(--charcoal);letter-spacing:0;max-width:820px;margin:0 0 24px;font-size:clamp(34px,6vw,64px);line-height:.98}.review-screen h1,.summary-screen h1{font-size:clamp(28px,4vw,48px)}.lead{color:var(--muted);max-width:760px;margin:0 0 16px;font-size:clamp(17px,2vw,21px)}.brief-list{gap:14px;max-width:780px;margin:32px 0 0;padding:0;list-style:none;display:grid}.brief-list li{color:var(--ink);align-items:flex-start;gap:12px;display:flex}.brief-list svg{color:var(--red);flex:none;margin-top:3px}.task-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px;display:flex}.icon-button{background:var(--white);border:1px solid var(--line);color:var(--charcoal);border-radius:8px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.icon-button.active{background:var(--red-soft);border-color:var(--red);color:var(--red-dark)}.material-panel,.context-panel,.statement-card,.response-scale-card{background:var(--charcoal);color:var(--white);border-radius:8px;margin-bottom:28px;padding:24px}.context-panel{background:var(--white);border:1px solid var(--line);color:var(--ink);margin-bottom:16px}.context-panel p{color:var(--muted);margin:0}.material-panel p,.statement-card blockquote{margin:12px 0 0;font-size:clamp(20px,3vw,32px);line-height:1.24}.material-panel strong{color:#ffffffe0}.item-grid{grid-template-columns:minmax(0,1.8fr) minmax(260px,.8fr);gap:16px;display:grid}.statement-card,.response-scale-card{margin-bottom:12px}.statement-card blockquote{color:var(--white);border:0;margin-left:0}.response-scale-card{background:var(--ink)}.response-scale-card ol{gap:10px;margin:12px 0 0;padding-left:20px;display:grid}.rating-list{gap:14px;display:grid}.criterion{border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(240px,.92fr) minmax(360px,1.2fr);align-items:start;gap:18px;padding:18px;display:grid}.criterion.invalid{background:snow;border-color:#ff404094}.criterion-copy h3{color:var(--charcoal);letter-spacing:0;margin:0 0 6px;font-size:17px;line-height:1.2}.criterion-copy p{color:var(--muted);margin:0;font-size:14px}.scale{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;display:grid}.scale-option{background:var(--white);border:1px solid var(--line);color:var(--ink);text-align:center;border-radius:8px;align-items:center;gap:8px;min-height:88px;padding:10px 8px;display:grid}.scale-option:hover{border-color:var(--red-dark)}.scale-option.selected{background:var(--red-soft);border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}.scale-number{background:var(--charcoal);color:var(--white);border-radius:999px;justify-content:center;justify-self:center;align-items:center;min-width:30px;height:30px;padding:0 8px;font-weight:800;display:inline-flex}.scale-option.selected .scale-number{background:var(--red)}.scale-label{color:var(--muted);font-size:12px;font-weight:700;line-height:1.15}.comment-field{grid-column:2;gap:8px;display:grid}.field-error{color:var(--red-dark);grid-column:2;margin:-8px 0 0;font-size:13px;font-weight:800}.comment-field span{color:var(--charcoal);font-size:13px;font-weight:800}textarea{background:var(--soft);border:1px solid var(--line);color:var(--ink);resize:vertical;border-radius:8px;width:100%;min-height:82px;padding:12px 14px}textarea:focus,input:focus,select:focus,button:focus-visible{outline-offset:2px;outline:3px solid #ff40403d}.validation-banner,.validation-summary,.success-summary{border-radius:8px;align-items:flex-start;gap:12px;margin:0 0 22px;padding:14px 16px;display:flex}.validation-banner,.validation-summary{background:var(--red-soft);color:var(--red-dark);border:1px solid #ff404075}.success-summary{color:#207346;background:#edf8f2;border:1px solid #2d8c5247}.validation-banner strong,.validation-summary strong,.success-summary strong{line-height:1.2;display:block}.validation-banner p,.validation-summary p,.success-summary p{color:var(--muted);margin:3px 0 0}.navigation-bar{border-top:1px solid var(--line);background:#fffffff0;justify-content:space-between;align-items:center;gap:18px;padding:14px clamp(16px,4vw,48px);display:flex;position:sticky;bottom:0}.save-state{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:inline-flex}.save-state svg{color:var(--red-dark)}.navigation-actions,.summary-actions,.incomplete-navigation{gap:10px;display:flex}.incomplete-navigation{flex-wrap:wrap;justify-content:center;align-items:center;margin-left:auto}.incomplete-count{background:var(--red-soft);color:var(--red-dark);border:1px solid #ff404052;border-radius:8px;align-items:center;gap:8px;min-height:42px;padding:0 12px;font-size:13px;font-weight:800;display:inline-flex}.primary-button,.secondary-button,.danger-button{border-radius:8px;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-weight:800;display:inline-flex}a.secondary-button,a.primary-button{text-decoration:none}.primary-button{background:var(--red);border:1px solid var(--red);color:var(--white)}.secondary-button.compact{min-height:34px;padding:0 10px;font-size:12px}.secondary-button{background:var(--white);border:1px solid var(--line);color:var(--charcoal)}.secondary-button.dark{color:var(--white);background:0 0;border-color:#ffffff47}.danger-button{background:var(--red-soft);color:var(--red-dark);border:1px solid #ff40406b}.summary-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:28px 0;display:grid}.summary-grid.admin-summary{grid-template-columns:repeat(5,minmax(0,1fr))}.admin-shell{grid-template-rows:auto 1fr}.admin-workspace{align-items:flex-start}.admin-dashboard{max-width:1320px}.topbar-actions,.admin-export-actions{gap:10px;display:flex}.admin-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.admin-layout{grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:16px;margin:28px 0;display:grid}.admin-panel{background:var(--white);border:1px solid var(--line);border-radius:8px;gap:16px;padding:18px;display:grid}.admin-panel+.admin-panel{margin-top:18px}.admin-panel-title{color:var(--charcoal);align-items:center;gap:10px;display:flex}.admin-panel-title svg{color:var(--red-dark)}.admin-fields,.admin-create-grid{gap:12px;display:grid}.admin-field-group{border-top:1px solid var(--line);gap:12px;padding-top:16px;display:grid}.admin-panel-title+.admin-field-group{border-top:0;padding-top:0}.admin-field-group>strong{color:var(--charcoal);font-size:14px}.admin-fields.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-fields label,.admin-create-grid label{gap:8px;display:grid}.admin-fields span,.admin-create-grid span{color:var(--charcoal);font-size:13px;font-weight:800}.admin-fields input,.admin-create-grid input{background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:0 12px}.admin-create-grid{grid-template-columns:minmax(0,1fr) auto;align-items:end}.admin-table-wrap{border:1px solid var(--line);border-radius:8px;overflow:auto}.admin-table{border-collapse:collapse;width:100%;min-width:980px}.admin-table th,.admin-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:13px 14px}.admin-table th{background:var(--soft);color:var(--charcoal);text-transform:uppercase;font-size:12px;font-weight:900}.admin-table td{color:var(--muted);font-size:14px}.admin-table tr:last-child td{border-bottom:0}.admin-table td strong,.admin-table td span{display:block}.admin-table td small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.admin-table td strong{color:var(--charcoal)}.status-pill{background:var(--soft);border:1px solid var(--line);color:var(--charcoal);text-transform:uppercase;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:900;display:inline-flex}.status-submitted,.status-accepted,.status-sent{color:#207346;background:#edf8f2;border-color:#2d8c5247}.status-failed{background:var(--red-soft);color:var(--red-dark);border-color:#ff40406b}.empty-state{color:var(--muted);margin:0}.progress-cell{gap:5px;min-width:150px;display:grid}.progress-cell strong{color:var(--charcoal);font-size:18px;line-height:1}.progress-cell span{color:var(--muted);font-size:12px}.mini-progress{background:var(--soft);border-radius:999px;height:7px;overflow:hidden}.mini-progress>div{background:var(--red);height:100%}.table-actions{flex-wrap:wrap;gap:8px;display:flex}.notice-card{background:var(--soft);border:1px solid var(--line);border-radius:8px;align-items:flex-start;gap:12px;padding:16px;display:flex}.notice-card svg{color:var(--red-dark);flex:none;margin-top:2px}.notice-card strong{color:var(--charcoal)}.notice-card p{color:var(--muted);margin:3px 0 0}.summary-grid>div{background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:22px}.summary-number{color:var(--red-dark);font-size:44px;font-weight:900;line-height:1;display:block}.summary-label{color:var(--muted);text-transform:uppercase;margin-top:8px;font-size:13px;font-weight:800;display:block}.section-summary{border:1px solid var(--line);border-radius:8px;margin:24px 0;overflow:auto}.section-summary-row{grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(120px,.6fr));align-items:center;gap:14px;padding:16px 18px;display:grid}.section-summary-row+.section-summary-row{border-top:1px solid var(--line)}.section-summary-row strong{color:var(--charcoal);display:block}.section-summary-row span:not(.meta-label){color:var(--red-dark);font-size:24px;font-weight:900;line-height:1;display:block}.section-summary-row small{color:var(--muted);text-transform:uppercase;margin-top:4px;font-size:12px;font-weight:800;display:block}@media (width<=860px){.topbar,.navigation-bar{flex-direction:column;align-items:stretch}.incomplete-navigation{justify-content:flex-start;margin-left:0}.review-meta{text-align:left;align-items:flex-start}.item-grid,.criterion,.admin-layout,.admin-fields.two-column,.summary-grid,.section-summary-row{grid-template-columns:1fr}.admin-heading,.topbar-actions,.admin-export-actions{flex-direction:column;align-items:stretch}.comment-field,.field-error{grid-column:1}}@media (width<=560px){.workspace{padding:14px}.task-surface{padding:20px}.scale{grid-template-columns:repeat(2,minmax(0,1fr))}.navigation-actions,.summary-actions,.incomplete-navigation,.admin-create-grid{flex-direction:column}.admin-create-grid{grid-template-columns:1fr}.incomplete-count,.primary-button,.secondary-button,.danger-button{justify-content:center;width:100%}}
