:root{--bg:#0b110e;--surface:#121b16;--surface-raised:#17231c;--line:#e7f2e81f;--text:#f1f5ef;--muted:#93a497;--green:#7fe58a;--amber:#f5b942;--danger:#e77}*{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);color:var(--text);margin:0;font-family:Arial,Helvetica,sans-serif}button,select{font:inherit}button{cursor:pointer}.app-shell{background:radial-gradient(circle at 85% 0%, #43814a2e, transparent 32rem), var(--bg);min-height:100svh}.auth-shell{background:radial-gradient(circle at 50% 0%, #43814a33, transparent 32rem), var(--bg);place-items:center;min-height:100svh;padding:18px;display:grid}.auth-card{border:1px solid var(--line);background:#121b16eb;border-radius:20px;width:min(100%,410px);padding:28px 22px;box-shadow:0 24px 80px #0000004d}.auth-brand{align-items:center;gap:9px;margin-bottom:46px;font-size:15px;font-weight:800;display:flex}.auth-card h1{margin-top:8px}.auth-intro{color:var(--muted);margin:8px 0 26px;font-size:13px;line-height:1.5}.auth-form{gap:14px;display:grid}.auth-form label{gap:6px;display:grid}.auth-form label span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.auth-form input{width:100%;color:var(--text);border:1px solid var(--line);background:#ffffff0a;border-radius:10px;outline:none;padding:12px}.auth-form input:focus{border-color:var(--amber)}.auth-form textarea{resize:vertical;width:100%;color:var(--text);border:1px solid var(--line);font:inherit;background:#ffffff0a;border-radius:10px;outline:none;padding:12px;line-height:1.45}.auth-form textarea:focus{border-color:var(--amber)}.auth-form select{width:100%;color:var(--text);border:1px solid var(--line);background:var(--surface-raised);border-radius:10px;outline:none;padding:12px}.auth-form select:focus{border-color:var(--amber)}.auth-submit{justify-content:center;width:100%;margin-top:6px;padding:12px}.auth-submit:disabled{cursor:wait;opacity:.65}.reset-button{color:var(--muted);background:0 0;border:0;margin:18px auto 0;padding:0;font-size:12px;display:block}.reset-button:hover{color:var(--amber)}.auth-switch{color:var(--muted);text-align:center;margin:20px 0 0;font-size:12px}.auth-switch a{color:var(--amber);font-weight:700;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.form-message{color:#ffd5a0;background:#f5b94214;border:1px solid #f5b94247;border-radius:9px;margin:0;padding:9px 10px;font-size:12px;line-height:1.4}.loading-copy{color:var(--muted);justify-items:center;gap:12px;display:grid}.loading-copy p{margin:0;font-size:13px}.onboarding-card{max-width:470px}.onboarding-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.onboarding-signout{align-items:center;gap:5px;display:inline-flex}.app-header{max-width:720px;margin:0 auto;padding:22px 18px 14px}.header-row,.page-heading,.section-heading,.card-topline,.opponent-row,.attendance-summary{justify-content:space-between;align-items:center;gap:14px;display:flex}.header-actions{align-items:center;gap:7px;display:flex}.brand-lockup{align-items:center;gap:10px;display:flex}.brand-mark{width:38px;height:38px;color:var(--amber);background:#f5b94214;border:1px solid #f5b94259;border-radius:11px;place-items:center;display:grid}.brand-mark img{object-fit:cover;border-radius:10px;width:100%;height:100%}.eyebrow{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:11px}.brand-title{letter-spacing:-.02em;margin:2px 0 0;font-size:18px;font-weight:800}.icon-button{width:38px;height:38px;color:var(--muted);border:1px solid var(--line);background:#ffffff08;border-radius:11px;place-items:center;display:grid;position:relative}.notification-dot{background:var(--amber);border-radius:50%;width:5px;height:5px;position:absolute;top:8px;right:8px}.team-switcher{flex:1;min-width:0;position:relative}.team-switcher-row{align-items:stretch;gap:8px;margin-top:22px;display:flex}.team-switcher-trigger{width:100%;min-height:68px;color:var(--text);border:1px solid var(--line);text-align:left;background:linear-gradient(135deg,#fff1,#ffffff06);border-radius:15px;align-items:center;gap:11px;padding:11px 13px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.team-switcher-trigger:hover,.team-switcher.is-open .team-switcher-trigger{background:linear-gradient(135deg,#f5b9421f,#ffffff09);border-color:#f5b94280;box-shadow:0 10px 28px #00000024}.team-switcher-trigger>svg{color:var(--muted);flex:none;transition:transform .15s}.team-switcher.is-open .team-switcher-trigger>svg{color:var(--amber);transform:rotate(180deg)}.team-switcher-mark,.team-menu-mark{color:var(--amber);background:#f5b9421a;border:1px solid #f5b9424d;border-radius:11px;flex:none;place-items:center;display:grid}.team-switcher-mark{width:38px;height:38px}.team-switcher-copy,.team-menu-copy{gap:3px;min-width:0;display:grid}.team-switcher-copy{flex:1}.team-switcher-label{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:9px}.team-switcher-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.team-switcher-copy small,.team-menu-copy small{color:var(--muted);font-size:10px}.team-menu{z-index:15;background:#121b16fa;border:1px solid #f5b94240;border-radius:15px;gap:5px;padding:7px;display:grid;position:absolute;top:calc(100% + 8px);left:0;right:0;box-shadow:0 20px 45px #00000061}.team-menu-option{width:100%;color:var(--text);text-align:left;background:0 0;border:1px solid #0000;border-radius:11px;align-items:center;gap:10px;padding:9px;display:flex}.team-menu-option:hover,.team-menu-option.is-active{background:#7fe58a17;border-color:#7fe58a40}.team-menu-option>svg{color:var(--green);flex:none;margin-left:auto}.team-menu-mark{border-color:var(--line);background:#ffffff0a;width:31px;height:31px}.team-menu-option.is-active .team-menu-mark{color:var(--green);background:#7fe58a1a;border-color:#7fe58a4d}.team-add-button{align-self:stretch;padding-left:11px;padding-right:11px}.page-content{max-width:720px;margin:0 auto;padding:22px 18px 106px}.page-heading{align-items:flex-end;margin-bottom:18px}.detail-back-row{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.detail-actions{align-items:center;gap:6px;display:flex}.detail-heading{padding:14px 0 20px}.detail-heading h1{margin-bottom:5px}.detail-meta-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.detail-stat-card{background:#29553457;border:1px solid #7fe58a38;border-radius:15px;align-items:center;gap:14px;padding:15px;display:flex}.detail-stat-card>svg{color:var(--green)}.detail-stat-card div{gap:3px;display:grid}.detail-stat-card div:nth-of-type(2){margin-left:auto}.detail-stat-card strong{font-size:17px}.detail-stat-card span{color:var(--muted);font-size:10px}.detail-result{border-left:1px solid var(--line);padding-left:14px}.detail-result strong{color:var(--amber)}.match-subtabs{border:1px solid var(--line);background:#ffffff08;border-radius:12px;gap:5px;margin:22px 0 18px;padding:4px;display:flex;overflow-x:auto}.match-subtabs button{min-width:max-content;color:var(--muted);background:0 0;border:0;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:5px;padding:9px 10px;font-size:11px;font-weight:700;display:inline-flex}.match-subtabs button.is-active{color:var(--text);background:var(--surface-raised);box-shadow:0 2px 8px #0000002e}.match-subtabs button span{background:#ffffff14;border-radius:99px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:10px;display:grid}h1,h2{letter-spacing:-.04em;margin:4px 0 0}h1{font-size:clamp(26px,8vw,36px)}h2{font-size:23px}.primary-button{color:#17200f;background:var(--amber);white-space:nowrap;border:0;border-radius:10px;align-items:center;gap:6px;padding:10px 12px;font-size:12px;font-weight:800;display:inline-flex}.secondary-button{color:var(--amber);white-space:nowrap;background:#f5b94214;border:1px solid #f5b9424d;border-radius:9px;justify-content:center;align-items:center;gap:5px;padding:8px 10px;font-size:11px;font-weight:800;display:inline-flex}.secondary-button:hover{background:#f5b94224;border-color:#f5b94299}.next-match-card{background:linear-gradient(145deg,#295534b3,#122218f5);border:1px solid #7fe58a42;border-radius:17px;padding:16px;box-shadow:0 18px 50px #0000002e}.status-pill{color:var(--green);letter-spacing:.06em;text-transform:uppercase;background:#7fe58a1a;border:1px solid #7fe58a40;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800}.match-kind,.muted{color:var(--muted);font-size:12px}.opponent-row{align-items:flex-end;margin:26px 0 22px}.opponent-row h2{font-size:30px}.opponent-row>div:first-child{flex:1}.attendance-summary{color:var(--muted);border-top:1px solid #e7f2e81f;padding-top:12px;font-size:12px}.attendance-summary svg:first-child{color:var(--green)}.attendance-summary span{flex:1}.attendance-summary strong{color:var(--text)}.section-heading{margin:30px 0 12px}.squad-summary{align-items:flex-end}.squad-summary h2{color:var(--amber);font-size:32px}.text-button{color:var(--amber);background:0 0;border:0;align-items:center;gap:3px;padding:0;font-size:12px;display:inline-flex}.match-list{gap:9px;display:grid}.training-next-card{width:100%;color:var(--text);text-align:left;background:linear-gradient(145deg,#295534b3,#122218f5);border:1px solid #7fe58a47;border-radius:17px;align-items:center;gap:12px;padding:16px;display:flex;box-shadow:0 18px 50px #0000002e}.training-next-card:hover{border-color:#7fe58a8c;transform:translateY(-1px)}.training-next-icon{width:44px;height:44px;color:var(--green);background:#7fe58a1a;border:1px solid #7fe58a4d;border-radius:13px;flex:none;place-items:center;display:grid}.training-next-copy{flex:1;gap:5px;min-width:0;display:grid}.training-next-copy h2{text-overflow:ellipsis;white-space:nowrap;font-size:20px;overflow:hidden}.training-next-copy>p:last-child{color:var(--muted);align-items:center;gap:5px;margin:0;font-size:11px;display:flex}.training-next-copy>p:last-child span{margin:0 2px}.training-next-card>svg{color:var(--green);flex:none}.training-count{min-width:28px;height:28px;color:var(--amber);background:#f5b94214;border:1px solid #f5b94240;border-radius:99px;place-items:center;font-size:11px;font-weight:800;display:grid}.training-list{gap:9px;display:grid}.training-card{width:100%;color:var(--text);border:1px solid var(--line);background:var(--surface);text-align:left;border-radius:14px;align-items:center;gap:11px;padding:12px;transition:border-color .15s,transform .15s;display:flex}.training-card:hover{border-color:#f5b94273;transform:translateY(-1px)}.training-date{width:42px;color:var(--amber);flex:none;place-items:center;display:grid}.training-date strong{font-size:21px;line-height:1}.training-date span{color:var(--muted);text-transform:uppercase;margin-top:3px;font-size:10px}.training-card-main{flex:1;gap:5px;min-width:0;display:grid}.training-card-topline{align-items:center;gap:7px;min-width:0;display:flex}.training-card-topline>strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.training-card-meta{color:var(--muted);flex-wrap:wrap;gap:9px;font-size:10px;display:flex}.training-card-meta span{align-items:center;gap:4px;display:inline-flex}.training-card-main small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.training-card-attendance{flex:none;justify-items:end;gap:2px;display:grid}.training-card-attendance strong{color:var(--green);font-size:13px}.training-card-attendance span{color:var(--muted);font-size:9px}.training-status-badge{border:1px solid var(--line);width:max-content;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;background:#ffffff0a;border-radius:99px;align-items:center;padding:4px 7px;font-size:9px;font-weight:800;display:inline-flex}.training-status-badge.status-scheduled{color:var(--green);background:#7fe58a14;border-color:#7fe58a47}.training-status-badge.status-completed{color:var(--amber);background:#f5b94214;border-color:#f5b94247}.training-status-badge.status-cancelled{color:var(--danger);background:#ee777714;border-color:#ee777747}.training-notes{color:var(--muted);border:1px solid var(--line);white-space:pre-wrap;background:#ffffff08;border-radius:11px;margin:14px 0 0;padding:11px 12px;font-size:12px;line-height:1.5}.detail-meta-row .muted{align-items:center;gap:5px;display:inline-flex}.player-list{gap:9px;display:grid}.player-row{border:1px solid var(--line);background:var(--surface);border-radius:14px;align-items:center;gap:12px;width:100%;padding:12px;display:flex}.player-number{width:38px;height:38px;color:var(--amber);background:#f5b94214;border:1px solid #f5b9424d;border-radius:11px;place-items:center;font-size:15px;font-weight:800;display:grid}.player-main{flex:1;gap:4px;min-width:0;display:grid}.player-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.player-main span{color:var(--muted);font-size:11px}.row-actions{align-items:center;gap:5px;margin-left:auto;display:flex}.row-action-button{width:32px;height:32px;color:var(--muted);border:1px solid var(--line);background:#ffffff08;border-radius:9px;place-items:center;display:grid}.row-action-button:hover{color:var(--amber);border-color:#f5b94273}.row-action-button.is-danger:hover{color:var(--danger);border-color:#ee777773}.row-action-button:disabled{cursor:wait;opacity:.5}.archive-panel{border:1px solid var(--line);background:#ffffff05;border-radius:14px;margin-top:18px}.archive-panel summary{color:var(--muted);cursor:pointer;justify-content:space-between;align-items:center;padding:13px 14px;font-size:12px;font-weight:700;list-style-position:inside;display:flex}.archive-panel summary span{min-width:22px;height:22px;color:var(--muted);background:#93a4971f;border-radius:99px;place-items:center;font-size:10px;display:grid}.archived-player-list{gap:7px;padding:0 10px 10px;display:grid}.archived-player-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px;display:flex}.archived-player-row>div{gap:3px;min-width:0;display:grid}.archived-player-row strong{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.archived-player-row span{color:var(--muted);font-size:10px}.restore-button{color:var(--green);white-space:nowrap;background:#7fe58a14;border:1px solid #7fe58a4d;border-radius:8px;padding:7px 9px;font-size:10px;font-weight:800}.restore-button:hover{background:#7fe58a26;border-color:#7fe58a99}.restore-button:disabled{cursor:wait;opacity:.55}.attendance-list{gap:9px;display:grid}.attendance-row{border:1px solid var(--line);background:var(--surface);border-radius:14px;align-items:center;gap:10px;padding:10px;display:flex}.attendance-row select{width:136px;color:var(--text);border:1px solid var(--line);background:var(--surface-raised);border-radius:9px;outline:0;padding:9px 7px;font-size:11px}.attendance-row select:disabled{cursor:wait;opacity:.65}.attendance-groups{gap:20px;display:grid}.attendance-group{gap:10px;display:grid}.attendance-group>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.attendance-group>header>b{text-align:center;border-radius:99px;min-width:28px;padding:5px 8px;font-size:12px}.attendance-group-title{align-items:center;gap:9px;display:flex}.attendance-group-title>div{gap:3px;display:grid}.attendance-group-title strong{font-size:14px}.attendance-group-title span:last-child{color:var(--muted);font-size:11px}.attendance-group-icon{border-radius:10px;place-items:center;width:31px;height:31px;display:grid}.attendance-grid{gap:8px;display:grid}.attendance-card{border:1px solid var(--line);background:var(--surface);border-radius:14px;align-items:center;gap:10px;padding:10px;display:flex}.attendance-card select{width:136px;color:var(--text);border:1px solid var(--line);background:var(--surface-raised);border-radius:9px;outline:0;padding:9px 7px;font-size:11px}.attendance-card select:disabled{cursor:wait;opacity:.65}.attendance-actions{flex-wrap:wrap;justify-content:flex-end;gap:4px;margin-left:auto;display:flex}.attendance-choice{color:var(--muted);border:1px solid var(--line);white-space:nowrap;background:#ffffff08;border-radius:8px;align-items:center;gap:3px;padding:6px 7px;font-size:10px;font-weight:700;display:inline-flex}.attendance-choice:hover{border-color:#e7f2e84d}.attendance-choice.is-confirmed.is-selected{color:var(--green);background:#7fe58a24;border-color:#7fe58a73}.attendance-choice.is-declined.is-selected{color:var(--danger);background:#ee777724;border-color:#ee777773}.attendance-choice.is-late.is-selected{color:var(--amber);background:#f5b94224;border-color:#f5b94273}.attendance-choice.is-unknown.is-selected{color:var(--text);background:#e7f2e81a;border-color:#e7f2e84d}.attendance-choice:disabled{cursor:wait;opacity:.6}.attendance-group.is-confirmed>header>b,.attendance-group.is-confirmed .attendance-group-icon{color:var(--green);background:#7fe58a1f}.attendance-group.is-confirmed .attendance-card{background:linear-gradient(100deg, #285c3552, var(--surface));border-color:#7fe58a47}.attendance-group.is-confirmed .player-number{color:var(--green);background:#7fe58a1a;border-color:#7fe58a59}.attendance-group.is-declined>header>b,.attendance-group.is-declined .attendance-group-icon{color:var(--danger);background:#ee77771f}.attendance-group.is-declined .attendance-card{background:linear-gradient(100deg, #772d2d47, var(--surface));border-color:#ee777747}.attendance-group.is-declined .player-number{color:var(--danger);background:#ee77771a;border-color:#ee777759}.attendance-group.is-late>header>b,.attendance-group.is-late .attendance-group-icon{color:var(--amber);background:#f5b9421f}.attendance-group.is-late .attendance-card{border-color:#f5b94247}.attendance-group.is-unknown>header>b,.attendance-group.is-unknown .attendance-group-icon{color:var(--muted);background:#93a4971f}.success-message{color:var(--green);background:#7fe58a14;border:1px solid #7fe58a47;border-radius:9px;margin:0 0 14px;padding:9px 10px;font-size:12px}.lineup-panel{gap:14px;display:grid}.lineup-summary{background:#f5b94212;border:1px solid #f5b9423d;border-radius:15px;align-items:center;gap:14px;padding:14px;display:flex}.lineup-summary>div{gap:2px;min-width:70px;display:grid}.lineup-summary strong{color:var(--amber);font-size:21px}.lineup-summary span{color:var(--muted);font-size:10px}.lineup-summary p{color:var(--muted);text-align:right;margin:0 0 0 auto;font-size:11px;line-height:1.4}.lineup-list{gap:8px;display:grid}.lineup-row{border:1px solid var(--line);background:var(--surface);border-radius:14px;align-items:center;gap:10px;padding:10px;display:flex}.lineup-row select{width:136px;color:var(--text);border:1px solid var(--line);background:var(--surface-raised);border-radius:9px;outline:0;padding:9px 7px;font-size:11px}.lineup-row select:disabled{cursor:wait;opacity:.65}.lineup-toolbar{justify-content:space-between;align-items:end;gap:16px;margin-bottom:14px;display:flex}.lineup-toolbar label{gap:6px;display:grid}.lineup-toolbar label span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.lineup-toolbar select{min-width:130px;color:var(--text);border:1px solid var(--line);background:var(--surface-raised);border-radius:9px;outline:0;padding:10px}.lineup-toolbar>div{text-align:right;gap:3px;display:grid}.lineup-toolbar>div strong{color:var(--amber);font-size:18px}.lineup-toolbar>div span{color:var(--muted);font-size:10px}.football-pitch{aspect-ratio:.72;background:repeating-linear-gradient(0deg,#ffffff09 0 11%,#0000 11% 22%),linear-gradient(165deg,#246d3d,#124a28);border:2px solid #e7f2e880;border-radius:14px;width:min(100%,430px);margin:0 auto;position:relative;overflow:hidden;box-shadow:inset 0 0 0 4px #0000001a,0 18px 45px #0003}.football-pitch:before{content:"";pointer-events:none;border:1px solid #e7f2e8a6;border-radius:2px;position:absolute;inset:3%}.football-pitch:after{content:"";pointer-events:none;border:1px solid #e7f2e8a6;border-top:0;width:50%;height:17%;position:absolute;top:3%;left:25%}.pitch-halfway{pointer-events:none;border-top:1px solid #e7f2e8a6;position:absolute;top:50%;left:3%;right:3%}.pitch-circle{aspect-ratio:1;pointer-events:none;border:1px solid #e7f2e8a6;border-radius:50%;width:24%;position:absolute;top:39%;left:38%}.pitch-slot{z-index:2;min-width:58px;color:var(--text);background:#0b110eb8;border:1px solid #e7f2e861;border-radius:10px;justify-items:center;padding:4px 5px;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 4px 12px #0003}.pitch-slot.is-filled{color:#0f1d12;background:var(--green);border-color:#7fe58ae6}.pitch-slot.is-empty{color:var(--muted);border-style:dashed}.pitch-slot.is-selected{border-color:var(--amber);box-shadow:0 0 0 3px #f5b94240,0 4px 12px #0003}.pitch-number{background:#0000002e;border-radius:50%;place-items:center;width:23px;height:23px;font-size:11px;font-weight:900;display:grid}.pitch-name{text-overflow:ellipsis;white-space:nowrap;max-width:67px;margin-top:2px;font-size:9px;font-weight:800;overflow:hidden}.pitch-position{font-size:11px;font-weight:900}.pitch-empty-label{margin-top:2px;font-size:8px}.slot-picker{background:#f5b9420f;border:1px solid #f5b9423d;border-radius:15px;margin-top:16px;padding:14px}.slot-picker-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.slot-picker-heading h2{margin-top:4px;font-size:20px}.slot-picker>.muted{margin:7px 0 12px;line-height:1.4}.candidate-group-label{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;margin:12px 0 7px;font-size:10px;font-weight:800}.available-player-grid{grid-template-columns:1fr 1fr;gap:7px;display:grid}.available-player-card{min-width:0;color:var(--text);border:1px solid var(--line);background:var(--surface);text-align:left;border-radius:10px;align-items:center;gap:7px;padding:8px;display:flex}.available-player-card:hover,.available-player-card.is-selected{border-color:var(--amber);background:#f5b9421a}.available-player-card>span:last-child{gap:2px;min-width:0;display:grid}.available-player-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.available-player-card small{color:var(--muted);font-size:9px}.bench-section{margin-top:5px}.bench-list{flex-wrap:wrap;gap:7px;display:flex}.bench-chip{color:var(--muted);border:1px solid var(--line);background:var(--surface);border-radius:99px;align-items:center;gap:6px;padding:7px 9px;font-size:10px;display:inline-flex}.bench-chip b{width:20px;height:20px;color:var(--amber);background:#f5b9421f;border-radius:50%;place-items:center;font-size:10px;display:grid}.danger-text{color:var(--danger)}.stats-panel{gap:10px;display:grid}.result-editor{background:linear-gradient(145deg,#684a1647,#121b16f5);border:1px solid #f5b94240;border-radius:16px;gap:18px;padding:16px;display:grid}.result-editor-heading{justify-content:space-between;align-items:center;display:flex}.result-editor-heading h2{margin-top:4px;font-size:20px}.result-editor-heading>svg{color:var(--amber)}.score-editor{justify-content:center;align-items:end;gap:14px;display:flex}.score-editor label{text-align:center;gap:5px;display:grid}.score-editor label span{color:var(--muted);text-transform:uppercase;font-size:10px}.score-editor input{width:70px;color:var(--text);border:1px solid var(--line);text-align:center;background:#ffffff0d;border-radius:10px;outline:0;padding:10px;font-size:22px}.score-editor input:focus{border-color:var(--amber)}.score-editor>strong{color:var(--muted);padding-bottom:10px;font-size:22px}.result-editor>.primary-button{justify-content:center}.stats-table-wrap{border:1px solid var(--line);border-radius:14px;overflow-x:auto}.stats-table{border-collapse:collapse;width:100%;min-width:620px;font-size:11px}.stats-table th{color:var(--muted);border-bottom:1px solid var(--line);letter-spacing:.08em;text-align:left;text-transform:uppercase;background:#ffffff08;padding:10px;font-size:9px}.stats-table td{border-bottom:1px solid #e7f2e814;padding:7px 8px}.stats-table td:first-child{gap:3px;min-width:160px;display:grid}.stats-table td:first-child span{color:var(--muted);font-size:10px}.stats-table input{width:48px;color:var(--text);border:1px solid var(--line);text-align:center;background:#ffffff0a;border-radius:7px;outline:0;padding:7px 3px;font-size:11px}.stats-table input:focus{border-color:var(--amber)}.stats-table input:disabled{cursor:wait;opacity:.6}.stats-table input.rating-input{color:var(--amber)}.stats-season-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px;display:grid}.stats-season-card{border:1px solid var(--line);background:var(--surface);text-align:center;border-radius:13px;justify-items:center;gap:4px;padding:11px 6px;display:grid}.stats-season-card>span{width:25px;height:25px;color:var(--amber);background:#f5b9421a;border-radius:8px;place-items:center;display:grid}.stats-season-card strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:16px;overflow:hidden}.stats-season-card small{color:var(--muted);font-size:9px}.stats-season-panel{border:1px solid var(--line);background:var(--surface);border-radius:17px;gap:15px;padding:16px;display:grid}.stats-season-heading{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.stats-season-heading h2{margin-top:5px}.stats-sort{gap:5px;min-width:130px;display:grid}.stats-sort span{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:9px}.stats-sort select{width:100%;color:var(--text);border:1px solid var(--line);background:var(--surface-raised);border-radius:8px;outline:0;padding:8px 9px;font-size:10px}.stats-sort select:focus{border-color:var(--amber)}.stats-season-table-wrap{border:1px solid var(--line);border-radius:13px;overflow-x:auto}.stats-season-table{border-collapse:collapse;width:100%;min-width:760px;font-size:10px}.stats-season-table th{color:var(--muted);border-bottom:1px solid var(--line);letter-spacing:.06em;text-align:center;text-transform:uppercase;background:#ffffff08;padding:9px 7px;font-size:8px}.stats-season-table th:first-child{text-align:left;min-width:190px}.stats-season-table td{text-align:center;border-bottom:1px solid #e7f2e814;padding:9px 7px}.stats-season-table tbody tr:last-child td{border-bottom:0}.stats-season-table td:first-child{text-align:left;align-items:center;gap:7px;display:flex}.stats-season-table tbody tr:hover{background:#ffffff06}.stats-rank{width:21px;height:21px;color:var(--muted);background:#ffffff0d;border-radius:7px;flex:none;place-items:center;font-size:9px;font-weight:800;display:grid}.stats-player-cell{gap:3px;min-width:0;display:grid}.stats-player-cell strong,.stats-player-cell small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.stats-player-cell strong{font-size:11px}.stats-player-cell small{color:var(--muted);font-size:9px}.stats-subvalue{color:var(--muted);margin-top:2px;font-size:8px;display:block}.stats-highlight{color:var(--green);font-weight:900}.stats-rating{color:var(--amber);font-weight:900}.stats-danger{color:var(--danger);font-weight:900}.stats-season-note{color:var(--muted);align-items:flex-start;gap:5px;margin:12px 2px 0;font-size:10px;line-height:1.4;display:flex}.stats-season-note svg{flex:none;margin-top:1px}.match-row{width:100%;color:var(--text);border:1px solid var(--line);background:var(--surface);text-align:left;border-radius:14px;align-items:center;gap:12px;padding:12px;transition:border-color .15s,transform .15s;display:flex}.match-row:hover{border-color:#f5b94273;transform:translateY(-1px)}.match-date{min-width:40px;color:var(--amber);justify-items:center;display:grid}.match-date strong{font-size:19px;line-height:1}.match-date span{color:var(--muted);text-transform:uppercase;margin-top:3px;font-size:10px}.match-row-main{flex:1;gap:4px;min-width:0;display:grid}.match-row-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.match-row-main span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.match-row-main small{width:max-content}.match-status-badge{border:1px solid var(--line);width:max-content;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;background:#ffffff0a;border-radius:99px;align-items:center;padding:4px 7px;font-size:9px;font-weight:800;display:inline-flex}.match-status-badge.status-scheduled{color:var(--green);background:#7fe58a14;border-color:#7fe58a47}.match-status-badge.status-played{color:var(--amber);background:#f5b94214;border-color:#f5b94247}.match-status-badge.status-postponed{color:#a9c7ff;background:#a9c7ff14;border-color:#a9c7ff47}.match-status-badge.status-cancelled{color:var(--danger);background:#ee777714;border-color:#ee777747}.muted-icon{color:var(--muted)}.empty-card,.placeholder-view{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:16px;padding:32px 18px}.empty-card{justify-items:center;gap:12px;display:grid}.empty-card p{max-width:300px;margin:0;line-height:1.5}.placeholder-view{place-items:center;min-height:300px;display:grid}.placeholder-view h1{color:var(--text)}.placeholder-view p{max-width:280px;margin:6px auto 0;line-height:1.5}.placeholder-icon{width:48px;height:48px;color:var(--amber);background:#f5b9421a;border-radius:14px;place-items:center;display:grid}.bottom-nav{z-index:10;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0b110eeb;justify-content:center;gap:8px;padding:9px max(14px,50vw - 360px);display:flex;position:fixed;bottom:0;left:0;right:0}.nav-button{min-width:80px;color:var(--muted);background:0 0;border:0;border-radius:10px;justify-items:center;gap:3px;padding:5px 12px;font-size:10px;display:grid}.nav-button.is-active{color:var(--amber);background:#f5b9421a}.modal-backdrop{z-index:20;overscroll-behavior:contain;background:#0000009e;align-items:center;padding:14px;display:grid;position:fixed;inset:0;overflow-y:auto}.modal-card{border:1px solid var(--line);background:var(--surface);border-radius:20px;width:min(100%,560px);min-height:0;max-height:calc(100dvh - 28px);margin:0 auto;padding:20px;overflow-y:auto;box-shadow:0 24px 80px #00000073}.modal-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.modal-heading h2{margin-top:5px}.standings-card{border:1px solid var(--line);background:var(--surface);border-radius:17px;gap:16px;padding:16px;display:grid}.standings-toolbar{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.standings-toolbar label{flex:1;gap:6px;display:grid}.standings-toolbar label span,.standings-editor-heading .eyebrow{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.standings-toolbar select{width:100%;color:var(--text);border:1px solid var(--line);background:var(--surface-raised);border-radius:9px;outline:0;padding:10px}.standings-heading{justify-content:space-between;align-items:flex-end;gap:12px;padding-top:2px;display:flex}.standings-heading h2{margin-top:5px}.standings-table-wrap,.standings-form-table-wrap{border:1px solid var(--line);border-radius:13px;overflow-x:auto}.standings-table{border-collapse:collapse;width:100%;min-width:560px;font-size:11px}.standings-table th{color:var(--muted);border-bottom:1px solid var(--line);letter-spacing:.07em;text-align:right;text-transform:uppercase;background:#ffffff08;padding:10px 8px;font-size:9px}.standings-table th:first-child,.standings-table td:first-child{text-align:center;width:35px}.standings-table th:nth-child(2),.standings-table td:nth-child(2){text-align:left;min-width:170px}.standings-table td{text-align:right;border-bottom:1px solid #e7f2e814;padding:11px 8px}.standings-table tbody tr:last-child td{border-bottom:0}.standings-table tbody tr.is-current-team{background:#7fe58a14}.standings-table td:nth-child(2) strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.standings-table td:nth-child(2) small{color:var(--green);margin-top:3px;font-size:9px;display:block}.standing-position{color:var(--muted);font-weight:800}.standing-points{color:var(--amber);font-size:13px;font-weight:900}.standings-note,.standings-context{margin:0;line-height:1.4}.standings-note{color:var(--muted);font-size:10px}.standings-context{margin-top:12px;font-size:11px}.standings-editor-heading{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.standings-editor-heading p{margin:0}.standings-editor-heading .muted{margin-top:4px;font-size:11px}.standings-form-table{border-collapse:collapse;width:100%;min-width:680px;font-size:11px}.standings-form-table th{color:var(--muted);border-bottom:1px solid var(--line);text-align:center;text-transform:uppercase;background:#ffffff08;padding:9px 6px;font-size:9px}.standings-form-table th:first-child,.standings-form-table td:first-child{text-align:left;min-width:190px}.standings-form-table td{text-align:center;border-bottom:1px solid #e7f2e814;padding:6px}.standings-form-table tr:last-child td{border-bottom:0}.standings-form-table input{text-align:center;width:47px;padding:8px 3px;font-size:11px}.standings-form-table td:first-child input{text-align:left;width:100%}.standings-form-table td:last-child{width:42px}.standings-modal{width:min(100%,760px)}.settings-card{border:1px solid var(--line);background:var(--surface);border-radius:17px;gap:14px;margin-bottom:12px;padding:17px;display:grid}.settings-card-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.settings-card-heading h2{margin-top:5px;font-size:20px}.settings-description{margin:-5px 0 0;line-height:1.45}.club-logo-preview{width:66px;height:66px;color:var(--amber);background:#f5b94214;border:1px solid #f5b94259;border-radius:18px;flex:none;place-items:center;display:grid;overflow:hidden}.club-logo-preview img{object-fit:cover;width:100%;height:100%}.logo-upload-button{width:max-content;color:var(--amber);cursor:pointer;background:#f5b94214;border:1px solid #f5b9424d;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:9px 11px;font-size:11px;font-weight:800;display:inline-flex}.logo-upload-button:hover{background:#f5b94224;border-color:#f5b94299}.logo-upload-button input{display:none}.logo-upload-button.is-disabled{cursor:wait;opacity:.55}.settings-form{gap:12px;display:grid}.settings-form label{gap:6px;display:grid}.settings-form label span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.settings-form input{width:100%;color:var(--text);border:1px solid var(--line);background:#ffffff0a;border-radius:10px;outline:0;padding:11px 12px}.settings-form input:focus{border-color:var(--amber)}.settings-form input:disabled{cursor:not-allowed;opacity:.6}.settings-team-pill{color:var(--green);background:#7fe58a14;border:1px solid #7fe58a40;border-radius:99px;padding:6px 9px;font-size:10px;font-weight:800}.settings-permission-note{text-align:center;margin:12px 0 0}.staff-card{margin-top:12px}.staff-list,.staff-invitations{gap:8px;display:grid}.staff-row,.invitation-row{border:1px solid var(--line);background:#ffffff06;border-radius:13px;align-items:center;gap:10px;padding:10px;display:flex}.staff-avatar,.invitation-icon{width:34px;height:34px;color:var(--green);background:#7fe58a14;border:1px solid #7fe58a40;border-radius:10px;flex:none;place-items:center;display:grid}.invitation-icon{color:var(--amber);background:#f5b94214;border-color:#f5b94240}.staff-main{flex:1;gap:3px;min-width:0;display:grid}.staff-main strong,.staff-main span,.staff-main small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.staff-main strong{font-size:12px}.staff-main span,.staff-main small{color:var(--muted);font-size:10px}.staff-main small b{color:var(--amber);font-weight:700}.staff-empty{color:var(--muted);border:1px dashed var(--line);border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:18px;font-size:11px;display:flex}.staff-invitations{border-top:1px solid var(--line);margin-top:6px;padding-top:14px}.staff-subheading{justify-content:space-between;align-items:center;gap:12px;display:flex}.staff-subheading>div{gap:3px;display:grid}.staff-subheading>span{min-width:25px;height:25px;color:var(--amber);background:#f5b9421a;border-radius:99px;place-items:center;font-size:11px;font-weight:800;display:grid}.staff-note{color:var(--muted);align-items:center;gap:6px;margin:0;font-size:10px;display:inline-flex}.staff-note svg{color:var(--green)}.team-selection{border:0;gap:7px;min-width:0;margin:0;padding:0;display:grid}.team-selection legend{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:1px;font-size:11px}.team-selection-option{border:1px solid var(--line);cursor:pointer;background:#ffffff06;border-radius:11px;align-items:center;gap:9px;padding:10px;display:flex!important}.team-selection-option.is-selected{background:#7fe58a14;border-color:#7fe58a66}.team-selection-option input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.team-selection-option>span:last-child{gap:3px;min-width:0;display:grid}.team-selection-option strong{font-size:12px}.team-selection-option small{color:var(--muted);font-size:10px}.team-selection-check{color:#0000;border:1px solid var(--line);background:#ffffff08;border-radius:7px;flex:none;place-items:center;width:22px;height:22px;display:grid}.team-selection-option.is-selected .team-selection-check{color:#17200f;border-color:var(--green);background:var(--green)}.form-hint{color:var(--muted);margin:-4px 0 0;font-size:10px;line-height:1.45}.invitation-auth-actions{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.invitation-auth-actions .primary-button,.invitation-auth-actions .secondary-button{flex:1}.invitation-card h1{margin-bottom:8px}.invitation-summary{border:1px solid var(--line);background:#ffffff08;border-radius:13px;gap:10px;margin:18px 0;padding:14px;display:grid}.invitation-summary div{color:var(--muted);align-items:center;gap:7px;font-size:11px;display:flex}.invitation-summary div svg{color:var(--green)}.invitation-summary div:last-child svg{color:var(--amber)}.invitation-summary strong{font-size:13px}.player-invite-preview{border:1px solid var(--line);background:#ffffff08;border-radius:12px;align-items:center;gap:10px;margin:-4px 0 16px;padding:10px;display:flex}.player-invite-preview>div:last-child{gap:3px;display:grid}.player-invite-preview strong{font-size:13px}.player-invite-preview span{color:var(--muted);font-size:10px}.player-invitations{border-top:1px solid var(--line);gap:8px;margin-top:18px;padding-top:15px;display:grid}.player-invitation-row{background:#f5b9420d;border:1px solid #f5b94233;border-radius:11px;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;display:flex}.player-invitation-row>div{gap:3px;min-width:0;display:grid}.player-invitation-row strong,.player-invitation-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.player-invitation-row strong{font-size:11px}.player-invitation-row span{color:var(--muted);font-size:10px}.player-portal-profile{background:#7fe58a14;border:1px solid #7fe58a40;border-radius:10px;justify-items:end;gap:3px;padding:8px 10px;display:grid}.player-portal-profile strong{font-size:11px}.player-portal-profile span{color:var(--green);font-size:10px}.player-welcome-card{background:linear-gradient(145deg,#684a1647,#121b16f5);border:1px solid #f5b94240;border-radius:15px;align-items:center;gap:11px;margin-bottom:18px;padding:14px;display:flex}.player-portal-icon{width:38px;height:38px;color:var(--amber);background:#f5b9421a;border:1px solid #f5b9424d;border-radius:11px;flex:none;place-items:center;display:grid}.player-welcome-card>div:last-child{gap:4px;display:grid}.player-welcome-card strong{font-size:13px}.player-welcome-card p{color:var(--muted);margin:0;font-size:10px}.player-event-list{gap:9px;display:grid}.player-event-card{border:1px solid var(--line);background:var(--surface);border-radius:14px;align-items:center;gap:10px;padding:11px;display:flex}.player-event-icon{width:35px;height:35px;color:var(--green);background:#7fe58a14;border:1px solid #7fe58a40;border-radius:10px;flex:none;place-items:center;display:grid}.player-event-icon.is-match{color:var(--amber);background:#f5b94214;border-color:#f5b94240}.player-event-main{flex:1;gap:4px;min-width:0;display:grid}.player-event-main strong,.player-event-main span,.player-event-main small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.player-event-main strong{font-size:13px}.player-event-main span{color:var(--muted);align-items:center;gap:3px;font-size:10px;display:inline-flex}.player-event-main small{color:var(--muted);font-size:9px}.player-event-actions{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.player-attendance-button{color:var(--muted);border:1px solid var(--line);white-space:nowrap;background:#ffffff08;border-radius:8px;align-items:center;gap:3px;padding:6px 7px;font-size:10px;font-weight:700;display:inline-flex}.player-attendance-button.is-confirmed.is-selected{color:var(--green);background:#7fe58a24;border-color:#7fe58a73}.player-attendance-button.is-declined.is-selected{color:var(--danger);background:#ee777724;border-color:#ee777773}.player-attendance-button.is-late.is-selected{color:var(--amber);background:#f5b94224;border-color:#f5b94273}.player-attendance-button:disabled{cursor:wait;opacity:.6}.notification-wrap,.notification-button{position:relative}.notification-count{color:#17200f;border:2px solid var(--bg);background:var(--amber);border-radius:99px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:8px;font-weight:900;display:grid;position:absolute;top:-4px;right:-4px}.notification-panel{z-index:30;background:#121b16fa;border:1px solid #f5b94240;border-radius:15px;width:min(360px,100vw - 36px);position:absolute;top:calc(100% + 10px);right:0;overflow:hidden;box-shadow:0 20px 50px #0006}.notification-panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:13px 14px;display:flex}.notification-panel-heading>div{gap:3px;display:grid}.notification-panel-heading strong{font-size:14px}.notification-panel-heading .text-button{font-size:10px}.notification-panel-heading .text-button:disabled{cursor:default;color:var(--muted);opacity:.5}.notification-list{max-height:360px;display:grid;overflow-y:auto}.notification-item{width:100%;color:var(--text);text-align:left;background:0 0;border:0;border-bottom:1px solid #e7f2e812;align-items:flex-start;gap:9px;padding:11px 13px;display:flex}.notification-item:hover,.notification-item.is-unread{background:#f5b9420f}.notification-icon{width:28px;height:28px;color:var(--amber);background:#f5b9421a;border-radius:9px;flex:none;place-items:center;display:grid}.notification-content{flex:1;gap:3px;min-width:0;display:grid}.notification-content strong,.notification-content span,.notification-content small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.notification-content strong{font-size:11px}.notification-content span{color:var(--muted);font-size:10px}.notification-content small{color:var(--muted);font-size:9px}.notification-unread-dot{background:var(--amber);border-radius:50%;flex:none;width:6px;height:6px;margin-top:7px}.notification-empty{min-height:90px;color:var(--muted);justify-content:center;align-items:center;gap:7px;margin:0;padding:14px;font-size:11px;display:flex}.push-settings{background:#7fe58a0d;border:1px solid #7fe58a33;border-radius:11px;justify-content:space-between;align-items:center;gap:9px;margin:10px 13px;padding:9px;display:flex}.push-settings-copy{align-items:center;gap:7px;min-width:0;display:flex}.push-settings-copy>span:last-child{gap:2px;min-width:0;display:grid}.push-settings-copy strong,.push-settings-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.push-settings-copy strong{font-size:10px}.push-settings-copy small{color:var(--muted);font-size:9px}.push-settings-icon{width:25px;height:25px;color:var(--green);background:#7fe58a1a;border-radius:7px;flex:none;place-items:center;display:grid}.push-settings .secondary-button{padding:6px 8px;font-size:9px}.push-enabled{color:var(--green);flex:none;align-items:center;gap:3px;font-size:9px;font-weight:800;display:inline-flex}.push-status-note{max-width:112px;color:var(--amber);text-align:right;flex:none;font-size:8px;line-height:1.25}.push-note{color:var(--muted);justify-content:center;align-items:center;gap:5px;margin:10px 0;font-size:10px;display:flex}.calendar-page-heading{align-items:center}.calendar-month-count{background:#f5b9420f;border:1px solid #f5b94238;border-radius:11px;justify-items:end;gap:2px;padding:8px 10px;display:grid}.calendar-month-count strong{color:var(--amber);font-size:18px;line-height:1}.calendar-month-count span{color:var(--muted);font-size:9px}.calendar-card{border:1px solid var(--line);background:var(--surface);border-radius:17px;overflow:hidden}.calendar-toolbar{justify-content:space-between;align-items:center;gap:12px;padding:13px 14px 10px;display:flex}.calendar-toolbar .icon-button{width:32px;height:32px}.calendar-month-button{color:var(--text);text-transform:capitalize;background:0 0;border:0;border-radius:8px;padding:6px 9px;font-size:14px;font-weight:800}.calendar-month-button:hover{color:var(--amber);background:#f5b94214}.calendar-filters{gap:5px;padding:0 14px 13px;display:flex}.calendar-filters button{color:var(--muted);background:#ffffff08;border:1px solid #0000;border-radius:8px;flex:1;padding:8px 7px;font-size:10px;font-weight:800}.calendar-filters button:hover,.calendar-filters button.is-active{color:var(--amber);background:#f5b94217;border-color:#f5b94247}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekdays{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#ffffff06;padding:0 8px}.calendar-weekdays span{color:var(--muted);letter-spacing:.06em;text-align:center;text-transform:uppercase;padding:9px 3px;font-size:9px;font-weight:800}.calendar-day{border-bottom:1px solid #e7f2e812;border-right:1px solid #e7f2e812;flex-direction:column;min-height:78px;padding:7px 5px;display:flex}.calendar-day:nth-child(7n){border-right:0}.calendar-day:nth-last-child(-n+7){border-bottom:0}.calendar-day.is-outside{background:#0000001a}.calendar-day.is-outside .calendar-day-number{color:#93a49766}.calendar-day.is-today{background:#7fe58a0f}.calendar-day-number{width:24px;height:24px;color:var(--muted);border-radius:50%;place-items:center;margin-bottom:4px;font-size:11px;font-weight:800;display:grid}.calendar-day.is-today .calendar-day-number{color:#17200f;background:var(--green)}.calendar-day-events{gap:3px;min-width:0;display:grid}.calendar-event{min-width:0;color:var(--text);text-align:left;background:#f5b9421a;border:0;border-radius:5px;align-items:center;gap:4px;padding:3px 4px;display:flex;overflow:hidden}.calendar-event:hover{filter:brightness(1.25)}.calendar-event.is-training{background:#7fe58a1a}.calendar-event-dot{background:var(--amber);border-radius:50%;flex:none;width:4px;height:4px}.calendar-event.is-training .calendar-event-dot{background:var(--green)}.calendar-event>span:last-child{text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.calendar-more-events{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;padding-left:3px;font-size:8px;overflow:hidden}.calendar-upcoming-heading{margin-top:26px}.calendar-event-list{gap:8px;display:grid}.calendar-event-card{width:100%;color:var(--text);border:1px solid var(--line);background:var(--surface);text-align:left;border-radius:14px;align-items:center;gap:10px;padding:11px;transition:border-color .15s,transform .15s;display:flex}.calendar-event-card:hover{border-color:#f5b94273;transform:translateY(-1px)}.calendar-event-large-icon{width:36px;height:36px;color:var(--amber);background:#f5b94214;border:1px solid #f5b94240;border-radius:10px;flex:none;place-items:center;display:grid}.calendar-event-large-icon.is-training{color:var(--green);background:#7fe58a14;border-color:#7fe58a40}.calendar-event-card-copy{flex:1;gap:3px;min-width:0;display:grid}.calendar-event-card-copy strong,.calendar-event-card-copy span,.calendar-event-card-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-event-card-copy strong{font-size:12px}.calendar-event-card-copy span{color:var(--muted);align-items:center;gap:4px;font-size:10px;display:flex}.calendar-event-card-copy small{color:var(--muted);font-size:9px}.calendar-event-status{border:1px solid var(--line);color:var(--muted);text-transform:uppercase;border-radius:99px;flex:none;padding:5px 7px;font-size:8px;font-weight:800}.calendar-event-status.is-scheduled{color:var(--green);background:#7fe58a14;border-color:#7fe58a47}.calendar-event-status.is-played{color:var(--amber);background:#f5b94214;border-color:#f5b94247}.calendar-event-status.is-postponed{color:#a9c7ff;background:#a9c7ff14;border-color:#a9c7ff47}.calendar-event-status.is-cancelled{color:var(--danger);background:#ee777714;border-color:#ee777747}@media (min-width:720px){.app-header{padding-top:32px}.page-content{padding-top:34px}.bottom-nav{border:1px solid var(--line);border-radius:16px;width:max-content;bottom:18px;left:auto;right:50%;transform:translate(50%)}}@media (max-width:719px){.bottom-nav{gap:4px}.nav-button{flex:1;min-width:0;padding-left:7px;padding-right:7px}}@media (max-width:430px){.modal-backdrop{align-items:start;padding:10px}.modal-card{border-radius:16px;max-height:calc(100dvh - 20px);padding:16px}.modal-heading{margin-bottom:14px}.modal-card .auth-form{gap:11px}.attendance-card{flex-wrap:wrap;align-items:flex-start}.attendance-card .player-main{padding-top:3px}.attendance-actions{justify-content:flex-start;width:100%;margin-left:48px}.attendance-choice{flex:1;justify-content:center}.available-player-grid{grid-template-columns:1fr}.lineup-summary p{display:none}.calendar-day{min-height:64px;padding:5px 3px}.calendar-day-number{width:21px;height:21px;font-size:10px}.calendar-event{padding:2px 3px}.calendar-event>span:last-child{font-size:8px}.calendar-event-status{display:none}.stats-season-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-season-heading{flex-direction:column;align-items:stretch}.stats-sort{max-width:none}}
