:root{color-scheme:dark;--ink:#edf6ff;--muted:#a5b6d0;--blue:#5ceaff;--line:#294058;--paper:#101a2ce8;--bg:#050a16;--green:#163c39}
body{background:radial-gradient(ellipse at 90% 0%,#51247855,transparent 42%),radial-gradient(ellipse at 0% 45%,#007d9433,transparent 40%),#050a16;color:var(--ink);background-attachment:fixed;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
body:before{content:'';position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:linear-gradient(#5ceaff05 1px,transparent 1px),linear-gradient(90deg,#5ceaff05 1px,transparent 1px);background-size:48px 48px}
.top{padding:20px max(24px,calc((100vw - 1400px)/2));background:#080d1ce8;border-bottom:1px solid #56dcff60;box-shadow:0 6px 40px #49c5ff0c;flex-wrap:wrap;backdrop-filter:blur(18px)}
.brand{font-size:20px;letter-spacing:.08em;font-weight:850;line-height:1.2}.brand-symbol{font-style:normal;background:linear-gradient(135deg,#46efff,#b9a4ff);color:#061321;padding:10px 9px;border-radius:9px;box-shadow:0 0 22px #3beaff44;letter-spacing:-.06em;font-size:18px}.brand small{display:block;font-weight:500;font-size:12px;letter-spacing:.22em;margin-top:5px;color:#81e9ff}.pilot{font-size:13px;color:#a7accb;margin-left:auto}.language-control{margin:0;min-width:105px}.language-control span{font-size:11px;letter-spacing:.05em}.language-control select{font-size:14px;min-height:38px;padding:7px 25px 7px 10px}
main{max-width:1320px;padding-top:30px}.coach-view main{max-width:1500px}.view-switch{border-bottom:1px solid #263a50;padding-bottom:20px;margin-bottom:24px}h1{font-size:clamp(27px,3vw,38px);letter-spacing:-.04em}h2{font-size:20px}h3{letter-spacing:-.025em}.eyebrow{color:#67edff;letter-spacing:.12em;font-size:12px;text-transform:uppercase}
#group-start,#team-dashboard,.protocol,.result>section,.coach,dialog,.route-picker,.picker{background:linear-gradient(145deg,#152137ed,#0b1424f5);border:1px solid #354465;border-radius:18px;box-shadow:0 16px 50px #0004,inset 0 1px 0 #a1b9ff0d}
#group-start,#team-dashboard{padding:28px;border-top:2px solid #65e8ff}.picker,.route-picker{padding:20px;margin-bottom:20px}.athlete-panel{background:#0e1728c9;border:1px solid #273e56;border-radius:15px;padding:20px}.athlete-data{color:#bcd1e8}.select-wrap{flex-basis:420px}
input,textarea,select,#group-name,.member-form input,#invite-recipient,#invite-text,.session-toolbar input,#session-search,#group-inputs input,#group-inputs select{background:#080f20;color:#f0f6ff;border:1px solid #41506b;border-radius:9px;font:inherit;accent-color:#56e4ff}input::placeholder,textarea::placeholder{color:#8393ad;opacity:1}input:focus,select:focus,textarea:focus{border-color:#69eaff;box-shadow:0 0 0 3px #50eaff16;outline:0}option,optgroup{background:#0a1427;color:#e8f3ff}#group-name{font-weight:650;font-size:23px;border-color:#5adbf455}label,.small-label,.muted{color:#adbed5}
button{background:linear-gradient(135deg,#183f5a,#24365f);color:#eafaff;border:1px solid #65cfe354;border-radius:9px;transition:background .15s,box-shadow .15s,transform .15s;font-weight:650}button:hover{background:linear-gradient(135deg,#245d78,#483b80);border-color:#71dfff;box-shadow:0 0 18px #4ae2ff1c}button:active{transform:translateY(1px)}button:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}#go-protocol,#save-session,#team-pdf,#download-card{background:linear-gradient(115deg,#6dedff,#a99aff);color:#07101f;border:0;box-shadow:0 4px 22px #42d7ff22}#go-protocol{min-height:52px;padding-inline:24px}#conduct-session{border-color:#9f8aff;background:#33274c}.team-actions{gap:10px}.participant-check{color:#e1ebfa}.roster-row button{background:#182c45;color:#d7eeff}.invite-coach{background:none;color:#5ceaff}
table{color:#d4e3f6}th{background:#18283d!important;color:#9bddee;border-bottom:1px solid #40667b!important;text-transform:none}td{border-color:#24364d!important}tbody tr:nth-child(even),.team-table tbody tr:nth-child(even){background:#11223855}tbody tr:hover{background:#223b5155}.table-wrap{border:1px solid #2a3e59;border-radius:12px}.team-table th,.team-table td{font-size:14px}.team-table td:first-child{color:#f0f5ff}#group-inputs input{min-height:46px;font-variant-numeric:tabular-nums}#group-inputs td{padding-block:12px}#group-inputs input[type=checkbox]{min-height:20px}#group-results>button{margin-top:20px}
.execution-group{background:linear-gradient(140deg,#162840,#11182e);border:1px solid #344263;border-top:3px solid #65eaff;padding:22px;border-radius:16px}.execution-group:nth-of-type(2n){border-top-color:#b498ff}.execution-group h3{color:#eafcff;font-size:31px}.execution-group p,.execution-group small{color:#b4c7de}.execution-group details{background:#081426;border:1px solid #29465b;border-radius:10px}.group-controls{background:#0c1728;border-radius:12px;padding:16px}.group-route{color:#6fefff}.group-pitch svg,.coach-pitch,#route-drawing{border:1px solid #61e4ee42;border-radius:14px;box-shadow:0 0 25px #31afbb10}.session-toolbar{padding-bottom:22px;border-bottom:1px solid #30415b;margin-bottom:24px}.group-edit input{background:#071324}.coverage-table{font-variant-numeric:tabular-nums}
.field-strip{background:#153c4244!important;color:#a9fcdd!important;border:1px solid #64e4c23b!important}.distance{color:#81f1ff;text-shadow:0 0 35px #39d5ff33}.metrics b,.volume-number b{color:#f0fbff;font-variant-numeric:tabular-nums}.track{background:#26364d!important}.fill{background:linear-gradient(90deg,#49e7e4,#aa9aff)!important;box-shadow:0 0 10px #58dbff44}.zone-bar small{color:#9cb3cd}.angle-card{background:#0b1728;border-color:#314766;color:#a5bfd8}.angle-card[aria-pressed=true]{background:#173f51;border-color:#7aefff;color:#95f5ff;box-shadow:0 0 17px #42e1ff15}.angle-card svg{color:inherit}.alert{background:#493323!important;color:#ffddb6!important;border-color:#ae7543!important}.profile-grid article{background:#10233a!important;border-color:#2c4f66!important}#profile-info{color:#80efff;background:#153243}.time-strip>div{background:#122b46}.time-strip .rest{background:#2a2440}details{border-color:#2b3f5b!important}summary{color:#c0d7ee}dialog{color:#e4f0ff;max-width:min(1120px,96vw)}dialog::backdrop{background:#020611c9;backdrop-filter:blur(6px)}.dialog-head button{background:#1b2e49}.dialog-head{padding-top:5px}#download-preview,#team-pdf-pages{background:#0a1425}#download-dialog p{color:#b9cde1}.saved-session{border-color:#31455b}footer{color:#7892b1!important}.catalog-link{color:#7bdeff!important;background:transparent!important}a{color:#79eaff}#curve{background:#dbe8ed;border-radius:10px}*{scrollbar-color:#3b647c #0b1525}
@media(max-width:760px){.top{padding:16px;gap:14px}.brand{font-size:16px;letter-spacing:.05em}.brand-symbol{padding:8px;font-size:15px}.pilot{display:none}.language-control{margin-left:auto;min-width:94px}.language-control span{display:none}main{padding:18px 12px}.coach-view main{padding:18px 12px}#group-start,#team-dashboard{padding:18px 14px}.team-actions button{white-space:normal;min-height:46px}.execution-group{padding:16px}.execution-group h3{font-size:26px}.group-pitch p{font-size:14px}.athlete-panel{padding:15px}.protocol{padding:20px 16px}.coach-pitch{min-height:200px}.brand small{font-size:10px}.group-controls{padding:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.top{background:linear-gradient(100deg,#081321f5,#170d2cf5)}.brand{filter:drop-shadow(0 0 10px #51d9ff22)}#group-start,#team-dashboard{box-shadow:0 0 0 1px #5ff0ff0a,0 20px 80px #0007,inset 0 1px 25px #6be4ff08}.protocol{border-top:2px solid #68e7ff}.route-picker{border-color:#735bc966}.distance{text-shadow:0 0 35px #39d5ff55}.eyebrow{text-shadow:0 0 16px #55dfff35}

#athlete[hidden]{display:none!important}.athlete-panel .athlete-info{width:100%}.athlete-panel .athlete-data{text-align:left}.athlete-panel #personal-name{margin:0 0 10px;font-size:clamp(24px,3vw,32px)}

.fit-suggestions{padding:22px;border:1px solid #9275df;border-left:4px solid #9f87ff;border-radius:14px;background:linear-gradient(135deg,#201b39,#101d2e);margin-bottom:22px}.fit-suggestions[hidden],.coach-group-step .fit-suggestions,.conduct-mode .fit-suggestions{display:none}#fit-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:15px}.fit-option{padding:16px;background:#0d1528;border:1px solid #405270;border-radius:12px}.fit-option h3{color:#a9efff;font-size:25px;margin:0}.fit-option p{font-size:14px;color:#bdcde1}.fit-option button{white-space:normal}

.rpl-route-note{padding:18px;border:1px solid #3b596f;border-radius:12px;margin-bottom:20px;background:#0d1b2c}.rpl-route-note p{color:#bbcbdd}.coach-group-step .rpl-route-note,.conduct-mode .rpl-route-note{display:none}

.groups-home{padding:28px;border:1px solid #405b79;border-top:3px solid #60e4ff;border-radius:22px;background:#121e31;margin:24px 0}.groups-home[hidden]{display:none}#my-groups-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.my-group-card{padding:24px;border:1px solid #3c6178;border-radius:16px;background:#0b1628}.my-group-card h2{margin-top:0}.my-group-card button{width:100%}

.dose-fit{padding:22px;border:1px solid #446d83;border-radius:16px;background:#102335;margin-bottom:20px}.dose-fit label{display:block;max-width:360px;margin-bottom:12px}.dose-fit p{font-size:14px;color:#bbcbdd}.coach-group-step .dose-fit,.conduct-mode .dose-fit{display:none}
/* Explicit settings selectors override the original light-theme form rules. */
.settings input,.settings select{background:#080f20;color:#f0f6ff;border-color:#536984;color-scheme:dark}
.settings input:disabled,.settings select:disabled{background:#1b293c;color:#bdcce0;opacity:1;-webkit-text-fill-color:#bdcce0}
.settings input::placeholder{color:#a5b6cd;opacity:1}
.settings input:focus,.settings select:focus{border-color:#69eaff;box-shadow:0 0 0 3px #50eaff26}
.coach-body>p{color:#bdcce0}
.settings-actions button:last-child{background:#243854;color:#f0f6ff;border:1px solid #536984}
