:root{--navy:#07175e;--green:#0924ad;--mint:#e9edff;--ink:#18264c;--muted:#737f99;--line:#e3e8f2;--bg:#f5f7fc;--brand-blue:#071dac;--blue-soft:#eef2ff}
.season-toolbar{gap:22px;align-items:center;background:#f9faff}.season-toolbar>label{min-width:170px}.season-toolbar strong{display:block;font-size:12px;font-weight:500;color:#5d709b}.season-toolbar p{font-size:10px;margin-top:6px;max-width:550px}@media(max-width:700px){.season-toolbar>label{width:100%}.season-toolbar{gap:13px}.season-toolbar select{width:100%}}
.missing-document-list{padding:0;margin:0;list-style:none;display:grid;gap:6px;white-space:normal;min-width:190px}.missing-document-list li{display:flex;align-items:baseline;gap:8px;font-size:11px;line-height:1.5;color:#96743c}.missing-document-list li:before{content:'•';color:#c7a16a}.alert-links{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto;justify-content:flex-end}.alert-overview .alert-links .button{margin:0}@media(max-width:700px){.alert-links{width:100%;margin:5px 0 0}.alert-overview .alert-links .button{width:100%}}
.tax-code{text-transform:uppercase;letter-spacing:1px}
.family-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.family-parent{padding:21px;border:1px solid var(--line);border-radius:11px;background:#f9faff}.family-parent h3{font-size:16px;margin-bottom:19px}.family-parent .document-check{background:#fff}.legacy-parent{padding:20px;border:1px solid #ead8ab;background:#fffaf0;border-radius:10px;margin-bottom:22px}.legacy-parent strong{font-size:13px;color:#846b36}.legacy-parent p{font-size:11px;margin-top:9px}.legacy-parent>div{display:flex;gap:9px;flex-wrap:wrap;margin-top:13px}
.nav-section summary{list-style:none;display:flex;align-items:center;gap:13px;padding:14px;border-radius:9px;color:#c0cbf4;font-size:14px;cursor:pointer}.nav-section summary::-webkit-details-marker{display:none}.nav-section summary:hover{background:#ffffff13}.nav-section summary.active{background:#ffffff10;color:#fff}.nav-section summary:focus-visible{outline:3px solid #9baeff;outline-offset:3px}.nav-symbol{font-size:20px;width:20px;text-align:center;line-height:20px}.nav-chevron{margin-left:auto;font-size:17px;transition:transform .15s}.nav-section[open] .nav-chevron{transform:rotate(180deg)}.nav-section .nav-count{font-family:'DM Sans',sans-serif;background:#f3e8c5;color:#796025;min-width:22px;height:22px;border-radius:6px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;margin-left:auto}.nav-section .nav-count[hidden]{display:none}.nav-submenu{border-left:1px solid #ffffff30;margin:6px 0 7px 24px;padding-left:9px}.nav-submenu button{width:100%;font-size:11px;padding:12px 10px}.nav-submenu button.active{background:#e9edff;color:#0c238d}
@media(max-width:1100px){.family-grid{grid-template-columns:1fr}}
@media(max-width:700px){.family-parent{padding:16px}.family-grid .full{grid-column:1 / -1}.nav-section{flex:1 1 100%;border-top:1px solid #ffffff20;margin-top:3px;padding-top:4px}.nav-section summary{font-size:11px;padding:9px;gap:7px}.nav-symbol{width:16px;font-size:16px}.nav-submenu{margin:4px 8px 4px 23px}.nav-submenu button{justify-content:flex-start;min-height:35px}.family-parent .form-grid{grid-template-columns:1fr}}
button:focus-visible,a:focus-visible{outline-color:#9baeff}
.sidebar{background:linear-gradient(170deg,#07175e,#0b2080);color:#e8ecff}
.brand{gap:12px;font-size:20px;letter-spacing:-.6px;line-height:1.2}
.brand img{width:64px;height:64px;object-fit:contain;border-radius:50%;background:white;padding:3px;flex-shrink:0}
.brand small{display:block;font-family:'DM Sans',sans-serif;font-size:10px;font-weight:400;letter-spacing:.5px;color:#b2c0f3;margin-top:7px}
.club{margin-top:26px}.club small,.profile small{color:#a5b6ed}.nav-label{color:#9dafe9}.club-symbol{color:#d9e3ff}
nav button{color:#c0cbf4}nav button.active{background:#e9edff;color:#0c238d}nav button:hover:not(.active){background:#ffffff13}
nav button .nav-count{font-family:'DM Sans',sans-serif;margin-left:auto;background:#f3e8c5;color:#796025;min-width:22px;width:auto;height:22px;border-radius:6px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:700}nav button .nav-count[hidden]{display:none}
.season{color:#bcc9f0}.dot{background:#7b91e6}.avatar{background:#edf1ff;color:#647ab5}.avatar.color1{background:#e4ecff;color:#5677b6}.avatar.color2{background:#e8eafa;color:#787ac0}.avatar.color3{background:#eef0f9;color:#7e8db1}
header{background:#fdfdff}header strong{color:#4d5b7a}.crumb{color:#b1bad0}.local-badge{color:#6475a0}.secondary{color:#465b94}.primary:hover{background:#071b89}
.hero{background:linear-gradient(110deg,#e9eeff,#f0f4ff);border:1px solid #e0e7fb}.hero p{color:#687ba3}.hero-art{height:130px;display:flex;align-items:center;justify-content:center}.hero-art:before,.hero-art:after{border-color:#bbc8ef80}.hero-logo{width:122px;height:122px;border-radius:50%;object-fit:contain;background:white;padding:5px;z-index:1;box-shadow:0 9px 25px #273fb716}
.stat-label,.stat-note{color:#7b88a2}.stat-icon,.group-icon{background:#edf1ff;color:#5976c6}.tag{background:#edf1ff;color:#617cc3}.tag.blue{background:#e9effa;color:#6a8bbd}.tag.purple{background:#efedfc;color:#8a7dbb}
th{background:#f9faff;color:#8591ab;border-color:#edf0f8}td,.group-row,.panel-foot{border-color:#edf0f8}.person small,.contact{color:#8390aa}.panel-foot{color:#7c89a3}.demo-notice{color:#8391b3}footer{color:#95a0bb}
input,select,textarea{border-color:#dce2f0}input:focus,select:focus,textarea:focus{border-color:#859ae1;box-shadow:0 0 0 3px #e8edff}.icon-button{color:#7d8bb3}label.field{color:#5d6e96}
.document-check{background:#f7f9ff;border-color:#e3e8f5}.document-check input{accent-color:var(--brand-blue)}.document-check small{color:#8291af}.payment-total small{color:#8391ac}
.certificate.valid{background:#eaf0ff;color:#5470b4}.certificate.missing{background:#f0f2f7;color:#8993a8}.certificate.soon{background:#fff2d5;color:#916c24}.certificate.expired{background:#fce9e7;color:#ac5c53}
.attendance-summary{background:#f4f7ff;color:#5b73ad}.attendance-choices button{color:#8793ad}.attendance-choices button.selected.present{background:#e6eeff;border-color:#b9c9f6;color:#496cc1}.attendance-choices button.selected.absent{background:#fce9e7;color:#ac5c53}.attendance-choices button.selected.excused{background:#fff2d5;color:#916c24}
.alert-overview{display:flex;align-items:center;gap:15px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:19px 23px;margin-bottom:25px}.alert-overview-icon{width:39px;height:39px;display:flex;align-items:center;justify-content:center;font-family:Manrope,sans-serif;font-size:20px;font-weight:700;border-radius:11px;background:#fff3d7;color:#a58033;flex-shrink:0}.alert-overview h3{font-family:'DM Sans',sans-serif;font-size:13px}.alert-overview p{font-size:11px;margin-top:4px}.alert-overview .button{margin-left:auto}
.alert-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:26px}.alert-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;text-align:left;color:var(--ink)}.alert-card.selected{border-color:#94a8ee;box-shadow:0 0 0 2px #e3e9ff}.alert-card-icon{position:absolute;top:20px;right:20px;width:35px;height:35px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:19px;background:#edf1ff;color:#7b8ebc}.alert-card.soon .alert-card-icon{background:#fff2d5;color:#b2914e}.alert-card.expired .alert-card-icon{background:#fce9e7;color:#b07771}.alert-card-title{display:block;font-size:12px;color:#7987a4}.alert-card strong{font-family:Manrope,sans-serif;display:block;font-size:34px;letter-spacing:-1px;margin:10px 0}.alert-card small{display:block;font-size:11px;color:#8592ab}.empty strong{display:block;font-size:13px;font-weight:600;color:#6377a4}.empty p{font-size:11px;margin-top:8px}.empty-icon{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;background:#edf2ff;color:#6686cc;border-radius:50%;font-size:18px;margin-bottom:14px}
.course-title{font-family:Manrope,sans-serif;font-size:18px;letter-spacing:-.5px;font-weight:650;color:var(--ink);padding:0;background:none;border:0;text-align:left}.course-open{display:flex;width:100%;margin-top:20px}.group-card .card-bottom{gap:9px}.course-summary{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:20px;margin-bottom:24px}.course-info{padding:26px}.course-meta{display:flex;gap:40px;margin-top:21px}.course-meta small{display:block;font-size:11px;color:#8391ac;margin-bottom:7px}.course-meta strong{font-size:14px;font-weight:500;overflow-wrap:anywhere}.course-participant-count{padding:24px;display:flex;flex-direction:column}.course-participant-count small{color:#8492ab;font-size:11px}.course-participant-count strong{font-family:Manrope,sans-serif;font-size:34px;margin:6px 0;color:var(--brand-blue)}.course-participant-count span{font-size:11px;color:#8391ac}.group-row .text-button{font-size:12px;text-align:left;padding:0;color:var(--ink);font-weight:600}
@media(max-width:700px){.hero .hero-art{display:none}}
@media(max-width:1100px){.brand{font-size:17px;gap:9px}.brand img{width:51px;height:51px}.brand small{font-size:9px}.alert-overview{flex-wrap:wrap}.alert-overview .button{margin-left:auto}}
@media(max-width:700px){.brand{font-size:22px;gap:13px}.brand img{width:55px;height:55px}.brand small{font-size:10px}nav{flex-wrap:wrap;gap:5px}nav button{font-size:10px;padding:9px 7px;gap:4px;flex:1 1 auto}nav button .nav-count{font-size:9px;min-width:17px;height:18px;padding:0 4px}nav button span{width:14px;font-size:14px}.alert-cards{gap:8px}.alert-card{padding:15px 11px}.alert-card-icon{display:none}.alert-card-title{font-size:10px}.alert-card strong{font-size:27px}.alert-card small{font-size:9px;line-height:1.5}.alert-overview{padding:17px;gap:11px}.alert-overview p{font-size:10px}.alert-overview .button{width:100%;margin:4px 0 0}.course-summary{grid-template-columns:1fr}.course-meta{flex-direction:column;gap:20px}.course-participant-count{padding:20px;flex-direction:row;align-items:center;gap:15px}.course-participant-count strong{margin:0}.course-participant-count span{margin-left:auto}.hero-logo{width:100px;height:100px}}
.course-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.course-fields select{width:100%;min-width:0}.course-fields .field{min-width:0}
[hidden]{display:none!important}.access-pending>.sidebar,.access-pending>.workspace,.access-pending>dialog{display:none}#access-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.access-card{width:100%;max-width:440px;background:white;border:1px solid var(--line);border-radius:16px;padding:32px;box-shadow:0 12px 40px #1233770b}.access-card>img{display:block;margin:0 auto 20px;object-fit:contain;border-radius:50%;background:white;padding:3px}.access-card h1{font-size:24px}.access-card form{display:grid;gap:18px;margin-top:24px}.access-card .button{width:100%}#access-error{color:#a52a3b;font-size:12px}.users-list{margin-top:24px}.user-row+.user-row{border-top:1px solid var(--line)}.user-course-options{display:flex;flex-wrap:wrap;gap:12px 22px;margin:16px 0}.user-course-options label{display:flex;align-items:center;gap:7px}.user-feedback{margin-left:14px;font-size:12px}#users-feedback{margin-top:10px}
#course-athlete-picker{width:650px;max-height:85vh}#course-picker-context{font-size:12px;margin-bottom:18px}#course-picker-search{width:100%;margin-bottom:14px}#course-picker-list{max-height:45vh;overflow:auto}.course-picker-athlete{display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;width:100%;border:1px solid var(--line);border-radius:9px;background:white;padding:14px;margin-bottom:8px}.course-picker-athlete:hover{background:#f3f6ff;border-color:#b9c9ed}.course-picker-origin{display:block;color:var(--muted);margin:6px 0 0 46px;font-size:11px}.course-picker-add{color:var(--brand-blue);font-size:12px;font-weight:600;white-space:nowrap}
.athletes-table{width:100%;min-width:0;table-layout:fixed}.column-sort{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:0;background:none;border:0;color:inherit;text-align:left;font:inherit;white-space:nowrap}.column-sort:hover{color:var(--brand-blue)}.column-sort span{font-size:15px}.athletes-table th[aria-sort=ascending],.athletes-table th[aria-sort=descending]{color:var(--brand-blue)}.column-filters td{background:#f9faff;padding-top:8px;padding-bottom:14px}.column-filters input,.column-filters select{width:100%;min-width:0;min-height:36px;padding:8px 10px;font-size:11px;border:1px solid var(--line);border-radius:7px;background:white}.column-filters input[type=search]{width:100%}.athlete-name-button{display:block;width:100%;padding:0;background:none;border:0;text-align:left;color:inherit}.athlete-name-button:hover .person strong{color:var(--brand-blue);text-decoration:underline}.athletes-table .person strong{white-space:normal;overflow-wrap:anywhere}.athletes-table .tag{white-space:normal;overflow-wrap:anywhere}
.season-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.season-actions select{min-height:42px;width:155px;background:white;padding:10px 14px;border:1px solid var(--line);border-radius:8px;font-size:12px;color:var(--ink)}.season-actions .button{min-height:42px}@media(max-width:700px){.page-heading:has(.season-actions){flex-wrap:wrap}.season-actions{width:100%;justify-content:flex-end;gap:10px}.season-actions select{flex:1;max-width:190px;min-width:0}}
.group-card .actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.payment-date-unknown{display:flex;align-items:center;gap:7px;font-size:12px;margin-top:8px;color:var(--muted)}
.certificate-preview .certificate.missing{background:#fee2e2;color:#b91c1c}
.course-weekdays{display:flex;align-items:center;flex-wrap:wrap;gap:12px;border:0;padding:0;margin:0;min-width:0}.course-weekdays legend{font-size:12px;color:var(--muted);margin-bottom:10px}.course-weekdays label{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--line);border-radius:8px;cursor:pointer}.course-weekdays input{width:17px;height:17px;accent-color:var(--brand-blue)}.course-weekdays label:has(input:checked){background:#eaf0ff;border-color:#a9baf4;color:var(--brand-blue)}.course-notes{white-space:pre-wrap;overflow-wrap:anywhere}.course-meta>div{min-width:0}
.course-weekdays label:has(input:disabled){cursor:default;opacity:.45;background:#f0f2f7;border-color:var(--line)}
.course-fields{grid-template-columns:minmax(140px,.65fr) minmax(170px,1fr) auto;align-items:end}.course-fields .course-weekdays{flex-wrap:nowrap;gap:8px}.course-fields .course-weekdays label{padding:10px 12px;min-height:40px;box-sizing:border-box}.course-fields .course-weekdays legend{margin-bottom:8px}@media(max-width:850px){.course-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.course-fields #athlete-course-days{grid-column:1/-1}.course-fields .course-weekdays{flex-wrap:wrap}}@media(max-width:480px){.course-fields{grid-template-columns:minmax(0,1fr)}}
.course-participant-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}#course-emails-dialog{width:650px;max-width:calc(100vw - 40px)}#course-emails-list{width:100%;box-sizing:border-box;resize:vertical;line-height:1.7}#course-emails-context,#course-emails-feedback{font-size:12px;color:var(--muted)}

/* Shared muted palette, with colors identifying addition and removal actions. */
:root{--button-blue:#5976c6;--button-blue-hover:#4b65ab;--button-blue-selected:#405794;--button-green:#389b5c;--button-green-hover:#2f834e;--button-red:#a35e60;--button-red-hover:#8d4c4e}
:is(.workspace,.sidebar,dialog,#access-screen) :is(button:not(.column-sort,.alert-card),a.button){--button-color:var(--button-blue);--button-hover:var(--button-blue-hover);--button-selected:var(--button-blue-selected);display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;box-sizing:border-box;padding:10px 16px;border:1px solid var(--button-color);border-radius:8px;background:var(--button-color);color:#fff;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:600;line-height:1.4;text-decoration:none;cursor:pointer;transition:background-color .15s,border-color .15s,box-shadow .15s}
:is(.workspace,.sidebar,dialog,#access-screen) :is(button:not(.column-sort,.alert-card),a.button):is(.danger,[data-action^="delete-"],[data-action^="remove-"],[data-action="clear-demo"]){--button-color:var(--button-red);--button-hover:var(--button-red-hover);--button-selected:var(--button-red-hover)}
:is(.workspace,.sidebar,dialog,#access-screen) :is(button:not(.column-sort,.alert-card),a.button):is(.button-add,[data-action^="add-"],[data-action="course-add-athlete"],[data-action="enroll-course-athlete"]),#new-local-user button[type="submit"],#new-local-user button:not([type]){--button-color:var(--button-green);--button-hover:var(--button-green-hover);--button-selected:var(--button-green-hover)}
:is(.workspace,.sidebar,dialog,#access-screen) :is(button:not(.column-sort,.alert-card),a.button):hover:not(:disabled){background:var(--button-hover);border-color:var(--button-hover);color:#fff}
:is(.workspace,.sidebar,dialog,#access-screen) :is(button:not(.column-sort,.alert-card),a.button):is(.active,.selected,[aria-pressed="true"]){background:var(--button-selected);border-color:#b9c8da;box-shadow:inset 0 0 0 1px #b9c8da;color:#fff}
:is(.workspace,.sidebar,dialog,#access-screen) :is(button:not(.column-sort,.alert-card),a.button):focus-visible{outline:3px solid #b9c8da;outline-offset:3px}
:is(.workspace,.sidebar,dialog,#access-screen) button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
:is(.workspace,.sidebar,dialog,#access-screen) button.icon-button{width:40px;padding:8px;flex-shrink:0}
:is(.workspace,.sidebar,dialog,#access-screen) :is(.athlete-name-button,.course-picker-athlete,nav button,.group-row .text-button){justify-content:flex-start;text-align:left}

:is(.workspace,.sidebar,dialog,#access-screen) .alert-card{display:block;padding:22px;text-align:left}
:is(.workspace,.sidebar,dialog,#access-screen) .alert-card strong{color:var(--ink)}:is(.workspace,.sidebar,dialog,#access-screen) .alert-card :is(.alert-card-title,small){color:#64718b}

:is(.workspace,.sidebar,dialog,#access-screen) button :is(.person strong,.person small,.course-picker-origin,.course-picker-add){color:#fff}
:is(.workspace,.sidebar,dialog,#access-screen) .athlete-name-button:hover .person strong{color:#fff;text-decoration:underline}
.sidebar nav{gap:8px}.sidebar .nav-section summary{border:1px solid var(--button-blue);border-radius:8px;background:var(--button-blue);color:#fff;font-size:12px;font-weight:600;min-height:40px;padding:10px 16px}.sidebar .nav-section summary:hover{background:var(--button-blue-hover)}.sidebar .nav-section summary.active{background:var(--button-blue-selected);border-color:#9fb3f5;box-shadow:inset 0 0 0 1px #9fb3f5}
.group-card .card-bottom{flex-wrap:wrap}.course-title{max-width:100%}
.user-row-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.local-user-edit{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}.local-user-edit p{font-size:12px}.user-row-feedback{font-size:12px;color:#8d4c4e}.user-row-feedback:empty{display:none}
/* Alert chips stand out from ordinary labels and navigation. */
.certificate:is(.soon,.expired,.missing){display:inline-flex;align-items:center;min-height:30px;gap:7px;padding:7px 11px;border:1px solid;border-left-width:4px;border-radius:7px;font-size:12px;font-weight:700;line-height:1.4;box-shadow:0 2px 5px #18264c0d}
.certificate.soon{background:#ffebbd;color:#78520f;border-color:#cda14c}
.certificate.expired,.certificate.missing,.certificate-preview .certificate.missing{background:#f8dadd;color:#7e3039;border-color:#ce8a90}
.sidebar nav .nav-count{display:inline-flex;align-items:center;justify-content:center;min-width:28px;width:auto;height:28px;padding:0 8px;background:#f8dadd;color:#7e3039;border:1px solid #ce8a90;border-radius:8px;font-size:12px;font-weight:800;box-shadow:0 2px 5px #00000018;flex-shrink:0}
.waiting-list-panel{margin-top:24px}.waiting-chip{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;background:#e9edff;color:#173eb5;font-size:11px;font-weight:600;margin-left:12px}.waiting-list-table{min-width:1050px}.waiting-list-table td{white-space:pre-wrap;overflow-wrap:anywhere;max-width:230px}.waiting-list-table td:last-child{min-width:210px}.waiting-list-table .course-participant-actions{flex-wrap:nowrap}#waiting-editor{width:720px;max-width:calc(100vw - 40px)}#waiting-editor-course{font-size:12px;color:var(--muted);margin-top:8px}
@media(max-width:700px){:is(.workspace,.sidebar,dialog,#access-screen) :is(button:not(.column-sort,.alert-card),a.button){padding:9px 12px}:is(.workspace,.sidebar,dialog,#access-screen) .alert-card{padding:15px 11px}.sidebar .nav-section summary{padding:9px 12px}}

.course-card-heading{display:flex;align-items:center;gap:14px;margin-bottom:12px}.group-card .course-card-heading .group-icon{margin:0;flex-shrink:0}.course-card-heading .course-title{margin:0;font-size:18px;font-weight:800;line-height:1.4;overflow-wrap:anywhere;min-width:0}
.participants-table{min-width:1000px}.participants-table th:first-child{width:28%}.participants-table th:nth-child(2){width:22%}.participants-table th:nth-child(3){width:24%}.participants-table .column-filters input,.participants-table .column-filters select{width:100%;min-width:120px}.participants-table .column-sort{white-space:nowrap}
/* Sorting stays keyboard accessible while headers look like ordinary table labels. */
.workspace :is(.athletes-table,.participants-table,.alerts-table) thead th{background:#f8f9fc;color:#35415a;font-size:13px;font-weight:600;text-transform:none;letter-spacing:0;padding-top:14px;padding-bottom:14px}
.workspace table thead th button.column-sort{display:flex;justify-content:flex-start;gap:10px;width:100%;min-height:24px;padding:0;border:0;border-radius:0;background:transparent;color:#35415a;font-size:13px;font-weight:600;line-height:1.5;text-transform:none;box-shadow:none;transition:color .15s}
.workspace table thead th button.column-sort:hover:not(:disabled){background:transparent;border:0;color:var(--button-blue);box-shadow:none}
.workspace table thead th button.column-sort span{font-size:14px;color:#8794a5}
.workspace table thead th:is([aria-sort="ascending"],[aria-sort="descending"]) button.column-sort span{color:var(--button-blue)}
.workspace table thead th button.column-sort:focus-visible{outline:2px solid var(--button-blue);outline-offset:4px;border-radius:2px}
.athletes-table{min-width:500px}.athletes-table th{width:50%}.workspace table tbody tr[data-athlete-id]{cursor:pointer}.workspace table tbody tr[data-athlete-id]:focus-visible{outline:2px solid var(--button-blue);outline-offset:-2px}
.workspace table tbody tr>td{transition:background-color .15s ease}
@media(hover:hover){.workspace table tbody tr:hover>td{background-color:#f0f4fc}}
@media(prefers-reduced-motion:reduce){.workspace table tbody tr>td{transition:none}}

.group-card .course-card-actions{display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:8px;padding-top:16px}.workspace .course-card-actions button{flex:1 1 0;min-width:0;padding:10px 8px;font-size:12px}.group-cards{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:1200px){.group-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.group-cards{grid-template-columns:1fr}}
:is(.workspace,.sidebar,dialog,#access-screen) .course-card-actions button.course-action-icon{flex:0 0 44px;width:44px;height:44px;padding:10px}.course-action-icon svg{display:block;flex-shrink:0}
.users-list .user-row{padding:22px 24px}.user-row-heading{gap:20px}.user-row-heading h3{font-size:16px;line-height:1.4}.user-row-heading p{margin-top:5px;font-size:13px;overflow-wrap:anywhere}.user-row .local-user-courses{margin-top:22px;padding:18px 20px;background:#f8f9fc;border:1px solid var(--line);border-radius:9px}.local-user-courses>p{font-size:12px;font-weight:600;color:#52617e}.local-user-courses .user-course-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px 20px;margin:18px 0 22px}.user-course-options label{min-height:32px;gap:9px;font-size:13px}.user-course-options input[type="checkbox"]{width:16px;height:16px;margin:0;flex-shrink:0;accent-color:var(--button-blue)}.user-row .local-user-edit{margin-top:22px;padding-top:22px}.user-row-feedback:not(:empty){margin-top:14px}@media(max-width:700px){.users-list .user-row{padding:20px 18px}.user-row-heading{gap:14px}.user-row .local-user-courses{padding:16px}.local-user-courses .user-course-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.local-user-courses .user-feedback{display:block;margin:12px 0 0}}

.alert-cards .alert-card{background:#fff;color:var(--ink)}.alert-cards .alert-card:hover{background:#fff;border-color:#a6b6da}.alert-cards .alert-card.selected{background:#fff;border-color:var(--button-blue);box-shadow:0 0 0 2px #5976c624}.alert-cards .alert-card:focus-visible{outline:2px solid var(--button-blue);outline-offset:4px}

.alerts-table{min-width:900px}.alerts-table .column-filters input,.alerts-table .column-filters select{min-width:130px}.alerts-table th:first-child{width:25%}.alerts-table .column-sort{white-space:nowrap}

.sidebar>.brand{margin-bottom:28px}@media(max-width:700px){.sidebar>.brand{margin-bottom:0}}

.workspace #logout.icon-button{width:40px;height:40px;min-width:40px;padding:8px;gap:0}.workspace #logout svg{display:block;width:20px;height:20px;flex-shrink:0;stroke:#fff;fill:none}

.sidebar-bottom .account-nav{margin:0 0 16px}.sidebar-bottom .account-nav button{width:100%}

@media(max-width:700px){.sidebar-bottom:has(.account-nav button:not([hidden])){display:block;margin-top:12px}.sidebar-bottom .season,.sidebar-bottom .profile{display:none}.sidebar-bottom .account-nav{margin:0}.sidebar-bottom .account-nav button{flex:0 1 auto;width:auto}}


.table-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 23px;border-top:1px solid var(--line);margin:0}
.pagination-settings,.pagination-navigation{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted)}
.pagination-settings select{min-width:70px}
.pagination-navigation>span{white-space:nowrap}
@media(max-width:900px){.table-pagination{flex-wrap:wrap}.pagination-settings,.pagination-navigation{flex-wrap:wrap}.pagination-navigation{margin-left:auto}}
@media(max-width:700px){.table-pagination{padding:15px}.pagination-settings,.pagination-navigation{width:100%;justify-content:space-between;gap:8px}.pagination-summary{width:100%}.pagination-navigation button{flex:0 1 auto}}

.profile-heading-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.inactive-notice{padding:16px 20px;margin-bottom:20px;background:#f9eded;border:1px solid #e3bfc1;border-radius:8px;color:#914d50}.profile-readonly :is(input,select,textarea):disabled{background:#f5f7fa;color:var(--ink);opacity:1;cursor:default}.athlete-status{display:inline-block;padding:6px 10px;border-radius:6px;font-weight:600;font-size:11px}.athlete-status.is-active{background:#e6f3ea;color:#2c7543}.athlete-status.is-inactive{background:#f9e6e7;color:#914d50}.athletes-table th:nth-child(3),.athletes-table td:nth-child(3){width:160px}

.athletes-table th:nth-child(-n+2){width:auto}

.plus-enrollment{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;padding:12px;background:#edf3fc;border:1px solid var(--line);border-radius:8px}.course-fields:has(.plus-enrollment){flex-wrap:wrap}

#athlete-plus-enrollment{grid-column:1/-1}.plus-enrollment{width:fit-content}

.fgi-table{min-width:650px}.fgi-table input{width:100%;min-width:180px}.fgi-table th:first-child{width:130px}.fgi-table th:last-child{width:120px}.fgi-table td{vertical-align:middle}

.dashboard-stats .stat .button{margin-top:22px}.dashboard-stats .stat-label{font-size:16px;font-weight:600;color:var(--ink)}
.home-alerts{padding:26px}.home-alert-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.home-alert-heading h2{font-size:20px}.home-alert-heading p{font-size:12px;margin-top:6px}.home-alert-status{padding:9px 14px;border-radius:8px;font-size:13px;font-weight:700}.home-alert-status.attention{background:#f8e4e4;color:#963e45}.home-alert-status.clear{background:#e8f3ec;color:#286941}
.home-alert-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.home-alert-metric{display:flex;flex-direction:column;padding:20px;border-radius:10px;border:1px solid;border-top-width:4px;gap:12px}.home-alert-caption{font-size:13px;font-weight:700}.home-alert-metric strong{font-family:Manrope,sans-serif;font-size:38px;line-height:1.2}.home-alert-metric small{font-size:12px;line-height:1.5}.home-alert-metric.expired,.home-alert-metric.documents{background:#fff5f5;border-color:#d9a2a5;color:#903c44}.home-alert-metric.soon,.home-alert-metric.missing{background:#fff9ed;border-color:#d7b777;color:#815b1d}.home-alert-metric.clear{background:#f3faf5;border-color:#96bea4;color:#326e48}.home-alert-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
@media(max-width:1100px){.home-alert-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.home-alerts{padding:18px}.home-alert-heading{align-items:flex-start;flex-direction:column}.home-alert-grid{gap:10px}.home-alert-metric{padding:14px}.home-alert-metric strong{font-size:32px}.dashboard-stats .stat-label{font-size:14px}.home-alert-actions .button{flex:1 1 100%}}

/* The light palette above stays unchanged; dark surfaces are scoped to the preference. */
:root{color-scheme:light;--theme-control-bg:#eef2ff;--theme-control-ink:#465b94;--theme-control-hover:#e0e7fb}
.workspace #theme-toggle.icon-button[aria-pressed]{width:40px;height:40px;min-width:40px;padding:8px;gap:0;background:var(--theme-control-bg);border-color:var(--line);color:var(--theme-control-ink);box-shadow:none}
.workspace #theme-toggle.icon-button[aria-pressed]:hover:not(:disabled){background:var(--theme-control-hover);border-color:var(--theme-control-ink);color:var(--theme-control-ink)}
#theme-toggle svg{display:block;width:20px;height:20px;flex-shrink:0}
#theme-toggle .theme-sun{display:none}
:root[data-theme="dark"] #theme-toggle .theme-sun{display:block}
:root[data-theme="dark"] #theme-toggle .theme-moon{display:none}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#10141c;--surface:#181f2b;--surface-raised:#222c3b;--ink:#e6ebf4;--muted:#a4b1c5;--line:#344054;
  --navy:#111a28;--green:#a9bdff;--mint:#253553;--brand-blue:#adc1ff;--blue-soft:#24334e;
  --button-blue:#38538f;--button-blue-hover:#4563a5;--button-blue-selected:#2c426f;
  --button-green:#2b7349;--button-green-hover:#348758;--button-red:#80444e;--button-red-hover:#99515d;
  --theme-control-bg:#222c3b;--theme-control-ink:#f2d28b;--theme-control-hover:#303b4e;
  scrollbar-color:#46556d #141b26;
}
:root[data-theme="dark"] body{background:var(--bg);color:var(--ink)}
:root[data-theme="dark"] .sidebar{background:linear-gradient(170deg,#0c111a,#141d2c);border-right:1px solid #283449;color:#e2e9f6}
:root[data-theme="dark"] header{background:#151c27;border-color:var(--line)}
:root[data-theme="dark"] header strong{color:#d8e1f3}
:root[data-theme="dark"] .crumb{color:#8090aa}
:root[data-theme="dark"] :is(.panel,.stat,.group-card,.alert-overview,.access-card){background:var(--surface);border-color:var(--line);color:var(--ink)}
:root[data-theme="dark"] .hero{background:linear-gradient(110deg,#1c2941,#202d42);border-color:#354568}
:root[data-theme="dark"] .hero p{color:#b0bfda}
:root[data-theme="dark"] .hero-art:before,:root[data-theme="dark"] .hero-art:after{border-color:#53688b80}
:root[data-theme="dark"] :is(.stat-label,.stat-note,.person small,.contact,.panel-foot,.demo-notice,.course-meta small,.course-participant-count small,.course-participant-count span,.document-check small,.payment-total small,.alert-card-title){color:var(--muted)}
:root[data-theme="dark"] :is(.stat-icon,.group-icon,.empty-icon,.avatar){background:#283956;color:#c4d4fc}
:root[data-theme="dark"] .avatar.color1{background:#293a52;color:#bfd4f4}
:root[data-theme="dark"] .avatar.color2{background:#34344f;color:#d4cef6}
:root[data-theme="dark"] .avatar.color3{background:#3d3048;color:#e2c9ed}
:root[data-theme="dark"] .tag{background:#263956;color:#c1d3fb}
:root[data-theme="dark"] .tag.blue{background:#25374a;color:#bcd8f2}
:root[data-theme="dark"] .tag.purple{background:#38314c;color:#dacbf5}
:root[data-theme="dark"] :is(th,.column-filters td){background:#202a39;color:#c6d1e4;border-color:var(--line)}
:root[data-theme="dark"] :is(td,.group-row,.panel-foot){border-color:#2d394d}
:root[data-theme="dark"] .workspace :is(.athletes-table,.participants-table,.alerts-table) thead th{background:#202a39;color:#d8e2f3}
:root[data-theme="dark"] .workspace table thead th button.column-sort{color:#d8e2f3}
:root[data-theme="dark"] .workspace table thead th button.column-sort:hover:not(:disabled){color:#b6c9ff}
:root[data-theme="dark"] .workspace table thead th button.column-sort span{color:#a0b2d0}
:root[data-theme="dark"] .workspace table thead th:is([aria-sort="ascending"],[aria-sort="descending"]) button.column-sort span{color:#b6c9ff}
@media(hover:hover){:root[data-theme="dark"] .workspace table tbody tr:hover>td{background:#26334a}}
:root[data-theme="dark"] :is(input,select,textarea){background:#111925;border-color:#46536a;color:var(--ink)}
:root[data-theme="dark"] :is(input,textarea)::placeholder{color:#99a6bb;opacity:1}
:root[data-theme="dark"] :is(input,select,textarea):focus{border-color:#9db6ff;box-shadow:0 0 0 3px #9db6ff26}
:root[data-theme="dark"] input[type="checkbox"]{accent-color:#a9bdff}
:root[data-theme="dark"] label.field{color:#c1cee5}
:root[data-theme="dark"] :is(.family-parent,.season-toolbar,.user-row .local-user-courses,.plus-enrollment){background:#1c2738;border-color:var(--line);color:var(--ink)}
:root[data-theme="dark"] :is(.local-user-courses>p,.season-toolbar strong){color:#c1cee5}
:root[data-theme="dark"] .document-check{background:#202b3d;border-color:#3a4962}
:root[data-theme="dark"] .course-weekdays label:has(input:checked){background:#2b3d61;border-color:#7c98dc;color:#d8e3ff}
:root[data-theme="dark"] .course-weekdays label:has(input:disabled){background:#1a2331;color:#afbbce}
:root[data-theme="dark"] .profile-readonly :is(input,select,textarea):disabled{background:#202a39;color:#c4cee0}
:root[data-theme="dark"] dialog{background:var(--surface);color:var(--ink);border-color:#46536a;box-shadow:0 24px 80px #0008}
:root[data-theme="dark"] dialog::backdrop{background:#03060bb3}
:root[data-theme="dark"] .access-card{box-shadow:0 16px 50px #0004}
:root[data-theme="dark"] .certificate.valid{background:#233c36;color:#b0dfcb}
:root[data-theme="dark"] .certificate.soon{background:#40331e;color:#f1d292;border-color:#94743e}
:root[data-theme="dark"] .certificate:is(.expired,.missing){background:#412630;color:#f3bdc5;border-color:#a06170}
:root[data-theme="dark"] .certificate-preview .certificate.missing{background:#412630;color:#f3bdc5;border-color:#a06170}
:root[data-theme="dark"] .athlete-status.is-active{background:#203b30;color:#acdfbd}
:root[data-theme="dark"] .athlete-status.is-inactive{background:#412630;color:#f3bdc5}
:root[data-theme="dark"] :is(.profile-error,.inactive-notice){background:#35232d;color:#f3bdc5;border-color:#845361}
:root[data-theme="dark"] :is(#access-error,.user-row-feedback){color:#f3aeb9}
:root[data-theme="dark"] .legacy-parent{background:#302b21;border-color:#7d673e}
:root[data-theme="dark"] .legacy-parent strong{color:#f1d292}
:root[data-theme="dark"] .missing-document-list li{color:#e6ca92}
:root[data-theme="dark"] .missing-document-list li:before{color:#c6a56b}
:root[data-theme="dark"] .waiting-chip{background:#2a3c60;color:#cedcff}
:root[data-theme="dark"] .alert-overview-icon{background:#40331e;color:#f1d292}
:root[data-theme="dark"] .alert-cards .alert-card{background:var(--surface);color:var(--ink);border-color:var(--line)}
:root[data-theme="dark"] .alert-cards .alert-card:hover{background:#202b3d;border-color:#809cde}
:root[data-theme="dark"] .alert-cards .alert-card.selected{background:#202c42;border-color:#94b0f7;box-shadow:0 0 0 2px #94b0f72b}
:root[data-theme="dark"] :is(.workspace,.sidebar,dialog,#access-screen) .alert-card :is(.alert-card-title,small){color:var(--muted)}
:root[data-theme="dark"] .alert-card-icon{background:#293956;color:#c1d3fb}
:root[data-theme="dark"] .alert-card.soon .alert-card-icon{background:#40331e;color:#f1d292}
:root[data-theme="dark"] .alert-card.expired .alert-card-icon{background:#412630;color:#f3bdc5}
:root[data-theme="dark"] .home-alert-status.attention{background:#412630;color:#f3bdc5}
:root[data-theme="dark"] .home-alert-status.clear{background:#203b30;color:#acdfbd}
:root[data-theme="dark"] .home-alert-metric:is(.expired,.documents){background:#30212b;border-color:#a06170;color:#f3bdc5}
:root[data-theme="dark"] .home-alert-metric:is(.soon,.missing){background:#302b21;border-color:#94743e;color:#f1d292}
:root[data-theme="dark"] .home-alert-metric.clear{background:#1d3029;border-color:#527c64;color:#acdfbd}
:root[data-theme="dark"] .sidebar nav .nav-count{background:#412630;color:#f3bdc5;border-color:#a06170}
:root[data-theme="dark"] .attendance-summary{background:#1d2b42;color:#bed0f8}
:root[data-theme="dark"] .attendance-choices button.selected.present{background:#203b30;border-color:#527c64;color:#acdfbd}
:root[data-theme="dark"] .attendance-choices button.selected.absent{background:#412630;border-color:#a06170;color:#f3bdc5}
:root[data-theme="dark"] .attendance-choices button.selected.excused{background:#40331e;border-color:#94743e;color:#f1d292}
:root[data-theme="dark"] .empty strong{color:#b5c7ed}
:root[data-theme="dark"] footer{color:#929fb7}
:root[data-theme="dark"] #toast{background:#293a55;color:#f0f4ff;box-shadow:0 8px 30px #0005}


/* Coach profiles present information as text, without editable-looking controls. */
.coach-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 24px;margin:0}
.coach-info-item{min-width:0}
.coach-info-item dt,.coach-data-label{display:block;font-size:11px;font-weight:500;color:var(--muted);line-height:1.5;margin-bottom:7px}
.coach-info-item dd{margin:0;color:var(--ink);font-size:14px;font-weight:600;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;user-select:text}
.coach-info-item dd.coach-info-empty{color:var(--muted);font-weight:400}
.coach-frequency{margin-top:24px}
.coach-weekday-list{display:flex;gap:8px;flex-wrap:wrap}
.coach-weekday{display:inline-flex;align-items:center;justify-content:center;width:38px;height:36px;border:1px solid var(--line);border-radius:8px;background:#f0f2f7;color:#7a879d;font-size:12px;font-weight:600}
.coach-weekday.is-selected{background:#eaf0ff;color:#29499d;border-color:#a9baf4}
.coach-certificate-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.coach-certificate-summary>span:first-child{font-size:12px;color:var(--muted)}
.medical-chip{display:inline-flex;align-items:center;gap:7px;min-height:28px;padding:5px 10px;border:1px solid;border-radius:999px;font-size:11px;font-weight:700;line-height:1.4;white-space:nowrap}
.medical-chip-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
.medical-chip.is-ok{background:#e6f3ea;color:#23653b;border-color:#a8d2b4}
.medical-chip:is(.is-expired,.is-missing){background:#fae7e9;color:#963a48;border-color:#deb1ba}
.coach-athletes-table th:nth-child(3),.coach-athletes-table td:nth-child(3){width:210px}
:root[data-theme="dark"] .coach-weekday{background:#202a39;color:#a4b1c5;border-color:var(--line)}
:root[data-theme="dark"] .coach-weekday.is-selected{background:#2d4164;color:#d5e2ff;border-color:#7594cf}
:root[data-theme="dark"] .medical-chip.is-ok{background:#203b30;color:#acdfbd;border-color:#527c64}
:root[data-theme="dark"] .medical-chip:is(.is-expired,.is-missing){background:#412630;color:#f3bdc5;border-color:#a06170}
@media(max-width:700px){.coach-info-grid{gap:18px 16px}.coach-certificate-summary{width:100%}.coach-profile .family-grid .full{grid-column:1/-1}}

.account-nav svg{display:block;width:20px;height:20px}
.configuration-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px}.configuration-row+.configuration-row{border-top:1px solid var(--line)}.configuration-row h2{font-size:17px;margin:0 0 8px}.configuration-row p{margin:0;max-width:660px;color:var(--muted);line-height:1.6}.configuration-row button{flex-shrink:0}
@media(max-width:700px){.configuration-row{align-items:flex-start;flex-direction:column;gap:16px}}

.payment-filters{align-items:flex-end;flex-wrap:wrap}.payment-filters .field{min-width:140px;flex:1}.payment-note,.payment-empty{margin:0;padding:16px 24px;color:var(--muted);line-height:1.6}.payment-overview{min-width:1200px}.payment-overview tbody td:nth-child(n+3),.payment-overview thead th:nth-child(n+3),.payment-overview tfoot td{text-align:right;white-space:nowrap}.payment-overview .column-sort{white-space:normal}.payment-overview tfoot{font-weight:700;background:var(--bg)}.payment-overview tbody tr{cursor:pointer}.payment-overview tbody tr:focus-visible{outline:2px solid var(--brand-blue);outline-offset:-2px}

.payment-filters input[type="search"],.payment-filters select{width:100%;min-width:0}.payment-overview th,.payment-overview td{padding-left:14px;padding-right:14px}

.payment-pending-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:20px}.workspace .payment-card{margin:0;min-width:0;cursor:pointer;font:inherit}:is(.workspace,.sidebar,dialog,#access-screen) .payment-card :is(strong,.home-alert-caption,small){color:inherit}.workspace .payment-card.selected{outline:2px solid currentColor;outline-offset:2px}.workspace .payment-card:hover{filter:brightness(.97)}
@media(max-width:700px){.payment-pending-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.payment-pending-cards{grid-template-columns:1fr}}

:is(.workspace,.sidebar,dialog,#access-screen) .payment-card{padding:14px;background:var(--surface,#fff);border-top-width:3px}:is(.workspace,.sidebar,dialog,#access-screen) .payment-card strong{font-size:28px;margin:8px 0}:is(.workspace,.sidebar,dialog,#access-screen) .payment-card .home-alert-caption{font-size:12px;line-height:1.4;min-height:34px}:is(.workspace,.sidebar,dialog,#access-screen) .payment-card small{font-size:10px;line-height:1.4}
@media(min-width:701px) and (max-width:1100px){.payment-pending-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}

#avatar-picker{width:min(580px,calc(100vw - 32px));max-height:90vh;overflow:auto}#avatar-picker .dialog-heading p{color:var(--muted);margin:8px 0 0}.avatar-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.sidebar button#profile-avatar{width:42px;height:42px;min-width:42px;padding:0;background:#edf1ff;border:1px solid #dce2f0;border-radius:50%;font-size:26px;color:#52659c}.profile-avatar-button span,.animal-avatar-icon,.user-profile-avatar{font-family:"Segoe UI Emoji","Apple Color Emoji",sans-serif}.user-profile-avatar{font-size:26px}.user-row-person{display:flex;align-items:center;gap:12px}.user-row-person .avatar{flex-shrink:0}
:is(.workspace,.sidebar,dialog,#access-screen) button.animal-avatar-option{display:flex;flex-direction:column;gap:6px;padding:12px 6px;min-width:0;background:#f6f7fd;border:2px solid transparent;border-radius:16px;color:var(--ink);font-size:12px}.animal-avatar-icon{display:flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:50%;background:#ffe6ca;font-size:38px;line-height:1.2}.animal-avatar-option:nth-child(4n+2) .animal-avatar-icon{background:#fbe2ef}.animal-avatar-option:nth-child(4n+3) .animal-avatar-icon{background:#dff2e6}.animal-avatar-option:nth-child(4n+4) .animal-avatar-icon{background:#e8e2ff}
:is(.workspace,.sidebar,dialog,#access-screen) button.animal-avatar-option:hover{background:#edf1ff;border-color:#c2ceee;color:var(--ink)}:is(.workspace,.sidebar,dialog,#access-screen) button.animal-avatar-option[aria-pressed="true"]{background:#edf1ff;border-color:var(--button-blue);color:var(--ink);box-shadow:0 0 0 1px var(--button-blue)}#avatar-feedback{color:var(--muted);min-height:20px;margin-top:12px}:root[data-theme="dark"] .sidebar button#profile-avatar{background:#283956;border-color:#344054;color:#e6ebf4}:root[data-theme="dark"] #avatar-picker .animal-avatar-option{background:#222c3b;color:var(--ink)}:root[data-theme="dark"] #avatar-picker .animal-avatar-option:hover,:root[data-theme="dark"] #avatar-picker .animal-avatar-option[aria-pressed="true"]{background:#283956}
@media(max-width:420px){.avatar-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.animal-avatar-icon{width:44px;height:44px;font-size:32px}}

.sidebar button#profile-avatar[data-animal=""]{font-size:14px;font-weight:700}

@media(max-width:700px){.sidebar-bottom{display:block}.sidebar-bottom .profile{display:flex;margin-top:12px}}

:is(.workspace,.sidebar,dialog,#access-screen) .nav-submenu button{gap:8px;padding:10px}.sidebar .nav-submenu .nav-submenu-label{width:auto;min-width:0;flex:1;text-align:left;font-size:11px;line-height:1.35}

.password-help{font-size:12px;color:var(--muted);margin:0 0 12px}.user-password-status{display:inline-block;margin-top:8px;padding:4px 8px;border-radius:6px;font-size:11px;font-weight:600}.user-password-status.pending{background:#fff1d6;color:#815b1d}.user-password-status.ready{background:#e6f3ea;color:#2c7543}:root[data-theme="dark"] .user-password-status.pending{background:#302b21;color:#f1d292}:root[data-theme="dark"] .user-password-status.ready{background:#1d3029;color:#acdfbd}

.profile-tabs{display:flex;gap:8px;margin:20px 0}.profile-tabs [role="tab"]{flex:1}#avatar-picker .profile-tabs button[aria-selected="false"]{background:var(--bg);color:var(--ink);border-color:var(--line)}#profile-password-form .field{display:flex;flex-direction:column;gap:7px;margin:16px 0}#profile-password-form input{width:100%}#profile-password-feedback{min-height:20px;color:#a23e49;margin-top:14px}:root[data-theme="dark"] #profile-password-feedback{color:#f3bdc5}
.sidebar-menu{display:flex;flex:1;min-height:0;flex-direction:column}.mobile-menu-symbol{display:none}#mobile-menu-backdrop{position:fixed;inset:72px 0 0;z-index:70;background:#07112880;border:0;border-radius:0;padding:0;cursor:pointer}.mobile-menu-open{overflow:hidden}
@media(max-width:900px){.sidebar{position:sticky;inset:0 0 auto;width:100%;height:72px;min-height:72px;padding:12px 18px;flex-direction:row;align-items:center;z-index:80}.sidebar .brand{width:100%;font-size:20px;gap:12px;letter-spacing:-.6px}.sidebar .brand img{width:44px;height:44px}.sidebar .mobile-menu-symbol{display:inline-flex;width:auto;margin-left:auto;font-size:24px;line-height:1}.sidebar-menu{position:fixed;top:72px;left:0;bottom:0;width:min(320px,88vw);padding:18px 16px 24px;background:linear-gradient(170deg,#07175e,#0b2080);overflow-y:auto;overscroll-behavior:contain;transform:translateX(-100%);visibility:hidden;transition:transform .2s,visibility .2s;box-shadow:12px 0 30px #00000025}.mobile-menu-open .sidebar-menu{transform:translateX(0);visibility:visible}.sidebar .sidebar-menu nav{display:grid;grid-template-columns:1fr;gap:8px;margin:0}.sidebar .sidebar-menu nav button{width:100%;flex:none;justify-content:flex-start}.sidebar .sidebar-menu .nav-section{margin:0;padding:0;border:0}.sidebar .sidebar-menu .nav-section summary{font-size:13px}.sidebar .sidebar-menu .nav-submenu{margin:6px 0 7px 20px}.sidebar .sidebar-menu .sidebar-bottom{display:block;margin-top:auto;padding-top:24px}.sidebar .sidebar-menu .sidebar-bottom .season{display:flex;margin-bottom:16px}.sidebar .sidebar-menu .account-nav{margin-bottom:16px}.sidebar .sidebar-menu .account-nav button{width:100%}.sidebar .sidebar-menu .profile{display:flex;margin-top:16px}.workspace{margin-left:0}.workspace>header{padding:0 18px}.workspace>header>span{min-width:0;font-size:11px}.header-right{gap:8px}header .header-right #today-label{display:none}}
@media(prefers-reduced-motion:reduce){.sidebar-menu{transition:none}}

@media(max-width:900px){.sidebar #sidebar-menu .sidebar-bottom{margin-top:auto}}

.configuration-panel+.configuration-import{margin-top:24px}

/* Installation and connection notices */
.pwa-toolbar{display:flex;justify-content:flex-end;padding:12px 40px 0}.pwa-toolbar:has(button[hidden]){display:none}.pwa-toolbar .text-button{font-size:12px;color:var(--brand-blue);padding:4px 0}
#pwa-help{width:520px;line-height:1.6}#pwa-help p{font-size:13px;margin:14px 0;color:var(--muted)}#pwa-help ul{padding-left:20px;font-size:13px}#pwa-help li+li{margin-top:12px}
#pwa-notices{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);width:min(580px,calc(100% - 32px));z-index:1100;display:grid;gap:8px}.pwa-notice{display:flex;align-items:center;gap:16px;margin:0;padding:16px 20px;border:1px solid var(--line);border-radius:12px;background:var(--surface,#fff);color:var(--ink);box-shadow:0 8px 30px #10268926;font-size:13px;line-height:1.5}.pwa-notice .button{flex-shrink:0}html[data-theme=dark] .pwa-notice{background:#182338;color:#edf1ff}
@media(max-width:700px){.pwa-toolbar{padding:10px 18px 0}.pwa-notice{flex-wrap:wrap;gap:10px;padding:14px 16px}}
