:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#eaf0f7;background:#080e17;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #80c9ff;outline-offset:2px}.app{min-height:100vh;padding:max(14px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));max-width:1600px;margin:auto}.topbar{height:70px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #263445;margin-bottom:18px;gap:12px}.brand{display:flex;gap:12px;align-items:center;letter-spacing:.14em}.brand-mark{font-size:16px;font-weight:900;background:#f5b94d;color:#111820;width:41px;height:41px;border-radius:7px;display:grid;place-items:center;letter-spacing:-.07em}.brand strong{display:block;font-size:16px}.brand small{display:block;color:#8fa3b9;font-size:11px;margin-top:3px;font-weight:750}.top-actions{display:flex;align-items:center;gap:10px}.saved{color:#91a7b9;font-size:13px;margin-right:8px}.button{border:0;border-radius:8px;padding:12px 16px;min-height:44px;font-weight:750;color:#ebf3fa;white-space:nowrap}.button.primary{background:#f5b94d;color:#18202a}.button.secondary{background:#273647}.button.outline{background:transparent;border:1px solid #53657a}.button.subtle{background:transparent;border:1px solid #34465a;color:#b4c4d2}.button:active,.flag:active,.action:active{transform:scale(.98)}.workspace{display:grid;grid-template-columns:minmax(320px,380px) minmax(0,1fr);gap:18px;min-height:calc(100vh - 106px)}.control-panel,.log-panel{background:#111b29;border:1px solid #27374a;border-radius:13px}.control-panel{padding:24px;align-self:start}.section-kicker{color:#f5b94d;font-size:12px;letter-spacing:.15em;font-weight:850}.session-title{font-size:26px;font-weight:800;margin:10px 0 4px;line-height:1.2}.session-meta{color:#a9bccb;font-size:14px}.timer-card{background:#0a1420;border:1px solid #2c3e50;border-radius:10px;margin-top:22px;padding:19px}.timer-label{font-size:12px;font-weight:800;color:#91a6b8;letter-spacing:.12em}.timer{font-variant-numeric:tabular-nums;font-size:clamp(48px,5vw,70px);font-weight:800;letter-spacing:-.055em;margin:6px 0 10px;line-height:1.1}.timer.expired{color:#fa7372}.timer-actions{display:flex;gap:8px}.timer-actions .button:first-child{flex:1}.status-row{margin-top:22px;padding:0 2px;display:flex;align-items:center;justify-content:space-between;font-size:13px;letter-spacing:.06em;font-weight:800;color:#aabac8}.status{border-radius:6px;padding:8px 10px;font-size:12px;letter-spacing:.06em}.status.neutral{color:#b7c6d3;background:#253344}.status.green{color:#67e7a1;background:#123e34}.status.yellow,.status.amber{color:#ffd16b;background:#4a371e}.status.red{color:#ff8c8c;background:#4a242b}.status.checkered{color:#e9edf3;background:#454b56}.status.clear{color:#86d5ef;background:#1b4050}.spaced{margin:31px 0 12px}.flag-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.flag{display:flex;align-items:center;text-align:left;gap:10px;min-height:62px;background:#1a2838;color:#f0f5f9;border:1px solid #31465a;border-radius:9px;padding:10px 12px;font-weight:750;font-size:15px}.flag:hover,.action:hover{border-color:#8598a8;background:#213245}.flag-dot{width:17px;height:17px;border-radius:4px;flex:none;background:#67e7a1}.flag.yellow .flag-dot{background:#ffe174}.flag.amber .flag-dot{background:#eea74f}.flag.red .flag-dot{background:#fb7171}.flag.checkered .flag-dot{background:conic-gradient(#fff 25%,#20242d 0 50%,#fff 0 75%,#20242d 0)}.flag.clear .flag-dot{background:#82d9ee}.tap-hint{color:#8698a9;font-size:13px;line-height:1.4;margin:12px 0 0}.log-panel{display:flex;flex-direction:column;min-height:630px;overflow:hidden}.log-heading{padding:23px 24px 19px;display:flex;justify-content:space-between;gap:10px;align-items:center}.log-heading h1{font-size:25px;margin:7px 0 0;line-height:1.1}.log-heading h1 span{font-size:14px;color:#91a5b6;font-weight:500;margin-left:8px;white-space:nowrap}.clock{font-variant-numeric:tabular-nums;color:#ccd9e5;font-size:22px;font-weight:750;white-space:nowrap}.entry-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;padding:0 24px 21px}.action{background:#1b2b3b;border:1px solid #334b60;border-radius:9px;color:#f0f5f9;min-height:80px;font-weight:800;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:12px;gap:5px;font-size:15px}.action-icon{font-size:23px;color:#f5b94d;line-height:1}.action.dispatch .action-icon{color:#8ed6f2}.action.radio .action-icon{color:#b5abff}.action.note .action-icon{color:#a4c8cc}.log-tools{display:flex;align-items:center;gap:12px;border-top:1px solid #2a394a;border-bottom:1px solid #2a394a;padding:12px 24px;background:#152131}.log-tools label{font-size:12px;letter-spacing:.13em;color:#b8c8d6;font-weight:850;white-space:nowrap}.log-tools input{margin-left:auto;min-width:150px;width:250px;background:#0d1825;color:#f5f8fb;border:1px solid #374d60;border-radius:7px;padding:9px 11px;font-size:14px}.log-tools input::placeholder{color:#8194a4}.log-tools span{font-size:12px;color:#9badba}.log-list{flex:1;overflow:auto;min-height:300px;max-height:calc(100vh - 388px)}.empty{margin:42px auto;text-align:center;color:#9eb2c3;padding:0 20px;max-width:350px;line-height:1.45}.empty strong{display:block;color:#e6eef5;font-size:18px;margin-bottom:7px}.entry{padding:15px 24px;display:grid;grid-template-columns:92px 7px minmax(0,1fr);gap:14px;border-bottom:1px solid #263548;align-items:start}.entry time{font-variant-numeric:tabular-nums;font-weight:800;color:#a9bcd0;font-size:15px;padding-top:2px}.entry-line{width:4px;background:#8495a5;border-radius:4px;align-self:stretch;min-height:36px}.entry.flag-entry .entry-line{background:#f2c263}.entry.incident-entry .entry-line{background:#ff837c}.entry.dispatch-entry .entry-line{background:#8ed6f2}.entry.radio-entry .entry-line{background:#b5abff}.entry-title{font-size:15px;font-weight:850;letter-spacing:.02em}.entry-detail{font-size:14px;line-height:1.45;color:#bdcbd6;margin-top:4px;white-space:pre-wrap;overflow-wrap:anywhere}.entry-meta{color:#8399ab;font-size:12px;margin-top:4px}.log-footer{padding:11px 24px;color:#8296a8;font-size:12px;border-top:1px solid #263548}.modal-backdrop{position:fixed;inset:0;background:#03080dd1;display:flex;align-items:center;justify-content:center;padding:20px;z-index:5}.modal-backdrop[hidden]{display:none}.modal{background:#152233;border:1px solid #486078;border-radius:14px;padding:24px;width:min(560px,100%);max-height:95vh;overflow:auto;box-shadow:0 24px 80px #0009}.modal-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:20px}.modal h2{font-size:25px;margin:7px 0 0}.close{background:transparent;border:0;color:#d6e2eb;font-size:30px;line-height:1;padding:0 4px}.modal label{display:block;color:#d7e2ec;font-size:14px;font-weight:750;margin-bottom:15px}.modal input,.modal textarea,.modal select{display:block;width:100%;margin-top:7px;padding:12px;background:#0a1522;color:#eef6fd;border:1px solid #40566a;border-radius:8px;min-height:46px}.modal textarea{resize:vertical}.modal input::placeholder,.modal textarea::placeholder{color:#8498a8}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-help{color:#9fb0bf;font-size:14px;line-height:1.4}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#e6f4dd;color:#15211a;border-radius:8px;padding:11px 17px;font-size:14px;font-weight:700;box-shadow:0 10px 32px #0007;z-index:10;display:none;max-width:90vw;text-align:center}@media(max-width:900px){.workspace{grid-template-columns:1fr}.control-panel{display:grid;grid-template-columns:1fr 1fr;column-gap:18px}.control-panel>.section-kicker:first-child,.session-title,.session-meta,.timer-card,.status-row{grid-column:1}.control-panel>.spaced,.flag-grid,.tap-hint{grid-column:2}.control-panel>.spaced{grid-row:1;margin:0 0 12px}.flag-grid{grid-row:2 / span 4}.tap-hint{align-self:end}.timer-card{margin-top:15px}.status-row{margin-top:14px}.log-list{max-height:none}.log-panel{min-height:500px}}@media(max-width:650px){.app{padding:10px}.topbar{height:auto;padding:4px 2px 12px;align-items:start}.brand strong{font-size:14px}.brand-mark{width:36px;height:36px}.top-actions{flex-wrap:wrap;justify-content:flex-end;gap:5px}.saved{display:none}.top-actions .button{padding:8px 10px;min-height:36px;font-size:12px}.workspace{gap:10px}.control-panel{display:block;padding:16px}.session-title{font-size:21px}.timer-card{margin-top:13px;padding:13px}.timer{font-size:50px}.spaced{margin:20px 0 10px}.flag{min-height:48px;font-size:14px}.tap-hint{display:none}.log-heading{padding:17px}.log-heading h1{font-size:21px}.clock{font-size:16px}.entry-actions{padding:0 17px 14px;gap:6px}.action{min-height:64px;padding:7px;font-size:12px;align-items:center;text-align:center}.action-icon{font-size:20px}.log-tools{padding:10px 17px;flex-wrap:wrap}.log-tools input{width:100%;order:3}.entry{padding:13px 17px;grid-template-columns:75px 4px 1fr;gap:10px}.entry time{font-size:13px}.log-footer{padding:10px 17px}.form-grid{grid-template-columns:1fr;gap:0}}@media(max-width:370px){.topbar{display:block}.top-actions{margin-top:12px;justify-content:flex-start}.flag{font-size:13px}.entry-actions{grid-template-columns:repeat(2,1fr)}}
.session-switch-label{display:block;color:#8499ab;font-size:12px;letter-spacing:.12em;font-weight:800;margin:18px 0 7px}.session-select{display:block;width:100%;background:#0a1522;color:#dce8f1;border:1px solid #354b60;border-radius:7px;min-height:42px;padding:8px 10px;font-size:14px}@media(max-width:900px){.session-switch-label,.session-select{grid-column:1}.session-switch-label{margin-top:12px}.control-panel>.spaced{grid-row:1}.flag-grid{grid-row:2 / span 6}}@media(max-width:650px){.session-switch-label{margin-top:13px}}
[hidden]{display:none!important}.group-controls{margin-top:20px}.group-controls label{font-size:14px;font-weight:700;color:#b8cbdc}.group-controls .form-grid{grid-template-columns:1.2fr 1fr}.group-controls .button{margin-top:10px;width:100%;white-space:normal}.group-controls select{margin-top:7px}.control-panel{padding:20px}.flag.black .flag-dot{background:#080a0c;border:1px solid #9dadbd}.status.black{background:#03070b;color:#eaf0f7;border:1px solid #5f7081}.entry-actions{grid-template-columns:repeat(3,1fr)}.entry{width:100%;border-top:0;border-left:0;border-right:0;background:transparent;text-align:left;color:inherit;font:inherit;cursor:pointer}.entry:hover{background:#182b3e}.entry-title,.entry-meta,.entry-detail,.entry-history{display:block}.entry-history{color:#a9bfcf;font-size:13px;line-height:1.5;white-space:pre-wrap;margin-top:8px;border-left:2px solid #455a6f;padding-left:10px;overflow-wrap:anywhere}.dispatch-banner{margin:0 24px 18px;background:#194359;color:#b9edff;white-space:normal}.dispatch-call{display:block;width:100%;text-align:left;background:#102f41;border:1px solid #3e6b80;border-radius:8px;color:#eaf5fc;padding:15px;margin-bottom:12px;overflow-wrap:anywhere}.dispatch-call span{display:block;font-size:14px;color:#b7d1e1;margin-top:7px}.history{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.5;color:#adc3d4;padding:12px;background:#0c1825;border-radius:8px}.form-error{color:#ff9999;font-size:14px}.unit-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.modal fieldset{border:1px solid #435c70;border-radius:8px;padding:12px;margin:0 0 18px}.modal legend{font-size:14px;color:#bad8e8}.modal .check-label{display:flex;align-items:center;gap:10px;background:#1b3043;border-radius:6px;padding:10px;margin:0;min-height:48px}.modal input[type=checkbox]{width:22px;height:22px;min-height:22px;margin:0;accent-color:#f5b94d;flex:none}.clear-dispatch{background:#245542;color:#c4ffe1;width:100%;white-space:normal}.favorite-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:10px}.modal-actions{flex-wrap:wrap}.topbar{height:auto;min-height:70px;padding:8px 0;flex-wrap:wrap}.top-actions{flex-wrap:wrap}.session-meta{line-height:1.5;overflow-wrap:anywhere}.session-title{overflow-wrap:anywhere}.entry-meta{font-size:13px}.log-footer{font-size:13px}.button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:1100px){.workspace{grid-template-columns:minmax(300px,360px) minmax(0,1fr)}.entry-actions{padding:0 15px 15px}.log-heading{padding:20px 15px}.log-heading{flex-wrap:wrap}}@media(max-width:900px){.workspace{grid-template-columns:1fr}.control-panel{display:block}.flag-grid{grid-template-columns:repeat(3,1fr)}.group-controls .form-grid{grid-template-columns:1fr 1fr}.group-controls .button{width:auto;margin-right:8px}.timer{font-size:64px}.control-panel>.spaced{margin-top:24px}.log-list{max-height:none}}@media(max-width:650px){.flag-grid{grid-template-columns:1fr 1fr}.entry-actions{grid-template-columns:repeat(3,1fr)}.action{font-size:14px}.top-actions .button{font-size:14px;min-height:44px}.group-controls .button{width:100%;margin-right:0}.modal-backdrop{padding:10px}.modal{padding:18px}.modal-actions .button{white-space:normal}.group-controls .form-grid{gap:12px}.timer-actions{flex-wrap:wrap}.log-heading h1 span{display:block;margin:8px 0 0}.log-tools input{min-width:0}.entry{grid-template-columns:70px 4px minmax(0,1fr)}.unit-grid{grid-template-columns:1fr 1fr}.session-select{max-width:100%}}
.group-controls .form-grid>*{min-width:0}.session-select{width:100%;min-width:0}.modal{max-height:calc(100dvh - 20px)}
#callFields.incident-fields{display:block}.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:10px}.quick-choice{min-height:44px;border:1px solid #50677c;border-radius:7px;background:#1a2d40;color:#eaf3fc;font-size:14px;font-weight:750;padding:9px 5px}.quick-choice[aria-pressed=true]{background:#f5b94d;color:#14202b;border-color:#f5b94d}.position-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.color-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.modal .color-choice{display:flex;align-items:center;gap:6px;min-height:46px;margin:0;padding:8px;border:1px solid #486176;border-radius:7px;background:#0c1a29;font-size:14px;color:var(--car-color)}.color-choice:has(input:checked){outline:2px solid #f5b94d;outline-offset:0;background:#263a4a}.color-choice .color-swatch{height:12px;width:12px;flex:none;border:1px solid #8795a3;border-radius:50%;background:var(--swatch,var(--car-color))}.color-blue{--car-color:#83baff;--swatch:#237be8}.color-red{--car-color:#ff9d9d;--swatch:#e13f42}.color-white{--car-color:#fff}.color-black{--car-color:#d5dde5;--swatch:#050608}.color-silver{--car-color:#cfd7df}.color-gray{--car-color:#b0b8c1;--swatch:#808a96}.color-green{--car-color:#76e5a3;--swatch:#2db775}.color-yellow{--car-color:#ffe371}.color-orange{--car-color:#ffb26a;--swatch:#ed842a}.color-purple{--car-color:#c4a4ff;--swatch:#925de0}.color-pink{--car-color:#ffacd6}.color-brown{--car-color:#d4ad89;--swatch:#91633d}.color-gold{--car-color:#f2ce73;--swatch:#c59a37}.modal .other-color{margin:15px 0 0}#entryCar[type=tel]{font-size:24px;letter-spacing:.04em}@media(max-width:420px){.color-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Compact touch entry keeps caller and incident location separate. */
.compact-entry .modal{width:min(900px,100%);padding:16px 20px}
.compact-entry .modal-head{margin-bottom:10px;align-items:center}
.compact-entry .modal h2{font-size:22px;margin-top:3px}
.compact-entry #entryForm{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}
.compact-entry #entryForm>*{grid-column:1/-1;min-width:0;margin:0}
.compact-entry #callingField{order:0}
.compact-entry #callFields{order:1;grid-column:1;display:block}
.compact-entry #typeLabel{order:2;grid-column:2}
.compact-entry #colorField{order:3}
.compact-entry #positionFields{order:4;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.compact-entry #entryForm>label:has(#entryDetails){order:5}
.compact-entry #incidentLocationField{order:6}
.compact-entry #editHistory{order:7}
.compact-entry #entryError{order:8}
.compact-entry #clearDispatchBtn{order:9}
.compact-entry .modal-actions{order:10;position:sticky;bottom:-16px;background:#152233;padding:10px 0;margin-top:0;border-top:1px solid #435c70;z-index:2}
.compact-entry .modal label{margin-bottom:0}
.compact-entry .modal fieldset{padding:7px 9px;margin-bottom:0}
.compact-entry .quick-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;margin-top:0}
.compact-entry .quick-choice{padding:6px 3px;min-height:44px}
.compact-entry .color-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.compact-entry .color-choice{padding:5px;gap:4px;min-height:44px}
.compact-entry .color-choice input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}
.compact-entry .color-choice:focus-within{outline:3px solid #80c9ff}
.compact-entry .other-color{display:flex;align-items:center;gap:10px;margin-top:7px}
.compact-entry .other-color input{flex:1;min-width:0;margin-top:0}
.compact-entry .modal input,.compact-entry .modal select{padding:8px 10px;min-height:44px;margin-top:4px}
.compact-entry #entryCar{font-size:20px}
.compact-entry .modal textarea{height:44px;min-height:44px;padding:10px;margin-top:4px}
.compact-entry #entryError:empty{display:none}
.black-flag-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.flag-choice{position:relative;isolation:isolate;background:#070b10;border:2px solid #52677d;border-radius:10px;color:white;min-height:92px;padding:15px;font-size:18px;font-weight:800}
.flag-choice.mechanical:before{content:"";position:absolute;z-index:-1;width:66px;height:66px;border-radius:50%;background:#b84e00;left:50%;top:50%;transform:translate(-50%,-50%)}
.flag-choice[aria-pressed=true]{border-color:#f5b94d;box-shadow:inset 0 0 0 1px #f5b94d}
.interest-buttons{display:flex;flex-wrap:wrap;gap:8px}
.interest-car{background:#0c1a29;color:#eaf0f7;border:1px solid #52677d;border-radius:8px;min-height:64px;padding:10px 14px;text-align:left}
.interest-car strong,.interest-car>span{display:block}.interest-car>span{font-size:14px;margin-top:5px}
.interest-car[aria-pressed=true]{outline:2px solid #f5b94d}
@media(max-width:700px){.compact-entry .modal{padding:12px}.compact-entry .color-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.compact-entry .quick-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.compact-entry .modal-actions{bottom:-12px}.compact-entry #positionFields{grid-template-columns:1fr;gap:8px}.flag-choice{font-size:16px}}
@media(max-width:390px){.compact-entry .color-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-entry #callFields,.compact-entry #typeLabel{grid-column:1/-1}}
.custom-turn{margin-top:5px;font-size:14px;color:#b7ccdd}.custom-turn summary{cursor:pointer;min-height:24px;padding:3px 0}.compact-entry .other-color{font-size:14px}.compact-entry #blackFlagChoices{order:0}
@keyframes five-minute-flash{0%,49%{background:#ec1616}50%,100%{background:#0a1420}}
.timer-card.five-minute-warning{animation:five-minute-flash 1s step-end infinite;border-color:#ff3030}
.timer-card.five-minute-warning .timer{color:#fff}
.timer-card.one-minute-warning{background:#ffeb00;border-color:#ffeb00;color:#111}
.timer-card.one-minute-warning .timer,.timer-card.one-minute-warning .timer-label{color:#111}
.timer-card.clock-finished{background:conic-gradient(#fff 25%,#080808 0 50%,#fff 0 75%,#080808 0) 0 0/48px 48px;border-color:#fff}
.timer-card.clock-finished .timer{color:#ff2020;text-shadow:2px 2px 0 #000,-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000}
.timer-card.clock-finished .timer-label{display:table;background:#080e17;color:white;padding:3px 6px;border-radius:4px}
.compact-entry #interestLabel{order:0}.compact-entry #unitsField{order:4}
.compact-entry.dispatch-form #callFields{grid-column:1/-1;display:grid;grid-template-columns:2fr 1fr;gap:12px}
.compact-entry .unit-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
.compact-entry .check-label{padding:7px;font-size:14px}
@media(max-width:700px){.compact-entry .unit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-entry.dispatch-form #callFields{grid-template-columns:1fr}}
/* Racing Control Log — slate working surface with neon-green controls. */
:root{--surface:#20272f;--canvas:#14191f;--raised:#29333d;--border:#3b4855;--accent:#8cff3b;color:#edf1f4;background:var(--canvas)}
body{background:var(--canvas)}
.app{max-width:1920px;padding:18px 24px}
.topbar{min-height:76px;margin-bottom:18px;border-color:var(--border)}
.brand{gap:14px;letter-spacing:.07em}.brand-logo{width:76px;height:60px;object-fit:contain}.brand strong{font-size:21px;font-style:italic;font-weight:900;letter-spacing:.02em}.brand small{font-size:12px;letter-spacing:.18em;color:#a5b0ba}
.control-panel,.log-panel{background:var(--surface);border-color:var(--border);border-radius:12px}
.section-kicker,.action-icon{color:var(--accent)}
.button.primary{background:var(--accent);color:#14200d}.button.secondary{background:#34404b}.button.subtle{border-color:#56616c;color:#dae1e6}.button.outline{border-color:#687580}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline-color:var(--accent)}
.group-controls label,.session-switch-label,.session-meta,.saved{color:#b3bdc7}
.session-select,.modal input,.modal textarea,.modal select,.log-tools input{background:#151c23;border-color:#4c5966;color:#f1f4f7}
.timer-card{background:#141a20;border-color:#46545f}.timer{color:var(--accent)}
.timer-label{color:#b9c5ce}
.flag,.action{background:#2a343e;border-color:#465360}.flag:hover,.action:hover{background:#34414c;border-color:var(--accent)}
.flag.green .flag-dot{background:var(--accent)}
.action.radio .action-icon,.action.note .action-icon{color:var(--accent)}
.status.green{background:#263c22;color:var(--accent)}
.log-tools{background:#1b232b;border-color:var(--border)}.entry{border-color:#35414d}.entry:hover{background:#29353f}.entry-meta{color:#b1bfca;font-size:14px}.entry-detail{color:#d0d9df;font-size:16px}.entry-title{font-size:16px}.log-footer{color:#b3bec7}
.modal{background:var(--surface);border-color:#5a6874}.modal .check-label{background:#2b3741}.modal input[type=checkbox]{accent-color:var(--accent)}
.quick-choice{background:#293640;border-color:#536270}.quick-choice[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#13210b}
.modal .color-choice{background:#18212a;border-color:#485764}.color-choice:has(input:checked){outline-color:var(--accent);background:#304235}
.compact-entry .modal-actions{background:var(--surface)}
.flag-choice[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.interest-car[aria-pressed=true]{outline-color:var(--accent)}
.end-summary{background:#151c23;border-left:3px solid var(--accent);border-radius:5px;padding:18px;font-size:18px;font-variant-numeric:tabular-nums;line-height:1.6}
.export-modal{width:min(760px,100%)}.export-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.export-options .button{white-space:normal}#exportText{font-family:ui-monospace,monospace;font-size:14px;line-height:1.5;min-height:240px}
/* At zero, flash only the clock face; keep the red figures on a clean dark plate. */
.timer-card.clock-finished{position:relative;isolation:isolate;background:#141a20;border-color:#c4cdd4;overflow:hidden}
.timer-card.clock-finished:before{content:"";position:absolute;inset:0;z-index:-1;background:conic-gradient(#f2f4f5 25%,#14191f 0 50%,#f2f4f5 0 75%,#14191f 0) 0 0/64px 64px;opacity:1}
.timer-card.clock-finished .timer{display:table;background:#141a20;border-radius:8px;padding:4px 16px;color:#ff3030;text-shadow:none}
.timer-card.clock-finished .timer-label{background:#141a20}
.timer-card.clock-finished .timer-actions{background:#141a20;padding:8px;border-radius:8px}
@keyframes finish-checker-flash{0%,49%{opacity:1}50%,100%{opacity:0}}
.timer-card.clock-finished.finish-flashing:before{animation:finish-checker-flash 1s step-end infinite}
@media(min-width:1200px){
 .app{height:100dvh;display:flex;flex-direction:column;overflow:hidden}
 .topbar{flex:none}
 .workspace{grid-template-columns:400px minmax(0,1fr);gap:20px;min-height:0;flex:1}
 .control-panel{height:100%;overflow:auto;padding:22px}
 .session-title{font-size:28px}.group-controls{margin-top:16px}
 .group-controls .form-grid{gap:12px}.group-controls .button{width:auto;margin-right:6px}
 .timer-card{margin-top:18px;padding:18px}.timer{font-size:76px;letter-spacing:-.04em}
 .status-row{margin-top:18px}.spaced{margin:22px 0 12px}.flag{min-height:58px}
 .log-panel{min-height:0;height:100%}
 .log-list{min-height:0;max-height:none;flex:1;overflow:auto}
 .log-heading{padding:24px}.log-heading h1{font-size:28px}.clock{font-size:28px}
 .entry-actions{grid-template-columns:repeat(5,minmax(0,1fr));padding:0 24px 22px;gap:12px}
 .action{min-height:90px;padding:16px;font-size:16px;gap:10px}
 .entry{padding:18px 24px;grid-template-columns:105px 5px minmax(0,1fr)}.entry time{font-size:17px}
 .log-heading,.entry-actions,.log-tools,.log-footer{flex-shrink:0}
 .log-tools input{width:340px}.tap-hint{font-size:14px}
}
@media(max-width:1199px){.app{padding:14px}.brand strong{font-size:18px}.brand-logo{width:60px;height:50px}}
@media(max-width:650px){.brand strong{font-size:16px}.brand small{font-size:11px}.brand-logo{width:48px;height:44px}.app{padding:10px}.entry-actions{grid-template-columns:repeat(3,1fr)}.export-options{grid-template-columns:1fr}.top-actions{margin-left:auto}}
.log-tools select{background:#151c23;color:#edf1f4;border:1px solid #4c5966;border-radius:7px;min-height:42px;padding:7px 10px;font-size:14px;min-width:130px}
.log-heading h1 #logTitle{font-size:inherit;color:inherit;font-weight:inherit;margin:0;white-space:normal}
.export-scope-label{display:block;font-size:14px;font-weight:750;color:#d7e2ec;margin-bottom:18px}
.export-scope-label select{display:block;width:100%;background:#151c23;color:#edf1f4;border:1px solid #4c5966;border-radius:8px;margin-top:7px;min-height:46px;padding:10px}
#soundBtn{min-width:108px}
@media(max-width:700px){.log-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px}.log-tools label,.log-tools input,.log-tools #filterCount{grid-column:1/-1}.log-tools input{order:0;margin:0;width:100%}.log-tools select{width:100%;min-width:0}.log-tools #filterCount{font-size:14px}.top-actions #soundBtn{min-width:0}}

.button.danger{background:#702d36;color:#fff;border:1px solid #da7c85}.button.danger:hover{background:#903644}#deleteEntryBtn{margin-right:auto}

/* One workspace, adapted for desktop, landscape tablets and portrait phones. */
.mobile-dock{display:none}
.workspace,.workspace>*{min-width:0}
.log-tools{flex-wrap:wrap}.log-tools input{max-width:100%;min-width:0;flex:1 1 190px}
.entry-title,.entry-detail,.entry-meta{overflow-wrap:anywhere}
button,input,select,textarea{touch-action:manipulation}
@media(min-width:901px) and (max-width:1199px){
 .app{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:12px max(12px,env(safe-area-inset-right)) 12px max(12px,env(safe-area-inset-left))}
 .topbar{flex:none;min-height:58px;margin-bottom:12px;gap:8px}.brand small{font-size:10px}.top-actions{gap:6px}.saved{display:none}.top-actions .button{padding:10px;font-size:14px}
 .workspace{flex:1;min-height:0;grid-template-columns:310px minmax(0,1fr);gap:12px}
 .control-panel{height:100%;overflow:auto;padding:14px}.session-title{font-size:23px}.group-controls{margin-top:12px}.group-controls .button{padding:9px 10px}.session-switch-label{margin-top:12px}
 .timer-card{padding:12px;margin-top:14px}.timer{font-size:64px}.timer-actions{flex-wrap:wrap}.timer-actions .button{padding:10px;font-size:14px}.status-row{gap:8px;margin-top:14px}.spaced{margin:18px 0 10px}.flag{min-height:52px;padding:9px;font-size:14px}
 .log-panel{height:100%;min-height:0}.log-heading{padding:16px}.log-heading h1{font-size:24px}.clock{font-size:19px}
 .entry-actions{grid-template-columns:repeat(3,minmax(0,1fr));padding:0 16px 14px;gap:7px}.action{min-height:64px;flex-direction:row;align-items:center;justify-content:flex-start;padding:10px;font-size:14px;gap:8px}
 .log-tools{padding:10px 16px;gap:8px}.log-tools label{width:100%}.log-tools select{flex:1;min-width:0}.log-tools input{flex-basis:100%;width:100%}.log-list{flex:1;min-height:0;max-height:none;overflow:auto}.log-heading,.entry-actions,.log-tools,.log-footer{flex-shrink:0}.log-footer{padding:10px 16px}
}
@media(min-width:651px) and (max-width:900px){
 .control-panel{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}
 .control-panel>.section-kicker:first-child,.control-panel>.session-title,.control-panel>.session-meta,.control-panel>.group-controls{grid-column:1}
 .control-panel>.timer-card{grid-column:2;grid-row:1 / span 4;align-self:start;margin:0}
 .control-panel>.status-row{grid-column:1/-1;margin-top:4px}.control-panel>.spaced{grid-column:1/-1;grid-row:auto;margin:10px 0 0}.control-panel>.flag-grid{grid-column:1/-1;grid-row:auto}.control-panel>.tap-hint{grid-column:1/-1}
 .group-controls{margin-top:0}.session-title{margin:0}.entry-actions{grid-template-columns:repeat(5,minmax(0,1fr))}.action{padding:10px;font-size:14px}
 .log-tools input{flex-basis:100%;width:100%}.log-list{max-height:none}
}
@media(max-width:650px){
 .app{padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));min-height:100dvh}
 .topbar{display:flex;gap:8px;min-height:0;margin-bottom:8px;padding:0 0 8px}.brand{gap:8px}.brand strong{font-size:16px}.brand small{font-size:9px;letter-spacing:.1em}.brand-logo{width:42px;height:38px}
 .top-actions{width:100%;margin:0;display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:6px}.top-actions .button{padding:8px 6px;font-size:13px;min-height:44px}
 .mobile-dock{display:block;position:sticky;top:0;z-index:3;background:var(--canvas);padding:6px 0 8px}
 .mobile-clock{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#141a20;border:1px solid var(--border);border-radius:10px;padding:10px 12px}
 .mobile-clock>div{min-width:0}.mobile-clock #mobileSession{display:block;font-size:12px;color:#b9c5ce;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:48vw}.mobile-clock strong{display:block;font-size:38px;line-height:1.05;font-variant-numeric:tabular-nums;color:var(--accent)}.mobile-clock .status{max-width:45%;text-align:center;font-size:10px}
 .mobile-clock.five-minute-warning{animation:five-minute-flash 1s step-end infinite}.mobile-clock.five-minute-warning strong{color:white}.mobile-clock.one-minute-warning{background:#ffeb00}.mobile-clock.one-minute-warning strong,.mobile-clock.one-minute-warning #mobileSession{color:#111}
 .mobile-clock.clock-finished:before{content:"";position:absolute;inset:0;z-index:-1;background:conic-gradient(#f2f4f5 25%,#14191f 0 50%,#f2f4f5 0 75%,#14191f 0) 0 0/40px 40px}.mobile-clock.clock-finished>div{background:#141a20;border-radius:5px;padding:3px 8px}.mobile-clock.clock-finished strong{color:#ff3030}.mobile-clock.finish-flashing:before{animation:finish-checker-flash 1s step-end infinite}
 .mobile-nav{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:7px}.mobile-nav button{min-height:44px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:#dce5ed;font-size:14px;font-weight:800}.mobile-nav button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#14200d}
 .workspace{display:block;min-height:0}.workspace[data-mobile-view=log] .control-panel,.workspace[data-mobile-view=controls] .log-panel{display:none}
 .control-panel{padding:14px}.log-panel{min-height:0}.log-heading{padding:12px}.log-heading .section-kicker{display:none}.log-heading h1{margin:0;font-size:21px}.log-heading h1 #logTitle{display:inline}.log-heading h1 #entryCount{display:inline;font-size:12px;margin-left:5px}.clock{font-size:14px}
 .entry-actions{padding:0 12px 12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.action{min-height:68px;font-size:13px;padding:8px}.log-tools{padding:12px}.log-list{min-height:200px;max-height:none;overflow:visible}.dispatch-banner{margin:0 12px 12px}.log-footer{padding:12px}
 .modal-backdrop{padding:0;align-items:stretch}.modal,.compact-entry .modal{width:100%;height:100dvh;max-height:100dvh;border-radius:0;border:0;padding:12px max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));overscroll-behavior:contain}
 .modal-head{position:sticky;top:-12px;z-index:3;background:var(--surface);padding:10px 0;border-bottom:1px solid var(--border)}.close{min-width:44px;min-height:44px}
 .modal input,.modal select,.modal textarea,.session-select,.log-tools input,.log-tools select{font-size:16px}
 .modal-actions,.compact-entry .modal-actions{position:sticky;bottom:calc(-1 * max(12px,env(safe-area-inset-bottom)));z-index:2;background:var(--surface);padding:12px 0 max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--border);gap:8px}.modal-actions .button{flex:1;min-height:48px}#deleteEntryBtn{flex-basis:100%;margin-right:0}
 .compact-entry .quick-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.compact-entry .color-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-entry .color-choice{min-height:46px}.compact-entry .modal textarea{height:64px}.custom-turn summary{min-height:44px;display:flex;align-items:center}
}
