:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#183d33;background:#e8ece9;font-synthesis:none;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,.file-button{cursor:pointer;border:1px solid #d8e1dc;background:#fff;border-radius:9px;color:#29483e;padding:11px 17px;font-weight:650}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,.file-button:focus-within,summary:focus-visible{outline:3px solid #79a741;outline-offset:3px}button.primary{background:#1a4c3c;color:#f7ffe5;border-color:#1a4c3c}input:not([type=checkbox]):not([type=file]){border:1px solid #d5dfd8;border-radius:8px;background:#fff;padding:12px;color:#183d33;min-width:0}input[type=checkbox]{accent-color:#286348;width:17px;height:17px}h1,h2,h3,p{margin:0}p{line-height:1.6}small{display:block;color:#74847c;font-size:11px;line-height:1.6}.desktop{background:#f6f8f5;min-height:100vh;display:flex;flex-direction:column}.titlebar{position:sticky;top:0;z-index:10;min-height:76px;padding:8px clamp(16px,2.2vw,36px);display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center;background:#fff;border-bottom:1px solid #e1e7e2}.titlebar .local{justify-self:end}.brand{display:flex;align-items:center;font-weight:850;font-size:19px;letter-spacing:-.7px}.brand>span:not(.logo){color:#76a33d}.brand small{border-left:1px solid #d9e1db;margin-left:20px;padding-left:20px;font-size:10px;letter-spacing:1.8px;font-weight:600}.brand-logo{height:56px;width:auto;border-radius:6px;display:block}.logo{display:grid;place-items:center;background:#214e3b;color:#d6f99a;width:31px;height:31px;border-radius:9px;margin-right:10px;font-style:italic;font-size:23px}.local{font-size:11px;color:#6c7e73}i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#80a849;margin-right:7px}nav{display:flex;gap:6px;padding:4px;background:#f2f5ef;border:1px solid #e1e7dc;border-radius:11px}nav button{position:relative;display:flex;gap:10px;align-items:center;border:0;background:none;padding:10px 22px;font-size:12px;color:#77867c}nav button>span:not(.tab-bg){position:relative;z-index:1}nav .selected{color:#204936}.tab-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;border-radius:8px;box-shadow:0 1px 3px #183d331f}.step-number{border:1px solid #becdbd;border-radius:50%;width:22px;height:22px;display:grid;place-items:center;font-size:11px}.selected .step-number{background:#24553c;color:#fff;border-color:#24553c}main{padding:26px clamp(16px,2.2vw,36px) 32px;flex:1}.heading{margin:8px 0 30px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;color:#6e855f}h1{font-size:32px;letter-spacing:-1.2px;margin:9px 0}h2{font-size:21px;letter-spacing:-.5px}.heading p,.upload-card p{color:#748277;font-size:13px}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.upload-card{padding:30px;border:1px solid #dce4db;border-radius:13px;background:#fff}.file-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:13px;background:#f1f5e9;font-size:30px;color:#608039;margin-bottom:23px}.upload-card h2{margin-bottom:7px}.loaded{border:1px solid #dce7d6;background:#f8fbf3;border-radius:9px;margin:25px 0 19px;padding:18px}.loaded span{font-size:9px;letter-spacing:1.2px;font-weight:750;color:#698d43}.loaded b{display:block;margin:10px 0 3px;font-size:13px;word-break:break-word}.file-button{display:block;position:relative;text-align:center;overflow:hidden;font-size:12px}.file-button input{position:absolute;opacity:0;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:pointer}.actions{display:flex;justify-content:space-between;align-items:center;margin:25px 0 0;gap:16px}.actions p,.note{font-size:12px;color:#7b887d}.rules{background:#fff;border:1px solid #dce4db;border-radius:12px;overflow:hidden}.rule{display:grid;grid-template-columns:100px minmax(0,260px) minmax(0,220px) 1fr;gap:28px;align-items:center;padding:23px 26px;border-bottom:1px solid #e7ebe4}.rule:last-child{border:0}.rule strong{font-size:23px}.rule label{display:flex;align-items:center;gap:8px;font-size:12px;color:#6c7c70}.rule.labels{font-size:10px;text-transform:uppercase;letter-spacing:1px;font-weight:750;color:#7b897e;background:#f0f4eb;padding-top:16px;padding-bottom:16px}.note{margin:18px 0}.buttons{display:flex;align-items:center;gap:9px}.results-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.results-heading h1{margin-bottom:0}.stats{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid #dce4db;border-radius:11px;background:#fff;margin:18px 0;overflow:hidden}.stats>div{padding:14px 22px;border-right:1px solid #e4e9e0}.stats>div.current{background:#f1f6e8}.stats>div.current b{color:#3f6b22}.stats>div:last-child{border:0}.stats small{text-transform:uppercase;letter-spacing:1px;font-size:9px}.stats b{font-size:24px;display:block;margin-top:3px;font-variant-numeric:tabular-nums}.filters{display:flex;gap:12px 26px;align-items:center;margin-bottom:18px;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:10px}.filter-label{font-size:9px;letter-spacing:1.4px;text-transform:uppercase;font-weight:750;color:#7b897e}.segmented{display:flex;gap:3px;padding:3px;background:#eaefe5;border:1px solid #dde5d7;border-radius:10px}.segmented button{padding:8px 16px;background:transparent;border:0;border-radius:7px;font-size:12px;color:#5d6f62}.segmented button:hover:not(.active){background:#ffffff8c}.segmented .active{background:#fff;color:#1d4532;box-shadow:0 1px 3px #183d3324}.segmented.compact button{padding:6px 12px;font-size:11px}.provisional{margin-left:auto;font-size:10px;color:#839073}.podiums{display:grid;grid-template-columns:1fr 1fr;gap:20px}.desk{display:grid;grid-template-columns:minmax(340px,1fr) minmax(0,2.3fr);gap:20px;align-items:start}.desk .podiums{grid-template-columns:1fr;gap:16px}.desk .winner{padding:15px 18px}.podium{background:#fff;border:1px solid #dce4db;border-radius:12px;overflow:hidden}.podium-head{display:flex;align-items:center;gap:10px;padding:18px 22px;border-bottom:1px solid #e5eadf}.podium-head h3{font-size:15px}.podium-head small{margin-left:auto;font-size:8px;letter-spacing:1px}.gender{font-size:22px;color:#67864c}.winner{padding:20px;display:flex;align-items:center;gap:14px;border-bottom:1px solid #edf0e8}.winner:last-child{border:0}.rank-1{background:linear-gradient(110deg,#f4f8e9,#fff)}.place{font-size:18px;color:#7d8b70;font-weight:750;font-variant-numeric:tabular-nums}.rank-1 .place{color:#6d9136}.identity{flex:1;min-width:0}.identity b{font-size:12px;display:block;line-height:1.5}.identity small{font-size:9px;margin-top:3px}.time{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;white-space:nowrap;font-variant-numeric:tabular-nums}.winner strong.time{font-size:13px;display:flex;align-items:center;gap:5px}.clock{display:inline-flex;padding:4px;vertical-align:middle;background:transparent;border:0;color:#7b916c}.clock:hover{background:#eaf0e2;color:#325429}.empty{text-align:center;padding:50px 20px;color:#829074;font-weight:650;font-size:14px}.empty small{margin-top:10px;font-weight:400}.table-panel{background:#fff;border:1px solid #dce4db;border-radius:12px;margin-top:24px;overflow:hidden}.desk .table-panel{margin-top:0}.table-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 18px}.table-head h3{margin-right:auto}.table-head h3{display:flex;gap:10px;font-size:15px;align-items:center}.table-head h3 small{background:#edf2e6;padding:2px 7px;border-radius:5px}.table-head input{width:270px;font-size:12px}.table-scroll{max-height:500px;overflow:auto}.desk .table-scroll{max-height:max(420px,calc(100vh - 440px))}.finish-table td{padding:11px 18px;font-size:12px;vertical-align:middle}.finish-table th{padding:12px 18px}.finish-table td b{font-size:12.5px}.finish-table td small{font-size:10px}.finish-table tbody tr:hover td{background:#f7faf3}.finish-table .time.strong{font-weight:650;color:#1d4532}.muted{color:#93a093}.place-badge{display:inline-grid;place-items:center;min-width:38px;height:24px;padding:0 6px;border-radius:6px;font-size:11px;font-weight:750;font-variant-numeric:tabular-nums;background:#eef2ea;color:#4d5f52}.place-badge.male{background:#e7eff7;color:#34597a}.place-badge.female{background:#f7e9ef;color:#8a3d5c}.place-badge.top1{background:#f7e7a8;color:#6f5100}.place-badge.top2{background:#e4e8ec;color:#48525c}.place-badge.top3{background:#f1d9c4;color:#73431c}table{width:100%;border-collapse:collapse;text-align:left;font-size:11px}th{position:sticky;top:0;background:#f1f5ed;color:#7d8974;font-size:9px;letter-spacing:.7px;text-transform:uppercase;padding:14px 20px;z-index:1}td{padding:14px 20px;border-top:1px solid #edf0e8}td b{font-size:11px}td small{font-size:9px}.status{display:inline-block;border-radius:5px;background:#f3f1eb;padding:5px 8px;font-size:9px;white-space:nowrap;color:#89816a}.status.ok{background:#ecf3e3;color:#638144}.status.warn{background:#fff0e8;color:#994820}.review{margin-top:22px;font-size:12px;color:#7c8777}.review summary{cursor:pointer;font-weight:650}.review p{margin-top:12px}.error{background:#fff0e8;border:1px solid #efc7ae;border-radius:8px;padding:13px 17px;color:#994820;margin-top:20px;font-size:13px}footer{display:flex;justify-content:space-between;background:#f0f3ec;border-top:1px solid #dce4d6;padding:12px 30px;font-size:10px;color:#849079}.modal{padding:0;border:1px solid #d2ddca;border-radius:18px;width:min(900px,calc(100vw - 40px));max-height:90vh;color:#203d2f;background:#fbfcf9;box-shadow:0 30px 100px #0004}.modal::backdrop{background:#0d241dd1;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.modal-panel{padding:30px}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.modal-head h2{margin:8px 0}.modal-head p{font-size:12px;color:#7f8a76}.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:24px}.summary>div{background:#edf3e6;border-radius:9px;padding:16px;font-size:10px;color:#748866}.summary b{display:block;min-height:1.2em;margin-top:7px;font:600 18px ui-monospace,monospace;color:#365635}.reads-list{border:1px solid #e0e7d9;border-radius:10px;overflow:hidden}.read{display:grid;grid-template-columns:1fr 1.5fr .5fr;padding:15px 18px;gap:10px;border-bottom:1px solid #e6ebdf;align-items:center;font-size:11px}.read:last-child{border:0}.read strong{font:600 13px ui-monospace,monospace}.read.gun{background:#e6f0f9;color:#386485}.read.start{background:#fbf3e2;color:#85602a}.read.finish{background:#e6f1d4;color:#4b6e2d}.read small{text-align:right}.tv{width:100vw;max-width:none;height:100dvh;max-height:none;border:0;border-radius:0;background:#102d24;color:#f0f6e9;overflow:auto}.tv .modal-panel{height:100%;padding:24px 2.5vw 20px}.tv-layout{height:100%;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto minmax(0,1fr);column-gap:2.5vw;row-gap:12px}.tv-layout>.tv-top{grid-column:1 / -1}.tv-main{display:flex;flex-direction:column;min-height:0;overflow:auto}.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#ff5a4f;margin-right:7px;vertical-align:1px;animation:live-pulse 1.4s ease-in-out infinite}@keyframes live-pulse{50%{opacity:.25}}.arrivals{display:flex;flex-direction:column;min-height:0;background:#173a2d;border:1px solid #31513d;border-radius:17px;overflow:hidden}.arrivals-head{display:flex;justify-content:space-between;align-items:baseline;padding:16px 20px;border-bottom:1px solid #31513d}.arrivals-head .eyebrow{color:#94b577}.arrivals-head small{color:#90ae80;font-size:11px}.arrival-latest-slot{height:12.5dvh;min-height:84px;position:relative;border-bottom:1px solid #31513d}.arrival-latest{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;padding:0 20px;background:#1f4a37;min-width:0}.arrival-latest small{font-size:clamp(9px,1.2dvh,13px);letter-spacing:2px;font-weight:750;color:#b7e877}.arrival-latest b{font-size:clamp(22px,4.6dvh,64px);line-height:1.1;font-weight:850;letter-spacing:-.5px;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#f4fbe9}.arrival-latest span{font-size:clamp(11px,1.7dvh,20px);color:#c9dfb6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.arrival-latest.waiting{color:#87a891;font-size:14px}.credits{flex:1;min-height:0;display:flex;flex-direction:column}.credits-head,.credits-row{display:grid;grid-template-columns:4.2em 1fr auto;align-items:center;gap:14px;padding:0 20px}.credits-head{padding-block:9px;font-size:10px;font-weight:750;letter-spacing:2px;text-transform:uppercase;color:#87a891;border-bottom:1px solid #31513d;background:#143326}.credits-head span:last-child{text-align:right}.credits-viewport{flex:1;min-height:0;overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(transparent,#000 7%,#000 93%,transparent)}.credits-track{will-change:transform}.credits-row{padding-block:9px;border-bottom:1px solid #ffffff10}.credits-row div{min-width:0}.credits-row b{display:block;font-size:clamp(12px,1.9dvh,18px);text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.credits-row small{display:block;color:#8fae80;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.credits-place{font:750 clamp(12px,1.8dvh,17px) ui-monospace,monospace;color:#f0d48a}.credits-time{font:600 clamp(13px,1.9dvh,19px) ui-monospace,monospace;color:#c0ed85;font-variant-numeric:tabular-nums}.credits-empty{margin:0;padding:18px 20px;color:#87a891;font-size:13px}.read-tag{display:inline-block;padding:3px 7px;border-radius:5px;font-size:10px;font-weight:750;letter-spacing:1px;white-space:nowrap;background:#ffffff12;color:#b9d3a7}.read-tag.finish{background:#b7e877;color:#12301f}.read-tag.start{background:#e7c46a33;color:#f0d48a}.read-tag.shared-chip,.read-tag.unknown-chip{background:#ff7a5c2b;color:#ffb39f}.arrival-latest .read-tag{font-size:clamp(9px,1.1dvh,12px);padding:2px 6px;overflow:visible;margin-left:6px;vertical-align:1px;letter-spacing:1px}.live-watch{margin-top:10px;display:grid;gap:8px}.live-watch small{font-size:11px;color:#7b887d}.live-watch .live-error{color:#994820}.loaded .live-status{color:#c2412f}.tv-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.tv-logo{height:clamp(56px,8.5vh,110px);width:auto;border-radius:8px;display:block}.tv button{background:#ffffff09;border-color:#fff2;color:#dce9cf}.live{font-size:10px;letter-spacing:2px;color:#b4cb9e}.tv-title{text-align:center;margin:1vh 0 2vh}.tv-title .eyebrow{color:#94b577}.tv-title h2{font-size:clamp(36px,6vh,76px);letter-spacing:-3px;font-weight:850;margin:2px 0}.tv-title h2 span{color:#b7e877}.tv-title p{font-size:13px;color:#87a891}.tv .podiums{grid-template-columns:1fr;gap:1.6vh}.tv .podium{background:#173a2d;border-color:#31513d;border-radius:17px}.tv .podium-head{border-color:#31513d;padding:clamp(10px,1.5vh,20px) 26px}.tv .podium-head h3{font-size:clamp(16px,1.8vw,26px)}.tv .podium-head small{color:#90ae80}.tv .gender{color:#b7df85}.tv .winner{padding:clamp(8px,1.25vh,22px) 26px;border-color:#31513d;gap:18px;flex-wrap:wrap}.tv .rank-1{background:linear-gradient(110deg,#b0d97022,#173a2d)}.tv .place{font-size:clamp(22px,3vw,42px);color:#a0ba8d}.tv .rank-1 .place{color:#c5ed8c}.tv .identity b{font-size:clamp(14px,1.65vw,24px);text-transform:uppercase}.tv .identity small{color:#8fae80;font-size:12px}.tv .winner strong.time{font-size:clamp(15px,1.8vw,26px);color:#c0ed85}.tv .identity{min-width:160px}.tv-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:32px;gap:20px;font-size:13px;color:#b9d3a7}.tv-bottom small{color:#799a78;font-size:10px;margin-top:6px}.progress{height:3px;background:#39563b;margin-top:22px;overflow:hidden}.progress>div{height:100%;background:#b9eb7a;transform-origin:left}.tv:fullscreen{width:100vw;height:100vh}.tv .empty{color:#b4cc9c;min-height:250px;display:grid;place-content:center}@media(max-width:1250px){.desk{grid-template-columns:1fr}.desk .podiums{grid-template-columns:1fr 1fr}.stats{grid-template-columns:repeat(3,1fr)}.stats>div{border-bottom:1px solid #e4e9e0}}@media(max-width:1100px){.titlebar{grid-template-columns:auto 1fr}.titlebar nav{grid-column:1 / -1;grid-row:2;justify-self:start}.winner{gap:9px;padding:16px 13px}.winner strong.time{font-size:11px}.identity b{font-size:10px}main{padding:30px 25px}.rule{gap:14px;grid-template-columns:70px minmax(0,1fr) minmax(0,1fr) 1fr}.tv .winner strong.time{margin-left:auto}.brand small{display:none}}@media(max-width:750px){.titlebar{padding:8px 16px;gap:10px}.titlebar nav{justify-self:stretch}.desk .podiums{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.local{font-size:9px}nav{padding:12px;gap:3px;justify-content:space-between}nav button{padding:8px;font-size:11px;gap:5px}main{padding:25px 18px}.upload-grid,.podiums{grid-template-columns:1fr}.heading h1,h1{font-size:27px}.actions,.results-heading{align-items:stretch;flex-direction:column}.actions p{order:2}.stats>div{padding:13px}.stats b{font-size:20px}.stats small{font-size:8px}.filters{gap:8px}.segmented button{padding:8px 12px}.provisional{margin-left:0}.rule{grid-template-columns:45px 1fr 1fr;padding:18px 13px;gap:8px}.rule label{grid-column:2/4}.rule.labels span:last-child{display:none}.rule.labels{font-size:8px}.rule strong{font-size:17px}.table-head{gap:12px;padding:16px}.table-head input{width:180px}.buttons{flex-wrap:wrap}.buttons button{font-size:11px}.winner .identity b{font-size:12px}.winner strong.time{font-size:13px}footer{padding:12px 18px}footer>span:last-child{display:none}.modal-panel{padding:20px}.summary{grid-template-columns:1fr 1fr;gap:6px}.summary>div{padding:10px}.summary b{font-size:12px}.read{grid-template-columns:1fr 1.4fr;padding:12px}.read small{display:none}.tv .podiums{gap:12px}.tv .winner{padding:16px 12px;gap:8px}.tv .identity{min-width:100%}.tv .identity b{font-size:12px}.tv .winner strong.time{font-size:14px;margin:0}.tv .podium-head{padding:14px}.tv .podium-head small{display:none}.tv-title{margin:18px 0}.tv .modal-panel{height:auto;min-height:100%}.tv-layout{display:flex;flex-direction:column;gap:16px}.credits-viewport{height:50vh;flex:none}.tv-bottom{align-items:flex-start}.live{font-size:8px;letter-spacing:1px}.tv-logo{height:40px}.brand-logo{height:44px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.menu{position:relative}.menu-list{position:absolute;right:0;top:calc(100% + 6px);z-index:20;width:280px;max-width:calc(100vw - 32px);display:grid;padding:6px;background:#fff;border:1px solid #d8e1dc;border-radius:11px;box-shadow:0 14px 40px #0d241d26}.menu-list button{border:0;text-align:left;padding:10px 12px;display:grid;gap:3px}.menu-list button:hover{background:#f1f5e9}.menu-list small{font-weight:450;font-size:11px;color:#7b887d}.print-sheet{display:none}@media print{@page{size:A4 landscape;margin:14mm}#root,dialog{display:none!important}body{background:#fff}.print-sheet{display:block;color:#111;font-size:10.5pt}.print-header{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:2px solid #1a4c3c;padding-bottom:8px;margin-bottom:14px}.print-title{display:flex;align-items:center;gap:5mm}.print-logo{height:22mm;width:auto;border-radius:2mm}.print-header h1{font-size:16pt;margin:2px 0 0;letter-spacing:0}.print-header small{text-align:right;font-size:8.5pt;color:#555}.print-category{break-inside:avoid;margin-bottom:14px}.print-category h2{font-size:13pt;margin:0 0 6px;letter-spacing:0}.print-category h2 span{color:#5d8a2c}.print-genders{display:grid;grid-template-columns:1fr 1fr;gap:12px}.print-sheet table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:9.5pt}.print-sheet .c-place{width:10%}.print-sheet .c-bib{width:15%}.print-sheet .c-time{width:22%}.print-sheet .nowrap{white-space:nowrap}.print-sheet caption{text-align:left;font-weight:700;padding:0 0 3px}.print-sheet th,.print-sheet td{border-bottom:1px solid #ccc;padding:4px 5px;text-align:left}.print-sheet th{font-size:7.5pt;text-transform:uppercase;color:#555;border-bottom:1px solid #888}.print-sheet td.num{font-family:ui-monospace,monospace;font-size:8.5pt;white-space:nowrap}.print-sheet .c-bib-blank,.print-sheet .c-notes{width:20%}.print-sheet.blank td{height:11mm;border-bottom:1px solid #777}.print-sheet.blank td:not(:first-child){border-left:1px solid #ccc}.print-sheet.blank td:first-child{font-weight:700;text-align:center}.print-signoff{display:flex;gap:14px;font-size:8.5pt;color:#555}.print-signoff span{min-width:42mm;padding-top:9mm;border-bottom:1px solid #555}.print-sheet.blank .print-category h2{display:flex;align-items:flex-end;gap:6px}.gun-line{margin-left:auto;font-size:9pt;font-weight:400;color:#555!important;min-width:50mm;padding-top:4mm;border-bottom:1px solid #555}.print-sheet td.none{color:#888;font-style:italic}}.modal.roster{width:min(1200px,calc(100vw - 32px))}.roster .modal-head .buttons{flex-wrap:wrap;justify-content:flex-end}.roster-tools{display:flex;align-items:center;gap:12px;margin:20px 0 12px}.roster-tools input{flex:1;max-width:420px}.roster-tools small{color:#7b887d}.roster-scroll{max-height:calc(90vh - 230px);border:1px solid #dce4db;border-radius:10px;background:#fff}.roster-scroll th{position:sticky;top:0;background:#f6f8f5;z-index:1}.edited-tag.added{background:#e3f0d4;color:#3f6b22}.edited-tag{margin-left:8px;font-size:9px;font-weight:750;letter-spacing:1px;padding:2px 6px;border-radius:4px;background:#fff1d6;color:#8a5a12}button.small{padding:6px 12px;font-size:11px}.roster-button{width:100%;margin-top:10px}.modal.edit-modal{width:min(640px,calc(100vw - 32px))}.edit-form .modal-head{grid-column:1 / -1;margin-bottom:8px}.edit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.edit-form label{display:grid;gap:5px;font-size:11px;font-weight:650;color:#5d6c60}.edit-form label.wide{grid-column:span 2}.edit-form label.check{display:flex;align-items:center;gap:8px;grid-column:span 2;font-weight:500}.edit-form select{font:inherit;font-size:13px;border:1px solid #d5dfd8;border-radius:8px;background:#fff;padding:11px;color:#183d33}.edit-form label small{font-weight:450;color:#7b887d}.edit-notes{grid-column:1 / -1;display:grid;gap:6px}.edit-notes p{margin:0;font-size:12px;border-radius:7px;padding:8px 11px}.form-error{background:#fff0e8;color:#994820}.form-warn{background:#fff7e0;color:#85602a}.edit-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:9px}.menu-list button:disabled{background:none}@media(max-width:750px){.roster-scroll{max-height:calc(90vh - 280px)}}.session-actions{justify-self:end;display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.session-actions .local{margin-right:6px}.local.warn{color:#994820}.local.warn i{background:#d9773f}.file-button.small{padding:6px 12px;font-size:11px}.notice-bar{display:flex;align-items:center;gap:10px;padding:8px clamp(16px,2.2vw,36px);background:#eef5e4;border-bottom:1px solid #d6e3c8;font-size:12px;color:#3f5f31}.notice-bar span{margin-right:auto}button.ghost{background:transparent;border-color:transparent}@media(max-width:750px){.session-actions .local{display:none}}.loaded.empty-file{background:#fafbf8;border-style:dashed;border-color:#cfd9c9}.loaded.empty-file span{color:#8a968b}.rules-empty{padding:26px;font-size:13px;color:#7b887d}.time-input{display:grid;gap:5px;min-width:0}.time-input-row{display:flex;gap:6px}.time-input input{flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:15px;letter-spacing:1px}.time-input.invalid input{border-color:#e0a07e;background:#fff8f4}.time-error{color:#994820;font-size:11px}.tv-age{font-size:clamp(14px,2.2vh,24px)!important;font-weight:800;letter-spacing:3px;color:#b7e877!important}.print-age{margin-left:8px;font-style:normal;font-size:11pt;font-weight:700;color:#1a4c3c;background:#eef3e6;padding:1px 8px;border-radius:4px}
