/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.fixed{position:fixed}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--navy:#061326;--navy-2:#0a2140;--blue:#008cff;--cyan:#18c8ff;--gold:#f6c94c;--ink:#eaf5ff;--muted:#7f9bb7}*{box-sizing:border-box}html{background:#030b16}body{color:var(--ink);background-color:#030b16;background-image:linear-gradient(100deg,#020912f2 0%,#04101ddd 42%,#061326b5 100%),url(/fencing-arena-bg.png);background-position:bottom;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;margin:0;font-family:Segoe UI,Microsoft YaHei,Arial,sans-serif}button,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100svh;position:relative;overflow:hidden}.app-shell:before{content:"";pointer-events:none;background:linear-gradient(#0209123d,#020912a8 72%,#020912e8);position:fixed;inset:0}.ambient{pointer-events:none;filter:blur(80px);opacity:.18;border-radius:50%;position:fixed}.ambient-one{background:#008cff;width:380px;height:380px;top:-180px;right:-160px}.ambient-two{background:#0cf;width:320px;height:320px;bottom:-180px;left:-180px}.login-screen,.dashboard{z-index:1;width:min(100%,540px);min-height:100svh;margin:auto;padding:28px 22px 110px;position:relative}.login-screen{flex-direction:column;justify-content:center;gap:30px;display:flex}.brand-lockup{align-items:center;gap:20px;display:flex}.logo-halo{background:#fff;border-radius:28px;flex:none;width:122px;height:122px;overflow:hidden;transform:rotate(-2deg);box-shadow:0 0 0 1px #3d70a6,0 0 45px #007bff55}.logo-halo img{object-fit:cover;width:100%;height:100%}.eyebrow{letter-spacing:.22em;color:var(--cyan);margin:0 0 7px;font-size:10px;font-weight:700}h1{letter-spacing:.04em;margin:0;font-size:37px;font-style:italic;line-height:1.05}.subtitle{color:var(--muted);letter-spacing:.12em;margin:10px 0 0;font-size:13px}.login-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(145deg,#102b4dcf,#08172be8);border:1px solid #24486c;border-radius:26px;padding:22px;box-shadow:0 24px 80px #0008,inset 0 1px #ffffff12}.card-topline{letter-spacing:.12em;color:#a9bed1;justify-content:space-between;align-items:center;margin-bottom:19px;font-size:12px;display:flex}.status{color:#6fd9c4}.status i{background:#3ef0bd;border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block;box-shadow:0 0 8px #3ef0bd}.role-tabs{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:22px;display:grid}.role-tabs button{color:#7794ae;background:#07182c;border:1px solid #294764;border-radius:12px;padding:13px 5px;font-weight:700;position:relative;overflow:hidden}.role-tabs button.active{color:#fff;background:linear-gradient(135deg,#0d335c,#075aa2);border-color:#079eff;box-shadow:0 0 20px #008cff33}.role-number{color:var(--cyan);letter-spacing:.14em;margin-bottom:3px;font-size:8px;display:block}.login-card label{margin:14px 0;display:block}.login-card label>span{color:#708ca7;margin:0 0 7px 3px;font-size:11px;display:block}.login-card input{color:#fff;letter-spacing:.08em;background:#061427;border:1px solid #254663;border-radius:12px;outline:none;width:100%;padding:14px}.login-card input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #00aaff18}.password-row{position:relative}.password-row button{color:#76bce7;background:0 0;border:0;padding:7px;font-size:11px;position:absolute;top:8px;right:10px}.role-tabs button:disabled{cursor:default;opacity:.78}.child-switcher{color:#7f9cb3;justify-content:flex-end;align-items:center;gap:10px;margin:0 0 14px;font-size:12px;display:flex}.child-switcher select{color:#fff;background:#08233b;border:1px solid #26749d;border-radius:10px;padding:9px 12px}.coach-student-heading label>strong{color:#d8f3ff;text-align:center;background:#08233b;border:1px solid #2876a4;border-radius:10px;min-width:145px;padding:10px 14px;display:block}.primary-button{color:#fff;letter-spacing:.08em;background:linear-gradient(100deg,#0867bc,#00a8e9);border:0;border-radius:13px;justify-content:center;gap:12px;width:100%;margin-top:8px;padding:16px;font-weight:800;display:flex;box-shadow:0 12px 30px #007eff38}.primary-button:disabled{cursor:wait;opacity:.65}.primary-button b{color:var(--gold)}.demo-note{text-align:center;color:#58738e;margin:14px 0 0;font-size:10px}.login-error{color:#ffabb4;text-align:center;background:#681b294f;border:1px solid #7a3543;border-radius:10px;margin:11px 0 0;padding:9px;font-size:10px}.password-change-toggle{color:#8fcce9;background:#081a2c;border:1px solid #28516e;border-radius:11px;width:100%;margin-top:12px;padding:10px;font-size:10px}.password-change-panel{background:#061523;border:1px solid #28516e;border-radius:15px;gap:9px;margin-top:12px;padding:13px;display:grid}.password-change-panel h3{color:#d9f1ff;margin:0;font-size:14px}.password-change-panel p{color:#6f8ba2;margin:-4px 0 2px;font-size:9px}.password-change-panel input{margin:0;padding:11px;font-size:10px}.password-change-panel>button{color:#fff;background:linear-gradient(110deg,#0868a8,#08a6d7);border:0;border-radius:10px;padding:11px;font-size:10px;font-weight:800}.password-change-panel>button:disabled{opacity:.55}.password-change-notice{color:#9adfff;text-align:center;background:#0a2945;border-radius:8px;padding:8px;font-size:9px}.login-footer{color:#516b84;letter-spacing:.28em;justify-content:center;align-items:center;gap:14px;font-size:10px;display:flex}.login-footer i{background:var(--gold);border-radius:50%;width:3px;height:3px}.dashboard-header{justify-content:space-between;align-items:center;margin-bottom:48px;display:flex}.mini-brand{color:#7894af;letter-spacing:.13em;align-items:center;gap:10px;font-size:9px;display:flex}.mini-brand img{object-fit:cover;background:#fff;border-radius:10px;width:38px;height:38px}.mini-brand b{color:#fff}.avatar{width:38px;height:38px;color:var(--gold);background:#0e2a47;border:1px solid #2b5d88;border-radius:12px;font-weight:800}.hero-copy p,.section-title p{color:var(--cyan);letter-spacing:.18em;margin:0;font-size:11px;font-weight:700}.hero-copy h2{letter-spacing:.03em;margin:6px 0 8px;font-size:32px}.hero-copy>span{color:#89a5bd;font-size:14px}.athlete-card{background:linear-gradient(140deg,#102f55,#08192d);border:1px solid #2b5479;border-radius:24px;margin-top:25px;padding:21px;position:relative;overflow:hidden;box-shadow:0 22px 60px #0007}.athlete-card:after{content:"";border:26px solid #0da6ff12;border-radius:50%;width:140px;height:140px;position:absolute;top:-45px;right:-55px}.athlete-top{z-index:1;align-items:center;gap:14px;display:flex;position:relative}.athlete-id{text-align:center;color:#94dfff;background:linear-gradient(145deg,#0f74bd,#062444);border-radius:15px;place-content:center;width:58px;height:64px;font-style:italic;font-weight:900;display:grid;box-shadow:inset 0 0 18px #02aaff55}.athlete-id span{color:var(--gold);font-size:20px;display:block}.athlete-top p{color:#6f8ca8;margin:0;font-size:9px}.athlete-top h3{margin:4px 0;font-size:20px}.athlete-top h3 em{color:var(--cyan);vertical-align:middle;border:1px solid #1278ad;border-radius:5px;padding:3px 5px;font-size:9px;font-style:normal}.athlete-top div>span{color:#829bb4;font-size:11px}.level{color:var(--gold);align-self:flex-start;margin-left:auto;font-size:10px}.metrics{border-top:1px solid #24435e;grid-template-columns:repeat(3,1fr);margin-top:22px;padding-top:17px;display:grid}.metric{text-align:center;border-right:1px solid #24435e}.metric:last-child{border:0}.metric strong{color:#fff;font-size:23px;line-height:1;display:block}.metric small{color:var(--cyan);margin-left:2px;font-size:10px}.metric span{color:#66829d;margin-top:7px;font-size:9px;display:block}.lesson-progress-summary{border-top:1px solid #24435e;grid-template-columns:1fr 1fr;gap:9px;margin-top:15px;padding-top:15px;display:grid}.lesson-progress-summary>span{text-align:center;background:linear-gradient(145deg,#0b2944,#071624);border:1px solid #29516d;border-radius:12px;padding:11px 13px}.lesson-progress-summary small{color:#7692a9;font-size:9px;display:block}.lesson-progress-summary b{color:#fff;margin-top:5px;font-size:20px;display:block}.lesson-progress-summary b i{color:var(--gold);font-size:9px;font-style:normal}.coach-overview-metrics{grid-template-columns:repeat(4,1fr)}.coach-overview-metrics .metric:nth-child(3) strong,.coach-overview-metrics .metric:nth-child(4) strong{color:#ffe083}.progress{background:#07111e;border-radius:3px;height:3px;margin-top:20px;position:relative}.progress span{background:linear-gradient(90deg,var(--blue),var(--cyan));height:100%;box-shadow:0 0 10px var(--cyan);display:block}.progress i{color:#58738e;font-size:8px;font-style:normal;position:absolute;top:8px;right:0}.section-block{margin-top:34px}.section-title{align-items:center;margin-bottom:14px;display:flex}.section-title>span{color:#12385c;margin-right:11px;font-size:30px;font-style:italic;font-weight:900}.section-title h3{margin:3px 0 0;font-size:16px}.section-title button{color:#57bcef;background:0 0;border:0;margin-left:auto;font-size:10px}.session-card,.roster{background:#09192b;border:1px solid #1b3954;border-radius:16px;align-items:center;gap:13px;padding:14px;display:flex}.date-tile{color:#051324;text-align:center;background:linear-gradient(145deg,#c79521,#f6d46a);border-radius:12px;width:48px;height:54px;padding:7px}.date-tile b{font-size:22px;line-height:1;display:block}.date-tile span{font-size:9px}.session-card h4,.roster h4{margin:5px 0;font-size:13px}.session-card p,.roster p{color:#66819c;margin:0;font-size:9px}.tag{color:var(--gold);letter-spacing:.12em;font-size:8px}.session-card>button{color:#9edfff;background:#0a2946;border:1px solid #21557c;border-radius:9px;margin-left:auto;padding:8px;font-size:9px}.feedback{border-left:2px solid var(--cyan);background:linear-gradient(135deg,#0d2239,#081422);border-radius:4px 15px 15px 4px;grid-template-columns:40px 1fr;gap:10px;padding:15px;display:grid}.coach-badge{width:35px;height:35px;color:var(--cyan);border:1px solid #2875a8;border-radius:50%;place-content:center;font-weight:800;display:grid}.feedback p{color:#b9c9d8;margin:0;font-size:11px;line-height:1.7}.feedback time{color:#536d85;grid-column:2;font-size:8px}.standalone{background:#0b2037;border:1px solid #224866;border-radius:18px;margin-top:25px;padding:22px 8px}.roster{margin-bottom:10px}.roster>b{color:#16456c;font-size:22px;font-style:italic}.roster div{flex:1}.roster>span{color:#69d9c1;border:1px solid #286c60;border-radius:20px;padding:5px 8px;font-size:9px}.admin-grid{grid-template-columns:repeat(3,1fr);gap:9px;height:190px;display:grid}.admin-grid article{background:#091929;border:1px solid #21435e;border-radius:15px;flex-direction:column;justify-content:space-between;padding:13px;display:flex;position:relative;overflow:hidden}.admin-grid article>span{color:#6b88a3;font-size:9px}.admin-grid strong{z-index:1;font-size:21px}.admin-grid small{color:var(--cyan);font-size:9px}.admin-grid i{background:linear-gradient(#0af1,#008cff4d);border-top:1px solid #1cc5ff;position:absolute;bottom:0;left:0;right:0}.admin-summary{margin-bottom:28px}.admin-workspace{grid-template-columns:180px minmax(0,1fr);align-items:start;gap:22px;margin-top:28px;display:grid}.admin-workspace.admin-home-members{grid-template-columns:minmax(0,1fr)}.checkin-messages{margin-top:28px}.message-heading{justify-content:space-between;align-items:flex-end;margin-bottom:16px;display:flex}.message-heading p{color:var(--cyan);letter-spacing:.18em;margin:0;font-size:9px;font-weight:900}.message-heading h3{margin:5px 0;font-size:25px}.message-heading span{color:#7895ad;font-size:11px}.message-heading>strong{color:var(--cyan);font-size:30px}.message-heading>strong small{color:#7895ad;font-size:10px;font-weight:600}.message-summary{background:#0b2138df;border:1px solid #28516e;border-radius:17px;grid-template-columns:repeat(3,1fr);margin-bottom:14px;display:grid}.message-summary span{text-align:center;border-right:1px solid #284963;padding:15px}.message-summary span:last-child{border-right:0}.message-summary b,.message-summary small{display:block}.message-summary b{font-size:22px}.message-summary small{color:#7895ad;margin-top:4px;font-size:9px}.message-list{gap:10px;display:grid}.message-list article{background:linear-gradient(120deg,#0b2138ed,#071725f5);border:1px solid #244a65;border-radius:16px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:13px;padding:15px;display:grid}.message-list article>i{border-radius:13px;place-items:center;width:42px;height:42px;font-size:14px;font-style:normal;font-weight:900;display:grid}.message-list article>i.card{color:#75dfff;background:#083d57;border:1px solid #0b86ad}.message-list article>i.lesson{color:#ffd76a;background:#443712;border:1px solid #96721a}.message-list time{color:#65839c;font-size:9px}.message-list h4{margin:3px 0;font-size:14px}.message-list h4 span{color:#83a8c0;border:1px solid #315a74;border-radius:999px;margin-left:8px;padding:2px 7px;font-size:8px;display:inline-block}.message-list p{color:#b9cee0;margin:0;font-size:10px}.message-list div>small{color:#64829a;margin-top:4px;font-size:9px;display:block}.message-list article>em{color:var(--gold);white-space:nowrap;font-size:11px;font-style:normal;font-weight:800}.message-training{background:linear-gradient(145deg,#0d2b48ed,#061522f5);border:1px solid #28516e;border-radius:20px;margin-bottom:28px;padding:18px;box-shadow:0 18px 45px #0005}.message-training-heading{border-bottom:1px solid #26475e;justify-content:space-between;align-items:flex-end;margin-bottom:10px;padding-bottom:13px;display:flex}.message-training-heading p{color:var(--cyan);letter-spacing:.18em;margin:0;font-size:9px;font-weight:900}.message-training-heading h3{margin:5px 0;font-size:22px}.message-training-heading span{color:#7895ad;font-size:10px}.message-training-heading>strong{color:var(--gold);font-size:28px}.message-training-heading>strong small{color:#7895ad;font-size:9px}.message-training-list{gap:8px;display:grid}.message-training-list article{background:#071827;border:1px solid #274a63;border-radius:12px;grid-template-columns:30px 48px minmax(0,1fr) auto;align-items:center;gap:9px;padding:11px;display:grid}.message-training-list article>i{color:#1ecbf4;font-size:10px;font-style:italic;font-weight:900}.message-training-list time{color:var(--gold);font-size:11px;font-weight:900}.message-training-list b,.message-training-list span{display:block}.message-training-list b{font-size:12px}.message-training-list span{color:#708da4;margin-top:4px;font-size:9px}.message-training-list em{color:#92e0ff;white-space:nowrap;background:#0b527044;border:1px solid #247b9c;border-radius:20px;padding:5px 8px;font-size:8px;font-style:normal}.coach-profile{background:linear-gradient(145deg,#0c2946ed,#061522f5);border:1px solid #28516e;border-radius:22px;margin-top:28px;padding:20px;box-shadow:0 20px 55px #0005}.coach-profile-hero{border-bottom:1px solid #284963;align-items:center;gap:13px;padding-bottom:17px;display:flex}.coach-profile-hero>div{flex:1;min-width:0}.coach-profile-hero p{color:var(--cyan);letter-spacing:.18em;margin:0;font-size:9px;font-weight:900}.coach-profile-hero h3{margin:5px 0;font-size:23px}.coach-profile-hero div>span{color:#7793aa;font-size:10px}.coach-profile-hero>i{color:#70dfc2;background:#0b5e4b44;border:1px solid #277765;border-radius:20px;padding:6px 10px;font-size:9px;font-style:normal}.coach-profile-stats{grid-template-columns:repeat(3,1fr);gap:9px;margin:15px 0;display:grid}.coach-profile-stats>span{text-align:center;background:#071725;border:1px solid #25465e;border-radius:13px;padding:12px}.coach-profile-stats small{color:#6e8ca4;font-size:8px;display:block}.coach-profile-stats b{margin-top:5px;font-size:18px;display:block}.coach-profile-stats b i{color:#708da4;font-size:9px;font-style:normal}.coach-profile-details{grid-template-columns:1fr 1fr;gap:9px;display:grid}.coach-profile-details>div,.coach-profile-classes{background:#071725;border:1px solid #24465e;border-radius:12px;padding:12px}.coach-profile-details small,.coach-profile-classes>small{color:#6f8ca3;margin-bottom:6px;font-size:9px;display:block}.coach-profile-details b{font-size:11px}.coach-profile-classes{margin-top:9px}.coach-profile-classes>div{flex-wrap:wrap;gap:7px;display:flex}.coach-profile-classes span{color:#8fe2ff;background:#0b4f6a55;border:1px solid #1f7195;border-radius:20px;padding:5px 8px;font-size:9px}.coach-profile-note{color:#657f94;text-align:center;margin:14px 0 0;font-size:9px;line-height:1.7}.parent-profile-card{background:linear-gradient(145deg,#0c2946ed,#061522f5);border:1px solid #28516e;border-radius:22px;margin-top:28px;padding:20px;box-shadow:0 20px 55px #0005}.parent-profile-switcher{margin:0 0 15px}.parent-profile-hero{border-bottom:1px solid #284963;align-items:center;gap:13px;padding-bottom:17px;display:flex}.parent-profile-hero>div{flex:1;min-width:0}.parent-profile-hero p{color:var(--cyan);letter-spacing:.18em;margin:0;font-size:9px;font-weight:900}.parent-profile-hero h3{align-items:center;gap:8px;margin:5px 0;font-size:23px;display:flex}.parent-profile-hero h3 i{color:#8fe2ff;background:#0b4f6a55;border:1px solid #1f7195;border-radius:20px;padding:4px 7px;font-size:9px;font-style:normal}.parent-profile-hero div>span{color:#7793aa;font-size:10px}.parent-profile-balances{grid-template-columns:repeat(3,1fr);gap:9px;margin:15px 0;display:grid}.parent-profile-balances>span{text-align:center;background:#071725;border:1px solid #25465e;border-radius:13px;padding:12px}.parent-profile-balances small{color:#6e8ca4;font-size:8px;display:block}.parent-profile-balances b{margin-top:5px;font-size:17px;display:block}.parent-profile-balances b i{color:#708da4;font-size:9px;font-style:normal}.parent-profile-details{grid-template-columns:1fr 1fr;gap:9px;display:grid}.parent-profile-details>div{background:#071725;border:1px solid #24465e;border-radius:12px;padding:12px}.parent-profile-details small{color:#6f8ca3;margin-bottom:6px;font-size:9px;display:block}.parent-profile-details b{font-size:11px}@media (max-width:460px){.message-list article{grid-template-columns:38px minmax(0,1fr);gap:10px;padding:12px}.message-list article>i{width:38px;height:38px}.message-list article>em{grid-column:2;justify-self:start}.message-summary span{padding:12px 5px}.message-heading h3{font-size:22px}.message-training{padding:13px}.message-training-list article{grid-template-columns:24px 44px minmax(0,1fr)}.message-training-list em{grid-column:3;justify-self:start}.coach-profile{padding:15px}.coach-profile-stats{grid-template-columns:1fr 1fr}.coach-profile-stats>span:first-child{grid-column:1/-1}.coach-profile-details{grid-template-columns:1fr}.parent-profile-card{padding:15px}.parent-profile-balances{grid-template-columns:1fr 1fr}.parent-profile-balances>span:last-child{grid-column:1/-1}.parent-profile-details{grid-template-columns:1fr}.admin-content .member-section{margin-top:18px}.admin-content .member-heading{flex-wrap:wrap;align-items:flex-start;gap:10px;margin-bottom:12px}.admin-content .heading-actions{grid-template-columns:1fr 1fr;gap:7px;width:100%;display:grid}.admin-content .heading-actions>button,.admin-content .add-member-button{padding:9px 10px}.admin-content .member-tools{gap:7px;margin-bottom:9px}.admin-content .member-search input{padding:10px 0;font-size:12px}.admin-content .member-filters{scrollbar-width:none;gap:2px;padding:2px;display:flex;overflow-x:auto}.admin-content .member-filters::-webkit-scrollbar{display:none}.admin-content .member-filters button{flex:none;padding:8px 11px}.admin-content .member-row:not(.coach-row){border-radius:14px;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;padding:11px 12px}.admin-content .member-row:not(.coach-row) .member-monogram{border-radius:11px;width:40px;height:40px}.admin-content .member-row:not(.coach-row) .member-expiry{border-top:1px solid #1f3e56;grid-column:2;margin:0;padding:8px 0 0}.admin-content .member-row:not(.coach-row) .member-expiry small{margin-bottom:3px;font-size:9px}.admin-content .member-row:not(.coach-row) .member-expiry b{font-size:12px}.admin-content .member-row:not(.coach-row) .member-status{grid-column:3;place-self:end;padding:5px 8px}.admin-content .member-balances{margin-top:7px}}.admin-home-card,.account-profile-card,.password-reset-card{background:linear-gradient(145deg,#0b2138ed,#061321f5);border:1px solid #28516e;border-radius:20px;margin-top:28px;padding:24px;box-shadow:0 18px 45px #0005}.admin-home-card>span,.account-profile-card>span,.password-reset-card>p{color:var(--cyan);letter-spacing:.18em;margin:0;font-size:9px;font-weight:800}.admin-home-card h3,.account-profile-card h3,.password-reset-card h3{margin:8px 0;font-size:23px}.admin-home-card p,.account-profile-card p,.password-reset-card>span{color:#7895ad;margin:0;font-size:11px;line-height:1.7;display:block}.admin-home-card button{color:#fff;background:linear-gradient(110deg,#0868a8,#08a6d7);border:0;border-radius:11px;margin-top:18px;padding:12px 16px;font-size:11px;font-weight:800}.password-reset-card{max-width:560px}.password-reset-card label{margin-top:20px;display:block}.password-reset-card label b{color:#7895ad;margin-bottom:7px;font-size:10px;display:block}.password-reset-card input{color:#fff;background:#061522;border:1px solid #274a63;border-radius:11px;outline:0;width:100%;padding:13px}.password-reset-card>div{background:#071827;border:1px solid #25465f;border-radius:11px;justify-content:space-between;align-items:center;margin:14px 0;padding:12px;display:flex}.password-reset-card>div small{color:#7895ad}.password-reset-card>div strong{color:var(--gold);letter-spacing:.08em}.password-reset-card>button{color:#fff;background:linear-gradient(110deg,#0868a8,#08a6d7);border:0;border-radius:11px;width:100%;padding:13px;font-weight:800}.password-reset-card>button:disabled{opacity:.45}.admin-sidebar{background:linear-gradient(170deg,#0e2947,#071522);border:1px solid #244863;border-radius:20px;min-height:500px;padding:14px;position:sticky;top:20px;box-shadow:0 18px 50px #0005}.sidebar-label{border-bottom:1px solid #213f57;margin-bottom:10px;padding:8px 8px 20px}.sidebar-label span{color:var(--cyan);letter-spacing:.22em;font-size:8px;display:block}.sidebar-label b{margin-top:5px;font-size:15px;display:block}.admin-sidebar>button{text-align:left;color:#648097;background:0 0;border:1px solid #0000;border-radius:12px;grid-template-columns:26px 1fr 10px;align-items:center;gap:8px;width:100%;margin:5px 0;padding:12px 9px;display:grid}.admin-sidebar>button>i{color:#254b69;font-style:italic;font-weight:900}.admin-sidebar>button span b{font-size:11px;display:block}.admin-sidebar>button span small{letter-spacing:.13em;margin-top:4px;font-size:7px;display:block}.admin-sidebar>button em{font-size:17px;font-style:normal}.admin-sidebar>button.active{color:#fff;box-shadow:inset 3px 0 var(--cyan),0 8px 22px #0004;background:linear-gradient(120deg,#103b61,#0b2a47);border-color:#1e6897}.admin-sidebar>button.active>i{color:var(--gold)}.admin-sidebar>button.active span small{color:#56bde9}.sidebar-foot{color:#506d84;font-size:8px;position:absolute;bottom:18px;left:18px}.sidebar-foot i{background:#42d5b6;border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block;box-shadow:0 0 8px #42d5b6}.admin-content{min-width:0}.member-section{margin-top:30px}.member-heading{justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:18px;display:flex}.member-heading p,.add-title p{color:var(--cyan);letter-spacing:.18em;margin:0 0 5px;font-size:11px;font-weight:700}.member-heading h3,.add-title h3{margin:0;font-size:22px}.member-heading>div>span{color:#7d99b1;margin-top:7px;font-size:11px;display:block}.add-member-button{color:#fff;white-space:nowrap;background:linear-gradient(135deg,#0b5791,#0c82bc);border:1px solid #158bce;border-radius:11px;padding:11px 13px;font-size:10px;font-weight:800;box-shadow:0 8px 24px #007ec533}.heading-actions{align-items:center;gap:8px;display:flex}.heading-actions>button:first-child{color:#9fc7de;white-space:nowrap;background:#0a2034;border:1px solid #31566f;border-radius:11px;padding:11px 12px;font-size:10px;font-weight:700}.member-tools{align-items:center;gap:10px;margin-bottom:12px;display:flex}.member-filter-tools{grid-template-columns:minmax(240px,1fr) 230px auto;display:grid}.member-search{color:#4c86ad;background:#071728;border:1px solid #21425d;border-radius:12px;flex:1;align-items:center;gap:8px;padding:0 11px;display:flex}.member-search input{color:#fff;background:0 0;border:0;outline:0;width:100%;min-width:0;padding:14px 0;font-size:14px}.member-search input::placeholder{color:#49647c}.member-demographic-filters{grid-template-columns:1fr 1fr;gap:6px;display:grid}.member-demographic-filters label{display:block;position:relative}.member-demographic-filters label>span{z-index:1;color:#5f839e;pointer-events:none;font-size:8px;position:absolute;top:6px;left:10px}.member-demographic-filters select{color:#b9d8e9;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#071728;border:1px solid #21425d;border-radius:12px;outline:0;width:100%;height:100%;min-height:48px;padding:17px 30px 5px 10px;font-size:11px}.member-demographic-filters select:focus{border-color:#2589ba;box-shadow:inset 0 0 0 1px #2589ba44}.member-filters{background:#071522;border:1px solid #203f59;border-radius:11px;padding:3px;display:flex}.member-filters button{color:#7793aa;background:0 0;border:0;border-radius:8px;padding:10px 13px;font-size:11px}.member-filters button.active{color:#a9e5ff;background:#123d61;box-shadow:inset 0 0 0 1px #216698}.member-list{gap:8px;display:grid}.member-row{text-align:left;color:#fff;cursor:pointer;background:linear-gradient(110deg,#0b2036ed,#071522f5);border:1px solid #24506f;border-radius:17px;grid-template-columns:48px minmax(160px,1fr) minmax(120px,auto) auto 44px;align-items:center;gap:14px;width:100%;padding:15px 16px;transition:border-color .2s,transform .2s;display:grid}.member-row:not(.coach-row){grid-template-columns:48px minmax(160px,1fr) minmax(120px,auto) auto}.member-row:hover{border-color:#277ab1;transform:translateY(-1px)}.member-monogram{color:#bceeff;background:linear-gradient(145deg,#0f6daa,#082a4b);border:1px solid #2784b9;border-radius:13px;place-content:center;width:44px;height:44px;font-size:17px;font-weight:900;display:grid}.member-monogram.large{border-radius:16px;width:52px;height:52px;font-size:20px}.member-main{min-width:0}.member-main b{align-items:center;gap:8px;font-size:17px;display:flex}.member-main small,.member-plan small{color:#7894ab;white-space:nowrap;margin-top:6px;font-size:10px;display:block}.member-main .member-field-label{color:#7f9bb1;letter-spacing:.1em;margin:0 0 4px}.member-main b i{border-radius:20px;padding:4px 8px;font-size:10px;font-style:normal;font-weight:800;display:inline-block}.member-main b i.age-group-tag{color:#9deaff;background:#0a5a7855;border:1px solid #177b9d}.member-main b i.annual{color:#ffd86f;background:#71510f55;border:1px solid #8c6a25}.member-main b i.sessions{color:#84dcff;background:#07527b55;border:1px solid #17698d}.member-balances{flex-wrap:wrap;gap:6px;margin-top:9px;display:flex}.member-balances .balance-chip{letter-spacing:.02em;border:1px solid;border-radius:999px;align-items:baseline;gap:4px;padding:5px 10px;font-size:9px;font-style:normal;font-weight:700;display:inline-flex}.member-balances .balance-chip b{font-variant-numeric:tabular-nums;font-size:13px;line-height:1;display:inline}.member-balances .card-count{color:#79ddff;background:#083552;border-color:#1b769b}.member-balances .lesson-count{color:#ffd676;background:#4e380e55;border-color:#8c6a25}.member-card-pills{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:min(100%,270px);margin-top:9px;display:grid}.member-card-pills .member-coach-label,.member-card-pills .balance-chip{white-space:nowrap;text-overflow:ellipsis;border:1px solid;border-radius:999px;justify-content:center;align-items:center;gap:4px;width:100%;height:28px;margin:0;padding:0 7px;font-size:9px;font-style:normal;font-weight:700;line-height:1;display:inline-flex;overflow:hidden}.member-card-pills .balance-chip b{font-variant-numeric:tabular-nums;font-size:12px;line-height:1;display:inline}.member-card-pills .card-count{color:#79ddff;background:#083552;border-color:#1b769b}.member-card-pills .lesson-count{color:#ffd676;background:#4e380e55;border-color:#8c6a25}.member-expiry{text-align:left;border-left:1px solid #2a506a;padding-left:18px}.member-expiry small{color:#7f9bb1;letter-spacing:.06em;margin-bottom:7px;font-size:10px;display:block}.member-expiry b{color:#edf8ff;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:15px;display:block}.member-plan{text-align:right}.member-plan i{border-radius:20px;padding:4px 7px;font-size:8px;font-style:normal;font-weight:800;display:inline-block}.member-plan i.annual{color:#ffd86f;background:#71510f55;border:1px solid #8c6a25}.member-plan i.sessions{color:#84dcff;background:#07527b55;border:1px solid #17698d}.member-status{white-space:nowrap;border-radius:20px;padding:6px 9px;font-size:10px}.status-有效{color:#75e5c7;background:#0b5f4c44;border:1px solid #247664}.status-即将到期{color:#ffd071;background:#7e531044;border:1px solid #886522}.status-已到期{color:#ff9a9a;background:#721d2844;border:1px solid #7e3540}.member-delete{color:#ff9ca8;background:#5f172437;border:1px solid #783846;border-radius:9px;width:42px;height:32px;padding:0;font-size:10px;font-weight:700}.member-delete:hover{color:#fff;background:#87253866;border-color:#d05267}.coach-monogram{color:#ffe18b;background:linear-gradient(145deg,#664b17,#142b43);border-color:#7b642b}.coach-specialty{text-align:right}.coach-specialty i{color:#ffe18b;background:#6c4d1244;border:1px solid #806524;border-radius:20px;padding:4px 8px;font-size:8px;font-style:normal;display:inline-block}.coach-specialty small{color:#617f98;text-overflow:ellipsis;white-space:nowrap;max-width:115px;margin-top:5px;font-size:8px;display:block;overflow:hidden}.coach-status-在职{color:#75e5c7;background:#0b5f4c44;border:1px solid #247664}.coach-status-休假{color:#b8c3cc;background:#384a5844;border:1px solid #536574}.member-arrow{color:#4d718e;font-size:19px}.member-empty{text-align:center;color:#5b768e;border:1px dashed #244259;border-radius:14px;padding:35px;font-size:11px}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#01050bd4;justify-content:center;align-items:flex-end;padding-top:30px;display:flex;position:fixed;inset:0}.coach-action-backdrop{align-items:center;padding:24px}.coach-action-backdrop .coach-action-modal{border-bottom:1px solid #315577;border-radius:26px;max-height:calc(100svh - 48px)}.member-modal{background:linear-gradient(160deg,#102d4c,#061321 62%);border:1px solid #315577;border-bottom:0;border-radius:26px 26px 0 0;width:min(100%,560px);max-height:90svh;padding:11px 22px 28px;animation:.25s ease-out modal-in;overflow:auto;box-shadow:0 -30px 80px #000a}@keyframes modal-in{0%{opacity:0;transform:translateY(30px)}}.modal-handle{background:#315674;border-radius:3px;width:38px;height:4px;margin:0 auto 20px}.detail-title,.add-title{border-bottom:1px solid #24415a;align-items:center;gap:13px;padding-bottom:18px;display:flex}.detail-title p{color:var(--cyan);letter-spacing:.12em;margin:0;font-size:9px}.detail-title h3{margin:3px 0 0;font-size:22px}.detail-title button,.add-title button{color:#8aa5bc;background:#0b2034;border:1px solid #2f526e;border-radius:10px;width:34px;height:34px;margin-left:auto;font-size:20px}.detail-grid{grid-template-columns:1fr 1fr;gap:9px;margin-top:18px;display:grid}.detail-item{background:#071625;border:1px solid #1d394f;border-radius:13px;padding:12px}.detail-item.wide{grid-column:1/-1}.detail-item span{color:#607e98;margin-bottom:7px;font-size:9px;display:block}.detail-item strong{font-size:13px}.detail-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;display:grid}.detail-actions button{color:#a6c4da;background:#0b2136;border:1px solid #2b5471;border-radius:12px;padding:13px;font-size:11px;font-weight:700}.detail-actions .renew-button{color:#fff;background:linear-gradient(110deg,#0b5995,#0895cc);border-color:#117dbc}.detail-actions .danger-button{color:#ff9faa;background:#54172455;border-color:#783642}.add-title{justify-content:space-between;align-items:flex-start}.member-form{gap:13px;margin-top:17px;display:grid}.member-form label>span{color:#7c99b1;margin:0 0 6px 3px;font-size:9px;display:block}.member-form input,.member-form select{color:#fff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#061524;border:1px solid #25465f;border-radius:11px;outline:0;width:100%;padding:12px;font-size:11px}.member-form input:focus,.member-form select:focus{border-color:#169fe5;box-shadow:0 0 0 3px #009dff16}.form-pair{grid-template-columns:1fr 1fr;gap:10px;display:grid}.save-member-button{color:#fff;background:linear-gradient(110deg,#0a66a8,#0aa6da);border:0;border-radius:12px;margin-top:3px;padding:14px;font-weight:800}.form-note{text-align:center;color:#536f88;margin:0;font-size:8px}.balance-editor{grid-template-columns:1fr 1fr;gap:10px;display:grid}.balance-card{background:#071929;border:1px solid;border-radius:14px;grid-template-columns:38px minmax(0,1fr) 68px;align-items:center;gap:10px;padding:11px;display:grid;box-shadow:inset 0 1px #ffffff0a}.member-form .balance-card>.balance-icon{border-radius:11px;place-content:center;width:36px;height:36px;margin:0;font-size:14px;font-weight:900;display:grid}.member-form .balance-card>.balance-copy{min-width:0;margin:0;display:block}.balance-copy b{color:#e9f7ff;font-size:11px;display:block}.balance-copy small{color:#6f8ba2;white-space:nowrap;margin-top:4px;font-size:8px;display:block}.member-form .balance-card input{text-align:center;font-variant-numeric:tabular-nums;width:68px;padding:10px 6px;font-size:18px;font-weight:900}.card-balance{background:linear-gradient(135deg,#0a2941,#071725);border-color:#1b6c91}.card-balance .balance-icon{color:#89e2ff;background:#0b5275;border:1px solid #197da5}.lesson-balance{background:linear-gradient(135deg,#2d260f,#10170f 70%);border-color:#765b25}.lesson-balance .balance-icon{color:#ffe18a;background:#6a4d11;border:1px solid #9a772e}.member-edit-form{margin-top:18px}.template-downloads{grid-template-columns:1fr 1fr;gap:9px;margin:17px 0;display:grid}.template-downloads a{color:#a8e6ff;text-align:center;background:#0b2c47;border:1px solid #267399;border-radius:11px;padding:12px 8px;font-size:10px;font-weight:700;text-decoration:none}.template-downloads a:first-child{color:#fff;background:linear-gradient(120deg,#0b5889,#0a86b4);border-color:#139ccf}.import-rules{background:#071726;border:1px solid #28465c;border-radius:13px;padding:13px}.import-rules h4{margin:0 0 8px;font-size:13px}.import-rules ol{color:#88a2b7;margin:0;padding-left:20px;font-size:10px;line-height:1.8}.import-drop{text-align:center;cursor:pointer;background:#09233a;border:1px dashed #2983ab;border-radius:14px;place-items:center;margin-top:14px;padding:22px;display:grid;position:relative}.import-drop input{opacity:0;cursor:pointer;position:absolute;inset:0}.import-drop span{color:#bcecff;font-size:13px;font-weight:800}.import-drop small{color:#6c8ba3;margin-top:6px;font-size:9px}.import-result{color:#ffadb5;text-align:center;background:#5c1f2a55;border-radius:10px;margin:12px 0 0;padding:10px;font-size:10px}.import-result.success{color:#76e4c4;background:#125e4a55}.schedule-section{margin-top:28px}.schedule-heading{align-items:center}.publish-actions{align-items:center;gap:10px;display:flex}.publish-actions>strong{color:var(--gold);white-space:nowrap;font-size:28px;font-style:italic}.publish-actions>strong small{color:#7895ad;font-size:10px;font-style:normal}.publish-actions>button{color:#fff;white-space:nowrap;background:linear-gradient(120deg,#0a6799,#09a3ca);border:1px solid #1598c9;border-radius:11px;padding:11px 13px;font-size:10px;font-weight:800}.publish-actions>button.copy-week-button{color:#ffe291;background:linear-gradient(120deg,#4e3b11,#8b6817);border-color:#7b642c}.publish-actions>button:disabled{cursor:default;opacity:.42;filter:grayscale(.5)}.schedule-layout{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:14px;display:grid}.month-calendar,.schedule-panel{background:linear-gradient(145deg,#0b2138ed,#061321f5);border:1px solid #28516e;border-radius:20px;box-shadow:0 18px 45px #0005}.month-calendar{padding:15px}.calendar-toolbar{grid-template-columns:38px 1fr 38px;align-items:center;margin-bottom:13px;display:grid}.calendar-toolbar h4{text-align:center;margin:0;font-size:18px}.calendar-toolbar button{color:#a6e5ff;background:#0a2a47;border:1px solid #285a7b;border-radius:10px;width:34px;height:34px;font-size:24px}.weekday-row,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.weekday-row{margin-bottom:6px}.weekday-row span{color:#7592aa;text-align:center;padding:4px 0;font-size:10px}.calendar-day,.calendar-blank{border-radius:10px;min-height:82px}.calendar-day{text-align:left;color:#d9ecf8;background:#071728;border:1px solid #1b3b53;min-width:0;padding:8px;position:relative;overflow:hidden}.calendar-day:hover{border-color:#2287bb}.calendar-day.selected{background:linear-gradient(145deg,#0c4369,#092741);border-color:#18b8ef;box-shadow:inset 0 0 0 1px #16bdf04d,0 0 16px #00aef022}.calendar-day>b{margin-bottom:7px;font-size:12px;display:block}.calendar-day>span{gap:4px;display:grid}.calendar-day i{text-overflow:ellipsis;white-space:nowrap;border-left:2px solid var(--cyan);color:#9edcff;background:#0b3351;padding:3px 4px;font-size:8px;font-style:normal;display:block;overflow:hidden}.calendar-day em{color:var(--gold);font-size:8px;font-style:normal;position:absolute;bottom:4px;right:5px}.schedule-panel{padding:16px}.selected-date{border-bottom:1px solid #25465f;padding-bottom:13px}.selected-date>span{color:var(--cyan);letter-spacing:.17em;font-size:9px}.selected-date h4{font-variant-numeric:tabular-nums;margin:5px 0;font-size:19px}.selected-date p{color:#7591a8;margin:0;font-size:10px}.day-course-list{gap:7px;margin:13px 0;display:grid}.day-course-list article{background:#071827;border:1px solid #23445c;border-radius:11px;grid-template-columns:40px minmax(0,1fr) 25px;align-items:center;gap:8px;padding:9px;display:grid}.day-course-list time{color:var(--gold);font-size:11px;font-weight:800}.day-course-list b{font-size:11px;display:block}.day-course-list span{color:#718da4;margin-top:4px;font-size:9px;display:block}.day-course-list button{color:#ff9ba7;background:#51172444;border:1px solid #6b3540;border-radius:7px;width:24px;height:24px}.schedule-form{border-top:1px solid #25465f;gap:10px;padding-top:14px;display:grid}.schedule-form h5{color:#b8d7ea;margin:0 0 2px;font-size:13px}.schedule-form>div{grid-template-columns:1fr 1fr;gap:8px;display:grid}.schedule-form label>span{color:#7592aa;margin:0 0 5px 2px;font-size:9px;display:block}.schedule-form input,.schedule-form select{color:#fff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#061522;border:1px solid #274a63;border-radius:9px;outline:0;width:100%;min-width:0;padding:9px;font-size:10px}.schedule-form input:focus,.schedule-form select:focus{border-color:#18a5df}.schedule-form>button{color:#fff;background:linear-gradient(110deg,#0868a8,#08a6d7);border:0;border-radius:10px;padding:11px;font-size:10px;font-weight:800}.schedule-note{text-align:center;color:#6f8ba2;margin:13px 0 0;font-size:10px}.race-calendar{padding-top:4px}.calendar-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin:20px 0 24px;display:flex}.calendar-heading p{color:var(--cyan);letter-spacing:.2em;margin:0;font-size:9px;font-weight:800}.calendar-heading h2{margin:5px 0 6px;font-size:29px}.calendar-heading div>span{color:#6d8aa5;font-size:10px}.calendar-heading>a{color:#9bdfff;white-space:nowrap;background:#0a2945;border:1px solid #24648e;border-radius:11px;padding:9px 11px;font-size:9px;text-decoration:none}.calendar-notice{color:#e8c766;background:#5f4b142e;border:1px solid #705d26;border-radius:11px;align-items:center;gap:8px;margin-bottom:15px;padding:10px 12px;font-size:9px;line-height:1.5;display:flex}.calendar-notice i{background:var(--gold);width:6px;height:6px;box-shadow:0 0 8px var(--gold);border-radius:50%;flex:none}.calendar-syncbar{background:linear-gradient(120deg,#0b263f,#071827);border:1px solid #244d69;border-radius:15px;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;margin-bottom:16px;padding:12px 14px;display:grid}.calendar-syncbar>div:first-child{border-right:1px solid #23455e;align-items:baseline;gap:7px;padding-right:15px;display:flex}.calendar-syncbar strong{color:var(--cyan);font-variant-numeric:tabular-nums;font-size:24px}.calendar-syncbar span{color:#6f8ca4;font-size:10px}.calendar-syncbar>div:nth-child(2){gap:4px;display:grid}.calendar-syncbar b{color:#b9d9eb;font-size:11px}.calendar-syncbar button{color:#fff;white-space:nowrap;background:linear-gradient(120deg,#0a5686,#079bc5);border:1px solid #1589ba;border-radius:10px;padding:10px 13px;font-size:10px;font-weight:800}.calendar-syncbar button:disabled{opacity:.55;cursor:wait}.calendar-filter-group{margin:12px 0}.calendar-filter-group>span{color:#66849e;letter-spacing:.12em;margin-bottom:7px;font-size:9px;display:block}.calendar-filter-group>div{scrollbar-width:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.calendar-filter-group>div::-webkit-scrollbar{display:none}.calendar-filter-group button{color:#6d89a2;background:#071625;border:1px solid #23435e;border-radius:9px;flex:none;padding:8px 10px;font-size:9px}.calendar-filter-group button.active{color:#fff;background:linear-gradient(120deg,#0c4d7d,#087cad);border-color:#148dcc;box-shadow:0 7px 18px #008bd129}.level-filter{margin-bottom:20px}.race-list{gap:10px;display:grid}.race-card{background:linear-gradient(115deg,#0c2239,#071522);border:1px solid #1d3d57;border-radius:17px;grid-template-columns:68px minmax(0,1fr) 26px;align-items:center;gap:13px;padding:13px;display:grid;box-shadow:0 12px 30px #0003}.race-date{background:linear-gradient(150deg,#103b61,#071b2d);border:1px solid #235273;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;height:66px;display:flex}.race-date strong{color:#fff;font-variant-numeric:tabular-nums;font-size:15px}.race-date span{color:#6eaacf;margin-top:5px;font-size:8px}.race-main{min-width:0}.race-main>div{align-items:center;gap:6px;display:flex}.race-state,.race-level{border-radius:20px;padding:3px 7px;font-size:8px;display:inline-block}.race-level{color:#ffe184;background:#624b1544;border:1px solid #806629}.race-筹备中{color:#93b7d2;background:#31495a3d;border:1px solid #49667b}.race-开始报名{color:#71e5c5;background:#0b634a38;border:1px solid #277864}.race-比赛中{color:#74d9ff;background:#075b873d;border:1px solid #177baa;box-shadow:0 0 10px #00b7ff22}.race-已完赛{color:#8195a5;background:#293a473d;border:1px solid #415463}.race-main h3{margin:7px 0 6px;font-size:13px;line-height:1.45}.race-main p{color:#63819a;margin:0;font-size:9px}.race-card>a{color:var(--cyan);text-align:center;font-size:24px;text-decoration:none}.calendar-empty{color:#68839a;text-align:center;border:1px dashed #29465c;border-radius:17px;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:150px;font-size:10px;display:flex}.calendar-empty b{color:#a7bdce;font-size:12px}.calendar-empty span{font-size:9px}.calendar-footnote{text-align:center;color:#4f6d85;margin:16px 0 0;font-size:8px}.athlete-top p{font-size:11px}.athlete-top h3{font-size:22px}.athlete-top h3 em{font-size:11px}.athlete-top div>span{font-size:13px}.metric span{font-size:11px}.section-title h3{font-size:18px}.section-title button{font-size:12px}.session-card h4,.roster h4{font-size:15px}.session-card p,.roster p{font-size:11px}.tag{font-size:10px}.feedback p{font-size:13px}.feedback time,.sidebar-label span{font-size:10px}.admin-sidebar>button span b{font-size:13px}.admin-sidebar>button span small{font-size:9px}.calendar-filter-group>span{font-size:11px}.calendar-filter-group button{padding:9px 12px;font-size:11px}.race-date span,.race-state,.race-level{font-size:10px}.race-main h3{font-size:15px}.race-main p{font-size:11px}.calendar-footnote{font-size:10px}.published-schedule{padding-top:4px}.published-badge{color:#79e4c7;white-space:nowrap;background:#0d5e4b4d;border:1px solid #247866;border-radius:20px;padding:7px 11px;font-size:10px;font-style:normal}.published-list{gap:10px;display:grid}.published-list article{background:linear-gradient(110deg,#0b2138ed,#061421f5);border:1px solid #244c69;border-radius:16px;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:13px;padding:13px;display:grid}.published-date{text-align:center;background:linear-gradient(145deg,#0f70aa,#092743);border:1px solid #2682b7;border-radius:12px;place-content:center;width:50px;height:56px;display:grid}.published-date b{font-size:20px;line-height:1}.published-date span{color:#94dfff;margin-top:5px;font-size:9px}.published-list time{color:var(--gold);font-size:10px;font-weight:800}.published-list h3{margin:4px 0;font-size:15px}.published-list p{color:#7895ab;margin:0;font-size:11px}.published-list article>span{color:#92e0ff;background:#0b527044;border:1px solid #247b9c;border-radius:20px;padding:5px 8px;font-size:9px}.coach-student-hub{background:linear-gradient(145deg,#0c2946ed,#061522f5);border:1px solid #24608a;border-radius:22px;margin-top:24px;padding:18px;box-shadow:0 20px 55px #0005}.coach-student-heading{border-bottom:1px solid #25445d;justify-content:space-between;align-items:flex-end;gap:15px;padding-bottom:14px;display:flex}.coach-student-heading p{color:var(--cyan);letter-spacing:.2em;margin:0;font-size:10px;font-weight:800}.coach-student-heading h3{margin:4px 0;font-size:22px}.coach-student-heading div>span{color:#7491a9;font-size:10px}.coach-student-heading label{min-width:145px}.coach-student-heading label>span{color:#7390a7;margin-bottom:5px;font-size:9px;display:block}.coach-student-heading select{color:#fff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#08233b;border:1px solid #2876a4;border-radius:10px;width:100%;padding:10px;font-size:11px}.coach-student-summary{color:#8aa6bc;align-items:center;gap:18px;padding:13px 2px;font-size:10px;display:flex}.coach-student-summary span b{color:#fff;margin-right:3px;font-size:16px}.coach-student-summary small{color:#58778e;margin-left:auto;font-size:9px}.coach-notice{color:#a8e7ff;background:#0b3150;border:1px solid #2e6887;border-radius:10px;margin:0 0 10px;padding:9px 11px;font-size:10px}.coach-student-grid{gap:10px;display:grid}.coach-student-card{background:linear-gradient(120deg,#0b2035,#071421);border:1px solid #28516f;border-radius:17px;padding:14px}.student-card-top{align-items:center;gap:11px;display:flex}.student-card-top>div{flex:1;min-width:0}.student-card-top h4{align-items:center;gap:7px;margin:0;font-size:16px;display:flex}.student-card-top h4 i{color:#8fe2ff;background:#0b4f6a55;border:1px solid #1c7399;border-radius:20px;padding:3px 7px;font-size:9px;font-style:normal}.student-card-top p{color:#7390a8;margin:5px 0 0;font-size:10px}.student-balance-row{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:13px;display:grid}.student-balance-row>span{background:#071624;border:1px solid #203f55;border-radius:11px;padding:9px 10px}.student-balance-row small{color:#66859e;font-size:8px;display:block}.student-balance-row b{margin-top:4px;font-size:16px;display:block}.student-balance-row b i{color:#7292a9;font-size:9px;font-style:normal}.student-balance-row .checkin-time{font-size:11px;line-height:20px}.student-card-actions{grid-template-columns:repeat(3,1fr);gap:7px;margin-top:11px;display:grid}.student-card-actions button{color:#a6c8dd;background:#0a2236;border:1px solid #2a536f;border-radius:9px;padding:9px 4px;font-size:10px;font-weight:700}.student-card-actions button.primary{color:#fff;background:linear-gradient(120deg,#09649a,#08a1ca);border-color:#158fc1}.member-coach-label,.coach-lesson-stat{border-radius:20px;width:max-content;margin-top:7px;padding:4px 8px;font-size:9px;display:block}.member-coach-label{color:#9edfff;background:#0c4c6944;border:1px solid #246b8e}.coach-lesson-stat{color:#ffe18b;background:#654b1540;border:1px solid #725c27}.coach-lesson-stat b{color:#fff;font-size:11px!important;display:inline!important}.student-detail-grid{grid-template-columns:1fr 1fr;gap:9px;margin-top:17px;display:grid}.student-detail-grid>span{background:#071725;border:1px solid #23445c;border-radius:12px;padding:12px}.student-detail-grid small{color:#67849c;margin-bottom:6px;font-size:9px;display:block}.student-detail-grid b{font-size:12px}.checkin-options{gap:10px;margin-top:17px;display:grid}.checkin-options p{color:#7894aa;margin:0 0 2px;font-size:10px;line-height:1.6}.checkin-options button{color:#fff;background:linear-gradient(120deg,#0a4d75,#09263e);border:1px solid #187ea9;border-radius:13px;justify-content:space-between;align-items:center;padding:14px;display:flex}.checkin-options button.lesson{background:linear-gradient(120deg,#54400e,#171b11);border-color:#886c2b}.checkin-options button:disabled{opacity:.38;cursor:not-allowed}.checkin-options button span{font-weight:800}.checkin-options button b{color:#9cddf8;font-size:10px}.checkin-options button.lesson b{color:#ffe18a}.checkin-transfer{gap:8px;display:grid}.checkin-transfer>button.transfer{background:linear-gradient(120deg,#3a2461,#15152d);border-color:#6e4ea0}.checkin-transfer>button.transfer b{color:#d8b8ff}.checkin-transfer>div{background:#171326;border:1px solid #4d3970;border-radius:13px;gap:9px;padding:12px;display:grid}.checkin-transfer label>span{color:#a98dca;margin-bottom:6px;font-size:9px;display:block}.checkin-transfer select{color:#fff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#090f1c;border:1px solid #5e4684;border-radius:9px;width:100%;padding:10px;font-size:11px}.checkin-transfer>div>button{background:linear-gradient(120deg,#52317f,#7543a8);border-color:#7652a7;justify-content:center;padding:11px}.checkin-transfer small{color:#806e98;font-size:9px;line-height:1.5}.checkin-confirmation{gap:12px;display:grid}.checkin-confirmation>div:not(.confirmation-actions){grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.checkin-confirmation>div>span{background:#071725;border:1px solid #294961;border-radius:10px;padding:10px}.checkin-confirmation small{color:#68859c;margin-bottom:5px;font-size:8px;display:block}.checkin-confirmation b{color:#e5f4fc;font-size:11px;line-height:1.45;display:block}.checkin-confirmation>strong{color:#f0cc68;background:#55400d52;border:1px solid #725b24;border-radius:10px;padding:10px;font-size:9px;line-height:1.6}.confirmation-actions{gap:8px;grid-template-columns:1fr 1.7fr!important;display:grid!important}.confirmation-actions button{background:#0a1d2e;border-color:#31536c;justify-content:center;padding:11px}.confirmation-actions button.confirm{background:linear-gradient(120deg,#0870a5,#08a8d0);border-color:#1398c8;font-weight:800}.global-card-checkin{background:linear-gradient(120deg,#332910,#101a1f);border:1px solid #846a2c;border-radius:14px;grid-template-columns:minmax(180px,1fr) minmax(190px,1.2fr) auto;align-items:center;gap:10px;margin:0 0 12px;padding:12px;display:grid}.global-card-checkin p{color:#ffe083;letter-spacing:.16em;margin:0;font-size:8px;font-weight:800}.global-card-checkin b{margin-top:3px;font-size:13px;display:block}.global-card-checkin small{color:#857b5f;margin-top:4px;font-size:8px;display:block}.global-card-checkin select{color:#fff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#161c1d;border:1px solid #67552b;border-radius:10px;width:100%;min-width:0;padding:10px;font-size:10px}.global-card-checkin button{color:#07121e;white-space:nowrap;background:linear-gradient(120deg,#8d6819,#d3a52f);border:1px solid #a8822d;border-radius:10px;padding:11px 12px;font-size:10px;font-weight:900}.global-card-checkin button:disabled{opacity:.4;cursor:not-allowed}.card-attendance-panel{background:linear-gradient(145deg,#211d10,#081827);border:1px solid #846a2c;border-radius:18px;margin:0 0 13px;padding:15px;box-shadow:0 18px 42px #0004}.card-attendance-heading{border-bottom:1px solid #504522;justify-content:space-between;align-items:flex-end;gap:14px;padding-bottom:12px;display:flex}.card-attendance-heading p,.card-operation-log>div>p{color:#ffe083;letter-spacing:.17em;margin:0;font-size:8px;font-weight:900}.card-attendance-heading h4{margin:4px 0;font-size:19px}.card-attendance-heading span{color:#9c9276;font-size:9px}.card-attendance-heading strong{color:#ffe083;white-space:nowrap;font-size:22px}.card-attendance-heading strong small{color:#9c9276;font-size:8px}.card-course-picker{padding:13px 0}.card-course-picker>span{color:#9c9276;margin-bottom:7px;font-size:9px;display:block}.card-course-picker>div{gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.card-course-picker button{color:#c6c0ae;text-align:left;background:#151a1d;border:1px solid #5d512b;border-radius:11px;grid-template-columns:auto 1fr;align-items:center;gap:3px 8px;min-width:150px;padding:10px;display:grid}.card-course-picker button.active{color:#fff;background:linear-gradient(120deg,#6d5116,#2b2513);border-color:#e1b747;box-shadow:0 0 20px #d5a62b22}.card-course-picker time{color:#ffe083;grid-row:1/3;font-size:13px;font-weight:900}.card-course-picker b{font-size:10px}.card-course-picker small{color:#958a6d;font-size:8px}.card-course-picker>p{color:#b7a77c;text-align:center;border:1px dashed #66582d;border-radius:10px;margin:0;padding:11px;font-size:9px}.card-member-checkin-list{gap:8px;display:grid}.card-member-checkin-list article{background:#0b1720;border:1px solid #3e452f;border-radius:13px;grid-template-columns:42px minmax(120px,1fr) minmax(150px,1.2fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.card-member-checkin-list article>div>b{align-items:center;gap:6px;font-size:13px;display:flex}.card-member-checkin-list article>div>b i{color:#8edcf8;border:1px solid #276682;border-radius:20px;padding:2px 6px;font-size:8px;font-style:normal}.card-member-checkin-list article>div>p{color:#7f8f91;margin:4px 0 0;font-size:9px}.card-member-course{color:#beb28e;font-size:9px}.card-member-checkin-list article>button{color:#151207;white-space:nowrap;background:linear-gradient(120deg,#b18122,#e0b545);border:1px solid #b0862c;border-radius:9px;padding:10px 12px;font-size:9px;font-weight:900}.card-member-checkin-list article>button:disabled{color:#71807a;cursor:not-allowed;background:#202b2b;border-color:#3f483f}.card-operation-log{border-top:1px solid #504522;margin-top:14px;padding-top:13px}.card-operation-log>div{margin-bottom:6px}.card-operation-log h5{margin:4px 0 0;font-size:14px}.card-operation-log article{border-top:1px solid #29342d;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 2px;font-size:9px;display:grid}.card-operation-log time{color:#988c69}.card-operation-log article span{color:#aab5b3}.card-operation-log article span b{color:#fff}.card-operation-log article em{color:#ffe083;white-space:nowrap;font-style:normal}.card-log-empty{color:#766f5d;margin:8px 0 0;font-size:9px}.card-admin-records{border-color:#6c5828}.card-detail-section{min-width:0}.card-detail-heading{margin-top:4px}.card-detail-heading strong{color:#ffe083;white-space:nowrap;font-size:24px}.card-detail-heading strong small{color:#7892a5;font-size:9px}.card-detail-table{background:linear-gradient(145deg,#17170f,#071624);border:1px solid #6c5828;border-radius:18px;padding:0 15px 8px;overflow:hidden}.card-detail-table-head,.card-detail-table article{grid-template-columns:160px 1fr 1fr minmax(190px,1.35fr) 70px;align-items:center;gap:12px;display:grid}.card-detail-table-head{color:#8e896f;letter-spacing:.08em;padding:13px 2px 10px;font-size:9px;font-weight:800}.card-detail-table article{border-top:1px solid #3a3a29;padding:13px 2px;font-size:10px}.card-detail-table article time{color:#8f9e9e;font-variant-numeric:tabular-nums}.card-detail-table article>span b{color:#ecf4f5;font-size:11px;display:block}.card-detail-table article>span small{color:#6f858e;margin-top:4px;font-size:8px;display:block}.card-detail-table article>em{color:#ffe083;white-space:nowrap;background:#72551555;border:1px solid #96752a;border-radius:20px;justify-self:start;padding:5px 8px;font-size:9px;font-style:normal;font-weight:900}.lesson-statistics{min-width:0}.lesson-heading{align-items:flex-start;margin-top:4px}.lesson-coach-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.lesson-coach-card{background:linear-gradient(145deg,#0c2741,#061421);border:1px solid #28516f;border-radius:18px;padding:15px;box-shadow:0 16px 36px #0004}.lesson-coach-top{border-bottom:1px solid #25435a;align-items:center;gap:10px;padding-bottom:12px;display:flex}.lesson-coach-top>div{flex:1;min-width:0}.lesson-coach-top h4{margin:0;font-size:16px}.lesson-coach-top p{color:#6f8ca4;margin:5px 0 0;font-size:9px}.lesson-coach-top>i{color:#70dfc2;background:#0b5e4b44;border:1px solid #277765;border-radius:20px;padding:4px 8px;font-size:8px;font-style:normal}.lesson-coach-metrics{grid-template-columns:repeat(3,1fr);gap:7px;margin:12px 0;display:grid}.lesson-coach-metrics>span{text-align:center;background:#071624;border:1px solid #213f55;border-radius:11px;padding:9px}.lesson-coach-metrics small{color:#67859e;font-size:8px;display:block}.lesson-coach-metrics b{color:#fff;margin-top:5px;font-size:19px;display:block}.lesson-coach-metrics b i{color:#7291a8;font-size:8px;font-style:normal}.lesson-student-list{border-top:1px solid #203c51;padding-top:10px}.lesson-student-list h5{color:#7b98ae;letter-spacing:.12em;margin:0 0 7px;font-size:9px}.lesson-student-list>div{border-bottom:1px solid #172f41;justify-content:space-between;align-items:center;padding:7px 0;font-size:10px;display:flex}.lesson-student-list>div:last-child{border:0}.lesson-student-list span small{color:#79d8fa;border:1px solid #246684;border-radius:12px;margin-left:6px;padding:2px 5px;font-size:7px}.lesson-student-list>div>b{color:#ffe083;font-size:9px}.lesson-student-list>p{color:#59768d;margin:8px 0;font-size:9px}.lesson-records{background:#071624;border:1px solid #264b65;border-radius:18px;margin-top:18px;padding:15px}.lesson-records>div:first-child{margin-bottom:10px}.lesson-records>div>p{color:var(--cyan);letter-spacing:.18em;margin:0;font-size:9px;font-weight:800}.lesson-records>div>h4{margin:4px 0 0;font-size:16px}.lesson-records article{border-top:1px solid #1d394d;grid-template-columns:145px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 2px;font-size:10px;display:grid}.lesson-records time{color:#708da4;font-variant-numeric:tabular-nums}.lesson-records article>span{color:#a8bdcc}.lesson-records article>span b{color:#fff}.lesson-records article>em{color:#ffe083;white-space:nowrap;font-style:normal;font-weight:800}.lesson-coach-card{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;transition:border-color .2s,transform .2s,box-shadow .2s}:is(.lesson-coach-card:hover,.lesson-coach-card:focus-visible){border-color:#17bce9;outline:none;transform:translateY(-2px);box-shadow:0 18px 42px #00a6d326}.lesson-card-link{color:#63d9ff;text-align:right;letter-spacing:.04em;border-top:1px solid #203c51;padding-top:10px;font-size:9px;font-weight:800;display:block}.coach-detail-modal{width:min(720px,100% - 24px)}.coach-report-summary{grid-template-columns:repeat(3,1fr);gap:9px;margin:16px 0;display:grid}.coach-report-summary>span{text-align:center;background:linear-gradient(145deg,#0d2944,#071624);border:1px solid #28516f;border-radius:13px;padding:12px}.coach-report-summary small{color:#7190a8;font-size:9px;display:block}.coach-report-summary b{margin-top:5px;font-size:23px;display:block}.coach-report-summary b i{color:#7190a8;font-size:9px;font-style:normal}.coach-report-section{background:#071624;border:1px solid #28516f;border-radius:16px;padding:14px}.coach-report-heading{justify-content:space-between;align-items:end;gap:12px;margin-bottom:8px;display:flex}.coach-report-heading p,.coach-edit-heading p{color:var(--cyan);letter-spacing:.17em;margin:0;font-size:8px;font-weight:800}.coach-report-heading h4,.coach-edit-heading h4{margin:4px 0 0;font-size:15px}.coach-report-heading>span{color:#7895aa;font-size:9px}.coach-report-list{max-height:250px;overflow:auto}.coach-report-list article{border-top:1px solid #1d394d;grid-template-columns:130px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 2px;display:grid}.coach-report-list time{color:#708da4;font-variant-numeric:tabular-nums;font-size:9px}.coach-report-list article>div>b{font-size:11px}.coach-report-list article p{color:#8ba5b8;flex-wrap:wrap;align-items:center;gap:6px;margin:5px 0 0;font-size:9px;display:flex}.coach-report-list article p span{background:#0b263c;border:1px solid #2a5069;border-radius:20px;padding:3px 6px}.coach-report-list article p i{color:#b38cff;font-style:normal;font-weight:900}.coach-report-list article>em{white-space:nowrap;border-radius:20px;padding:5px 8px;font-size:9px;font-style:normal;font-weight:800}.coach-report-list article>em.credited{color:#70dfc2;background:#0b5e4b44;border:1px solid #277765}.coach-report-list article>em.transferred-out{color:#d8b8ff;background:#52317f55;border:1px solid #7652a7}.coach-report-note{color:#667f92;margin:9px 0 0;font-size:8px;line-height:1.6}.coach-edit-heading{margin:18px 0 10px}.bottom-nav{z-index:5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#08182af2;border:1px solid #244766;border-radius:22px;grid-template-columns:repeat(4,1fr);width:min(100% - 24px,516px);height:72px;display:grid;position:fixed;bottom:12px;left:50%;transform:translate(-50%);box-shadow:0 15px 40px #000}.bottom-nav button{color:#708ba3;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:5px;font-size:11px;display:flex}.bottom-nav button span{font-size:17px}.bottom-nav button.active{color:var(--cyan)}@media (min-width:760px){.login-screen{grid-template-columns:1fr 390px;align-content:center;column-gap:65px;width:860px;max-width:calc(100% - 40px);display:grid}.brand-lockup{flex-direction:column;align-items:flex-start}.logo-halo{width:180px;height:180px}.login-footer{grid-column:1/-1}.dashboard{width:660px;max-width:100%}.admin-dashboard{width:min(1040px,100%)}.bottom-nav{width:636px}.admin-dashboard .bottom-nav{width:min(1016px,100% - 24px)}}@media (max-width:380px){.login-screen{gap:20px;padding:20px 15px 90px}.logo-halo{border-radius:22px;width:94px;height:94px}h1{font-size:30px}.login-card{padding:17px}.dashboard{padding-left:15px;padding-right:15px}}@media (max-width:759px){.admin-workspace{margin-top:24px;display:block}.admin-sidebar{border-radius:15px;grid-template-columns:repeat(2,1fr);gap:7px;min-height:0;margin-bottom:16px;padding:7px;display:grid;position:static}.sidebar-label,.sidebar-foot{display:none}.admin-sidebar>button{grid-template-columns:18px 1fr 7px;gap:5px;margin:0;padding:10px 7px}.admin-sidebar>button span small{display:none}.schedule-layout{grid-template-columns:1fr}.schedule-panel{padding:14px}.calendar-day,.calendar-blank{min-height:68px}.schedule-heading{align-items:flex-start}.publish-actions{flex-direction:column;align-items:flex-end}.publish-actions>strong{font-size:22px}.lesson-coach-grid{grid-template-columns:1fr}}@media (max-width:460px){body{background-position:60% bottom}.member-row{grid-template-columns:44px minmax(0,1fr) auto;align-items:start}.member-row:not(.coach-row){grid-template-columns:44px minmax(0,1fr) auto}.member-main b{flex-wrap:wrap}.member-expiry{border-top:1px solid #1f3e56;border-left:0;grid-column:2/4;justify-content:space-between;align-items:center;margin-top:2px;padding:10px 0 0;display:flex}.member-expiry small{margin:0}.member-row:not(.coach-row) .member-status{grid-column:2;place-self:center start;display:block}.coach-row{grid-template-columns:44px minmax(0,1fr) auto 8px}.coach-row .member-status{display:none}.member-tools{flex-direction:column;align-items:stretch}.member-filters{grid-template-columns:repeat(3,1fr);display:grid}.member-plan small,.coach-specialty small{text-overflow:ellipsis;max-width:76px;overflow:hidden}.modal-backdrop{padding-top:55px}.coach-action-backdrop{padding:16px}.coach-action-backdrop .coach-action-modal{max-height:calc(100svh - 32px)}.race-card{grid-template-columns:62px minmax(0,1fr) 18px;gap:10px;padding:11px}.race-date{height:62px}.calendar-heading h2{font-size:25px}.calendar-syncbar{grid-template-columns:auto 1fr;gap:10px;padding:11px}.calendar-syncbar>div:first-child{padding-right:10px}.calendar-syncbar button{grid-column:1/-1;width:100%}.month-calendar{padding:9px}.calendar-day,.calendar-blank{border-radius:8px;min-height:58px}.calendar-day{padding:5px}.calendar-day>b{margin-bottom:4px;font-size:11px}.calendar-day i{padding:2px 3px;font-size:7px}.weekday-row,.calendar-grid{gap:3px}.calendar-toolbar h4{font-size:16px}.heading-actions{flex-direction:column;align-items:stretch}.template-downloads,.form-pair,.balance-editor{grid-template-columns:1fr}.published-list article{grid-template-columns:50px minmax(0,1fr)}.published-list article>span{display:none}.coach-student-hub{padding:13px}.coach-student-heading{flex-direction:column;align-items:stretch}.coach-student-heading label{min-width:0}.coach-student-summary{grid-template-columns:1fr 1fr;gap:7px;display:grid}.coach-student-summary small{grid-column:1/-1;margin:0}.student-card-top{align-items:flex-start}.student-card-top .member-status{display:none}.student-balance-row{grid-template-columns:1fr 1fr}.student-balance-row>span:last-child{grid-column:1/-1}.student-card-actions{grid-template-columns:1fr 1fr}.student-detail-grid,.lesson-coach-metrics{grid-template-columns:1fr}.lesson-records article{grid-template-columns:1fr auto}.lesson-records time{grid-column:1/-1}.lesson-records article>span{min-width:0}.coach-report-summary{grid-template-columns:1fr 1fr}.coach-report-summary>span:first-child{grid-column:1/-1}.coach-report-list article{grid-template-columns:1fr auto}.coach-report-list time{grid-column:1/-1}.coach-detail-modal{width:calc(100% - 16px)}.card-detail-table{padding:0 11px 7px}.card-detail-table-head{display:none}.card-detail-table article{grid-template-columns:1fr 1fr;gap:9px;padding:13px 2px}.card-detail-table article time{grid-column:1/-1}.card-detail-table article>span:nth-of-type(2){text-align:right}.card-detail-table article>span:nth-of-type(3){grid-column:1/-1}.card-detail-table article>em{grid-area:4/2;justify-self:end}.card-detail-heading{align-items:flex-start}}@media (max-width:600px){.global-card-checkin{grid-template-columns:1fr}.global-card-checkin button{width:100%}.card-attendance-heading{align-items:flex-start}.card-attendance-heading strong{font-size:18px}.card-member-checkin-list article{grid-template-columns:42px minmax(0,1fr) auto}.card-member-course{grid-column:2/4}.card-member-checkin-list article>button{grid-column:2/4;width:100%}.card-operation-log article{grid-template-columns:48px minmax(0,1fr)}.card-operation-log article em{white-space:normal;grid-column:2}}@media (max-width:460px){.student-card-actions{grid-template-columns:repeat(3,1fr)}.checkin-confirmation>div:not(.confirmation-actions){grid-template-columns:1fr}.confirmation-actions{grid-template-columns:1fr!important}.coach-overview-metrics{grid-template-columns:1fr 1fr;gap:14px 0}.coach-overview-metrics .metric:nth-child(2){border-right:0}.coach-overview-metrics .metric:nth-child(3),.coach-overview-metrics .metric:nth-child(4){border-top:1px solid #24435e;padding-top:14px}.lesson-progress-summary{gap:7px}.lesson-progress-summary>span{padding:10px 6px}}.parent-balance-note{color:#88a6bb;border-top:1px solid #295071;margin-top:15px;padding-top:12px;font-size:10px}.parent-attendance-section{margin-top:25px}.parent-attendance-section .section-title>em{color:#79e4c7;background:#0d5e4b4d;border:1px solid #247866;border-radius:20px;margin-left:auto;padding:6px 9px;font-size:9px;font-style:normal}.parent-attendance-list{background:#071624;border:1px solid #28516f;border-radius:18px;padding:0 14px 7px}.parent-attendance-list article{border-top:1px solid #1d394d;grid-template-columns:145px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 2px;display:grid}.parent-attendance-list article:first-child{border-top:0}.parent-attendance-list time{color:#718da3;font-variant-numeric:tabular-nums;font-size:9px}.parent-attendance-list article>span{min-width:0}.parent-attendance-list article>span>i{border-radius:20px;padding:4px 7px;font-size:8px;font-style:normal;font-weight:800;display:inline-block}.parent-attendance-list article>span>i.card{color:#ffe083;background:#70531555;border:1px solid #95742a}.parent-attendance-list article>span>i.lesson{color:#70dfc2;background:#0b5e4b44;border:1px solid #277765}.parent-attendance-list article>span>b{margin-top:6px;font-size:11px;display:block}.parent-attendance-list article>span>small{color:#6f899e;margin-top:4px;font-size:8px;display:block}.parent-attendance-list article>em{color:#ffe083;white-space:nowrap;font-size:10px;font-style:normal;font-weight:900}.published-calendar-layout{grid-template-columns:minmax(0,1.65fr) minmax(220px,.75fr);align-items:start;gap:14px;display:grid}.published-day-panel{background:linear-gradient(145deg,#0d2944,#071624);border:1px solid #28516f;border-radius:18px;padding:15px}.published-day-panel>div:first-child{border-bottom:1px solid #25435a;margin-bottom:5px;padding-bottom:12px}.published-day-panel>div>span{color:var(--cyan);letter-spacing:.14em;font-size:8px;font-weight:800}.published-day-panel h3{margin:5px 0;font-size:18px}.published-day-panel>div>p{color:#748fa4;margin:0;font-size:9px}.published-day-panel article{border-bottom:1px solid #1c394e;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:9px;padding:11px 0;display:grid}.published-day-panel article time{color:#ffe083;font-size:11px;font-weight:900}.published-day-panel article b{font-size:11px;display:block}.published-day-panel article span{color:#718ca2;margin-top:4px;font-size:8px;display:block}@media (max-width:759px){.published-calendar-layout{grid-template-columns:1fr}.published-day-panel{padding:13px}}@media (max-width:460px){.parent-attendance-list article{grid-template-columns:1fr auto;gap:8px}.parent-attendance-list time{grid-column:1/-1}.parent-attendance-list article>em{align-self:end}}@media (min-width:760px){.schedule-dashboard{width:min(1000px,100%);padding-bottom:140px}.schedule-dashboard .bottom-nav{width:min(760px,100% - 40px);height:64px;bottom:18px}.schedule-dashboard .dashboard-header{margin-bottom:30px}}.schedule-dashboard .published-schedule{max-width:960px;margin:0 auto}.schedule-dashboard .calendar-heading{margin:8px 0 20px;padding:0 4px}.schedule-dashboard .calendar-heading h2{letter-spacing:-.04em;font-size:34px}.published-calendar-layout{grid-template-columns:minmax(0,1fr) 290px;gap:18px}.published-month-calendar{background:linear-gradient(145deg,#0c2944f2,#061521fa);border-color:#2c5d7e;padding:18px}.published-month-calendar .calendar-toolbar{margin-bottom:16px}.published-month-calendar .calendar-toolbar h4{letter-spacing:.02em;font-size:21px}.published-month-calendar .calendar-toolbar button{transition:transform .2s,border-color .2s,background .2s}.published-month-calendar .calendar-toolbar button:hover{background:#0d3b60;border-color:#2bbbed;transform:translateY(-1px)}.published-month-calendar .weekday-row{margin-bottom:8px}.published-month-calendar .weekday-row span{color:#819bae;font-size:9px;font-weight:700}.published-month-calendar .calendar-grid{gap:7px}.published-month-calendar .calendar-day,.published-month-calendar .calendar-blank{border-radius:12px;min-height:64px}.published-month-calendar .calendar-day{background:linear-gradient(145deg,#081b2d,#071522);border-color:#21455f;padding:7px;transition:transform .18s,border-color .18s,background .18s}.published-month-calendar .calendar-day:hover{background:#0a253c;border-color:#2b91bf;transform:translateY(-2px)}.published-month-calendar .calendar-day.selected{background:linear-gradient(145deg,#0d527b,#0a2c48);border-color:#22c4f4;box-shadow:inset 0 0 0 1px #31c8f34d,0 9px 22px #00aef01c}.published-month-calendar .calendar-day>b{margin-bottom:5px;font-size:12px}.published-month-calendar .calendar-day i{color:#aee7ff;background:#0b3b5e;border-left:0;border-radius:5px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px;padding:4px;font-size:7px;display:grid}.published-month-calendar .calendar-day i strong{color:#69d8ff;font-size:7px}.published-month-calendar .calendar-day i small{text-overflow:ellipsis;white-space:nowrap;font-size:7px;overflow:hidden}.published-day-panel{background:linear-gradient(155deg,#102f4d,#071521);border-color:#2c5d7e;min-height:100%;padding:0;overflow:hidden;box-shadow:0 18px 45px #0005}.published-day-panel .published-day-title{background:linear-gradient(125deg,#123b61,#0b2238);border-bottom:1px solid #28516d;margin:0;padding:19px 18px 16px;position:relative}.published-day-title>span{color:#45d3ff!important}.published-day-title h3{margin:7px 0 3px;font-size:22px}.published-day-title>p{font-variant-numeric:tabular-nums;color:#6f8da4!important}.published-day-title>strong{color:#ffe083;font-size:26px;position:absolute;bottom:17px;right:18px}.published-day-title>strong small{color:#7895aa;font-size:8px}.published-course-list{gap:9px;padding:14px;display:grid}.published-day-panel .published-course-list article{background:#081b2b;border:1px solid #294d66;border-radius:12px;grid-template-columns:28px 45px minmax(0,1fr);gap:8px;margin:0;padding:11px}.published-course-list article>i{color:#26c9f3;font-size:9px;font-style:italic;font-weight:900}.published-course-list article time{color:#ffe083;font-size:11px}.published-course-list article div>b{font-size:11px}.published-course-list article div>span,.published-course-list article div>small{color:#7892a5;margin-top:4px;font-size:8px;display:block}.published-empty{text-align:center;background:#071827;border:1px dashed #2b4a60;border-radius:13px;place-content:center;min-height:180px;display:grid}.published-empty b{color:#9cb6c8;font-size:12px}.published-empty span{color:#607d92;max-width:170px;margin-top:7px;font-size:8px;line-height:1.6}@media (max-width:759px){.schedule-dashboard .calendar-heading{margin-top:4px}.published-calendar-layout{grid-template-columns:1fr;gap:12px}.published-day-panel{order:-1;min-height:0}.published-month-calendar .calendar-day i{padding:3px;display:block}.published-month-calendar .calendar-day i small{display:none}.login-screen,.dashboard{padding:18px 14px 88px}.login-screen{gap:20px}.brand-lockup{gap:14px}.logo-halo{border-radius:22px;width:96px;height:96px}h1{font-size:30px}.login-card{border-radius:20px;padding:17px}.role-tabs{margin-bottom:15px}.role-tabs button{padding:10px 4px}.login-card label{margin:11px 0}.login-card input{padding:12px}.primary-button{padding:13px}.dashboard-header{margin-bottom:20px}.mini-brand img,.avatar{width:36px;height:36px}.hero-copy h2{margin:4px 0 6px;font-size:26px}.hero-copy>span{font-size:12px}.athlete-card{border-radius:19px;margin-top:16px;padding:15px}.athlete-id{width:52px;height:56px}.metrics{margin-top:15px;padding-top:13px}.metric strong{font-size:20px}.metric span{margin-top:5px}.lesson-progress-summary{gap:7px;margin-top:12px;padding-top:12px}.lesson-progress-summary>span{padding:9px 6px}.section-block{margin-top:23px}.section-title{margin-bottom:10px}.section-title>span{font-size:25px}.session-card,.roster{border-radius:13px;padding:11px}.standalone{border-radius:15px;margin-top:17px;padding:14px 7px}.admin-summary{margin-bottom:18px}.admin-workspace{margin-top:16px}.admin-sidebar{scrollbar-width:none;grid-template-columns:none;gap:6px;margin-bottom:12px;padding:5px;display:flex;overflow-x:auto}.admin-sidebar::-webkit-scrollbar{display:none}.admin-sidebar>button{flex:0 0 132px;min-height:48px}.member-heading{margin-bottom:12px}.member-heading h3,.add-title h3{font-size:20px}.schedule-section,.checkin-messages,.coach-profile,.parent-profile-card,.admin-home-card,.account-profile-card,.password-reset-card{margin-top:18px}.calendar-heading{align-items:center;margin:12px 0 14px}.calendar-heading h2,.schedule-dashboard .calendar-heading h2{font-size:25px}.published-calendar-layout{gap:10px}.published-day-panel .published-day-title{padding:14px 13px 12px}.published-day-title h3{margin:5px 0 2px;font-size:19px}.published-day-title>strong{font-size:22px;bottom:13px;right:13px}.published-course-list{gap:7px;padding:10px}.published-day-panel .published-course-list article{padding:9px}.published-empty{min-height:82px}.published-month-calendar{padding:9px}.published-month-calendar .calendar-toolbar{margin-bottom:10px}.published-month-calendar .calendar-toolbar h4{font-size:17px}.published-month-calendar .weekday-row{margin-bottom:5px}.published-month-calendar .calendar-grid{gap:3px}.published-month-calendar .calendar-day,.published-month-calendar .calendar-blank{border-radius:8px;min-height:48px}.published-month-calendar .calendar-day{padding:4px}.published-month-calendar .calendar-day>b{margin-bottom:2px;font-size:11px}.schedule-panel{padding:11px}.selected-date{padding-bottom:10px}.day-course-list{margin:10px 0}.message-training{border-radius:16px;margin-bottom:16px;padding:13px}.message-training-heading{padding-bottom:10px}.message-training-heading h3{font-size:19px}.message-heading{margin-bottom:11px}.message-heading h3{font-size:21px}.message-heading>strong{font-size:25px}.message-summary{border-radius:14px;margin-bottom:10px}.message-summary span{padding:10px 4px}.message-summary b{font-size:19px}.message-list{gap:7px}.message-list article{border-radius:13px;padding:10px}.coach-profile,.parent-profile-card{border-radius:18px;padding:14px}.coach-profile-hero,.parent-profile-hero{padding-bottom:12px}.coach-profile-hero h3,.parent-profile-hero h3{font-size:20px}.coach-profile-stats,.parent-profile-balances{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:11px 0}.coach-profile-stats>span,.parent-profile-balances>span{padding:9px 4px}.coach-profile-stats>span:first-child,.parent-profile-balances>span:last-child{grid-column:auto}.coach-profile-stats b,.parent-profile-balances b{overflow-wrap:anywhere;font-size:15px}.coach-profile-details,.parent-profile-details{grid-template-columns:1fr 1fr;gap:7px}.coach-profile-details>div,.coach-profile-classes,.parent-profile-details>div{padding:9px}.coach-profile-note{margin-top:10px}.coach-student-hub{border-radius:17px;margin-top:17px;padding:12px}.coach-student-heading{gap:10px;padding-bottom:10px}.coach-student-heading h3{font-size:19px}.coach-student-summary{padding:10px 2px}.coach-student-grid{gap:7px}.coach-student-card{border-radius:14px;padding:11px}.student-balance-row{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}.student-balance-row>span,.student-balance-row>span:last-child{grid-column:auto;padding:8px 6px}.student-card-actions{margin-top:8px}.lesson-coach-card{border-radius:15px;padding:12px}.lesson-coach-metrics{grid-template-columns:repeat(3,1fr);gap:5px;margin:9px 0}.lesson-coach-metrics>span{padding:7px 3px}.lesson-records{border-radius:15px;margin-top:12px;padding:11px}.coach-report-summary{grid-template-columns:repeat(3,1fr);gap:6px;margin:11px 0}.coach-report-summary>span,.coach-report-summary>span:first-child{grid-column:auto;padding:8px 4px}.member-modal{border-radius:20px 20px 0 0;max-height:calc(100svh - 18px);padding:9px 14px 18px}.modal-handle{margin-bottom:13px}.detail-title{padding-bottom:11px}.member-form{gap:10px}.form-pair{gap:8px}.bottom-nav{border-radius:19px;width:calc(100% - 16px);height:62px;bottom:7px}.bottom-nav button{gap:3px;font-size:10px}.bottom-nav button span{font-size:15px}}@media (max-width:460px){.admin-content .member-row:not(.coach-row){grid-template-rows:1fr;grid-template-columns:40px minmax(0,1fr) minmax(94px,auto);align-items:stretch}.admin-content .member-row:not(.coach-row)>.member-monogram{grid-area:1/1}.admin-content .member-row:not(.coach-row)>.member-main{grid-area:1/2}.admin-content .member-row:not(.coach-row) .member-field-label{display:none}.admin-content .member-row:not(.coach-row)>.member-expiry{text-align:right;border-top:0;border-left:1px solid #1f3e56;grid-area:1/3;align-self:start;margin:0;padding:5px 0 0 10px;display:block}.admin-content .member-row:not(.coach-row)>.member-expiry small{margin:0 0 5px}.admin-content .member-row:not(.coach-row)>.member-status{grid-area:1/3;place-self:end}.admin-content .member-filters{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;display:grid;overflow:visible}.admin-content .member-filters button{white-space:nowrap;width:100%;min-width:0;padding:8px 3px;font-size:9px}.admin-content .member-row:not(.coach-row) .member-coach-label{align-items:center;width:100%;margin:0;padding:0 5px;display:inline-flex}.admin-content .member-row:not(.coach-row) .member-card-pills{gap:4px;width:min(100%,252px);margin-top:7px}.admin-content .member-row:not(.coach-row) .member-balances{vertical-align:middle;flex-wrap:nowrap;gap:4px;margin-top:7px;display:inline-flex}.admin-content .member-row:not(.coach-row) .member-balances .balance-chip{padding:4px 6px;font-size:8px}.admin-content .member-row:not(.coach-row) .member-balances .balance-chip b{font-size:11px}}@media (max-width:759px){.member-filter-tools{grid-template-columns:1fr;align-items:stretch}.member-demographic-filters{grid-template-columns:1fr 1fr}.admin-sidebar{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:6px;display:grid;overflow:visible}.admin-sidebar>button{grid-template-columns:17px minmax(0,1fr) 7px;gap:4px;width:100%;min-width:0;min-height:48px;margin:0;padding:9px 6px}.admin-sidebar>button span b{white-space:nowrap;font-size:11px}.calendar-filter-group>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid;overflow:visible}.calendar-filter-group button{width:100%;min-width:0;padding:8px 4px}.member-form.member-edit-form,.add-modal .member-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.member-form.member-edit-form>.form-pair,.add-modal .member-form>.form-pair{display:contents}.member-form.member-edit-form>label,.add-modal .member-form>label{min-width:0}.member-form.member-edit-form>.balance-editor,.member-form.member-edit-form>.detail-actions,.add-modal .member-form>.balance-editor,.add-modal .member-form>button,.add-modal .member-form>p{grid-column:1/-1}.modal-backdrop{align-items:stretch;padding:8px 8px 0}.member-modal{border:1px solid #315577;border-bottom:0;border-radius:20px 20px 0 0;width:100%;height:calc(100svh - 8px);max-height:none}.coach-action-backdrop{align-items:center;padding:16px}.coach-action-backdrop .coach-action-modal{border-bottom:1px solid #315577;border-radius:20px;height:auto;max-height:calc(100svh - 32px)}}.roster-已结束{opacity:.62}.roster-已结束>span{color:#8ba0ad;background:#27343d55;border-color:#40525d}.roster-进行中{background:linear-gradient(110deg,#0b2b35,#09192b);border-color:#247967;box-shadow:0 10px 30px #00a98612}.roster-待开始>span{color:#8edcff;background:#0b4d6955;border-color:#28698b}.today-schedule-empty{text-align:center;background:#081827;border:1px dashed #2a526c;border-radius:16px;padding:24px}
