*{box-sizing:border-box}:root{color-scheme:light;--app-bg: #eef4fb;--panel-bg: rgba(255, 255, 255, .96);--panel-line: #dbe4f0;--text-main: #0f172a;--text-sub: #475569;--text-soft: #64748b;--brand-cyan: #38bdf8;--brand-blue: #2563eb;--brand-green: #10b981;--brand-violet: #8b5cf6;--brand-red: #ef4444}html,body,#app{min-height:100%}body{margin:0;min-width:1080px;font-family:Microsoft YaHei,Arial,sans-serif;color:var(--text-main);background:radial-gradient(circle at top right,rgba(59,130,246,.12),transparent 22%),linear-gradient(180deg,#f6f9fd 0%,var(--app-bg) 100%)}button,input,select,textarea{font:inherit}button{border:0}body{margin:0;font-family:Microsoft YaHei,sans-serif;background:radial-gradient(circle at top right,rgba(96,165,250,.12),transparent 22%),linear-gradient(180deg,#f5f8fc 0%,#eef4fb 100%);color:#0f172a}.login-page[data-v-2fcd9d19]{min-height:100vh;display:grid;grid-template-columns:1.2fr .8fr}.login-visual[data-v-2fcd9d19]{padding:72px;color:#fff;background:linear-gradient(145deg,#0f172a,#1d4ed8 58%,#22c55e 150%)}.eyebrow[data-v-2fcd9d19]{letter-spacing:.24em;text-transform:uppercase;opacity:.92}.login-visual .eyebrow[data-v-2fcd9d19]{color:#ffffffd1}header .eyebrow[data-v-2fcd9d19]{color:#38bdf8;font-weight:800}.login-visual h1[data-v-2fcd9d19]{margin-top:18px;font-size:52px}.login-visual p[data-v-2fcd9d19]{max-width:560px;line-height:1.8}.login-metrics[data-v-2fcd9d19]{display:flex;gap:16px;flex-wrap:wrap;margin-top:36px}.login-metrics span[data-v-2fcd9d19]{padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.14)}.login-panel[data-v-2fcd9d19]{margin:auto;width:min(420px,calc(100% - 48px));padding:40px;border-radius:28px;background:#fff;box-shadow:0 24px 60px #0f172a1f}.panel-kicker[data-v-2fcd9d19]{color:#2563eb;font-weight:700}.login-panel h2[data-v-2fcd9d19]{margin:8px 0 24px;font-size:34px}.login-panel label[data-v-2fcd9d19],.modal label[data-v-2fcd9d19]{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;font-size:14px;color:#475569}.login-panel input[data-v-2fcd9d19],.modal input[data-v-2fcd9d19],.modal select[data-v-2fcd9d19],.modal textarea[data-v-2fcd9d19],.filters input[data-v-2fcd9d19],.filters select[data-v-2fcd9d19]{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid #cbd5e1;border-radius:14px;font:inherit;color:#0f172a;background:#fbfdff;box-shadow:inset 0 1px 2px #0f172a0a}.login-panel input[data-v-2fcd9d19]::placeholder,.modal textarea[data-v-2fcd9d19]::placeholder,.filters input[data-v-2fcd9d19]::placeholder{color:#94a3b8;opacity:1}.modal select[data-v-2fcd9d19],.filters select[data-v-2fcd9d19]{font-weight:600}.modal select option[data-v-2fcd9d19],.filters select option[data-v-2fcd9d19]{color:#0f172a}.login-panel button[data-v-2fcd9d19],.primary-action[data-v-2fcd9d19],.filters button[data-v-2fcd9d19],.modal button[data-v-2fcd9d19]{border:none;border-radius:14px;padding:12px 18px;font:inherit;cursor:pointer}.login-panel button[data-v-2fcd9d19],.primary-action[data-v-2fcd9d19],.filters button[data-v-2fcd9d19],.modal button[type=submit][data-v-2fcd9d19]{color:#fff;background:linear-gradient(135deg,#2563eb,#7c3aed)}.error[data-v-2fcd9d19]{color:#dc2626}.shell[data-v-2fcd9d19]{min-height:100vh;display:grid;grid-template-columns:240px 1fr}aside[data-v-2fcd9d19]{padding:28px 20px;background:#0f172a;color:#fff}.brand[data-v-2fcd9d19]{display:flex;gap:12px;align-items:center;margin-bottom:28px}.brand-mark[data-v-2fcd9d19]{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,#22c55e,#3b82f6);font-weight:700}aside button[data-v-2fcd9d19]{width:100%;margin-bottom:10px;padding:12px 14px;border:none;border-radius:14px;text-align:left;color:inherit;background:transparent;cursor:pointer}aside button.active[data-v-2fcd9d19]{background:rgba(255,255,255,.12)}aside .ghost[data-v-2fcd9d19]{margin-top:24px;color:#cbd5e1}.content[data-v-2fcd9d19]{padding:28px}header[data-v-2fcd9d19]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}header h1[data-v-2fcd9d19]{margin:8px 0 0;font-size:34px}.dashboard[data-v-2fcd9d19]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}.metric-card[data-v-2fcd9d19],.chart-card[data-v-2fcd9d19],.panel[data-v-2fcd9d19]{background:rgba(255,255,255,.96);border-radius:24px;border:1px solid rgba(226,232,240,.96);box-shadow:0 20px 45px #0f172a14}.metric-card[data-v-2fcd9d19]{padding:24px;color:#fff}.metric-card span[data-v-2fcd9d19],.metric-card em[data-v-2fcd9d19]{display:block;color:#ffffffd6}.metric-card strong[data-v-2fcd9d19]{display:block;margin:14px 0 10px;font-size:36px;text-shadow:0 8px 18px rgba(15,23,42,.16)}.metric-card.blue[data-v-2fcd9d19]{background:linear-gradient(135deg,#2563eb,#38bdf8)}.metric-card.green[data-v-2fcd9d19]{background:linear-gradient(135deg,#059669,#34d399)}.metric-card.violet[data-v-2fcd9d19]{background:linear-gradient(135deg,#7c3aed,#a78bfa)}.chart-card[data-v-2fcd9d19]{padding:24px;background:linear-gradient(180deg,rgba(248,250,252,.96),rgba(255,255,255,.96))}.chart-head[data-v-2fcd9d19]{display:flex;justify-content:space-between;color:#64748b;align-items:baseline}.chart-head span[data-v-2fcd9d19]{color:#0f172a;font-weight:800}.chart-head small[data-v-2fcd9d19]{color:#64748b}.bars[data-v-2fcd9d19]{height:120px;display:flex;align-items:end;gap:18px;margin-top:18px}.bar[data-v-2fcd9d19]{flex:1;border-radius:18px 18px 8px 8px}.bar.success[data-v-2fcd9d19]{background:linear-gradient(180deg,#34d399,#059669)}.bar.cancel[data-v-2fcd9d19]{background:linear-gradient(180deg,#fda4af,#ef4444)}.bar.sms[data-v-2fcd9d19]{background:linear-gradient(180deg,#93c5fd,#3b82f6)}.bar-labels[data-v-2fcd9d19]{display:flex;justify-content:space-between;margin-top:12px;color:#334155;font-weight:600}.panel[data-v-2fcd9d19]{padding:20px}.filters[data-v-2fcd9d19]{display:flex;gap:12px;margin-bottom:18px;align-items:center}.filters input[data-v-2fcd9d19],.filters select[data-v-2fcd9d19]{min-height:44px;border-color:#c7d2e2;background:linear-gradient(180deg,#ffffff,#f8fbff)}.filters input[data-v-2fcd9d19]:focus,.filters select[data-v-2fcd9d19]:focus,.modal input[data-v-2fcd9d19]:focus,.modal select[data-v-2fcd9d19]:focus,.modal textarea[data-v-2fcd9d19]:focus,.login-panel input[data-v-2fcd9d19]:focus{border-color:#60a5fa;box-shadow:0 0 0 4px #60a5fa29;outline:none}table[data-v-2fcd9d19]{width:100%;border-collapse:collapse}th[data-v-2fcd9d19],td[data-v-2fcd9d19]{padding:14px 10px;border-bottom:1px solid #edf2f7;text-align:left;vertical-align:top}th[data-v-2fcd9d19]{color:#475569;font-size:13px;font-weight:800;background:#f8fafc}td[data-v-2fcd9d19]{color:#0f172a}tbody tr[data-v-2fcd9d19]{transition:background-color .18s ease}tbody tr[data-v-2fcd9d19]:hover{background:rgba(59,130,246,.04)}.thumb[data-v-2fcd9d19],.upload-box img[data-v-2fcd9d19]{width:88px;height:58px;object-fit:cover;border-radius:12px}.empty-thumb[data-v-2fcd9d19],.upload-placeholder[data-v-2fcd9d19]{display:grid;place-items:center;width:88px;height:58px;border-radius:12px;color:#475569;background:#edf2f7}.tag[data-v-2fcd9d19]{display:inline-block;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}.tag.ok[data-v-2fcd9d19]{color:#047857;background:#d1fae5}.tag.off[data-v-2fcd9d19],.tag.bad[data-v-2fcd9d19]{color:#475569;background:#e2e8f0}.tag.bad[data-v-2fcd9d19]{color:#b91c1c;background:#fee2e2}.mini[data-v-2fcd9d19]{margin-right:8px;padding:8px 12px;border:none;border-radius:10px;cursor:pointer;font-weight:700;background:#dbeafe;color:#1d4ed8;box-shadow:none}.mini.danger[data-v-2fcd9d19]{background:#fee2e2;color:#dc2626}dialog[data-v-2fcd9d19]{border:none;padding:0;border-radius:24px}.modal[data-v-2fcd9d19]{width:min(560px,calc(100vw - 32px));padding:28px;background:#fff}.modal h3[data-v-2fcd9d19]{margin-top:0;margin-bottom:18px;font-size:28px}.modal textarea[data-v-2fcd9d19]{min-height:92px;resize:vertical}.upload-box[data-v-2fcd9d19]{position:relative;width:88px;height:58px}.upload-box input[data-v-2fcd9d19]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.upload-box.uploading input[data-v-2fcd9d19]{cursor:wait}.upload-loading[data-v-2fcd9d19]{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;border-radius:12px;color:#fff;font-size:13px;font-weight:800;background:rgba(15,23,42,.62)}.inline[data-v-2fcd9d19]{flex-direction:row;align-items:center}.inline input[data-v-2fcd9d19]{width:auto}.actions[data-v-2fcd9d19]{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.secondary[data-v-2fcd9d19]{background:#e2e8f0;color:#334155}
