/*! 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,::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]){appearance:button}::file-selector-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{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.grid{display:grid}.table{display:table}}:root{--ink:#071c36;--ink-2:#0d2b50;--blue:#165dde;--blue-soft:#eaf1ff;--lime:#fff;--lime-ink:#0b4fc4;--canvas:#f3f6fa;--surface:#fff;--line:#dfe6ef;--muted:#6d7a8d;--success:#165dde;--danger:#d74b4b}.person-team-multiselect{border:0;min-width:0;margin:0;padding:0}.person-team-multiselect legend{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:7px;font-size:10px;font-weight:800}.person-team-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.person-team-options label{border:1px solid var(--line);min-width:0;color:var(--ink);text-transform:none;letter-spacing:normal;cursor:pointer;background:#fff;border-radius:11px;align-items:center;gap:9px;padding:11px 12px;font-size:12px;font-weight:750;display:flex}.person-team-options label.selected{border-color:var(--blue);background:var(--blue-soft);box-shadow:0 0 0 1px var(--blue)}.person-team-options input{width:17px;height:17px;min-height:0;accent-color:var(--blue);flex:none;padding:0}.person-team-options span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.person-team-multiselect>small{color:var(--muted);text-transform:none;letter-spacing:normal;margin-top:7px;font-size:10px;font-weight:600;display:block}@media (width<=760px){.person-team-options{grid-template-columns:1fr}.person-team-options label{min-height:48px}}.stat-card.clickable{cursor:pointer;transition:transform .16s,box-shadow .16s,border-color .16s}.stat-card.clickable:hover,.stat-card.clickable:focus-visible{border-color:#b8ccec;outline:0;transform:translateY(-2px);box-shadow:0 14px 34px #1056d221}.dashboard-absence-modal{max-width:470px}.dashboard-absence-modal .modal-head p{color:var(--muted);margin:5px 0 0;font-size:11px}.dashboard-absence-list{gap:9px;max-height:55vh;padding:4px;display:grid;overflow-y:auto}.dashboard-absence-row{background:#fff8f7;border:1px solid #f1d2cf;border-radius:13px;align-items:center;gap:12px;padding:13px;display:flex}.dashboard-absence-row>span{width:36px;height:36px;color:var(--danger);background:#ffe3e0;border-radius:11px;flex:0 0 36px;place-items:center;font-weight:850;display:grid}.dashboard-absence-row b,.dashboard-absence-row small{display:block}.dashboard-absence-row b{font-size:12px}.dashboard-absence-row small{color:var(--muted);margin-top:3px;font-size:10px}.dashboard-no-absences{text-align:center;color:var(--muted);justify-items:center;gap:7px;padding:28px 18px;display:grid}.dashboard-no-absences svg{width:30px;height:30px;color:var(--success);background:#e6f7f0;border-radius:50%;padding:7px}.dashboard-no-absences b{color:var(--ink)}.dashboard-no-absences span{font-size:10px;line-height:1.5}.communication-card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.unread-pill{background:var(--blue);color:#fff;text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:4px 8px;font-size:8px;font-weight:900}.communication-file{border:1px dashed var(--line);background:#f8fafc;border-radius:10px;padding:12px;position:relative}.communication-file input{opacity:0;cursor:pointer;position:absolute;inset:0}.communication-file span{text-transform:none;letter-spacing:0;color:var(--ink);font-size:11px}.communication-remove{justify-content:start;align-items:center;text-transform:none!important;letter-spacing:0!important;grid-column:1/-1!important;grid-template-columns:auto 1fr!important;gap:8px!important;display:flex!important}.communication-remove input{width:auto!important;min-height:auto!important}.communication-attachment{width:100%;color:var(--blue);text-align:left;background:#f5f8fc;border:1px solid #d8e2ef;border-radius:11px;align-items:center;gap:8px;margin-top:13px;padding:10px 12px;font-weight:750;display:flex}.communication-attachment svg{width:17px;height:17px}.communication-attachment small{color:var(--muted);margin-left:auto}.communication-admin{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;margin-top:14px;padding-top:13px;display:flex}.communication-admin summary{cursor:pointer;color:var(--blue);font-size:10px;font-weight:800}.communication-admin>div{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.reader-list{color:var(--muted);gap:4px;margin-top:8px;font-size:10px;display:grid}.reader-list span{display:block}.communication-admin .danger{color:var(--danger);border-color:#f1c8c5}@media (width<=700px){.communication-composer{display:block!important}.communication-composer>div:first-child{margin-bottom:14px}.communication-fields{grid-template-columns:1fr!important}.communication-fields>*{grid-column:1!important}.composer-actions{gap:8px;margin-top:13px;display:flex;grid-column:1!important}.composer-actions .btn{flex:1;min-height:46px}.communication-card{padding:15px 14px!important}.communication-card h3{font-size:16px}.communication-admin{display:grid}.communication-admin>div{grid-template-columns:1fr 1fr;justify-content:stretch;display:grid}.communication-admin .btn{min-height:40px}.communication-admin .danger{grid-column:1/-1}.communication-attachment{min-height:44px}.communication-card footer{font-size:9px}}.club-logo.has-image{background-color:var(--club-secondary,#fff);border:1px solid var(--line);background-position:50%;background-repeat:no-repeat;background-size:contain}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.settings-card{padding:24px}.settings-wide{grid-column:1/-1}.settings-card-head{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px;display:flex}.settings-card-head h2{margin:4px 0;font-size:20px}.settings-card-head p,.settings-note{color:var(--muted);margin:0;font-size:13px}.settings-step{background:var(--blue-soft);min-width:30px;height:24px;color:var(--blue);letter-spacing:.1em;border-radius:8px;place-items:center;font-size:10px;font-weight:850;display:inline-grid}.settings-logo{background:var(--blue-soft);width:66px;height:66px;color:var(--blue);border:1px solid var(--line);background-position:50%;background-repeat:no-repeat;background-size:contain;border-radius:18px;place-items:center;font-weight:900;display:grid}.logo-upload{background:#f8fbff;border:1px dashed #b8c7da;border-radius:14px;padding:14px;font-size:13px;font-weight:750;display:block}.logo-upload input{width:100%;margin:9px 0 5px;display:block}.logo-upload span{color:var(--muted);font-size:11px;font-weight:500}.color-fields,.settings-fields,.season-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px;display:grid}.settings-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.color-fields label,.settings-fields label,.season-fields label{color:var(--muted);font-size:12px;font-weight:750}.color-fields label>div{border:1px solid var(--line);border-radius:12px;align-items:center;gap:10px;height:46px;margin-top:7px;padding:6px 10px;display:flex}.color-fields input[type=color]{background:0 0;border:0;width:32px;height:30px;padding:0}.color-fields code{color:var(--ink);font-size:12px}.settings-fields input,.season-fields input,.tag-add input{border:1px solid var(--line);width:100%;height:44px;color:var(--ink);background:#fff;border-radius:12px;margin-top:7px;padding:0 12px}.settings-fields input:disabled,.season-fields input:disabled{color:var(--muted);background:#f3f6fa}.technical-settings{grid-template-columns:1fr 1fr 2fr;gap:26px;display:grid}.tag-editor{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.tag-editor>span{background:var(--blue-soft);color:var(--blue);border-radius:10px;align-items:center;gap:7px;padding:8px 10px;font-size:11px;font-weight:800;display:inline-flex}.tag-editor>span.gara{color:#6d35bd;background:#f0e8ff}.tag-editor>span.sfida{color:#b72742;background:#ffebef}.tag-editor>span.colpisci{color:#775c00;background:#fff5c7}.tag-editor>span.proteggi{color:#092d59;background:#dce8f6}.tag-editor>span.crea{color:#0876ad;background:#dff4ff}.tag-editor>span.globale{color:#a21678;background:#ffe3f5}.tag-editor>span.fisico{color:#4d5968;background:#eceff3}.tag-editor button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:17px;line-height:1}.tag-add{gap:8px;display:flex}.tag-add input{margin:0}.season-fields{align-items:end}.season-line{background:var(--line);height:1px;margin-bottom:22px}.season-pill{background:var(--ink);color:#fff;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:800}.settings-status{min-height:24px;color:var(--blue);padding:12px 2px;font-size:12px;font-weight:700}.settings-status.error{color:var(--danger)}.settings-loading{color:var(--muted);padding:28px}.recurring-range{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px;display:grid}.recurring-range label{color:var(--muted);font-size:12px;font-weight:750}.recurring-range input,.recurring-training-row select,.recurring-training-row input{border:1px solid var(--line);background:var(--surface);width:100%;height:44px;color:var(--ink);border-radius:12px;margin-top:7px;padding:0 12px}.recurring-training-list{gap:10px;display:grid}.recurring-training-row{grid-template-columns:minmax(135px,1.3fr) 1fr auto 1fr minmax(170px,1.5fr) auto;align-items:center;gap:10px;display:grid}.recurring-training-row select,.recurring-training-row input{margin-top:0}.recurring-training-actions{justify-content:space-between;gap:12px;margin-top:18px;display:flex}@media (width<=760px){.settings-grid{grid-template-columns:1fr}.settings-wide{grid-column:auto}.settings-card{padding:18px}.settings-fields,.color-fields,.technical-settings,.season-fields{grid-template-columns:1fr}.season-line{display:none}.recurring-range,.recurring-training-row{grid-template-columns:1fr 1fr}.recurring-training-row select{grid-column:1/-1}.recurring-training-row>span{display:none}.recurring-training-actions{flex-direction:column}.tag-add{align-items:stretch}.tag-add .btn{white-space:nowrap}}.event{border:0;border-left:4px solid var(--blue);width:100%;color:var(--ink);text-align:left}.event.editable{cursor:pointer}.event.editable:hover{background:#eaf2ff;box-shadow:0 7px 20px #1056d21a}.event:disabled{opacity:1}.event-blocks{gap:5px;margin-top:10px;display:grid}.event-blocks .training-block{border-radius:7px;justify-content:space-between;align-items:center;gap:7px;padding:6px 7px;font-size:8px;font-weight:800;line-height:1.2;display:flex}.event-blocks .training-block span{color:inherit;font-size:inherit}.event-blocks .training-block b{color:inherit;white-space:nowrap}.training-block.colpisci{color:#654b00;background:#ffe783}.training-block.sfida{color:#9f2727;background:#ffd8d5}.training-block.fisico{color:#3f4853;background:#e2e5e9}.training-block.proteggi{color:#fff;background:#0b315f}.training-block.crea{color:#07549a;background:#cfe9ff}.training-block.globale{color:#8f1267;background:#f7c9ec}.training-block.standard{color:#46566a;background:#fff;border:1px solid #dce4ee}.event-edit{color:var(--blue);text-transform:uppercase;letter-spacing:.08em;margin-top:10px;font-size:9px;font-weight:850}.read-only-note{color:#24466f;background:#eef4ff;border-radius:12px;align-items:center;gap:9px;margin-top:14px;padding:12px 14px;font-size:12px;display:flex}.read-only-note svg{flex:none;width:17px;height:17px}.calendar-day-head{gap:7px}.day-select{text-align:left;background:0 0;border:0;flex:1;justify-content:space-between;align-items:center;min-width:0;padding:0;display:flex}.day-add{background:var(--blue);color:#fff;border:0;border-radius:8px;flex:0 0 27px;place-items:center;width:27px;height:27px;display:grid}.day-add:hover{background:#0d4fca}.day-add svg{width:14px;height:14px}.training-block.gara{color:#fff;background:#7651c9}.modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#05142794;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.training-modal{background:#fff;border-radius:22px;width:min(760px,100%);max-height:calc(100vh - 48px);padding:24px;overflow:auto;box-shadow:0 30px 90px #02102259}.modal-head{justify-content:space-between;align-items:start;gap:18px;display:flex}.modal-head h2{letter-spacing:-.035em;margin:5px 0 0;font-size:25px}.training-form{grid-template-columns:repeat(3,1fr);gap:13px;margin-top:22px;display:grid}.training-form label{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;gap:6px;font-size:10px;font-weight:800;display:grid}.training-form input,.training-form select,.block-row input{border:1px solid var(--line);width:100%;min-height:43px;color:var(--ink);font:inherit;text-transform:none;letter-spacing:normal;background:#fff;border-radius:11px;padding:0 11px}.blocks-head{border-top:1px solid var(--line);justify-content:space-between;align-items:end;gap:16px;margin-top:24px;padding-top:20px;display:flex}.blocks-head b,.blocks-head span{display:block}.blocks-head span{color:var(--muted);margin-top:3px;font-size:11px}.block-editor{gap:9px;margin-top:13px;display:grid}.block-row{grid-template-columns:1fr 80px 30px auto;align-items:center;gap:8px;display:grid}.block-order-actions{gap:5px;display:flex}.block-order-actions .icon-button{width:36px;min-width:36px;height:36px;font-weight:850}.block-order-actions .icon-button:disabled{opacity:.3;cursor:default}.block-import-row{border:1px solid var(--line);background:var(--canvas);border-radius:12px;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:12px 0;padding:10px;display:grid}.block-import-row select{border:1px solid var(--line);background:var(--surface);min-width:0;height:40px;color:var(--ink);border-radius:10px;padding:0 10px}.block-row>span{color:var(--muted);font-size:11px}.form-message{color:var(--blue);margin-top:13px;font-size:12px;font-weight:700}.modal-actions{border-top:1px solid var(--line);grid-template-columns:auto 1fr auto auto;gap:9px;margin-top:22px;padding-top:18px;display:grid}.btn.danger{color:var(--danger);border-color:#f1c8c5}.focus-picker{border:0;grid-column:1/-1;margin:0;padding:0}.focus-picker legend{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:7px;font-size:10px;font-weight:800}.focus-picker>div{flex-wrap:wrap;gap:7px;display:flex}.focus-picker button{border:1px solid var(--line);color:var(--ink);text-align:left;background:#fff;border-radius:999px;padding:8px 10px;font-size:11px;font-weight:750}.focus-picker button.selected{background:var(--blue);border-color:var(--blue);color:#fff}.focus-picker small{color:var(--muted);margin-top:7px;font-size:10px;display:block}@media (width<=700px){.modal-backdrop{align-items:end;padding:0}.training-modal{border-radius:22px 22px 0 0;max-height:94vh;padding:20px 15px}.training-form{grid-template-columns:1fr 1fr}.block-row{grid-template-columns:1fr 70px 24px 42px}.modal-actions{grid-template-columns:1fr 1fr}.modal-actions>span{display:none}.modal-actions .btn{width:100%}.focus-picker button{min-height:42px;padding:9px 11px}.youth-preset{width:100%;margin-top:12px}}*{box-sizing:border-box}html{background:var(--canvas)}body{background:var(--canvas);min-height:100vh;color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #165dde47}::selection{color:var(--ink);background:#cfe0ff}h1,h2,h3,p{margin-top:0}svg{display:block}.app-shell{grid-template-columns:250px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--ink);color:#fff;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ffffff38 transparent;flex-direction:column;height:100vh;padding:26px 18px 22px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{align-items:center;gap:11px;padding:0 8px 28px;display:flex}.brand-mark{width:44px;height:44px;color:var(--blue);background:#fff;border-radius:14px;flex:0 0 44px;place-items:center;display:grid}.brand-mark svg{fill:none;stroke:currentColor;stroke-width:2.3px;stroke-linecap:round;stroke-linejoin:round;width:36px;height:36px}.brand-name{letter-spacing:-.035em;white-space:nowrap;font-size:18px;font-weight:800}.brand-sub{color:#9fb0c5;text-transform:uppercase;letter-spacing:.18em;gap:1px;margin-top:4px;font-size:8px;line-height:1.25;display:grid}.brand-sub span{display:block}.side-section{color:#7890aa;letter-spacing:.14em;text-transform:uppercase;padding:18px 13px 8px;font-size:10px;font-weight:800}.nav{gap:5px;display:grid}.nav-item{color:#b7c5d5;text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;min-height:46px;padding:0 13px;transition:all .18s;display:flex}.nav-item:hover{color:#fff;background:#ffffff12}.nav-item.active{color:#fff;box-shadow:inset 3px 0 0 var(--lime);background:#173b67}.nav-item svg{flex:0 0 19px;width:19px;height:19px}.side-team{background:#ffffff0e;border:1px solid #ffffff1f;border-radius:16px;margin:auto 4px 0;padding:14px}.team-kicker{color:#8fa4bc;text-transform:uppercase;letter-spacing:.13em;font-size:10px}.team-name{margin-top:4px;font-weight:750}.team-meta{color:#9eb0c2;margin-top:3px;font-size:12px}@media (width>=761px) and (height<=900px){.sidebar{padding:15px 12px 14px}.brand{padding-bottom:10px}.side-section{padding:9px 10px 5px}.nav{gap:2px}.nav-item{min-height:38px;padding:0 10px}.side-team{margin:12px 4px 0;padding:10px}.team-meta{font-size:11px}}.main{min-width:0}.topbar{border-bottom:1px solid var(--line);z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;justify-content:space-between;align-items:center;gap:18px;height:76px;padding:0 34px;display:flex;position:sticky;top:0}.top-context{align-items:center;gap:12px;min-width:0;display:flex}.club-logo{background:var(--blue-soft);width:38px;height:38px;color:var(--blue);border-radius:12px;place-items:center;font-size:13px;font-weight:900;display:grid}.context-title{letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;font-weight:780;overflow:hidden}.context-sub{color:var(--muted);margin-top:2px;font-size:12px}.top-actions{align-items:center;gap:10px;display:flex}.icon-button{border:1px solid var(--line);width:42px;height:42px;color:var(--ink);background:#fff;border-radius:13px;place-items:center;display:grid;position:relative}.icon-button:hover{border-color:#bdc9d8}.icon-button svg{width:19px;height:19px}.notification-dot{background:var(--danger);border:2px solid #fff;border-radius:50%;width:7px;height:7px;position:absolute;top:7px;right:7px}.profile-button{color:var(--ink);background:0 0;border:0;align-items:center;gap:10px;padding:4px 2px 4px 6px;display:flex}.profile-button>svg{width:16px;height:16px;transform:rotate(90deg)}.avatar{background:var(--ink);color:#fff;border-radius:12px;place-items:center;width:38px;height:38px;font-size:12px;font-weight:800;display:grid}.profile-copy{text-align:left}.profile-name{font-size:13px;font-weight:750}.profile-role{color:var(--muted);text-transform:capitalize;margin-top:1px;font-size:11px}.role-menu{border:1px solid var(--line);z-index:40;background:#fff;border-radius:16px;width:248px;padding:8px;position:absolute;top:68px;right:28px;box-shadow:0 18px 48px #071c3629}.role-label{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;padding:9px 10px 6px;font-size:10px;font-weight:800}.role-option{text-align:left;width:100%;color:var(--ink);background:0 0;border:0;border-radius:10px;justify-content:space-between;align-items:center;padding:10px;display:flex}.role-option:hover,.role-option.selected{background:var(--blue-soft);color:var(--blue)}.role-option svg{width:17px;height:17px}.content{max-width:1520px;margin:0 auto;padding:30px 34px 110px}.page-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px;display:flex}.eyebrow{color:var(--blue);letter-spacing:.13em;text-transform:uppercase;font-size:11px;font-weight:850}.page-heading h1{letter-spacing:-.045em;margin:5px 0;font-size:clamp(28px,3vw,38px);line-height:1.05}.lead{color:var(--muted);max-width:680px;margin:0;line-height:1.6}.button-row{flex-wrap:wrap;gap:10px;display:flex}.btn{border:1px solid var(--line);min-height:42px;color:var(--ink);background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:750;display:inline-flex}.btn:hover{border-color:#b9c7d8}.btn.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.btn.primary:hover{background:#0d4fca}.btn.lime{background:var(--lime);color:var(--lime-ink);border-color:var(--lime)}.btn.small{border-radius:10px;min-height:34px;padding:0 11px;font-size:12px}.btn.dark{color:#fff;background:0 0;border-color:#ffffff40}.btn svg{width:17px;height:17px}.grid{gap:18px;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:19px;box-shadow:0 8px 24px #071c3609}.card-header{border-bottom:1px solid #edf1f5;justify-content:space-between;align-items:center;gap:14px;padding:20px 22px 16px;display:flex}.card-title{letter-spacing:-.02em;margin:0;font-size:16px;font-weight:800}.card-sub{color:var(--muted);margin-top:4px;font-size:12px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.stat-card{flex-direction:column;justify-content:space-between;min-height:132px;padding:18px;display:flex}.stat-top{color:var(--muted);justify-content:space-between;align-items:center;font-size:12px;font-weight:650;display:flex}.stat-icon{background:var(--blue-soft);width:34px;height:34px;color:var(--blue);border-radius:11px;place-items:center;display:grid}.stat-icon.lime{background:var(--blue-soft);color:var(--blue)}.stat-icon svg{width:17px;height:17px}.stat-value{letter-spacing:-.045em;margin-top:10px;font-size:30px;font-weight:830}.stat-note{color:var(--muted);font-size:11px}.positive{color:var(--success);font-weight:750}.dashboard-grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,.8fr);align-items:start}.section-stack{gap:18px;display:grid}.next-session{background:var(--ink);color:#fff;border:0;overflow:hidden}.next-session .card-header{border-color:#ffffff1c}.next-session .card-sub{color:#a9bacd}.session-content{grid-template-columns:110px 1fr;gap:24px;padding:23px;display:grid}.date-block{text-align:center;background:#fff1;border:1px solid #ffffff29;border-radius:16px;align-self:start;padding:16px}.date-day{color:var(--lime);text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:800}.date-number{margin:5px 0;font-size:35px;font-weight:850;line-height:1.1}.date-month{color:#acbdd0;font-size:12px}.session-title{letter-spacing:-.03em;margin:0 0 6px;font-size:21px;font-weight:800}.session-meta{color:#b4c3d3;font-size:13px;line-height:1.6}.session-segments{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.session-segment{color:#e2e9f1;background:#ffffff17;border:1px solid #ffffff1a;border-radius:10px;padding:8px 10px;font-size:11px}.session-segment b{color:var(--lime);margin-left:5px}.session-actions{gap:10px;margin-top:19px;display:flex}.week-strip{grid-template-columns:repeat(7,1fr);gap:7px;padding:15px 18px;display:grid}.day-chip{text-align:center;min-width:0;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:12px;padding:10px 5px}.day-chip:hover{background:var(--canvas)}.day-chip.active{background:var(--blue-soft);color:var(--blue);border-color:#cfe0ff}.day-name{text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:800}.day-num{margin-top:5px;font-size:18px;font-weight:830}.day-dot{background:var(--lime);border-radius:50%;width:5px;height:5px;margin:6px auto 0}.quick-list{padding:8px 10px 12px}.quick-item{text-align:left;width:100%;color:var(--ink);background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:12px;display:flex}.quick-item:hover{background:var(--canvas)}.quick-icon{background:var(--blue-soft);width:38px;height:38px;color:var(--blue);border-radius:12px;flex:none;place-items:center;display:grid}.quick-icon svg{width:18px;height:18px}.quick-copy b{font-size:13px;display:block}.quick-copy span{color:var(--muted);font-size:11px}.quick-arrow{color:#a7b2bf;margin-left:auto;font-size:11px}.notice{background:var(--blue-soft);color:#15427f;border:1px solid #cadeff;border-radius:14px;align-items:start;gap:12px;margin-bottom:18px;padding:14px 16px;display:flex}.notice>svg{flex:0 0 18px;width:18px;height:18px;margin-top:2px}.notice b{color:var(--ink);font-size:13px;display:block}.notice p{margin:3px 0 0;font-size:12px;line-height:1.45}.notice-close{width:32px;height:32px;margin-left:auto}.notice-close svg{width:15px;height:15px}.notice.error{color:#8e2f2f;background:#fff0ef;border-color:#f3c8c5}.btn:disabled{opacity:.65;cursor:wait}.toolbar{justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.segmented{background:#edf1f6;border-radius:11px;gap:3px;padding:3px;display:inline-flex}.segment{min-height:34px;color:var(--muted);background:0 0;border:0;border-radius:8px;padding:0 12px;font-size:12px;font-weight:750}.segment.active{color:var(--ink);background:#fff;box-shadow:0 2px 7px #071c3614}.select{border:1px solid var(--line);min-height:40px;color:var(--ink);background:#fff;border-radius:11px;padding:0 34px 0 12px;font-weight:650}.calendar-card{margin-top:18px;overflow:hidden}.calendar-grid{grid-template-columns:repeat(7,minmax(150px,1fr));display:grid;overflow-x:auto}.calendar-day{border-right:1px solid var(--line);min-height:390px}.calendar-day:last-child{border-right:0}.calendar-day-head{text-align:left;background:#fff;border:0;justify-content:space-between;align-items:baseline;width:100%;padding:15px;display:flex}.calendar-day-head.today{background:var(--blue-soft)}.calendar-day-head b{font-size:13px}.calendar-day-head span{color:var(--muted);font-size:11px}.calendar-events{gap:9px;padding:10px;display:grid}.event{border-left:4px solid var(--blue);background:#f5f8fd;border-radius:6px 11px 11px 6px;padding:12px 10px}.event.weights{background:#f5f1ff;border-left-color:#8c64d8}.event-time{color:var(--muted);font-size:10px;font-weight:750}.event-title{margin-top:4px;font-size:12px;font-weight:800;line-height:1.35}.event-meta{color:var(--muted);margin-top:5px;font-size:10px}.workout-summary{background:var(--ink);color:#fff;grid-template-columns:1fr auto;align-items:center;gap:18px;padding:22px;display:grid}.workout-summary h2{letter-spacing:-.04em;margin:4px 0 7px;font-size:25px}.workout-summary p{color:#aebed0;margin:0}.lime-text{color:#fff}.workout-badge{text-align:center;border:7px solid #fff3;border-radius:50%;place-items:center;width:104px;height:104px;display:grid;box-shadow:inset 0 0 0 7px #fff}.workout-badge b{font-size:20px;display:block}.workout-badge span{color:#b9c6d5;text-transform:uppercase;letter-spacing:.08em;font-size:10px}.weights-toolbar{margin-top:18px}.exercise-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px;display:grid}.exercise-card{padding:17px}.exercise-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.exercise-index{background:var(--blue-soft);width:28px;height:28px;color:var(--blue);border-radius:9px;place-items:center;font-size:11px;font-weight:850;display:grid}.exercise-load{color:var(--muted);font-size:11px;font-weight:700}.exercise-name{margin:13px 0 4px;font-weight:800}.exercise-detail{color:var(--muted);font-size:12px}.progress-track{background:#e8edf3;border-radius:10px;height:5px;margin-top:15px;overflow:hidden}.progress-bar{background:var(--blue);border-radius:inherit;height:100%}.page-heading .lead>span{display:block}.page-heading .lead>span+span{margin-top:5px}.week-subtitle{align-items:center;gap:7px;display:flex!important}.week-subtitle-edit{border:1px solid var(--line);width:25px;height:25px;color:var(--blue);cursor:pointer;background:#fff;border-radius:7px;flex:0 0 25px;place-items:center;display:inline-grid}.week-subtitle-edit:hover{border-color:var(--blue);background:#f3f7ff}.week-subtitle-edit svg{width:13px;height:13px}.planning-tabs{border:1px solid var(--line);background:#eaf0f8;border-radius:15px;gap:8px;width:max-content;margin-bottom:16px;padding:5px;display:flex}.planning-tabs button{min-height:39px;color:var(--muted);background:0 0;border:0;border-radius:11px;padding:0 17px;font-weight:800}.planning-tabs button.active{color:var(--ink);background:#fff;box-shadow:0 3px 12px #071c3614}.planning-status{margin-bottom:12px}.month-planner{padding:0;overflow:hidden}.month-weekdays,.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.month-weekdays{border-bottom:1px solid var(--line);background:#f5f8fc}.month-weekdays b{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;padding:12px 10px;font-size:11px}.month-day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;min-height:150px;padding:8px}.month-day:nth-child(7n){border-right:0}.month-day.outside{color:#a5b1c1;background:#f7f9fc}.month-day-head{justify-content:space-between;align-items:center;margin-bottom:7px;display:flex}.month-day-head>span{font-size:12px;font-weight:850}.month-day-head button{background:var(--blue);color:#fff;border:0;border-radius:8px;width:25px;height:25px;font-size:18px;line-height:1}.month-session{border:1px solid var(--line);text-align:left;background:#f8faff;border-radius:10px;width:100%;margin-bottom:6px;padding:7px}.month-session>b{white-space:normal;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin-bottom:5px;font-size:10px;display:block}.month-session>div{flex-wrap:wrap;gap:3px;display:flex}.month-session .training-block{border-radius:5px;padding:3px 5px;font-size:7px;line-height:1.1}.month-session.month-match{color:#3d1976;background:#f1e8ff;border-color:#d2b8ff;gap:3px;display:grid}.month-session.month-match>b{color:#6f38c5;margin:0}.month-session.month-match>strong{font-size:10px}.month-session.month-match>small{color:#76658f;font-size:8px}.weight-progression{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.weight-week{gap:11px;padding:16px;display:grid}.weight-week-head{justify-content:space-between;align-items:start;gap:8px;display:flex}.weight-week-head span{color:var(--blue);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:850;display:block}.weight-week-head b{font-size:13px}.weight-week label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;gap:5px;font-size:10px;font-weight:800;display:grid}.weight-week select,.weight-week input{border:1px solid var(--line);width:100%;min-height:39px;color:var(--ink);font:inherit;background:#fff;border-radius:9px;padding:0 9px}.weight-week-fields{grid-template-columns:1fr 1fr;gap:8px;display:grid}.block-palette{scrollbar-width:thin;gap:7px;padding:4px 1px 12px;display:flex;overflow-x:auto}.block-palette button{cursor:pointer;border:0;border-radius:9px;flex:none;align-items:center;gap:5px;min-height:35px;padding:0 10px;font-size:9px;font-weight:850;display:inline-flex}.block-palette button svg{width:13px;height:13px}.selected-blocks-title{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:3px 0 8px;font-size:9px;font-weight:850}.block-editor.fluid{gap:6px;display:grid}.block-row.fluid{border:0;border-radius:10px;grid-template-columns:minmax(0,1fr) 72px 25px 36px;padding:7px 8px}.block-row.fluid>b{align-self:center;padding-left:4px;font-size:10px}.block-row.fluid input{background:#ffffffe0;font-weight:800}.block-row.fluid .icon-button{background:#ffffffe0}.weight-assignments{border-top:1px solid var(--line);gap:6px;padding-top:4px;display:grid}.weight-assignments>b{font-size:10px}.weight-assignments>small{color:var(--muted);font-size:9px}.weight-assignment{grid-template-columns:minmax(0,1fr) 74px;align-items:center;gap:6px;display:grid}.weight-assignment>button{border:1px solid var(--line);min-height:38px;color:var(--ink);text-align:left;background:#f7f9fc;border-radius:9px;align-items:center;gap:7px;padding:0 8px;display:flex}.weight-assignment>button>span{width:21px;height:21px;color:var(--muted);background:#dfe7f2;border-radius:7px;place-items:center;font-weight:900;display:grid}.weight-assignment>button>b{font-size:9px}.weight-assignment.active>button{background:var(--blue-soft);color:var(--blue);border-color:#bad0f8}.weight-assignment.active>button>span{background:var(--blue);color:#fff}.weight-assignment>label{position:relative}.weight-assignment>label input{padding-right:28px}.weight-assignment>label span{text-transform:none;letter-spacing:normal;font-size:8px;position:absolute;bottom:12px;right:7px}.module-loading{text-align:center;color:var(--muted);padding:40px}.weights-control{margin-top:18px;padding:16px}.weights-fields{grid-template-columns:1.4fr 1.2fr .7fr .8fr 1fr;gap:11px;display:grid}.weights-fields label,.load-field{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;gap:6px;font-size:10px;font-weight:800;display:grid}.weights-fields input,.weights-fields select,.load-field input{border:1px solid var(--line);width:100%;min-height:42px;color:var(--ink);font:inherit;text-transform:none;letter-spacing:normal;background:#fff;border-radius:11px;padding:0 11px}.weights-fields input:disabled,.weights-fields select:disabled,.load-field input:disabled{color:#7b8795;background:#f4f6f8}.weights-layout{grid-template-columns:210px minmax(0,1fr);align-items:start;gap:18px;margin-top:18px;display:grid}.athlete-picker{max-height:calc(100vh - 120px);padding:9px;position:sticky;top:94px;overflow:auto}.athlete-picker-title{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;padding:10px 11px;font-size:10px;font-weight:850}.athlete-picker button{width:100%;min-height:42px;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:10px;justify-content:space-between;align-items:center;padding:0 11px;font-weight:700;display:flex}.athlete-picker button:hover{background:var(--canvas)}.athlete-picker button.active{background:var(--blue);color:#fff}.athlete-picker small{opacity:.72;font-size:9px}.weights-exercises{min-width:0}.weights-athlete-head{justify-content:space-between;align-items:end;gap:16px;display:flex}.weights-athlete-head h2{letter-spacing:-.035em;margin:4px 0 0;font-size:25px}.weights-athlete-head>span{color:var(--muted);font-size:12px}.exercise-grid.operational{margin-top:13px}.exercise-grid.operational .exercise-card{box-shadow:none}.load-field{border-top:1px solid #edf1f5;margin-top:15px;padding-top:13px}.load-field input{font-size:13px;font-weight:750}.load-field input:not(:disabled):focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.test-sets{gap:8px;margin-top:14px;display:grid}.test-set-row{grid-template-columns:26px 1fr 1fr;align-items:end;gap:7px;display:grid}.test-set-row>b{background:var(--blue-soft);height:38px;color:var(--blue);border-radius:9px;place-items:center;font-size:11px;display:grid}.test-set-row label{border:1px solid var(--line);background:#fff;border-radius:9px;grid-template-columns:auto 1fr;align-items:center;display:grid;overflow:hidden}.test-set-row label span{color:var(--muted);text-transform:uppercase;padding-left:8px;font-size:9px;font-weight:850}.test-set-row input,.test-set-row select{width:100%;height:36px;font:inherit;background:0 0;border:0;outline:0;padding:0 7px;font-weight:750}.test-set-row input:disabled,.test-set-row select:disabled{color:#7b8795;background:#f4f6f8}.max-estimate{background:var(--ink);color:#fff;border-radius:10px;justify-content:space-between;align-items:center;margin-top:12px;padding:11px 12px;display:flex}.max-estimate span{text-transform:uppercase;letter-spacing:.07em;color:#b9c6d5;font-size:10px}.max-estimate b{font-size:17px}.calculated-load{background:var(--blue-soft);color:var(--ink);border-radius:12px;gap:3px;margin-top:14px;padding:14px;display:grid}.calculated-load span{text-transform:uppercase;letter-spacing:.08em;color:var(--blue);font-size:9px;font-weight:850}.calculated-load b{font-size:24px}.calculated-load small{color:var(--muted);font-size:9px}.roster-modal{width:min(680px,100vw - 28px)}.roster-help{color:var(--muted);margin:0 0 18px;line-height:1.55}.roster-list{grid-template-columns:1fr 1fr;gap:9px;max-height:52vh;padding:2px;display:grid;overflow:auto}.roster-list label{border:1px solid var(--line);background:#fff;border-radius:11px;grid-template-columns:36px 1fr;align-items:center;display:grid;overflow:hidden}.roster-list label>span{background:var(--blue-soft);height:44px;color:var(--blue);place-items:center;font-size:10px;font-weight:850;display:grid}.roster-list input{height:44px;color:var(--ink);font:inherit;border:0;outline:0;padding:0 11px;font-weight:700}.roster-list label:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.roster-list{grid-template-columns:1fr}.roster-athlete{border:1px solid var(--line);background:#fff;border-radius:11px;grid-template-columns:36px minmax(0,1fr) 68px 42px;align-items:center;display:grid;overflow:hidden}.roster-athlete>span{background:var(--blue-soft);height:44px;color:var(--blue);place-items:center;font-size:10px;font-weight:850;display:grid}.roster-athlete input{min-width:0}.roster-athlete select{border:0;border-left:1px solid var(--line);height:44px;color:var(--ink);font:inherit;background:#fff;padding:0 8px;font-weight:850}.roster-athlete:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.roster-delete{color:var(--danger);margin:auto}.coach-roster-card{padding:24px}.coach-roster-card .roster-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}.next-attendance{color:#fff;background:#ffffff1f;border-radius:10px;flex-wrap:wrap;align-items:baseline;gap:7px;margin:12px 0 2px;padding:9px 11px;display:flex}.next-attendance b{font-size:15px}.next-attendance span{opacity:.72;font-size:10px}.next-attendance i{letter-spacing:.04em;margin-left:auto;font-size:10px;font-style:normal;font-weight:800}.team-weights-card{margin:18px 0;padding:0;overflow:hidden}.team-weights-head{justify-content:space-between;align-items:end;gap:16px;padding:20px;display:flex}.team-weights-head h2{margin:5px 0 0;font-size:22px}.team-weights-head>span{color:var(--muted);font-size:11px}.team-weights-table-wrap{border-top:1px solid var(--line);overflow:auto}.team-weights-table{border-collapse:collapse;width:100%;min-width:1450px}.team-weights-table th,.team-weights-table td{text-align:center;white-space:nowrap;border-bottom:1px solid #edf1f5;border-right:1px solid #edf1f5;padding:11px 10px;font-size:11px}.team-weights-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;background:#f8fafc;font-size:9px}.team-weights-table th:first-child,.team-weights-table td:first-child{z-index:2;text-align:left;background:#fff;min-width:165px;font-weight:780;position:sticky;left:0}.team-weights-table th:first-child{z-index:3;background:#f8fafc}.team-weights-table td.has-value{color:var(--blue);background:#f7faff;font-weight:800}.team-weights-table td.missing-value{color:#a5b0bc}.exercise-editor-list{gap:8px;max-height:48vh;padding:2px;display:grid;overflow:auto}.exercise-editor-row{border:1px solid var(--line);background:#fff;border-radius:11px;grid-template-columns:36px minmax(0,1fr) 36px 36px 36px;align-items:center;display:grid;overflow:hidden}.exercise-editor-row>span{background:var(--blue-soft);height:42px;color:var(--blue);place-items:center;font-size:10px;font-weight:850;display:grid}.exercise-editor-row input{height:42px;font:inherit;color:var(--ink);border:0;outline:0;padding:0 11px;font-weight:700}.exercise-editor-row button{border:0;border-left:1px solid var(--line);height:42px;color:var(--muted);background:#fff;font-weight:850}.exercise-editor-row button:hover:not(:disabled){background:var(--blue-soft);color:var(--blue)}.exercise-editor-row button:disabled{opacity:.3}.exercise-editor-row .remove-exercise{color:var(--danger)}.exercise-editor-row svg{width:14px;height:14px}.exercise-add{margin-top:12px}.attendance-layout{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:18px;display:grid}.attendance-table-wrap{overflow:auto}.attendance-table{border-collapse:collapse;width:100%;min-width:830px}.attendance-table th{z-index:1;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;text-align:center;border-bottom:1px solid var(--line);background:#f8fafc;padding:13px 8px;font-size:10px;position:sticky;top:0}.attendance-table th:first-child,.attendance-table td:first-child{text-align:left;z-index:2;background:#fff;min-width:145px;padding-left:18px;position:sticky;left:0}.attendance-table th:first-child{z-index:3;background:#f8fafc}.attendance-table td{text-align:center;border-bottom:1px solid #edf1f5;height:46px;padding:8px;font-size:12px}.athlete-name{font-weight:750}.presence{border:1px solid var(--line);color:#9da9b7;background:#f7f9fb;border-radius:8px;flex:none;place-items:center;width:28px;height:28px;display:inline-grid}.presence.present{color:var(--success);background:#e6f7f0;border-color:#bce6d5}.presence.absent{color:var(--danger);background:#fff0ef;border-color:#f3c8c5}.presence svg{width:15px;height:15px}.attendance-aside{gap:14px;display:grid}.mini-chart{padding:18px}.donut{aspect-ratio:1;background:conic-gradient(var(--blue) 0 88%, #e7edf4 88%);border-radius:50%;place-items:center;width:120px;margin:15px auto;display:grid}.donut:after{content:"88%";aspect-ratio:1;background:#fff;border-radius:50%;place-items:center;width:86px;font-size:23px;font-weight:850;display:grid}.legend{color:var(--muted);justify-content:center;gap:16px;font-size:11px;display:flex}.legend span:before{content:"";background:var(--blue);border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}.legend span:last-child:before{background:#e7edf4}.summary-list{gap:16px;margin-top:18px;display:grid}.summary-list b,.summary-list span{display:block}.summary-list span{color:var(--muted);margin-top:2px;font-size:11px}.admin-grid{grid-template-columns:repeat(3,1fr)}.club-card{overflow:hidden}.club-card-top{background:var(--ink);color:#fff;justify-content:space-between;align-items:start;min-height:124px;padding:20px;display:flex}.club-card:nth-child(2) .club-card-top{background:#124aa7}.club-card:nth-child(3) .club-card-top{background:#2471d8}.club-monogram{width:44px;height:44px;color:var(--blue);background:#fff;border-radius:13px;place-items:center;font-weight:900;display:grid}.club-card-top h3{margin:16px 0 0;font-size:18px}.club-card-bottom{justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.club-card-bottom>svg{width:20px;height:20px}.club-numbers{gap:22px;display:flex}.club-numbers b{font-size:17px;display:block}.club-numbers span{color:var(--muted);font-size:10px}.empty-state{text-align:center;color:var(--muted);border-style:dashed;padding:48px 22px}.empty-state p{margin:6px 0 0}.add-club{margin:0 auto 12px}.mobile-nav{display:none}.people-stats{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px;display:grid}.people-stats article{padding:17px 19px}.people-stats span{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:10px;font-weight:800;display:block}.people-stats b{margin-top:7px;font-size:26px;display:block}.people-card{overflow:hidden}.people-table-wrap{overflow:auto}.people-table{border-collapse:collapse;width:100%;min-width:850px}.people-table th{border-bottom:1px solid var(--line);color:var(--muted);text-align:left;text-transform:uppercase;letter-spacing:.06em;background:#f8fafc;padding:13px 14px;font-size:9px}.people-table td{border-bottom:1px solid #edf1f5;padding:13px 14px;font-size:12px}.people-table tr:last-child td{border-bottom:0}.role-pill,.account-state{text-transform:uppercase;letter-spacing:.05em;border-radius:999px;align-items:center;min-height:25px;padding:0 9px;font-size:9px;font-weight:850;display:inline-flex}.role-pill.athlete{background:var(--blue-soft);color:var(--blue)}.role-pill.coach{color:#14714e;background:#e9f7f1}.role-pill.admin{color:#6d43af;background:#f0eafe}.account-state.active{color:#14714e;background:#e9f7f1}.account-state.pending{color:#8a6500;background:#fff5dc}.account-state.managed{color:#536579;white-space:nowrap;background:#eef2f7}.managed-athlete-help{margin:16px 0 4px}.people-actions{justify-content:flex-end;gap:7px;display:flex}.person-delete{width:34px;height:34px;color:var(--danger)}.person-delete svg{width:14px;height:14px}.people-empty{text-align:center;color:var(--muted);padding:38px}.person-modal{width:min(600px,100vw - 28px)}.person-form{grid-template-columns:1fr 1fr;gap:12px;display:grid}.person-form label{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;gap:7px;font-size:10px;font-weight:800;display:grid}.person-form-wide{grid-column:1/-1}.person-form input,.person-form select{border:1px solid var(--line);height:44px;color:var(--ink);font:inherit;text-transform:none;letter-spacing:normal;background:#fff;border-radius:11px;padding:0 11px}.account-help{background:var(--blue-soft);color:#31547f;border-radius:11px;align-items:start;gap:9px;margin-top:15px;padding:12px;font-size:11px;line-height:1.45;display:flex}.account-help svg{flex:none;width:17px;height:17px}.people-groups{gap:24px;display:grid}.people-organization>header{justify-content:space-between;align-items:end;gap:12px;margin:0 2px 12px;display:flex}.people-organization>header span{color:var(--blue);letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:850}.people-organization>header h2{margin:3px 0 0;font-size:22px}.people-organization>header>b{color:var(--muted);font-size:11px}.people-role-group{margin-bottom:12px;padding:0;overflow:hidden}.people-role-head{border-bottom:1px solid var(--line);background:#f7f9fc;justify-content:space-between;align-items:center;padding:13px 16px;display:flex}.people-role-head h3{margin:0;font-size:13px}.people-role-head span{min-width:25px;height:25px;color:var(--blue);background:#fff;border-radius:999px;place-items:center;font-size:10px;font-weight:850;display:grid}.people-unified-row{border-bottom:1px solid #edf1f5;grid-template-columns:minmax(180px,1.15fr) minmax(280px,1.5fr) auto auto;align-items:center;gap:14px;padding:14px 16px;display:grid}.people-unified-row:last-child{border-bottom:0}.person-identity{min-width:0}.person-identity b,.person-identity small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.person-identity b{font-size:13px}.person-identity small{color:var(--muted);margin-top:3px;font-size:10px}.person-associations>div{flex-wrap:wrap;gap:5px;display:flex}.person-team-chips{margin-top:6px}.person-team-chips span{color:#536579;background:#f3f6fa;border-radius:8px;padding:5px 8px;font-size:9px;font-weight:750}.role-pill.executive{color:#8a5b00;background:#fff4df}.role-pill.team_manager{color:#175fae;background:#e9f3ff}.avatar.has-emoji{color:inherit;background:#eef4ff;font-size:21px}.emoji-picker{grid-template-columns:repeat(5,1fr);gap:5px;padding:4px 8px 10px;display:grid}.emoji-picker button{border:1px solid var(--line);background:#fff;border-radius:9px;height:35px;font-size:18px}.emoji-picker button.selected{border-color:var(--blue);background:var(--blue-soft);box-shadow:0 0 0 1px var(--blue)}.emoji-picker button.remove{color:var(--muted);font-size:10px;font-weight:850}@media (width<=1100px){.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.exercise-grid,.admin-grid{grid-template-columns:repeat(2,1fr)}.attendance-layout{grid-template-columns:1fr}.attendance-aside{grid-template-columns:repeat(2,1fr)}.weights-fields{grid-template-columns:repeat(3,1fr)}}@media (width<=760px){.app-shell{display:block}.sidebar{display:none}.topbar{height:64px;padding:0 15px}.club-logo{border-radius:10px;width:34px;height:34px}.context-title{font-size:13px}.context-sub{font-size:10px}.profile-copy,.profile-button>svg{display:none}.profile-button{padding:0}.avatar{border-radius:11px;width:36px;height:36px}.content{padding:23px 15px 98px}.page-heading{flex-direction:column;align-items:start;margin-bottom:18px}.page-heading h1{font-size:29px}.page-heading .button-row{width:100%}.page-heading .btn{flex:1}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{min-height:116px;padding:14px}.stat-value{font-size:25px}.stat-note{font-size:10px}.session-content{grid-template-columns:72px 1fr;gap:14px;padding:17px}.date-block{padding:12px 7px}.date-number{font-size:28px}.session-title{font-size:18px}.session-meta{font-size:12px}.session-segments{grid-template-columns:1fr 1fr;display:grid}.session-actions{flex-direction:column}.week-strip{gap:2px;padding:11px}.day-chip{padding:8px 2px}.day-num{font-size:16px}.card-header{padding:17px}.toolbar{flex-direction:column;align-items:stretch}.toolbar .select{width:100%}.calendar-grid{grid-template-columns:repeat(7,154px)}.calendar-day{min-height:340px}.exercise-grid{grid-template-columns:1fr;gap:10px}.workout-summary{grid-template-columns:1fr;padding:18px;position:relative}.workout-badge{width:84px;height:84px;position:absolute;right:18px}.workout-summary p{max-width:200px}.weights-fields{grid-template-columns:1fr 1fr}.weights-layout{grid-template-columns:1fr}.athlete-picker{gap:6px;max-height:none;display:flex;position:static;overflow-x:auto}.athlete-picker-title{display:none}.athlete-picker button{width:auto;min-width:max-content;padding:0 13px}.weights-athlete-head{flex-direction:column;align-items:start}.roster-list,.attendance-aside,.admin-grid{grid-template-columns:1fr}.people-stats{grid-template-columns:1fr 1fr}.person-form{grid-template-columns:1fr}.person-form-wide{grid-column:auto}.role-menu{top:58px;right:12px}.mobile-nav{z-index:30;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#071c36f5;border:1px solid #ffffff1f;border-radius:18px;grid-template-columns:repeat(5,1fr);padding:7px;display:grid;position:fixed;bottom:10px;left:10px;right:10px;box-shadow:0 15px 40px #071c3647}.mobile-nav button{color:#9db0c5;background:0 0;border:0;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:4px;height:53px;font-size:9px;font-weight:750;display:flex}.mobile-nav button.active{color:var(--lime);background:#ffffff14}.mobile-nav svg{width:19px;height:19px}}@media (width<=390px){.stats-grid{grid-template-columns:1fr}.stat-card{min-height:100px}.session-content{grid-template-columns:1fr}.date-block{justify-content:center;align-items:center;gap:7px;display:flex}.date-number{margin:0;font-size:22px}}.auth-screen{color:#fff;background:radial-gradient(circle at 80% 10%,#2471d84d,#0000 30%),#071523;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{text-align:center;background:#0d2335eb;border:1px solid #ffffff1f;border-radius:28px;width:min(100%,460px);padding:42px;box-shadow:0 30px 80px #00000059}.auth-logo{border-radius:21px;flex-basis:68px;width:68px;height:68px;margin:0 auto 22px}.auth-logo svg{width:54px;height:54px}.auth-card h1{margin:10px 0 14px;font-size:clamp(1.75rem,5.5vw,2.65rem);line-height:1.08}.auth-card p{color:#a9bac7;margin:0 auto 28px;line-height:1.6}.auth-card small{color:#8195a5;margin-top:18px;line-height:1.45;display:block}.google-button{color:#152534;width:100%;font:inherit;cursor:pointer;background:#fff;border:0;border-radius:14px;justify-content:center;align-items:center;gap:12px;padding:15px 18px;font-weight:750;display:flex;box-shadow:0 10px 24px #0003}.google-button:hover{background:#f3f7f9}.google-g{color:#4285f4;border-radius:50%;place-items:center;width:25px;height:25px;font-size:19px;font-weight:900;display:grid}.auth-error{color:#ffb3b3;background:#ff5a5a1f;border-radius:10px;margin-top:16px;padding:11px;font-size:.9rem}.role-account{color:var(--muted);text-overflow:ellipsis;padding:4px 12px 10px;font-size:.78rem;overflow:hidden}.exercise-grid.operational{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.weights-layout.athlete-only{grid-template-columns:1fr}.weights-athlete-head.athlete-inline>div{align-items:baseline;gap:12px;display:flex}.weights-athlete-head.athlete-inline h2{margin:0}@media (width<=1100px){.exercise-grid.operational{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.exercise-grid.operational{grid-template-columns:1fr}.weights-athlete-head.athlete-inline>div{flex-wrap:wrap;gap:9px}}.dashboard-empty{color:var(--muted);text-align:center;padding:30px;font-size:13px}.calendar-context{gap:3px;display:grid}.calendar-context b{font-size:13px}.calendar-context span{color:var(--muted);font-size:10px}.program-summary,.attendance-kpis{grid-template-columns:repeat(4,1fr);gap:11px;margin:14px 0;display:grid}.program-summary article,.attendance-kpis article{padding:15px 17px}.program-summary span,.attendance-kpis span{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:9px;font-weight:800;display:block}.program-summary b,.attendance-kpis b{margin-top:6px;font-size:21px;display:block}.attendance-toolbar{margin-bottom:14px}.attendance-legend{flex-wrap:wrap;gap:16px;display:flex}.attendance-legend span{color:var(--muted);align-items:center;gap:6px;font-size:10px;font-weight:750;display:flex}.attendance-legend i{background:#e4e8ed;border-radius:50%;width:9px;height:9px}.attendance-legend i.present{background:var(--success)}.attendance-legend i.absent{background:var(--danger)}.attendance-legend i.pending{background:#b8c2cd}.attendance-table th small{margin-top:4px;font-size:8px;font-weight:650;display:block}.presence.pending{color:#8b98a6;background:#f3f5f7;border-color:#dce2e8}.athlete-attendance-list{gap:11px;display:grid}.athlete-attendance-card{justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;display:flex}.athlete-attendance-card>div>span{color:var(--blue);text-transform:uppercase;font-size:10px;font-weight:850}.athlete-attendance-card h3{margin:4px 0;font-size:17px}.athlete-attendance-card p{color:var(--muted);margin:0;font-size:11px}.availability-actions{gap:8px;display:flex}.availability-actions button{border:1px solid var(--line);height:40px;color:var(--muted);background:#fff;border-radius:11px;align-items:center;gap:7px;padding:0 13px;font-weight:750;display:flex}.availability-actions svg{width:15px;height:15px}.availability-actions button.selected.present{color:var(--success);background:#e6f7f0;border-color:#acdcca}.availability-actions button.selected.absent{color:var(--danger);background:#fff0ef;border-color:#f0c2be}@media (width<=760px){.program-summary,.attendance-kpis{grid-template-columns:1fr 1fr}.athlete-attendance-card{flex-direction:column;align-items:stretch}.availability-actions button{flex:1;justify-content:center}.attendance-toolbar{align-items:stretch}.attendance-legend{justify-content:space-between}}.autosave-state{min-height:38px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;background:#f2f5f8;border-radius:10px;align-items:center;padding:0 11px;font-size:9px;font-weight:800;display:inline-flex}.autosave-state.saving{color:var(--blue);background:var(--blue-soft)}.autosave-state.saved{color:var(--success);background:#e9f7f1}.day-chip.engaged .day-dot{background:#e64a45;width:7px;height:7px;box-shadow:0 0 0 4px #e64a451f}.roster-team-select{color:var(--muted);text-transform:uppercase;gap:6px;margin-bottom:12px;font-size:10px;font-weight:800;display:grid}.roster-team-select select,.new-athlete-row input,.new-athlete-row select{border:1px solid var(--line);height:43px;font:inherit;color:var(--ink);background:#fff;border-radius:11px;padding:0 11px}.new-athlete-row{grid-template-columns:1fr 76px auto;gap:9px;margin-bottom:14px;display:grid}.new-athlete-row .btn{height:43px}@media (width<=560px){.new-athlete-row{grid-template-columns:1fr 72px}.new-athlete-row .btn{grid-column:1/-1}.roster-athlete{grid-template-columns:32px minmax(0,1fr) 62px 38px}.next-attendance i{width:100%;margin-left:0}.autosave-state{justify-content:center;width:100%}}@media (width<=760px){.coach-roster-card{padding:16px}.coach-roster-card .roster-list{grid-template-columns:1fr}}.matches-toolbar>div span{color:var(--muted);margin-top:4px;font-size:11px;display:block}.matches-list{gap:15px;display:grid}.match-card{padding:0;position:relative;overflow:hidden}.match-accent{background:#7651c9;width:6px;position:absolute;inset:0 auto 0 0}.match-main{grid-template-columns:110px 1fr;gap:20px;padding:22px 24px;display:grid}.match-date{border-right:1px solid var(--line);align-content:center;justify-items:center;gap:3px;padding-right:20px;display:grid}.match-date span{color:#7651c9;text-transform:uppercase;font-size:11px;font-weight:850}.match-date b{font-size:25px}.match-date small{color:var(--muted);font-weight:750}.match-info h2{letter-spacing:-.03em;margin:5px 0 6px;font-size:23px}.match-info p{color:var(--muted);margin:0}.match-travel-links{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:10px;display:flex}.match-travel-links a{border:1px solid var(--line);background:var(--canvas);color:#7651c9;border-radius:10px;align-items:center;min-height:34px;padding:6px 10px;font-size:11px;font-weight:800;text-decoration:none;display:inline-flex}.match-travel-links span{color:var(--muted);font-size:11px;line-height:1.4}.match-result{align-items:center;gap:14px;margin-top:13px;display:flex}.match-result>b{font-size:28px}.match-result>b.won{color:#16834a}.match-result>b.lost{color:#c93b45}html[data-theme=dark] .match-result>b.won{color:#5ed895}html[data-theme=dark] .match-result>b.lost{color:#ff7b84}.match-result span{gap:5px;display:flex}.match-result i{color:#50378f;background:#eee8fb;border-radius:7px;padding:5px 7px;font-size:10px;font-style:normal;font-weight:800}.callup-summary{border-top:1px solid var(--line);background:#fafbfc;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 24px;display:flex}.callup-summary span{color:var(--muted);font-size:10px}.callup-summary span b{color:var(--ink);margin-right:3px;font-size:16px}.callup-summary .available b{color:var(--success)}.callup-summary .unavailable b{color:var(--danger)}.callup-summary .btn{margin-left:auto}.callup-roster{grid-template-columns:repeat(4,1fr);gap:7px;padding:15px 24px 22px;display:grid}.callup-roster button{border:1px solid var(--line);min-width:0;color:var(--ink);text-align:left;background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:7px;padding:9px 10px;display:flex}.callup-roster button span{text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:750;overflow:hidden}.callup-roster button small{background:#eef2f7;border-radius:7px;place-items:center;width:22px;height:22px;font-size:9px;font-weight:850;display:grid}.callup-roster button.called{background:#f2edff;border-color:#7651c9}.callup-roster button.called.available{background:#eaf8f1;border-color:#6ec7a1}.callup-roster button.called.unavailable{background:#fff0ef;border-color:#e89a93}.athlete-callup{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:16px 24px;display:flex}.callup-state{color:var(--muted);text-transform:uppercase;background:#f0f2f5;border-radius:9px;padding:8px 11px;font-size:10px;font-weight:850}.callup-state.called{color:#51379a;background:#eee8fb}.ride-actions{border:1px solid var(--line);background:var(--panel);border-radius:13px;gap:9px;width:100%;padding:13px;display:grid}.ride-actions>b{font-size:12px}.ride-actions>div{flex-wrap:wrap;gap:8px;display:flex}.ride-actions button,.ride-actions select{border:1px solid var(--line);background:var(--surface);min-height:40px;color:var(--ink);font:inherit;border-radius:10px;padding:8px 11px;font-size:11px;font-weight:800}.ride-actions button.selected{color:#51379a;background:#f2edff;border-color:#7651c9}.ride-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 24px 22px;display:grid}.ride-summary>div{border:1px solid var(--line);background:var(--panel);border-radius:12px;min-width:0;padding:12px}.ride-summary b{margin-bottom:7px;font-size:11px;display:block}.ride-summary p,.ride-summary span{color:var(--muted);overflow-wrap:anywhere;margin:4px 0 0;font-size:11px;line-height:1.45;display:block}.match-form{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px;display:grid}.match-form label,.match-notes{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;gap:6px;font-size:9px;font-weight:850;display:grid}.match-form input,.match-form select,.set-editor input,.match-notes textarea{border:1px solid var(--line);min-height:42px;color:var(--ink);font:inherit;background:#fff;border-radius:10px;padding:0 10px}.match-form-wide{grid-column:span 2}.match-form label:has(.score-input){grid-template-columns:1fr 1fr;display:grid}.match-form label:has(.score-input):first-line{grid-column:1/-1}.set-editor{border-top:1px solid var(--line);gap:8px;margin-top:20px;padding-top:17px;display:grid}.set-editor>b{margin-bottom:2px}.set-editor>div{grid-template-columns:60px 1fr 20px 1fr;align-items:center;gap:8px;display:grid}.set-editor>div span{color:var(--muted);font-size:10px;font-weight:800}.set-editor input{text-align:center}.match-notes{margin-top:17px}.match-notes textarea{resize:vertical;min-height:78px;padding:10px}.attendance-table .match-column{background:#f5f0ff}.match-attendance{border-left:5px solid #7651c9}@media (width<=900px){.callup-roster{grid-template-columns:repeat(2,1fr)}}@media (width<=700px){.match-main{grid-template-columns:74px 1fr;gap:13px;padding:18px 16px}.match-date{padding-right:12px}.match-info h2{font-size:18px}.callup-summary,.callup-roster,.athlete-callup{padding-left:16px;padding-right:16px}.callup-roster,.match-form{grid-template-columns:1fr 1fr}.match-form-wide{grid-column:1/-1}.athlete-callup{flex-direction:column;align-items:flex-start}.athlete-callup .availability-actions{width:100%}.athlete-callup .availability-actions button{flex:1}.ride-actions>div{grid-template-columns:1fr;display:grid}.ride-actions button,.ride-actions select{width:100%}.ride-summary{grid-template-columns:1fr;padding-left:16px;padding-right:16px}}.callup-roster button.unavailable{opacity:1;cursor:not-allowed}.callup-roster button.unavailable span{color:var(--danger)}.callup-roster button.add-guest-athlete{color:#6244aa;background:#faf8ff;border:1.5px dashed #7651c9}.callup-roster button.add-guest-athlete span{white-space:normal;align-items:center;gap:5px;display:flex}.callup-roster button.add-guest-athlete span b{font-size:16px}.callup-roster button.guest-called{border-style:dashed}.callup-roster button.guest-called span{display:grid}.callup-roster button.guest-called span em{color:#7651c9;font-size:8px;font-style:normal}.guest-athlete-modal{width:min(620px,100vw - 24px)}.guest-athlete-search{border:1px solid var(--line);background:var(--surface);min-height:46px;color:var(--muted);border-radius:12px;align-items:center;gap:10px;margin:16px 0 8px;padding:0 13px;display:flex}.guest-athlete-search input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;flex:1}.guest-selection-summary{color:var(--blue);margin-bottom:12px;font-size:12px;font-weight:800}.guest-team-group{border:1px solid var(--line);background:var(--surface);border-radius:13px;margin-top:9px;overflow:hidden}.guest-team-group summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;font-weight:800;display:flex}.guest-team-group summary small{color:var(--muted);font-size:11px}.guest-team-athletes{grid-template-columns:1fr 1fr;gap:7px;padding:0 12px 12px;display:grid}.guest-athlete-row{background:var(--panel);cursor:pointer;border-radius:10px;align-items:center;gap:9px;min-height:42px;padding:9px 11px;display:flex}.guest-athlete-row input{width:18px;height:18px;accent-color:var(--blue)}.guest-athlete-row span{font-size:13px;font-weight:700}.guest-athlete-content{gap:13px;padding:18px 22px;display:grid}.guest-athlete-content>input{border:1px solid var(--line);background:var(--surface);width:100%;min-height:44px;color:var(--ink);border-radius:11px;padding:0 13px}.guest-athlete-list{grid-template-columns:1fr 1fr;gap:8px;max-height:52vh;display:grid;overflow:auto}.guest-athlete-list>button{border:1px solid var(--line);background:var(--surface);color:var(--ink);text-align:left;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.guest-athlete-list>button>span{gap:3px;display:grid}.guest-athlete-list>button small{color:var(--muted)}.guest-athlete-list>button em{color:#7651c9;font-size:9px;font-style:normal;font-weight:850}.guest-athlete-list>button.selected{background:#f2edff;border-color:#7651c9}html[data-theme=dark] .callup-roster button.add-guest-athlete{background:#17152a}html[data-theme=dark] .guest-athlete-list>button.selected{background:#27203e}@media (width<=600px){.guest-athlete-content{padding:14px}.guest-athlete-list,.guest-team-athletes{grid-template-columns:1fr}.guest-athlete-modal .modal-head p{font-size:10px}}.communication-composer{grid-template-columns:220px 1fr;gap:22px;margin-bottom:17px;padding:22px;display:grid}.communication-composer h2{margin:6px 0 0;font-size:22px}.communication-fields{grid-template-columns:1fr 1fr;gap:11px;display:grid}.communication-fields label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;gap:6px;font-size:9px;font-weight:850;display:grid}.communication-fields input,.communication-fields select,.communication-fields textarea{border:1px solid var(--line);width:100%;min-height:42px;color:var(--ink);font:inherit;background:#fff;border-radius:10px;padding:0 10px}.communication-fields textarea{resize:vertical;min-height:92px;padding:10px}.communication-wide{grid-column:1/-1}.composer-actions{grid-column:2;justify-content:flex-end;display:flex}.communication-list{gap:11px;display:grid}.communication-card{text-align:left;width:100%;color:var(--ink);border-left:5px solid #9aa8b7;padding:18px 20px;position:relative}.communication-card.unread{box-shadow:0 12px 30px #1056d21a}.communication-card.read{opacity:.76}.communication-card.important{border-left-color:#e5a531}.communication-card.urgent{border-left-color:var(--danger)}.communication-priority{color:#596979;text-transform:uppercase;letter-spacing:.08em;background:#eef2f6;border-radius:6px;margin-bottom:8px;padding:4px 7px;font-size:8px;font-weight:900;display:inline-flex}.communication-card.important .communication-priority{color:#8d6000;background:#fff1cf}.communication-card.urgent .communication-priority{color:#a52a25;background:#ffe3e0}.communication-card h3{margin:0 0 6px;font-size:17px}.communication-card p{color:var(--muted);white-space:pre-wrap;margin:0;line-height:1.55}.communication-card footer{color:var(--muted);justify-content:space-between;gap:14px;margin-top:13px;font-size:9px;font-weight:750;display:flex}.organization-list{gap:16px;display:grid}.organization-card{overflow:hidden}.organization-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;display:flex}.organization-head>div{align-items:center;gap:13px;display:flex}.organization-head h2{margin:3px 0 0;font-size:21px}.organization-teams{gap:0;display:grid}.organization-team{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:15px 22px;display:flex}.organization-team:last-child{border-bottom:0}.organization-team>div:first-child b,.organization-team>div:first-child span{display:block}.organization-team>div:first-child span{color:var(--muted);margin-top:3px;font-size:10px}.organization-team>div:last-child{gap:18px;display:flex}.organization-team>div:last-child span{color:var(--muted);font-size:10px}.organization-team strong{color:var(--ink);margin-right:3px;font-size:15px}@media (width<=700px){.communication-composer,.communication-fields{grid-template-columns:1fr}.communication-wide,.composer-actions{grid-column:auto}.composer-actions .btn{width:100%}.organization-head{flex-direction:column;align-items:flex-start}.organization-head .btn{width:100%}.organization-team{flex-direction:column;align-items:flex-start}.organization-team>div:last-child{justify-content:space-between;width:100%}}.organization-team-meta{align-items:center}.team-order-buttons{gap:6px;display:flex}.team-order-buttons button{border:1px solid var(--line);width:38px;height:38px;color:var(--blue);background:#f5f8fc;border-radius:10px;place-items:center;font-size:18px;font-weight:900;display:grid}.team-order-buttons button svg{width:16px;height:16px}.team-order-buttons button:disabled{opacity:.3}.admin-context-switch{border-left:1px solid var(--line);align-items:center;gap:7px;margin-left:14px;padding-left:14px;display:flex}.admin-context-switch label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:5px;font-size:8px;font-weight:850;display:flex}.admin-context-switch select{border:1px solid var(--line);max-width:180px;height:34px;color:var(--ink);font:inherit;text-transform:none;letter-spacing:normal;background:#fff;border-radius:9px;padding:0 28px 0 9px;font-size:10px;font-weight:750}.top-context,.top-context>div:nth-child(2){min-width:0}@media (width<=1000px){.admin-context-switch{margin-left:8px;padding-left:8px}.admin-context-switch label{font-size:0}.admin-context-switch select{max-width:135px}}@media (width<=700px){.topbar{height:auto;min-height:64px;padding-top:8px;padding-bottom:8px}.top-context{align-items:flex-start}.admin-context-switch{border-left:0;border-top:1px solid var(--line);background:var(--surface);margin:0;padding:8px 0 0;position:absolute;top:62px;left:14px;right:14px}.admin-context-switch label{flex:1}.admin-context-switch select{width:100%;max-width:none}.main:has(.admin-context-switch) .content{padding-top:72px}}.calendar-events{gap:18px;padding:12px 10px}.event{box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;padding:0!important}.event.editable:hover{box-shadow:none!important;background:0 0!important}.event-time{gap:2px;line-height:1.35;display:grid}.event-time span{display:block}.event-title{margin-top:7px}.event-blocks{margin-top:9px}.event-edit{border-bottom:1px solid;margin-top:9px;padding-bottom:2px;display:inline-flex}.autosave-state.locked{color:#536171;background:#e9edf2}.availability-area{gap:8px;min-width:310px;display:grid}.absence-reason{width:100%;height:39px;color:var(--ink);font:inherit;background:#fff8f7;border:1px solid #f0c2be;border-radius:10px;padding:0 11px;font-size:11px}.absence-reason:focus{border-color:var(--danger);outline:0;box-shadow:0 0 0 3px #c641391a}.pending-alert{color:#7a5b13;background:#fff8e8;border:1px solid #f0d7a0;border-radius:13px;align-items:center;gap:11px;margin:0 0 14px;padding:13px 15px;display:flex}.pending-alert svg{width:19px;height:19px}.pending-alert b,.pending-alert span{display:block}.pending-alert b{font-size:12px}.pending-alert span{margin-top:2px;font-size:10px}.attendance-table td{position:relative}.reason-dot{width:14px;height:14px;color:var(--danger);background:#fff0ef;border-radius:50%;place-items:center;font-size:8px;font-weight:900;display:grid;position:absolute;top:6px;right:6px}.attendance-lower{grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:14px;margin-top:14px;display:grid}.attendance-history{overflow:hidden}.period-switch{background:#edf1f6;border-radius:10px;padding:3px;display:flex}.period-switch button{height:30px;color:var(--muted);background:0 0;border:0;border-radius:8px;padding:0 10px;font-size:9px;font-weight:800}.period-switch button.active{color:var(--blue);background:#fff;box-shadow:0 2px 6px #071c3614}.history-list{gap:11px;padding:3px 18px 18px;display:grid}.history-row{grid-template-columns:minmax(120px,1fr) minmax(90px,1.4fr) 42px 34px;align-items:center;gap:10px;font-size:10px;display:grid}.history-row>span{font-weight:750}.history-row>div{background:#edf1f5;border-radius:8px;height:6px;overflow:hidden}.history-row i{border-radius:inherit;background:var(--blue);height:100%;display:block}.history-row b{text-align:right;color:var(--blue)}.history-row small{color:var(--muted);text-align:right}.absence-list{overflow:hidden}.absence-list>div:last-child{padding:0 18px 18px}.absence-item{border-bottom:1px solid #edf1f5;gap:2px;padding:10px 0;display:grid}.absence-item:last-child{border-bottom:0}.absence-item b{font-size:11px}.absence-item span{color:var(--muted);font-size:10px}.presence:disabled,.availability-actions button:disabled{cursor:not-allowed;opacity:.65}@media (width<=760px){.availability-area{min-width:0}.attendance-lower{grid-template-columns:1fr}.history-row{grid-template-columns:minmax(95px,1fr) minmax(65px,1fr) 38px}.history-row small{display:none}}.mobile-menu-backdrop,.mobile-menu-sheet{display:none}.block-color-list{gap:8px;max-height:300px;margin:12px 0;padding-right:3px;display:grid;overflow:auto}.block-color-row{grid-template-columns:38px minmax(0,1fr) 34px;align-items:center;gap:8px;display:grid}.block-color-row input[type=color],.block-add input[type=color]{border:1px solid var(--line);background:#fff;border-radius:10px;width:38px;height:38px;padding:3px}.block-color-row>span{text-overflow:ellipsis;white-space:nowrap;border-radius:10px;min-width:0;padding:9px 11px;font-size:11px;font-weight:850;overflow:hidden}.block-color-row>button{width:34px;height:34px;color:var(--danger);background:#fff0ef;border:0;border-radius:10px;font-size:18px}.block-add{grid-template-columns:minmax(0,1fr) 42px auto;align-items:center;gap:8px;display:grid}.block-add>input:first-child{border:1px solid var(--line);width:100%;height:44px;font:inherit;border-radius:12px;padding:0 12px}.block-add label{place-items:center;display:grid}@media (width<=760px){html{scroll-padding-bottom:92px}body{font-size:15px}.app-shell{width:100%;overflow-x:hidden}.main{width:100%}.topbar{gap:8px;min-height:66px;padding:9px 12px;box-shadow:0 4px 18px #071c360a}.top-context{flex:1;gap:9px;min-width:0}.club-logo{flex:0 0 38px;width:38px;height:38px}.context-title{max-width:42vw;font-size:13px}.context-sub{white-space:nowrap;text-overflow:ellipsis;max-width:46vw;font-size:10px;overflow:hidden}.top-actions{gap:5px}.top-actions .icon-button{width:40px;height:40px}.avatar{width:38px;height:38px}.admin-context-switch{background:#fffffff7;gap:8px;padding:8px 12px;top:65px;left:0;right:0;box-shadow:0 6px 14px #071c360d}.admin-context-switch label{min-width:0}.admin-context-switch select{border-radius:11px;height:40px;font-size:11px}.main:has(.admin-context-switch) .content{padding-top:72px}.content{width:100%;padding:20px 12px calc(104px + env(safe-area-inset-bottom))}.page-heading{gap:12px;margin-bottom:16px}.page-heading h1{margin:4px 0;font-size:27px;line-height:1.08}.lead{font-size:13px;line-height:1.45}.eyebrow{font-size:10px}.button-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid}.page-heading .btn{width:100%;min-width:0;padding:0 10px}.btn{border-radius:13px;min-height:46px}.btn.small{min-height:40px}.card{border-radius:17px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}.stat-card{min-height:112px;padding:13px}.stat-top{font-size:10px}.stat-icon{width:31px;height:31px}.stat-value{margin-top:8px;font-size:24px}.stat-note{line-height:1.25}.dashboard-grid,.section-stack{gap:12px}.next-session .card-header{padding:16px}.session-content{padding:16px;display:block}.date-block{text-align:left;justify-content:flex-start;align-items:center;gap:7px;width:100%;margin-bottom:14px;padding:10px 12px;display:flex}.date-number{margin:0;font-size:24px}.date-month,.date-day{font-size:10px}.session-title{font-size:19px}.session-segments{scrollbar-width:none;flex-wrap:nowrap;margin:14px -2px 0;padding:0 2px 5px;display:flex;overflow-x:auto}.session-segment{flex:none}.session-actions .btn{width:100%}.week-strip{gap:1px;padding:9px 6px}.day-chip{padding:8px 1px}.day-name{font-size:8px}.day-num{font-size:15px}.quick-list{padding:5px 7px 9px}.quick-item{min-height:56px;padding:9px}.quick-copy span{line-height:1.25}.toolbar{gap:8px;padding:10px}.program-summary,.attendance-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.program-summary article,.attendance-kpis article{padding:12px}.program-summary b,.attendance-kpis b{font-size:18px}.calendar-card{border-left:0;border-right:0;border-radius:0;margin:12px -12px 0}.calendar-grid{scroll-snap-type:x mandatory;scrollbar-width:none;grid-template-columns:none;grid-auto-columns:100vw;grid-auto-flow:column;display:grid;overflow-x:auto}.calendar-day{scroll-snap-align:start;border-right:0;width:100vw;min-height:calc(100vh - 330px)}.calendar-day-head{border-bottom:1px solid var(--line);padding:14px 16px;position:sticky;left:0}.calendar-events{padding:12px 16px 24px}.event{border-radius:7px 13px 13px 7px;padding:13px 12px}.event-time{font-size:11px}.event-title{font-size:14px}.event-meta{font-size:11px}.event-blocks .training-block{padding:8px;font-size:10px}.day-add{flex-basis:34px;width:34px;height:34px}.modal-backdrop{align-items:end;padding:0}.training-modal{width:100%;max-height:96dvh;padding:18px 14px calc(18px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0}.modal-head{z-index:2;background:#fff;padding:10px 0;position:sticky;top:-18px}.training-form,.match-form,.person-form{grid-template-columns:1fr}.training-form input,.training-form select,.person-form input,.person-form select,.match-form input,.match-form select{min-height:48px;font-size:16px}.block-row{grid-template-columns:minmax(0,1fr) 66px 20px}.block-order-actions{grid-column:1/-1;justify-content:flex-end}.block-import-row{grid-template-columns:1fr}.block-row input{font-size:15px}.blocks-head{align-items:center}.blocks-head span{display:none}.modal-actions{padding-bottom:calc(6px + env(safe-area-inset-bottom));background:#fff;grid-template-columns:1fr 1fr;position:sticky;bottom:-18px}.modal-actions .btn{min-height:48px}.workout-summary{margin:0;padding:17px}.workout-summary h2{font-size:22px}.workout-badge{width:76px;height:76px;top:16px;right:14px}.weights-fields{grid-template-columns:1fr 1fr;gap:8px}.weights-fields input,.weights-fields select{min-height:46px;font-size:16px}.athlete-picker{scroll-snap-type:x proximity;margin:0 -12px;padding:0 12px}.athlete-picker button{scroll-snap-align:start;min-height:42px}.exercise-grid.operational{grid-template-columns:1fr}.exercise-card{padding:15px}.load-input{min-height:48px;font-size:17px}.athlete-attendance-card{padding:16px}.availability-actions{width:100%}.availability-actions button{min-height:46px}.absence-reason{height:46px;font-size:16px}.attendance-table-wrap,.people-table-wrap{scrollbar-width:thin;margin-left:-12px;margin-right:-12px;padding-left:12px;overflow-x:auto}.attendance-table,.people-table{scroll-snap-type:x proximity}.attendance-lower{gap:10px}.history-list{padding:3px 13px 14px}.match-main{padding:17px;display:block}.match-date{border-right:0;border-bottom:1px solid var(--line);justify-content:flex-start;gap:7px;margin-bottom:12px;padding:0 0 12px;display:flex}.match-date b{font-size:18px}.match-info h2{font-size:20px}.callup-summary{gap:9px}.callup-summary .btn{width:100%;margin:4px 0 0}.callup-roster{grid-template-columns:1fr}.athlete-callup{padding:14px}.set-editor>div{grid-template-columns:52px 1fr 18px 1fr}.communication-composer{gap:16px;padding:17px}.communication-fields input,.communication-fields select,.communication-fields textarea{min-height:48px;font-size:16px}.communication-card{padding:16px}.communication-card footer{flex-direction:column;align-items:flex-start;gap:4px}.organization-card{border-radius:16px}.organization-head{padding:17px}.organization-team{padding:15px 17px}.people-stats{gap:8px}.people-stat{padding:14px}.new-athlete-row{grid-template-columns:1fr 70px}.new-athlete-row input,.new-athlete-row select{min-height:46px;font-size:16px}.settings-card{padding:16px}.settings-card-head{margin-bottom:16px}.settings-card-head h2{font-size:19px}.settings-logo{width:58px;height:58px}.settings-fields input,.season-fields input,.tag-add input{height:48px;font-size:16px}.tag-add{grid-template-columns:minmax(0,1fr) auto;display:grid}.tag-editor{max-height:210px;overflow:auto}.technical-settings{gap:22px}.mobile-nav{padding:7px 7px calc(7px + env(safe-area-inset-bottom));background:#071c36fa;border-bottom:0;border-left:0;border-right:0;border-radius:18px 18px 0 0;grid-template-columns:repeat(5,1fr);bottom:0;left:0;right:0}.mobile-nav button{border-radius:12px;min-width:0;height:56px;font-size:9px}.mobile-nav button.active{color:#fff;background:#ffffff1f}.mobile-nav svg{width:20px;height:20px}.mobile-menu-backdrop{z-index:70;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0412237a;align-items:flex-end;display:flex;position:fixed;inset:0}.mobile-menu-sheet{width:100%;max-height:82dvh;padding:8px 14px calc(92px + env(safe-area-inset-bottom));background:#fff;border-radius:24px 24px 0 0;display:block;overflow:auto;box-shadow:0 -20px 60px #03122640}.mobile-menu-handle{background:#d7dee8;border-radius:99px;width:42px;height:5px;margin:2px auto 12px}.mobile-menu-head{justify-content:space-between;align-items:center;padding:2px 2px 14px;display:flex}.mobile-menu-head span,.mobile-menu-head b{display:block}.mobile-menu-head span{color:var(--blue);text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:850}.mobile-menu-head b{margin-top:2px;font-size:24px}.mobile-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.mobile-menu-grid button{border:1px solid var(--line);min-height:82px;color:var(--ink);text-align:left;background:#f8fafc;border-radius:15px;flex-direction:column;justify-content:center;align-items:flex-start;gap:9px;padding:14px;font-weight:780;display:flex}.mobile-menu-grid button.active{background:var(--blue-soft);color:var(--blue);border-color:#bfd3fa}.mobile-menu-grid svg{width:22px;height:22px}}@media (width<=390px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{min-height:108px}.session-content{display:block}.settings-card-head{gap:10px}.mobile-menu-grid{gap:7px}}@media (width<=760px){.block-color-list{max-height:none}.block-add{grid-template-columns:minmax(0,1fr) 46px}.block-add .btn{grid-column:1/-1}.block-add>input:first-child{height:48px;font-size:16px}.block-color-row{grid-template-columns:42px minmax(0,1fr) 38px}.block-color-row input[type=color],.block-add input[type=color]{width:42px;height:42px}}.report-kpis{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px;display:grid}.report-kpis article{padding:18px}.report-kpis span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:850;display:block}.report-kpis b{margin-top:7px;font-size:25px;display:block}.report-table-card{overflow:hidden}.report-table-wrap{overflow:auto}.report-table{border-collapse:collapse;width:100%;min-width:950px}.report-table th,.report-table td{text-align:center;border-bottom:1px solid #edf1f5;padding:13px 12px;font-size:11px}.report-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;background:#f8fafc;font-size:9px}.report-table th:first-child,.report-table td:first-child{text-align:left;z-index:2;background:#fff;min-width:170px;position:sticky;left:0}.report-table th:first-child{background:#f8fafc}.report-rate{color:#14714e;background:#e8f6ef;border-radius:999px;justify-content:center;min-width:48px;padding:5px 8px;font-weight:850;display:inline-flex}.report-rate.low{color:#aa332b;background:#fff0ef}.season-archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.season-archive-card{overflow:hidden}.season-archive-card header{background:var(--ink);color:#fff;justify-content:space-between;gap:15px;padding:20px;display:flex}.season-archive-card.active header{background:var(--blue)}.season-archive-card header span{text-transform:uppercase;letter-spacing:.09em;color:#b5c5d7;font-size:9px}.season-archive-card header h2{margin:6px 0 3px;font-size:19px}.season-archive-card header p{color:#b5c5d7;margin:0;font-size:11px}.season-archive-card header>b{white-space:nowrap;font-size:13px}.season-archive-card>div{grid-template-columns:repeat(4,1fr);padding:15px;display:grid}.season-archive-card>div span{text-align:center;color:var(--muted);font-size:9px}.season-archive-card>div b{color:var(--ink);margin-bottom:3px;font-size:17px;display:block}.documents-grid{gap:10px;display:grid}.document-card{grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:14px;padding:15px 17px;display:grid}.document-icon{background:var(--blue-soft);width:44px;height:44px;color:var(--blue);border-radius:13px;place-items:center;display:grid}.document-icon svg{width:20px;height:20px}.document-card h3{overflow-wrap:anywhere;margin:0 0 4px;font-size:14px}.document-card p,.document-card small{color:var(--muted);margin:0;font-size:10px}.document-card small{margin-top:3px;display:block}.document-actions{align-items:center;gap:7px;display:flex}.document-visibility-editor{border-top:1px solid var(--line);grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:8px;padding-top:12px;display:grid}.document-visibility-editor label{color:var(--muted);gap:5px;font-size:10px;font-weight:800;display:grid}.document-visibility-editor select{border:1px solid var(--line);background:var(--panel);min-width:0;min-height:38px;color:var(--ink);border-radius:9px;padding:0 9px}.document-delete{width:34px;height:34px;color:var(--danger)}.document-upload{position:relative;overflow:hidden}.document-upload input{opacity:0;cursor:pointer;position:absolute;inset:0}.library-tabs{border:1px solid var(--line);background:#e9eef5;border-radius:14px;gap:5px;margin-bottom:18px;padding:5px;display:inline-flex}.library-tabs button{min-height:38px;color:var(--muted);background:0 0;border:0;border-radius:10px;padding:0 15px;font-weight:800}.library-tabs button.active{color:var(--ink);background:#fff;box-shadow:0 3px 10px #071c3614}.library-tabs b{background:var(--blue-soft);min-width:20px;height:20px;color:var(--blue);border-radius:999px;place-items:center;margin-left:5px;font-size:9px;display:inline-grid}.library-upload-bar{justify-content:flex-end;align-items:end;gap:10px;margin-bottom:12px;padding:13px;display:flex}.library-upload-bar>label:first-child,.video-form label{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;gap:6px;font-size:9px;font-weight:850;display:grid}.library-upload-bar select,.video-form input,.video-form select{border:1px solid var(--line);height:42px;color:var(--ink);font:inherit;text-transform:none;letter-spacing:normal;background:#fff;border-radius:11px;padding:0 11px}.video-form{grid-template-columns:1.3fr 1fr .8fr 1.5fr 1fr auto;align-items:end;gap:10px;margin-bottom:14px;padding:15px;display:grid}.video-grid{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.video-card{grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;display:grid}.video-play{color:#fff;background:#e82b2b;border-radius:16px;place-items:center;width:52px;height:52px;padding-left:3px;display:grid}.video-card span{color:var(--blue);text-transform:uppercase;letter-spacing:.07em;font-size:9px;font-weight:850}.video-card h3{text-overflow:ellipsis;white-space:nowrap;margin:4px 0;font-size:15px;overflow:hidden}.video-card p{color:var(--muted);margin:0;font-size:10px}.video-card>div:last-child{align-items:center;gap:7px;display:flex}.video-card a{text-decoration:none}.video-title-editor{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;width:100%;margin:4px 0;display:grid}.video-title-editor input{border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;height:38px;color:var(--ink);font:inherit;border-radius:10px;padding:0 10px}@media (width<=760px){.report-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.report-kpis article{padding:14px}.report-kpis b{font-size:21px}.season-archive-grid{grid-template-columns:1fr}.season-archive-card>div{grid-template-columns:repeat(2,1fr);gap:14px}.document-card{grid-template-columns:40px minmax(0,1fr);padding:13px}.document-icon{width:40px;height:40px}.document-actions{grid-column:1/-1;grid-template-columns:1fr 1fr 38px;display:grid}.document-actions .btn{width:100%}.document-visibility-editor{grid-template-columns:1fr 1fr}.document-visibility-editor label{grid-column:1/-1}.document-upload{width:100%}.library-tabs{grid-template-columns:1fr 1fr;width:100%;display:grid}.library-upload-bar{flex-direction:column;align-items:stretch}.library-upload-bar select{width:100%;font-size:16px}.video-form{grid-template-columns:1fr}.video-form input,.video-form select{font-size:16px}.video-grid{grid-template-columns:1fr}.video-card{grid-template-columns:48px minmax(0,1fr);padding:13px}.video-play{border-radius:14px;width:46px;height:46px}.video-card>div:last-child{grid-column:1/-1;grid-template-columns:1fr 38px;display:grid}.video-card>div:last-child .btn{width:100%}.video-title-editor{grid-template-columns:1fr 1fr}.video-title-editor input{grid-column:1/-1}.topbar{gap:8px}.top-actions{gap:5px}.content{overflow-x:hidden}.btn,.nav-item,.mobile-nav button{touch-action:manipulation}.training-modal input,.training-modal select,.training-modal textarea,.person-form input,.person-form select,.weights-fields input,.weights-fields select{font-size:16px}}.program-summary article small{color:var(--muted);margin-top:.35rem;font-size:.78rem;display:block}.activity-choice-grid{grid-template-columns:1fr 1fr;gap:16px;padding:22px;display:grid}.activity-choice{border:1px solid var(--line);min-height:170px;color:var(--ink);text-align:left;cursor:pointer;background:#f7f9fd;border-radius:18px;flex-direction:column;justify-content:center;align-items:flex-start;gap:10px;padding:24px;display:flex}.activity-choice:hover{border-color:var(--blue);box-shadow:0 10px 28px #071c361a}.activity-choice svg{width:30px;height:30px;color:var(--blue)}.activity-choice b{font-size:1.15rem}.activity-choice span{color:var(--muted);line-height:1.45}.activity-choice.match-choice{background:#f3edff;border-color:#d9c7ff}.activity-choice.match-choice svg,.match-title{color:#7c3aed}.event-opponent{color:var(--ink);margin:.35rem 0;font-size:1rem;font-weight:800}.event:disabled{opacity:1;cursor:default}.match-title{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}@media (width<=700px){.activity-choice-grid{grid-template-columns:1fr;padding:16px}.activity-choice{min-height:120px}.program-summary article small{font-size:.7rem}.month-session>b{white-space:normal;overflow-wrap:normal;word-break:normal;line-height:1.35}}.numeric-load{grid-template-columns:1fr!important}.numeric-load input{text-align:center}.load-field input[type=number]{font-variant-numeric:tabular-nums}.absence-item.grouped{gap:8px}.absence-period{justify-content:space-between;align-items:center;gap:10px;display:flex}.absence-period small{color:var(--danger);font-weight:800}.absence-reason-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.absence-reason-row span{flex:1}.reason-edit-button{border:1px solid var(--line);width:28px;height:28px;color:var(--blue);cursor:pointer;background:#fff;border-radius:8px;flex:0 0 28px;place-items:center;display:grid}.reason-edit-button svg{width:14px;height:14px}.absence-edit-row{grid-template-columns:minmax(0,1fr) auto auto;gap:6px;display:grid}.absence-edit-row input{border:1px solid var(--line);min-height:38px;font:inherit;border-radius:9px;padding:0 10px}.absence-empty{color:var(--muted);padding:12px 0;font-size:11px}@media (width<=760px){.planning-tabs{width:100%}.planning-tabs button{flex:1;padding:0 8px}.month-planner{overflow-x:auto}.month-weekdays,.month-grid{min-width:840px}.month-day{min-height:135px}.weight-progression{grid-template-columns:1fr}.weight-week{padding:14px}}@media (width<=700px){.absence-edit-row{grid-template-columns:1fr 1fr}.absence-edit-row input{grid-column:1/-1}.absence-period{flex-direction:column;align-items:flex-start;gap:2px}}.load-field{position:relative}.load-field .load-unit{color:var(--muted);text-transform:none;letter-spacing:normal;font-size:10px;position:absolute;bottom:13px;right:12px}.load-field input[type=number]{padding-right:34px}.day-chip.match .day-dot{background:#7651c9;box-shadow:0 0 0 4px #7651c924}.stat-value.compact{white-space:nowrap;letter-spacing:-.04em;font-size:clamp(16px,2.1vw,31px)}@media (width<=700px){.stat-value.compact{font-size:clamp(14px,4.2vw,20px)}}.energy-card{gap:10px}.energy-card .stat-top>span:last-child{color:var(--muted);font-size:8px;font-weight:750}.energy-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.energy-options button{min-width:0;color:var(--muted);font:inherit;cursor:pointer;background:#f4f6f8;border:2px solid #0000;border-radius:10px;justify-items:center;gap:4px;padding:7px 3px;display:grid}.energy-options button i{border-radius:7px;width:20px;height:20px}.energy-options button span{font-size:8px;font-weight:800}.energy-options .green i{background:#28b779}.energy-options .yellow i{background:#f0ba2b}.energy-options .red i{background:#e14c47}.energy-options button.selected{border-color:var(--ink);background:#fff;box-shadow:0 4px 12px #071c361a}.energy-options button:disabled{cursor:wait}.energy-card .stat-note{margin-top:0}@media (width<=700px){.energy-card{padding:13px}.energy-options{gap:4px}.energy-options button{padding:6px 2px}.energy-options button i{width:18px;height:18px}.energy-options button span{font-size:7px}}.energy-pill{border-radius:999px;align-items:center;padding:5px 8px;font-size:8px;font-weight:850;display:inline-flex}.energy-pill.green{color:#13734b;background:#dff6eb}.energy-pill.yellow{color:#8a6400;background:#fff3c9}.energy-pill.red{color:#a52d29;background:#ffe2df}.badge-gallery{margin-top:18px;padding:22px;overflow:hidden}.badge-gallery-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.badge-gallery-head h2{margin:4px 0;font-size:22px}.badge-gallery-head p{color:var(--muted);margin:0;font-size:11px}.badge-gallery-head>span{background:var(--blue-soft);min-width:48px;height:34px;color:var(--blue);border-radius:999px;place-items:center;font-size:11px;font-weight:900;display:grid}.badge-strip{grid-template-columns:repeat(6,minmax(100px,1fr));gap:12px;margin-top:20px;display:grid}.athlete-badge{color:var(--ink);text-align:center;background:0 0;border:0;justify-items:center;gap:7px;padding:3px;display:grid}.athlete-badge b{font-size:10px;line-height:1.2}.athlete-badge em{color:var(--muted);font-size:8px;font-style:normal;font-weight:750}.badge-medallion,.badge-detail-medallion{--badge-main:#8f6039;--badge-light:#e3b27a;filter:drop-shadow(0 7px 8px #071c3624);place-items:center;width:74px;height:82px;display:grid;position:relative}.badge-medallion:before,.badge-detail-medallion:before{content:"";background:linear-gradient(145deg, var(--badge-light), var(--badge-main));clip-path:polygon(50% 0,88% 18%,100% 58%,75% 100%,25% 100%,0 58%,12% 18%);width:68px;height:68px;position:absolute}.badge-medallion:after,.badge-detail-medallion:after{content:"";background:#ffffff1f;border:2px solid #ffffffa6;border-radius:50%;width:52px;height:52px;position:absolute}.badge-medallion i,.badge-detail-medallion i{z-index:1;color:#fff;font-size:27px;font-style:normal;font-weight:950;position:relative}.badge-medallion small{z-index:2;background:var(--badge-main);color:#fff;border:2px solid #fff;border-radius:50%;place-items:center;width:23px;height:23px;font-size:8px;font-weight:950;display:grid;position:absolute;bottom:4px;right:1px}.athlete-badge.silver .badge-medallion,.badge-detail-medallion.silver{--badge-main:#7e8996;--badge-light:#dce4eb}.athlete-badge.gold .badge-medallion,.badge-detail-medallion.gold{--badge-main:#c38a12;--badge-light:#ffdc6d}.athlete-badge.locked .badge-medallion,.badge-detail-medallion.locked{--badge-main:#aab1bb;--badge-light:#dfe3e8;filter:none;opacity:.62}.athlete-badge:focus-visible .badge-medallion,.athlete-badge:hover .badge-medallion{transition:all .16s;transform:translateY(-3px)}.badge-modal{text-align:center;justify-items:center;max-width:390px;padding:30px;display:grid}.badge-close{position:absolute;top:18px;right:18px}.badge-detail-medallion{width:108px;height:118px;margin:5px 0 12px}.badge-detail-medallion:before{width:100px;height:100px}.badge-detail-medallion:after{width:76px;height:76px}.badge-detail-medallion i{font-size:40px}.badge-modal h2{margin:6px 0;font-size:26px}.badge-modal p{max-width:290px;color:var(--muted);font-size:12px;line-height:1.55}.badge-progress{background:#e9edf2;border-radius:99px;width:100%;height:9px;margin-top:8px;overflow:hidden}.badge-progress span{border-radius:inherit;background:linear-gradient(90deg, var(--blue), #54a4ff);height:100%;display:block}.badge-progress-copy{color:var(--muted);margin:8px 0 18px;font-size:10px}.badge-modal .btn{width:100%}@media (width<=760px){.badge-gallery{margin-top:12px;padding:17px 14px}.badge-strip{scroll-snap-type:x mandatory;scrollbar-width:none;gap:8px;margin:17px -14px -2px;padding:0 14px 8px;display:flex;overflow-x:auto}.athlete-badge{scroll-snap-align:start;flex:0 0 102px}.badge-medallion{width:66px;height:73px}.badge-medallion:before{width:61px;height:61px}.badge-medallion:after{width:46px;height:46px}.badge-medallion i{font-size:23px}.badge-gallery-head h2{font-size:20px}.badge-modal{padding:27px 18px calc(20px + env(safe-area-inset-bottom))}}.report-athlete-link{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;gap:3px;padding:0;display:grid}.report-athlete-link span{color:var(--blue);text-transform:uppercase;letter-spacing:.05em;font-size:8px;font-weight:850}.staff-athlete-modal{max-width:720px}.staff-athlete-modal .modal-head p{color:var(--muted);margin:5px 0 0;font-size:11px}.staff-athlete-kpis{grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0 10px;display:grid}.staff-athlete-kpis span{color:var(--muted);text-align:center;text-transform:uppercase;letter-spacing:.04em;background:#f5f7fa;border-radius:13px;padding:13px 8px;font-size:8px;font-weight:800}.staff-athlete-kpis b{color:var(--ink);letter-spacing:-.03em;margin-bottom:4px;font-size:20px;display:block}.staff-energy-summary{border:1px solid var(--line);border-radius:13px;align-items:center;gap:7px;padding:12px 14px;display:flex}.staff-energy-summary>b{margin-right:auto;font-size:11px}.staff-energy-summary span{border-radius:999px;padding:5px 8px;font-size:8px;font-weight:850}.staff-energy-summary .green{color:#13734b;background:#dff6eb}.staff-energy-summary .yellow{color:#8a6400;background:#fff3c9}.staff-energy-summary .red{color:#a52d29;background:#ffe2df}.staff-energy-history{border:1px solid var(--line);background:var(--panel);border-radius:14px;margin-top:12px;overflow:hidden}.staff-energy-history-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.staff-energy-history-head b{color:var(--ink);font-size:14px}.staff-energy-history-head span,.staff-energy-history>p{color:var(--muted);font-size:11px}.staff-energy-history>p{margin:0;padding:16px 14px}.staff-energy-history-list{max-height:260px;display:grid;overflow-y:auto}.staff-energy-history-list>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:10px 14px;display:flex}.staff-energy-history-list>div:last-child{border-bottom:0}.staff-energy-history-list time{min-width:0;color:var(--ink);text-transform:capitalize;font-size:12px;font-weight:700}.staff-badge-title{margin:20px 0 12px}.staff-badge-title b,.staff-badge-title span{display:block}.staff-badge-title b{font-size:16px}.staff-badge-title span{color:var(--muted);margin-top:3px;font-size:9px}.staff-badge-grid{grid-template-columns:1fr 1fr;gap:9px;display:grid}.staff-badge-row{border:1px solid var(--line);background:#fafbfd;border-radius:14px;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:9px;padding:10px;display:grid}.staff-badge-row>.badge-medallion{width:55px;height:61px}.staff-badge-row>.badge-medallion:before{width:51px;height:51px}.staff-badge-row>.badge-medallion:after{width:38px;height:38px}.staff-badge-row>.badge-medallion i{font-size:19px}.staff-badge-row>.badge-medallion small{width:19px;height:19px;font-size:7px}.staff-badge-row.silver .badge-medallion{--badge-main:#7e8996;--badge-light:#dce4eb}.staff-badge-row.gold .badge-medallion{--badge-main:#c38a12;--badge-light:#ffdc6d}.staff-badge-row.locked .badge-medallion{--badge-main:#aab1bb;--badge-light:#dfe3e8;filter:none;opacity:.62}.staff-badge-row>div>b,.staff-badge-row>div>small,.staff-badge-row>div>em{display:block}.staff-badge-row>div>b{font-size:10px}.staff-badge-row>div>small{color:var(--blue);margin-top:2px;font-size:8px;font-weight:850}.staff-badge-row>div>em{color:var(--muted);margin-top:4px;font-size:7px;font-style:normal}.staff-badge-row .badge-progress{height:5px;margin-top:7px}.staff-athlete-modal .modal-actions{grid-template-columns:1fr auto}@media (width<=700px){.staff-athlete-modal{padding:18px 14px calc(18px + env(safe-area-inset-bottom))}.staff-athlete-kpis{grid-template-columns:repeat(2,1fr)}.staff-energy-summary{text-align:center;grid-template-columns:repeat(3,1fr);display:grid}.staff-energy-summary>b{text-align:left;grid-column:1/-1;margin:0}.staff-badge-grid{grid-template-columns:1fr}.staff-badge-row{min-height:82px}.staff-athlete-modal .modal-actions{grid-template-columns:1fr}.report-table th:first-child,.report-table td:first-child{min-width:145px}}.manager-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.manager-kpis article{padding:18px}.manager-kpis span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:9px;font-weight:850;display:block}.manager-kpis b{margin-top:7px;font-size:27px;display:block}.manager-kpis .danger b{color:var(--danger)}.manager-grid{grid-template-columns:1.1fr .9fr;gap:14px;display:grid}.manager-grid article{padding:19px}.manager-grid h2{margin:0 0 14px;font-size:17px}.manager-team-row,.manager-absence-row{border-bottom:1px solid var(--line);align-items:center;gap:9px;padding:11px 0;display:grid}.manager-team-row{grid-template-columns:minmax(150px,1fr) repeat(3,auto)}.manager-team-row b,.manager-team-row small,.manager-absence-row b,.manager-absence-row small{display:block}.manager-team-row small,.manager-absence-row small{color:var(--muted);margin-top:3px;font-size:9px}.manager-team-row>span{color:var(--muted);background:#f1f4f8;border-radius:999px;padding:6px 8px;font-size:8px;font-weight:850}.manager-team-row .present{color:#13734b;background:#e2f6ec}.manager-team-row .absent{color:#a52d29;background:#ffe5e2}.manager-absence-row{grid-template-columns:minmax(0,1fr) auto}.manager-absence-row>div:last-child{text-align:right}.manager-empty{color:var(--muted);font-size:11px}.manager-tabs{background:#e9eef5;border-radius:13px;gap:5px;margin-bottom:16px;padding:5px;display:inline-flex}.manager-tabs button{min-height:39px;color:var(--muted);background:0 0;border:0;border-radius:9px;padding:0 16px;font-weight:800}.manager-tabs button.active{color:var(--blue);background:#fff;box-shadow:0 3px 10px #071c3614}.manager-filter{max-width:330px;color:var(--muted);text-transform:uppercase;gap:6px;margin-bottom:16px;font-size:9px;font-weight:850;display:grid}.manager-filter select{border:1px solid var(--line);height:45px;font:inherit;background:#fff;border-radius:12px;padding:0 12px}.manager-match-list{gap:10px;display:grid}.manager-match{grid-template-columns:86px minmax(0,1fr);align-items:center;padding:16px;display:grid}.manager-match time{border-right:1px solid var(--line);gap:4px;padding-right:14px;display:grid}.manager-match time b{text-transform:uppercase;font-size:18px}.manager-match time span{color:var(--muted);font-size:9px}.manager-match>div{padding-left:16px}.manager-match>div>span{color:var(--blue);text-transform:uppercase;font-size:9px;font-weight:850}.manager-match h2{margin:4px 0;font-size:16px}.manager-match p{color:var(--muted);margin:0;font-size:10px}@media (width<=760px){.manager-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.manager-kpis article{padding:14px}.manager-kpis b{font-size:22px}.manager-grid{grid-template-columns:1fr}.manager-team-row{grid-template-columns:minmax(0,1fr) auto auto}.manager-team-row>span:last-child{text-align:center;grid-column:1/-1}.manager-grid article{padding:14px}.manager-tabs{grid-template-columns:repeat(3,1fr);width:100%;display:grid}.manager-tabs button{padding:0 6px}.manager-filter{max-width:none}.manager-filter select{font-size:16px}.manager-match{grid-template-columns:68px minmax(0,1fr);padding:13px}.manager-match time b{font-size:15px}.manager-match>div{padding-left:12px}.manager-match h2{font-size:14px}.profile-role{font-size:8px}}.medical-card{margin-bottom:16px;padding:20px}.medical-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.medical-head>div>span{color:var(--blue);text-transform:uppercase;letter-spacing:.08em;font-size:9px;font-weight:850}.medical-head h2{margin:5px 0 3px;font-size:19px}.medical-head p{color:var(--muted);margin:0;font-size:10px}.medical-head>svg{color:#1b9b67;width:24px;height:24px}.medical-list{gap:8px;display:grid}.medical-row{border:1px solid var(--line);background:#fff;border-left:5px solid #24a66f;border-radius:13px;grid-template-columns:minmax(0,1fr) 190px 95px;align-items:center;gap:12px;padding:12px 14px;display:grid}.medical-row.warning{border-left-color:#e9a91c}.medical-row.expired{border-left-color:var(--danger);background:#fff8f7}.medical-row.missing{border-left-color:#aab4c2}.medical-row b,.medical-row small{display:block}.medical-row small{color:var(--muted);margin-top:3px;font-size:9px}.medical-row label{color:var(--muted);text-transform:uppercase;gap:4px;font-size:8px;font-weight:850;display:grid}.medical-row input{border:1px solid var(--line);height:40px;font:inherit;background:#fff;border-radius:10px;padding:0 9px}.medical-row>span{color:#13734b;background:#e4f6ed;border-radius:999px;justify-self:end;padding:6px 9px;font-size:8px;font-weight:850}.medical-row.warning>span{color:#8c6500;background:#fff2c8}.medical-row.expired>span{color:#a52d29;background:#ffe2df}.medical-row.missing>span{color:#667386;background:#edf0f4}@media (width<=760px){.medical-card{padding:14px}.medical-head{margin-bottom:11px}.medical-head h2{font-size:17px}.medical-row{grid-template-columns:minmax(0,1fr) auto;padding:11px}.medical-row label{grid-column:1/-1}.medical-row input{width:100%;font-size:16px}.medical-row>span{grid-area:1/2;align-self:start}.medical-head>svg{display:none}}.manager-kpis.home{grid-template-columns:repeat(3,minmax(0,1fr))}.manager-grid.home{grid-template-columns:.85fr 1.15fr}.manager-absence-group+.manager-absence-group{border-top:2px solid var(--line);margin-top:17px;padding-top:16px}.manager-absence-group h3{background:var(--blue-soft);color:var(--blue);border-radius:10px;justify-content:space-between;align-items:center;margin:0;padding:8px 10px;font-size:12px;display:flex}.manager-absence-group h3 span{background:var(--blue);color:#fff;border-radius:999px;place-items:center;min-width:23px;height:23px;font-size:9px;display:grid}.manager-grid.home .manager-team-row{grid-template-columns:minmax(150px,1fr) auto auto}@media (width<=760px){.manager-kpis.home{grid-template-columns:repeat(3,minmax(0,1fr))}.manager-kpis.home article{padding:12px 9px}.manager-kpis.home span{font-size:7px}.manager-kpis.home b{font-size:20px}.manager-grid.home{grid-template-columns:1fr}.manager-grid.home .manager-team-row{grid-template-columns:minmax(0,1fr) auto auto}.manager-grid.home .manager-team-row>span:last-child{text-align:left;grid-column:auto}.manager-absence-group h3{font-size:11px}.medical-card{min-width:0;overflow:hidden}.medical-head{display:block}.medical-row{grid-template-columns:minmax(0,1fr) max-content;gap:8px;min-width:0}.medical-row>div,.medical-row label{min-width:0}.medical-row label{width:100%}.medical-row input{box-sizing:border-box;min-width:0;max-width:100%;display:block}.medical-row>span{white-space:nowrap;max-width:100%;padding:5px 7px;font-size:7px}.medical-row{box-sizing:border-box;flex-direction:column;align-items:stretch;width:100%;display:flex}.medical-row>div{width:100%}.medical-row label{box-sizing:border-box;width:100%;display:block}.medical-row label input{box-sizing:border-box;width:100%;max-width:100%;margin-top:5px;display:block}.medical-row>span{box-sizing:border-box;place-self:flex-start;max-width:100%}.medical-card,.medical-list,.medical-row,.medical-row label{box-sizing:border-box;inline-size:100%;min-inline-size:0;max-inline-size:100%}.medical-row{contain:inline-size}.medical-row label{overflow:hidden}.medical-row input[type=date]{appearance:none;box-sizing:border-box;inline-size:100%;min-inline-size:0;max-inline-size:100%;width:100%;min-width:0;max-width:100%;margin:5px 0 0;padding:0 8px;display:block}.medical-row input[type=date]::-webkit-date-and-time-value{text-align:left;min-width:0}.medical-row input[type=date]::-webkit-calendar-picker-indicator{margin:0;padding:2px}}.match-videos-section{margin-top:24px}.match-videos-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.match-videos-head span{color:var(--blue);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:800;display:block}.match-videos-head h2{margin:3px 0 0;font-size:22px}.match-videos-head>b{background:var(--blue-soft);min-width:34px;height:34px;color:var(--blue);border-radius:999px;place-items:center;padding:0 10px;font-size:13px;display:grid}.manager-video-hint{color:var(--muted);margin-top:18px;padding:16px;font-size:12px}@media (width<=600px){.match-videos-section{margin-top:18px}.match-videos-head h2{font-size:18px}.match-videos-head>b{min-width:30px;height:30px}.manager-video-hint{margin-top:14px}}@media (width<=700px){.people-groups{gap:20px}.people-organization>header h2{font-size:19px}.people-unified-row{grid-template-columns:1fr auto;gap:10px;padding:14px}.person-identity{grid-column:1/2}.people-unified-row>.account-state{grid-area:1/2/auto/3}.person-associations{grid-column:1/-1}.people-actions{grid-column:1/-1;justify-content:stretch}.people-actions .btn{flex:1}.people-role-head{padding:12px 14px}.emoji-picker{grid-template-columns:repeat(5,1fr)}}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#edf4ff;--ink-2:#d7e5f7;--blue:#6ea2ff;--blue-soft:#172d4d;--lime:#172d4d;--lime-ink:#a9c8ff;--canvas:#07111f;--surface:#0d1a2b;--line:#253750;--muted:#94a5bb;--success:#55c894;--danger:#ff7770}html[data-theme=dark] body{background:var(--canvas)}html[data-theme=dark] .topbar{background:#091422f0;box-shadow:0 5px 20px #00000038}html[data-theme=dark] .card,html[data-theme=dark] .training-modal,html[data-theme=dark] .role-menu,html[data-theme=dark] .mobile-menu-sheet{background:var(--surface);box-shadow:0 16px 38px #0000002e}html[data-theme=dark] .icon-button,html[data-theme=dark] .btn:not(.primary):not(.dark),html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea,html[data-theme=dark] .focus-picker button,html[data-theme=dark] .reason-edit-button{color:var(--ink);border-color:var(--line);background:#122238}html[data-theme=dark] input:disabled,html[data-theme=dark] select:disabled{color:var(--muted);background:#0a1626}html[data-theme=dark] .theme-toggle.active{color:#ffd86b;background:#19365f;border-color:#315a8f}html[data-theme=dark] .notification-dot{border-color:#122238}html[data-theme=dark] .avatar{color:#0a1727;background:#e7effa}html[data-theme=dark] .calendar-day-head,html[data-theme=dark] .month-day{background:var(--surface)}html[data-theme=dark] .month-day.outside,html[data-theme=dark] .month-weekdays,html[data-theme=dark] .event,html[data-theme=dark] .month-session,html[data-theme=dark] .activity-choice,html[data-theme=dark] .mobile-menu-grid button,html[data-theme=dark] .staff-badge-row,html[data-theme=dark] .communication-file,html[data-theme=dark] .communication-attachment{color:var(--ink);background:#101f33}html[data-theme=dark] .event.editable:hover,html[data-theme=dark] .week-subtitle-edit:hover{background:#172d4d}html[data-theme=dark] .event.weights,html[data-theme=dark] .activity-choice.match-choice,html[data-theme=dark] .month-session.month-match{color:#dccdff;background:#231c39;border-color:#49396d}html[data-theme=dark] .segmented,html[data-theme=dark] .planning-tabs,html[data-theme=dark] .library-tabs,html[data-theme=dark] .manager-tabs,html[data-theme=dark] .period-switch{background:#081522}html[data-theme=dark] .segment.active,html[data-theme=dark] .planning-tabs button.active,html[data-theme=dark] .library-tabs button.active,html[data-theme=dark] .manager-tabs button.active,html[data-theme=dark] .period-switch button.active{color:var(--ink);box-shadow:none;background:#17283e}html[data-theme=dark] .calendar-day-head.today,html[data-theme=dark] .role-option:hover,html[data-theme=dark] .role-option.selected{background:var(--blue-soft)}html[data-theme=dark] .training-block.standard{color:#d7e4f5;background:#14253a;border-color:#32455e}html[data-theme=dark] .read-only-note{color:#bad2f4;background:#132944}html[data-theme=dark] .notice.error,html[data-theme=dark] .dashboard-absence-row,html[data-theme=dark] .medical-row.expired{color:#ffb1ad;background:#301b21;border-color:#5f3035}html[data-theme=dark] .medical-row,html[data-theme=dark] .report-table th,html[data-theme=dark] .report-table th:first-child{background:#101f33}html[data-theme=dark] .energy-options button{color:var(--muted);background:#132238}html[data-theme=dark] .energy-options button.selected{background:#1a2d47;border-color:#dbe8f8}html[data-theme=dark] .logo-upload{border-color:var(--line);background:#101f33}html[data-theme=dark] .manager-team-row>span,html[data-theme=dark] .staff-athlete-kpis span{background:#14243a}html[data-theme=dark] .sidebar{box-shadow:8px 0 30px #0000001f}html[data-theme=dark] .admin-context-switch{background:#091422fa;box-shadow:0 8px 18px #0003}html[data-theme=dark]{--canvas:#060d18;--surface:#0d1726;--surface-raised:#111f32;--surface-soft:#0a1422;--line:#22334a;--ink:#f2f6fc;--muted:#91a2b8;--blue:#76a7ff;--blue-soft:#172c4b}html[data-theme=dark] body{background-color:#0000;background-image:radial-gradient(circle at 82% -10%,#295ba52e,#0000 34rem),linear-gradient(#07101d 0%,#050b14 100%);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box;background-clip:border-box,border-box}html[data-theme=dark] .main{background:linear-gradient(135deg,#19325314,#0000 45%)}html[data-theme=dark] .topbar{background:linear-gradient(90deg,#0a1422f7,#0d1c2ff2);border-bottom-color:#263b57}html[data-theme=dark] .card{background:linear-gradient(145deg,#101c2c,#0c1624 72%);border-color:#22344c;box-shadow:inset 0 1px #ffffff06,0 12px 30px #0000002e}html[data-theme=dark] .card:hover{border-color:#2a405e}html[data-theme=dark] .card-header{background:#14253b6b;border-bottom-color:#22344c}html[data-theme=dark] .training-modal,html[data-theme=dark] .role-menu,html[data-theme=dark] .mobile-menu-sheet{background:linear-gradient(155deg,#142238,#0b1523 78%);border:1px solid #2b405c;box-shadow:0 28px 80px #0000008c}html[data-theme=dark] .modal-backdrop{-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#01060dc7}html[data-theme=dark] .modal-head,html[data-theme=dark] .modal-actions{background:0 0}html[data-theme=dark] .btn.primary{background:linear-gradient(135deg,#477edb,#315fae);border-color:#6093ea;box-shadow:0 6px 18px #1f56b040}html[data-theme=dark] .btn.primary:hover{background:linear-gradient(135deg,#558cea,#3869bc)}html[data-theme=dark] .icon-button,html[data-theme=dark] .btn:not(.primary):not(.dark){background:linear-gradient(145deg,#17273d,#101c2d);border-color:#2a3e59}html[data-theme=dark] .icon-button:hover,html[data-theme=dark] .btn:not(.primary):not(.dark):hover{background:#1b2f4a;border-color:#5275a5}html[data-theme=dark] .theme-toggle{color:#9eb8d8}html[data-theme=dark] .theme-toggle.active{color:#ffd46a;background:linear-gradient(145deg,#243b5c,#172a44);border-color:#4c6890;box-shadow:inset 0 0 16px #ffcd5a14}html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{color:#f3f7fc;background:#091321;border-color:#2a3d57;box-shadow:inset 0 1px 4px #0000002e}html[data-theme=dark] input:focus,html[data-theme=dark] select:focus,html[data-theme=dark] textarea:focus{border-color:#608ed0;outline:2px solid #76a7ff59}html[data-theme=dark] .stat-card{background:linear-gradient(150deg,#122239,#0c1727 76%)}html[data-theme=dark] .stat-icon,html[data-theme=dark] .quick-icon{color:#8cb7ff;background:#193251}html[data-theme=dark] .quick-item{color:var(--ink);border-color:#0000}html[data-theme=dark] .quick-item:hover{background:#142640}html[data-theme=dark] .next-session{background:linear-gradient(145deg,#132640,#0c1727 68%)}html[data-theme=dark] .date-block{color:#cfe0fb;background:#172c49}html[data-theme=dark] .event{background:linear-gradient(135deg,#14263e,#101d30);border-top:1px solid #263c59;border-bottom:1px solid #263c59;border-right:1px solid #263c59}html[data-theme=dark] .event.weights{background:linear-gradient(135deg,#27203e,#19172b);border-color:#4b3d6f}html[data-theme=dark] .calendar-day-head{background:#101c2d;border-bottom-color:#263950}html[data-theme=dark] .calendar-day-head.today{background:linear-gradient(135deg,#1b3962,#142b4a)}html[data-theme=dark] .month-day{background:#0d1828}html[data-theme=dark] .month-day.outside{color:#52647a;background:#09111d}html[data-theme=dark] .month-session{background:#14243a;border-color:#2b405b}html[data-theme=dark] .toolbar{background:linear-gradient(90deg,#111f32,#0d1828)}html[data-theme=dark] .communication-card.unread{background:linear-gradient(145deg,#142b48,#0e1b2d);border-color:#3e6190}html[data-theme=dark] .communication-card.urgent{border-left-color:#ff756e}html[data-theme=dark] .communication-card.important{border-left-color:#e6ad4e}html[data-theme=dark] .medical-row{background:linear-gradient(90deg,#112034,#0d1929);border-color:#283c55}html[data-theme=dark] .medical-row.warning{background:#241f14}html[data-theme=dark] .medical-row.expired{background:#29171d}html[data-theme=dark] .report-table tr:hover td{background:#13243a}html[data-theme=dark] .report-table th,html[data-theme=dark] .report-table th:first-child{background:#111f32}html[data-theme=dark] .report-table td:first-child{background:#0d1828}html[data-theme=dark] .people-role-group,html[data-theme=dark] .people-unified-row{border-color:#253951}html[data-theme=dark] .people-unified-row:hover{background:#12243a}html[data-theme=dark] .mobile-menu-grid button{background:linear-gradient(145deg,#14243a,#0e1929);border-color:#283b55}html[data-theme=dark] .mobile-menu-grid button.active{color:#a9c9ff;background:#19375d;border-color:#416a9f}html[data-theme=dark] .mobile-nav{background:#040b14f2;border-color:#253a55;box-shadow:0 16px 44px #0000007a}html[data-theme=dark] ::-webkit-scrollbar{width:9px;height:9px}html[data-theme=dark] ::-webkit-scrollbar-track{background:#08111d}html[data-theme=dark] ::-webkit-scrollbar-thumb{background:#2a3f59;border:2px solid #08111d;border-radius:999px}.role-option small{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:9px;font-weight:750}.test-notification{border-top:1px solid var(--line);border-radius:0;justify-content:flex-start;gap:9px;margin-top:5px;padding-top:13px}.test-notification span{font-size:11px;line-height:1.25}.preview-banner{border:1px solid var(--blue);grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:11px;margin-bottom:18px;padding:11px 13px;display:grid}@supports (color:color-mix(in lab, red, red)){.preview-banner{border:1px solid color-mix(in srgb, var(--blue) 30%, var(--line))}}.preview-banner{background:var(--blue-soft);color:var(--ink);border-radius:14px}.preview-banner>svg{width:21px;height:21px;color:var(--blue)}.preview-banner div{gap:2px;display:grid}.preview-banner b{font-size:13px}.preview-banner span{color:var(--muted);font-size:10px}.preview-mode .btn.primary{opacity:.55}html[data-theme=dark] .preview-banner{background:#132b49;border-color:#31547f}html[data-theme=dark] .test-notification{border-color:#2b405c}@media (width<=760px){.role-menu{width:min(310px,100vw - 24px);max-height:calc(100vh - 76px);overflow-y:auto}.preview-banner{grid-template-columns:28px minmax(0,1fr);padding:10px}.preview-banner .btn{grid-column:1/-1;width:100%;min-height:38px}}.mvp-vote-card{background:linear-gradient(135deg,#fff9df,#fff 70%);border:1px solid #ead48f;border-radius:17px;gap:13px;margin:0 18px 16px;padding:16px;display:grid}.mvp-vote-card>div:first-child{align-items:center;gap:11px;display:flex}.mvp-vote-card>div:first-child>div{gap:3px;display:grid}.mvp-vote-card small{color:var(--muted)}.mvp-trophy{background:#ffe9a4;border-radius:14px;place-items:center;width:42px;height:42px;font-size:22px;display:grid}.mvp-candidates{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px!important;display:grid!important}.mvp-candidates button{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;text-align:left;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.mvp-candidates button.selected{background:#fff0b8;border-color:#d49b11;box-shadow:0 0 0 2px #d49b1126}.mvp-vote-card>em{color:var(--muted);font-size:11px;font-style:normal}.mvp-vote-card.closed{align-items:center;display:flex}.mvp-results{border:1px solid var(--border);background:var(--surface-soft);border-radius:18px;margin:0 24px 18px;padding:16px}.mvp-results-heading{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.mvp-results-heading small,.mvp-results-list small{color:var(--muted)}.mvp-results-list{gap:8px;display:grid}.mvp-results-list>div{background:var(--surface);border-radius:12px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.mvp-winner{color:#fff;background:linear-gradient(120deg,#18233a,#2d4168);border-radius:18px;align-items:center;gap:14px;margin:0 18px 16px;padding:16px 18px;display:flex;box-shadow:0 12px 28px #18233a38}.mvp-winner>span{font-size:34px}.mvp-winner>div{gap:2px;display:grid}.mvp-winner small{color:#ffd86b;letter-spacing:.12em;font-weight:850}.mvp-winner b{font-size:18px}html[data-theme=dark] .mvp-vote-card{background:linear-gradient(135deg,#2b2516,#131d2c);border-color:#68572a}html[data-theme=dark] .mvp-trophy{background:#3b321a}html[data-theme=dark] .mvp-candidates button{background:#111e30}html[data-theme=dark] .mvp-candidates button.selected{background:#40351a;border-color:#c99a31}@media (width<=600px){.mvp-vote-card,.mvp-winner{margin:0 10px 12px;padding:13px}.mvp-candidates{grid-template-columns:1fr!important}.mvp-candidates button{width:100%;min-width:0}}.notification-system-state{color:#137542;white-space:nowrap;background:#e9f8ef;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:.85rem;font-weight:800;display:inline-flex}.notification-system-state i{background:#22a65a;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 4px #22a65a21}.automatic-notification-list{gap:10px;margin-top:18px;display:grid}.automatic-notification-row{border:1px solid var(--border);background:var(--surface-soft);border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;display:grid}.automatic-notification-icon{background:var(--card);width:38px;height:38px;color:var(--primary);border-radius:12px;place-items:center;display:grid}.automatic-notification-row>div{gap:3px;min-width:0;display:grid}.automatic-notification-row b{font-size:.95rem}.automatic-notification-row span,.automatic-notification-row small{color:var(--muted)}.automatic-notification-row small{line-height:1.35}.automatic-notification-row em{color:#137542;background:#e9f8ef;border-radius:999px;padding:6px 9px;font-size:.78rem;font-style:normal;font-weight:800}@media (width<=640px){.notification-settings-card .settings-card-head{align-items:flex-start}.notification-system-state{padding:7px 9px;font-size:.78rem}.automatic-notification-row{grid-template-columns:auto minmax(0,1fr);align-items:start}.automatic-notification-row em{grid-column:2;justify-self:start}.automatic-notification-row b{line-height:1.25}}
