:root{font-family:Segoe UI,Arial,sans-serif;line-height:1.4;font-weight:400;color:#102a43;background:#f3f6f8;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font-family:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #f59e0b;outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.45}h1,h2,h3,p{margin-top:0}:root{--ink: #102a43;--muted: #627d98;--line: #d9e2ec;--surface: #ffffff;--soft: #eef3f6;--navy: #123c5a;--blue: #0d6e8a;--amber: #b45309;--red: #a93636;--green: #17745b}#root,.app{min-height:100vh}.app{background:#f3f6f8}.skip-link{position:fixed;top:-60px;left:16px;z-index:100;background:var(--ink);color:#fff;padding:12px 16px;border-radius:8px}.skip-link:focus{top:8px}.app-bar{height:56px;padding:0 20px;display:flex;align-items:center;gap:18px;background:var(--ink);color:#fff;border-bottom:1px solid #214862}.brand{display:flex;align-items:center;gap:9px;min-width:180px;padding:0;border:0;background:none;color:#fff;text-align:left}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#d7eef3;color:var(--ink);font:800 20px Georgia,serif;transform:rotate(-4deg)}.brand strong,.brand small{display:block}.brand strong{letter-spacing:.12em;font-size:14px}.brand small{color:#bcccdc;font-size:10px}.role-switch{display:flex;padding:3px;margin-left:auto;border-radius:9px;background:#0a2237}.role-switch button{min-height:38px;padding:0 18px;border:0;border-radius:7px;color:#c8d7e2;background:transparent;font-weight:700}.role-switch button.active{color:var(--ink);background:#fff}.role-label{min-width:126px;font-size:13px;color:#bcccdc}.logout-button{min-height:36px;margin-left:auto;padding:0 14px;border:1px solid #55758d;border-radius:7px;background:transparent;color:#fff;font-weight:700}.access-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#e9f1f5,#f8fafb)}.access-card{width:min(440px,100%);padding:32px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 20px 60px #102a431f}.access-card .brand-mark{margin-bottom:20px}.access-card h1{margin:6px 0 10px;font-size:32px;letter-spacing:-.035em}.access-card>p{color:var(--muted)}.access-card form{display:grid;gap:12px;margin-top:24px}.access-card label span{display:block;margin-bottom:5px;font-size:12px;font-weight:800}.access-card input{width:100%;min-height:48px;padding:0 12px;border:1px solid var(--line);border-radius:8px;font-size:18px;letter-spacing:.08em;text-transform:uppercase}.access-error{margin:0;color:var(--red);font-size:13px;font-weight:700}.judge-shell{min-height:calc(100vh - 56px);display:grid;grid-template-rows:auto 1fr 64px}.score-context{padding:10px 20px 12px;background:var(--surface);border-bottom:1px solid var(--line)}.event-line{display:flex;justify-content:space-between;align-items:center;min-height:28px}.event-kicker,.eyebrow{color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.status-strip{display:flex;gap:8px}.status-item{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:3px 9px;border-radius:99px;background:var(--soft);color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap}.status-item.is-ok{color:var(--green);background:#e7f5ef}.status-item.is-warn{color:var(--amber);background:#fff3dc}.status-button{border:0}.context-main{display:grid;grid-template-columns:minmax(260px,1.5fr) 110px minmax(200px,1fr) minmax(130px,.65fr);gap:22px;align-items:end}.context-main h1{margin:2px 0 0;font-size:clamp(20px,2vw,28px);line-height:1.1;letter-spacing:-.025em}.level-select span,.element-heading span,.progress-block span{display:block;margin-bottom:4px;color:var(--muted);font-size:11px;font-weight:700}.level-select select{width:100%;min-height:44px;padding:0 9px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:#fff;font-weight:700}.element-heading strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:18px}progress{overflow:hidden;width:100%;height:8px;border:0;border-radius:99px;background:var(--line);accent-color:var(--blue)}.score-board{display:grid;align-content:center;gap:7px;padding:8px 20px;min-height:0;background:#eaf0f3}.scale-header{display:grid;grid-template-columns:minmax(205px,1.35fr) 5fr 1fr 5fr;gap:8px;padding:0 7px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.06em;text-align:center;text-transform:uppercase}.scale-header span:first-child{text-align:left}.scale-negative{color:var(--red)}.scale-positive{color:var(--green)}.athlete-row{display:grid;grid-template-columns:minmax(205px,1.35fr) 11fr;align-items:center;gap:12px;min-width:0;margin:0;padding:7px;border:1px solid var(--line);border-radius:10px;background:#fff}.athlete-info{display:flex;align-items:center;gap:10px;width:100%;padding:0;min-width:0}.athlete-info>span:last-child{min-width:0}.athlete-info strong,.athlete-info small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.athlete-info strong{font-size:14px}.athlete-info small{margin-top:2px;color:var(--muted);font-size:10px}.start-number{flex:0 0 36px;display:grid;place-items:center;height:36px;border-radius:50%;background:var(--soft);color:var(--ink);font-weight:800}.goe-grid{display:grid;grid-template-columns:repeat(11,minmax(44px,1fr));gap:5px;min-width:0}.goe-button{min-width:44px;min-height:50px;padding:0;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:clamp(14px,1.7vw,20px);font-weight:800;transition:transform .12s ease,border .12s ease}.goe-button:active{transform:scale(.94)}.goe-button.negative{color:var(--red);background:#fff8f7}.goe-button.positive{color:var(--green);background:#f4fbf8}.goe-button.neutral{border-color:#9fb3c8}.goe-button.selected{border:3px solid currentColor;box-shadow:inset 0 0 0 2px #fff;color:#fff}.goe-button.negative.selected{background:var(--red)}.goe-button.positive.selected{background:var(--green)}.goe-button.neutral.selected{background:var(--ink)}.score-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 20px;border-top:1px solid var(--line);background:#fff}.button{min-height:44px;padding:0 18px;border-radius:8px;border:1px solid transparent;font-size:14px;font-weight:800}.button.primary{background:var(--navy);color:#fff}.button.primary:hover{background:#0a2f49}.button.secondary{border-color:#9fb3c8;background:#fff;color:var(--ink)}.button.quiet{background:var(--soft);color:var(--ink)}.count-badge{display:inline-grid;place-items:center;min-width:24px;height:24px;margin-left:5px;border-radius:99px;background:#d9e2ec}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:20px;background:#102a43b8}.dialog{width:min(580px,100%);max-height:88vh;overflow:auto;padding:24px;border-radius:14px;background:#fff;box-shadow:0 24px 80px #0000004d}.dialog-header,.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.dialog h2,.panel h2{margin:4px 0 0;font-size:23px}.icon-button{min-width:44px;min-height:44px;border:0;border-radius:8px;background:var(--soft);color:var(--ink);font-size:26px}.missing-list{display:grid;gap:6px;max-height:42vh;overflow:auto;margin:18px 0}.missing-list button{display:flex;justify-content:space-between;align-items:center;min-height:56px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);text-align:left}.missing-list strong,.missing-list small{display:block}.missing-list small{color:var(--muted)}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.review-copy{margin:20px 0;color:var(--muted)}.finish-state{padding:25px 15px 10px;text-align:center}.finish-state>span{display:grid;place-items:center;width:62px;height:62px;margin:auto auto 14px;border-radius:50%;background:#dff3ea;color:var(--green);font-size:30px;font-weight:900}.finish-state p{color:var(--muted)}.operator-shell{width:min(1320px,calc(100% - 40px));margin:0 auto;padding:28px 0 50px}.operator-title{display:flex;align-items:end;justify-content:space-between;gap:24px}.operator-title h1{margin:4px 0;font-size:clamp(28px,4vw,42px);letter-spacing:-.04em}.operator-title p{margin:0;color:var(--muted)}.operator-actions{display:flex;gap:8px}.tabs{display:flex;gap:24px;margin:26px 0 18px;border-bottom:1px solid var(--line)}.tabs button{min-height:46px;padding:0 2px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);font-weight:800}.tabs button.active{border-color:var(--blue);color:var(--ink)}.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.panel{padding:20px;border:1px solid var(--line);border-radius:12px;background:#fff}.metric-panel>span,.metric-panel small{display:block;color:var(--muted)}.metric-panel strong{display:block;margin:6px 0;font-size:32px;line-height:1}.metric-panel progress{margin-top:10px}.access-panel{grid-column:span 1;display:flex;align-items:center;gap:16px}.access-panel h2{font-size:25px;letter-spacing:.08em}.access-panel p{color:var(--muted);font-size:13px}.qr{flex:0 0 108px;display:grid;grid-template-columns:repeat(9,1fr);width:108px;height:108px;padding:7px;border:1px solid var(--line);background:#fff}.qr i.filled{background:var(--ink)}.judges-panel{grid-column:span 2}.judge-progress{display:grid;grid-template-columns:38px 1fr 160px;gap:10px;align-items:center;min-height:55px;border-top:1px solid var(--line)}.judge-progress:first-of-type{margin-top:12px}.judge-progress strong,.judge-progress small{display:block}.judge-progress small{color:var(--muted);font-size:11px}.judge-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--soft);font-size:12px;font-weight:800}.schedule-panel{grid-column:1 / -1}.schedule-row{display:grid;grid-template-columns:65px 1fr auto;align-items:center;min-height:58px;border-top:1px solid var(--line)}.schedule-row:first-of-type{margin-top:12px}.schedule-row time{font-weight:800}.schedule-row strong,.schedule-row small{display:block}.schedule-row small{color:var(--muted)}.schedule-row b{padding:5px 9px;border-radius:99px;background:var(--soft);font-size:11px}.groups-layout{display:grid;grid-template-columns:2fr 1fr;gap:14px;align-items:start}.editable-groups{display:grid;gap:10px;margin-top:18px}.group-edit-row{display:grid;grid-template-columns:1.4fr 1fr 110px;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--line)}.group-edit-row label span,.add-form label span{display:block;margin-bottom:4px;color:var(--muted);font-size:11px;font-weight:700}.group-edit-row input,.group-edit-row select,.add-form input,.add-form select{width:100%;min-height:44px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}.add-form{display:grid;gap:14px}.add-form h2{margin-bottom:4px}.athletes-panel{grid-column:1 / -1}.file-button{display:inline-flex;align-items:center;cursor:pointer}.file-button input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.import-hint{margin:10px 0;color:var(--muted);font-size:12px}.athlete-entry{display:grid;grid-template-columns:2fr 100px 1.4fr 1fr auto;gap:10px;align-items:end;padding:12px;border-radius:10px;background:var(--soft)}.athlete-entry label span{display:block;margin-bottom:4px;color:var(--muted);font-size:11px;font-weight:700}.athlete-entry input,.athlete-entry select{width:100%;min-height:44px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}.operator-notice{margin:8px 0 0;color:var(--blue);font-size:13px;font-weight:700}.table-wrap{overflow-x:auto;margin-top:16px}table{width:100%;border-collapse:collapse}th{padding:10px 12px;background:var(--soft);color:var(--muted);font-size:11px;letter-spacing:.05em;text-align:left;text-transform:uppercase}td{padding:11px 12px;border-bottom:1px solid var(--line)}td small{display:block;color:var(--muted)}.numeric{text-align:right;font-variant-numeric:tabular-nums}.place{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--soft);font-weight:800}.result-status{display:inline-flex;align-items:center;min-height:28px;padding:3px 10px;border-radius:99px;font-size:12px;font-weight:800}.result-status.passed{color:var(--green);background:#e7f5ef}.result-status.failed{color:var(--red);background:#fff0ef}@media (max-width: 900px){.app-bar{padding:0 10px}.brand{min-width:44px}.brand>span:last-child,.role-label{display:none}.score-context,.score-board,.score-actions{padding-left:10px;padding-right:10px}.context-main{grid-template-columns:minmax(210px,1fr) 88px minmax(150px,.8fr);gap:10px}.progress-block{display:none}.athlete-row{grid-template-columns:185px 11fr;gap:7px}.scale-header{grid-template-columns:185px 5fr 1fr 5fr}.goe-grid{gap:3px}.goe-button{min-width:40px;min-height:46px}.dashboard-grid{grid-template-columns:repeat(2,1fr)}.metric-panel:last-of-type{grid-column:span 2}.access-panel,.judges-panel{grid-column:span 1}}@media (max-height: 600px) and (orientation: landscape){.app-bar{height:38px}.brand-mark{width:30px;height:30px}.role-switch button{min-height:32px}.judge-shell{height:calc(100vh - 38px);min-height:0;grid-template-rows:66px minmax(0,1fr) 50px;overflow:hidden}.score-context{padding-top:2px;padding-bottom:4px;overflow:hidden}.event-line{min-height:18px}.context-main{gap:10px}.context-main h1{font-size:17px}.level-select select{min-height:34px}.element-heading strong{font-size:15px}.score-board{grid-template-rows:auto repeat(4,minmax(44px,1fr));align-content:stretch;gap:2px;padding-top:2px;padding-bottom:2px;overflow:hidden}.athlete-row{min-height:0;padding:0 5px}.goe-button{min-height:44px}.score-actions{padding-top:3px;padding-bottom:3px}}@media (max-width: 700px) and (orientation: portrait){.judge-shell{display:block}.context-main{grid-template-columns:1fr 100px}.element-heading{grid-column:1 / -1}.score-board{overflow-x:auto;align-content:start}.athlete-row{min-width:850px}.scale-header{display:none}.score-actions{position:sticky;bottom:0}.button{padding:0 10px}.operator-title{align-items:start;flex-direction:column}.dashboard-grid,.groups-layout,.athlete-entry{grid-template-columns:1fr}.metric-panel,.access-panel,.judges-panel,.schedule-panel,.athletes-panel{grid-column:1}.operator-shell{width:min(100% - 24px,1320px)}.tabs{overflow-x:auto}}@media print{.app-bar,.tabs,.operator-actions,.add-form{display:none!important}.operator-shell{width:100%;padding:0}.panel{border:0;padding:0}.result-panel{display:block}body{background:#fff}}.judge-shell{min-height:100vh}.route-loading{min-height:100vh;display:grid;place-items:center;color:var(--muted)}.link-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.muted{color:var(--muted)}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(340px,1fr) minmax(480px,.72fr);background:#f7f5f1}.login-brand{display:flex;flex-direction:column;justify-content:center;padding:clamp(40px,8vw,120px);background:var(--ink);color:#fff}.login-brand .brand-mark{width:54px;height:54px;margin-bottom:44px;font-size:30px}.login-brand .eyebrow{color:#8dd4df}.login-brand h1{max-width:720px;margin:16px 0 24px;font:700 clamp(42px,5vw,72px)/1.02 Georgia,serif;letter-spacing:-.045em}.login-brand p{max-width:560px;color:#bcccdc;font-size:19px}.login-card{align-self:center;width:min(460px,calc(100% - 48px));margin:auto;padding:40px;border:1px solid var(--line);border-radius:18px;background:#fff}.login-card h2{margin:6px 0;font-size:31px}.login-card>div:first-child p{color:var(--muted)}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:24px 0;padding:4px;border-radius:10px;background:var(--soft)}.segmented button{min-height:44px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-weight:800}.segmented button[aria-selected=true]{background:#fff;color:var(--ink);box-shadow:0 1px 5px #102a431a}.login-card form{display:grid;gap:16px}.login-card label span,.form-grid label span{display:block;margin-bottom:6px;font-size:13px;font-weight:800}.login-card input,.form-grid input,.form-grid select{width:100%;min-height:48px;padding:0 12px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:#fff;font-size:16px}.demo-help{margin-top:24px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.demo-help summary{color:var(--ink);cursor:pointer;font-weight:800}.demo-help p{margin:10px 0 0}.admin-app{min-height:100vh;display:grid;grid-template-columns:248px 1fr;background:#f4f6f7}.admin-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:22px 14px 14px;background:var(--ink);color:#fff}.admin-brand{display:flex;align-items:center;gap:11px;min-height:52px;padding:0 10px 20px;border-bottom:1px solid #29475d}.admin-brand strong,.admin-brand small{display:block}.admin-brand strong{font-size:15px;letter-spacing:.14em}.admin-brand small{color:#9fb3c8;font-size:10px}.admin-sidebar nav{display:grid;gap:3px;margin-top:18px;overflow-y:auto}.admin-sidebar nav a{display:grid;grid-template-columns:28px 1fr;align-items:center;min-height:44px;padding:0 12px;border-radius:8px;color:#c8d7e2;text-decoration:none;font-size:14px;font-weight:700}.admin-sidebar nav a:hover{background:#183d57;color:#fff}.admin-sidebar nav a.active{background:#dff4f2;color:var(--ink)}.admin-sidebar nav a>span{color:inherit;font-size:18px}.sidebar-user{display:grid;grid-template-columns:38px 1fr 34px;align-items:center;gap:9px;margin-top:auto;padding:14px 8px 2px;border-top:1px solid #29475d}.sidebar-user .avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#dff4f2;color:var(--ink);font-weight:900}.sidebar-user strong,.sidebar-user small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user strong{font-size:12px}.sidebar-user small{color:#9fb3c8;font-size:10px}.sidebar-user button{min-height:34px;border:0;border-radius:6px;background:transparent;color:#c8d7e2;font-size:18px}.admin-stage{min-width:0}.admin-topbar{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 32px;border-bottom:1px solid var(--line);background:#fff;color:var(--green);font-size:12px}.admin-topbar strong{color:var(--amber)}.admin-content{width:min(1260px,calc(100% - 64px));margin:0 auto;padding:34px 0 60px}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.page-heading h1{margin:5px 0 0;font:700 clamp(32px,4vw,48px)/1.05 Georgia,serif;letter-spacing:-.035em}.event-card{display:flex;align-items:center;justify-content:space-between;gap:24px}.event-card h2{margin:16px 0 6px}.event-card p{margin:0;color:var(--muted)}.detail-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px;align-items:start}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}.check-list{display:grid;gap:14px;padding:0;color:var(--muted);list-style:none}.upload-zone{display:grid;place-items:center;min-height:190px;padding:30px;border:2px dashed #9fb3c8;border-radius:12px;background:#f8fbfc;text-align:center;cursor:pointer}.upload-zone strong{font-size:20px}.upload-zone span{margin:6px 0 18px;color:var(--muted)}.upload-zone input{max-width:270px}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:13px;font-weight:700}.group-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.group-cards .panel-heading p{margin:4px 0 0;color:var(--muted)}.member-list{display:grid;gap:4px;margin:16px 0 0;padding:0;list-style:none}.member-list li{display:grid;grid-template-columns:32px 1fr;align-items:center;min-height:42px;border-top:1px solid var(--line);font-size:13px}.member-list li span{color:var(--muted);font-variant-numeric:tabular-nums}.archive-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-top:20px;padding:14px;border-radius:9px;background:var(--soft)}.archive-row small{color:var(--muted)}.empty-state{max-width:560px;margin:44px auto;text-align:center}.empty-state>span{display:grid;place-items:center;width:64px;height:64px;margin:auto auto 18px;border-radius:50%;background:var(--soft);color:var(--blue);font-size:32px}.empty-state p{color:var(--muted)}.audit-list article{display:grid;grid-template-columns:150px 1fr auto;gap:20px;align-items:center;min-height:68px;border-bottom:1px solid var(--line)}.audit-list time,.audit-list small{color:var(--muted);font-size:12px}.audit-list strong,.audit-list small{display:block}.audit-list code{color:var(--muted)}@media (max-width: 900px){.login-shell{grid-template-columns:1fr}.login-brand{display:none}.admin-app{grid-template-columns:78px 1fr}.admin-sidebar{padding-inline:10px}.admin-brand>span:last-child,.admin-sidebar nav a:not(.active){font-size:0}.admin-sidebar nav a{grid-template-columns:1fr;place-items:center;padding:0;font-size:0}.admin-sidebar nav a.active{font-size:0}.admin-sidebar nav a>span{font-size:20px}.sidebar-user{grid-template-columns:1fr;place-items:center}.sidebar-user>span:nth-child(2),.sidebar-user button{display:none}.admin-content{width:min(100% - 32px,1260px)}.group-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width: 650px){.login-card{width:min(100% - 24px,460px);padding:24px}.admin-app{display:block;padding-bottom:68px}.admin-sidebar{position:fixed;inset:auto 0 0;z-index:30;width:100%;height:64px;padding:7px 10px}.admin-brand,.sidebar-user{display:none}.admin-sidebar nav{grid-auto-flow:column;grid-auto-columns:58px;overflow-x:auto;margin:0}.admin-sidebar nav a{min-height:50px}.admin-topbar{padding:0 16px}.admin-topbar strong{display:none}.admin-content{width:min(100% - 24px,1260px);padding-top:24px}.page-heading,.event-card{align-items:flex-start;flex-direction:column}.page-heading .operator-actions{width:100%;overflow-x:auto}.detail-grid,.form-grid,.group-cards{grid-template-columns:1fr}.archive-row,.audit-list article{grid-template-columns:1fr;gap:6px;padding-block:12px}}@media (max-height: 600px) and (orientation: landscape){.judge-shell{height:100vh;grid-template-rows:66px minmax(0,1fr) 50px}}.judge-home{min-height:100vh;background:#f2f5f6}.judge-home-header{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 clamp(20px,4vw,56px);background:var(--ink);color:#fff}.judge-home-header .admin-brand{min-height:auto;padding:0;border:0}.judge-identity{display:flex;align-items:center;gap:14px}.judge-identity>span:nth-child(2) strong,.judge-identity>span:nth-child(2) small{display:block}.judge-identity>span:nth-child(2) small{color:#9fb3c8;font-size:11px}.judge-home-content{width:min(1120px,calc(100% - 40px));margin:auto;padding:40px 0 64px}.assignment-intro{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:26px}.assignment-intro h1{margin:6px 0;font:700 clamp(38px,5vw,58px)/1 Georgia,serif;letter-spacing:-.045em}.assignment-intro p{margin:0;color:var(--muted)}.completion-banner{display:grid;grid-template-columns:auto 1fr;gap:5px 18px;margin-bottom:18px;padding:16px 18px;border-left:4px solid var(--amber);border-radius:8px;background:#fff6df;color:#754b0d}.completion-banner:before{content:"◷";grid-row:span 2;font-size:24px}.completion-banner span{font-size:13px}.completion-banner.is-submitted{border-color:var(--green);background:#e7f5ef;color:#115844}.completion-banner.is-submitted:before{content:"✓"}.assignment-list{display:grid;gap:10px}.assignment-card{display:grid;grid-template-columns:100px 1fr minmax(170px,auto);align-items:center;gap:24px;min-height:112px;padding:18px 20px;border:1px solid var(--line);border-radius:12px;background:#fff;transition:border-color .16s ease,transform .16s ease}.assignment-card:hover{border-color:#9fb3c8}.assignment-card.is-highlighted{border-color:var(--green);box-shadow:0 0 0 2px #17745b1a}.assignment-card time{align-self:stretch;display:flex;flex-direction:column;justify-content:center;border-right:1px solid var(--line)}.assignment-card time strong{font:700 25px Georgia,serif}.assignment-card time small{margin-top:5px;color:var(--muted);font-size:10px}.assignment-main h2{margin:5px 0 3px;font-size:20px}.assignment-main p{margin:0;color:var(--muted);font-size:13px}.assignment-status{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:11px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.assignment-status:before{content:"";width:7px;height:7px;border-radius:50%;background:#9fb3c8}.assignment-status.status-in_progress{color:var(--blue)}.assignment-status.status-in_progress:before{background:var(--blue)}.assignment-status.status-awaiting_sync{color:var(--amber)}.assignment-status.status-awaiting_sync:before{background:var(--amber)}.assignment-status.status-submitted{color:var(--green)}.assignment-status.status-submitted:before{background:var(--green)}.assignment-action{display:grid;justify-items:end;gap:8px}.lock-note{color:var(--muted);font-size:11px;font-weight:700}.protocol-athletes{display:grid;grid-template-columns:1fr 1fr;gap:6px}.protocol-athletes>span{padding:10px;border-radius:8px;background:var(--soft)}.protocol-athletes strong,.protocol-athletes small{display:block}.protocol-athletes small{margin-top:3px;color:var(--muted)}.locked-protocol{min-height:100vh;display:grid;place-items:center;padding:24px;background:#eef3f6}.locked-protocol .panel{width:min(560px,100%);text-align:center}.locked-protocol .panel>span{display:grid;place-items:center;width:64px;height:64px;margin:auto auto 18px;border-radius:50%;background:#e7f5ef;color:var(--green);font-size:28px}.locked-protocol p{color:var(--muted)}@media (max-width: 700px){.judge-home-header{padding:10px 14px}.judge-identity>span:nth-child(2){display:none}.assignment-intro{align-items:flex-start;flex-direction:column}.assignment-card{grid-template-columns:76px 1fr;gap:14px}.assignment-action{grid-column:1 / -1;justify-items:stretch}.lock-note{text-align:right}.protocol-athletes{grid-template-columns:1fr}}
