.overlay[data-v-26e5a162]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000052;display:grid;place-items:center;z-index:90;padding:24px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal[data-v-26e5a162]{width:100%;max-width:440px;box-shadow:var(--shadow-pop);max-height:calc(100dvh - 32px);overflow-y:auto}@media(max-width:480px){.overlay[data-v-26e5a162]{padding:12px;align-items:end}}.modal-head[data-v-26e5a162]{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 0}.close[data-v-26e5a162]{padding:4px 10px;color:var(--text-muted)}.modal-body[data-v-26e5a162]{padding:16px 20px;display:flex;flex-direction:column;gap:14px}.modal-foot[data-v-26e5a162]{padding:0 20px 18px;display:flex;justify-content:flex-end;gap:10px}.toasts[data-v-f6b3c709]{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:10px;z-index:100;max-width:360px}@media(max-width:768px){.toasts[data-v-f6b3c709]{left:12px;right:12px;bottom:calc(78px + env(safe-area-inset-bottom));max-width:none}}.toast[data-v-f6b3c709]{display:flex;align-items:center;gap:10px;padding:12px 16px;cursor:pointer;box-shadow:var(--shadow-pop);font-weight:500}.dot[data-v-f6b3c709]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.toast-success .dot[data-v-f6b3c709]{background:var(--status-good)}.toast-error .dot[data-v-f6b3c709]{background:var(--status-critical)}.toast-enter-active[data-v-f6b3c709],.toast-leave-active[data-v-f6b3c709]{transition:opacity .2s ease,transform .2s ease}.toast-enter-from[data-v-f6b3c709],.toast-leave-to[data-v-f6b3c709]{opacity:0;transform:translateY(8px)}:root{color-scheme:light;--bg: #f5f5f7;--surface: #ffffff;--surface-2: #fafafa;--text: #1d1d1f;--text-secondary: #6e6e73;--text-muted: #898781;--hairline: rgba(0, 0, 0, .08);--hairline-strong: rgba(0, 0, 0, .14);--shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 4px 16px rgba(0, 0, 0, .05);--shadow-pop: 0 8px 40px rgba(0, 0, 0, .16);--accent: #4e252d;--accent-solid: #4e252d;--accent-soft: rgba(78, 37, 45, .1);--on-accent: #ffffff;--status-good: #0ca30c;--status-good-text: #006300;--status-warning: #b97e00;--status-serious: #c05a2e;--status-critical: #d03b3b;--chart-series: #4e252d;--chart-series-soft: rgba(78, 37, 45, .14);--chart-grid: #e1e0d9;--chart-axis: #c3c2b7;--chart-ink-muted: #898781}:root[data-theme=dark]{color-scheme:dark;--bg: #0d0d0d;--surface: #1a1a19;--surface-2: #222221;--text: #f5f5f7;--text-secondary: #a1a1a6;--text-muted: #898781;--hairline: rgba(255, 255, 255, .1);--hairline-strong: rgba(255, 255, 255, .18);--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 4px 16px rgba(0, 0, 0, .35);--shadow-pop: 0 8px 40px rgba(0, 0, 0, .6);--accent: #c9909b;--accent-solid: #96545f;--accent-soft: rgba(201, 144, 155, .16);--on-accent: #ffffff;--status-good: #0ca30c;--status-good-text: #2fbf2f;--status-warning: #fab219;--status-serious: #ec835a;--status-critical: #e35b5b;--chart-series: #c9909b;--chart-series-soft: rgba(201, 144, 155, .18);--chart-grid: #2c2c2a;--chart-axis: #383835;--chart-ink-muted: #898781}*,*:before,*:after{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;transition:background-color .25s ease,color .25s ease}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.01em}a{color:var(--accent);text-decoration:none}.card{background:var(--surface);border:1px solid var(--hairline);border-radius:16px;box-shadow:var(--shadow)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border:1px solid transparent;border-radius:10px;font:inherit;font-weight:500;color:var(--text);background:var(--surface-2);border-color:var(--hairline-strong);cursor:pointer;transition:background-color .15s ease,opacity .15s ease,border-color .15s ease;white-space:nowrap}.btn:hover{border-color:var(--text-muted)}.btn:disabled{opacity:.45;cursor:default;pointer-events:none}.btn-primary{background:var(--accent-solid);border-color:var(--accent-solid);color:var(--on-accent)}.btn-primary:hover{opacity:.9;border-color:var(--accent-solid)}.btn-danger{color:var(--status-critical);border-color:currentColor;background:transparent}.btn-ghost{background:transparent;border-color:transparent}.btn-ghost:hover{background:var(--accent-soft);border-color:transparent}.input,.select{padding:8px 12px;border:1px solid var(--hairline-strong);border-radius:10px;font:inherit;color:var(--text);background:var(--surface);transition:border-color .15s ease;min-width:0}.input:focus,.select:focus{outline:none;border-color:var(--accent)}.input::placeholder{color:var(--text-muted)}label.field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-secondary)}.table-wrap{overflow-x:auto}table.table{width:100%;border-collapse:collapse;font-size:13.5px}table.table th{text-align:left;font-weight:500;color:var(--text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em;padding:10px 16px;border-bottom:1px solid var(--hairline);white-space:nowrap}table.table td{padding:12px 16px;border-bottom:1px solid var(--hairline);vertical-align:middle}table.table tbody tr:last-child td{border-bottom:none}table.table tbody tr.row-link{cursor:pointer;transition:background-color .12s ease}table.table tbody tr.row-link:hover{background:var(--surface-2)}.num{font-variant-numeric:tabular-nums}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:500;border:1px solid var(--hairline-strong);color:var(--text-secondary);white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge-good{color:var(--status-good-text)}.badge-warning{color:var(--status-warning)}.badge-serious{color:var(--status-serious)}.badge-critical{color:var(--status-critical)}.badge-neutral{color:var(--text-muted)}.skeleton{border-radius:8px;background:linear-gradient(100deg,var(--surface-2) 40%,var(--hairline) 50%,var(--surface-2) 60%);background-size:200% 100%;animation:shimmer 1.4s infinite linear}@keyframes shimmer{to{background-position:-200% 0}}.muted{color:var(--text-secondary)}.small{font-size:12.5px}.empty-state{padding:48px 24px;text-align:center;color:var(--text-muted)}.page-title{font-size:22px;margin-bottom:4px}.page-sub{color:var(--text-secondary);margin:0 0 20px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.toolbar .spacer{flex:1}code.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;background:var(--surface-2);border:1px solid var(--hairline);border-radius:6px;padding:1px 6px}
