.toasts[data-v-2e8d7cb6]{position:fixed;top:18px;right:18px;z-index:2000;display:flex;flex-direction:column;gap:10px;max-width:min(360px,calc(100vw - 36px));pointer-events:none}.toast[data-v-2e8d7cb6]{pointer-events:auto;display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);font-size:14px;color:var(--text);cursor:pointer}.ic[data-v-2e8d7cb6]{flex-shrink:0;width:26px;height:26px;border-radius:50%;display:grid;place-items:center}.toast.success .ic[data-v-2e8d7cb6]{background:var(--badge-ok-bg);color:var(--badge-ok-fg)}.toast.error .ic[data-v-2e8d7cb6]{background:var(--badge-fail-bg);color:var(--danger)}.toast.info .ic[data-v-2e8d7cb6]{background:var(--primary-soft);color:var(--primary)}.msg[data-v-2e8d7cb6]{line-height:1.35}.toast-enter-active[data-v-2e8d7cb6],.toast-leave-active[data-v-2e8d7cb6]{transition:all .25s ease}.toast-enter-from[data-v-2e8d7cb6],.toast-leave-to[data-v-2e8d7cb6]{opacity:0;transform:translate(20px)}.toast-leave-active[data-v-2e8d7cb6]{position:absolute;right:0}.theme-toggle[data-v-045d81f1]{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 12px;font-size:13px;font-weight:500}.theme-toggle[data-v-045d81f1]:hover{background:var(--surface-2);color:var(--text)}.brand-logo[data-v-e9bc7f08]{aspect-ratio:2560 / 524;flex-shrink:0;background-color:#32185f;-webkit-mask:var(--logo-url) center / contain no-repeat;mask:var(--logo-url) center / contain no-repeat}[data-theme=dark] .brand-logo[data-v-e9bc7f08]{background-color:#fff}.login-wrap[data-v-ca1af1ea]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(1200px 600px at 20% -10%,var(--primary-soft),transparent),var(--bg);padding:20px}.login-toggle[data-v-ca1af1ea]{position:fixed;top:20px;right:20px}.login-card[data-v-ca1af1ea]{width:100%;max-width:400px;padding:40px 34px;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);text-align:center}.logo-wrap[data-v-ca1af1ea]{display:flex;justify-content:center;margin-bottom:10px}.subtitle[data-v-ca1af1ea]{margin:2px 0 26px;color:var(--text-muted);font-size:14px;letter-spacing:.02em}form[data-v-ca1af1ea]{text-align:left}:root{--bg: #f6f7fb;--surface: #ffffff;--surface-2: #f1f5f9;--surface-3: #e9edf3;--border: #e6e9ef;--border-strong: #cbd5e1;--text: #0f172a;--text-muted: #64748b;--text-subtle: #94a3b8;--primary: #6366f1;--primary-hover: #4f46e5;--primary-soft: #eef2ff;--on-primary: #ffffff;--danger: #ef4444;--danger-hover: #dc2626;--success: #22c55e;--badge-ok-bg: #dcfce7;--badge-ok-fg: #166534;--badge-fail-bg: #fee2e2;--badge-fail-fg: #991b1b;--badge-muted-bg: #e7ecf3;--badge-muted-fg: #475569;--alert-error-bg: #fee2e2;--alert-error-fg: #991b1b;--alert-success-bg: #dcfce7;--alert-success-fg: #166534;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow: 0 1px 3px rgba(15, 23, 42, .08), 0 1px 2px rgba(15, 23, 42, .04);--shadow-lg: 0 12px 34px rgba(15, 23, 42, .14);--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--skeleton-base: #e9edf3;--skeleton-shine: #f4f7fb;--sidebar-width: 250px}[data-theme=dark]{--bg: #0a0f1c;--surface: #121a2b;--surface-2: #1a2336;--surface-3: #243049;--border: #232f47;--border-strong: #334155;--text: #e6edf7;--text-muted: #94a3b8;--text-subtle: #64748b;--primary: #818cf8;--primary-hover: #a5b0ff;--primary-soft: rgba(129, 140, 248, .14);--on-primary: #0a0f1c;--danger: #f87171;--danger-hover: #ef4444;--success: #4ade80;--badge-ok-bg: rgba(74, 222, 128, .15);--badge-ok-fg: #4ade80;--badge-fail-bg: rgba(248, 113, 113, .16);--badge-fail-fg: #fca5a5;--badge-muted-bg: rgba(148, 163, 184, .16);--badge-muted-fg: #cbd5e1;--alert-error-bg: rgba(248, 113, 113, .14);--alert-error-fg: #fca5a5;--alert-success-bg: rgba(74, 222, 128, .14);--alert-success-fg: #86efac;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 2px 6px rgba(0, 0, 0, .45);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .55);--skeleton-base: #1c2740;--skeleton-shine: #26324c}*{box-sizing:border-box}html,body{margin:0;height:100%}body{font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;transition:background-color .25s ease,color .25s ease}a{color:var(--primary);text-decoration:none}h1,h2,h3,h4{color:var(--text)}button{cursor:pointer;font:inherit;font-weight:500;border:1px solid transparent;border-radius:var(--radius-sm);padding:9px 16px;background:var(--primary);color:var(--on-primary);transition:background .15s ease,opacity .15s ease,border-color .15s ease,transform .05s ease}button:hover{background:var(--primary-hover)}button:active{transform:translateY(1px)}button:disabled{opacity:.55;cursor:not-allowed}button.secondary{background:var(--surface-2);color:var(--text);border-color:var(--border)}button.secondary:hover{background:var(--surface-3)}button.danger{background:var(--danger);color:#fff}button.danger:hover{background:var(--danger-hover)}button.ghost{background:transparent;color:var(--primary);padding:6px 10px}button.ghost:hover{background:var(--primary-soft)}input,select,textarea{width:100%;padding:10px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font:inherit;background:var(--surface);color:var(--text);transition:border-color .15s ease,box-shadow .15s ease,background-color .25s ease}input::placeholder,textarea::placeholder{color:var(--text-subtle)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}textarea{font-family:Consolas,SF Mono,Courier New,monospace;font-size:12px;resize:vertical}label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--text)}.field{margin-bottom:16px}.surface,.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:var(--radius);overflow:hidden}th,td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--border);font-size:14px;color:var(--text)}th{background:var(--surface-2);color:var(--text-muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}tbody tr{transition:background .12s ease}tbody tr:hover{background:var(--surface-2)}tbody tr:last-child td{border-bottom:none}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600}.badge.ok{background:var(--badge-ok-bg);color:var(--badge-ok-fg)}.badge.fail{background:var(--badge-fail-bg);color:var(--badge-fail-fg)}.badge.muted{background:var(--badge-muted-bg);color:var(--badge-muted-fg)}.alert{padding:12px 16px;border-radius:var(--radius-sm);margin-bottom:16px;font-size:14px}.alert.error{background:var(--alert-error-bg);color:var(--alert-error-fg)}.alert.success{background:var(--alert-success-bg);color:var(--alert-success-fg)}.muted{color:var(--text-muted)}.rfilters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:20px}.rfilters>div{display:flex;flex-direction:column}.rfilters input,.rfilters select{width:180px}.rcards{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.rcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;min-width:140px;box-shadow:var(--shadow-sm)}.rcard span{display:block;font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.rcard b{font-size:21px;color:var(--text)}.rcard.hl{background:linear-gradient(135deg,var(--primary),var(--primary-hover));border-color:transparent;color:#fff}.rcard.hl span{color:#fffc}.rcard.hl b{color:#fff}td.num,th.num{text-align:right;white-space:nowrap}.strong{font-weight:700}.report-tabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--border);margin-bottom:24px}.report-tabs button{background:transparent;color:var(--text-muted);border:none;border-radius:var(--radius-sm) var(--radius-sm) 0 0;padding:10px 16px;border-bottom:2px solid transparent;margin-bottom:-1px;font-weight:500}.report-tabs button:hover{background:var(--surface-2);color:var(--text)}.report-tabs button.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.bar-row{display:flex;align-items:center;gap:10px;margin-bottom:6px}.bar-label{width:90px;font-size:13px;color:var(--text-muted);text-align:right;flex-shrink:0}.bar-track{flex:1;background:var(--surface-2);border-radius:6px;overflow:hidden}.bar-fill{background:linear-gradient(90deg,var(--primary),var(--primary-hover));height:22px;border-radius:6px}.bar-value{width:60px;font-size:13px;font-weight:600;color:var(--text)}.chip-filters{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.chip-group{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.chip-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-subtle);margin-right:4px;min-width:46px}.chip{background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:500}.chip:hover{background:var(--surface-3);color:var(--text)}.chip.on{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.chip.clear{background:transparent;border-color:transparent;color:var(--danger);font-size:12px}.skeleton{position:relative;overflow:hidden;background:var(--skeleton-base);border-radius:var(--radius-sm)}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--skeleton-shine),transparent);animation:skeleton-shine 1.3s infinite}@keyframes skeleton-shine{to{transform:translate(100%)}}@media print{.sidebar,.topbar,.header-nav,.report-tabs,.tab-groups,.tab-arrow,.export-bar,.view-toggle,.mon-bar,.mon-filter,.rfilters,.drill-head button,.seg,.no-print{display:none!important}.admin,.content{display:block!important;padding:0!important;overflow:visible!important}body{background:#fff!important}.panel,.rcard,.table-wrap{box-shadow:none!important;break-inside:avoid}}@media (max-width: 640px){.rcards{gap:10px}.rcard{flex:1 1 calc(50% - 6px);min-width:0;padding:13px 15px}.rcard b{font-size:19px}.rfilters{gap:10px}.rfilters>div{width:100%}.rfilters input,.rfilters select{width:100%!important}.report-tabs,.tab-groups{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.report-tabs::-webkit-scrollbar,.tab-groups::-webkit-scrollbar{display:none}.report-tabs button,.tab-groups button{flex-shrink:0;white-space:nowrap}.table-wrap{overflow-x:auto}th,td{padding:10px 12px;font-size:13px}.bar-label{width:62px;font-size:12px}.bar-value{width:50px;font-size:12px}.chip-label{min-width:0}}
