:root{--bg: #f4f6fa;--surface: #ffffff;--surface-2: #f9fafb;--text: #1f2937;--muted: #6b7280;--border: #e5e7eb;--accent: #dc2626;--accent-dark: #b91c1c;--accent-soft: #fef2f2;--success: #16a34a;--success-soft: #ecfdf5;--live: #ea580c;--info: #2563eb;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--shadow: 0 4px 16px rgba(16, 24, 40, .08);--shadow-lg: 0 12px 32px rgba(16, 24, 40, .12);--radius: 14px;--radius-sm: 9px;--font: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased}#app{min-height:100vh}a{color:var(--accent);text-decoration:none}h1,h2,h3,h4{margin:0 0 .5rem;font-weight:700;letter-spacing:-.01em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid transparent;border-radius:var(--radius-sm);padding:.6rem 1.1rem;font-size:.95rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s ease;background:var(--surface-2);color:var(--text);border-color:var(--border)}.btn:hover{background:#eef1f6}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-dark)}.btn-success{background:var(--success);color:#fff;border-color:var(--success)}.btn-success:hover{filter:brightness(.95)}.btn-ghost{background:transparent;border-color:transparent}.btn-ghost:hover{background:var(--surface-2)}.btn-danger{background:#fff;color:var(--accent);border-color:#fecaca}.btn-danger:hover{background:var(--accent-soft)}.btn-sm{padding:.35rem .7rem;font-size:.85rem}.btn-block{width:100%}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.25rem}.card-title{font-size:1.05rem;font-weight:700;margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.field{margin-bottom:1rem}.field label{display:block;font-size:.85rem;font-weight:600;color:var(--muted);margin-bottom:.35rem}input,select,textarea{width:100%;padding:.6rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.95rem;font-family:inherit;color:var(--text);background:var(--surface)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}table{width:100%;border-collapse:collapse;font-size:.95rem}th,td{text-align:left;padding:.6rem .75rem;border-bottom:1px solid var(--border)}th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}tbody tr:hover{background:var(--surface-2)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:700;background:var(--surface-2);color:var(--muted);border:1px solid var(--border)}.badge-live{background:#fff7ed;color:var(--live);border-color:#fed7aa}.badge-open{background:#eff6ff;color:var(--info);border-color:#bfdbfe}.badge-finished{background:var(--success-soft);color:var(--success);border-color:#a7f3d0}.badge-accent{background:var(--accent-soft);color:var(--accent);border-color:#fecaca}.grid{display:grid;gap:1rem}.row{display:flex;gap:.75rem;align-items:center}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.muted{color:var(--muted)}.spacer{flex:1}.stack>*+*{margin-top:1rem}@keyframes flash{0%{background:#fff7ed}to{background:transparent}}.flash{animation:flash 2.2s ease-out}.toast-host{position:fixed;bottom:1.25rem;right:1.25rem;display:flex;flex-direction:column;gap:.5rem;z-index:1000}.toast{padding:.75rem 1rem;border-radius:var(--radius-sm);box-shadow:var(--shadow);background:var(--surface);border-left:4px solid var(--info);min-width:240px;font-size:.9rem}.toast.success{border-left-color:var(--success)}.toast.error{border-left-color:var(--accent)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:6px}
