@font-face{font-family:Barlow;src:url('/assets/barlow_400.ttf')}@font-face{font-family:Barlow;src:url('/assets/barlow_600.ttf');font-weight:600}@font-face{font-family:BarlowCond;src:url('/assets/barlow_condensed_700.ttf');font-weight:700}
:root{--blue:#00578a;--sky:#e1f2f8;--ink:#0c1d2b;--muted:#4b5d6c;--ground:#f3f6f8;--line:#c5d4df;--green:#176641;--amber:#805c00;--red:#ac2024;--gray:#596774}*{box-sizing:border-box}body{margin:0;background:var(--ground);color:var(--ink);font:17px/1.45 Barlow,Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,.button{min-height:48px;cursor:pointer;border:1px solid var(--blue);border-radius:9px;padding:10px 18px;background:var(--blue);color:#fff;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none}button:disabled{cursor:wait;opacity:.65}.secondary{background:#fff;color:var(--blue)}.text-button{border:0;background:none;color:var(--blue);padding:8px}.danger{border-color:var(--red);color:var(--red);background:#fff}a{color:var(--blue)}:focus-visible{outline:3px solid #ac7500;outline-offset:3px}[hidden]{display:none!important}.skip{position:fixed;top:-100px;z-index:50;background:#fff;padding:10px}.skip:focus{top:0}.top{border-top:5px solid #8c6d00;background:#fff;border-bottom:1px solid var(--line);padding:15px max(20px,calc((100% - 1160px)/2));display:flex;justify-content:space-between;align-items:center;gap:18px}.brand{display:flex;align-items:center;gap:13px}.brand img{object-fit:contain}.eyebrow{display:block;text-transform:uppercase;letter-spacing:.09em;font-size:11px;font-weight:600;color:var(--blue)}.brand strong{display:block;font:700 28px/1.05 BarlowCond,sans-serif}.event-date{font:700 21px BarlowCond;text-align:right;white-space:nowrap}.event-date small{display:block;font:14px Barlow;color:var(--muted)}.connection{font-size:14px;text-align:center;min-height:25px;padding:4px 15px;color:var(--muted)}.connection.warning{background:#fff1cf;color:#604800}.connection.error{background:#fde7e8;color:var(--red)}main{max-width:1160px;margin:auto;padding:24px 24px 110px;min-height:70vh}h1,h2,h3{font-family:BarlowCond,Arial,sans-serif;line-height:1.07;margin:0 0 14px}h1{font-size:clamp(34px,5vw,48px)}h2{font-size:29px}h3{font-size:23px}p{margin:0 0 16px}.muted{color:var(--muted)}.small{font-size:14px}.kicker{color:var(--blue);letter-spacing:.1em;font-size:13px;font-weight:600;text-transform:uppercase;margin-bottom:8px}.panel{padding:25px;background:#fff;border:1px solid var(--line);border-radius:15px}.login-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center;max-width:970px;margin:30px auto}.login-copy h1{font-size:56px;max-width:390px}.login-copy p{max-width:400px}.numbers{display:flex;gap:30px;margin-top:36px}.numbers strong{display:block;font:700 36px BarlowCond;color:var(--blue)}.numbers small{color:var(--muted)}label.field{display:block;font-weight:600;margin-bottom:17px}input:not([type=checkbox]),select,textarea{border:1px solid #8196a6;background:#fff;border-radius:8px;padding:12px;width:100%;min-height:48px;color:var(--ink);margin-top:6px}textarea{resize:vertical;min-height:100px}input[type=checkbox]{width:23px;height:23px;accent-color:var(--blue);flex:none}.check{display:flex;align-items:flex-start;gap:12px;min-height:44px}.wide{width:100%}.form-error{background:#fde7e8;color:var(--red);padding:12px;border-radius:8px;margin:12px 0}.toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}.toolbar p{margin-bottom:3px}.badge{display:inline-block;border-radius:5px;background:var(--sky);color:var(--blue);padding:4px 9px;font-size:13px;font-weight:600}.layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:25px}.side{align-self:start;position:sticky;top:20px}.side p{font-size:15px}.periods{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:18px}.periods button{display:block;text-align:left;border-color:var(--line);background:white;color:var(--ink);padding:12px;min-height:92px}.periods button.active{border:2px solid var(--blue);background:var(--sky);padding:11px}.periods strong{font:700 25px BarlowCond;display:block}.periods small{display:block;font-size:12px;color:var(--muted)}.periods .done{color:var(--green);font-weight:600}.team-header{display:flex;gap:18px;align-items:center;margin-bottom:22px}.team-number{background:var(--blue);border-radius:9px;color:#fff;padding:16px;font:700 37px BarlowCond;min-width:98px;text-align:center}.team-header p{margin:0}.team-header h2{margin-bottom:4px}.attendance{display:flex;align-items:center;gap:15px;margin:16px 0 24px;padding-bottom:20px;border-bottom:1px solid var(--line)}.attendance input{width:85px;margin:0}.criterion{border:0;padding:0;margin:0 0 25px;min-width:0}.criterion legend{font-weight:600;font-size:18px;margin-bottom:12px;width:100%;padding:0}.step-no{font:700 16px BarlowCond;color:var(--blue);margin-right:8px}.rating-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.rating-option{position:relative}.rating-option input{position:absolute;opacity:0;width:1px;height:1px}.rating-option span{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:9px 4px;min-height:65px;border:1px solid var(--line);border-radius:8px;cursor:pointer;font-size:13px;color:var(--muted);background:#fff}.rating-option b{font-size:17px}.rating-option input:checked+span{outline:2px solid var(--blue);outline-offset:-2px;background:var(--sky);color:var(--blue)}.rating-option input:focus-visible+span{outline:3px solid #ac7500;outline-offset:2px}.rating-option[data-value=RC] input:checked+span{background:#e7f4ed;color:var(--green);outline-color:var(--green)}.rating-option[data-value=CC] input:checked+span{background:#fff3d3;color:var(--amber);outline-color:var(--amber)}.rating-option[data-value=NR] input:checked+span{background:#fde7e8;color:var(--red);outline-color:var(--red)}.rating-option[data-value=NO] input:checked+span{background:#edf0f3;color:var(--gray);outline-color:var(--gray)}.save-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;border-top:1px solid var(--line);padding-top:18px}.save-row small{max-width:220px;color:var(--muted)}.notice{padding:14px;background:var(--sky);border-left:4px solid var(--blue);margin-bottom:18px;font-size:15px}.notice.warning{background:#fff3d3;border-color:var(--amber)}.bottom{display:flex;position:fixed;z-index:10;bottom:0;left:0;right:0;justify-content:center;background:#fff;border-top:1px solid var(--line);padding:8px 15px calc(8px + env(safe-area-inset-bottom));gap:10px}.bottom button{border:0;background:transparent;color:var(--muted);min-width:100px;font-size:14px}.bottom button.active{background:var(--sky);color:var(--blue)}.toast{position:fixed;bottom:91px;left:50%;transform:translateX(-50%);padding:14px 22px;background:var(--ink);color:#fff;border-radius:10px;z-index:20;max-width:90vw}.footer{text-align:center;font-size:13px;color:var(--muted);padding:0 20px 100px}.overview{display:grid;grid-template-columns:2fr 1fr 1fr;gap:15px;margin-bottom:24px}.metric{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px}.metric:first-child{border-top:4px solid var(--blue)}.metric strong{font:700 45px BarlowCond;display:block}.metric p{margin:5px 0 0;font-size:14px;color:var(--muted)}.progress{height:9px;background:#e3ebf0;border-radius:8px;overflow:hidden;margin-top:15px}.progress i{display:block;height:100%;background:var(--blue);width:0}.dashboard-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:22px;margin-bottom:22px}.legend{display:flex;flex-wrap:wrap;gap:13px;font-size:13px;margin:15px 0 22px}.legend span{display:flex;align-items:center;gap:5px}.swatch{width:12px;height:12px;display:inline-block;border-radius:2px}.RC{background:var(--green)}.CC{background:var(--amber)}.NR{background:var(--red)}.NO{background:var(--gray)}.chart-row{margin-bottom:17px}.bar-title{display:flex;justify-content:space-between;font-size:15px;gap:12px;margin-bottom:5px}.bar-title span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}.stacked{display:flex;height:17px;overflow:hidden;border-radius:4px;background:#e7edf1}.stacked i{height:100%;display:block}.bar-meta{font-size:12px;color:var(--muted);margin-top:5px}.empty{padding:32px 15px;text-align:center;color:var(--muted);background:#f6f9fa;border:1px dashed #9baebc;border-radius:9px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.filters{display:flex;gap:12px;margin-bottom:20px}.filters label{min-width:160px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:15px}th,td{padding:13px 10px;text-align:left;border-bottom:1px solid var(--line)}th{color:var(--blue);font-weight:600}td.numeric,th.numeric{text-align:right;font-variant-numeric:tabular-nums}.team-dot{display:inline-flex;background:#e9eef2;border-radius:4px;padding:3px 6px;margin:2px;font-size:12px}.team-dot.received{background:#e7f4ed;color:var(--green)}.record-list{display:grid;gap:12px}.record{display:flex;gap:18px;justify-content:space-between;align-items:center;padding:18px;border:1px solid var(--line);border-radius:10px;background:white}.record p{margin:4px 0;font-size:14px}.instructions{max-width:760px}.instructions ol{padding-left:25px}.instructions li{padding:7px 0}.status-line{margin:12px 0;color:var(--muted);font-size:14px}.print-only{display:none}.loading{text-align:center;padding:50px}.pill-count{display:inline-block;padding:2px 7px;border-radius:4px;background:#fff3d3;color:var(--amber)}
@media(max-width:800px){.top{padding:12px 16px}.brand strong{font-size:25px}.eyebrow{font-size:9px;max-width:175px}.event-date{font-size:17px}.event-date small{font-size:12px}main{padding:15px 15px 95px}.login-layout{display:block;margin:12px auto}.login-copy h1{font-size:39px;max-width:none}.login-copy p{max-width:none}.numbers{margin:20px 0 25px;gap:28px}.numbers strong{font-size:30px}.panel{padding:18px}.layout{display:block}.side{position:static;margin-top:18px}.periods{gap:5px}.periods button{padding:8px;min-height:87px}.periods button.active{padding:7px}.periods strong{font-size:21px}.periods small{font-size:11px}.toolbar{gap:10px}.toolbar h1{font-size:34px}.toolbar button{padding:8px 10px;font-size:14px}.team-number{min-width:82px;font-size:31px;padding:14px}.team-header h2{font-size:25px}.rating-options{gap:5px}.rating-option span{font-size:11px;padding:8px 2px}.criterion legend{font-size:17px}.save-row{display:block}.save-row button{width:100%;margin-top:12px}.save-row small{max-width:none}.bottom{gap:0;padding-left:8px;padding-right:8px}.bottom button{min-width:0;flex:1;padding:9px 5px;font-size:13px}.overview{grid-template-columns:1fr 1fr;gap:10px}.metric{padding:16px}.metric:first-child{grid-column:1/-1}.metric strong{font-size:38px}.dashboard-grid{display:block}.dashboard-grid>.panel{margin-bottom:18px}.filters{flex-wrap:wrap}.filters label{flex:1;min-width:140px}.record{gap:10px}.record button{padding:8px 11px}.actions button{flex:1}.event-date{display:none}.table-wrap{margin:0 -4px}.toast{font-size:15px;min-width:260px}}
@media(prefers-reduced-motion:no-preference){button{transition:background-color .15s,outline-color .15s}.toast{animation:appear .18s}@keyframes appear{from{opacity:0}to{opacity:1}}}
.periods strong{font-size:21px}.periods .period-team{display:block;font-size:18px;font-weight:600;line-height:1.3}.periods small{min-height:31px}.periods small:last-child{min-height:0;margin-top:3px}
.read-only .save-row{display:none}
@media print{.table-wrap th,.table-wrap td{padding:4px 7px}.table-wrap td small{line-height:1.15}.table-wrap table{font-size:10px}.status-line{margin:5px 0;font-size:10px}}
@media(max-width:800px){.periods strong{font-size:17px;white-space:nowrap}.periods .period-team{font-size:17px}.periods button{padding:7px}.periods button.active{padding:6px}}
@media print{@page{size:A4 landscape;margin:12mm}.top{padding:0 0 15px}.bottom,.connection,.footer,.actions,.filters,.no-print,.toast{display:none!important}.print-only{display:block}main{padding:15px 0;max-width:none}.panel,.metric{break-inside:avoid}.dashboard-grid{grid-template-columns:1.4fr 1fr;display:grid}.overview{display:grid;grid-template-columns:2fr 1fr 1fr}.metric:first-child{grid-column:auto}body{background:#fff;font-size:12px}h1{font-size:31px}h2{font-size:24px}table{font-size:11px}.table-wrap{overflow:visible}tr{break-inside:avoid}thead{display:table-header-group}*{print-color-adjust:exact;-webkit-print-color-adjust:exact}.event-date{display:block}}
@media print{.panel{break-inside:auto;padding:14px}.metric{padding:12px}.metric strong{font-size:28px}.metric p{font-size:11px}.kicker{font-size:10px}.overview{margin-bottom:15px}.toolbar{margin-bottom:12px}.chart-row{margin-bottom:9px;break-inside:avoid}.bar-title{font-size:11px;margin-bottom:3px}.bar-meta{font-size:10px}.stacked{height:9px}.legend{margin:8px 0 14px;font-size:10px;gap:9px}.small{font-size:11px}.dashboard-grid{gap:12px}.dashboard-grid p{margin-bottom:8px}.dashboard-grid h2{font-size:21px}th,td{padding:7px 8px}.team-dot{font-size:10px;padding:2px 4px}.brand strong{font-size:22px}.brand img{height:39px}.top{border-top-width:3px;padding-bottom:10px}.progress{height:6px;margin-top:8px}.notice{font-size:11px;padding:9px}main{padding-top:10px}.table-wrap{margin:0}.toolbar h1{font-size:27px}.print-only{font-size:10px;margin-bottom:10px}}
@media print{.skip{display:none!important}.chart-row{margin-bottom:5px}.bar-title{font-size:10px;margin-bottom:2px}.bar-meta{font-size:9px;line-height:1.2;margin-top:2px}.stacked{height:6px}.legend{margin:5px 0 9px}.metric{padding:9px}.metric strong{font-size:25px}.overview{margin-bottom:12px}.toolbar{margin-bottom:8px}.top{padding-bottom:6px}.toolbar h1{font-size:24px}.toolbar p{margin-bottom:0}.table-wrap th,.table-wrap td{padding:4px 7px}}

.criterion-evidence{font-size:15px;color:var(--muted);margin:-4px 0 13px;line-height:1.45}.practical-item{padding-bottom:24px;border-bottom:1px solid var(--line)}.workshop-guide{background:var(--sky);padding:14px;border-radius:9px;margin-bottom:23px;font-size:15px}.workshop-guide summary,details.notice summary{cursor:pointer;font-weight:600;min-height:32px}.workshop-guide p{margin:12px 0}.workshop-guide ul{padding-left:20px}.workshop-guide li{margin-bottom:12px}.workshop-guide a{overflow-wrap:anywhere}.legacy-record{padding-top:12px;border-top:1px solid var(--line)}
