:root{--background:#f4f6fa;--foreground:#07152f;--muted:#667085;--panel:#fff;--soft-panel:#f8fafc;--border:#d9e2ef;--border-strong:#c5d1e3;--accent:#0b5ed7;--accent-dark:#0647aa;--navy:#061b31;--navy-dark:#031121;--success:#087f3f;--success-bg:#e9f8ef;--success-border:#b9e6c9;--danger:#b42318;--danger-bg:#fff0f0;--danger-border:#f5c2c2;--warning:#b45309;--warning-bg:#fff7ed;--warning-border:#fed7aa;--shadow:0 12px 32px rgba(15,23,42,.08);--small-shadow:0 6px 18px rgba(15,23,42,.06)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--background);color:var(--foreground);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{border:0}h1,h2,h3,h4,p{margin-top:0}h1{font-size:28px;line-height:1.15;margin-bottom:8px}h2{font-size:18px;line-height:1.25;margin-bottom:0}h3{font-size:15px;line-height:1.3;margin-bottom:6px}p{line-height:1.5}.app-frame{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.app-main{margin:0 auto;max-width:1120px;padding:32px;width:100%}.sidebar{background:linear-gradient(180deg,rgba(14,60,101,.34),rgba(3,17,33,0)),linear-gradient(180deg,var(--navy),var(--navy-dark));color:#fff;display:flex;flex-direction:column;height:100vh;padding:22px 16px;position:-webkit-sticky;position:sticky;top:0}.header-actions,.mobile-appbar,.nav-actions,.page-header,.section-heading,.sidebar-header{align-items:center;display:flex;gap:12px}.page-header,.section-heading,.sidebar-header{justify-content:space-between}.mobile-brand,.sidebar-logo{align-items:center;display:inline-flex;font-weight:800;gap:10px;line-height:1.05}.brand-name{white-space:nowrap}.brand-admin{color:#8bbcff}.logo-mark,.mobile-brand .brand-admin{color:var(--accent)}.logo-mark{align-items:center;background:#fff;border-radius:8px;display:inline-flex;flex:0 0 auto;height:36px;justify-content:center;width:36px}.sidebar-nav{display:grid;grid-gap:6px;gap:6px;margin-top:28px}.nav-link{align-items:center;border-radius:8px;color:#d6e3f4;display:flex;font-size:14px;font-weight:700;gap:11px;min-height:44px;padding:0 12px;position:relative}.nav-link.active{background:linear-gradient(180deg,#2d69da,#1956c8);box-shadow:0 10px 24px rgba(25,86,200,.28);color:#fff}.nav-link.disabled{cursor:not-allowed;opacity:.48}.nav-badge{align-items:center;background:var(--danger);border:1px solid hsla(0,0%,100%,.55);border-radius:999px;color:#fff;display:inline-flex;font-size:11px;font-weight:900;height:20px;justify-content:center;margin-left:auto;min-width:20px;padding:0 6px}.sidebar-account{border-top:1px solid hsla(0,0%,100%,.12);grid-gap:10px;grid-template-columns:minmax(0,1fr) auto;margin-top:auto;padding-top:18px}.account-profile,.sidebar-account{align-items:center;display:grid;gap:10px}.account-profile{border-radius:8px;color:inherit;grid-gap:10px;grid-template-columns:auto minmax(0,1fr);margin:-8px;min-width:0;padding:8px}.account-profile.active,.account-profile:hover{background:hsla(0,0%,100%,.1)}.avatar{align-items:center;background:#dbeafe;border:1px solid hsla(0,0%,100%,.55);border-radius:999px;color:var(--accent-dark);display:inline-flex;font-size:14px;font-weight:800;height:40px;justify-content:center;width:40px}.avatar.small{background:#eef4ff;border-color:#d8e4fb;height:36px;width:36px}.account-copy{display:grid;grid-gap:2px;gap:2px;min-width:0}.account-copy span,.account-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-copy strong{color:#fff;font-size:13px}.account-copy span{color:#c2d1e5;font-size:12px;text-transform:capitalize}.inline-form,.logout-form{display:inline-flex;margin:0}.account-action,.icon-button{align-items:center;border-radius:8px;color:#d6e3f4;cursor:pointer;display:inline-flex;height:36px;justify-content:center;width:36px}.account-action{background:transparent}.icon-button{background:hsla(0,0%,100%,.08)}.icon-button.light{background:#fff;border:1px solid var(--border);color:var(--foreground);box-shadow:var(--small-shadow)}.account-action:hover,.icon-button:hover{background:hsla(0,0%,100%,.14)}.icon-button.light:hover{background:#f8fafc}.mobile-appbar,.mobile-tabbar{display:none}.auth-shell{align-items:center;background:linear-gradient(180deg,rgba(11,94,215,.08),rgba(244,246,250,0)),var(--background);display:grid;justify-items:center;min-height:100vh;padding:24px}.stack{display:grid;grid-gap:16px;gap:16px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);padding:22px}.auth-card{align-items:stretch;display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(280px,.9fr) minmax(360px,440px);margin:0 auto;max-width:920px;width:100%}.auth-visual{border-radius:8px;box-shadow:var(--shadow);min-height:590px;overflow:hidden;position:relative}.auth-visual img{display:block;height:100%;object-fit:cover;object-position:center;width:100%}.auth-panel{align-self:center;width:100%}.page-header{margin-bottom:2px}.header-actions,.nav-actions{flex-wrap:wrap;justify-content:flex-end}.muted{color:var(--muted)}.error{color:var(--danger);font-weight:700}.danger-text{color:var(--danger);font-weight:800}.success{color:var(--success);font-weight:700}.kicker{color:var(--muted);font-size:12px;font-weight:800;letter-spacing:0;margin-bottom:6px;text-transform:uppercase}.text-link{color:var(--accent)}.button,.text-link{font-size:14px;font-weight:800}.button{align-items:center;background:linear-gradient(180deg,#116be8,var(--accent));border:1px solid var(--accent);border-radius:7px;box-shadow:0 8px 18px rgba(11,94,215,.2);color:#fff;cursor:pointer;display:inline-flex;gap:8px;justify-content:center;min-height:40px;padding:9px 14px;white-space:nowrap}.button:hover{background:var(--accent-dark)}.button.secondary{background:#fff;border-color:var(--border);box-shadow:none;color:var(--foreground)}.button.secondary:hover{background:#f8fafc}.button.danger{background:linear-gradient(180deg,#d92d20,var(--danger));border-color:var(--danger);box-shadow:0 8px 18px rgba(180,35,24,.16)}.button.danger:hover{background:#8f1f16}.button:disabled{cursor:not-allowed;opacity:.58}.dashboard-mobile-action{display:none}.field{display:grid;grid-gap:7px;gap:7px}.label{color:#344054;font-size:13px;font-weight:800}.compact-field{gap:5px}.input{background:#fff;border:1px solid var(--border);border-radius:7px;color:var(--foreground);min-height:42px;padding:10px 12px;width:100%}.input:focus{border-color:var(--accent);outline:3px solid rgba(11,94,215,.14)}.compact-field .input{min-height:38px;padding:8px 10px}.checkbox-field{align-items:center;color:#344054;display:flex;font-size:13px;font-weight:800;gap:9px}.checkbox-field input{accent-color:var(--accent);height:16px;width:16px}.form-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.form-section{align-content:start;background:var(--soft-panel);border:1px solid var(--border);border-radius:8px;padding:18px}.two-column{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.session-list{display:grid;grid-gap:12px;gap:12px}.session-list.compact{gap:0}.next-session-card,.pending-row,.session-row{align-items:center;background:#fff;border:1px solid var(--border);border-radius:8px;display:grid;grid-gap:14px;gap:14px;padding:16px}.cancelled-session{background:var(--danger-bg);border-color:var(--danger-border)}.cancelled-label{background:var(--danger);border-radius:999px;color:#fff;display:inline-flex;font-size:11px;font-weight:900;margin-left:10px;min-height:22px;padding:3px 8px;text-transform:uppercase;vertical-align:middle}.heading-label{font-size:12px;transform:translateY(-3px)}.danger-panel{background:var(--danger-bg);border-color:var(--danger-border)}.next-session-card{grid-template-columns:minmax(0,1fr)}.session-list.compact .session-row{border-radius:0;border-width:0 0 1px;box-shadow:none;grid-template-columns:minmax(0,1fr) auto auto;padding:15px 0}.session-list.compact .session-row:first-child{padding-top:0}.session-list.compact .session-row:last-child{border-bottom:0;padding-bottom:0}.session-main{min-width:0}.session-meta{align-items:center;color:#344054;display:flex;flex-wrap:wrap;gap:10px 16px;font-size:14px}.session-meta span{align-items:center;display:inline-flex;gap:6px;min-width:0}.session-actions{gap:10px;justify-content:flex-end}.quick-signup-actions,.session-actions{align-items:center;display:flex;flex-wrap:wrap}.quick-signup-actions{gap:8px}.quick-signup-actions form{margin:0}.quick-signup-button{align-items:center;background:#fff;border:1px solid var(--border);border-radius:7px;color:var(--foreground);cursor:pointer;display:inline-flex;font-size:12px;font-weight:850;justify-content:center;min-height:34px;padding:7px 10px;white-space:nowrap}.next-session-card .quick-signup-button{font-size:13px;min-height:38px;padding:8px 12px}.quick-signup-button:hover{background:#f7faff;border-color:#b8ccf5;color:var(--accent)}.quick-signup-button.selected{background:var(--success-bg);border-color:var(--success-border);color:#065f31}.quick-signup-button.warning.selected{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning)}.quick-signup-button:focus-visible{outline:3px solid rgba(37,99,235,.2);outline-offset:2px}.session-count{display:grid;grid-gap:2px;gap:2px;min-width:78px;text-align:right}.session-count strong{font-size:15px}.session-count span{color:var(--muted);font-size:12px;font-weight:700}.row-link{align-items:center;border-radius:999px;color:var(--foreground);display:inline-flex;height:34px;justify-content:center;width:34px}.row-link:hover{background:#eef4ff;color:var(--accent)}.session-metrics,.stats-grid{border:1px solid var(--border);border-radius:8px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden}.dashboard-metrics,.detail-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.balance-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.session-metrics>div,.stats-grid>div{display:grid;grid-gap:5px;gap:5px;min-width:0;padding:16px}.session-metrics>div+div,.stats-grid>div+div{border-left:1px solid var(--border)}.stat-value{font-size:22px;font-weight:900;line-height:1}.stat-label{color:var(--muted)}.pill,.stat-label{font-size:12px;font-weight:800}.pill{align-items:center;background:var(--success-bg);border:1px solid var(--success-border);border-radius:999px;color:var(--success);display:inline-flex;min-height:28px;padding:4px 10px;white-space:nowrap}.muted-pill{background:#f2f5f9;border-color:var(--border);color:var(--muted)}.warning-pill{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning)}.detail-header{align-items:flex-start;display:grid;grid-gap:14px;gap:14px;grid-template-columns:auto minmax(0,1fr)}.response-box{align-items:center;border-top:1px solid var(--border);display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1fr) minmax(230px,320px);padding-top:18px}.choice-grid{display:grid;grid-gap:10px;gap:10px}.choice-grid form{margin:0}.choice-button{align-items:center;background:#fff;border:1px solid var(--border);border-radius:8px;color:var(--foreground);cursor:pointer;display:flex;font-weight:800;justify-content:space-between;min-height:46px;padding:11px 12px;text-align:left;width:100%}.choice-button.selected{background:var(--success-bg);border-color:var(--success-border);color:#065f31}.choice-button.selected.warning{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning)}.choice-button:disabled{cursor:not-allowed;opacity:.58}.choice-indicator{border:1px solid var(--border-strong);border-radius:999px;height:20px;width:20px}.choice-button.selected .choice-indicator{background:var(--success);border-color:var(--success);box-shadow:inset 0 0 0 5px #fff}.choice-button.selected.warning .choice-indicator{background:var(--warning);border-color:var(--warning)}.roster-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.roster-list{display:grid;grid-gap:0;gap:0;list-style:none;margin:0;padding:0}.roster-list li{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:12px;justify-content:space-between;min-height:44px;padding:10px 0}.roster-list li:last-child{border-bottom:0}.pending-list{display:grid;grid-gap:0;gap:0}.location-list,.settings-list{border:1px solid var(--border);border-radius:8px;display:grid;overflow:hidden}.settings-row{align-items:center;background:#fff;color:var(--foreground);display:grid;grid-gap:12px;gap:12px;grid-template-columns:auto minmax(0,1fr) auto;min-height:72px;padding:14px 16px}.settings-row:hover{background:#f8fafc}.settings-row>span:nth-child(2){display:grid;grid-gap:3px;gap:3px;min-width:0}.settings-row>span:nth-child(2)>span{font-size:13px}.settings-icon{align-items:center;background:#eef4ff;border:1px solid #cfe0ff;border-radius:8px;color:var(--accent);display:inline-flex;height:36px;justify-content:center;width:36px}.location-row{align-items:start;background:#fff;border-bottom:1px solid var(--border);display:grid;grid-gap:14px;gap:14px;grid-template-columns:minmax(0,1fr);padding:14px 16px}.location-row:last-child{border-bottom:0}.location-row form{margin:0}.location-edit-form{align-items:end;display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(170px,1fr) minmax(170px,1fr) minmax(220px,1.2fr) auto}.location-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.pending-row{border-radius:0;border-width:0 0 1px;grid-template-columns:minmax(0,1fr) auto;padding:16px 0}.player-row{grid-template-columns:minmax(0,1fr) minmax(260px,340px)}.pending-row:first-child{padding-top:0}.pending-row:last-child{border-bottom:0;padding-bottom:0}.pending-player{align-items:center;display:flex;gap:12px;min-width:0}.pending-player>div{min-width:0}.pending-player h3,.pending-player p{overflow:hidden;text-overflow:ellipsis}.role-form{grid-gap:10px;grid-template-columns:minmax(140px,1fr) auto auto}.default-fee-form,.role-form{align-items:end;display:grid;gap:10px;margin:0}.default-fee-form{grid-gap:10px;grid-template-columns:minmax(160px,240px) auto;max-width:430px}.player-bulk-form{display:grid;grid-gap:16px;gap:16px;margin:0}.player-edit-row{align-items:stretch;gap:14px;grid-template-columns:minmax(0,1fr)}.player-edit-controls{align-items:end;display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(220px,2fr) minmax(140px,1fr) minmax(140px,1fr) auto}.player-edit-controls .button{align-self:end}.modal-backdrop{align-items:center;background:rgba(15,23,42,.48);display:flex;inset:0;justify-content:center;padding:18px;position:fixed;z-index:80}.modal-card{background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 24px 80px rgba(15,23,42,.28);max-width:460px;padding:22px;width:min(100%,460px)}.pagination-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.empty-state{align-items:center;background:var(--soft-panel);border:1px solid var(--border);border-radius:8px;color:var(--success);display:flex;gap:10px;padding:18px}.attendance-list,.balance-list{display:grid;grid-gap:0;gap:0}.attendance-form{display:grid;grid-gap:14px;gap:14px;margin:0}.attendance-row,.balance-row{align-items:center;border-bottom:1px solid var(--border);display:grid;grid-gap:14px;gap:14px;padding:16px 0}.attendance-row:first-child,.balance-row:first-child{padding-top:0}.attendance-row:last-child,.balance-row:last-child{border-bottom:0;padding-bottom:0}.attendance-row{grid-template-columns:minmax(240px,1fr) minmax(96px,120px) minmax(86px,110px)}.attendance-check{align-items:center;cursor:pointer;display:flex;gap:12px;min-width:0}.attendance-check input{accent-color:var(--accent);height:20px;width:20px}.attendance-save-row{display:flex;justify-content:flex-end}.add-attendee-form{align-items:end;border-top:1px solid var(--border);display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(220px,1fr) auto;margin:0;padding-top:16px}.attendance-player,.balance-player{align-items:center;display:flex;gap:10px;min-width:0}.attendance-player{flex-wrap:wrap}.amount-cell,.fee-cell{display:grid;grid-gap:4px;gap:4px}.amount-cell span,.fee-cell span{color:var(--muted);font-size:12px;font-weight:800}.amount-cell strong,.fee-cell strong{font-size:15px}.fee-total{display:grid;grid-gap:2px;gap:2px;text-align:right}.fee-total span{color:var(--muted);font-size:12px;font-weight:800}.fee-total strong{font-size:18px}.icon-label-button{min-width:92px}.balance-row{grid-template-columns:minmax(220px,1fr) minmax(280px,.9fr)}.balance-amounts{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.amount-cell{background:var(--soft-panel);border:1px solid var(--border);border-radius:8px;padding:10px 12px}.amount-cell.emphasis strong{color:var(--danger)}.payment-form{grid-gap:10px;grid-column:1/-1;grid-template-columns:minmax(110px,140px) minmax(176px,220px) minmax(180px,1fr) auto}.cost-form,.payment-form{align-items:end;display:grid;gap:10px}.cost-form{grid-gap:10px;grid-column:1/-1;grid-template-columns:minmax(120px,160px) auto;margin:0}.payment-note-field{min-width:0}.payment-history-list{display:grid;grid-gap:0;gap:0}.payment-history-row{align-items:center;border-bottom:1px solid var(--border);display:grid;grid-gap:14px;gap:14px;grid-template-columns:minmax(180px,.5fr) minmax(0,1fr);padding:16px 0}.payment-history-row:first-child{padding-top:0}.payment-history-row:last-child{border-bottom:0;padding-bottom:0}.split{align-items:start;display:grid;grid-gap:20px;gap:20px;grid-template-columns:minmax(0,1fr) 320px}.profile-checkbox{background:var(--soft-panel);border:1px solid var(--border);border-radius:8px;min-height:46px;padding:12px}.delete-account-form{align-items:end;display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(220px,340px) auto;margin:0}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}@media (max-width:900px){.app-frame{display:block}.sidebar{display:none}.mobile-appbar{background:hsla(0,0%,100%,.92);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:12px 14px;position:-webkit-sticky;position:sticky;top:0;z-index:20}.mobile-brand{font-size:14px}.mobile-brand .logo-mark{height:32px;width:32px}.app-main{max-width:none;padding:18px 14px 92px}.mobile-tabbar{background:#fff;border-top:1px solid var(--border);bottom:0;box-shadow:0 -10px 24px rgba(15,23,42,.08);display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));left:0;min-height:72px;padding:8px 12px 10px;position:fixed;right:0;z-index:30}.mobile-tabbar .nav-link{color:var(--muted);display:grid;font-size:11px;grid-gap:3px;gap:3px;justify-items:center;min-height:52px;padding:6px 4px}.mobile-tabbar .nav-badge{font-size:10px;height:18px;margin-left:0;min-width:18px;padding:0 5px;position:absolute;right:18px;top:4px}.mobile-tabbar .nav-link.active{background:transparent;box-shadow:none;color:var(--accent)}}@media (max-width:760px){h1{font-size:24px}.auth-card{display:flex;flex-direction:column;justify-content:flex-end;max-width:460px;min-height:min(760px,calc(100vh - 48px));overflow:hidden;position:relative}.auth-visual{border-radius:8px;inset:0;min-height:0;position:absolute}.auth-panel{background:hsla(0,0%,100%,.93);margin:auto 14px 14px;max-height:calc(100vh - 80px);overflow:auto;position:relative;z-index:1}.add-attendee-form,.attendance-row,.balance-row,.cost-form,.default-fee-form,.delete-account-form,.form-grid,.location-edit-form,.location-row,.page-header,.payment-form,.payment-history-row,.pending-row,.player-edit-controls,.player-edit-row,.response-box,.role-form,.roster-grid,.section-heading,.split{grid-template-columns:1fr}.page-header,.section-heading{align-items:flex-start;display:grid}.header-actions,.nav-actions,.pagination-actions{justify-content:flex-start}.desktop-action{display:none}.dashboard-mobile-action{display:flex;justify-content:stretch}.dashboard-mobile-action .button{width:100%}.panel{padding:18px}.session-list.compact .session-row{grid-template-columns:minmax(0,1fr) auto}.session-actions{grid-column:1/-1;justify-content:flex-start}.quick-signup-actions{width:100%}.quick-signup-actions form{flex:1 1 130px}.quick-signup-button{width:100%}.session-count{min-width:64px}.balance-metrics,.dashboard-metrics,.detail-metrics,.session-metrics,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.session-metrics>div+div,.stats-grid>div+div{border-left:0}.session-metrics>div:nth-child(2n),.stats-grid>div:nth-child(2n){border-left:1px solid var(--border)}.session-metrics>div:nth-child(n+3),.stats-grid>div:nth-child(n+3){border-top:1px solid var(--border)}.balance-metrics>div:nth-child(3),.dashboard-metrics>div:nth-child(5),.detail-metrics>div:nth-child(5){grid-column:1/-1}.fee-total{text-align:left}.balance-amounts{grid-template-columns:1fr}}@media (max-width:520px){.auth-shell{padding:14px}.auth-card{gap:12px;min-height:calc(100vh - 28px)}.auth-panel{margin:auto 10px 10px;max-height:calc(100vh - 48px)}.two-column{grid-template-columns:1fr}.button{width:100%}.header-actions .button,.nav-actions .button,.payment-form .button{width:auto}}