:root{color-scheme:light;--brand: #4f46e5;--brand-hover: #4338ca;--brand-soft: rgba(79, 70, 229, .12);--bg: #f4f5fb;--surface: #ffffff;--surface-2: #fafbff;--sidebar: #ffffff;--text: #1e2233;--text-soft: #5b6172;--text-muted: #9aa0b4;--border: #e8eaf2;--border-strong: #d9dcea;--success: #16a34a;--warning: #d97706;--danger: #dc2626;--info: #0ea5e9;--shadow-sm: 0 1px 2px rgba(20, 23, 40, .05);--shadow: 0 6px 24px rgba(20, 23, 40, .08);--shadow-lg: 0 18px 48px rgba(20, 23, 40, .14);--radius-sm: 8px;--radius: 14px;--radius-lg: 20px;--ease: .22s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{color-scheme:dark;--brand: #818cf8;--brand-hover: #a5b4fc;--brand-soft: rgba(129, 140, 248, .16);--bg: #0d0f1a;--surface: #161a2b;--surface-2: #1c2136;--sidebar: #131725;--text: #eceef7;--text-soft: #a8adc4;--text-muted: #6b7189;--border: #262c42;--border-strong: #333a56;--success: #34d399;--warning: #fbbf24;--danger: #f87171;--info: #38bdf8;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 6px 24px rgba(0, 0, 0, .4);--shadow-lg: 0 18px 48px rgba(0, 0, 0, .55)}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5;transition:background var(--ease),color var(--ease)}::selection{background:var(--brand-soft)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:8px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--text-muted);background-clip:padding-box}::-webkit-scrollbar-track{background:transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 18px;border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background var(--ease),transform var(--ease),box-shadow var(--ease),border-color var(--ease)}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--text-soft);border:1px solid var(--border-strong)}.btn-ghost:hover{background:var(--surface-2);color:var(--text)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{filter:brightness(1.05)}.btn-sm{height:34px;padding:0 12px;font-size:13px;border-radius:8px}.btn-block{width:100%;height:46px;font-size:15px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-sm);border:none;background:var(--surface);color:var(--text-soft);cursor:pointer;transition:all var(--ease)}.icon-btn:hover{color:var(--brand);border-color:var(--brand);background:var(--brand-soft)}.link-btn{background:none;border:none;color:var(--brand);cursor:pointer;font-size:13px;font-weight:600;padding:4px 6px;border-radius:6px}.link-btn:hover{background:var(--brand-soft)}.link-btn.danger{color:var(--danger)}.link-btn.danger:hover{background:#dc26261a}.field{position:relative}.field-label{display:block;font-size:13px;font-weight:600;color:var(--text-soft);margin-bottom:8px}.input{width:100%;height:46px;padding:0 14px 0 42px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:14px;transition:border-color var(--ease),box-shadow var(--ease),background var(--ease)}.input::placeholder{color:var(--text-muted)}.input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);background:var(--surface)}.field-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;font-size:12px;font-weight:600;border-radius:999px}.badge-success{background:#16a34a1f;color:var(--success)}.badge-warning{background:#d977061f;color:var(--warning)}.badge-danger{background:#dc26261f;color:var(--danger)}.badge-info{background:#0ea5e91f;color:var(--info)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.skeleton{background:linear-gradient(90deg,var(--surface-2) 25%,var(--border) 37%,var(--surface-2) 63%);background-size:400% 100%;animation:sk 1.3s ease infinite;border-radius:6px}@keyframes sk{0%{background-position:100% 50%}to{background-position:0 50%}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}.empty{text-align:center;padding:48px 0;color:var(--text-muted)}
