:root{--bg: #e8ecf4;--bg-elevated: #ffffff;--surface: #ffffff;--surface-hover: #f8fafc;--surface2: #f1f5f9;--text: #1e293b;--text-secondary: #475569;--muted: #64748b;--accent: #6366f1;--accent-bright: #4f46e5;--accent-dim: rgba(99, 102, 241, .14);--accent-glow: rgba(99, 102, 241, .22);--danger: #dc2626;--danger-dim: #fef2f2;--ok: #16a34a;--border: rgba(15, 23, 42, .08);--border-strong: rgba(15, 23, 42, .14);--radius: 12px;--radius-sm: 8px;--radius-lg: 16px;--shadow-sm: 0 1px 3px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 10px 40px rgba(15, 23, 42, .08);--font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", "Helvetica Neue", sans-serif;font-family:var(--font);-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);background-image:radial-gradient(ellipse 110% 70% at 50% -25%,rgba(99,102,241,.14),transparent 52%),radial-gradient(ellipse 55% 45% at 100% 0%,rgba(56,189,248,.1),transparent 42%),radial-gradient(ellipse 50% 40% at 0% 80%,rgba(167,139,250,.08),transparent 45%);background-attachment:fixed;color:var(--text);-webkit-tap-highlight-color:transparent}a{color:var(--accent-bright);text-decoration:none;transition:color .15s ease}a:hover{color:#3730a3}button,input,select,textarea{font:inherit;color:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:linear-gradient(180deg,#ffffff 0%,var(--surface2) 100%);color:var(--text);cursor:pointer;font-weight:600;font-size:14px;letter-spacing:.02em;transition:transform .12s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease;box-shadow:var(--shadow-sm)}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(135deg,#818cf8,#6366f1 45%,#4f46e5);border-color:#6366f159;color:#fff;box-shadow:0 2px 12px var(--accent-glow),var(--shadow-sm)}.btn-primary:hover:not(:disabled){box-shadow:0 4px 18px var(--accent-glow),var(--shadow-sm)}.btn-danger{background:var(--danger-dim);border-color:#dc262640;color:#b91c1c}.btn-danger:hover:not(:disabled){border-color:#dc262666;background:#fee2e2}.btn-ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:#0f172a0d;color:var(--text)}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.field label{font-size:13px;font-weight:500;color:var(--text-secondary)}.field input,.field select,.field textarea{padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);transition:border-color .15s ease,box-shadow .15s ease}.field input::placeholder,.field textarea::placeholder{color:var(--muted);opacity:.9}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:#6366f18c;box-shadow:0 0 0 3px var(--accent-dim)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-sm)}.muted{color:var(--muted);font-size:13px;line-height:1.55}.err{color:#b91c1c;font-size:13px;margin:8px 0 0;padding:8px 12px;border-radius:var(--radius-sm);background:var(--danger-dim);border:1px solid rgba(220,38,38,.18)}.page{padding:20px 18px;padding-bottom:calc(88px + env(safe-area-inset-bottom));max-width:720px;margin:0 auto}.input-inline{flex:1;min-width:100px;padding:11px 14px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);transition:border-color .15s ease,box-shadow .15s ease}.input-inline:focus{outline:none;border-color:#6366f18c;box-shadow:0 0 0 3px var(--accent-dim)}.input-inline::placeholder{color:var(--muted)}.toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px;align-items:center}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:11px 12px;text-align:left;border-bottom:1px solid var(--border)}tr:last-child td{border-bottom:none}tbody tr{transition:background .12s ease}tbody tr:hover{background:#6366f10d}th{color:var(--text-secondary);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em;background:var(--surface2)}
