*{box-sizing:border-box;margin:0;padding:0}input,select,textarea{font-family:inherit}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:var(--bg-root)}::-webkit-scrollbar-thumb{background:var(--bg-elevated);border-radius:3px}input[type=date],input[type=time]{color-scheme:dark}:root{--color-blue:#3b82f6;--color-blue-light:#60a5fa;--color-green:#10b981;--color-green-light:#34d399;--color-red:#ef4444;--color-red-light:#f87171;--color-purple:#8b5cf6;--color-purple-light:#a78bfa;--color-amber:#f59e0b;--color-amber-light:#fbbf24;--color-pink:#ec4899;--color-pink-light:#f9a8d4;--color-gray:#6b7280;--color-gray-light:#9ca3af;--color-primary:var(--color-blue);--color-primary-light:var(--color-blue-light);--color-danger:var(--color-red);--color-danger-light:var(--color-red-light);--color-success:var(--color-green);--color-success-light:var(--color-green-light);--color-warning:var(--color-amber);--color-warning-light:var(--color-amber-light);--sp-1:4px;--sp-2:6px;--sp-3:8px;--sp-4:10px;--sp-5:12px;--sp-6:16px;--sp-7:24px;--sp-8:32px;--sp-9:40px;--sp-10:48px;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:10px;--r-xl:12px;--r-2xl:16px;--r-full:9999px;--fs-2xs:10px;--fs-xs:11px;--fs-sm:12px;--fs-md:13px;--fs-base:14px;--fs-lg:15px;--fs-xl:16px;--fs-2xl:18px;--fw-normal:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700}:root{--bg-root:#0f1117;--bg-sidebar:#161b27;--bg-card:#161b27;--bg-elevated:#1e2535;--bg-input:#0f1117;--bg-accent:#1e3a5f;--border-color:#1e2535;--border-medium:#334155;--text-primary:#e2e8f0;--text-secondary:#94a3b8;--text-muted:#64748b;--text-dimmer:#475569}body{background:var(--bg-root);color:var(--text-primary);font-family:Inter,system-ui,sans-serif;overflow-x:hidden}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.flex-1{flex:1}.flex-wrap{flex-wrap:wrap}.min-w-0{min-width:0}.w-full{width:100%}.relative{position:relative}.gap-1{gap:var(--sp-1)}.gap-2{gap:var(--sp-2)}.gap-3{gap:var(--sp-3)}.gap-4{gap:var(--sp-4)}.gap-5{gap:var(--sp-5)}.gap-6{gap:var(--sp-6)}.mb-1{margin-bottom:var(--sp-1)}.mb-2{margin-bottom:var(--sp-2)}.mb-3{margin-bottom:var(--sp-3)}.mb-4{margin-bottom:var(--sp-4)}.mb-5{margin-bottom:var(--sp-5)}.mb-6{margin-bottom:var(--sp-6)}.mb-7{margin-bottom:var(--sp-7)}.mt-auto{margin-top:auto}.ml-auto{margin-left:auto}.p-4{padding:var(--sp-4)}.p-5{padding:var(--sp-5)}.p-6{padding:var(--sp-6)}.p-7{padding:var(--sp-7)}.px-5{padding-left:var(--sp-5);padding-right:var(--sp-5)}.px-6{padding-left:var(--sp-6);padding-right:var(--sp-6)}.text-2xs{font-size:var(--fs-2xs)}.text-xs{font-size:var(--fs-xs)}.text-sm{font-size:var(--fs-sm)}.text-md{font-size:var(--fs-md)}.text-base{font-size:var(--fs-base)}.text-lg{font-size:var(--fs-lg)}.text-xl{font-size:var(--fs-xl)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-dimmer{color:var(--text-dimmer)}.text-accent{color:var(--color-primary-light)}.text-danger{color:var(--color-danger-light)}.text-success{color:var(--color-success-light)}.text-warning{color:var(--color-warning-light)}.font-medium{font-weight:var(--fw-medium)}.font-semibold{font-weight:var(--fw-semibold)}.font-bold{font-weight:var(--fw-bold)}.uppercase{text-transform:uppercase}.tracking-wide{letter-spacing:.05em}.tracking-wider{letter-spacing:.08em}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--r-xl);padding:var(--sp-6)}.card-elevated{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--r-xl);padding:var(--sp-6)}.divider{border:none;border-top:1px solid var(--border-color);margin:var(--sp-5) 0}.btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--r-md);font-weight:var(--fw-semibold);font-size:var(--fs-md);cursor:pointer;padding:var(--sp-3) var(--sp-6);white-space:nowrap;transition:background .15s,opacity .15s,border-color .15s}.btn:hover:not(:disabled){opacity:.85}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--league-accent);color:var(--league-accent-text)}.btn-primary-dim{background:var(--league-accent-dim);color:var(--league-accent);border:1px solid var(--league-accent-border)}.btn-primary-dim:hover:not(:disabled){background:var(--league-active-bg)}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid rgba(255,255,255,.15)}.btn-ghost:hover:not(:disabled){background:#ffffff12;color:var(--text-primary)}.btn-cancel{background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border-color)}.btn-cancel:hover:not(:disabled){color:var(--text-primary)}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-danger-dim{background:#ef44441f;color:#f87171;border:1px solid rgba(239,68,68,.35)}.btn-danger-dim:hover:not(:disabled){background:#ef444433}.btn-sm{padding:var(--sp-1) var(--sp-4);font-size:var(--fs-sm)}.btn-xs{padding:2px var(--sp-3);font-size:var(--fs-xs)}.btn-icon{background:none;border:none;cursor:pointer;padding:var(--sp-2);border-radius:var(--r-sm);color:var(--text-muted)}.btn-icon:hover{color:var(--text-primary)}.input{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--r-sm);color:var(--text-primary);padding:var(--sp-2) var(--sp-4);font-size:var(--fs-md);width:100%;outline:none;box-sizing:border-box;appearance:none;-webkit-appearance:none}.input:focus{border-color:var(--league-accent);box-shadow:0 0 0 3px var(--league-accent-dim)}.input-label{font-size:var(--fs-xs);color:var(--text-muted);margin-bottom:var(--sp-1);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:.05em}.badge{display:inline-flex;align-items:center;border-radius:var(--r-full);padding:2px var(--sp-3);font-size:var(--fs-xs);font-weight:var(--fw-semibold)}.badge-blue{background:#3b82f618;color:var(--color-blue-light);border:1px solid #3b82f655}.badge-green{background:#10b98118;color:var(--color-green-light);border:1px solid #10b98155}.badge-red{background:#ef444418;color:var(--color-red-light);border:1px solid #ef444455}.badge-purple{background:#8b5cf618;color:var(--color-purple-light);border:1px solid #8b5cf655}.badge-amber{background:#f59e0b18;color:var(--color-amber-light);border:1px solid #f59e0b55}.badge-gray{background:#6b728018;color:var(--color-gray-light);border:1px solid #6b728055}.locked-banner{background:#1c1a0a;border:1px solid #f59e0b44;border-radius:var(--r-md);padding:var(--sp-3) var(--sp-5);font-size:var(--fs-sm);color:var(--color-amber-light);display:flex;align-items:center;gap:var(--sp-3);font-weight:var(--fw-medium)}:root{--league-accent: #3b82f6;--league-accent-dim: rgba(59,130,246,.14);--league-accent-border: rgba(59,130,246,.35);--league-active-bg: rgba(59,130,246,.14);--league-accent-text: #ffffff;--league-base-tint: rgba(15,17,23,0);--league-logo-ring: rgba(59,130,246,.55);--league-base: #0f1117;--league-base-dim: rgba(15,17,23,.22);--league-base-border: rgba(15,17,23,.55);--league-base-text: #ffffff;--league-base-text-muted: rgba(255,255,255,.45)}.overflow-hidden{overflow:hidden}.select-none{-webkit-user-select:none;user-select:none}.pointer{cursor:pointer}.no-pointer{cursor:not-allowed}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.awards-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:640px){.sidebar{display:none!important}.main-content{padding:var(--sp-6) var(--sp-6) 72px var(--sp-6)!important}.bottom-nav{display:flex!important}.player-grid{grid-template-columns:1fr 1fr!important}.score-grid{grid-template-columns:1fr!important}.stat-grid,.match-detail-grid{grid-template-columns:1fr 1fr!important}.pay-stat-grid,.awards-grid,.costs-grid{grid-template-columns:1fr!important}.player-nickname,.status-badge{display:none!important}.roster-header{flex-direction:column;gap:10px;align-items:flex-start!important}.roster-search{width:100%!important;margin-left:0!important}.training-toggle{margin-left:0!important}}@media(max-width:350px){.player-grid,.team-grid,.match-detail-grid{grid-template-columns:1fr!important}}
