@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.woff2?dpl=dpl_7XsXBMboM1jTaM96FeF6oBL48SCg)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2?dpl=dpl_7XsXBMboM1jTaM96FeF6oBL48SCg)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_53cf7e2c-module__qN6QFG__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_53cf7e2c-module__qN6QFG__variable{--font-body:"DM Sans", "DM Sans Fallback"}
@font-face{font-family:Syne;font-style:normal;font-weight:400 800;font-display:swap;src:url(../media/ab624315db63c58d-s.1487dfs7-.~d~.woff2?dpl=dpl_7XsXBMboM1jTaM96FeF6oBL48SCg)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Syne;font-style:normal;font-weight:400 800;font-display:swap;src:url(../media/e94b8ab81811a983-s.02fsf_1p_avhz.woff2?dpl=dpl_7XsXBMboM1jTaM96FeF6oBL48SCg)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Syne;font-style:normal;font-weight:400 800;font-display:swap;src:url(../media/0c795a286deabae8-s.p.14tvuu96~wkr0.woff2?dpl=dpl_7XsXBMboM1jTaM96FeF6oBL48SCg)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Syne Fallback;src:local(Arial);ascent-override:93.93%;descent-override:27.93%;line-gap-override:0.0%;size-adjust:98.47%}.syne_8d62d1f3-module__-U8vOW__className{font-family:Syne,Syne Fallback;font-style:normal}.syne_8d62d1f3-module__-U8vOW__variable{--font-heading:"Syne", "Syne Fallback"}
:root{--bg:#edf0f4;--surface:#fff;--surface-alt:#f6f8fb;--surface-raised:#f0f2f6;--border:#0e142012;--border-strong:#0e142021;--ink-950:#0e1420;--ink-900:#1a2236;--ink-850:#243044;--slate-700:#4b5a72;--slate-500:#6d7f99;--slate-300:#b8c4d4;--line:#0e142012;--line-strong:#0e142021;--accent:#c9a24a;--accent-strong:#a87f2d;--accent-gold:#c9a24a;--accent-gold-muted:#c9a24a1a;--success:#12784a;--success-bg:#e6f9f0;--warning:#8a5c00;--warning-bg:#fff4d6;--danger:#b91c1c;--danger-bg:#fef2f2;--shadow-1:0 1px 2px #0e14200a, 0 4px 16px #0e14200d;--shadow-2:0 2px 8px #0e14200f, 0 12px 32px #0e142012;--shadow-3:0 8px 24px #0e14201a, 0 24px 56px #0e14201a;--shadow:var(--shadow-1);--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--radius-2xl:32px;--sidebar-width:256px;--content-padding:40px;--text-primary:#0e1420;--text-secondary:#4b5a72;--text-tertiary:#6d7f99;--background:var(--bg)}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0;padding:0}body{background:var(--bg);color:var(--ink-950);font-family:var(--font-body), ui-sans-serif, system-ui, sans-serif;font-feature-settings:"cv02", "cv03", "cv04", "cv11";-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulseGlow{0%,to{box-shadow:0 0 #c9a24a33}50%{box-shadow:0 0 0 8px #c9a24a00}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.page-stack{animation:.35s ease-out fadeInUp}.skeleton{background:linear-gradient(90deg, var(--surface-raised) 25%, var(--surface-alt) 50%, var(--surface-raised) 75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.8s ease-in-out infinite shimmer}.skeleton-text{width:70%;height:14px;margin-bottom:8px}.skeleton-title{width:50%;height:28px;margin-bottom:12px}.skeleton-card{border-radius:var(--radius-xl);height:140px}.skeleton-row{height:52px;margin-bottom:4px}.app-shell{grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;background:linear-gradient(#0e1420 0%,#0a1018 100%);border-right:1px solid #ffffff0a;flex-direction:column;height:100vh;display:flex;position:sticky;top:0;overflow:hidden auto}.brand-lockup{border-bottom:1px solid #ffffff0f;flex-shrink:0;align-items:center;gap:12px;padding:24px 20px 20px;display:flex}.brand-mark{color:#0e1420;width:42px;height:42px;font-family:var(--font-heading);letter-spacing:-.04em;background:linear-gradient(135deg,#e0be66,#c9a24a);border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:inline-flex}.brand{font-family:var(--font-heading);letter-spacing:-.04em;font-size:22px;font-weight:800;line-height:1}.brand-sub{color:#ffffff6b;letter-spacing:.01em;margin-top:3px;font-size:11.5px}.nav-list{flex-direction:column;gap:3px;padding:14px 14px 0;display:flex}.nav-item{color:#ffffffa6;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;padding:11px 14px;font-size:14px;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.nav-item:hover{color:#ffffffe6;background:#ffffff0f;border-color:#ffffff0f}.nav-item.active{color:#e8c86d;background:#c9a24a26;border-color:#c9a24a33;font-weight:600}.sidebar-account{border-top:1px solid #ffffff12;flex-shrink:0;margin-top:auto;padding:16px 14px}.sidebar-user-row{background:#ffffff0d;border:1px solid #ffffff12;border-radius:14px;align-items:center;gap:12px;padding:12px;display:flex}.sidebar-user-name{color:#fff;font-size:14px;font-weight:600;line-height:1.3}.sidebar-user-meta{color:#ffffff80;margin-top:1px;font-size:12px}.sidebar-user-meta.muted{color:#ffffff59}.sidebar-btn{justify-content:center;width:100%;margin-top:10px}.content-area{padding:var(--content-padding);background:var(--bg);min-height:100vh;animation:.25s ease-out fadeIn}.page-stack{flex-direction:column;gap:28px;display:flex}.page-header{justify-content:space-between;align-items:flex-end;gap:20px;padding-bottom:4px;display:flex}.page-eyebrow{color:var(--accent-strong);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:700}.page-title{font-family:var(--font-heading);letter-spacing:-.04em;color:var(--ink-950);margin:0;font-size:clamp(30px,4vw,44px);line-height:1}.page-subtitle{max-width:800px;color:var(--slate-700);margin:10px 0 0;font-size:14.5px;line-height:1.75}.page-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-1);padding:24px;transition:box-shadow .2s,border-color .2s}.emphasis-card,.hero-card{background:linear-gradient(160deg,#fffdf5 0%,#fff 60%)}.panel-outline{border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-alt);padding:18px}.narrow-card{max-width:560px}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.metrics-three{grid-template-columns:repeat(3,minmax(0,1fr))}.metrics-four{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card{min-height:140px;transition:transform .2s,box-shadow .2s;animation:.4s ease-out both fadeInUp;position:relative;overflow:hidden}.stat-card:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}.metrics .stat-card:first-child{animation-delay:0s}.metrics .stat-card:nth-child(2){animation-delay:50ms}.metrics .stat-card:nth-child(3){animation-delay:.1s}.metrics .stat-card:nth-child(4){animation-delay:.15s}.stat-card:after{content:"";pointer-events:none;background:radial-gradient(circle,#c9a24a14,#0000 70%);border-radius:50%;width:80px;height:80px;position:absolute;bottom:-20px;right:-20px}.metric-label{letter-spacing:.09em;text-transform:uppercase;color:var(--slate-500);font-size:11px;font-weight:700}.metric-value{letter-spacing:-.04em;color:var(--ink-950);margin-top:12px;font-size:32px;font-weight:800;line-height:1.05}.metric-meta{color:var(--slate-500);margin-top:10px;font-size:12.5px;line-height:1.5}.section-heading-row{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.section-title{letter-spacing:-.025em;color:var(--ink-950);margin:0;font-size:19px;font-weight:700;line-height:1.25}.section-title.small-title{font-size:16px}.section-subtitle{color:var(--slate-700);margin:5px 0 0;font-size:13.5px;line-height:1.65}.label{color:var(--slate-700);letter-spacing:.01em;font-size:12.5px;font-weight:600}.input,.select{border-radius:var(--radius-lg);border:1.5px solid var(--border-strong);width:100%;color:var(--ink-950);appearance:none;background:#fff;min-height:46px;padding:11px 14px;font-size:14px;transition:border-color .15s,box-shadow .15s;box-shadow:inset 0 1px 2px #0e142008}.input:focus,.select:focus{border-color:#c9a24ab3;outline:none;box-shadow:0 0 0 3px #c9a24a1f,inset 0 1px 2px #0e142008}.input::placeholder{color:var(--slate-300)}.field{flex-direction:column;gap:7px;display:flex}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-grid-3{grid-template-columns:1.2fr 1fr auto;align-items:end;gap:12px;display:grid}.form-actions{align-items:center;gap:10px;margin-top:6px;display:flex}.btn-gold,.btn-out{letter-spacing:-.01em;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 20px;font-size:14px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.btn-gold{color:#0e1420;background:linear-gradient(135deg,#d8b45c,#c9a24a);border:none;box-shadow:0 1px 3px #c9a24a66}.btn-gold:hover{background:linear-gradient(135deg,#e0be66,#d4a94f);transform:translateY(-1px);box-shadow:0 4px 12px #c9a24a59}.btn-gold:active{transform:translateY(0);box-shadow:0 1px 3px #c9a24a4d}.btn-out{color:var(--ink-950);border:1.5px solid var(--border-strong);background:#fff}.btn-out:hover{background:var(--surface-alt);border-color:var(--border-strong);box-shadow:var(--shadow-1)}.btn-small{min-height:34px;padding:0 14px;font-size:13px}.link-btn{color:var(--gold);cursor:pointer;font:inherit;text-underline-offset:3px;background:0 0;border:none;padding:0;font-size:13px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.link-btn:hover{text-decoration-style:solid}.btn-ghost{border:1.5px solid var(--border-strong);min-height:40px;color:var(--ink-950);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffc;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.btn-ghost:hover{background:var(--surface-alt);box-shadow:var(--shadow-1)}.table-wrap{border-radius:var(--radius-lg);border:1px solid var(--border);overflow:auto}.table{border-collapse:collapse;width:100%}.table th{background:var(--surface-alt);text-transform:uppercase;letter-spacing:.08em;color:var(--slate-500);border-bottom:1px solid var(--border);white-space:nowrap;text-align:left;padding:11px 14px;font-size:11px;font-weight:700}.table td{border-bottom:1px solid var(--border);color:var(--ink-950);vertical-align:middle;padding:13px 14px;font-size:13.5px}.table tr:last-child td{border-bottom:none}.table tr{transition:background .15s}.table tr:hover td{background:#c9a24a0d}.table-empty td{text-align:center;color:var(--slate-500);padding:32px}.badge{letter-spacing:.03em;border-radius:6px;align-items:center;padding:3px 9px;font-size:11.5px;font-weight:700;display:inline-flex}.badge-paid{color:#12784a;background:#e6f9f0}.badge-pending{color:#8a5c00;background:#fff4d6}.badge-overdue{color:#b91c1c;background:#fef2f2}.badge-inactive{color:#b91c1c;background:#b91c1c1a}.badge-on-hold{color:#a87f2d;background:#c9a24a1f}.deactivate-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.summary-chip{color:var(--accent-strong);letter-spacing:.04em;background:#c9a24a1a;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:700}.quick-login-grid,.quick-links-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.quick-login-card,.quick-link-card{border-radius:var(--radius-lg);border:1.5px solid var(--border);text-align:left;cursor:pointer;background:#fff;padding:18px;text-decoration:none;transition:all .18s;display:block}.quick-link-card:hover{box-shadow:var(--shadow-2);background:linear-gradient(160deg,#fffdf7,#fff);border-color:#c9a24a59;transform:translateY(-2px)}.quick-login-label,.quick-link-title{color:var(--ink-950);font-size:14px;font-weight:700}.quick-login-value,.quick-link-text{color:var(--slate-700);margin-top:6px;font-size:13px;line-height:1.55}.attendance-row{border:1.5px solid var(--border);border-radius:var(--radius-lg);background:#fff;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.attendance-row:hover{border-color:var(--border-strong);box-shadow:0 2px 8px #0e14200a}.attendance-row-unrecorded{background:var(--surface-alt);border-style:dashed}.attendance-name{font-size:14px;font-weight:600}.attendance-actions{flex-wrap:wrap;gap:8px;display:flex}.segmented-btn{border:1.5px solid var(--border-strong);color:var(--slate-700);background:#fff;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .15s}.segmented-btn:hover:not(.active){background:var(--surface-alt);border-color:var(--slate-300);transform:scale(1.02)}.segmented-btn.active{background:var(--ink-950);color:#fff;border-color:var(--ink-950)}.segmented-btn.active-present{color:#fff;background:#12784a;border-color:#12784a}.segmented-btn.active-absent{color:#fff;background:#b91c1c;border-color:#b91c1c}.segmented-btn.active-late{color:#fff;background:#8a5c00;border-color:#8a5c00}.profile-orb{color:#fff;letter-spacing:-.02em;background:linear-gradient(135deg,#c9a24a,#6372ff);border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:17px;font-weight:800;display:inline-flex;box-shadow:0 4px 12px #0e14201f}.small-orb{border-radius:11px;width:36px;height:36px;font-size:12px}.orb-football{background:linear-gradient(135deg,#15803d,#166534)}.orb-cricket{background:linear-gradient(135deg,#b45309,#92400e)}.orb-tennis{background:linear-gradient(135deg,#15803d,#4ade80)}.orb-badminton{background:linear-gradient(135deg,#1d4ed8,#3b82f6)}.orb-basketball{background:linear-gradient(135deg,#c2410c,#ea580c)}.orb-swimming{background:linear-gradient(135deg,#0369a1,#0ea5e9)}.orb-athletics{background:linear-gradient(135deg,#7e22ce,#a855f7)}.orb-default{background:linear-gradient(135deg,#c9a24a,#6372ff)}.profile-block{align-items:center;gap:14px;margin-bottom:16px;display:flex}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:56px 24px;animation:.4s ease-out fadeIn;display:flex}.empty-state-icon{background:var(--surface-alt);border:1.5px solid var(--border);width:52px;height:52px;color:var(--slate-500);border-radius:16px;justify-content:center;align-items:center;font-size:24px;display:inline-flex}.empty-state-title{letter-spacing:-.02em;color:var(--ink-950);font-size:17px;font-weight:800}.empty-state-text{color:var(--slate-500);max-width:360px;font-size:13.5px;line-height:1.75}.detail-label{color:var(--slate-500);text-transform:uppercase;letter-spacing:.09em;font-size:11px;font-weight:700}.detail-value{color:var(--ink-950);margin-top:5px;font-size:14px;line-height:1.6}.info-grid{gap:14px;display:grid}.info-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.info-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.mini-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.mini-stats.single-column{grid-template-columns:1fr}.mini-stat-label{letter-spacing:.09em;text-transform:uppercase;color:var(--slate-500);font-size:11px;font-weight:700}.mini-stat-value{letter-spacing:-.03em;color:var(--ink-950);margin-top:8px;font-size:22px;font-weight:800}.mini-stat-value.small{color:var(--slate-700);font-size:13.5px;font-weight:500;line-height:1.6}.stack{flex-direction:column;gap:14px;display:flex}.stack-lg{flex-direction:column;gap:20px;display:flex}.grid-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.text-center{text-align:center}.compact-row{margin-bottom:12px}.toolbar-right{justify-content:flex-end;gap:10px;display:flex}.toolbar-input{min-width:260px}.align-end{justify-content:flex-end}.alert{border-radius:var(--radius-lg);border:1px solid #0000;padding:14px 18px;font-size:13.5px;line-height:1.65}.alert-success{color:#12784a;background:#e6f9f0;border-color:#12784a26}.alert-error{color:#b91c1c;background:#fef2f2;border-color:#b91c1c1f}@keyframes modalIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.tab-row{background:var(--surface-alt);border:1.5px solid var(--border);border-radius:14px;flex-wrap:wrap;gap:6px;width:fit-content;padding:4px;display:flex}.tab-btn{min-height:36px;color:var(--slate-700);background:0 0;border:none;border-radius:10px;padding:0 16px;font-size:13.5px;font-weight:600;transition:all .12s}.tab-btn:hover{color:var(--ink-950);background:#0e14200f}.tab-btn-active{color:var(--ink-950);background:#fff;box-shadow:0 1px 4px #0e14201a}.tree-root{color:#0e1420;letter-spacing:.02em;background:linear-gradient(135deg,#d8b45c,#c9a24a);border-radius:999px;margin-bottom:22px;padding:10px 18px;font-size:13px;font-weight:800;display:inline-flex}.tree-stack{flex-direction:column;gap:16px;display:flex}.tree-node{padding-left:22px;position:relative}.tree-node:before{content:"";background:#0e142014;width:1.5px;position:absolute;top:0;bottom:0;left:7px}.tree-card{border:1.5px solid var(--border);border-radius:var(--radius-lg);background:#fff;padding:16px;transition:border-color .15s}.tree-card:hover{border-color:#c9a24a4d}.tree-title{color:var(--ink-950);font-size:14px;font-weight:700}.tree-meta{color:var(--slate-500);margin-top:4px;font-size:12.5px}.tree-subrow{color:var(--slate-700);margin-top:6px;font-size:12.5px}.tree-children{flex-direction:column;gap:12px;margin-top:12px;display:flex}.tree-players{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.compact-tree-card{padding:12px}.muted-tree-card{background:#fdfaf2;border-color:#c9a24a33}.session-block{border:1.5px solid var(--border);border-radius:var(--radius-lg);background:#fff;overflow:hidden}.session-header{cursor:pointer;text-align:left;background:#fff;border:none;align-items:center;gap:12px;width:100%;padding:14px 18px;transition:background .12s;display:flex}.session-header:hover{background:var(--surface-alt)}.session-header-open{border-bottom:1.5px solid var(--border);background:#c9a24a12}.session-date{color:var(--ink-950);flex:1;font-size:14px;font-weight:700}.session-count{color:var(--slate-700);background:var(--surface-raised);border-radius:999px;padding:4px 10px;font-size:12.5px}.session-chevron{color:var(--slate-500);margin-left:4px;font-size:10px;transition:transform .2s}.metric-row-actions{justify-content:flex-end;margin-top:8px;display:flex}.toast-portal{z-index:9999;pointer-events:none;flex-direction:column;gap:8px;max-width:380px;display:flex;position:fixed;bottom:24px;right:24px}.toast-item{border-radius:var(--radius-lg);color:#f3f4f6;pointer-events:all;background:#111827;border:1px solid #ffffff14;align-items:flex-start;gap:12px;padding:14px 16px;font-size:13.5px;line-height:1.5;animation:.22s cubic-bezier(.34,1.4,.64,1) toastIn;display:flex;box-shadow:0 8px 32px #00000047,0 2px 8px #0003}.toast-success{border-left:2.5px solid #34d399}.toast-error{border-left:2.5px solid #f87171}.toast-info{border-left:2.5px solid #c9a24a}.toast-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-top:1px;font-size:13px;font-weight:700;display:flex}.toast-icon-success{color:#34d399;background:#34d39926}.toast-icon-error{color:#f87171;background:#f8717126}.toast-icon-info{color:#c9a24a;background:#c9a24a26}.toast-msg{flex:1}.toast-close{color:#ffffff59;cursor:pointer;background:0 0;border:none;flex-shrink:0;margin-top:2px;padding:0;font-size:12px;line-height:1;transition:color .12s}.toast-close:hover{color:#ffffffb3}@keyframes toastIn{0%{opacity:0;transform:translate(16px)scale(.97)}to{opacity:1;transform:translate(0)scale(1)}}.pass-shell{align-items:center;display:flex;position:relative}.pass-shell .input{width:100%;padding-right:70px}.pass-toggle{color:var(--slate-500);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:600;transition:color .12s,background .12s;position:absolute;right:10px}.pass-toggle:hover{color:var(--ink-950);background:#0e14200f}.map-link-hint{color:var(--slate-500);align-items:center;gap:4px;margin-top:5px;font-size:11.5px;line-height:1.5;display:flex}.map-link-valid{color:#12784a}.map-link-invalid{color:#b91c1c}.spinner{border:2px solid #0e142014;border-top-color:var(--ink-950);border-radius:50%;width:20px;height:20px;animation:.65s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.mobile-nav-toggle{z-index:200;background:#0e1420;border:none;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;padding:0;display:none;position:fixed;top:14px;left:14px;box-shadow:0 4px 16px #0e142047}.hamburger-line{background:#ffffffe0;border-radius:2px;width:18px;height:1.5px;display:block}.sidebar-overlay{z-index:149;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#080e168c;display:none;position:fixed;inset:0}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.surface-alt{background:var(--surface-alt)}.note{color:var(--slate-500);font-size:13px}.mono{font-family:ui-monospace,SF Mono,Menlo,Monaco,Consolas,monospace;font-size:12px}.inline-link{color:var(--accent-strong);text-underline-offset:2px;font-weight:600;text-decoration:underline}.auth-stage{background:radial-gradient(at 15% 20%,#c9a24a2e,#0000 35%),radial-gradient(at 85% 80%,#0e14201a,#0000 30%),linear-gradient(#edf0f4,#e6eaf0);min-height:100vh;position:relative;overflow:hidden}.auth-orb{filter:blur(70px);pointer-events:none;border-radius:999px;position:absolute}.auth-orb-top{background:#c9a24a38;width:320px;height:320px;top:-120px;right:-80px}.auth-orb-bottom{background:#0e14201a;width:300px;height:300px;bottom:-120px;left:-120px}.auth-shell{z-index:1;grid-template-columns:minmax(0,1.1fr) minmax(360px,480px);gap:22px;min-height:100vh;padding:32px;display:grid;position:relative}.auth-shell-single{grid-template-columns:minmax(0,1fr);max-width:1220px;margin:0 auto}.auth-center-wrap{z-index:1;justify-content:center;align-items:center;min-height:100vh;padding:28px;display:flex;position:relative}.auth-hub-card{border-radius:var(--radius-2xl);flex-direction:column;gap:32px;width:100%;max-width:820px;padding:40px;display:flex}.auth-hub-head{flex-direction:column;gap:10px;display:flex}.auth-wordmark{font-family:var(--font-heading);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-strong);font-size:13px;font-weight:800}.auth-hub-title{letter-spacing:-.03em;color:var(--ink-950);font-size:clamp(28px,4vw,40px);font-weight:800;line-height:1.1}.auth-hub-sub{color:var(--slate-700);font-size:15px}.auth-card{align-self:start}.auth-title{max-width:620px}.auth-form-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.auth-form-title{letter-spacing:-.025em;color:var(--ink-950);font-size:20px;font-weight:800}.auth-form-sub{color:var(--slate-700);margin-top:2px;font-size:13px}.auth-back-link{align-self:flex-start;margin-top:auto}.auth-card-surface{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#ffffffd1;border:1px solid #0e142014;box-shadow:0 24px 80px #0e14201a}.auth-showcase,.auth-form-card{border-radius:var(--radius-2xl);padding:28px}.auth-showcase{flex-direction:column;justify-content:space-between;gap:24px;display:flex}.auth-form-card{align-self:center}.pill-row{flex-wrap:wrap;gap:10px;display:flex}.auth-pill{min-height:32px;color:var(--accent-strong);letter-spacing:.06em;text-transform:uppercase;background:#c9a24a29;border:1px solid #c9a24a33;border-radius:999px;justify-content:center;align-items:center;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.auth-pill.muted{color:var(--slate-700);background:#0e14200d;border-color:#0e142014}.auth-copy-stack{flex-direction:column;gap:10px;display:flex}.auth-display-title{max-width:720px;font-size:clamp(38px,5vw,60px);font-family:var(--font-heading);letter-spacing:-.04em;color:var(--ink-950);line-height:.95}.auth-lead{max-width:720px;color:var(--slate-700);font-size:16px;line-height:1.7}.role-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.role-card{background:#ffffffe0;border:1px solid #0e142014;border-radius:22px;flex-direction:column;gap:12px;padding:18px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;position:relative;overflow:hidden}.role-card:hover{border-color:#c9a24a4d;transform:translateY(-3px);box-shadow:0 20px 48px #0e14201a}.role-card:after{content:"";pointer-events:none;background:radial-gradient(circle,#c9a24a2e,#0000 65%);border-radius:999px;width:140px;height:140px;position:absolute;inset:auto -40px -70px auto}.role-card-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.role-avatar{color:#fff;width:52px;height:52px;font-family:var(--font-heading);background:linear-gradient(135deg,#0e1420,#243044);border-radius:18px;justify-content:center;align-items:center;font-size:18px;font-weight:800;display:inline-flex}.role-badge{color:var(--accent-strong);background:#c9a24a24;border-radius:999px;align-items:center;padding:8px 12px;font-size:12px;font-weight:700;display:inline-flex}.role-title{letter-spacing:-.03em;color:var(--ink-950);font-size:20px;font-weight:800}.role-text{color:var(--slate-700);font-size:14px;line-height:1.65}.role-meta{color:var(--slate-700);letter-spacing:.06em;text-transform:uppercase;border-top:1px solid #0e142014;flex-direction:column;gap:6px;padding-top:8px;font-size:12px;display:flex}.role-meta strong{color:var(--ink-950);text-transform:none;letter-spacing:normal;font-size:14px}.auth-insight-card{border-radius:var(--radius-xl);color:#fff;background:linear-gradient(145deg,#0e1420f5,#243044eb);padding:20px}.auth-insight-value{margin-top:10px;font-size:22px;font-weight:700;line-height:1.35}.auth-insight-note{color:#ffffffb8;margin-top:14px;font-size:13.5px;line-height:1.7}.auth-route-list{gap:10px;display:grid}.auth-route-item{border-radius:var(--radius-lg);color:var(--slate-700);background:#ffffff9e;border:1px solid #0e142014;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 16px;font-size:13px;display:flex}.auth-route-item strong{color:var(--ink-950);text-align:right;font-size:14px}.auth-footer-links{flex-wrap:wrap;gap:12px;display:flex}.credential-strip{background:#0e14200a;border:1px solid #0e142014;border-radius:20px;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.password-shell{position:relative}.auth-input{background:#ffffffeb;border-radius:18px;min-height:54px}.auth-input-password{padding-right:88px}.password-toggle{min-height:36px;color:var(--ink-950);background:#0e14200a;border:1px solid #0e142014;border-radius:999px;padding:0 12px;font-size:13px;font-weight:700;transition:background .12s;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.password-toggle:hover{background:#0e142014}.auth-form-actions{flex-direction:column;gap:12px;display:flex}.auth-submit{width:100%;min-height:52px;font-size:15px}.auth-help-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.role-theme-founder .auth-pill,.role-theme-founder .role-badge{color:var(--accent-strong);background:#c9a24a29;border-color:#c9a24a33}.role-theme-academy .auth-pill,.role-theme-academy .role-badge{color:#116149;background:#33887124;border-color:#11614924}.role-theme-coach .auth-pill,.role-theme-coach .role-badge{color:#214b93;background:#2b61ba1f;border-color:#214b931f}.role-theme-student .auth-pill,.role-theme-student .role-badge{color:#6d35b8;background:#7944c61f;border-color:#6d35b81f}.progress-chart-card{border-radius:var(--radius-md);background:var(--surface-alt);border:1px solid var(--border);padding:16px}.progress-chart-header{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:12px;display:flex}.progress-chart-title{text-transform:uppercase;letter-spacing:.06em;color:var(--slate-500);font-size:12px;font-weight:700}.progress-chart-value{color:var(--ink-950);align-items:baseline;gap:6px;font-size:18px;font-weight:800;display:flex}.progress-chart-diff{font-size:12px;font-weight:700}.progress-chart-diff.positive{color:var(--success)}.progress-chart-diff.negative{color:var(--danger)}.progress-chart-svg{width:100%;height:auto}.progress-chart-empty{color:var(--slate-300);padding:20px 0;font-size:12.5px}.progress-charts-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.notif-item{border-radius:var(--radius-sm);background:var(--surface-alt);border:1px solid var(--border);gap:12px;padding:14px 16px;transition:all .15s;animation:.3s ease-out both fadeInUp;display:flex}.notif-item:hover{border-color:var(--border-strong);box-shadow:0 2px 8px #0e14200a}.stack .notif-item:first-child{animation-delay:0s}.stack .notif-item:nth-child(2){animation-delay:30ms}.stack .notif-item:nth-child(3){animation-delay:60ms}.stack .notif-item:nth-child(4){animation-delay:90ms}.stack .notif-item:nth-child(5){animation-delay:.12s}.notif-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.notif-content{flex:1;min-width:0}.notif-header{align-items:center;gap:8px;margin-bottom:4px;display:flex}.notif-kind{color:var(--ink-950);font-size:12px;font-weight:700}.notif-channel{color:var(--slate-500);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.notif-message{color:var(--ink-950);font-size:13px;line-height:1.5}.notif-meta{color:var(--slate-500);margin-top:4px;font-size:12px}.today-session-card{border-radius:var(--radius-lg);background:var(--surface-alt);border:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;transition:all .18s;animation:.3s ease-out both fadeInUp;display:flex}.today-session-card:hover{border-color:#c9a24a40;box-shadow:0 4px 12px #0e14200f}.stack .today-session-card:first-child{animation-delay:0s}.stack .today-session-card:nth-child(2){animation-delay:60ms}.stack .today-session-card:nth-child(3){animation-delay:.12s}.today-session-info{flex:1;min-width:0}.today-session-name{color:var(--ink-950);font-size:14px;font-weight:700}.today-session-meta{color:var(--slate-500);margin-top:2px;font-size:12.5px}.today-session-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.quick-action-bar{flex-wrap:wrap;gap:10px;display:flex}@media (max-width:640px){.today-session-card{flex-direction:column;align-items:flex-start}.quick-action-bar{flex-direction:column}.quick-action-bar .btn-gold,.quick-action-bar .btn-out{text-align:center;width:100%}}.schedule-grid{grid-template-columns:repeat(7,1fr);gap:12px;display:grid}.schedule-day-card{flex-direction:column;gap:12px;min-height:140px;transition:transform .18s,box-shadow .18s;animation:.35s ease-out both fadeInUp;display:flex;padding:16px!important}.schedule-day-card:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}.schedule-grid .schedule-day-card:first-child{animation-delay:0s}.schedule-grid .schedule-day-card:nth-child(2){animation-delay:30ms}.schedule-grid .schedule-day-card:nth-child(3){animation-delay:60ms}.schedule-grid .schedule-day-card:nth-child(4){animation-delay:90ms}.schedule-grid .schedule-day-card:nth-child(5){animation-delay:.12s}.schedule-grid .schedule-day-card:nth-child(6){animation-delay:.15s}.schedule-grid .schedule-day-card:nth-child(7){animation-delay:.18s}.schedule-day-today{border-color:var(--accent-gold)!important;box-shadow:0 0 0 1px var(--accent-gold), var(--shadow-1)!important}.schedule-day-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.schedule-day-name{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-950);font-size:13px;font-weight:800}.schedule-day-empty{color:var(--slate-300);padding:8px 0;font-size:12.5px}.schedule-day-items{flex-direction:column;gap:8px;display:flex}.schedule-item{border-radius:var(--radius-sm);background:var(--surface-alt);border:1px solid var(--border);padding:10px 12px}.schedule-item-name{color:var(--ink-950);font-size:13px;font-weight:700}.schedule-item-meta{color:var(--slate-500);margin-top:2px;font-size:11.5px}@media (max-width:1100px){.schedule-grid{grid-template-columns:1fr 1fr}}@media (max-width:640px){.schedule-grid{grid-template-columns:1fr}}.auth-stage-unified{justify-content:center;align-items:center;display:flex}.auth-unified-card{border-radius:var(--radius-2xl);flex-direction:column;gap:28px;width:100%;max-width:420px;padding:40px 36px;animation:.4s cubic-bezier(.34,1.3,.64,1) scaleIn;display:flex}.auth-unified-head{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.auth-brand-mark{margin-bottom:4px}.auth-brand-mark .brand-mark{width:52px;height:52px;font-size:20px}.auth-unified-title{font-family:var(--font-heading);letter-spacing:-.03em;color:var(--ink-950);font-size:28px;font-weight:800}.auth-unified-sub{color:var(--slate-700);font-size:14px}.auth-unified-form{flex-direction:column;gap:18px;display:flex}.auth-submit-full{width:100%;min-height:52px;margin-top:4px;font-size:15px}.auth-footer-links{justify-content:center;gap:12px;display:flex}.auth-trust-footer{text-align:center;color:var(--slate-300);border-top:1px solid var(--border);padding-top:8px;font-size:12px}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:300;background:#0a101880;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:420px;box-shadow:var(--shadow-3);background:#fff;padding:28px;animation:.2s cubic-bezier(.34,1.3,.64,1) modalIn}.modal-title{letter-spacing:-.02em;color:var(--ink-950);margin-bottom:8px;font-size:18px;font-weight:800}.modal-text{color:var(--slate-700);margin-bottom:24px;font-size:14px;line-height:1.6}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.modal-actions .btn-danger{background:var(--danger);color:#fff;border-radius:var(--radius-sm);border:none;min-height:40px;padding:0 20px;font-size:13.5px;font-weight:700}.modal-actions .btn-danger:hover{background:#991b1b}@media (max-width:1100px){.metrics,.metrics-three,.metrics-four{grid-template-columns:1fr 1fr}.grid-two,.quick-login-grid,.quick-links-grid,.form-grid,.info-grid-2,.info-grid-3,.tree-players,.app-shell{grid-template-columns:1fr}.content-area{padding:24px 20px}.auth-shell{grid-template-columns:1fr;padding:20px}.page-header{flex-direction:column;align-items:flex-start}.form-grid-3{grid-template-columns:1fr}.attendance-row{flex-direction:column;align-items:flex-start}.role-card-grid{grid-template-columns:1fr}.auth-display-title{font-size:42px}.credential-strip,.auth-help-row,.auth-route-item{flex-direction:column;align-items:flex-start}.auth-route-item strong{text-align:left}.mobile-nav-toggle{display:flex}.sidebar-overlay{display:block}.sidebar{z-index:150;width:260px;height:100vh;transition:transform .22s cubic-bezier(.4,0,.2,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.sidebar-mobile-open{overflow-y:auto;transform:translate(0)}.content-area{padding-top:70px}}@media (max-width:640px){.metrics,.metrics-three,.metrics-four{grid-template-columns:1fr}.page-title{font-size:28px}.content-area{padding:20px 16px}.mini-stats{grid-template-columns:1fr}.btn-gold,.btn-out,.btn-ghost{min-height:48px}.segmented-btn{min-height:44px;padding:10px 16px}.tab-btn{min-height:40px}.nav-item{min-height:48px;padding:14px 16px}.input,.select{min-height:50px;font-size:16px}.page-stack{gap:20px}.form-actions{flex-direction:column}.form-actions .btn-gold,.form-actions .btn-out{width:100%}}
