:root{--bg:#f0f4f8;--surface:#fff;--surface-border:#e4e8ef;--text:#1e293b;--text-muted:#64748b;--primary:#2563eb;--primary-tint:#eff6ff;--primary-contrast:#fff;--success:#10b981;--success-tint:#ecfdf5;--danger:#e11d48;--danger-tint:#fff1f2;--accent-purple:#8b5cf6;--accent-purple-tint:#f5f3ff;--info:#0ea5e9;--info-tint:#e0f2fe;--radius-card:14px;--radius-control:8px;--radius-pill:999px;--shadow-card:0 1px 3px 0 #0f172a0f, 0 1px 2px -1px #0f172a0a;--font:Inter, system-ui, "Segoe UI", Ubuntu, Cantarell, "Noto Sans", -apple-system, Roboto, sans-serif}[data-theme=dark]{--bg:#0b1120;--surface:#141b2d;--surface-border:#222c42;--text:#f1f5f9;--text-muted:#94a3b8;--primary:#60a5fa;--primary-tint:#1e2a44;--primary-contrast:#0b1120;--success:#34d399;--success-tint:#103428;--danger:#fb7185;--danger-tint:#3a1620;--accent-purple:#a78bfa;--accent-purple-tint:#241d40;--info:#38bdf8;--info-tint:#0c2a3d}[data-theme=sport]{--bg:#09090b;--surface:#131316;--surface-border:#26262c;--text:#f5f5f4;--text-muted:#a1a1aa;--primary:#f97316;--primary-tint:#2a1709;--primary-contrast:#0a0a0a;--success:#a3e635;--success-tint:#1c2a0a;--danger:#f43f5e;--danger-tint:#3a1420;--accent-purple:#a78bfa;--accent-purple-tint:#241d40;--info:#38bdf8;--info-tint:#0b2433;--radius-card:16px;--radius-control:10px;--shadow-card:0 1px 0 0 #ffffff0a inset, 0 8px 24px -12px #000000b3}[data-theme=dark] .btn:not(.btn-primary):not(.btn-secondary):not(.btn-ghost),[data-theme=sport] .btn:not(.btn-primary):not(.btn-secondary):not(.btn-ghost){background:var(--surface-border);color:var(--text)}[data-theme=sport] h1{letter-spacing:-.02em}[data-theme=sport] h1:after{content:"";background:var(--success);border-radius:2px;width:28px;height:3px;margin-top:6px;display:block}[data-theme=sport] input[type=checkbox]{accent-color:var(--success)}[data-theme=sport] .badge-success{box-shadow:0 0 0 1px #a3e63540}[data-theme=sport] .btn-primary{box-shadow:0 6px 20px -6px #f973168c}[data-theme=sport] .card[role=link]:hover{border-color:var(--primary)}[data-theme=sport] .sidebar-link.active{box-shadow:inset 3px 0 0 var(--primary)}[data-theme=sport] .input:focus{outline-color:var(--primary);box-shadow:0 0 0 4px #f9731626}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0}input,button,textarea{font-family:inherit}a{color:inherit}.card{background:var(--surface);border:.8px solid var(--surface-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.btn{border-radius:var(--radius-control);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;text-decoration:none;transition:opacity .15s,background-color .15s;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--primary-contrast)}.btn-primary:hover:not(:disabled){opacity:.92}.btn-secondary{background:var(--primary-tint);color:var(--primary)}.btn-ghost{color:var(--text-muted);background:0 0}.btn-block{width:100%}.input{border-radius:var(--radius-control);border:1px solid var(--surface-border);background:var(--surface);width:100%;color:var(--text);padding:10px 14px;font-size:15px}.input:focus{outline:2px solid var(--primary);outline-offset:1px}.badge{border-radius:var(--radius-pill);align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex}.badge-success{background:var(--success-tint);color:var(--success)}.badge-info{background:var(--info-tint);color:var(--info)}.badge-danger{background:var(--danger-tint);color:var(--danger)}.badge-muted{background:var(--primary-tint);color:var(--primary)}.text-muted{color:var(--text-muted)}::selection{background:var(--primary-tint);color:var(--primary)}.shell{min-height:100%;display:flex}.sidebar{display:none}.topbar{z-index:10;background:var(--bg);border-bottom:1px solid var(--surface-border);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex;position:sticky;top:0}.topbar-brand{align-items:center;gap:10px;font-size:16px;font-weight:700;display:flex}.topbar-logo{background:var(--primary);width:32px;height:32px;color:var(--primary-contrast);border-radius:9px;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:flex}.topbar-actions{align-items:center;gap:6px;display:flex}.icon-btn{border-radius:var(--radius-control);width:38px;height:38px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.icon-btn:hover{background:var(--primary-tint);color:var(--primary)}.icon-btn.icon-btn-danger:hover{background:var(--danger-tint);color:var(--danger)}.main{flex:1;width:100%;min-width:0;max-width:900px;margin:0 auto;padding:16px 16px 90px}.bottom-nav{z-index:10;background:var(--surface);border-top:1px solid var(--surface-border);padding:6px 8px calc(6px + env(safe-area-inset-bottom));display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-item{border-radius:var(--radius-control);color:var(--text-muted);flex-direction:column;flex:1;align-items:center;gap:2px;padding:6px 0;font-size:11px;font-weight:600;text-decoration:none;display:flex}.bottom-nav-item.active{color:var(--primary)}@media (width>=900px){.sidebar{background:var(--surface);border-right:1px solid var(--surface-border);flex-direction:column;flex-shrink:0;width:240px;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0}.sidebar-brand{align-items:center;gap:10px;margin-bottom:28px;padding:0 8px;font-size:17px;font-weight:800;display:flex}.sidebar-nav{flex-direction:column;gap:2px;display:flex}.sidebar-link{border-radius:var(--radius-control);color:var(--text-muted);align-items:center;gap:12px;padding:10px 12px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.sidebar-link:hover,.sidebar-link.active{background:var(--primary-tint);color:var(--primary)}.sidebar-footer{border-top:1px solid var(--surface-border);justify-content:space-between;align-items:center;margin-top:auto;padding:10px 8px 0;display:flex}.bottom-nav{display:none}.main{max-width:1100px;padding:28px 32px 32px}.topbar{display:none}}
