*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f5f5f7;--bg-card:#fff;--bg-sidebar:#1e293b;--bg-input:#f8fafc;--bg-hover:#f1f5f9;--bg-active:#e2e8f0;--bg-success:#f0fdf4;--bg-warning:#fffbeb;--bg-danger:#fef2f2;--bg-info:#eff6ff;--text:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--text-on-primary:#fff;--primary:#2563eb;--primary-hover:#1d4ed8;--secondary:#64748b;--accent:#8b5cf6;--border:#e2e8f0;--border-focus:#2563eb;--success:#16a34a;--warning:#d97706;--danger:#dc2626;--shadow:0 1px 3px #00000014, 0 1px 2px #0000000f;--radius:8px;--radius-lg:12px;--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "Consolas", monospace}html,body,#root{height:100%;font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}button{cursor:pointer;border:none;outline:none;font-family:inherit}input,select,textarea{outline:none;font-family:inherit}.btn{border-radius:var(--radius);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .15s;display:inline-flex}.btn-primary{background:var(--primary);color:var(--text-on-primary)}.btn-primary:hover{background:var(--primary-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-success{background:var(--success);color:#fff}.btn-success:hover{filter:brightness(.9)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{filter:brightness(.9)}.btn-outline{color:var(--text);border:1px solid var(--border);background:0 0}.btn-outline:hover{background:var(--bg-hover)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{background:var(--bg-hover);color:var(--text)}.btn-lg{border-radius:var(--radius-lg);padding:14px 28px;font-size:16px}.input{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-input);width:100%;color:var(--text);padding:10px 14px;font-size:14px;transition:border-color .15s}.input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--border-focus) 20%, transparent)}.input::placeholder{color:var(--text-muted)}.input-lg{padding:14px 18px;font-size:18px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:99px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge-success{background:var(--bg-success);color:var(--success)}.badge-warning{background:var(--bg-warning);color:var(--warning)}.badge-danger{background:var(--bg-danger);color:var(--danger)}.badge-info{background:var(--bg-info);color:var(--primary)}.text-mono{font-family:var(--font-mono)}.text-right{text-align:right}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
