.layout[data-v-fe66f38f]{display:flex;min-height:100vh}.sidebar[data-v-fe66f38f]{width:232px;flex-shrink:0;background:linear-gradient(180deg,#141a2e,#1a2138);color:#e6e9f5;display:flex;flex-direction:column;padding:22px 14px}.logo[data-v-fe66f38f]{display:flex;gap:10px;align-items:center;padding:0 10px 22px;border-bottom:1px solid rgba(255,255,255,.07)}.logo-icon[data-v-fe66f38f]{width:38px;height:38px;display:grid;place-items:center;background:linear-gradient(135deg,#4f6ef7,#7c5cff);border-radius:11px;font-size:18px;color:#fff}.logo b[data-v-fe66f38f]{font-size:15px;display:block}.logo small[data-v-fe66f38f]{color:#7b86a8;font-size:11px}nav[data-v-fe66f38f]{display:flex;flex-direction:column;gap:4px;margin-top:18px}nav a[data-v-fe66f38f]{display:flex;align-items:center;gap:10px;color:#97a1c0;text-decoration:none;padding:11px 12px;border-radius:10px;font-size:14px;transition:all .15s}nav a[data-v-fe66f38f]:hover{color:#fff;background:#ffffff0d}nav a.router-link-active[data-v-fe66f38f]{color:#fff;background:linear-gradient(135deg,#4f6ef759,#7c5cff59);box-shadow:inset 0 0 0 1px #8ca0ff40}.ico[data-v-fe66f38f]{font-size:15px;width:20px;text-align:center}.sidebar-foot[data-v-fe66f38f]{margin-top:auto;display:flex;flex-direction:column;gap:10px}.trust[data-v-fe66f38f]{background:#4f6ef71f;border:1px solid rgba(124,92,255,.25);border-radius:10px;padding:10px 12px;font-size:12px;color:#aab5d8;line-height:1.7}.logout[data-v-fe66f38f]{background:transparent;border:1px solid rgba(255,255,255,.12);color:#97a1c0;border-radius:10px;padding:9px;cursor:pointer;font-size:13px;transition:all .15s}.logout[data-v-fe66f38f]:hover{color:#fff;border-color:#ffffff4d}.content[data-v-fe66f38f]{flex:1;padding:26px 30px;max-width:1200px}.content[data-v-fe66f38f]{min-width:0}@media (max-width: 768px){.layout[data-v-fe66f38f]{flex-direction:column}.sidebar[data-v-fe66f38f]{width:100%;padding:12px}.logo[data-v-fe66f38f],.trust[data-v-fe66f38f]{display:none}nav[data-v-fe66f38f]{flex-direction:row;flex-wrap:wrap;margin-top:0}nav a[data-v-fe66f38f]{padding:8px}.sidebar-foot[data-v-fe66f38f]{margin-top:8px}.content[data-v-fe66f38f]{padding:16px}}:root{--bg: #f4f6fb;--surface: #ffffff;--surface-2: #f8f9fd;--border: #e8ecf4;--text: #1a2233;--text-2: #5a657d;--text-3: #9aa4bd;--primary: #4f6ef7;--primary-2: #7c5cff;--primary-grad: linear-gradient(135deg, #4f6ef7 0%, #7c5cff 100%);--success: #16a34a;--danger: #e05252;--warn: #d97706;--shadow: 0 1px 3px rgba(23, 33, 66, .06), 0 4px 16px rgba(23, 33, 66, .06);--shadow-lg: 0 8px 30px rgba(23, 33, 66, .12);--radius: 14px}*{box-sizing:border-box;margin:0}html,body{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--text);font-size:14px;-webkit-font-smoothing:antialiased}h1,h2,h3{letter-spacing:-.02em}h3{font-size:16px}small{color:var(--text-3)}a{color:var(--primary);text-decoration:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px 22px;box-shadow:var(--shadow);margin-bottom:16px}.card h3{margin-bottom:4px}.card .sub{color:var(--text-2);font-size:13px}.btn{background:var(--primary-grad);color:#fff;border:none;border-radius:10px;padding:9px 18px;cursor:pointer;font-size:14px;font-weight:500;box-shadow:0 2px 8px #4f6ef759;transition:all .15s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px #4f6ef773}.btn:disabled{background:#b9c0d8;box-shadow:none;cursor:not-allowed;transform:none}.btn-ghost{background:transparent;color:var(--text-2);box-shadow:none;border:1px solid var(--border)}.btn-ghost:hover{background:var(--surface-2)}.btn-danger{background:linear-gradient(135deg,#ef5a5a,#e05252);box-shadow:0 2px 8px #e052524d;padding:4px 12px;font-size:12px}input,select{padding:10px 14px;border:1.5px solid var(--border);border-radius:10px;font-size:14px;background:var(--surface);color:var(--text);transition:border .15s,box-shadow .15s;outline:none}input:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4f6ef724}input::placeholder{color:var(--text-3)}.tbl{width:100%;border-collapse:collapse;margin-top:12px}.tbl th{text-align:left;padding:10px 8px;font-size:12px;color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border)}.tbl td{padding:12px 8px;border-bottom:1px solid var(--surface-2);font-size:14px}.tbl tr:last-child td{border-bottom:none}.tbl tr:hover td{background:var(--surface-2)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:500}.badge-blue{background:#4f6ef71a;color:var(--primary)}.badge-green{background:#16a34a1a;color:var(--success)}.badge-red{background:#e052521a;color:var(--danger)}.badge-amber{background:#d977061f;color:var(--warn)}.badge-gray{background:var(--surface-2);color:var(--text-2)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:16px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow)}.stat .label{font-size:12px;color:var(--text-3);margin-bottom:6px}.stat .value{font-size:24px;font-weight:700;letter-spacing:-.02em}.stat .unit{font-size:13px;color:var(--text-3);font-weight:400;margin-left:2px}.stat .trend{font-size:12px;margin-top:4px}.hint{color:var(--text-3);font-size:13px;margin-top:8px}.divider{height:1px;background:var(--border);margin:14px 0}
