:root{--primary: #3b82f6;--primary-dark: #2563eb;--primary-light: #60a5fa;--bg-gradient: #f0f2f5;--glass-bg: #ffffff;--glass-border: #e5e7eb;--glass-blur: 0px;--text-primary: #1f2937;--text-secondary: #6b7280;--text-muted: #9ca3af;--input-bg: #f9fafb;--table-hover: #f0f5ff;--shadow: 0 2px 8px rgba(0, 0, 0, .06);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .1);--modal-mask-bg: rgba(15, 23, 42, .5);--scrollbar-thumb: rgba(59, 130, 246, .25);--option-bg: #ffffff;--sidebar-bg: linear-gradient(180deg, #eef4ff 0%, #f5f8ff 100%);--sidebar-bg-2: #e0e7ef;--sidebar-text: #475569;--sidebar-logo-text: #1e293b;--sidebar-group-text: #94a3b8;--sidebar-hover: rgba(59,130,246,.08);--sidebar-border: rgba(59,130,246,.1);--sidebar-active-bg: linear-gradient(135deg, #3b82f6, #2563eb);--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--info: #3b82f6;--chart-2: #10b981;--chart-3: #6366f1;--radius: 14px;--radius-sm: 8px;--radius-btn: 24px}[data-theme=dark]{--primary: #4f7cff;--primary-dark: #3a5fd9;--primary-light: #6b8fff;--bg-gradient: linear-gradient(135deg, #1a1f3a 0%, #2d1b4e 50%, #1a3a4f 100%);--glass-bg: rgba(255, 255, 255, .08);--glass-border: rgba(255, 255, 255, .15);--glass-blur: 18px;--text-primary: #f0f4ff;--text-secondary: rgba(240, 244, 255, .65);--text-muted: rgba(240, 244, 255, .4);--input-bg: rgba(0, 0, 0, .2);--table-hover: rgba(255, 255, 255, .04);--shadow: 0 8px 32px rgba(0, 0, 0, .3);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .4);--modal-mask-bg: rgba(0, 0, 0, .5);--scrollbar-thumb: rgba(255, 255, 255, .15);--option-bg: #1a1f3a;--sidebar-bg: #0f172a;--sidebar-bg-2: #1e293b;--sidebar-text: #cbd5e1;--sidebar-logo-text: #f1f5f9;--sidebar-group-text: #64748b;--sidebar-hover: rgba(255,255,255,.06);--sidebar-border: rgba(255,255,255,.08);--sidebar-active-bg: linear-gradient(135deg, #4f7cff, #3a5fd9);--success: #4ade80;--warning: #fbbf24;--danger: #f87171;--info: #60a5fa;--chart-2: #4ade80;--chart-3: #a78bfa;--radius-btn: 24px}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:var(--text-primary);background:var(--bg-gradient);background-attachment:fixed;font-size:14px;transition:background .3s,color .3s}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-dark)}.glass{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--shadow)}.glass-strong{background:var(--glass-bg);backdrop-filter:blur(calc(var(--glass-blur) + 6px));-webkit-backdrop-filter:blur(calc(var(--glass-blur) + 6px));border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--shadow-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 18px;border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:var(--glass-bg);color:var(--text-primary);cursor:pointer;font-size:14px;transition:all .2s}.btn:hover{background:var(--table-hover);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));border:none;color:#fff;border-radius:var(--radius-btn)}.btn-primary:hover{background:linear-gradient(135deg,var(--primary-light),var(--primary));box-shadow:0 4px 12px #3b82f64d}.btn-success{background:linear-gradient(135deg,#34d399,#10b981);border:none;color:#fff}.btn-danger{background:linear-gradient(135deg,#f87171,#ef4444);border:none;color:#fff}.btn-warning{background:linear-gradient(135deg,#fbbf24,#f59e0b);border:none;color:#fff}.btn-sm{padding:4px 10px;font-size:12px}.btn:disabled{opacity:.5;cursor:not-allowed}.input,.textarea,.select{width:100%;padding:10px 14px;border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text-primary);font-size:14px;transition:all .2s}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2e7efb26}.textarea{resize:vertical;min-height:80px;font-family:Consolas,Monaco,monospace}.select option{background:var(--option-bg);color:var(--text-primary)}.label{display:block;margin-bottom:6px;color:var(--text-secondary);font-size:13px}.form-group{margin-bottom:16px}.card{padding:20px}.card-title{font-size:16px;font-weight:600;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--glass-border)}.table th{color:var(--text-secondary);font-weight:600;font-size:13px}.table tr:hover td{background:var(--table-hover)}.badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px}.badge-success{background:#16a34a1f;color:var(--success)}.badge-warning{background:#d977071f;color:var(--warning)}.badge-danger{background:#dc26261f;color:var(--danger)}.badge-info{background:#2e7efb1f;color:var(--info)}.badge-muted{background:var(--table-hover);color:var(--text-muted)}[data-theme=dark] .badge-success{background:#4ade8033}[data-theme=dark] .badge-warning{background:#fbbf2433}[data-theme=dark] .badge-danger{background:#f8717133}[data-theme=dark] .badge-info{background:#60a5fa33}[data-theme=dark] .badge-muted{background:#ffffff1a}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.stat-card{padding:20px;transition:transform .2s,box-shadow .7s)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.stat-card .stat-value{font-size:28px;font-weight:700;margin:8px 0 4px}.stat-card .stat-label{color:var(--text-secondary);font-size:13px}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-mask-bg);display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{width:90%;max-width:560px;max-height:90vh;overflow:auto;padding:24px}.modal-lg{max-width:900px}.msg-toast{position:fixed;top:20px;left:50%;transform:translate(-50%);padding:12px 24px;border-radius:var(--radius-sm);z-index:2000;background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);color:var(--text-primary);box-shadow:var(--shadow)}.msg-success{border-color:var(--success)}.msg-error{border-color:var(--danger)}.msg-warning{border-color:var(--warning)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mb-2{margin-bottom:8px}.mb-4{margin-bottom:16px}.w-full{width:100%}.text-center{text-align:center}.text-sm{font-size:12px}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted)}.empty-state .icon{font-size:48px;margin-bottom:12px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{filter:brightness(1.2)}
