:root{--navy: #062650;--navy-light: #0d3e72;--blue: #17518f;--maroon: #9d1727;--maroon-dark: #74101d;--red: #b92032;--green: #0b9360;--green-dark: #09643f;--green-soft: #e1f6eb;--gold: #edae10;--yellow-soft: #fff6d9;--yellow-ink: #7d5b11;--ink: #102344;--muted: #65748c;--line: #e1e6ed;--canvas: #f3f6fa;--card: #ffffff;--body: Arial, Helvetica, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--canvas);color:var(--ink);font:400 14px/1.35 var(--body);-webkit-font-smoothing:antialiased}button,input{font:inherit}button{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible{outline:3px solid rgba(237,174,16,.8);outline-offset:2px}.app-shell{min-height:100dvh;overflow:hidden;position:relative}.club-header{background:linear-gradient(140deg,#02142ef0,#07365be6),linear-gradient(35deg,transparent 35%,rgba(111,167,185,.22) 35%,transparent 36%),linear-gradient(160deg,#09294e,#2b5c70);color:#fff;min-height:154px;overflow:hidden;padding:max(8px,env(safe-area-inset-top)) 18px 18px;position:relative}.club-header:before{background:linear-gradient(117deg,transparent 0 42%,rgba(142,193,204,.12) 42.5% 43%,transparent 43.5%),linear-gradient(75deg,transparent 0 67%,rgba(142,193,204,.1) 67.5% 68%,transparent 68.5%);content:"";inset:0;opacity:.8;pointer-events:none;position:absolute}.club-header:after{border-bottom:5px solid rgba(255,255,255,.75);border-radius:50%;bottom:-11px;content:"";height:22px;left:-5%;position:absolute;transform:rotate(-2deg);width:110%}.header-brand{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-top:0;position:relative;z-index:1}.brand-lockup{align-items:center;display:flex;gap:10px;min-width:0}.brand-logo-wrap{align-items:center;display:flex;flex:0 0 102px;height:102px;justify-content:center;overflow:hidden;width:102px}.brand-logo{height:100%;object-fit:contain;width:100%}.brand-copy{min-width:0}.brand-name{font-size:22px;font-weight:800;letter-spacing:-.045em;line-height:.98;white-space:nowrap}.brand-tagline{font-size:9px;font-weight:700;letter-spacing:.04em;margin-top:8px;white-space:nowrap}.brand-slogan{align-self:center;color:#fff;font-family:Brush Script MT,Segoe Script,cursive;font-size:19px;line-height:1.05;margin:-18px 18px 0 0;max-width:124px;text-align:center;transform:rotate(-8deg)}.brand-slogan em{display:inline-block;margin-left:16px}.account-bar{align-items:center;display:flex;gap:8px;justify-content:flex-end;margin:-1px 0 0 auto;max-width:100%;position:relative;z-index:3}.account-name{color:#ffffffd1;font-size:10px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sign-out-button{background:#ffffff1f;border:1px solid rgba(255,255,255,.3);border-radius:7px;color:#fff;cursor:pointer;font-size:10px;font-weight:700;padding:5px 8px}.sign-out-button:hover{background:#fff3}.sync-status{align-items:center;display:flex;flex:1;flex-wrap:wrap;font-size:10px;gap:5px;margin-right:auto;min-width:0;overflow-wrap:anywhere}.sync-status button{background:#ffffff29;border:1px solid rgba(255,255,255,.55);border-radius:5px;color:#fff;cursor:pointer;font:inherit;font-weight:700;padding:3px 6px}.sync-status button:focus-visible{outline:2px solid #fff;outline-offset:2px}.sync-dot{background:#8ea4ba;border-radius:50%;display:inline-block;height:7px;width:7px}.sync-status.is-synced .sync-dot{background:#7ee2ae}.sync-status.is-deferred .sync-dot{background:#e6c36a}.sync-status.is-saving .sync-dot,.sync-status.is-connecting .sync-dot{animation:syncPulse 1s ease-in-out infinite;background:var(--gold)}.sync-status.is-error .sync-dot,.sync-status.is-auth .sync-dot,.sync-status.is-conflict .sync-dot{background:#ffb1bb}.sync-status.is-offline .sync-dot{background:#e6c36a}@keyframes syncPulse{50%{opacity:.35;transform:scale(.65)}}.header-ball{background:radial-gradient(circle at 28% 30%,rgba(255,255,255,.5) 0 4%,transparent 5%),radial-gradient(circle at 56% 58%,rgba(42,89,20,.65) 0 4%,transparent 5%),radial-gradient(circle at 70% 27%,rgba(42,89,20,.65) 0 4%,transparent 5%),radial-gradient(circle at 31% 70%,rgba(42,89,20,.65) 0 4%,transparent 5%),#c5ef28;border:2px solid rgba(93,138,10,.75);border-radius:50%;bottom:-34px;box-shadow:inset -10px -7px #3d6f0a24,0 8px 18px #0000002e;height:74px;position:absolute;right:16px;transform:rotate(18deg);width:74px;z-index:1}.header-ball span{border:1px solid rgba(44,94,13,.55);border-radius:50%;height:9px;position:absolute;width:14px}.header-ball span:nth-child(1){left:16px;top:15px;transform:rotate(28deg)}.header-ball span:nth-child(2){right:11px;top:27px;transform:rotate(-30deg)}.header-ball span:nth-child(3){bottom:12px;left:24px;transform:rotate(-20deg)}.header-ball span:nth-child(4){bottom:26px;right:20px;transform:rotate(25deg)}.page{margin:0 auto;max-width:683px;padding:9px 14px 108px}.session-card,.attendance-section{background:var(--card);border:1px solid #e2e7ed;border-radius:16px;box-shadow:0 5px 13px #122d4a14}.session-card{overflow:hidden;padding:10px 10px 11px;position:relative}.session-top{align-items:center;display:grid;gap:9px;grid-template-columns:108px minmax(0,1fr) 88px}.date-card{align-self:stretch;background:#fff;border:1px solid #dce3eb;border-radius:13px;box-shadow:0 2px 5px #122d4a14;color:var(--ink);min-height:134px;overflow:hidden;text-align:center}.date-card span,.date-card strong{display:block}.date-card .date-day{background:var(--maroon);color:#fff;font-size:16px;font-weight:800;letter-spacing:.08em;padding:7px 4px}.date-card .date-number{font-size:51px;font-weight:800;letter-spacing:-.07em;line-height:.98;margin-top:8px}.date-card .date-month{color:#52647b;font-size:14px;margin-top:4px}.session-copy{min-width:0}.session-label{align-items:center;color:var(--blue);display:flex;font-size:10px;font-weight:800;gap:6px;letter-spacing:.02em;white-space:nowrap}.session-label svg{flex:0 0 auto}.session-copy h1{color:var(--navy);font-size:clamp(24px,7vw,42px);font-weight:800;letter-spacing:-.045em;line-height:.98;margin:6px 0 0}.session-copy p{color:var(--maroon);font-size:clamp(17px,4.5vw,24px);font-weight:800;line-height:1;margin:7px 0 0}.see-tile{align-items:center;background:var(--green-soft);border-radius:12px;color:var(--green-dark);display:flex;flex-direction:column;font-size:15px;font-weight:800;justify-content:center;line-height:1.1;min-height:134px;padding:8px 4px;text-align:center}.see-tile svg{margin-bottom:7px}.info-grid{border:1px solid #edf0f4;border-radius:13px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:11px;overflow:hidden}.info-item{align-items:center;display:flex;gap:10px;min-height:91px;padding:11px 10px}.info-item:nth-child(odd){border-right:1px solid #edf0f4}.info-item:nth-child(-n+2){border-bottom:1px solid #edf0f4}.info-icon{align-items:center;display:flex;flex:0 0 45px;height:45px;justify-content:center}.info-icon svg{height:39px;width:39px}.time-icon{color:var(--maroon)}.venue-icon{color:var(--red)}.courts-icon{color:var(--green-dark)}.fee-icon{color:var(--gold)}.info-item>div:last-child{min-width:0}.info-item span{color:#50627a;display:block;font-size:13px}.info-item strong{color:var(--ink);display:block;font-size:16px;line-height:1.14;margin-top:3px}.info-item small{color:#52647b;display:block;font-size:13px;line-height:1.18;margin-top:3px}.fee-info small:last-child{margin-top:2px}.fee-info small b{color:var(--maroon);font-size:15px}.monthly-fee-card{background:#f5f8fb;border:1px solid #dce4ed;border-radius:12px;margin-top:12px;padding:13px}.monthly-fee-heading{align-items:center;display:flex;gap:12px;justify-content:space-between}.monthly-fee-heading span{color:var(--blue);display:block;font-size:10px;font-weight:800;letter-spacing:.06em}.monthly-fee-heading strong{color:var(--navy);display:block;font-size:26px;line-height:1.2}.monthly-fee-heading small,.monthly-fee-card>small{color:#52647b;display:block;font-size:10px;line-height:1.4}.monthly-fee-list{border-top:1px solid #dce4ed;margin:11px 0 8px;padding-top:4px}.monthly-fee-row{align-items:center;display:flex;gap:8px;justify-content:space-between;min-height:31px}.monthly-fee-row span{color:#52647b;flex:1;font-size:11px}.monthly-fee-row b{color:var(--ink);font-size:12px}.monthly-fee-row button{align-items:center;background:transparent;border:0;color:var(--blue);cursor:pointer;display:flex;padding:6px}.overall-expense-card{border-top:1px solid #dce4ed;margin-top:14px;padding:15px 3px 0}.overall-expense-heading{align-items:flex-end;display:flex;flex-wrap:wrap;gap:4px 12px;justify-content:space-between}.overall-expense-heading span{color:var(--blue);display:block;font-size:10px;font-weight:800;letter-spacing:.05em}.overall-expense-heading strong{color:var(--navy);display:block;font-size:23px}.overall-expense-heading small,.expense-hint{color:#52647b;font-size:10px;line-height:1.4}.expense-hint{margin:2px 0 0}.expense-chart-wrap{width:100%}.expense-chart{display:block;height:auto;width:100%}.expense-chart--mobile{display:none}.expense-chart text{fill:#52647b;font-family:Arial,sans-serif;font-size:11px}@media(max-width:539px){.expense-chart--desktop{display:none}.expense-chart--mobile{display:block}}.expense-empty{color:#52647b;font-size:12px;line-height:1.5}.expense-older-list{border-top:1px solid #dce4ed;margin-top:12px;padding-top:9px}.expense-older-list>strong{color:var(--navy);font-size:12px}.dashboard-actions{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:10px}.dashboard-actions button{align-items:center;background:var(--navy);border:0;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:11px;font-weight:700;gap:6px;justify-content:center;min-height:38px;padding:7px}.dashboard-actions button:last-child{background:var(--maroon)}.dashboard-actions button:disabled{opacity:.6}.fee-delete-button{background:transparent;border:1px solid var(--maroon);border-radius:8px;color:var(--maroon);cursor:pointer;margin-top:9px;padding:9px;width:100%}.fee-delete-button[hidden]{display:none}.edit-session-button{align-items:center;background:transparent;border:1px solid #ccd8e5;border-radius:8px;color:var(--blue);cursor:pointer;display:inline-flex;float:right;font-size:10px;font-weight:700;gap:4px;margin-top:8px;padding:5px 8px}.edit-session-button:hover{background:#edf4fb}.attendance-section{margin-top:10px;padding:8px;position:relative}.attendance-header{align-items:start;display:grid;gap:5px;grid-template-areas:"title" "counts";grid-template-columns:1fr}.attendance-title{align-items:center;display:flex;gap:9px;grid-area:title;min-width:0}.attendance-icon{color:var(--maroon);flex:0 0 51px}.attendance-title h2{color:var(--navy);font-size:27px;letter-spacing:-.04em;line-height:1;margin:0}.attendance-title p{color:#52647b;font-size:13px;line-height:1.15;margin-top:4px}.count-grid{display:grid;gap:6px;grid-area:counts;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}.count-card{border-radius:8px;min-height:50px;padding:4px 3px;text-align:center}.count-card strong{display:block;font-size:22px;line-height:1}.count-card span{display:block;font-size:9px;line-height:1.05;margin-top:3px}.count-card.attending{background:var(--green-soft);color:var(--green-dark)}.count-card.unconfirmed{background:var(--yellow-soft);color:var(--yellow-ink)}.count-card.absent{background:#fde4e6;color:var(--maroon)}.count-card.total{background:#edf1f7;color:#42546d}.add-player-button{align-items:center;background:transparent;border:1px solid #d6dfeb;border-radius:8px;color:var(--maroon);cursor:pointer;display:inline-flex;font-size:11px;font-weight:700;gap:4px;grid-area:auto;margin:0;padding:4px 7px}.add-player-button:hover{background:#fff4f5}.attendance-actions{align-items:center;display:flex;gap:5px;position:absolute;right:8px;top:8px}.reset-attendance-button{align-items:center;background:#f4f7fa;border:1px solid #d6dfeb;border-radius:8px;color:var(--navy);cursor:pointer;display:inline-flex;font-size:10px;font-weight:700;gap:3px;min-height:27px;padding:4px 6px}.reset-attendance-button:hover{background:#e9eff5;color:var(--maroon)}.attendance-list{display:grid;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:5px}.player-column{display:grid;gap:4px;min-width:0}.player-row{align-items:center;background:#fff;border:1px solid #edf0f4;border-radius:8px;box-shadow:0 2px 5px #122d4a0a;display:grid;gap:3px;grid-template-columns:22px minmax(0,1fr) auto;min-height:37px;padding:3px 5px;position:relative}.player-number{color:#5c6d83;font-size:12px;font-weight:700;text-align:center}.player-name{font-size:12px;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-actions{align-items:center;display:flex;gap:2px;min-width:0}.status-toggle{align-items:center;border:0;border-radius:6px;cursor:pointer;display:inline-flex;font-size:8px;font-weight:700;gap:4px;min-height:25px;padding:0 4px;white-space:nowrap}.status-toggle.is-attending{background:var(--green-soft);color:var(--green-dark)}.status-toggle.is-unconfirmed{background:var(--yellow-soft);color:var(--yellow-ink)}.status-toggle.is-absent{background:#fde4e6;color:var(--maroon)}.status-symbol{align-items:center;display:inline-flex;font-size:13px;line-height:1}.status-toggle.is-unconfirmed{font-size:6.5px;letter-spacing:-.03em}.status-toggle:hover{filter:brightness(.97);transform:translateY(-1px)}.remove-player{background:transparent;border:0;color:#9aa9bc;cursor:pointer;bottom:1px;font-size:15px;line-height:1;padding:0;position:absolute;right:2px}.remove-player:hover{color:var(--maroon)}.empty-state{background:#fff;border:1px dashed #cbd7e4;border-radius:10px;color:var(--muted);grid-column:1 / -1;padding:22px;text-align:center}.ready-button{align-items:center;background:linear-gradient(135deg,var(--maroon),var(--red));border:0;border-radius:11px;box-shadow:0 6px 13px #9d172733;color:#fff;cursor:pointer;display:flex;gap:17px;justify-content:center;margin-top:11px;min-height:72px;padding:0 18px;transition:filter .2s ease,transform .2s ease;width:100%}.ready-button span{font-size:25px;font-weight:800}.ready-button svg:last-child{margin-left:auto}.ready-button:hover{filter:brightness(1.06);transform:translateY(-2px)}.ready-button:active{transform:scale(.98)}.bottom-nav{align-items:end;background:#fffffff7;border-radius:23px 23px 0 0;bottom:0;box-shadow:0 -5px 17px #122d4a14;display:flex;justify-content:space-around;left:0;padding:9px 7px max(8px,env(safe-area-inset-bottom));position:fixed;right:0;z-index:10}.nav-item{align-items:center;background:transparent;border:0;border-radius:12px;color:#718097;cursor:pointer;display:flex;flex:1;flex-direction:column;font-size:12px;gap:3px;justify-content:center;min-height:52px;max-width:120px;transition:color .2s ease,transform .2s ease}.nav-item.active{color:var(--maroon);font-weight:800}.nav-item.active svg{stroke-width:2.4}.nav-item:hover:not(.active){color:var(--navy);transform:translateY(-1px)}.toast{background:var(--navy);border-left:4px solid var(--gold);border-radius:10px;bottom:88px;box-shadow:0 10px 24px #06265033;color:#fff;font-size:12px;left:16px;max-width:calc(100% - 32px);opacity:0;padding:11px 13px;pointer-events:none;position:fixed;transform:translateY(12px);transition:opacity .25s ease,transform .25s ease;z-index:20}.toast.show{opacity:1;transform:translateY(0)}.modal-backdrop{align-items:end;background:#06265099;display:flex;inset:0;justify-content:center;opacity:0;pointer-events:none;position:fixed;transition:opacity .25s ease;z-index:30}.modal-backdrop.open{opacity:1;pointer-events:auto}.modal{background:var(--card);border-radius:21px 21px 0 0;box-shadow:0 -14px 36px #06265033;max-height:92dvh;max-width:540px;overflow:auto;padding:22px 18px 28px;transform:translateY(18px);transition:transform .3s ease;width:100%}.modal-small{max-width:480px}.modal-backdrop.open .modal{transform:translateY(0)}.modal-head{align-items:start;display:flex;justify-content:space-between;margin-bottom:19px}.eyebrow{color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.modal h2{color:var(--navy);font-size:25px;line-height:1;margin:5px 0 0}.modal-close{background:transparent;border:0;color:var(--navy);cursor:pointer;padding:2px}.modal form{display:grid;gap:13px}.modal label{color:var(--ink);display:grid;font-size:11px;font-weight:700;gap:6px}.modal input{background:#f4f7fa;border:1px solid var(--line);border-radius:9px;color:var(--ink);min-height:43px;outline:0;padding:0 11px;width:100%}.modal input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #17518f1f}.form-grid{display:grid;gap:10px;grid-template-columns:1fr 1fr}.currency-input{align-items:center;display:flex;position:relative}.currency-input span{color:var(--muted);font-size:13px;left:11px;position:absolute}.currency-input input{padding-left:35px}.edit-preview{align-items:center;background:var(--green-soft);border-radius:10px;display:flex;justify-content:space-between;padding:12px}.edit-preview span{color:var(--green-dark);font-size:11px}.edit-preview strong{color:var(--maroon);font-size:20px}.modal-submit{background:var(--maroon);border:0;border-radius:10px;color:#fff;cursor:pointer;font-weight:800;min-height:47px;width:100%}.modal-submit:hover{background:var(--red)}.past-fee-option{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.past-fee-option span{color:var(--navy);font-size:12px;font-weight:800}.past-fee-option p{color:var(--muted);font-size:11px;line-height:1.4;margin:5px 0 10px}.past-fee-option button{background:#f4f7fa;border:1px solid var(--line);border-radius:8px;color:var(--navy);cursor:pointer;font-size:11px;font-weight:700;padding:9px 12px}.modal-secondary{background:#f4f7fa;border:1px solid var(--line);border-radius:10px;color:var(--navy);cursor:pointer;font-weight:800;min-height:47px;width:100%}.modal-secondary:hover{background:#e9eff5}.pwa-install-help{background:#eef4f8;border-radius:10px;color:var(--muted);font-size:12px;line-height:1.5;margin:8px 0 14px;padding:12px 14px}.more-shop-option:disabled{cursor:default;opacity:.7}.sync-choice-summary{background:#f4f7fa;border:1px solid var(--line);border-radius:10px;display:grid;gap:1px;margin:0 0 14px;overflow:hidden}.sync-choice-summary div{background:#fff;display:flex;justify-content:space-between;gap:12px;padding:10px 12px}.sync-choice-summary strong{color:var(--navy);font-size:11px}.sync-choice-summary span{color:var(--muted);font-size:10px;text-align:right}.sync-modal p{color:var(--muted);font-size:12px;margin:0 0 16px}.sync-choice-actions{display:grid;gap:9px}.auth-shell{align-items:center;background:linear-gradient(140deg,#02142ef5,#07365bf0),var(--navy);display:flex;justify-content:center;min-height:100dvh;padding:24px 16px}.auth-card{background:#fff;border-radius:20px;box-shadow:0 22px 55px #0000003d;max-width:430px;padding:24px;width:100%}.auth-logo{display:block;height:90px;margin:0 auto 10px;object-fit:contain;width:90px}.auth-card .eyebrow{text-align:center}.auth-card h1{color:var(--navy);font-size:27px;margin:8px 0;text-align:center}.auth-card>p{color:var(--muted);font-size:13px;margin:0 auto 20px;max-width:330px;text-align:center}.auth-error{background:#fff0f1;border:1px solid #f3b7bf;border-radius:9px;color:var(--maroon-dark);font-size:12px;margin-bottom:12px;padding:10px 11px}.auth-submit{background:var(--maroon);border:0;border-radius:10px;color:#fff;cursor:pointer;font-weight:800;min-height:47px;width:100%}.auth-submit:hover{background:var(--red)}.auth-submit:disabled{cursor:wait;opacity:.65}.auth-secondary{background:#f4f7fa;border:1px solid var(--line);border-radius:10px;color:var(--navy);cursor:pointer;font-weight:800;margin-top:10px;min-height:43px;width:100%}.auth-secondary:hover{background:#e9eff5}.access-form{display:grid;gap:13px}.access-form label{color:var(--ink);display:grid;font-size:11px;font-weight:700;gap:6px}.access-form input{background:#f4f7fa;border:1px solid var(--line);border-radius:9px;color:var(--ink);min-height:43px;outline:0;padding:0 11px;width:100%}.access-form input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #17518f1f}.auth-note{color:var(--muted);display:block;font-size:10px;margin-top:12px;text-align:center}.schedule-view{background:var(--canvas);position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;transform:translateY(100%);opacity:0;visibility:hidden;transition:transform .35s cubic-bezier(.16,1,.3,1),opacity .35s ease,visibility .35s}@media(min-width:540px){.schedule-view{max-width:683px;margin:0 auto;border-left:1px solid var(--line);border-right:1px solid var(--line);box-shadow:0 0 40px #0626501a}}.schedule-view.open{transform:translateY(0);opacity:1;visibility:visible}.games-view{background:#f3f6fa;opacity:1;isolation:isolate;transition:transform .35s cubic-bezier(.16,1,.3,1),visibility .35s}.ranking-view,.more-view,.shop-view{background:#f3f6fa;isolation:isolate;opacity:1;transition:transform .35s cubic-bezier(.16,1,.3,1),visibility .35s}.more-heading{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.08em;margin:3px 0 12px;text-transform:uppercase}.more-shop-option{align-items:center;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 4px 12px #122d4a0f;cursor:pointer;display:flex;gap:13px;padding:15px;text-align:left;width:100%}.more-shop-option>span:nth-child(2){display:grid;flex:1;gap:4px}.more-shop-option strong{color:var(--navy);font-size:16px}.more-shop-option small{color:var(--muted);font-size:11px}.more-shop-option>svg{color:var(--muted)}.more-shop-option:hover{border-color:var(--blue)}.more-shop-icon{align-items:center;background:#f9edf0;border-radius:10px;color:var(--maroon);display:inline-flex;flex:0 0 46px;height:46px;justify-content:center}.manage-members-option,.financial-menu-option{margin-top:10px}.financial-share-button{min-height:44px;border:0;border-radius:9px;padding:10px 16px;background:var(--blue);color:#fff;font-weight:700;cursor:pointer}.financial-share-button:disabled{opacity:.6;cursor:wait}.financial-total-amount{background:#f0f7f5;border-color:#c9dfd6}.financial-admin-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.financial-admin-actions button{min-height:44px;border:1px solid var(--line);border-radius:8px;padding:8px 12px;background:#fff;color:var(--blue);font-weight:600;cursor:pointer}.financial-admin-actions .financial-reset-button{color:#9d1727;border-color:#dbaeb5}.financial-admin-actions button:disabled{opacity:.5;cursor:not-allowed}.financial-opening-editor{margin-top:18px;border-top:1px solid var(--line);padding-top:12px}.financial-opening-editor summary{color:var(--blue);font-size:14px;font-weight:700;cursor:pointer;padding:8px 0}.financial-opening-editor .financial-form{margin-top:10px}.financial-breakdown{display:flex;justify-content:space-between;gap:12px;font-size:12px;border-top:1px solid var(--line);padding-top:10px}.financial-form{display:grid;gap:14px}.financial-form label{display:grid;gap:6px;color:var(--navy);font-size:13px;font-weight:600}.financial-form input,.financial-form select{min-height:44px;width:100%;border:1px solid var(--line);border-radius:8px;padding:10px;font-size:16px;background:#fff;color:var(--navy);box-sizing:border-box}.financial-form-actions{display:flex;flex-wrap:wrap;gap:10px}.financial-form button,.financial-table button{min-height:44px;border:1px solid var(--line);border-radius:8px;padding:8px 12px;background:#fff;color:var(--blue);cursor:pointer}.financial-form button[type=submit]{background:var(--blue);color:#fff}.financial-description{display:block;margin-top:4px;color:var(--muted);overflow-wrap:anywhere}.financial-view{z-index:60}.financial-summary,.financial-records{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:16px}.financial-eyebrow{color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.08em;margin:0 0 8px}.financial-summary h3{color:var(--navy);font-size:24px;margin:0}.financial-period,.financial-source{color:var(--muted);font-size:12px;line-height:1.6}.financial-totals{display:grid;gap:12px;margin:20px 0}.financial-total{border:1px solid var(--line);border-radius:12px;display:grid;gap:8px;padding:16px}.financial-total>span{color:var(--navy);font-size:13px;font-weight:700}.financial-total strong{color:var(--navy);font-size:clamp(23px,5vw,30px);overflow-wrap:anywhere}.financial-total small{color:var(--muted);font-size:11px}.financial-balance{background:#eef4fa;border-color:#ccdaeb}.financial-notice{background:#fff8e8;border:1px solid #ead5a4;border-radius:10px;color:#715625;font-size:12px;line-height:1.7;padding:12px}.financial-source{margin-bottom:0}.financial-records h3{color:var(--navy);font-size:16px;margin:0 0 16px}.financial-table-wrap{overflow-x:auto}.financial-table{border-collapse:collapse;width:100%;font-size:12px}.financial-table th,.financial-table td{border-bottom:1px solid var(--line);padding:12px 5px;text-align:left}.financial-table th{color:var(--muted);font-size:11px}.financial-table th:last-child,.financial-table td:last-child{text-align:right;white-space:nowrap}.financial-table tfoot th,.financial-table tfoot td{color:var(--navy);font-weight:800}.financial-empty{color:var(--muted);font-size:13px;line-height:1.6}@media(min-width:560px){.financial-totals{grid-template-columns:repeat(3,minmax(0,1fr))}}.cloud-transfer-heading{margin-top:24px}.cloud-transfer-help{color:var(--muted);font-size:12px;line-height:1.5;margin:0 0 12px}.cloud-transfer-import{margin-top:10px}.cloud-backup-export{padding:12px;border:1px solid var(--border, #dce4ed);border-radius:12px;margin-top:10px;overflow-wrap:anywhere}.cloud-backup-warning{margin:0;font-size:13px;line-height:1.5;font-weight:600}.cloud-backup-export [role=status]{font-size:13px;line-height:1.5}.cloud-backup-error{color:#9d1727;background:#fff1f2;padding:10px;border-radius:8px;font-size:13px;line-height:1.5}.cloud-backup-actions{display:flex;flex-wrap:wrap;gap:10px}.cloud-backup-actions[hidden],.cloud-backup-error[hidden]{display:none}.cloud-backup-actions button{min-height:44px;padding:10px 16px;border:1px solid #c8d5e5;border-radius:8px;background:#edf3f9;color:#062650;font:inherit;font-weight:700;cursor:pointer}.cloud-backup-actions button:disabled{opacity:.55;cursor:wait}.cloud-backup-actions small{flex-basis:100%;color:var(--muted);line-height:1.5}.member-management{background:#fff;border:1px solid var(--line);border-radius:13px;margin-top:12px;padding:14px}.member-management-heading{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:11px}.member-management-heading>div{display:grid;gap:3px}.member-management-heading strong{color:var(--navy);font-size:15px}.member-management-heading small,.member-request small{color:var(--muted);font-size:10px}.member-management-heading .shop-retry{align-items:center;display:inline-flex;gap:4px;margin:0}.member-management-state{color:var(--muted);font-size:12px;padding:12px 2px;text-align:center}.member-management-state.auth-error{text-align:left}.member-management-state .shop-retry{display:block;margin-top:10px}.member-request{align-items:center;border-top:1px solid var(--line);display:flex;gap:9px;justify-content:space-between;padding:11px 0}.member-request>div:first-child{display:grid;gap:3px;min-width:0}.member-request strong{color:var(--ink);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-request-actions{display:flex;flex:0 0 auto;gap:5px}.member-request-actions button{border:0;border-radius:7px;color:#fff;cursor:pointer;font-size:10px;font-weight:800;padding:7px 9px}.member-request-actions button:disabled{cursor:wait;opacity:.55}.member-approve{background:var(--green-dark)}.member-reject{background:var(--maroon)}.shop-intro{background:linear-gradient(135deg,var(--navy),var(--navy-light));border-radius:14px;color:#fff;margin-bottom:14px;padding:21px 18px}.shop-intro span{color:#b9d6f1;font-size:10px;font-weight:800;letter-spacing:.14em}.shop-intro h3{font-size:24px;line-height:1.1;margin:8px 0 4px}.shop-intro p{color:#e8f1f9;font-size:12px;margin:0}.shop-setup{align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:13px;display:flex;flex-direction:column;padding:19px}.shop-setup h3{color:var(--navy);font-size:16px;margin:13px 0 4px}.shop-setup p{color:var(--ink);font-size:12px;line-height:1.55;margin:0 0 12px}.shop-setup small{border-top:1px solid var(--line);color:var(--muted);font-size:11px;line-height:1.5;padding-top:12px}.shop-photo{background:#fff;border:1px solid var(--line);border-radius:13px;display:block;height:auto;margin-bottom:14px;max-height:430px;object-fit:contain;width:100%}.shop-product{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden}.shop-product .shop-photo{border:0;border-bottom:1px solid var(--line);border-radius:0;margin:0}.shop-product-details{padding:17px}.shop-product-details>span{color:var(--maroon);font-size:10px;font-weight:800;letter-spacing:.09em}.shop-product-details h3{color:var(--navy);font-size:19px;line-height:1.2;margin:7px 0}.shop-product-details>strong{color:var(--maroon);display:block;font-size:22px;margin-bottom:8px}.shop-product-details p,.shop-product-details small{color:var(--muted);font-size:11px;line-height:1.5}.shop-product-details form{display:grid;gap:13px;margin:18px 0 12px}.shop-product-details label{color:var(--ink);display:grid;font-size:12px;font-weight:800;gap:6px}.shop-product-details input,.shop-product-details select{background:#f7f9fb;border:1px solid var(--line);border-radius:8px;color:var(--ink);font-size:14px;min-height:44px;padding:8px 10px;width:100%}.shop-product-details button{background:var(--maroon);border:0;border-radius:9px;color:#fff;cursor:pointer;font-size:13px;font-weight:800;min-height:46px}.shop-product-details button:disabled{cursor:wait;opacity:.6}.shop-retry{background:#f4f7fa;border:1px solid var(--line);border-radius:8px;color:var(--navy);cursor:pointer;font-size:11px;font-weight:800;margin-top:15px;padding:9px 12px}.ranking-header-spacer{width:40px}.ranking-view-switcher{background:#e9eef3;border:1px solid var(--line);border-radius:12px;display:grid;gap:4px;grid-template-columns:repeat(3,1fr);margin-bottom:12px;padding:4px}.ranking-view-switcher button{background:transparent;border:0;border-radius:9px;color:var(--muted);cursor:pointer;font:inherit;font-size:10px;font-weight:800;padding:10px 5px}.ranking-view-switcher button.is-active{background:#fff;box-shadow:0 2px 7px #122d4a1f;color:var(--navy)}.ranking-view-switcher button:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.ranking-overview{background:linear-gradient(135deg,var(--navy),var(--navy-light));border-radius:14px;box-shadow:0 8px 20px #06265029;color:#fff;margin-bottom:14px;padding:18px 16px 16px}.ranking-overview>span{color:#b9d6f1;font-size:9px;font-weight:800;letter-spacing:.14em}.ranking-overview h3{font-size:25px;letter-spacing:-.035em;line-height:1;margin:6px 0 0}.ranking-overview h4{color:#fff4ce;font-size:14px;margin:7px 0 0}.ranking-overview>p{color:#e8f1f9;font-size:11px;margin:8px 0 14px}.ranking-method{background:#ffffff1a;border-left:3px solid var(--gold);border-radius:8px;display:grid;gap:3px;padding:10px 11px}.ranking-method strong{color:#fff4ce;font-size:11px}.ranking-method span{color:#e8f1f9;font-size:10px;line-height:1.4}.ranking-baseline-actions{align-items:center;display:flex;gap:8px;margin-top:11px}.ranking-baseline-actions button{align-items:center;background:#fff;border:0;border-radius:8px;color:var(--navy);cursor:pointer;display:inline-flex;font-size:10px;font-weight:800;gap:4px;padding:8px 10px}.ranking-baseline-actions button:hover{background:#fff4ce}.ranking-baseline-actions span{color:#d7e8f5;font-size:9px}.ranking-editor-modal{max-width:720px}.ranking-editor-intro{color:var(--muted);font-size:11px;line-height:1.4;margin:-8px 0 14px}.ranking-editor-table-wrap{border:1px solid var(--line);border-radius:10px;overflow-x:auto}.ranking-editor-table{border-collapse:collapse;font-size:10px;min-width:610px;width:100%}.ranking-editor-table th{background:#f4f7fa;color:var(--muted);font-size:8px;padding:8px 4px;text-align:center;text-transform:uppercase}.ranking-editor-table th:nth-child(2){min-width:130px;text-align:left}.ranking-editor-table td{border-top:1px solid #edf0f4;padding:4px}.ranking-editor-table td:first-child{color:var(--muted);font-weight:800;text-align:center;width:28px}.ranking-editor-table input{min-height:34px;padding:0 6px}.ranking-editor-table input[type=number]{text-align:center;width:58px}.ranking-editor-actions{display:grid;gap:8px;grid-template-columns:1fr 1fr;margin-top:14px}.ranking-export-actions{display:grid;gap:9px;grid-template-columns:1fr 1fr;margin-bottom:14px}.ranking-export-actions button{align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;color:var(--navy);cursor:pointer;display:flex;gap:8px;min-height:55px;padding:9px 10px;text-align:left}.ranking-export-actions button:last-child{background:var(--maroon);border-color:var(--maroon);color:#fff}.ranking-export-actions button:disabled{cursor:wait;opacity:.6}.ranking-export-actions span{display:grid;min-width:0}.ranking-export-actions strong{font-size:11px}.ranking-export-actions small{color:var(--muted);font-size:8px}.ranking-export-actions button:last-child small{color:#ffe5e8}.ranking-table-card{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 4px 12px #122d4a0f;overflow:hidden}.ranking-table-wrap{overflow-x:auto}.ranking-table{border-collapse:collapse;font-size:11px;min-width:620px;table-layout:fixed;width:100%}.ranking-table th{background:#f4f7fa;border-bottom:1px solid var(--line);color:var(--muted);font-size:8px;letter-spacing:.02em;padding:10px 3px;text-align:center;text-transform:uppercase}.ranking-table th:nth-child(2){text-align:left}.ranking-table th:nth-child(1){width:54px}.ranking-table th:nth-child(2){width:120px}.ranking-table th:nth-child(n+3){width:56px}.ranking-table td{border-bottom:1px solid #edf0f4;overflow:hidden;padding:10px 3px;text-align:center;text-overflow:ellipsis}.ranking-table tr:last-child td{border-bottom:0}.rank-number{align-items:center;background:#edf1f7;border-radius:50%;color:var(--navy);display:inline-flex;font-size:11px;font-weight:800;height:25px;justify-content:center;width:25px}.rank-number.is-1{background:#fff0b8;color:#8a6300}.rank-number.is-2{background:#e8edf2;color:#52647b}.rank-number.is-3{background:#f6dfd2;color:#91502c}.ranking-player{align-items:center;display:flex;min-width:0;text-align:left}.ranking-player strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ranking-win,.ranking-positive{color:var(--green-dark);font-weight:800}.ranking-loss,.ranking-negative{color:var(--maroon)}.ranking-points{color:var(--navy);font-size:13px;font-weight:900}.rank-number{align-items:center;display:inline-flex;gap:2px;justify-content:center;min-width:0}.rank-number b{font-size:11px}.ranking-empty{background:var(--yellow-soft);color:var(--yellow-ink);font-size:11px;padding:12px;text-align:center}.ranking-footnote{color:var(--muted);font-size:10px;margin:10px 2px 0;text-align:center}.schedule-header{background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:max(12px,env(safe-area-inset-top)) 16px 12px;box-shadow:0 2px 8px #122d4a0d;position:relative;z-index:2}.schedule-header h2{font-size:18px;font-weight:800;color:var(--navy);margin:0;letter-spacing:-.02em}.schedule-back,.schedule-regenerate{background:transparent;border:none;cursor:pointer;display:flex;align-items:center;gap:4px;color:var(--maroon);font-size:13px;font-weight:700;padding:8px;border-radius:8px}.games-add-header{align-items:center;background:var(--maroon);border:0;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:12px;font-weight:800;gap:4px;padding:8px 10px}.games-header-actions{align-items:center;display:flex;gap:5px}.games-archive-header{align-items:center;background:#f4f7fa;border:1px solid var(--line);border-radius:8px;color:var(--navy);cursor:pointer;display:flex;font-size:10px;font-weight:800;gap:3px;padding:7px 8px}.games-archive-header:hover{background:#e9eff5;color:var(--maroon)}.schedule-back:hover,.schedule-regenerate:hover{background:#9d172714}.schedule-back span,.schedule-regenerate span{display:none}@media(min-width:540px){.schedule-back span,.schedule-regenerate span{display:inline}}.schedule-content{flex:1;overflow-y:auto;padding:16px;padding-bottom:max(32px,env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}.schedule-loading{color:var(--muted);font-size:13px;padding:28px 12px;text-align:center}.games-overview{background:linear-gradient(135deg,var(--navy),var(--navy-light));border-radius:14px;box-shadow:0 8px 20px #06265029;color:#fff;margin-bottom:12px;padding:17px 16px}.games-overview>span{color:#b9d6f1;font-size:9px;font-weight:800;letter-spacing:.14em}.games-overview h3{font-size:23px;line-height:1;margin:6px 0 0}.games-overview p{color:#e8f1f9;font-size:11px;margin:8px 0 14px}.games-save-status{background:#fff1df;border:1px solid #f0c88b;border-radius:8px;color:#75400f;font-size:11px;font-weight:700;line-height:1.4;margin:0 0 12px;padding:9px 11px}.games-save-status.is-synced{background:#e9f7ee;border-color:#a8d7b8;color:#175333}.games-save-status.is-conflict{background:#fff1df;border-color:#f0c88b;color:#75400f}.games-save-status button{background:#fff;border:1px solid currentColor;border-radius:6px;color:inherit;cursor:pointer;font:inherit;margin:4px 4px 0 0;padding:5px 7px}.games-progress{align-items:center;background:#ffffff1a;border-radius:9px;display:flex;gap:9px;padding:9px 11px}.games-progress strong{font-size:22px;line-height:1}.games-progress span{color:#d8e7f4;font-size:10px}.games-ranking-note{align-items:flex-start;background:var(--green-soft);border-left:4px solid var(--green);border-radius:8px;display:grid;gap:2px;margin-bottom:14px;padding:10px 12px}.games-ranking-note strong{color:var(--green-dark);font-size:12px}.games-ranking-note span{color:#366652;font-size:10px}.completed-summary{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:16px;overflow:hidden}.completed-summary-head{align-items:center;display:flex;gap:12px;justify-content:space-between;padding:14px 13px 10px}.completed-summary-head h3{color:var(--navy);font-size:15px;line-height:1.2;margin:0}.completed-summary-head p{color:var(--muted);font-size:10px;margin:4px 0 0}.completed-summary-head button{background:var(--maroon);border:0;border-radius:8px;color:#fff;cursor:pointer;flex:0 0 auto;font-size:10px;font-weight:800;padding:9px 10px}.completed-summary-head button:disabled{cursor:not-allowed;opacity:.5}.summary-week-controls{align-items:center;display:grid;gap:6px;grid-template-columns:auto minmax(0,1fr) auto;margin:0 12px}.summary-week-controls button,.summary-all-button{background:#f4f7fa;border:1px solid var(--line);border-radius:7px;color:var(--navy);cursor:pointer;font-size:10px;font-weight:700;padding:8px}.summary-week-controls button:disabled{cursor:not-allowed;opacity:.45}.summary-week-controls span{color:var(--ink);font-size:11px;font-weight:800;text-align:center}.summary-all-button{background:none;border:0;color:var(--maroon);margin:3px 12px 8px;padding:5px 0}.completed-table-scroll{max-height:310px;overflow:auto}.completed-table{border-collapse:collapse;font-size:10px;min-width:660px;width:100%}.completed-table th{background:#eef3f8;color:var(--navy);font-size:9px;padding:9px 8px;position:sticky;text-align:left;top:0}.completed-table td{border-top:1px solid #e9eef3;color:var(--ink);padding:10px 8px;vertical-align:top}.completed-table td:nth-child(3),.completed-table td:nth-child(5){min-width:133px}.completed-table .completed-score{color:var(--maroon);font-weight:900;white-space:nowrap}.completed-table .completed-empty{color:var(--muted);min-width:0;padding:18px;text-align:center}.completed-summary-note{color:var(--muted);font-size:9px;line-height:1.4;margin:0;padding:10px 13px}.manual-match-list{display:grid;gap:13px}.manual-match-card{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 4px 12px #122d4a0f;overflow:hidden}.manual-match-head{align-items:center;background:#f4f7fa;border-bottom:1px solid var(--line);display:grid;gap:8px;grid-template-columns:minmax(75px,.8fr) minmax(115px,1.2fr) 28px;padding:9px 11px}.manual-match-head>div:first-child{display:grid;gap:3px}.manual-match-head>div:first-child>span{color:var(--navy);font-size:9px;font-weight:800;letter-spacing:.08em}.manual-match-head input{background:#fff;border:1px solid var(--line);border-radius:6px;color:var(--ink);font-size:11px;font-weight:700;min-width:0;padding:5px 6px;width:100%}.match-state{display:grid;gap:1px;text-align:right}.match-state strong{font-size:11px}.match-state small{color:var(--muted);font-size:8px;line-height:1.2}.match-state.is-completed strong{color:var(--green)}.match-state.is-pending strong{color:var(--yellow-ink)}.match-state.is-invalid strong{color:var(--red)}.remove-game-match{background:transparent;border:0;color:var(--muted);cursor:pointer;font-size:21px;padding:0}.manual-teams{align-items:center;display:grid;gap:7px;grid-template-columns:minmax(0,1fr) 25px minmax(0,1fr);padding:12px 10px 14px}.manual-teams fieldset{border:0;display:grid;gap:7px;margin:0;min-width:0;padding:0}.manual-teams legend{color:var(--navy);font-size:11px;font-weight:800;margin-bottom:5px}.manual-teams select,.manual-teams input{background:#f8fafc;border:1px solid #dce3eb;border-radius:7px;color:var(--ink);font-size:11px;min-width:0;padding:8px 6px;width:100%}.manual-teams label{align-items:center;color:var(--muted);display:grid;font-size:9px;font-weight:700;gap:3px;grid-template-columns:1fr 48px;text-transform:uppercase}.manual-teams label input{font-size:16px;font-weight:800;padding:6px 4px;text-align:center}.manual-vs{align-items:center;background:var(--maroon);border-radius:50%;color:#fff;display:flex;font-size:9px;font-weight:800;height:25px;justify-content:center;width:25px}.add-manual-match{align-items:center;background:#fff;border:1px dashed #aeb9c6;border-radius:10px;color:var(--navy);cursor:pointer;display:flex;font-size:12px;font-weight:800;gap:6px;justify-content:center;margin-top:14px;padding:12px;width:100%}.schedule-overview{background:linear-gradient(135deg,var(--navy),var(--navy-light));border-radius:14px;box-shadow:0 8px 20px #06265029;color:#fff;margin-bottom:14px;overflow:hidden}.schedule-overview-copy{padding:16px 16px 13px}.schedule-overview-copy>span{color:#b9d6f1;font-size:9px;font-weight:800;letter-spacing:.14em}.schedule-overview-copy h3{font-size:24px;letter-spacing:-.035em;line-height:1;margin:5px 0 0}.schedule-overview-copy p{color:#e8f1f9;font-size:11px;margin:8px 0 0}.schedule-facts{background:#ffffff14;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.schedule-facts div{border-right:1px solid rgba(255,255,255,.13);padding:10px 4px 11px;text-align:center}.schedule-facts div:last-child{border-right:0}.schedule-facts strong{display:block;font-size:19px;line-height:1}.schedule-facts span{color:#d8e7f4;display:block;font-size:8px;margin-top:4px;text-transform:uppercase}.schedule-pdf-button{align-items:center;background:linear-gradient(135deg,var(--maroon),var(--red));border:0;border-radius:12px;box-shadow:0 6px 16px #9d17272e;color:#fff;cursor:pointer;display:flex;gap:12px;margin:0 0 14px;min-height:62px;padding:10px 14px;text-align:left;width:100%}.schedule-pdf-button>span{display:grid;flex:1;gap:2px}.schedule-pdf-button strong{font-size:14px}.schedule-pdf-button small{color:#ffe7ea;font-size:10px}.schedule-pdf-button:disabled{cursor:wait;opacity:.65}.schedule-pdf-button:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px)}.schedule-warning{background:#fde4e6;border-left:4px solid var(--red);padding:12px 16px;border-radius:8px;margin-bottom:20px}.schedule-warning strong{color:var(--maroon-dark);font-size:14px;display:block}.schedule-warning p{color:var(--red);font-size:13px;margin:4px 0 0}.schedule-warning.is-note{background:var(--yellow-soft);border-left-color:var(--gold)}.schedule-warning.is-note strong,.schedule-warning.is-note p{color:var(--yellow-ink)}.schedule-warning.is-recommendation small{color:var(--yellow-ink);display:block;font-size:11px;font-weight:700;margin-top:7px}.schedule-balance-note{align-items:baseline;background:#edf5fb;border-left:4px solid var(--navy-light);border-radius:8px;color:var(--navy);display:flex;flex-wrap:wrap;font-size:11px;gap:6px;margin:-6px 0 20px;padding:10px 13px}.schedule-balance-note strong{font-size:11px}.schedule-balance-note span{color:var(--muted)}.schedule-section{background:var(--card);border-radius:12px;box-shadow:0 4px 12px #122d4a0f;border:1px solid var(--line);overflow:hidden;margin-bottom:24px}.schedule-section-title{background:var(--navy);color:#fff;margin:0;padding:12px 16px;font-size:14px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.summary-table-wrap{overflow-x:auto}.summary-table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}.summary-table th{background:#f8fafc;color:var(--muted);font-weight:700;padding:10px 16px;border-bottom:1px solid var(--line);white-space:nowrap}.summary-table td{padding:10px 16px;border-bottom:1px solid var(--line);color:var(--ink)}.summary-table tr:last-child td{border-bottom:none}.summary-table td.partners-cell{color:var(--muted);font-size:12px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-rounds{display:grid;gap:16px}.round-card{background:var(--card);border-radius:12px;border:1px solid var(--line);box-shadow:0 4px 12px #122d4a0f;overflow:hidden;animation:slideUpFade .4s ease backwards}.round-card:nth-child(1){animation-delay:.05s}.round-card:nth-child(2){animation-delay:.1s}.round-card:nth-child(3){animation-delay:.15s}.round-card:nth-child(4){animation-delay:.2s}.round-card:nth-child(5){animation-delay:.25s}.round-card:nth-child(n+6){animation-delay:.3s}@keyframes slideUpFade{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.round-header{background:#f0f4f8;border-bottom:1px solid var(--line);padding:10px 16px}.round-header h3{margin:0;color:var(--navy);font-size:15px;font-weight:800}.round-matches{display:grid;gap:1px;background:var(--line)}.match-card{background:#fff;padding:14px 16px;display:grid;grid-template-columns:50px 1fr;align-items:center;gap:16px}.match-court{color:var(--blue);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.05em;text-align:center}.match-teams{display:flex;align-items:center;justify-content:space-between;gap:12px}.team{flex:1;display:flex;flex-direction:column;gap:4px}.team span{display:block;background:var(--canvas);padding:6px 8px;border-radius:6px;font-size:13px;font-weight:700;color:var(--ink);text-align:center;border:1px solid #e1e7ed;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.match-vs{font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;background:#fff;padding:4px;border-radius:12px;border:1px solid var(--line)}.round-rest{padding:12px 16px;background:var(--yellow-soft);border-top:1px solid var(--line);font-size:12px;color:var(--ink)}.round-rest strong{color:var(--yellow-ink)}@media(max-width:370px){.club-header{padding-left:12px;padding-right:12px}.brand-logo-wrap{flex-basis:84px;height:84px;width:84px}.brand-name{font-size:18px}.brand-tagline{font-size:7px}.brand-slogan{font-size:15px;margin-right:2px}.session-top{gap:6px;grid-template-columns:84px minmax(0,1fr) 72px}.date-card{min-height:122px}.date-card .date-number{font-size:43px}.see-tile{font-size:12px;min-height:122px}.session-copy h1{font-size:21px}.session-copy p{font-size:15px}.info-item{gap:5px;padding-left:6px;padding-right:6px}.info-icon{flex-basis:35px}.info-icon svg{height:31px;width:31px}.info-item strong{font-size:13px}.info-item small{font-size:11px}.count-grid{gap:4px}.count-card span{font-size:10px}.player-row{gap:2px;grid-template-columns:17px minmax(0,1fr) auto;padding-left:4px;padding-right:4px}.player-name{font-size:13px}.status-toggle{font-size:9px;padding-left:4px;padding-right:4px}.status-toggle.is-unconfirmed{font-size:7px}.ready-button span{font-size:20px}}@media(min-width:540px){.club-header{border-radius:0 0 22px 22px;padding-left:max(18px,calc((100% - 647px)/2));padding-right:max(18px,calc((100% - 647px)/2))}.page{padding-left:18px;padding-right:18px}.bottom-nav{border-radius:20px;bottom:16px;left:50%;max-width:520px;right:auto;transform:translate(-50%);width:calc(100% - 36px)}.toast{bottom:34px;left:30px}.attendance-header{grid-template-areas:"title counts";grid-template-columns:minmax(0,1fr) auto}.count-grid{gap:8px;grid-template-columns:repeat(4,64px);width:auto}.count-card span{font-size:11px}.add-player-button{grid-area:auto;position:static}}.games-view{background:#edf1f5}.games-view .schedule-header{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px 10px;padding:max(10px,env(safe-area-inset-top)) 16px 10px}.games-view .schedule-back{height:48px;justify-content:center;padding:0;width:48px}.games-view .schedule-back span{display:none}.games-view .schedule-header h2{font-size:20px;letter-spacing:-.035em}.games-view .games-header-actions{grid-column:1 / -1;justify-content:flex-end;gap:8px}.games-view .games-add-header,.games-view .games-archive-header{border-radius:10px;font-size:13px;justify-content:center;min-height:48px;padding:10px 14px;white-space:nowrap}.games-view .schedule-content{margin-inline:auto;max-width:780px;padding:16px 16px max(36px,env(safe-area-inset-bottom));width:100%}.games-view button:focus-visible,.games-view select:focus-visible,.games-view input:focus-visible{outline:3px solid #d9a84b;outline-offset:2px}.games-view button:disabled{cursor:not-allowed;opacity:.48}.games-view .games-tabs{background:#dce4ec;border-radius:13px;display:grid;gap:4px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:14px;padding:4px}.games-view .games-tabs button{align-items:center;background:transparent;border:0;border-radius:10px;color:#364e6a;cursor:pointer;display:flex;font-size:14px;font-weight:800;gap:5px;justify-content:center;line-height:1.15;min-height:52px;min-width:0;padding:8px 4px}.games-view .games-tabs button[aria-pressed=true]{background:var(--navy);box-shadow:0 2px 5px #06265029;color:#fff}.games-view .games-tabs button span{background:#06265017;border-radius:20px;font-size:11px;padding:3px 6px}.games-view .games-tabs button[aria-pressed=true] span{background:#fff3}.games-view .games-overview{background:var(--navy);border-radius:14px;box-shadow:none;margin-bottom:10px;padding:16px 18px}.games-view .games-overview>span{font-size:11px;letter-spacing:.12em}.games-view .games-overview h3{font-size:clamp(20px,5vw,26px);line-height:1.13;margin-top:5px}.games-view .games-overview p{font-size:13px;line-height:1.45;margin:7px 0 0}.games-view .games-progress{margin-top:12px}.games-view .games-progress span{font-size:12px;line-height:1.3}.games-view .games-save-status{align-items:center;border-radius:10px;display:flex;flex-wrap:wrap;font-size:12px;gap:6px;line-height:1.45;margin-bottom:16px;min-height:42px;padding:9px 12px}.games-view .games-save-status.is-synced:before{background:currentColor;border-radius:50%;content:"";flex:none;height:8px;width:8px}.games-view .games-save-status button{min-height:48px;padding:10px 12px}.games-view .games-save-status p{margin:0;width:100%}.games-view .match-focus-navigation{align-items:stretch;display:grid;gap:6px;grid-template-columns:minmax(0,1fr) minmax(88px,1.1fr) minmax(0,1fr);margin:18px 0 10px}.games-view .match-focus-navigation button{align-items:center;background:#fff;border:1px solid #c7d2de;border-radius:11px;color:var(--navy);cursor:pointer;display:flex;font-size:13px;font-weight:800;gap:2px;justify-content:center;min-height:54px;min-width:0;padding:8px 3px}.games-view .match-focus-navigation>div{align-content:center;display:grid;min-width:0;text-align:center}.games-view .match-focus-navigation strong{color:var(--navy);font-size:16px;line-height:1.15}.games-view .match-focus-navigation small{color:var(--muted);font-size:11px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.games-view .match-focus-card{background:#fff;border:1px solid #ced8e2;border-radius:16px;box-shadow:0 6px 20px #06265014}.games-view .match-focus-card .manual-match-head{align-items:end;background:#f4f7fa;gap:10px;grid-template-columns:minmax(0,1fr) auto auto;padding:14px 15px}.games-view .match-focus-court{color:#51627a;display:grid;font-size:11px;font-weight:800;gap:5px;letter-spacing:.08em;min-width:0}.games-view .match-focus-card .manual-match-head input{background:#fff;border:1px solid #bdcbd9;border-radius:9px;color:var(--navy);font-size:16px;height:48px;padding:9px 12px}.games-view .match-focus-card .match-state{align-items:center;background:#fff3d6;border-radius:8px;color:var(--yellow-ink);display:flex;height:48px;padding:0 11px;text-align:center}.games-view .match-focus-card .match-state.is-completed{background:#e5f4eb;color:#11613e}.games-view .match-focus-card .match-state.is-invalid{background:#fbe9eb;color:var(--maroon)}.games-view .match-focus-card .match-state strong{color:inherit;font-size:13px}.games-view .remove-game-match{align-items:center;border-radius:8px;color:var(--maroon);display:flex;font-size:13px;font-weight:800;height:48px;justify-content:center;padding:0 8px}.games-view .remove-game-match:hover{background:#fbe9eb}.games-view .manual-teams{display:grid;gap:0;grid-template-columns:minmax(0,1fr);padding:0}.games-view .manual-team-card{border:0;display:grid;gap:12px;margin:0;min-width:0;padding:17px 16px 20px}.games-view .manual-team-card:first-child{border-left:5px solid var(--navy)}.games-view .manual-team-card:last-child{border-left:5px solid var(--maroon)}.games-view .manual-team-card legend{color:var(--navy);font-size:17px;font-weight:800;margin:0 0 1px;padding:0}.games-view .manual-team-card:last-child legend{color:var(--maroon)}.games-view .manual-team-card legend span{align-items:center;background:var(--navy);border-radius:6px;color:#fff;display:inline-flex;font-size:13px;height:26px;justify-content:center;margin-right:7px;width:26px}.games-view .manual-team-card:last-child legend span{background:var(--maroon)}.games-view .manual-teams .manual-team-card label{color:#52657b;display:grid;font-size:12px;font-weight:800;gap:6px;grid-template-columns:minmax(0,1fr);letter-spacing:.04em;text-transform:uppercase}.games-view .manual-team-card select{appearance:auto;background:#f8fafc;border:1px solid #becbd8;border-radius:10px;color:var(--navy);font-size:16px;font-weight:700;height:54px;max-width:100%;min-width:0;padding:0 10px;text-transform:none;width:100%}.games-view .manual-vs{background:#eef1f5;border-radius:0;color:var(--maroon);font-size:12px;height:31px;letter-spacing:.15em;width:100%}.games-view .manual-scoreboard{align-items:end;background:#eaf0f5;border-top:1px solid #dae3eb;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);padding:18px 16px}.games-view .manual-scoreboard label{color:var(--navy);display:grid;font-size:11px;font-weight:800;gap:8px;letter-spacing:.06em;min-width:0;text-align:center}.games-view .manual-scoreboard label:last-child{color:var(--maroon)}.games-view .manual-scoreboard input{appearance:textfield;background:#fff;border:2px solid #b8c8d8;border-radius:12px;color:var(--navy);font-size:36px;font-weight:900;height:76px;min-width:0;padding:4px;text-align:center;width:100%}.games-view .manual-scoreboard label:last-child input{border-color:#d6a9b0;color:var(--maroon)}.games-view .manual-scoreboard input::-webkit-inner-spin-button,.games-view .manual-scoreboard input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.games-view .manual-scoreboard>span{align-self:end;color:#75869a;font-size:24px;line-height:76px;text-align:center}.games-view .match-focus-help{background:#fbf7eb;color:#705826;font-size:13px;line-height:1.45;margin:0;padding:12px 16px 15px}.games-view .match-focus-help.is-completed{background:#e9f5ee;color:#14603f}.games-view .match-focus-help.is-invalid{background:#fbe9eb;color:var(--maroon)}.games-view .match-focus-empty{background:#fff;border:1px dashed #aebecd;border-radius:14px;color:#51647c;font-size:15px;line-height:1.5;padding:32px 22px;text-align:center}.games-view .add-manual-match{background:#fff;border:1px dashed #9aaec1;border-radius:12px;font-size:14px;min-height:52px}.games-view .games-ranking-note{margin-top:14px;padding:13px 15px}.games-view .games-ranking-note strong{font-size:14px}.games-view .games-ranking-note span{font-size:12px;line-height:1.4}.games-view .completed-summary{border-radius:14px}.games-view .completed-summary-head{align-items:flex-start;flex-wrap:wrap;padding:18px 16px 12px}.games-view .completed-summary-head h3{font-size:18px}.games-view .completed-summary-head p{font-size:12px;line-height:1.4}.games-view .completed-summary-head button,.games-view .summary-week-controls button,.games-view .summary-all-button{font-size:12px;min-height:48px;padding:10px 12px}.games-view .summary-week-controls{margin-inline:12px}.games-view .summary-week-controls span{font-size:12px;min-width:0;overflow-wrap:anywhere}.games-view .summary-all-button{margin:4px 12px 8px}.games-view .completed-table-scroll{max-height:55dvh;overscroll-behavior:contain}.games-view .completed-table{font-size:12px}.games-view .completed-table th{font-size:11px;padding:12px 10px}.games-view .completed-table td{padding:13px 10px}.games-view .completed-summary-note{font-size:11px;line-height:1.5;padding:13px 16px}.games-view .match-round-control{align-items:center;background:#f1f6fa;border:1px solid #d9e4ec;border-radius:14px;display:flex;gap:14px;justify-content:space-between;margin:12px 12px 18px;padding:14px 16px}.games-view .match-round-control>div{display:grid;gap:3px}.games-view .match-round-control span{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.12em}.games-view .match-round-control strong{color:var(--ink);font-size:17px}.games-view .match-round-control small{color:var(--muted);font-size:11px}.games-view .match-round-control button,.games-view .match-scheduled-action button,.games-view .complete-match-button{background:var(--maroon);border:0;border-radius:9px;color:#fff;cursor:pointer;font:inherit;font-size:12px;font-weight:800;min-height:42px;padding:0 16px}.games-view .match-round-control button:disabled,.games-view .match-scheduled-action button:disabled,.games-view .complete-match-button:disabled,.games-view .court-board-label:disabled,.games-view .add-manual-match:disabled{cursor:not-allowed;opacity:.48}.games-view .match-scheduled-action{align-items:center;background:#f7f9fb;border-radius:12px;display:flex;gap:12px;justify-content:space-between;padding:16px}.games-view .match-scheduled-action p{color:var(--muted);font-size:12px;margin:0}.games-view .complete-match-button{display:block;margin:18px 0 0 auto;min-width:170px}.games-view .board-status.is-in-progress,.games-view .match-state.is-in-progress{background:#fff1d8;color:#7b4d00}@media(min-width:600px){.games-view .schedule-header{grid-template-columns:auto minmax(0,1fr) auto;padding:max(12px,env(safe-area-inset-top)) 20px 12px}.games-view .games-header-actions{grid-column:auto}.games-view .schedule-content{padding:24px 24px 48px}.games-view .manual-teams{grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr)}.games-view .manual-vs{align-self:center;border-radius:50%;height:32px;width:32px}.games-view .manual-team-card{min-height:228px}}.games-view .current-results,.games-view .court-board,.games-view .automatic-schedule{background:#fff;border:1px solid #ced9e5;border-radius:15px;box-shadow:0 3px 14px #0626500b;min-width:0;overflow:hidden}.schedule-regenerate[hidden]{display:none}.games-view .current-results{margin:0 0 18px}.games-view .court-board{margin:24px 0 16px}.games-view .automatic-schedule{margin:0 0 24px}.games-view .match-board-heading{align-items:flex-start;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;padding:18px 16px 16px}.games-view .match-board-heading>div{min-width:0}.games-view .match-board-heading span{color:var(--maroon);display:block;font-size:10px;font-weight:900;letter-spacing:.14em;line-height:1.3}.games-view .match-board-heading h3{color:var(--navy);font-size:clamp(19px,4.8vw,24px);font-weight:900;letter-spacing:-.035em;line-height:1.15;margin:4px 0 0}.games-view .match-board-heading p{color:#52657b;font-size:12px;line-height:1.5;margin:7px 0 0;max-width:56ch}.games-view .current-results-scroll{-webkit-overflow-scrolling:touch;border-top:1px solid #e0e7ef;max-height:min(420px,44dvh);max-width:100%;overflow:auto;overscroll-behavior-inline:contain;scrollbar-color:#a6b8ca #edf1f5;scrollbar-width:thin}.games-view .current-results-table{border-collapse:separate;border-spacing:0;color:var(--ink);font-size:12px;min-width:740px;table-layout:fixed;text-align:left;width:100%}.games-view .current-results-table th,.games-view .current-results-table td{border-bottom:1px solid #e5ebf1;line-height:1.4;padding:10px 9px;vertical-align:middle}.games-view .current-results-table th{background:#f2f6fa;color:#4d6179;font-size:10px;font-weight:900;letter-spacing:.07em;position:sticky;top:0;text-transform:uppercase;white-space:nowrap;z-index:2}.games-view .current-results-table th:nth-child(1){width:67px}.games-view .current-results-table th:nth-child(2){width:77px}.games-view .current-results-table th:nth-child(4){width:85px}.games-view .current-results-table th:nth-child(6){width:112px}.games-view .current-results-table tbody tr:last-child td{border-bottom:0}.games-view .current-results-table tbody tr.is-active td{background:#edf4fa}.games-view .current-results-table tbody tr:hover td{background:#f3f7fb}.games-view .current-results-table tbody tr.is-active:hover td{background:#e8f1f9}.games-view .current-results-table td:nth-child(3),.games-view .current-results-table td:nth-child(5){font-weight:700;overflow-wrap:anywhere}.games-view .current-results-table th:first-child,.games-view .current-results-table td:first-child{left:0;position:sticky;z-index:1}.games-view .current-results-table th:first-child{z-index:3}.games-view .current-results-table td:first-child{background:#fff;box-shadow:1px 0 #e0e7ef}.games-view .current-results-table tbody tr.is-active td:first-child{background:#edf4fa}.games-view .current-results-table tbody tr:hover td:first-child{background:#f3f7fb}.games-view .current-results-table tbody tr.is-active:hover td:first-child{background:#e8f1f9}.games-view .current-results-table td:first-child button{align-items:center;background:#e8eef5;border:1px solid #cbd8e5;border-radius:9px;color:var(--navy);cursor:pointer;display:inline-flex;font-size:14px;font-weight:900;justify-content:center;min-height:44px;min-width:44px;padding:5px}.games-view .current-results-table tr.is-active td:first-child button{background:var(--navy);border-color:var(--navy);color:#fff}.games-view .current-results-table td:first-child button:hover{border-color:var(--maroon)}.games-view .current-results-table .current-results-score{color:var(--navy);font-size:14px;font-variant-numeric:tabular-nums;font-weight:900;white-space:nowrap}.games-view .board-status{background:#fff0cf;border:1px solid #e9d292;border-radius:6px;color:#70500f;display:inline-block;font-size:10px;font-weight:900;line-height:1.25;max-width:100%;overflow-wrap:anywhere;padding:5px 7px;text-align:center}.games-view .board-status.is-completed{background:#e5f4eb;border-color:#a8d8bb;color:#11613e}.games-view .board-status.is-invalid{background:#fbe9eb;border-color:#e6b9bf;color:var(--maroon-dark)}.games-view .match-editor{min-width:0;scroll-margin-top:84px}.games-view .match-editor .match-focus-navigation{margin-top:0}.games-view .court-board-grid{display:grid;gap:12px;grid-template-columns:minmax(0,1fr);padding:0 12px 14px}.games-view .court-board-card{background:#f6f9fb;border:1px solid #cad7e3;border-radius:12px;display:flex;flex-direction:column;min-width:0;overflow:hidden}.games-view .court-board-label{align-items:center;background:var(--navy);border:0;color:#fff;cursor:pointer;display:grid;font-family:inherit;gap:1px 10px;grid-template-columns:auto minmax(0,1fr);padding:13px 15px;position:relative;text-align:left;width:100%}.games-view .court-board-label:after{border:1px solid rgba(255,255,255,.25);border-right:0;content:"";height:22px;pointer-events:none;position:absolute;right:14px;top:50%;transform:translateY(-50%);width:44px}.games-view .court-board-label>span{color:#bcd1e5;font-size:10px;font-weight:900;grid-column:1;letter-spacing:.12em}.games-view .court-board-label strong{font-size:22px;grid-column:1;line-height:1;overflow-wrap:anywhere}.games-view .court-board-label small{color:#d7e7f3;font-size:11px;grid-column:2;grid-row:1 / 3;padding-right:55px}.games-view .court-board-matches{display:grid;gap:6px;min-width:0;padding:10px}.games-view .court-board-matches button{align-items:center;background:#fff;border:1px solid #dbe4ed;border-left:3px solid var(--gold);border-radius:8px;color:var(--navy);cursor:pointer;display:flex;font-size:12px;font-weight:750;gap:8px;justify-content:space-between;line-height:1.4;min-height:52px;min-width:0;padding:7px 9px;text-align:left;width:100%}.games-view .court-board-matches button:has(.is-completed){border-left-color:var(--green)}.games-view .court-board-matches button:has(.is-invalid){border-left-color:var(--maroon)}.games-view .court-board-matches button:hover{background:#edf4fa;border-color:#aabed1}.games-view .court-board-matches button>span:first-child{flex:1;min-width:0;overflow-wrap:anywhere}.games-view .court-board-matches button .board-status{flex:0 0 auto;max-width:100px}.games-view .court-board-matches p,.games-view .court-board-matches>small{color:#586c82;font-size:12px;line-height:1.45;margin:4px 3px}.games-view .court-board-add{background:#e8f0f7;border:0;border-top:1px solid #ccdbe8;color:var(--navy);cursor:pointer;font-size:13px;font-weight:900;line-height:1.35;margin-top:auto;min-height:52px;overflow-wrap:anywhere;padding:11px 14px;text-align:left;width:100%}.games-view .court-board-add:hover{background:#d9e8f4}.games-view .court-board-empty{background:#f5f8fb;border:1px dashed #b7c8d9;border-radius:10px;color:#52657b;font-size:13px;line-height:1.5;margin:0 12px 14px;padding:18px}.games-view .court-board-grid>.court-board-empty{grid-column:1 / -1;margin:0}.games-view .automatic-schedule .match-board-heading{border-bottom:1px solid #e1e8ef}.games-view .register-schedule{background:var(--maroon);border:1px solid var(--maroon);border-radius:9px;color:#fff;cursor:pointer;font-size:13px;font-weight:900;line-height:1.3;min-height:48px;padding:10px 16px;width:100%}.games-view .register-schedule:hover{background:var(--maroon-dark)}.games-view .automatic-schedule-preview{display:grid;gap:0;max-height:420px;overflow-y:auto;overscroll-behavior:contain}.games-view .automatic-schedule-preview>div{display:grid;gap:0;min-width:0;padding:13px 16px 16px}.games-view .automatic-schedule-preview>div+div{border-top:1px solid #e1e8ef}.games-view .automatic-schedule-preview strong{color:var(--navy);font-size:12px;font-weight:900;line-height:1.4;margin-bottom:5px}.games-view .automatic-schedule-preview span{border-left:2px solid #b9cfdf;color:#354c67;font-size:12px;line-height:1.5;overflow-wrap:anywhere;padding:5px 0 5px 10px}@media(min-width:600px){.games-view .match-board-heading{padding:20px 22px 18px}.games-view .register-schedule{flex:0 0 auto;width:auto}.games-view .court-board-grid{gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));padding:0 16px 18px}.games-view .automatic-schedule-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.games-view .automatic-schedule-preview>div+div{border-top:0}.games-view .automatic-schedule-preview>div{border-bottom:1px solid #e1e8ef;padding:16px 20px 18px}.games-view .automatic-schedule-preview>div:nth-child(odd){border-right:1px solid #e1e8ef}}@media(prefers-reduced-motion:reduce){.games-view .current-results-scroll{scroll-behavior:auto}}.schedule-settings{display:grid;gap:10px;padding:16px;margin:14px 0;border:1px solid #dce4ed;border-radius:14px;background:#fff}.schedule-settings h3,.schedule-settings p{margin:0}.schedule-settings h3{font-size:15px}.schedule-settings p{font-size:13px;line-height:1.5}.schedule-settings small{font-size:11px;line-height:1.5;color:#65748c}.schedule-settings label{display:grid;gap:6px;font-size:12px}.schedule-settings input,.schedule-settings select{width:100%;min-width:0;min-height:42px;padding:8px;border:1px solid #b8c4d4;border-radius:8px;background:#fff;color:#102344}.schedule-settings button{justify-self:start}.schedule-settings [role=alert]{color:#9d1727}.game-record-export{display:grid;gap:8px;margin:12px 0;padding:14px;border:1px solid #dce4ed;border-radius:14px;background:#fff}.game-record-export button{justify-self:start;display:inline-flex;align-items:center;gap:8px}.game-record-export button:disabled{opacity:.5;cursor:not-allowed}.game-record-export small,.game-record-export p{margin:0;font-size:12px;line-height:1.5}.game-record-export [role=alert]{color:#9d1727}.gr-sr{border:0;clip:rect(0 0 0 0);height:1px;overflow:hidden;position:absolute;width:1px}.gr-card{background:#fff;border-radius:18px;box-shadow:0 6px 18px #122d4a1f;margin-top:10px;overflow:hidden}.gr-strip{align-items:center;display:flex;gap:10px;padding:12px 14px}.gr-match{color:var(--navy);font-size:22px;letter-spacing:-.03em}.gr-court{align-items:center;border-left:1px solid var(--line);color:var(--navy);display:flex;font-size:16px;font-weight:800;gap:6px;padding-left:10px}.gr-status{background:var(--green-soft);border-radius:99px;color:var(--green-dark);font-size:12px;font-weight:800;margin-left:auto;padding:6px 10px}.gr-status.is-scheduled{background:var(--yellow-soft);color:var(--yellow-ink)}.gr-status.is-completed{background:#e3ebf6;color:var(--navy)}.gr-court-art{align-items:center;background:linear-gradient(90deg,#1d5aa6 0 50%,#b92032 50% 100%);border:0;display:grid;gap:6px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);margin:0;min-width:0;padding:14px 10px;position:relative}.gr-lines{height:100%;inset:0;pointer-events:none;position:absolute;width:100%}.gr-lines .l{fill:none;stroke:#ffffffbf;stroke-width:.6;vector-effect:non-scaling-stroke}.gr-lines .net{stroke:#0c1a2e;stroke-width:2;vector-effect:non-scaling-stroke}.gr-side{display:grid;gap:6px;min-width:0;position:relative;z-index:1}.gr-team{background:var(--navy);border-radius:8px;color:#fff;font-size:13px;font-weight:800;padding:6px 10px}.gr-b .gr-team{background:var(--maroon);text-align:right}.gr-player select{appearance:none;background:#fff;border:0;border-radius:8px;color:var(--ink);font-size:14px;font-weight:700;min-height:44px;padding:0 8px;text-overflow:ellipsis;width:100%}.gr-player select:disabled{color:var(--ink);opacity:1}.gr-live{align-items:center;background:#ffffffeb;border-radius:12px;display:flex;font-size:30px;font-weight:800;gap:6px;padding:10px 12px;position:relative;z-index:1}.gr-live b:first-child{color:var(--navy)}.gr-live b:last-child{color:var(--red)}.gr-live i{color:var(--muted);font-style:normal}.gr-scores{display:grid;gap:14px;grid-template-columns:1fr 1fr;padding:14px}.gr-score-label{color:var(--navy);display:block;font-size:11px;font-weight:800;letter-spacing:.06em;margin-bottom:6px;text-align:center}.gr-score.is-b .gr-score-label{color:var(--red)}.gr-stepper{align-items:center;border:1px solid var(--line);border-radius:12px;display:grid;gap:2px;grid-template-columns:44px minmax(0,1fr) 44px;padding:4px}.gr-score.is-b .gr-stepper{border-color:#efb2ba}.gr-stepper button{background:#e8eef6;border:0;border-radius:50%;color:var(--navy);cursor:pointer;font-size:24px;font-weight:800;height:44px;width:44px}.gr-stepper button:disabled{opacity:.4;cursor:default}.gr-stepper input{-moz-appearance:textfield;background:transparent;border:0;color:var(--navy);font-size:30px;font-weight:800;min-height:44px;min-width:0;text-align:center;width:100%}.gr-score.is-b input{color:var(--red)}.gr-stepper input::-webkit-outer-spin-button,.gr-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.gr-actions{display:grid;gap:10px;grid-template-columns:1fr 1fr;padding:0 14px 10px}.gr-primary,.gr-secondary{align-items:center;border-radius:12px;cursor:pointer;display:flex;font-size:16px;font-weight:800;gap:6px;justify-content:center;min-height:52px}.gr-primary{background:var(--navy);border:0;color:#fff}.gr-secondary{background:#f4f7fa;border:1px solid #c9d5e3;color:var(--navy)}.gr-primary:disabled,.gr-secondary:disabled{cursor:default;opacity:.45}.gr-help{color:var(--muted);font-size:12px;margin:0;padding:0 14px 14px}.gr-card .remove-game-match{margin:0 14px 14px;min-height:44px}.gr-completed{background:#fff;border-radius:18px;box-shadow:0 4px 14px #122d4a14;margin-top:12px;padding:14px}.gr-completed-head{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:8px}.gr-completed-head h3{color:var(--navy);font-size:20px;margin:0}.gr-completed-head span{color:var(--muted);font-size:12px}.weekly-image-controls{display:grid;gap:6px;margin:0 0 12px}.registered-court-info{background:#e9eff6;border:1px solid #d5e0ed;border-radius:10px;color:var(--navy);display:grid;gap:4px;margin-top:12px;padding:10px 12px}.registered-court-info strong{font-size:13px}.registered-court-info span{font-size:14px;font-weight:800;overflow-wrap:anywhere}.registered-court-info small{color:var(--muted);font-size:11px}.weekly-image-controls button{align-items:center;background:var(--navy);border:0;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:800;gap:8px;justify-content:center;min-height:44px;padding:10px 14px;width:100%}.weekly-image-controls button:disabled{cursor:default;opacity:.45}.weekly-image-controls small{color:var(--muted);font-size:11px;line-height:1.4;text-align:center}.completed-summary>.weekly-image-controls{margin:0 12px 12px}.gr-row{align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;cursor:pointer;display:grid;font-size:13px;font-weight:600;gap:6px;grid-template-columns:56px minmax(0,1fr) auto minmax(0,1fr) auto 20px;margin-top:6px;min-height:56px;padding:6px 8px;text-align:left;width:100%}.gr-row-id b{color:var(--navy);display:block}.gr-row-id small{color:var(--muted);font-size:11px}.gr-row-team{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gr-row em{color:var(--red);font-size:11px;font-style:normal;font-weight:800}.gr-row-score{font-size:17px;white-space:nowrap}.gr-row-score .a{color:var(--navy)}.gr-row-score .b{color:var(--red)}.gr-row-ok{color:var(--muted)}.gr-empty{color:var(--muted);font-size:13px;margin:8px 0 0}@media(max-width:400px){.gr-row{grid-template-columns:44px minmax(0,1fr) auto minmax(0,1fr) auto}.gr-row-ok{display:none}.gr-live{font-size:24px}}
