:root{color:#18332c;background:#f5f2ea;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--content-width: 1760px;--ink: #18332c;--muted: #6d7873;--green: #173f35;--green-2: #2f7d68;--cream: #f5f2ea;--paper: #fffdf8;--line: #dddcd4;--orange: #d46b46;--shadow: 0 18px 50px rgba(27, 55, 47, .08)}*{box-sizing:border-box}html{min-width:320px;background:var(--cream)}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{color:inherit}button,select{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--ink);font-family:Georgia,Times New Roman,serif;font-weight:500;letter-spacing:-.025em}h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.02}h2{margin-bottom:0;font-size:clamp(1.35rem,2vw,1.75rem)}.eyebrow{margin-bottom:.45rem;color:var(--orange);font-size:.69rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.brand-mark{display:grid;width:52px;height:52px;place-items:center;border-radius:16px;color:#fff;background:var(--green-2)}.brand-mark.small{width:38px;height:38px;flex:0 0 auto;border-radius:12px}.brand-lockup{display:flex;align-items:center;gap:.75rem}.brand-lockup>div:last-child{display:grid;gap:.12rem}.brand-lockup strong{color:inherit;font-size:.92rem}.brand-lockup span{overflow:hidden;max-width:190px;color:#b9c6c1;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:.55rem;padding:.72rem 1.05rem;border:1px solid transparent;border-radius:12px;font-weight:750;transition:transform .15s ease,background .15s ease,border-color .15s ease}.button:active:not(:disabled){transform:translateY(1px)}.button.primary{color:#fff;background:var(--green)}.button.primary:hover{background:#245b4c}.button.secondary{border-color:#d3d5ce;background:#fff}.button.secondary:hover{border-color:#9baca5;background:#f8faf7}.button.light{color:var(--green);background:#fff}.button.ghost{border-color:transparent;background:transparent}.button.compact{min-height:40px;padding:.55rem .85rem}.button.danger{color:#ad3d36;border-color:#e7c5c2;background:#fff7f6}.icon-button{display:inline-grid;width:42px;height:42px;flex:0 0 auto;place-items:center;padding:0;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.icon-button.quiet{border-color:transparent;background:transparent}.icon-button.accent{color:#fff;border-color:var(--green-2);background:var(--green-2)}.text-button{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem 0;color:var(--green-2);border:0;background:none;font-weight:750}.field{display:grid;gap:.45rem}.field>span,.fieldset legend{color:#465650;font-size:.78rem;font-weight:750}.field input,.field select,.roster-row input,.status-setting-row input,.athlete-input-row input,.month-picker input{width:100%;min-height:47px;padding:.68rem .8rem;color:var(--ink);border:1px solid #d8d8d0;border-radius:10px;outline:none;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.field input:focus,.field select:focus,.roster-row input:focus,.status-setting-row input:focus,.athlete-input-row input:focus,.month-picker input:focus{border-color:var(--green-2);box-shadow:0 0 0 3px #2f7d681f}.field small{color:var(--muted);font-size:.72rem}.season-input{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(72px,.65fr);align-items:center;gap:.6rem}.season-input output{display:flex;min-height:47px;align-items:center;padding:.68rem .8rem;color:#53625d;border:1px solid #e1e1da;border-radius:10px;background:#f4f4ef;font-weight:750}.form-grid{display:grid;gap:1rem}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.fieldset{margin:0;padding:0;border:0}.fieldset legend{margin-bottom:.65rem}.weekday-grid{display:flex;flex-wrap:wrap;gap:.45rem}.weekday-button{display:inline-flex;min-width:52px;min-height:39px;align-items:center;justify-content:center;gap:.25rem;padding:.5rem .65rem;border:1px solid #d8d8d0;border-radius:10px;background:#fff;font-size:.78rem;font-weight:750}.weekday-button.selected{color:#fff;border-color:var(--green-2);background:var(--green-2)}.loading-page{display:grid;min-height:100vh;place-content:center;justify-items:center;gap:.75rem;color:var(--muted)}.error-page{display:grid;min-height:100vh;padding:1rem;place-items:center;background:var(--cream)}.error-card{width:min(480px,100%);padding:1.5rem;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.error-card h1{margin-bottom:.75rem;font-size:1.6rem}.error-card p{color:var(--muted);line-height:1.5}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-update-banner{position:fixed;z-index:90;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom))}.app-update-banner{display:flex;width:min(520px,calc(100vw - 2rem));align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border-radius:16px;background:var(--green);box-shadow:0 18px 50px #0717124d;color:#fff}.app-update-banner>div{display:grid;gap:.2rem}.app-update-banner span{color:#d7e4df;font-size:.8rem}.welcome-page,.setup-page{min-height:100vh;padding:max(2rem,env(safe-area-inset-top)) 1.25rem 2rem;background:radial-gradient(circle at 80% 10%,rgba(212,107,70,.12),transparent 28rem),var(--cream)}.welcome-toolbar{display:flex;width:min(820px,100%);justify-content:flex-end;margin:0 auto}.welcome-reset{color:#ad4f47;border:1px solid rgba(173,79,71,.2);background:#fffdf8b8}.welcome-reset:hover{background:#fffdf8}.welcome-content{width:min(820px,100%);margin:clamp(2rem,8vh,7rem) auto 0;text-align:center}.welcome-mark{margin:0 auto 1.5rem}.welcome-content h1{margin-bottom:1.1rem;font-size:clamp(2.8rem,7vw,5.4rem)}.welcome-content>p{max-width:560px;margin:0 auto 2.5rem;color:var(--muted);font-size:1.02rem;line-height:1.65}.mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;text-align:left}.mode-card{display:grid;min-height:185px;align-content:start;gap:.8rem;padding:1.5rem;border:1px solid #dbdbd3;border-radius:18px;background:#fffdf8eb;box-shadow:var(--shadow);transition:transform .18s ease,border-color .18s ease}.mode-card:hover{transform:translateY(-3px);border-color:var(--green-2)}.mode-card svg{color:var(--green-2)}.mode-card strong{margin-top:.3rem;font-family:Georgia,Times New Roman,serif;font-size:1.35rem;font-weight:500}.mode-card span{color:var(--muted);line-height:1.5}.setup-brand{display:flex;width:min(820px,100%);align-items:center;gap:.8rem;margin:0 auto 1.5rem;font-weight:800}.setup-brand .brand-mark{width:42px;height:42px;border-radius:13px}.setup-card{display:grid;width:min(820px,100%);gap:1.8rem;margin:0 auto;padding:clamp(1.35rem,4vw,3rem);border:1px solid #dfded6;border-radius:24px;background:var(--paper);box-shadow:var(--shadow)}.setup-card h1{margin-bottom:-1rem}.coach-start-card{margin-top:clamp(1rem,6vh,4.5rem)}.coach-start-card h1,.shared-team-setup h1{margin:.35rem 0 0}.coach-start-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.coach-start-back{justify-self:start}.shared-team-list{display:grid;gap:.55rem}.shared-team-list>button{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border:1px solid var(--line);border-radius:12px;background:#f7f5ef;text-align:left}.shared-team-list>button:hover{border-color:var(--green-2)}.shared-team-list span{display:grid;gap:.25rem}.shared-team-list small{color:var(--muted)}.shared-team-loading{display:flex;align-items:center;gap:.55rem;margin:0;color:var(--muted)}.lead{margin-bottom:0;color:var(--muted);line-height:1.6}.athlete-inputs{display:grid;gap:.5rem;margin-bottom:.65rem}.athlete-input-row,.roster-row{display:grid;grid-template-columns:34px minmax(0,1fr) 42px;align-items:center;gap:.4rem}.row-number{color:#98a09d;font-size:.76rem;font-weight:800;text-align:center}.setup-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem}.setup-restore{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1rem;border-top:1px solid var(--line)}.setup-restore>span{color:var(--muted);font-size:.76rem}.onboarding-page{min-height:100vh;padding:max(1.25rem,env(safe-area-inset-top)) 1rem max(1.5rem,env(safe-area-inset-bottom));background:radial-gradient(circle at 85% 5%,rgba(47,125,104,.12),transparent 30rem),var(--cream)}.onboarding-shell{width:min(780px,100%);margin:0 auto}.onboarding-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.onboarding-header .setup-brand{width:auto;margin:0}.onboarding-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:.4rem;margin-bottom:.7rem}.onboarding-progress i{height:5px;border-radius:999px;background:#d9ddd8}.onboarding-progress i.active{background:var(--green-2)}.onboarding-card{display:grid;min-height:560px;align-content:space-between;gap:2rem;padding:clamp(1.35rem,5vw,3.25rem);border:1px solid #dfded6;border-radius:24px;background:var(--paper);box-shadow:var(--shadow)}.onboarding-card section{display:grid;align-content:start;gap:1.15rem}.onboarding-card h1{margin-bottom:0;font-size:clamp(2rem,5vw,3.4rem)}.onboarding-intro{text-align:center}.onboarding-icon{display:grid;width:62px;height:62px;margin:0 auto;place-items:center;color:var(--green-2);border-radius:18px;background:#e7f1ed}.onboarding-checklist{display:grid;gap:.65rem;width:fit-content;margin:0 auto;padding:0;list-style:none;color:#41524c;text-align:left}.onboarding-checklist li{display:flex;align-items:center;gap:.55rem}.onboarding-checklist svg{color:var(--green-2)}.onboarding-restore{display:grid;justify-items:center;gap:.55rem;margin-top:.25rem;padding-top:1rem;border-top:1px solid var(--line)}.onboarding-restore>span{color:var(--muted);font-size:.76rem}.onboarding-athletes{max-height:290px;overflow:auto;padding-right:.25rem}.cloud-guide{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;color:#355149;border-radius:12px;background:#e9f2ee;font-size:.82rem;line-height:1.4}.cloud-guide svg{flex:0 0 auto;color:var(--green-2)}.onboarding-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;padding-top:1.2rem;border-top:1px solid var(--line)}.onboarding-actions>div{flex:1}.app-shell{display:grid;min-height:100vh;grid-template-columns:242px minmax(0,1fr)}.sidebar{position:sticky;top:0;display:flex;height:100vh;flex-direction:column;padding:1.35rem 1rem;color:#fff;background:var(--green)}.sidebar .brand-lockup{padding:0 .45rem 1.5rem}.sidebar nav{display:grid;gap:.35rem;margin-top:1.5rem}.sidebar nav a{display:flex;width:100%;align-items:center;gap:.75rem;padding:.75rem .85rem;color:#b9c6c1;border:0;border-radius:10px;background:transparent;font-size:.87rem;font-weight:700;text-align:left;text-decoration:none}.sidebar nav a:hover,.sidebar nav a.active{color:#fff;background:#ffffff1a}.sidebar-team{display:grid;gap:.25rem;margin-top:auto;padding:1rem;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:#ffffff0d}.sidebar-team span,.sidebar-team small{color:#a8bbb4;font-size:.68rem}.sidebar-team-switcher{position:relative;margin-top:auto}.sidebar-team-current{display:flex;width:100%;align-items:center;justify-content:space-between;gap:.6rem;padding:1rem;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:#ffffff0d;text-align:left}.sidebar-team-current:hover,.sidebar-team-switcher.open .sidebar-team-current{background:#ffffff1a}.sidebar-team-current>span,.sidebar-team-current>span>*{display:block}.sidebar-team-current small,.sidebar-team-current i{color:#a8bbb4;font-size:.68rem;font-style:normal}.sidebar-team-current strong{margin:.2rem 0;font-size:.83rem}.sidebar-team-current>svg{flex:0 0 auto;color:#9dc8b9}.sidebar-team-switcher.open .sidebar-team-current>svg:not(.spin){transform:rotate(180deg)}.sidebar-team-options{position:absolute;z-index:50;left:0;right:auto;bottom:calc(100% + .55rem);display:grid;width:min(300px,calc(100vw - 2rem));max-width:calc(100vw - 2rem);max-height:min(340px,55vh);gap:.35rem;overflow-y:auto;padding:.5rem;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:#1b4a3e;box-shadow:0 18px 45px #00000059}.sidebar-team-options>button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem .75rem;color:#edf5f2;border:0;border-radius:9px;background:transparent;text-align:left}.sidebar-team-options>button:hover{background:#ffffff1a}.sidebar-team-options>button span{display:grid;min-width:0;gap:.15rem}.sidebar-team-options>button strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-team-options>button small,.sidebar-team-options>p{color:#b2c7bf;font-size:.68rem}.sidebar-team-options>p{margin:0;padding:.7rem;line-height:1.45}.sidebar-team-options>button svg{flex:0 0 auto;color:#9ed1bf}.main-column{min-width:0}.topbar{position:sticky;z-index:20;top:0;display:flex;min-height:70px;align-items:center;justify-content:space-between;padding:.8rem clamp(1rem,4vw,3rem);border-bottom:1px solid rgba(216,216,208,.75);background:#f5f2eae6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.topbar>div{display:grid;gap:.12rem}.topbar-team{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) auto;column-gap:.55rem;padding:0;border:0;background:transparent;text-align:left}.topbar-team>span,.topbar-team>strong{grid-column:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-team>svg{grid-row:1 / 3;grid-column:2;align-self:center;color:var(--green-2)}.topbar-team-switch:hover strong{color:var(--green-2)}.topbar .topbar-actions{display:flex;align-items:center;gap:.55rem}.app-mode-controls{display:inline-flex;align-items:center;gap:.35rem}.theme-selector{display:inline-flex;min-height:38px;align-items:center;gap:.45rem;padding:.45rem .65rem;color:var(--ink);border:1px solid var(--line);border-radius:999px;background:var(--paper);font-size:.72rem;font-weight:750}.theme-selector select{min-width:92px;padding:0;color:inherit;border:0;outline:0;background:transparent;font-weight:inherit}.theme-selector.compact{min-height:34px;padding:.35rem .55rem;border-color:transparent;background:transparent}.app-mode-controls.light .theme-selector{color:#4d6059}.app-mode-controls.dark .theme-selector{color:#dce7e3}.app-mode-controls.dark .theme-selector select option{color:#edf5f2;background:#17201c}.mode-control{display:inline-flex;min-height:34px;align-items:center;justify-content:center;gap:.4rem;padding:.48rem .65rem;border:0;border-radius:999px;background:transparent;font-size:.7rem;font-weight:750}.app-mode-controls.light .mode-control{color:#4d6059}.app-mode-controls.light .mode-control:hover{background:#173f3512}.app-mode-controls.dark .mode-control{color:#dce7e3}.app-mode-controls.dark .mode-control:hover{background:#ffffff17}.app-mode-controls .reset-control{color:#ad4f47}.app-mode-controls.dark .reset-control{color:#f1b9b4}.topbar span{color:var(--muted);font-size:.71rem}.topbar strong{font-size:.95rem}.sync-chip{display:inline-flex;align-items:center;gap:.42rem;padding:.48rem .7rem;color:#4d6059;border:1px solid #d2d8d4;border-radius:999px;background:#ffffffa6;font-size:.7rem;font-weight:750}.sync-chip.synced{color:#24624f;border-color:#bad3ca;background:#eef8f4}.sync-chip.pending,.sync-chip.error,.sync-chip.conflict{color:#9a5237;border-color:#e4c7ba;background:#fff5ee}.main-view{min-height:calc(100vh - 70px)}.page-content{width:min(var(--content-width),100%);margin:0 auto;padding:clamp(1rem,2vw,2rem)}.page-title-row,.section-heading,.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.page-title-row{margin-bottom:1.5rem}.page-title-row h1{margin-bottom:0}.section-heading{margin:2rem 0 1rem}.panel-heading{margin-bottom:1.25rem}.panel-heading svg{color:var(--green-2)}.panel{border:1px solid #dfded6;border-radius:17px;background:var(--paper);box-shadow:0 8px 28px #1b372f0a}.hero-card{position:relative;display:flex;overflow:hidden;min-height:160px;align-items:flex-end;justify-content:space-between;gap:2rem;padding:clamp(1.5rem,4vw,2.5rem);color:#fff;border-radius:21px;background:var(--green)}.hero-card h1{margin-bottom:.75rem;color:#fff;font-size:clamp(2rem,4vw,3.15rem)}.hero-card p{margin-bottom:0;color:#cbd7d2}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.metric-card{display:grid;min-height:142px;align-content:space-between;padding:1.1rem;border:1px solid #dfded6;border-radius:15px;background:var(--paper)}.metric-card svg{color:var(--green-2)}.metric-card strong{margin-top:.5rem;font-family:Georgia,Times New Roman,serif;font-size:2.2rem;font-weight:500}.metric-card span:last-child{color:var(--muted);font-size:.76rem}.accent-metric{color:#fff;border-color:var(--green-2);background:var(--green-2)}.accent-metric strong,.accent-metric span:last-child{color:#fff}.metric-code{display:grid;width:27px;height:27px;place-items:center;border:1px solid rgba(255,255,255,.42);border-radius:7px;font-size:.75rem;font-weight:900}.dashboard>.panel{margin-top:1.5rem;padding:1.4rem}.empty-state{display:grid;justify-items:center;padding:2.5rem 1rem;color:var(--muted);text-align:center}.empty-state svg{margin-bottom:.8rem;color:#9aaba5}.empty-state h2,.empty-state h3{margin-bottom:.5rem}.empty-state p{max-width:410px;margin-bottom:0;line-height:1.5}.compact-empty{padding:4rem 1rem}.session-list{display:grid}.session-item{display:grid;grid-template-columns:minmax(145px,1fr) minmax(120px,auto) 22px;align-items:center;gap:1rem;min-height:58px;padding:.6rem 0;border:0;border-top:1px solid #ecebe5;background:transparent;text-align:left}.session-item:first-child{border-top:0}.session-date{font-weight:750;text-transform:capitalize}.session-completion{color:var(--muted);font-size:.76rem}.session-description{display:grid;min-width:0;gap:.3rem}.session-note-preview{overflow:hidden;color:var(--muted);font-size:.76rem;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.session-item svg{color:#98a59f}.bottom-nav{display:none}.modal-backdrop{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:1rem;background:#0e1f1a9e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.password-dialog{position:relative;display:grid;width:min(100%,450px);max-height:calc(100dvh - 2rem);gap:1.15rem;overflow:auto;padding:1.5rem;border-radius:18px;background:var(--cream);box-shadow:0 24px 70px #0717124d}.password-dialog h2{padding-right:2rem}.password-dialog p{margin-bottom:0;color:var(--muted);line-height:1.5}.password-dialog form{display:grid;gap:1rem}.password-dialog-icon{display:grid;width:48px;height:48px;place-items:center;color:var(--green-2);border-radius:14px;background:#e4f0eb}.reset-dialog-icon{display:grid;width:48px;height:48px;place-items:center;color:#ad3d36;border-radius:14px;background:#f8e7e5}.reset-dialog p+p{margin-top:.75rem}.reset-dialog-actions{margin-top:.2rem}.restore-dialog{width:min(100%,520px)}.restore-preview{display:grid;gap:0;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.restore-preview>div{display:grid;grid-template-columns:minmax(115px,.8fr) minmax(0,1.4fr);gap:.8rem;padding:.65rem .8rem;border-top:1px solid #e8e7df}.restore-preview>div:first-child{border-top:0}.restore-preview dt{color:var(--muted);font-size:.65rem;font-weight:800;text-transform:uppercase}.restore-preview dd{overflow-wrap:anywhere;margin:0;font-size:.77rem;font-weight:700}.restore-warning{display:grid;gap:.3rem;padding:.8rem .9rem;color:#704321;border:1px solid #ead3b4;border-radius:12px;background:#fff7e9;font-size:.76rem;line-height:1.45}.restore-message{flex-basis:100%;margin:.75rem 0 0;color:#326552;font-size:.76rem}.restore-message.error{color:#a13e37}.password-dialog-close{position:absolute;top:1rem;right:1rem}.password-dialog-actions{margin-top:.2rem}.conflict-dialog{width:min(34rem,calc(100vw - 2rem))}.conflict-options{display:grid;gap:.45rem;margin:.5rem 0}.conflict-options .button{justify-content:flex-start;width:100%}.conflict-options small{margin:-.15rem 0 .35rem .25rem;color:var(--muted)}.training-period-fields{margin-top:1rem}.field-help{display:block;margin-top:.45rem;color:var(--muted)}.mobile-save-fab{display:none}.scores-title-row p{margin:.45rem 0 0;color:var(--muted)}.scores-summary{display:inline-flex;align-items:center;gap:.45rem;color:var(--green-2);font-size:.78rem;font-weight:800}.score-ranking-panel,.score-sessions-panel,.score-athletes-panel,.score-team-card{padding:clamp(1rem,3vw,1.5rem)}.score-rankings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.score-sessions-panel,.monthly-score-register,.score-athletes-panel{margin-top:1rem}.score-ranking-heading{align-items:end}.compact-field{min-width:min(220px,100%)}.score-ranking-list,.score-session-list,.score-athlete-list{display:grid;overflow:hidden;border:1px solid var(--line);border-radius:13px;background:var(--paper)}.score-ranking-row{display:grid;grid-template-columns:36px minmax(0,1fr) minmax(70px,auto);align-items:center;gap:.75rem;min-height:48px;padding:.55rem .75rem;border-bottom:1px solid var(--line)}.score-ranking-row:last-child,.score-session-row:last-child,.score-athlete-row:last-child{border-bottom:0}.score-ranking-name{display:grid;gap:.2rem}.score-ranking-row .score-ranking-name small{display:block}.monthly-score-register>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;list-style:none}.monthly-score-register>summary::-webkit-details-marker{display:none}.monthly-score-chevron{flex-shrink:0;transition:transform .2s ease}.monthly-score-register[open] .monthly-score-chevron{transform:rotate(90deg)}.monthly-score-register[open]>summary{margin-bottom:1rem}.monthly-score-list{border:1px solid var(--line);border-radius:13px;overflow:hidden}.monthly-score-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem .75rem;border-bottom:1px solid var(--line)}.monthly-score-row:last-child{border-bottom:0}.monthly-score-row input{width:100px;flex-shrink:0;text-align:right}.monthly-score-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.score-position{display:grid;width:28px;height:28px;place-items:center;color:var(--muted);border-radius:50%;background:var(--cream);font-size:.7rem;font-weight:850}.score-position.place-1{color:#fff;background:#d3a21b;box-shadow:0 2px 8px #d3a21b59}.score-position.place-2{color:#fff;background:#8b949d;box-shadow:0 2px 8px #69747e4d}.score-position.place-3{color:#fff;background:#ad683d;box-shadow:0 2px 8px #ad683d4d}.score-month-controls{display:flex;gap:.35rem}.score-ranking-row small,.score-session-row small,.score-athlete-row small{color:var(--muted);font-size:.68rem}.score-ranking-row>b,.score-athlete-row>b{color:var(--green-2);text-align:right}.score-session-row{display:grid;grid-template-columns:minmax(0,1fr) auto 20px;align-items:center;gap:.8rem;min-height:54px;padding:.7rem .8rem;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent}.score-session-row:hover{background:color-mix(in srgb,var(--green-2) 7%,transparent)}.score-editor-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;margin-bottom:1.25rem}.score-editor-header h1{margin:0;font-size:clamp(1.4rem,3vw,2rem);text-transform:capitalize}.score-teams-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.score-teams-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.score-teams-toolbar h2{margin:0}.score-team-card{border-top:4px solid var(--green-2)}.score-team-card.team-a{border-top:4px solid #4d70b7}.score-team-card.team-b{border-top:4px solid var(--orange)}.score-team-heading,.score-team-heading>div{display:flex;align-items:center;justify-content:space-between;gap:.55rem}.score-team-heading h2{margin:0}.score-team-heading>strong{font-size:1.35rem}.score-team-heading-actions{display:flex;align-items:center;gap:.45rem}.score-team-heading-actions>strong{font-size:1.35rem}.score-partials{display:grid;grid-template-columns:86px minmax(0,1fr);align-items:start;gap:.8rem;margin-top:1rem}.score-quick-add{display:grid;gap:.35rem;margin-top:1rem}.score-quick-add>span{color:var(--muted);font-size:.68rem;font-weight:750}.score-quick-add input,.score-bulk-assignment textarea{width:100%;min-height:42px;padding:.65rem .75rem;color:var(--ink);border:1px solid var(--line);border-radius:10px;outline:none;background:var(--paper)}.score-quick-add input:focus,.score-bulk-assignment textarea:focus{border-color:var(--green-2);box-shadow:0 0 0 3px #2f7d681f}.score-add-remaining{width:100%;margin-top:.55rem}.score-team-members{display:flex;min-height:42px;flex-wrap:wrap;align-content:flex-start;gap:.4rem;margin-top:.75rem;padding:.55rem;border:1px dashed var(--line);border-radius:10px;transition:border-color .15s ease,background .15s ease}.score-team-card.drag-active .score-team-members{border-color:var(--green-2);background:color-mix(in srgb,var(--green-2) 7%,transparent)}.score-team-members>small{align-self:center;color:var(--muted);font-size:.68rem}.score-team-member{display:inline-flex;min-height:30px;align-items:center;gap:.35rem;padding:.25rem .3rem .25rem .55rem;color:var(--ink);border:1px solid var(--line);border-radius:999px;background:var(--paper);box-shadow:0 2px 7px #142d2512;font-size:.7rem;font-weight:750;cursor:grab}.score-team-member:active{cursor:grabbing}.score-team-member button{display:inline-grid;width:23px;height:23px;padding:0;place-items:center;color:var(--muted);border:0;border-radius:50%;background:transparent}.score-team-member button:hover{color:#a13e37;background:color-mix(in srgb,#a13e37 10%,transparent)}.score-bulk-assignment{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(260px,1fr) auto;align-items:end;gap:1rem;margin-top:1rem;padding:clamp(1rem,3vw,1.5rem)}.score-bulk-assignment h2{margin-bottom:.35rem}.score-bulk-assignment p{margin:0;color:var(--muted);font-size:.72rem;line-height:1.5}.score-bulk-assignment textarea{min-height:94px;font:inherit;resize:vertical}.score-assignment-message{margin:.75rem 0 0;padding:.7rem .85rem;color:#245b4c;border:1px solid #bad3ca;border-radius:10px;background:#eef8f4;font-size:.75rem}.score-partial-entry{display:grid;justify-items:center;gap:.3rem;color:var(--muted);font-size:.62rem;font-weight:750}.score-partial-entry>span{white-space:nowrap}.score-partial-entry input{width:72px;height:72px;padding:.4rem;color:var(--ink);border:2px solid var(--green-2);border-radius:14px;outline:none;background:var(--paper);font-size:1.6rem;font-weight:850;text-align:center}.score-partial-entry input:focus{box-shadow:0 0 0 4px #2f7d6824}.score-partial-entry .button{min-height:44px}.score-partial-entry small{color:var(--muted);font-size:.58rem}.score-partial-toasts{display:flex;min-height:72px;flex-wrap:wrap;align-content:flex-start;gap:.45rem;padding-top:1.35rem}.score-partial-toasts>small{color:var(--muted);font-size:.68rem}.score-partial-toast{display:inline-flex;min-height:34px;align-items:center;gap:.3rem;padding:.25rem .3rem .25rem .65rem;color:var(--ink);border:1px solid var(--line);border-radius:999px;background:var(--paper);box-shadow:0 2px 7px #142d2512}.score-partial-toast b{font-size:.82rem}.score-partial-toast button{display:inline-grid;width:24px;height:24px;padding:0;place-items:center;color:var(--muted);border:0;border-radius:50%;background:transparent}.score-partial-toast button:hover{color:#a13e37;background:color-mix(in srgb,#a13e37 10%,transparent)}.score-athlete-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(105px,.35fr) minmax(110px,.4fr) 80px;align-items:end;gap:.8rem;min-height:64px;padding:.65rem .8rem;border-bottom:1px solid var(--line)}.score-athlete-row label{display:grid;gap:.25rem}.score-athlete-row label>span{color:var(--muted);font-size:.62rem;font-weight:750}.score-athlete-row :is(input,select){width:100%;min-height:38px}.score-editor-page input[type=number]{appearance:textfield;-moz-appearance:textfield}.score-editor-page input[type=number]::-webkit-inner-spin-button,.score-editor-page input[type=number]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.score-athlete-row.absent{opacity:.62}.score-athlete-row>small{grid-column:2 / -1;margin-top:-.55rem}.score-athlete-row.read-only{grid-template-columns:minmax(0,1fr) auto;align-items:center}.score-athlete-row.read-only>small{grid-column:1 / -1}.password-dialog .password-dialog-error{margin:0;padding:.7rem .8rem;color:#8e332e;border:1px solid #e9c5c1;border-radius:10px;background:#faeae8;font-size:.76rem}.editor-page{min-height:100vh;padding-bottom:2rem;background:var(--cream)}.editor-header{position:sticky;z-index:20;top:0;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:.9rem;min-height:78px;padding:.75rem max(1rem,calc((100vw - var(--content-width)) / 2));border-bottom:1px solid var(--line);background:#f5f2eaf0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.editor-header .eyebrow{margin-bottom:.1rem}.editor-header h1{margin-bottom:0;font-size:1.45rem}.editor-header-actions{display:flex;gap:.45rem}.editor-toolbar{display:grid;width:min(var(--content-width),calc(100% - 2rem));grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1rem;margin:1.5rem auto .8rem;padding:1rem;border:1px solid var(--line);border-radius:15px;background:var(--paper)}.editor-session-fields{display:grid;grid-template-columns:180px minmax(0,1fr);gap:1rem;min-width:0}.editor-session-fields .field,.editor-session-fields input{min-width:0}.completion{display:grid;padding-bottom:.35rem}.completion strong{font-size:1.2rem}.completion span{color:var(--muted);font-size:.7rem}.editor-bulk-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.55rem}.editor-bulk-actions .button{min-height:42px;padding:.6rem .8rem;font-size:.76rem}.editor-legend{width:min(var(--content-width),calc(100% - 2rem));margin:0 auto;padding:0 1rem}.attendance-list{width:min(var(--content-width),calc(100% - 2rem));margin:0 auto;border:1px solid var(--line);border-radius:15px;background:var(--paper)}.attendance-row{display:grid;grid-template-columns:minmax(190px,1fr) auto;align-items:center;gap:1rem;min-height:66px;padding:.65rem 1rem;border-top:1px solid #ecebe5}.attendance-row:first-child{border-top:0}.athlete-name{display:flex;min-width:0;align-items:center;gap:.75rem}.athlete-name span{color:#a1aaa6;font-size:.7rem;font-weight:800}.athlete-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-options{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem}.status-button{display:grid;width:42px;height:42px;place-items:center;padding:0;color:var(--status-color);border:1px solid color-mix(in srgb,var(--status-color) 35%,white);border-radius:11px;background:color-mix(in srgb,var(--status-color) 7%,white);font-size:.8rem;font-weight:900;transition:transform .12s ease,color .12s ease,background .12s ease}.status-button:hover{transform:translateY(-1px)}.status-button.selected{color:#fff;border-color:var(--status-color);background:var(--status-color);box-shadow:0 4px 12px color-mix(in srgb,var(--status-color) 25%,transparent)}.early-departure-button{display:inline-flex;min-width:54px;height:42px;align-items:center;justify-content:center;gap:.2rem;padding:0 .45rem;color:#a65a25;border:1px solid #e4b58f;border-radius:11px;background:#fff4ea;font-size:.7rem;font-weight:900}.early-departure-button.selected{color:#fff;border-color:#c66a2c;background:#c66a2c}.planned-sessions-panel{display:grid;gap:1rem;padding:1rem}.planned-today,.planned-today>div,.missing-sessions-heading,.missing-session-row,.missing-session-row>div{display:flex;align-items:center}.planned-today{justify-content:space-between;gap:1rem}.planned-today>svg{flex:0 0 auto;color:var(--green-2)}.planned-today>div{min-width:0;flex:1;justify-content:space-between;gap:.8rem}.missing-sessions{display:grid;gap:.55rem;padding-top:.8rem;border-top:1px solid var(--line)}.missing-sessions-heading,.missing-session-row{justify-content:space-between;gap:.8rem}.missing-sessions-heading span{display:inline-grid;min-width:26px;height:26px;place-items:center;color:#8b3d36;border-radius:999px;background:#f8e7e5;font-size:.7rem;font-weight:850}.missing-session-list{display:grid;max-height:280px;gap:.4rem;overflow-y:auto}.missing-session-row{min-height:48px;padding:.35rem .45rem .35rem .8rem;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--paper) 90%,var(--cream));font-size:.76rem}.missing-session-row>div{gap:.35rem}.planned-sessions-panel.compact{margin-top:1rem;padding:.75rem;background:color-mix(in srgb,var(--paper) 92%,var(--cream));box-shadow:none}.text-danger{display:flex;margin:1rem auto 0}.editor-error{width:min(var(--content-width),calc(100% - 2rem));margin:.8rem auto 0;padding:.75rem .9rem;color:#9f4039;border:1px solid #e3bfbb;border-radius:10px;background:#fff4f2;font-size:.8rem}.register-page{width:min(var(--content-width),100%)}.season-navigation{display:grid;overflow-x:auto;grid-template-columns:minmax(105px,1.4fr) repeat(12,minmax(66px,1fr));margin-bottom:1.8rem;border:1px solid var(--line);border-radius:15px;background:#fffdf8bf}.season-navigation button{display:grid;min-height:58px;place-content:center;justify-items:center;gap:.25rem;padding:.45rem;color:#697670;border:0;border-radius:10px;background:transparent;text-transform:capitalize}.season-navigation button:hover{background:#f0f2ed}.season-navigation button.active{color:#fff;background:var(--green)}.season-navigation button span{font-size:.69rem;font-weight:750}.season-navigation button strong{font-size:.74rem}.register-period-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.capitalize{text-transform:capitalize}.period-metrics{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.55rem}.period-metrics>span{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .65rem;color:#5f6d67;border:1px solid #d9dad3;border-radius:999px;background:var(--paper);font-size:.68rem}.period-metrics svg{color:color-mix(in srgb,var(--green-2) 68%,var(--paper))}.period-metrics>.completion-incomplete{color:#b54232;border-color:color-mix(in srgb,#b54232 30%,var(--paper))}.period-metrics>.completion-complete{color:var(--green-2);border-color:color-mix(in srgb,var(--green-2) 30%,var(--paper))}html[data-theme=dark] .period-metrics>.completion-incomplete{color:#f29b8d}.season-month-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.55rem;margin-bottom:1rem}.season-month-grid button{display:grid;min-height:112px;align-content:space-between;justify-items:start;padding:.85rem;border:1px solid #ddddd5;border-radius:13px;background:var(--paper);text-align:left}.season-month-grid button:hover{border-color:#9cb3aa;background:#f8fbf9}.season-month-grid button>span{color:#596862;font-size:.72rem;font-weight:800}.season-month-grid button>strong{font-family:Georgia,Times New Roman,serif;font-size:1.8rem;font-weight:500}.season-month-grid button>small{color:var(--muted);font-size:.63rem}.month-picker{display:flex;align-items:center;gap:.25rem;padding:.2rem;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.month-picker input{min-height:38px;border:0;background:transparent}.legend{display:flex;flex-wrap:wrap;gap:.6rem 1rem;margin-bottom:1rem;color:var(--muted);font-size:.7rem}.legend span{display:inline-flex;align-items:center;gap:.3rem}.legend i{width:8px;height:8px;border-radius:50%}.large-empty{min-height:300px;align-content:center}.matrix-wrap{overflow:auto;max-height:calc(100vh - 240px)}.attendance-matrix{width:100%;min-width:760px;border-spacing:0;border-collapse:separate;font-size:.75rem}.attendance-matrix th,.attendance-matrix td{position:relative;min-width:46px;height:49px;padding:.4rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}.attendance-matrix thead th{position:sticky;z-index:5;top:0;color:var(--muted);background:color-mix(in srgb,var(--paper) 86%,var(--cream))}.attendance-matrix th.sticky-name{position:sticky;z-index:6;left:0;min-width:180px;padding-left:1rem;background:var(--paper);text-align:left}.attendance-matrix thead th.sticky-name{z-index:8;background:color-mix(in srgb,var(--paper) 86%,var(--cream))}.attendance-matrix thead button{display:grid;width:100%;gap:.1rem;justify-items:center;padding:.3rem;border:0;background:transparent;font-weight:800}.attendance-matrix thead button small,.attendance-matrix .session-day-heading small{color:var(--muted);font-size:.56rem;font-weight:700;text-transform:uppercase}.attendance-matrix .session-day-heading{display:grid;gap:.1rem;justify-items:center}.attendance-matrix .session-day-heading strong{font-weight:800}.attendance-matrix .total-head,.attendance-matrix .total-cell,.attendance-matrix .percentage-cell{background:color-mix(in srgb,var(--paper) 86%,var(--cream));font-weight:800}.attendance-matrix .total-head{min-width:58px}.attendance-matrix .total-head span,.attendance-matrix .total-head small,.attendance-matrix .total-cell strong,.attendance-matrix .total-cell span{display:block}.attendance-matrix .total-head .matrix-status{display:inline-grid;margin-inline:auto}.attendance-matrix .total-head small{margin-top:.12rem;color:var(--muted);font-size:.54rem;font-weight:650}.attendance-matrix .total-cell span{margin-top:.16rem;color:var(--muted);font-size:.59rem;font-weight:600}.color-scale-cell,.attendance-matrix .color-scale-cell strong,.attendance-matrix .color-scale-cell span{color:var(--ink)}.attendance-matrix :is(.total-cell,.season-total-cell).color-scale-cell,.team-status-totals span.color-scale-cell{background-color:color-mix(in srgb,var(--paper) 76%,var(--percentage-scale-color) 24%)}.attendance-matrix .season-status-head{min-width:145px;text-align:left}.season-status-head span{display:inline-grid;width:26px;height:26px;margin-right:.45rem;place-items:center;color:#fff;border-radius:7px;font-size:.66rem}.season-total-cell strong,.season-total-cell span{display:block}.season-total-cell strong{font-size:.9rem}.season-total-cell span{margin-top:.18rem;color:var(--muted);font-size:.63rem}.matrix-status{display:inline-grid;width:28px;height:28px;place-items:center;color:#fff;border-radius:8px;font-size:.7rem;font-weight:900}.attendance-matrix .team-totals-footer :is(th,td){border-top:2px solid var(--line);background:color-mix(in srgb,var(--paper) 88%,var(--green-2));font-weight:800}.session-team-totals{display:grid;justify-content:center;gap:.3rem}.session-team-totals>span{display:inline-flex;align-items:center;gap:.25rem}.session-team-totals i{display:inline-grid;width:18px;height:18px;place-items:center;border-radius:5px;color:#fff;font-size:.55rem;font-style:normal}.matrix-empty{color:#c2c6c3}.matrix-early-departure{position:absolute;right:2px;bottom:2px;display:inline-grid;min-width:20px;height:15px;place-items:center;color:#fff;border-radius:5px;background:#c66a2c;font-size:.48rem;font-weight:900}.early-departure-dot,.early-departure-badge,.early-departure-head>span,.mobile-status-total.early-departure-total i{background:#c66a2c!important}.early-departure-total{background-color:color-mix(in srgb,#c66a2c 10%,var(--paper))!important}.mobile-athlete-summary,.mobile-matrix-heading{display:none}.settings-panel{margin-bottom:1rem;padding:clamp(1rem,3vw,1.6rem)}.block-field{margin-top:1.2rem}.roster-list{display:grid;gap:.45rem}.athlete-list-paste{margin-top:1rem;border:1px solid #e3e3dc;border-radius:12px;background:#fafaf7}.athlete-list-paste summary{display:flex;align-items:center;gap:.5rem;padding:.8rem .9rem;color:var(--text);font-size:.82rem;font-weight:800;cursor:pointer}.athlete-list-paste summary::marker{color:var(--muted)}.athlete-list-paste-content{padding:0 .9rem .9rem}.athlete-list-paste textarea{width:100%;min-height:8rem;padding:.68rem .8rem;color:var(--ink);border:1px solid #d8d8d0;border-radius:10px;outline:none;background:#fff;font:inherit;resize:vertical;line-height:1.5}.athlete-list-paste textarea:focus{border-color:var(--green-2);box-shadow:0 0 0 3px #2f7d681f}.athlete-list-paste-actions{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-top:.65rem}.athlete-list-paste-actions small{color:var(--muted);line-height:1.35}.roster-row{padding:.15rem 0}.add-row{margin-top:.35rem;padding-top:.8rem;border-top:1px solid #ecebe5}.archived{margin-top:1rem;padding-top:1rem;border-top:1px solid #ecebe5}.archived summary{margin-bottom:.7rem;color:var(--muted);font-size:.76rem;font-weight:750}.archived-name{color:var(--muted);text-decoration:line-through}.status-settings{display:grid;gap:.55rem}.status-setting-row{display:grid;grid-template-columns:48px 64px minmax(0,1fr);gap:.5rem}.status-setting-row input.color-input{padding:.35rem}.status-setting-row input.code-input{font-weight:900;text-align:center}.section-copy{max-width:680px;color:var(--muted);font-size:.86rem;line-height:1.6}.inline-actions{display:flex;flex-wrap:wrap;gap:.6rem}.form-message{margin:0;padding:.75rem .9rem;color:#3b5d51;border:1px solid #c9d8d2;border-radius:10px;background:#f1f8f5;font-size:.8rem}.sync-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:1.5rem 0 0;padding-top:1rem;border-top:1px solid #ecebe5}.sync-details div{min-width:0}.sync-details dt{color:var(--muted);font-size:.66rem;font-weight:750;text-transform:uppercase}.sync-details dd{overflow:hidden;margin:.25rem 0 0;font-size:.76rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.sync-error-detail{display:grid;gap:.3rem;margin-top:1rem;padding:.85rem 1rem;color:#8f342f;border:1px solid #e7c5c2;border-radius:12px;background:#fff7f6;font-size:.78rem;line-height:1.45}.backup-actions{display:flex;flex-wrap:wrap;gap:.65rem}.coordinator-switch{display:flex;align-items:center;justify-content:space-between;gap:1rem}.coordinator-switch h2{margin-bottom:.4rem}.coordinator-switch p{margin-bottom:0;color:var(--muted);font-size:.83rem}.reset-panel{border-color:#ead3d0}.settings-feedback{display:block;margin-top:.45rem;color:var(--green-2);font-size:.75rem;font-weight:700}.coordinator-page{min-height:100vh;color:#fff;background:#102f28}.coordinator-loading{position:fixed;z-index:80;top:max(1rem,env(safe-area-inset-top));left:50%;display:grid;width:min(420px,calc(100% - 2rem));grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.9rem;padding:.9rem 1rem;color:#ecf5f1;border:1px solid rgba(255,255,255,.18);border-radius:15px;background:#102f28f5;box-shadow:0 18px 50px #0000004d;transform:translate(-50%);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.coordinator-loading>svg{color:#90d0ba}.coordinator-loading>div{display:grid;gap:.25rem}.coordinator-loading strong{font-size:.86rem}.coordinator-loading span{color:#b8cac3;font-size:.72rem}.loading-progress{height:4px;margin-top:.35rem;overflow:hidden;border-radius:999px;background:#ffffff21}.loading-progress i{display:block;width:42%;height:100%;border-radius:inherit;background:#90d0ba;animation:loading-progress 1.15s ease-in-out infinite}@keyframes loading-progress{0%{transform:translate(-105%)}to{transform:translate(245%)}}@media(prefers-reduced-motion:reduce){.loading-progress i{width:100%;animation:none}}html[data-theme=dark]{color:#edf4f1;background:#101714;--ink: #edf4f1;--muted: #a6b2ad;--green: #123c32;--green-2: #58b99a;--cream: #101714;--paper: #18221e;--line: #36433e;--orange: #ee8d68;--shadow: 0 18px 50px rgba(0, 0, 0, .3)}html[data-theme=dark] body{background:var(--cream)}html[data-theme=dark] .boot-fallback{color:var(--ink);background:var(--cream)}html[data-theme=dark] .boot-fallback span{color:var(--muted)}html[data-theme=dark] .welcome-reset{color:#ffaaa3;border-color:#69423f;background:#18221ed1}html[data-theme=dark] :is(input:not([type=color]),textarea,select){color:var(--ink);border-color:#45534e;background-color:#111a17}html[data-theme=dark] .score-assignment-message{color:#bce7d8;border-color:#355f51;background:#19352c}html[data-theme=dark] :is(input,textarea)::placeholder{color:#7f8e88}html[data-theme=dark] :is(.button.secondary,.button.light){color:var(--ink);border-color:#45534e;background:#202c27}html[data-theme=dark] :is(.button.secondary,.button.light):hover{border-color:#63746d;background:#26352f}html[data-theme=dark] .button.danger{color:#ffb6b0;border-color:#754945;background:#382321}html[data-theme=dark] :is(.setup-card,.onboarding-card,.mode-card,.panel,.metric-card,.session-item,.editor-header,.editor-toolbar,.attendance-row,.roster-row,.status-setting-row,.restore-dialog,.password-dialog,.team-management-row,.sharing-list,.sharing-directory-list,.sharing-directory-filter){color:var(--ink);border-color:var(--line);background-color:var(--paper)}html[data-theme=dark] :is(.athlete-list-paste,.managed-team-summary,.sync-details>div,.archived,.month-selector,.register-origin-panel,.team-management-list-heading,.team-management-team,.team-management-stat,.sharing-role-buttons){border-color:var(--line);background-color:#141d19}html[data-theme=dark] :is(.topbar,.editor-footer){border-color:var(--line);background:#101714f0}html[data-theme=dark] .bottom-nav{border-color:var(--line);background:#18221ef5}html[data-theme=dark] .bottom-nav a{color:#9caaa4}html[data-theme=dark] .bottom-nav a.active{color:#7bd0b3;background:#203a31}html[data-theme=dark] .app-mode-controls.light :is(.mode-control,.theme-selector){color:#b9c7c1}html[data-theme=dark] .app-mode-controls.light .mode-control:hover{background:#ffffff14}html[data-theme=dark] .theme-selector select option{color:var(--ink);background:var(--paper)}html[data-theme=dark] :is(.weekday-button,.month-button,.season-month-button,.sharing-role-buttons button,.coordinator-folder-option){color:#b7c5bf;border-color:var(--line);background-color:#141d19}html[data-theme=dark] :is(.weekday-button.selected,.month-button.active,.season-month-button.active,.sharing-role-buttons button.selected,.coordinator-folder-option.selected){color:#dff8ef;border-color:#4b8f79;background-color:#21483b}html[data-theme=dark] .status-button:not(.selected){background:color-mix(in srgb,var(--status-color) 14%,var(--paper))}html[data-theme=dark] .early-departure-button:not(.selected){color:#f2ae7c;border-color:#7c4c2d;background:#322319}html[data-theme=dark] :is(.monthly-table,.month-matrix,.team-summary-card){color:var(--ink);border-color:var(--line);background-color:#141d19}html[data-theme=dark] :is(.monthly-table th,.month-matrix th){color:#b1beb9;border-color:var(--line);background:#202a26}html[data-theme=dark] :is(.monthly-table td,.monthly-table th,.month-matrix td,.month-matrix th,.sharing-row,.sharing-directory-row,.team-management-inline-controls){border-color:var(--line)}html[data-theme=dark] :is(.team-management-hero,.team-management-list,.coordinator-report-shell,.sharing-panel,.coordinator-create-card){color:var(--ink);background:var(--cream)}html[data-theme=dark] :is(.sharing-status,.sharing-message){color:#bce7d8;border-color:#355f51;background:#19352c}html[data-theme=dark] :is(.sharing-warning,.sharing-directory-warning,.sync-error-detail,.form-message){color:#f2c2ad;border-color:#6f5043;background-color:#32251f}html[data-theme=dark] :is(.empty-state,.empty-coordinator,.team-management-empty){color:var(--muted);border-color:var(--line);background-color:#141d19}html[data-theme=dark] dialog,html[data-theme=dark] .modal-card{color:var(--ink);border-color:var(--line);background:var(--paper)}html[data-theme=dark] code{color:#d6e5df;background-color:#ffffff14}html[data-theme=dark] .shared-team-list>button{color:var(--ink);border-color:var(--line);background:#141d19}html[data-theme=dark] .shared-team-list>button:hover{border-color:var(--green-2);background:#1d2b25}html[data-theme=dark] :is(.team-management-rows,.team-management-row.expanded,.team-management-inline-controls .sharing-panel){color:var(--ink);border-color:var(--line);background:#141d19}html[data-theme=dark] :is(.team-management-icon,.sharing-person-icon){color:#8dd2ba;background:#203a31}html[data-theme=dark] :is(.team-card-metrics,.sharing-add,.sharing-cors-help,.sharing-empty){border-color:var(--line)}html[data-theme=dark] .season-pill{color:#b8ded1;border-color:#45665b}html[data-theme=dark] .sharing-cors-help code{color:#efc7b8;background:#ffffff14}@media(prefers-color-scheme:dark){html:not([data-theme]) .boot-fallback{color:#edf4f1;background:#101714}html:not([data-theme]) .boot-fallback span{color:#a6b2ad}}.coordinator-header{display:flex;width:min(var(--content-width),calc(100% - 2rem));min-height:78px;align-items:center;justify-content:space-between;margin:0 auto}.coordinator-main{width:min(var(--content-width),calc(100% - 2rem));margin:0 auto;padding-bottom:4rem}.coordinator-create-main{padding-top:1.5rem}.coordinator-create-card{display:grid;width:min(840px,100%);gap:1.8rem;margin:1rem auto 0;padding:clamp(1.35rem,4vw,3rem);color:var(--ink)}.coordinator-create-card h1{margin:.35rem 0 0;color:var(--ink)}.coordinator-create-inline{margin-top:1rem;padding:clamp(.8rem,2vw,1.2rem);border-radius:22px;background:#ffffff0f}.coordinator-create-inline .coordinator-create-card{margin-top:.7rem}.team-management-main{padding-top:1rem}.team-management-hero,.team-management-list{color:var(--ink);border-radius:22px;background:var(--cream)}.team-management-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;padding:clamp(1rem,2vw,1.4rem)}.team-management-hero h1{margin:.3rem 0 0;font-size:clamp(1.55rem,3vw,2rem)}.team-management-hero p{margin:.6rem 0 0;color:var(--muted)}.team-management-actions,.quick-access-buttons{display:flex;flex-wrap:wrap;gap:.6rem}.coordinator-quick-access-actions{display:grid}.team-management-message{margin:1rem 0;padding:.8rem 1rem;color:#d7e3de;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:#ffffff0d;font-size:.8rem}.team-management-list{margin-top:1rem;padding:clamp(1rem,3vw,1.6rem)}.team-management-save-all{position:sticky;z-index:15;bottom:0;display:flex;align-items:center;justify-content:flex-end;gap:1rem;margin-top:1rem;padding:.85rem 1rem;color:var(--ink);border-radius:16px 16px 0 0;background:color-mix(in srgb,var(--cream) 94%,transparent);box-shadow:0 -8px 24px #0717121f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.team-management-save-all span{color:var(--muted);font-size:.75rem}.team-management-list-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.team-management-list-heading h2{margin:0}.team-management-list-heading span{color:var(--muted);font-size:.68rem}.team-management-rows{display:grid;overflow:hidden;border:1px solid #deddd5;border-radius:14px;background:#fff}.team-management-row{display:grid;min-height:76px;grid-template-columns:minmax(240px,1.5fr) minmax(150px,.7fr) minmax(100px,.5fr) auto;align-items:center;gap:1rem;padding:.8rem;border-bottom:1px solid #e5e3dc}.team-management-row:last-child{border-bottom:0}.team-management-row.expanded{background:#f9faf7}.team-management-team{display:flex;min-width:0;align-items:center;gap:.75rem}.team-management-team>div{display:grid;min-width:0;gap:.2rem}.team-management-team strong,.team-management-team small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-management-team strong{font-size:.86rem}.team-management-team small,.team-management-stat{color:var(--muted);font-size:.68rem}.team-management-icon{display:grid;width:40px;height:40px;flex:0 0 auto;place-items:center;color:#366456;border-radius:11px;background:#e5efea}.team-management-stat{display:inline-flex;align-items:center;gap:.35rem}.team-management-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:.45rem}.team-management-inline-controls{min-width:0;grid-column:1 / -1;padding-top:.2rem;border-top:1px solid #e5e3dc}.team-management-inline-controls .sharing-panel{margin-top:.8rem;border:1px solid #deddd5;background:#fff}.icon-button.danger-quiet{color:#a13e37;border:1px solid #ead0cd;background:#faeeec}.icon-button.danger-quiet:hover:not(:disabled){background:#f5ddda}.team-management-empty{display:grid;min-height:260px;place-content:center;justify-items:center;color:var(--muted);text-align:center}.team-management-empty h3{margin:.8rem 0 .25rem}.team-management-empty p{margin:0;font-size:.78rem}.managed-team-summary>p,.register-origin-panel p{color:var(--muted);line-height:1.55}.register-origin-panel h2{margin-bottom:.4rem}.register-origin-panel{display:flex;align-items:center;justify-content:space-between;gap:1rem}.coordinator-hero{display:grid;min-height:150px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2rem;padding:clamp(1.25rem,3vw,2rem);border:1px solid rgba(255,255,255,.08);border-radius:24px;background:#173f35}.coordinator-hero h1{margin-bottom:.75rem;color:#fff;font-size:clamp(1.7rem,3vw,2.3rem)}.coordinator-hero p{max-width:610px;margin-bottom:0;color:#b8cac3;line-height:1.6}.folder-button{min-width:180px}.coordinator-load-actions{display:grid;min-width:220px;gap:.6rem}.button.dark-secondary{color:#e2ebe7;border-color:#fff3;background:#ffffff0f}.button.dark-secondary:hover{background:#ffffff1c}.coordinator-cloud-config{margin-top:1rem;padding:1rem 1.2rem;color:#d5e1dc;border:1px solid rgba(255,255,255,.11);border-radius:15px;background:#ffffff0b}.coordinator-cloud-config summary{cursor:pointer;color:#d5e1dc;font-size:.8rem;font-weight:750}.coordinator-cloud-config[open] summary{margin-bottom:1rem}.coordinator-config-grid{grid-template-columns:minmax(0,1.7fr) minmax(180px,.8fr) minmax(200px,.9fr)}.coordinator-cloud-config .field>span{color:#b8c8c2}.nextcloud-quick-access{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.2rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.11)}.nextcloud-quick-access>div{display:grid;gap:.35rem}.nextcloud-quick-access strong{display:inline-flex;align-items:center;gap:.4rem;color:#edf5f2;font-size:.82rem}.nextcloud-quick-access span{color:#aebfb9;font-size:.75rem;line-height:1.45}.coordinator-message{margin-top:1rem;padding:.75rem 1rem;color:#cbd9d4;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:#ffffff0d;font-size:.8rem}.coordinator-folder-choice{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:.6rem;margin-top:.75rem}.coordinator-folder-choice .button{justify-content:flex-start;overflow-wrap:anywhere}.coordinator-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:1rem 0 1.5rem;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:#ffffff1a}.coordinator-metrics article{display:grid;min-height:78px;align-content:center;gap:.5rem;padding:1rem 1.3rem;background:#173f35}.coordinator-metrics span{color:#a7bdb5;font-size:.72rem}.coordinator-metrics strong{font-family:Georgia,Times New Roman,serif;font-size:1.6rem;font-weight:500}.coordinator-metrics .privacy-metric{align-content:center;color:#97d0bd}.coordinator-section .section-heading h2,.coordinator-section h2{color:#fff}.empty-coordinator{display:grid;min-height:280px;place-content:center;justify-items:center;color:#91aaa1;border:1px dashed rgba(255,255,255,.18);border-radius:18px;text-align:center}.empty-coordinator svg{margin-bottom:1rem}.empty-coordinator h2{margin-bottom:.4rem}.team-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.team-summary-card{padding:1.4rem;color:var(--ink);border-radius:17px;background:#f5f2ea}.team-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.team-card-heading span:first-child{color:var(--muted);font-size:.68rem}.team-card-heading h3{margin:.25rem 0 0;font-size:1.6rem}.season-pill{padding:.38rem .55rem;color:#456058;border:1px solid #ccd5d0;border-radius:999px;font-size:.66rem;font-weight:800}.team-card-metrics{display:flex;flex-wrap:wrap;gap:1rem;margin:1.25rem 0;padding:.85rem 0;color:#5c6c66;border-top:1px solid #deddd5;border-bottom:1px solid #deddd5;font-size:.75rem}.team-card-metrics span{display:inline-flex;align-items:center;gap:.35rem}.team-status-totals{display:flex;flex-wrap:wrap;gap:.7rem}.team-status-totals span{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .4rem .25rem .25rem;border-radius:9px;font-size:.75rem;font-weight:800}.team-status-totals b{font-weight:850}.team-status-totals i{display:grid;width:24px;height:24px;place-items:center;color:#fff;border-radius:7px;font-size:.65rem;font-style:normal}.team-card-footer{display:flex;justify-content:space-between;gap:1rem;margin-top:1.2rem;color:var(--muted);font-size:.67rem}.team-report-button{width:100%;margin-top:1.2rem;color:#fff;background:var(--green)}.team-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:1.2rem}.team-card-actions .team-report-button{margin-top:0}.coordinator-detail{padding-bottom:3rem}.coordinator-detail-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem}.missing-session-more{padding:.35rem .2rem;color:var(--muted);font-size:.67rem}.report-back{margin:.5rem 0 1rem;padding-left:0;color:#d7e3de}.coordinator-report-shell{overflow:hidden;color:var(--ink);border-radius:22px;background:var(--cream)}.coordinator-report-shell .page-content{padding-top:1.25rem}.register-page.compact-header .page-title-row{margin-bottom:.85rem}.register-page.compact-header .page-title-row h1{font-size:clamp(1.25rem,2.5vw,1.7rem)}.sharing-panel{display:grid;gap:1.4rem;margin-top:1rem;padding:clamp(1.25rem,3vw,2rem);color:var(--ink);border-radius:22px;background:var(--cream)}.sharing-panel+.coordinator-report-shell{margin-top:1rem}.coordinator-scores-shell{margin-top:1rem}.sharing-panel-heading,.sharing-add-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.sharing-panel-heading h2,.sharing-current h3,.sharing-add h3{margin:.25rem 0 0}.sharing-panel-heading p,.sharing-add-heading p{max-width:680px;margin:.45rem 0 0;color:var(--muted);font-size:.8rem;line-height:1.5}.sharing-status,.sharing-warning{display:flex;align-items:center;gap:.7rem;min-height:64px;padding:.9rem 1rem;color:#456058;border:1px solid #d2dcd7;border-radius:13px;background:#edf3ef;font-size:.8rem}.sharing-warning{align-items:flex-start;color:#79544b;border-color:#e8cec5;background:#faeee9}.sharing-warning>div{display:grid;gap:.25rem}.sharing-warning span{line-height:1.45}.sharing-cors-help{display:grid;gap:.55rem;margin-top:.6rem;padding-top:.75rem;border-top:1px solid #e3c4ba}.sharing-cors-help ol{display:grid;gap:.4rem;margin:0;padding-left:1.25rem;line-height:1.5}.sharing-cors-help code{padding:.1rem .3rem;color:#653d34;border-radius:4px;background:#fff9;overflow-wrap:anywhere}.sharing-cors-help small{line-height:1.5}.sharing-current,.sharing-add{display:grid;gap:.85rem}.sharing-add{padding-top:1.2rem;border-top:1px solid #deddd5}.sharing-empty{margin:0;padding:1rem;color:var(--muted);border:1px dashed #ccd5d0;border-radius:12px;font-size:.8rem}.sharing-list{display:grid;overflow:hidden;border:1px solid #deddd5;border-radius:13px;background:#fff}.sharing-row{display:grid;min-height:68px;grid-template-columns:auto minmax(0,1fr) minmax(190px,auto) auto;align-items:center;gap:.8rem;padding:.65rem .8rem;border-bottom:1px solid #e5e3dc}.sharing-row:last-child{border-bottom:0}.sharing-person-icon{display:grid;width:38px;height:38px;place-items:center;color:#3e675b;border-radius:11px;background:#e5efea}.sharing-person{display:grid;min-width:0;gap:.2rem;text-align:left}.sharing-person strong{overflow:hidden;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.sharing-person small{overflow:hidden;color:var(--muted);font-size:.67rem;text-overflow:ellipsis;white-space:nowrap}.sharing-directory-filter input{min-height:42px;color:var(--ink);border:1px solid #cfd2cc;border-radius:10px;outline:none;background:#fff;font:inherit}.sharing-readonly-share{grid-column:3 / 5;padding-right:.5rem;color:var(--muted);font-size:.7rem;text-align:right}.sharing-directory-filter input:focus{border-color:var(--green);box-shadow:0 0 0 3px #1e64511f}.sharing-role-buttons{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:.3rem;padding:.2rem;border:1px solid #d8ddd9;border-radius:10px;background:#f1f4f2}.sharing-role-buttons button{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:.3rem;padding:.35rem .55rem;color:#617069;border:0;border-radius:7px;background:transparent;font:inherit;font-size:.68rem;font-weight:750;cursor:pointer}.sharing-role-buttons button.selected{color:#254f43;background:#fff;box-shadow:0 1px 4px #1432291f}.sharing-role-buttons button:disabled{cursor:wait;opacity:.6}.sharing-directory-filter{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.5rem;padding-left:.75rem;color:var(--muted);border:1px solid #cfd2cc;border-radius:10px;background:#fff}.sharing-directory-filter input{width:100%;padding:.7rem .85rem .7rem 0;border:0}.sharing-directory-list{display:grid;overflow:hidden;border:1px solid #deddd5;border-radius:13px;background:#fff}.sharing-directory-row{display:grid;min-height:68px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.65rem .8rem;border-bottom:1px solid #e5e3dc}.sharing-directory-row:last-child{border-bottom:0}.sharing-directory-actions{display:flex;gap:.45rem}.sharing-directory-warning{display:flex;align-items:flex-start;gap:.65rem;padding:.9rem;color:#79544b;border:1px solid #e8cec5;border-radius:12px;background:#faeee9;font-size:.76rem}.sharing-directory-warning>div{display:grid;gap:.25rem}.sharing-directory-warning span{line-height:1.45}.sharing-message{margin:0;padding:.7rem .85rem;color:#456058;border-radius:10px;background:#e5efea;font-size:.76rem}.sharing-remove-dialog{display:grid;width:min(92vw,500px);gap:1.2rem}.sharing-remove-dialog h2{margin:.25rem 0 .45rem}.sharing-remove-dialog p{margin:0;color:var(--muted);line-height:1.5}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}@media(max-width:820px){.score-rankings-grid{grid-template-columns:1fr}.score-bulk-assignment{grid-template-columns:1fr;align-items:stretch}.score-bulk-assignment .button{width:100%}.mobile-save-fab{position:fixed;z-index:40;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));display:inline-grid;width:56px;height:56px;padding:0;place-items:center;border-radius:50%;box-shadow:0 8px 24px #11372c4d}.app-shell .mobile-save-fab{bottom:calc(4.8rem + env(safe-area-inset-bottom))}.app-update-banner{bottom:calc(5rem + env(safe-area-inset-bottom))}.app-update-banner{right:max(.7rem,env(safe-area-inset-right));left:max(.7rem,env(safe-area-inset-left));width:auto;align-items:stretch;flex-direction:column}.app-shell{display:block}.sidebar{display:none}.topbar{min-height:62px}.topbar .app-mode-controls{display:none}.topbar .theme-selector.compact{width:34px;min-height:34px;padding:0}.topbar .theme-selector.compact span{display:none}.topbar .app-mode-controls .mode-control{padding-right:.45rem;padding-left:.45rem}.main-view{min-height:calc(100vh - 128px);padding-bottom:72px}.bottom-nav{position:fixed;z-index:30;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(5,1fr);padding:.35rem max(.35rem,env(safe-area-inset-right)) max(.35rem,env(safe-area-inset-bottom)) max(.35rem,env(safe-area-inset-left));border-top:1px solid var(--line);background:#fffdf8f5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.bottom-nav a{display:grid;justify-items:center;gap:.2rem;min-height:54px;place-content:center;color:#7b8782;border:0;border-radius:10px;background:transparent;font-size:.62rem;font-weight:750;text-decoration:none}.bottom-nav a.active{color:var(--green-2);background:#eef5f2}.hero-card{min-height:160px;align-items:flex-start;flex-direction:column}.metric-grid{grid-template-columns:repeat(2,1fr)}.metric-card{min-height:125px}.metric-card strong{font-size:1.75rem}.editor-toolbar{grid-template-columns:minmax(0,1fr) auto}.editor-session-fields{grid-template-columns:minmax(0,1fr)}.editor-bulk-actions{grid-column:1 / -1;justify-content:stretch}.editor-bulk-actions .button{flex:1 1 150px}.editor-toolbar .button{grid-column:1 / -1}.attendance-row{grid-template-columns:1fr;gap:.65rem;padding:.9rem}.status-options{justify-content:flex-start}.status-button{width:min(15vw,48px);height:min(15vw,48px)}.early-departure-button{height:min(15vw,48px)}.coordinator-hero{grid-template-columns:1fr;align-content:center}.coordinator-load-actions{width:100%}.coordinator-config-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.coordinator-metrics{grid-template-columns:repeat(2,1fr)}.team-management-row{grid-template-columns:minmax(0,1fr) auto auto}.team-management-row-actions{grid-column:1 / -1}.team-summary-grid{grid-template-columns:1fr}.season-month-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:580px){.score-teams-toolbar{align-items:stretch;flex-direction:column}.scores-title-row,.score-ranking-heading,.score-editor-header{align-items:stretch;grid-template-columns:1fr}.score-editor-header>.button{width:100%}.score-editor-header>.button.primary{display:none}.score-teams-grid{grid-template-columns:1fr}.score-ranking-row{grid-template-columns:32px minmax(0,1fr) auto}.score-ranking-row small{display:none}.score-session-row{grid-template-columns:minmax(0,1fr) 18px}.score-session-row :is(small,b){grid-column:1}.score-session-row svg{grid-row:1 / 3;grid-column:2}.score-athlete-row{grid-template-columns:minmax(0,1fr) 70px;align-items:end}.score-athlete-row>strong{grid-column:1 / -1}.score-athlete-row label{grid-column:1}.score-athlete-row>b{grid-row:2 / 4;grid-column:2;align-self:center}.score-athlete-row>small{grid-column:1 / -1;margin-top:0}.nextcloud-quick-access{align-items:stretch;flex-direction:column}.two-columns,.mode-grid,.coach-start-options{grid-template-columns:1fr}.welcome-content{margin-top:2rem}.welcome-content h1{font-size:2.8rem}.setup-restore,.backup-actions{align-items:stretch;flex-direction:column}.setup-restore .button,.backup-actions .button{width:100%}.restore-preview>div{grid-template-columns:1fr;gap:.2rem}.mode-card{min-height:145px}.setup-page{padding-right:.7rem;padding-left:.7rem}.setup-card{border-radius:18px}.setup-actions,.page-title-row,.register-origin-panel{align-items:stretch;flex-direction:column}.register-origin-panel .button,.setup-actions .button,.page-title-row .button{width:100%}.onboarding-page{padding-right:.6rem;padding-left:.6rem}.onboarding-header{align-items:flex-start}.onboarding-header .setup-brand span{display:none}.onboarding-card{min-height:calc(100dvh - 115px);border-radius:18px}.onboarding-actions{align-items:stretch;flex-direction:column}.onboarding-actions>div{display:none}.onboarding-actions .button{width:100%}.page-content{padding:1rem}.hero-card{min-height:150px}.hero-card .button{width:100%}.metric-grid{gap:.45rem}.metric-card{min-height:112px;padding:.75rem}.metric-card strong{font-size:1.55rem}.metric-card span:last-child{font-size:.62rem}.session-item{grid-template-columns:1fr 18px}.session-completion{grid-row:2}.session-item svg{grid-row:1 / 3;grid-column:2}.editor-header{grid-template-columns:42px 1fr auto;padding:.65rem}.editor-header .button span{display:none}.editor-header .button{width:42px;padding:0}.editor-toolbar,.editor-legend,.attendance-list{width:calc(100% - 1rem)}.status-button{width:16vw;max-width:51px;height:48px}.planned-today,.planned-today>div,.missing-session-row{align-items:stretch;flex-direction:column}.planned-today>div .button,.missing-session-row .button{width:100%}.missing-session-row>div{justify-content:flex-end}.month-picker{justify-content:space-between}.register-period-heading{align-items:flex-start;flex-direction:column}.period-metrics{justify-content:flex-start}.season-month-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.season-month-grid button{min-height:100px}.season-summary{display:none}.mobile-athlete-summary{display:grid;gap:.65rem;margin-bottom:1rem}.mobile-summary-heading{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.mobile-summary-heading h3{margin:0;font-size:1.05rem}.mobile-summary-heading>span,.mobile-matrix-heading span{color:var(--muted);font-size:.66rem}.mobile-summary-list{display:grid;gap:.5rem}.mobile-summary-card{display:grid;gap:.5rem;padding:.75rem;border:1px solid var(--line);border-radius:13px;background:var(--paper)}.mobile-summary-card>strong{overflow:hidden;font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.mobile-summary-card>small{margin-top:-.4rem;color:var(--muted);font-size:.62rem}.mobile-summary-card>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(58px,1fr));gap:.35rem}.mobile-status-total{display:grid;min-width:0;grid-template-columns:25px 1fr;grid-template-rows:auto auto;align-items:center;column-gap:.35rem;padding:.35rem;border-radius:9px;background:#f4f3ee}.mobile-status-total i{display:grid;width:25px;height:25px;grid-row:1 / 3;place-items:center;color:#fff;border-radius:7px;font-size:.58rem;font-style:normal;font-weight:900}.mobile-status-total b{font-size:.76rem;line-height:1}.mobile-status-total small{color:var(--muted);font-size:.56rem;line-height:1}.mobile-matrix-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:1.25rem 0 .5rem}.mobile-matrix-heading strong{font-size:.78rem}.mobile-matrix-heading span{max-width:165px;text-align:right}.matrix-wrap{max-height:calc(100dvh - 180px);overscroll-behavior-inline:contain}.attendance-matrix th.sticky-name{min-width:130px;max-width:130px;overflow:hidden;padding-left:.65rem;text-overflow:ellipsis;white-space:nowrap}.sync-details{grid-template-columns:1fr}.coordinator-switch,.coordinator-header{align-items:stretch;flex-direction:column}.coordinator-header{padding:1rem 0}.coordinator-header .app-mode-controls{width:100%}.coordinator-header .mode-control,.coordinator-header .theme-selector{flex:1;border:1px solid rgba(255,255,255,.1)}.coordinator-main{width:calc(100% - 1rem)}.coordinator-hero{min-height:0;padding:1rem}.coordinator-hero h1{font-size:1.7rem}.folder-button{width:100%}.coordinator-config-grid{grid-template-columns:1fr}.team-card-footer{flex-direction:column}.team-management-hero,.team-management-list-heading{align-items:stretch;flex-direction:column}.team-management-actions{flex-direction:column}.team-management-actions .quick-access-buttons,.nextcloud-quick-access .quick-access-buttons,.team-management-actions .button{width:100%}.team-management-save-all{align-items:stretch;flex-direction:column}.team-management-save-all .button{width:100%}.team-management-row{grid-template-columns:1fr;gap:.65rem}.team-management-row-actions{justify-content:stretch}.team-management-row-actions .button{flex:1}.team-card-actions{grid-template-columns:1fr}.coordinator-detail-actions{align-items:stretch;flex-direction:column}.coordinator-detail-actions .button{width:100%}.sharing-panel-heading,.sharing-add-heading{align-items:stretch;flex-direction:column}.sharing-panel-heading .button,.sharing-role-buttons{width:100%}.sharing-row{grid-template-columns:auto minmax(0,1fr) auto}.sharing-role-buttons{grid-column:1 / -1}.sharing-readonly-share{grid-column:1 / -1;text-align:left}.sharing-directory-row{grid-template-columns:auto minmax(0,1fr)}.sharing-directory-actions{grid-column:1 / -1}.sharing-directory-actions .button{flex:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.roster-fields{border:0;padding:0;margin:0;min-width:0}.session-heading-content{display:flex;align-items:center;justify-content:center;gap:0}.attendance-matrix thead .session-heading-content>button{width:auto}.attendance-matrix .session-has-note strong,.attendance-matrix thead .session-has-note small{color:#c99c00}.session-note-indicator{position:relative;display:inline-flex;flex-shrink:0}.session-note-indicator:after{position:absolute;inset:100% -8px auto;height:10px;content:""}.attendance-matrix thead .session-note-trigger{display:grid;width:auto}.session-note-trigger:focus-visible{outline:2px solid var(--green-2);outline-offset:2px}.session-note-tooltip{position:fixed;z-index:150;width:min(320px,calc(100vw - 24px));max-height:40vh;overflow-y:auto;padding:.8rem 1rem;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);box-shadow:var(--shadow);font-size:.82rem;font-weight:400;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.attendance-outcome{display:block;color:var(--muted);font-size:.75rem}.participation-mark{display:inline-block;margin-left:.3rem;color:var(--green-2);font-weight:700}.participation-legend{color:var(--muted);font-size:.85rem;margin-top:.75rem}.athlete-identity{min-width:0}.athlete-identity>strong{display:block}.register-coach-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:1.5rem;padding-top:1.5rem}.register-coach-sidebar{display:flex;flex-direction:column;align-self:start;gap:.8rem;position:sticky;top:1rem}.register-coach-sidebar .sidebar-team{margin:0;padding:1rem;background:var(--green);color:#fff;border-radius:14px}.register-coach-sidebar .sidebar-team span,.register-coach-sidebar .sidebar-team small{color:#d3e1d9}.register-coach-sidebar nav{display:grid;gap:.35rem}.register-coach-sidebar nav button{text-align:left;border:0;border-radius:10px;padding:.85rem 1rem;background:transparent;color:var(--ink);font-weight:700}.register-coach-sidebar nav button.active{background:var(--green);color:#fff}.register-coach-content{min-width:0}.register-settings-fields{border:0;padding:0;margin:0;min-width:0}.host-roster-picker{display:grid;gap:.6rem;max-height:320px;overflow:auto;padding:.75rem 0}.host-roster-picker label{display:flex;align-items:center;gap:.6rem}@media(max-width:900px){.register-coach-layout{grid-template-columns:minmax(0,1fr)}.register-coach-sidebar{position:static}.register-coach-sidebar nav{display:flex;overflow:auto}.register-coach-sidebar nav button{flex:0 0 auto}}
