:root{font-family:Arial,system-ui,sans-serif;color:#123353;background:#edf3fb;font-size:16px}*{box-sizing:border-box}body{margin:0}main{max-width:1400px;margin:auto;padding:8px;min-width:0}button,input,select{font:inherit}button{min-height:36px;padding:7px 10px;border:1px solid #bdcedd;border-radius:5px;background:#edf3f9;color:#173b61;font-size:12px;font-weight:650;line-height:1.25;cursor:pointer;touch-action:manipulation;white-space:normal;overflow-wrap:anywhere}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #b48b30;outline-offset:2px}button.gold{background:#efd797;border-color:#b4974c;color:#102f49}input,select{width:100%;min-width:0;min-height:36px;padding:6px 7px;border:1px solid #b8cbdc;border-radius:4px;background:#fff;color:#173b61;font-size:14px}label{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:11px;font-weight:600}h1,h2,p{margin:0}h1{font-size:19px;line-height:1.2}h2{font-size:18px;margin-bottom:10px}[hidden]{display:none!important}.hint,.muted{font-size:11px;line-height:1.4;color:#526e87}.hint{margin:6px 0}.practice-header{padding:10px 12px;background:#103451;border:1px solid #244b68;border-top:2px solid #c5a45b;border-radius:8px;color:#fff;min-width:0}.header-overview{display:flex;justify-content:space-between;align-items:center;gap:12px;min-width:0}.header-overview>div{min-width:0}.eyebrow{font-size:9px;line-height:1.2;letter-spacing:.08em;color:#ddc68b;margin-bottom:4px}.context{font-size:11px;line-height:1.35;color:#d7e6f2;margin-top:4px;overflow-wrap:anywhere}.save-stack{display:flex;align-items:center;gap:10px;flex-direction:row-reverse;max-width:45%}#save-status{font-size:11px;line-height:1.3;text-align:right;overflow-wrap:anywhere}#save-status[data-state="pending"]{color:#ffe4a1}#save-status[data-state="saved"]{color:#bce7ca}#save-status[data-state="error"]{color:#ffcabf}.collection-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:5px;border-top:1px solid #ffffff24;margin-top:8px;padding-top:7px}.collection-toolbar .context{flex:1;min-width:150px;margin:0}.collection-toolbar button{background:#193d59;color:#e1ebf3;border-color:#4b6a82}.practice-header button:focus-visible{outline-color:#f5d989}.notice,.message{padding:8px 10px;margin:6px 0;border:1px solid #d1bc7a;background:#fff6dc;border-radius:5px;font-size:12px;line-height:1.4;overflow-wrap:anywhere}.message{background:#ffebe8;border-color:#c77c70;color:#802d20}details{background:#fff;border:1px solid #bdcedd;border-radius:6px;margin:5px 0;padding:0;min-width:0}summary{min-height:40px;padding:8px;cursor:pointer;font-size:12px;font-weight:650;line-height:1.3;overflow-wrap:anywhere}#setup>summary{display:flex;align-items:center;gap:10px;background:#173d59;color:#fff;flex-wrap:wrap}#setup-summary{font-size:12px;font-weight:400;color:#f1dfae}fieldset{margin:0;padding:8px;border:0;min-width:0}.fields{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}#setup-status{margin:5px 8px} .timing-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:6px 0}#collection-clock{font-size:16px;font-variant-numeric:tabular-nums;margin-left:auto}.lanes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;align-items:start;min-width:0}.lane{min-width:0;border:1px solid #b9cbdc;border-top:3px solid #b4974c;border-radius:6px;background:#fff;padding:6px;overflow-wrap:anywhere}.lane-head{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-bottom:5px}.lane-head strong{font-size:13px}.lane-head .lane-state{margin-left:auto;color:#526e87;font-size:10px}.mode-buttons{display:flex;gap:3px;margin:4px 0}.mode-buttons button{flex:1;min-width:0;padding:5px 3px;font-size:11px}.mode-buttons button[aria-pressed="true"]{background:#173d59;border-color:#b4974c;color:#ffe7aa}.lane-actions{display:flex;gap:4px;margin:4px 0}.lane-actions button{flex:1;min-width:0}.lane .lane-start{display:block;width:100%;min-height:44px;background:#0b2742;color:#f7e4ad;border-color:#ad904a;font-size:13px;font-weight:750}.swimmer-event{margin:4px 0;border:1px solid #e0e8f1;background:#edf3f9}.swimmer-event>summary{display:list-item;min-height:40px;padding:7px 5px;font-size:12px}.swimmer-name{line-height:1.3;overflow-wrap:anywhere}.swimmer-event-label{display:block;margin:2px 0 0 14px;font-size:11px;font-weight:500;line-height:1.3;color:#49647e;overflow-wrap:anywhere}.swimmer-event .event-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;padding:0 6px 6px}.swimmer-event button{width:100%;margin-top:3px}.swimmer-slot{margin-top:4px;min-width:0}.touch{display:block;width:100%;min-height:76px;padding:9px 6px;text-align:left;border:1px solid #a9c8ec;background:#dcecff;color:#123760}.touch strong{display:block;font-size:13px;line-height:1.3}.touch span{display:block;font-size:12px;line-height:1.35;margin-top:5px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.touch.finished{background:#ddf4e6;border-color:#8cc7a3;color:#125135}.touch.stopped{background:#f5e8d5}.touch:disabled{opacity:1}.swim-tools{display:flex;flex-wrap:wrap;gap:3px;margin-top:3px}.swim-tools button{flex:1;min-width:0;padding:5px 3px;font-size:10px}.swim-tools .finish-here{background:#edf8f1;border-color:#4e9772;color:#155637}.review-actions{display:flex;align-items:end;flex-wrap:wrap;gap:8px;padding:7px}.review-actions label{width:240px;max-width:100%}#result-status{margin:5px 8px}#result-list{max-width:100%;overflow:auto;padding:4px 7px}table{border-collapse:collapse;font-size:12px;width:max-content;max-width:none}th,td{text-align:left;padding:5px 7px;border-bottom:1px solid #dbe5f3;white-space:nowrap;font-variant-numeric:tabular-nums}dialog{width:min(520px,calc(100vw - 24px));max-height:85vh;border:0;border-radius:10px;padding:14px;color:#123353}dialog::backdrop{background:#0d284b99}.dialog-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:10px}#lineup-selection>div{display:flex;align-items:center;gap:5px;padding:5px 0;border-bottom:1px solid #dbe5f3}#lineup-selection span{flex:1;min-width:0;overflow-wrap:anywhere}#lineup-selection button{min-width:36px}#roster-choices{max-height:32vh;overflow:auto;margin-top:9px}#roster-choices button{display:block;width:100%;text-align:left;margin:4px 0}
@media(max-width:900px){.fields{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1100px) and (orientation:portrait){.lanes{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px),(pointer:coarse){button,input,select,summary,.swimmer-event>summary{min-height:44px}input,select{font-size:16px}.swim-tools button{min-height:44px}.header-overview{align-items:flex-start}.save-stack{flex-direction:column;align-items:flex-end;max-width:42%;gap:3px}h1{font-size:17px}.lane{padding:4px}.lane-actions{flex-wrap:wrap}.lane-actions button{flex-basis:100%}.touch{min-height:80px}.swimmer-event>summary{padding:6px 4px}#lineup-selection button{min-width:44px}}
@media(max-width:380px){.fields{grid-template-columns:repeat(2,minmax(0,1fr))}.mode-buttons{flex-wrap:wrap}.mode-buttons button{flex-basis:100%}.collection-toolbar button{flex:1 1 calc(50% - 5px)}.collection-toolbar .context{flex-basis:100%}}

.setup-lane-picker{max-width:240px;margin:7px 8px 0}

.toggle{display:flex;flex-direction:row;align-items:center;gap:6px;min-height:44px}.toggle input{width:20px;min-height:20px;height:20px}.move-target{outline:3px solid #b4974c}.removed-attempt{background:#f2f3f5;color:#677886}.event-fields .swimmer-move{margin-top:5px}.lane summary[draggable="true"]{cursor:grab}

/* TC2: compact lane actions, with a native keyboard/touch Move handle. */
.lane-head{display:grid;grid-template-columns:44px minmax(0,1fr);gap:0 4px;min-height:44px}
.lane-head>strong{grid-column:2;align-self:end;overflow-wrap:normal;word-break:normal}
.lane-head>.lane-state{grid-column:2;align-self:start;margin-left:0;overflow-wrap:normal}
.lane .lane-move{grid-column:1;grid-row:1 / 3;display:grid;place-items:center;width:44px;min-width:44px;min-height:44px;padding:0;border-color:transparent;background:transparent;color:#526e87;opacity:1}
.lane .lane-move[draggable="true"]{cursor:grab}
.lane .lane-move:hover:not(:disabled){background:#edf3f9;border-color:#bdcedd;color:#173b61}
.lane .lane-move:disabled{opacity:.45}
.lane-move-dots{display:grid;grid-template-columns:repeat(2,4px);gap:3px;pointer-events:none}
.lane-move-dots>span{width:4px;height:4px;border-radius:50%;background:currentColor}
.lane-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:4px}
.lane-actions button{width:100%;min-width:0;min-height:44px;padding:7px 4px;font-size:11px;white-space:normal;overflow-wrap:normal;word-break:normal}
@media(hover:hover) and (pointer:fine){.lane:not(:hover):not(:focus-within) .lane-move{opacity:0}}
@media(pointer:coarse),(hover:none){.lane .lane-move{opacity:1}.lane .lane-move:disabled{opacity:.45}}

/* ST1: one prominent global Start beside the collection controls. */
.global-start-group{display:flex;align-items:center;flex-wrap:wrap;gap:5px 8px;min-width:0}
.collection-toolbar #start-heats{min-height:44px;padding:8px 16px;background:#efd797;border-color:#b4974c;color:#102f49;font-size:14px;font-weight:750;white-space:nowrap}
#global-start-status{max-width:230px;font-size:11px;line-height:1.3;color:#f1dfae;overflow-wrap:anywhere}
@media(max-width:650px){.global-start-group{flex:1 1 100%}.global-start-group #start-heats{flex:0 0 auto}#global-start-status{flex:1;max-width:none}}

/* MU1: phone controls and compact, non-scrolling capture history. */
.save-stack{flex-direction:column;align-items:flex-end;max-width:55%}.save-actions{display:flex;gap:5px;align-items:stretch}.save-actions button{min-width:64px;min-height:44px}.timing-toolbar{justify-content:flex-end}#collection-clock{margin-left:0}#stop-all{min-height:44px;min-width:60px}#stop-all-help{flex-basis:100%;text-align:right;margin:0}#setup>#add-lane,#setup>#apply-global{margin:4px 0 4px 8px}#recovery>.hint,#recovery>button{margin:8px}.split-marks{width:100%;table-layout:fixed;margin:4px 0;border-collapse:collapse}.split-marks caption{font-size:9px;line-height:1.3;text-align:left}.split-marks th,.split-marks td{font-size:10px;padding:4px 0;text-align:center;white-space:normal;overflow-wrap:anywhere;letter-spacing:-.2px}.split-marks td{height:24px;font-variant-numeric:tabular-nums}.touch .timer{font-weight:700}.touch strong{overflow-wrap:anywhere}
#result-list{overflow:visible;min-width:0}#result-list table{width:100%;max-width:100%;table-layout:fixed}#result-list th,#result-list td{white-space:normal;overflow-wrap:anywhere;padding:5px}#result-list details{max-width:100%}#result-list .hint{overflow-wrap:anywhere}
@media(max-width:650px){
 .header-overview{flex-wrap:wrap;gap:8px}.header-overview>div:first-child{flex:1 1 100%}.save-stack{max-width:100%;width:100%;align-items:stretch}.save-actions{justify-content:flex-end}#save-status{text-align:right}.lanes{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.lane{padding:3px}.touch{padding:6px 3px}.touch strong{font-size:12px}.touch .timer{font-size:11px}.split-marks th,.split-marks td{font-size:9px}
 #result-list table,#result-list tbody{display:block}#result-list tr:first-child{display:none}#result-list tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;border-bottom:2px solid #bdcedd;padding:5px 0}#result-list td{display:block;min-width:0;border:0;padding:3px;font-size:12px}#result-list td::before{content:attr(data-label);display:block;font-size:10px;font-weight:700;color:#526e87;margin-bottom:2px}#result-list td:first-child,#result-list td:nth-child(2){grid-column:span 3}#result-list td:nth-child(6),#result-list td:last-child{grid-column:span 3}#result-list td:last-child{display:flex;flex-wrap:wrap;align-items:flex-start;gap:5px}#result-list td:last-child::before{flex-basis:100%}#result-list td:last-child>details{flex:1 1 160px;margin:0}
}

@media(max-width:650px){#result-list tr.history-continuation>td:first-child,#result-list tr.history-continuation>td:nth-child(2),#result-list tr.history-continuation>td:nth-child(6),#result-list tr.history-continuation>td:last-child{display:none}#result-list tr.history-continuation{border-bottom-width:1px;padding:2px 0}#result-list tr.history-start{margin-top:7px}}

/* SF1: fixed distance rows, nonoverlapping segment durations, independent total. */
.split-total{font-size:11px;font-weight:700;margin:5px 0;overflow-wrap:anywhere}.split-marks th:first-child{width:19%}.split-marks td{height:auto;padding:4px 1px}.split-marks th{padding:4px 1px}.split-marks tr:nth-child(4n+2){border-bottom:2px solid #bdcedd}
@media(max-width:650px){.split-marks th,.split-marks td{font-size:9px;letter-spacing:-.3px;line-height:1.3}.split-marks caption{font-size:9px}}

.split-more{margin:4px 0;min-width:0}.split-more>summary{font-size:11px;min-height:44px;box-sizing:border-box;padding:8px 2px;overflow-wrap:anywhere}.split-more .split-marks th:first-child{width:24%}

/* VC1: denser portrait layout, retaining 44px control targets and full values. */
@media(max-width:650px){
 main{padding:4px}.practice-header{padding:6px 7px;border-radius:6px}.eyebrow{margin-bottom:2px}.context{margin-top:2px;font-size:10px}.header-overview{gap:4px}.save-stack{gap:2px}.save-actions{gap:4px}.save-actions button{padding:5px 8px}#save-status{font-size:10px;line-height:1.2}
 .collection-toolbar{margin-top:4px;padding-top:4px;gap:3px}.collection-toolbar .context{min-width:0;flex:1 1 90px}.collection-toolbar button{flex:0 1 auto;padding:5px 7px}.global-start-group{gap:3px 6px}.collection-toolbar #start-heats{padding:5px 10px}#global-start-status{font-size:10px;line-height:1.2}
 details{margin:3px 0}#setup>summary{gap:3px 7px;padding:5px 7px}#setup-summary{font-size:11px}.timing-toolbar{gap:2px 6px;margin:3px 0}#stop-all-help{font-size:10px;line-height:1.2}.lanes{gap:3px}.lane{padding:2px}.lane-head{margin-bottom:2px;gap:0 2px}.mode-buttons{flex-wrap:nowrap;gap:2px;margin:2px 0}.mode-buttons button{flex:1 1 0;padding:3px 1px;font-size:10px}.lane-actions{gap:2px;margin:2px 0}.lane-actions button{padding:4px 2px}.swimmer-event{margin:2px 0}.swimmer-event>summary{padding:4px 3px}.swimmer-event-label{margin-top:1px;font-size:10px}.lane .lane-start{padding:5px 2px;font-size:12px}.swimmer-slot{margin-top:3px}.touch{min-height:64px;padding:5px 3px}.touch.finished,.touch.stopped{min-height:56px}.touch span{margin-top:3px}.split-total{margin:3px 0;font-size:10px}.split-marks{margin:2px 0}.split-marks th,.split-marks td{padding:2px 1px;line-height:1.25}.split-marks caption{line-height:1.2}.split-more{margin:2px 0}.split-more>summary{padding:5px 2px}.swim-tools{margin-top:2px;gap:2px}.swim-tools button{padding:4px 2px}
 #recovery>summary,#review>summary{padding:6px}#recovery>.hint,#recovery>button{margin:5px}.review-actions{padding:5px;gap:4px}#result-list{padding:2px 5px}#result-list tr{padding:3px 0;gap:2px}#result-list td{padding:2px}#result-list td::before{margin-bottom:1px}#result-list tr.history-start{margin-top:4px}#result-list tr.history-continuation{padding:1px 0}
}
@media(max-width:650px){select{height:44px}}
/* Compact multi-athlete cards: setup and split details stay available on demand. */
.lane-setup{margin:2px 0}.lane-setup>summary{font-size:11px;padding:5px 3px;min-height:44px}.lane-setup[open]{padding:0 2px}.split-details{margin:0;min-width:0}.split-details>summary{font-size:10px;padding:5px 2px;min-height:44px}.swimmer-slot{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px}.swimmer-slot>.touch,.swimmer-slot>.split-total{grid-column:1 / -1}.swimmer-slot>.split-details{grid-column:1}.swimmer-slot>.swim-actions{grid-column:2;margin:0;align-self:start}.swimmer-slot>.split-details[open]{grid-column:1 / -1}.swimmer-slot>.split-details[open]+.swim-actions{grid-column:1 / -1}.split-details[open]>.split-marks{margin:2px 0}.split-details .split-more{margin:2px}

.swim-actions{margin:0;min-width:0}.swim-actions>summary{font-size:10px;padding:5px 2px;min-height:44px}.swimmer-slot>.swim-actions[open]{grid-column:1 / -1}.swim-actions .swim-tools{margin:2px;display:grid;grid-template-columns:minmax(0,1fr)}.swim-actions button{min-height:44px}
/* UC1: one swimmer card, independent timing controls, reachable picker footer. */
.swimmer-slot>.athlete-stop{grid-column:1 / -1;min-height:44px;padding:4px}.swimmer-slot>.swimmer-event{grid-column:1 / -1;margin:0}.swim-tools>.swimmer-event{width:100%;margin:0}.split-details>summary,.swim-actions>summary{display:flex;align-items:center;min-height:44px;padding:3px 4px}.swimmer-slot>.split-details,.swimmer-slot>.swim-actions{align-self:start}.swimmer-slot.ready .touch{min-height:64px}.event-edit-label{font-size:11px}.swim-tools .event-fields{padding:4px}.touch .timer{font-size:11px}
#lineup-picker[open]{display:flex;flex-direction:column;position:fixed;top:calc(var(--picker-top,0px) + 8px);bottom:auto;left:0;right:0;margin:0 auto;height:min(640px,calc(var(--picker-height,100dvh) - 16px));max-height:calc(var(--picker-height,100dvh) - 16px);overflow:hidden;padding:12px;width:min(468px,calc(100vw - 16px))}#lineup-picker h2{font-size:16px;margin:0 0 6px;flex:none}.lineup-body{min-height:0;overflow:auto;overscroll-behavior:contain;flex:1;padding-bottom:4px}#lineup-picker .dialog-actions{flex:none;margin:0;padding-top:6px;background:#fff;border-top:1px solid #dbe5f3}#close-lineup{min-height:44px;min-width:88px}#lineup-selection>div{padding:2px 0;gap:3px;font-size:14px}#lineup-selection button{padding:4px;min-width:44px;min-height:44px}#roster-choices{max-height:none;margin-top:5px}#roster-choices button{margin:2px 0;font-size:13px;min-height:44px}#lineup-picker input{min-height:44px;font-size:16px}

/* EC1: one stable disclosure for event editing and result times. */
.swimmer-slot>.card-details{grid-column:1 / -1;margin:0;min-width:0}.card-details>summary{min-height:44px;font-size:11px;padding:3px 4px;display:flex;align-items:center}.card-details[open]{padding:0 2px 2px}.card-details>.split-total{margin:4px 0}.card-details>.swimmer-event{margin:2px 0}.card-details>.swim-tools:empty{display:none}

/* Shared primary control row; status stays associated with Start all. */
.save-actions{flex-wrap:wrap}.save-actions #start-heats{min-height:44px;min-width:76px;padding:5px 10px;font-weight:750;background:#efd797;border-color:#b4974c;color:#102f49}.save-stack #global-start-status{max-width:none;text-align:right;font-size:10px;line-height:1.2}.save-actions>button{flex:0 1 auto}

.card-details:not([open])>:not(summary){display:none}.practice-header>.timing-toolbar{margin:0 0 4px;justify-content:flex-end}.practice-header>.timing-toolbar #stop-all-help{font-size:10px;line-height:1.2}.practice-header>.timing-toolbar #collection-clock{font-variant-numeric:tabular-nums}
.card-details>summary::before{content:'▸';flex:none;margin-right:3px}.card-details[open]>summary::before{content:'▾'}.practice-header>.timing-toolbar #stop-all-help{color:#dbe5f3}

/* NC1: name disclosure and timing are separate controls within one card. */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.swimmer-slot{display:flex;flex-direction:column;gap:0;border:1px solid #a9c8ec;border-radius:5px;background:#dcecff;overflow:hidden;margin-top:4px}.athlete-disclosure{display:flex;align-items:center;gap:3px;min-height:44px;width:100%;padding:3px;text-align:left;border:0;border-radius:0;background:transparent;color:#123760;font-size:12px;line-height:1.2;overflow-wrap:anywhere}.athlete-disclosure::before{content:'▸';flex:none}.athlete-disclosure[aria-expanded="true"]::before{content:'▾'}.swimmer-slot>.touch,.swimmer-slot.ready>.touch,.swimmer-slot>.touch.finished,.swimmer-slot>.touch.stopped{min-height:44px;border:0;border-top:1px solid #a9c8ec;border-radius:0;padding:3px}.swimmer-slot>.touch .timer{margin:0}.swimmer-slot>.athlete-stop{border-radius:0;border-width:1px 0 0;min-height:44px}.swimmer-slot>.card-details{border:0;border-top:1px solid #a9c8ec;border-radius:0;margin:0;padding:3px}.swimmer-slot>.card-details:not([open]){display:none}.card-details>summary{display:none}.athlete-disclosure:focus-visible,.swimmer-slot>.touch:focus-visible{outline-offset:-3px}
.practice-header{padding:4px 6px}.practice-header>.timing-toolbar{margin:0;gap:2px 5px}.header-overview{gap:2px}.header-overview h1{font-size:15px;line-height:1.2;margin:1px 0}.save-stack{gap:1px}.collection-toolbar{border:0;margin:2px 0 0;padding:0;gap:3px}.collection-toolbar:not(:has(button:not([hidden]))){display:none}.save-actions{gap:3px}.save-actions button{padding:4px 7px}.save-stack #global-start-status,#save-status{font-size:10px;line-height:1.1}
@media(max-width:650px){.practice-header{padding:3px 5px}.header-overview{gap:2px}.header-overview h1{font-size:15px}.save-stack{gap:1px}.collection-toolbar{margin-top:2px;padding:0}.athlete-disclosure{font-size:12px}}

/* Name on the left; a distinct 44px timing rail on the right. */
.swimmer-slot{display:grid;grid-template-columns:minmax(44px,1fr) 44px;gap:0}.swimmer-slot>.athlete-disclosure{grid-column:1;grid-row:1;min-width:44px;align-self:stretch;flex-wrap:wrap;align-content:center;gap:2px;font-size:12px}.swimmer-slot:has(>.athlete-stop)>.athlete-disclosure{grid-row:1 / 3}.swimmer-slot>.touch,.swimmer-slot.ready>.touch,.swimmer-slot>.touch.finished,.swimmer-slot>.touch.stopped{grid-column:2;grid-row:1;width:44px;min-width:44px;min-height:44px;border:0;border-left:1px solid #fff;background:#cfe5ff;color:#123760;text-align:center;font-size:11px;padding:2px;align-self:stretch}.swimmer-slot>.athlete-stop{grid-column:2;grid-row:2;min-width:44px;min-height:44px;width:44px;padding:2px;font-size:11px;border-left:1px solid #fff;border-top:1px solid #a9c8ec;background:#edf3f9}.card-feedback{grid-column:1 / -1;display:block;padding:2px 3px;border-top:1px solid #c0d5ec;font-size:10px;line-height:1.2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.swimmer-slot:has(>.touch.finished){background:#ddf4e6}.swimmer-slot:has(>.touch.stopped){background:#f5e8d5}.swimmer-slot>.card-details{grid-column:1 / -1}.athlete-disclosure::before{font-size:11px}

.swimmer-slot>.athlete-disclosure{flex-wrap:nowrap}.athlete-name{min-width:0;flex:1;overflow-wrap:anywhere}

/* PA1: title first, smaller clock; optional advisory cue never moves cards. */
.practice-header>h1{font-size:17px;line-height:1.2;text-align:left;margin:0 0 2px;align-self:flex-start}.practice-header #collection-clock{font-size:14px}.header-overview>div:first-child:has(>.context.visually-hidden){display:none}.arrival-option{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:3px 6px;font-size:11px;margin:4px 1px;min-height:44px}.arrival-option input{width:24px;min-height:24px;height:24px;margin:0}.arrival-option span{font-size:10px;font-weight:400;color:#526e87}.arrival-note{display:block;font-size:10px;line-height:1.2;color:#69501b;margin:2px;overflow-wrap:anywhere}.swimmer-slot.arrival-next{outline:2px solid #b58a25;outline-offset:-2px;box-shadow:inset 0 0 0 1px #fff0bb}

.arrival-note{height:24px;line-height:12px;overflow:hidden}

/* LH1: retained lanes preserve records, current collection honors display count. */
.retained-lanes{grid-column:1 / -1}.retained-grid{padding:3px}.capture-stamp{grid-column:1 / -1;display:block;font-size:9px;line-height:1.25;padding:2px 3px;background:#f7fbff;color:#365773;overflow-wrap:anywhere}.history-athlete>summary,.history-event>summary,.history-swim>summary{min-height:44px}.history-athlete>summary{display:flex;flex-wrap:wrap;gap:3px 10px}.history-athlete>summary span{font-weight:400;font-size:11px}.history-body,.history-event-body,.history-swim-body{padding:4px;min-width:0}.history-range-select{max-width:180px}.season-options{padding:4px;max-width:100%}.season-options label{width:100%}.history-range-note{font-size:11px;margin:4px}.history-page{min-height:44px;margin:4px}.history-swim .capture-stamp{font-size:11px}.review-actions input[type=date]{min-width:140px}.history-athlete,.history-event,.history-swim{min-width:0}
.season-options:not([open])>:not(summary){display:none}.season-options{flex:1 1 180px}.season-options input[type=date]{min-width:0;max-width:100%}.history-athlete summary{overflow-wrap:anywhere}
.history-athlete>summary{display:list-item}

/* SC1: prediction belongs only to individual swimmers, never lane containers. */
.swimmer-slot.arrival-next>.athlete-disclosure{background:#fff2c9;color:#123760;box-shadow:inset 2px 0 0 #b58a25}
/* Public phone-local timing layout */
.local-mode .local-lanes{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;align-items:start}.local-lane{min-width:0;background:#fff;border:1px solid #aac1d5;border-radius:8px;padding:6px}.local-lane h2{margin:2px 0 6px;font-size:16px}.local-swimmer{padding:8px 0;border-bottom:1px solid #cbd5e1;min-width:0}.local-swimmer input{width:100%;min-width:0;box-sizing:border-box;padding:6px;font-size:14px}.local-clock{display:block;font-variant-numeric:tabular-nums;font-size:20px;margin:4px 0}.local-progress{display:block;font-size:12px}.local-actions{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin-top:5px}.local-mode .local-lane button{padding:8px 3px;min-height:40px;min-width:0;font-size:12px;width:100%}.local-mode .practice-header{padding:10px!important;min-height:0!important;gap:6px!important}.local-mode .practice-header h1{font-size:19px!important;margin:0!important}.local-mode .notice{font-size:13px;padding:8px}.local-mode .practice-header .brand-mark{display:none}.local-mode .local-swimmer details{font-size:11px;padding:2px;overflow-wrap:anywhere}.local-mode #setup .fields{gap:6px}.local-mode #setup{margin:6px 0}.local-mode .local-lanes button:disabled{opacity:.45}@media(max-width:500px){.local-mode{padding:4px!important}.local-clock{font-size:17px}.local-lane{padding:4px}.local-swimmer input{font-size:12px;padding:5px 2px}.local-mode .local-lane button{font-size:11px}.local-mode .practice-header button{padding:8px;font-size:12px}}
/* R2: phone-first controls; prevent iPhone input zoom. */
.local-mode .practice-header{display:grid!important;grid-template-columns:1fr auto!important;gap:4px!important;padding:6px!important}.local-mode .practice-header .usa1-header-brand{display:none!important}.local-mode .practice-header>h1{font-size:16px!important;align-self:center}.local-mode .practice-header .timing-toolbar{margin:0!important}.local-mode .practice-header .header-overview{grid-column:1/-1}.local-mode .practice-header .save-stack{max-width:none!important;width:100%!important;gap:3px!important}.local-mode .practice-header .save-actions{display:flex;flex-wrap:nowrap}.local-mode .practice-header .usa1-header-home{min-height:28px!important;padding:3px 7px!important;margin:0!important;font-size:11px!important;grid-column:2}.local-mode #global-start-status{display:none}.local-mode .local-swimmer input{font-size:16px!important}.local-mode .local-lane button{min-height:44px!important}.local-mode #setup .fields{grid-template-columns:repeat(3,minmax(0,1fr))!important}.local-mode #setup select,.local-mode #setup input{font-size:16px}.local-mode .local-actions button.gold{background:#efd797;border:2px solid #b4974c;font-size:14px}.local-mode #setup-summary{font-size:11px}.local-mode #gap-help{font-size:10px}
