:root{--bg-primary:#fff;--bg-secondary:#f5f5f5;--bg-card:#fff;--bg-hover:#f0f0f0;--text-primary:#1a1a1a;--text-secondary:#666;--text-muted:#999;--border:#e0e0e0;--border-light:#f0f0f0;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-light:#dbeafe;--success:#16a34a;--success-light:#dcfce7;--warning:#ea580c;--warning-light:#fff7ed;--danger:#dc2626;--danger-light:#fef2f2;--game-bg:#fef3c7;--game-border:#f59e0b;--practice-bg:#dbeafe;--practice-border:#3b82f6;--available-bg:#dcfce7;--available-border:#22c55e;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #00000012;--shadow-lg:0 10px 15px #0000001a;--radius:8px;--radius-sm:4px;--radius-lg:12px;--font-sans:"Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"Geist Mono", monospace}[data-theme=dark]{--bg-primary:#0f0f0f;--bg-secondary:#1a1a1a;--bg-card:#1e1e1e;--bg-hover:#2a2a2a;--text-primary:#f0f0f0;--text-secondary:#a0a0a0;--text-muted:#666;--border:#333;--border-light:#252525;--accent:#3b82f6;--accent-hover:#60a5fa;--accent-light:#1e3a5f;--success:#22c55e;--success-light:#14532d;--warning:#f97316;--warning-light:#431407;--danger:#ef4444;--danger-light:#450a0a;--game-bg:#422006;--game-border:#d97706;--practice-bg:#172554;--practice-border:#3b82f6;--available-bg:#14532d;--available-border:#22c55e;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 6px #0006;--shadow-lg:0 10px 15px #00000080}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg-primary:#0f0f0f;--bg-secondary:#1a1a1a;--bg-card:#1e1e1e;--bg-hover:#2a2a2a;--text-primary:#f0f0f0;--text-secondary:#a0a0a0;--text-muted:#666;--border:#333;--border-light:#252525;--accent:#3b82f6;--accent-hover:#60a5fa;--accent-light:#1e3a5f;--success:#22c55e;--success-light:#14532d;--warning:#f97316;--warning-light:#431407;--danger:#ef4444;--danger-light:#450a0a;--game-bg:#422006;--game-border:#d97706;--practice-bg:#172554;--practice-border:#3b82f6;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 6px #0006;--shadow-lg:0 10px 15px #00000080}}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.nav{background:var(--bg-card);border-bottom:1px solid var(--border);z-index:100;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex;position:sticky;top:0}.nav-brand{color:var(--text-primary);align-items:center;gap:.5rem;font-size:1.1rem;font-weight:700;text-decoration:none;display:flex}.nav-brand:hover{text-decoration:none}.nav-links{align-items:center;gap:1rem;list-style:none;display:flex}.nav-links a{color:var(--text-secondary);border-radius:var(--radius-sm);padding:.4rem .75rem;font-size:.9rem;transition:background .15s,color .15s}.nav-links a:hover{background:var(--bg-hover);color:var(--text-primary);text-decoration:none}.nav-links a.active{background:var(--accent-light);color:var(--accent)}.theme-toggle{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);background:0 0;padding:.4rem .5rem;font-size:1rem;line-height:1;transition:background .15s}.theme-toggle:hover{background:var(--bg-hover)}.container{max-width:1200px;margin:0 auto;padding:1.5rem}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.page-title{font-size:1.5rem;font-weight:700}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.25rem}.card-header{margin-bottom:.75rem;font-size:1rem;font-weight:600}.btn{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;line-height:1.4;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.btn:hover{text-decoration:none}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border)}.btn-secondary:hover{background:var(--bg-hover)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#b91c1c}.btn-sm{padding:.3rem .6rem;font-size:.8rem}.btn-icon{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:.3rem}.btn-icon:hover{color:var(--text-primary)}.form-group{margin-bottom:1rem}.form-label{color:var(--text-secondary);margin-bottom:.35rem;font-size:.875rem;font-weight:500;display:block}.form-input,.form-select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);width:100%;color:var(--text-primary);padding:.5rem .75rem;font-size:.875rem;transition:border-color .15s}.form-input:focus,.form-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light);outline:none}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-inline{align-items:end;gap:.75rem;display:flex}.table-container{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.875rem}th,td{text-align:left;border-bottom:1px solid var(--border-light);padding:.6rem .75rem}th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;font-size:.8rem;font-weight:600}tr:hover{background:var(--bg-hover)}.calendar{background:var(--border);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(7,1fr);gap:1px;display:grid;overflow:hidden}.calendar-header{background:var(--bg-secondary);text-align:center;color:var(--text-secondary);padding:.5rem;font-size:.8rem;font-weight:600}.calendar-header .date{color:var(--text-primary);font-size:1.1rem;font-weight:700}.calendar-day{background:var(--bg-card);flex-direction:column;gap:.35rem;min-height:120px;padding:.5rem;display:flex}.calendar-day.today{background:var(--accent-light)}.calendar-nav{align-items:center;gap:1rem;display:flex}.calendar-nav button{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-primary);padding:.4rem .75rem;font-size:.875rem}.calendar-nav button:hover{background:var(--bg-hover)}.calendar-nav .current-week{font-size:.95rem;font-weight:600}.event-card{border-radius:var(--radius-sm);border-left:3px solid;padding:.3rem .5rem;font-size:.75rem;line-height:1.3}.event-game{background:var(--game-bg);border-color:var(--game-border)}.event-practice{background:var(--practice-bg);border-color:var(--practice-border)}.event-available{background:var(--available-bg);border-color:var(--available-border);transition:opacity .15s;display:block}.event-available:hover{opacity:.8;text-decoration:none}.event-available-label{color:var(--success);margin-top:.1rem;font-size:.7rem;font-weight:600}.event-time{font-weight:600}.event-detail{color:var(--text-secondary)}.event-score{font-weight:700}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;padding:.15rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.badge-win{background:var(--success-light);color:var(--success)}.badge-loss{background:var(--danger-light);color:var(--danger)}.badge-tie{background:var(--warning-light);color:var(--warning)}.badge-home{background:var(--accent-light);color:var(--accent)}.badge-away{background:var(--bg-secondary);color:var(--text-secondary)}.alert{border-radius:var(--radius-sm);margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.alert-success{background:var(--success-light);color:var(--success);border:1px solid var(--success)}.alert-warning{background:var(--warning-light);color:var(--warning);border:1px solid var(--warning)}.alert-danger{background:var(--danger-light);color:var(--danger);border:1px solid var(--danger)}.empty-state{text-align:center;color:var(--text-muted);padding:3rem}.empty-state h3{color:var(--text-secondary);margin-bottom:.5rem}.login-container{justify-content:center;align-items:center;min-height:calc(100vh - 60px);display:flex}.login-card{width:100%;max-width:360px}@media (max-width:768px){.calendar{grid-template-columns:1fr}.calendar-day{min-height:auto;padding:.75rem}.calendar-header{justify-content:space-between;align-items:center;display:flex}.form-row{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:flex-start}.nav{padding:.5rem 1rem}.nav-links{gap:.25rem}.nav-links a{padding:.3rem .5rem;font-size:.8rem}.container{padding:1rem}}.modal-overlay{z-index:200;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg-card);border-radius:var(--radius-lg);width:90%;max-width:500px;box-shadow:var(--shadow-lg);padding:1.5rem}.modal-title{margin-bottom:1rem;font-size:1.1rem;font-weight:600}.modal-actions{justify-content:flex-end;gap:.5rem;margin-top:1.25rem;display:flex}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.stat-value{font-size:2rem;font-weight:700}.stat-label{color:var(--text-secondary);margin-top:.25rem;font-size:.85rem}.slots-grid{gap:.75rem;display:grid}.slot-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.slot-card.booked{background:var(--practice-bg);border-color:var(--practice-border)}.slot-card.booked-by-other{opacity:.7}.slot-info{flex-direction:column;gap:.15rem;display:flex}.slot-time{font-weight:600}.slot-field{color:var(--text-secondary);font-size:.85rem}.slot-team{color:var(--accent);font-size:.85rem;font-weight:500}
