:root{--bg:#f6f7f9;--surface:#fff;--surface-2:#f1f3f6;--border:#e3e6eb;--border-strong:#cfd4dc;--text:#111827;--text-2:#4b5563;--text-3:#8a93a3;--accent:#2557d6;--accent-hover:#1e47b3;--accent-soft:#e8eefc;--success:#15803d;--success-soft:#e7f6ec;--warning:#b45309;--warning-soft:#fdf3e2;--danger:#b91c1c;--danger-soft:#fdecec;--radius:8px;--radius-lg:12px;--shadow-sm:0 1px 2px #1018280f;--shadow:0 4px 16px #10182814, 0 1px 3px #1018280f;--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-size:14px;line-height:1.45}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{margin:0;line-height:1.25}button,input,select,textarea{font:inherit;color:inherit}.btn{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:6px;height:34px;padding:0 14px;font-weight:500;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2);text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{border-color:var(--accent);background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-ghost{background:0 0;border-color:#0000}.btn-sm{height:28px;padding:0 10px;font-size:13px}.btn-icon{width:34px;padding:0}.btn-icon.btn-sm{width:28px}.btn-block{width:100%}.input,.select{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);outline:none;width:100%;height:36px;padding:0 10px}.input:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input:disabled{background:var(--surface-2);color:var(--text-3)}.label{color:var(--text-2);margin-bottom:4px;font-size:13px;font-weight:500;display:block}.badge{background:var(--surface-2);height:22px;color:var(--text-2);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:0 8px;font-size:12px;font-weight:500;display:inline-flex}.badge-accent{background:var(--accent-soft);color:var(--accent)}.badge-success{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.muted{color:var(--text-3)}.alert{border-radius:var(--radius);gap:8px;padding:10px 12px;font-size:13px;display:flex}.alert-danger{background:var(--danger-soft);color:var(--danger)}.alert-success{background:var(--success-soft);color:var(--success)}.alert-info{background:var(--accent-soft);color:var(--accent)}.alert-warning{background:var(--warning-soft);color:var(--warning)}
