@charset "UTF-8";:root{color-scheme:light;--color-bg: #f5f5f4;--color-surface: #f5f5f4;--panel: #fafaf9;--sunk: #f5f5f4;--color-text: #1c1917;--ink-secondary: #44403c;--dim: #78716c;--dim2: #a8a29e;--line: rgb(28 25 23 / 10%);--line2: rgb(28 25 23 / 16%);--line3: rgb(28 25 23 / 26%);--hair: rgb(28 25 23 / 7%);--grid: rgb(28 25 23 / 7%);--color-accent: #059669;--accent-ink: #047857;--accent-soft: rgb(5 150 105 / 10%);--fill: #047857;--fill-ink: #fff;--ok: #78716c;--ok-soft: rgb(120 113 108 / 10%);--warn: #b45309;--warn-soft: rgb(180 83 9 / 10%);--crit: #b91c1c;--crit-soft: rgb(220 38 38 / 9%);--mute: #78716c;--maint: #57534e;--maint-soft: rgb(87 83 78 / 10%);--fill-crit: #b91c1c;--fill-crit-ink: #fff;--rail: #0a0a0a;--rail-ink: #fafafa;--rail-ink-default: #a3a3a3;--rail-ink-dim: #737373;--rail-line: rgb(255 255 255 / 6%);--rail-hover: rgb(255 255 255 / 5%);--rail-active-bg: rgb(52 211 153 / 12%);--rail-active-ink: #6ee7b7;--bg: var(--color-bg);--surf: var(--panel);--surf2: var(--color-surface);--head: var(--sunk);--ink: var(--ink-secondary);--ink2: var(--color-text);--hov: var(--accent-soft);--chip: var(--sunk);--btn: var(--panel);--bar: var(--panel);--topbar: rgb(245 245 244 / 90%);--rInk: var(--crit);--rBg: var(--crit-soft);--rBd: color-mix(in srgb, var(--crit) 45%, transparent);--aInk: var(--warn);--aBg: var(--warn-soft);--aBd: color-mix(in srgb, var(--warn) 45%, transparent);--gInk: var(--ok);--gBg: var(--ok-soft);--gBd: color-mix(in srgb, var(--ok) 45%, transparent);--vInk: var(--maint);--vBg: var(--maint-soft);--vBd: color-mix(in srgb, var(--maint) 45%, transparent);--bInk: var(--accent-ink);--bBg: var(--accent-soft);--bBd: color-mix(in srgb, var(--accent-ink) 40%, transparent);--accent: var(--fill);--accent-border: var(--fill);--accent-hover: #065f46;--focus-ring: var(--color-accent);--amber: var(--warn);--red-solid: var(--crit);--red-solid-hover: var(--crit);--red-destructive: var(--fill-crit);--red-destructive-hover: var(--fill-crit);--taupe-solid: var(--mute);--green-fixed: var(--ok);--green-brand: var(--ok);--primary: var(--accent);--primary-dark: var(--accent-hover);--sidebar: var(--rail);--sidebar-deep: var(--rail);--danger: var(--rInk);--danger-soft: var(--rBg);--danger-border: var(--rBd);--danger-solid: var(--red-solid);--warning: var(--aInk);--warning-soft: var(--aBg);--warning-border: var(--aBd);--warning-solid: var(--amber);--ok-border: var(--gBd);--ok-solid: var(--green-fixed);--maintenance: var(--vInk);--maintenance-soft: var(--vBg);--maintenance-border: var(--vBd);--maintenance-solid: var(--taupe-solid);--info: var(--bInk);--info-soft: var(--bBg);--info-border: var(--bBd);--disabled: var(--dim2);--disabled-solid: var(--dim2);--dim3: var(--dim2);--text: var(--ink);--text-secondary: var(--dim);--muted: var(--dim2);--stroke: var(--line2);--stroke-strong: var(--line3);--surface: var(--surf);--surface-hover: var(--hov);--n900: var(--color-text);--n700: var(--ink);--n500: var(--dim);--n300: var(--dim2);--n200: var(--line2);--radius-sm: 7px;--radius: 7px;--radius-lg: 12px;--radius-xl: 12px;--shadow: none;--shadow-sm: none;--shadow-md: 0 3px 10px rgb(43 43 45 / 16%);--shadow-modal: 0 3px 10px rgb(43 43 45 / 16%);--shadow-modal-danger: 0 3px 10px rgb(43 43 45 / 16%);--shadow-toast: 0 3px 10px rgb(43 43 45 / 16%);--focus: 0 0 0 2px var(--color-accent);--font: "Poppins", Helvetica, Arial, sans-serif;--font-heading: "Poppins", Helvetica, Arial, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--sidebar-width: 234px;--sidebar-width-collapsed: 72px;--content-max: 1520px;--space-1: 4px;--space-2: 7px;--space-3: 10px;--space-4: 14px;--space-5: 20px;--space-6: 27px;--space-7: 34px;--space-8: 41px;--space-9: 54px}html[data-theme=dark]{color-scheme:dark;--color-bg: #0a0a0a;--color-surface: #171717;--panel: #111111;--sunk: #0a0a0a;--color-text: #fafafa;--ink-secondary: #d4d4d4;--dim: #a3a3a3;--dim2: #737373;--line: rgb(255 255 255 / 7%);--line2: rgb(255 255 255 / 12%);--line3: rgb(255 255 255 / 20%);--hair: rgb(255 255 255 / 5%);--grid: rgb(16 185 129 / 6%);--color-accent: #34d399;--accent-ink: #6ee7b7;--accent-soft: rgb(52 211 153 / 12%);--fill: #10b981;--fill-ink: #022c22;--ok: #a3a3a3;--ok-soft: rgb(163 163 163 / 10%);--warn: #fbbf24;--warn-soft: rgb(251 191 36 / 6%);--crit: #f87171;--crit-soft: rgb(248 113 113 / 12%);--mute: #a3a3a3;--maint: #d4d4d4;--maint-soft: rgb(212 212 212 / 10%);--fill-crit: #f87171;--fill-crit-ink: #1c0a0a;--rail: #0a0a0a;--rail-ink: #fafafa;--rail-ink-default: #a3a3a3;--rail-ink-dim: #737373;--rail-line: rgb(255 255 255 / 6%);--rail-hover: rgb(255 255 255 / 5%);--bg: var(--color-bg);--surf: var(--panel);--surf2: var(--color-surface);--head: var(--sunk);--ink: var(--ink-secondary);--ink2: var(--color-text);--hov: var(--accent-soft);--chip: var(--sunk);--btn: var(--panel);--bar: var(--panel);--topbar: rgb(10 10 10 / 88%);--rInk: var(--crit);--rBg: var(--crit-soft);--rBd: color-mix(in srgb, var(--crit) 45%, transparent);--aInk: var(--warn);--aBg: var(--warn-soft);--aBd: color-mix(in srgb, var(--warn) 45%, transparent);--gInk: var(--ok);--gBg: var(--ok-soft);--gBd: color-mix(in srgb, var(--ok) 45%, transparent);--vInk: var(--maint);--vBg: var(--maint-soft);--vBd: color-mix(in srgb, var(--maint) 45%, transparent);--bInk: var(--accent-ink);--bBg: var(--accent-soft);--bBd: color-mix(in srgb, var(--accent-ink) 40%, transparent);--accent: var(--fill);--accent-border: var(--fill);--accent-hover: #6ee7b7;--focus-ring: var(--color-accent);--amber: var(--warn);--red-solid: var(--crit);--red-solid-hover: var(--crit);--red-destructive: var(--fill-crit);--red-destructive-hover: var(--fill-crit);--taupe-solid: var(--mute);--green-fixed: var(--ok);--green-brand: var(--ok);--dim3: var(--dim2);--shadow-modal: 0 3px 10px rgb(0 0 0 / 32%);--shadow-toast: 0 3px 10px rgb(0 0 0 / 32%)}@media(prefers-color-scheme:dark){html[data-theme=auto]{color-scheme:dark;--color-bg: #0a0a0a;--color-surface: #171717;--panel: #111111;--sunk: #0a0a0a;--color-text: #fafafa;--ink-secondary: #d4d4d4;--dim: #a3a3a3;--dim2: #737373;--line: rgb(255 255 255 / 7%);--line2: rgb(255 255 255 / 12%);--line3: rgb(255 255 255 / 20%);--hair: rgb(255 255 255 / 5%);--grid: rgb(16 185 129 / 6%);--color-accent: #34d399;--accent-ink: #6ee7b7;--accent-soft: rgb(52 211 153 / 12%);--fill: #10b981;--fill-ink: #022c22;--ok: #a3a3a3;--ok-soft: rgb(163 163 163 / 10%);--warn: #fbbf24;--warn-soft: rgb(251 191 36 / 6%);--crit: #f87171;--crit-soft: rgb(248 113 113 / 12%);--mute: #a3a3a3;--maint: #d4d4d4;--maint-soft: rgb(212 212 212 / 10%);--fill-crit: #f87171;--fill-crit-ink: #1c0a0a;--rail: #0a0a0a;--rail-ink: #fafafa;--rail-ink-default: #a3a3a3;--rail-ink-dim: #737373;--rail-line: rgb(255 255 255 / 6%);--rail-hover: rgb(255 255 255 / 5%);--bg: var(--color-bg);--surf: var(--panel);--surf2: var(--color-surface);--head: var(--sunk);--ink: var(--ink-secondary);--ink2: var(--color-text);--hov: var(--accent-soft);--chip: var(--sunk);--btn: var(--panel);--bar: var(--panel);--topbar: rgb(10 10 10 / 88%);--rInk: var(--crit);--rBg: var(--crit-soft);--rBd: color-mix(in srgb, var(--crit) 45%, transparent);--aInk: var(--warn);--aBg: var(--warn-soft);--aBd: color-mix(in srgb, var(--warn) 45%, transparent);--gInk: var(--ok);--gBg: var(--ok-soft);--gBd: color-mix(in srgb, var(--ok) 45%, transparent);--vInk: var(--maint);--vBg: var(--maint-soft);--vBd: color-mix(in srgb, var(--maint) 45%, transparent);--bInk: var(--accent-ink);--bBg: var(--accent-soft);--bBd: color-mix(in srgb, var(--accent-ink) 40%, transparent);--accent: var(--fill);--accent-border: var(--fill);--accent-hover: #6ee7b7;--focus-ring: var(--color-accent);--amber: var(--warn);--red-solid: var(--crit);--red-solid-hover: var(--crit);--taupe-solid: var(--mute);--green-fixed: var(--ok);--green-brand: var(--ok);--dim3: var(--dim2);--shadow-modal: 0 3px 10px rgb(0 0 0 / 32%);--shadow-toast: 0 3px 10px rgb(0 0 0 / 32%)}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:14px;line-height:20px;-webkit-font-smoothing:antialiased}body.nav-drawer-open{overflow:hidden;touch-action:none}button,input,select,textarea{font:inherit}a{color:var(--bInk);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:none}h1,h2,h3{margin:0;color:var(--ink2);font-family:var(--font-heading);font-weight:600;letter-spacing:.02em}h1{font-size:24px;line-height:1.1}h2{font-size:15px;line-height:1.2}p{margin:0;text-wrap:pretty}code,.mono{font-family:var(--font-mono);font-size:12.5px;line-height:18px;font-variant-numeric:tabular-nums}.muted{color:var(--dim)}.label{font-family:var(--font-mono);font-size:9px;letter-spacing:.11em;text-transform:uppercase;font-weight:600;color:var(--dim2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:34px;padding:8px 14px;border:1px solid var(--line2);border-radius:var(--radius);background:var(--btn);color:var(--dim);cursor:pointer;font-family:var(--font-heading);font-weight:600;font-size:13.5px;line-height:18px;letter-spacing:.03em;transition:background .15s ease,border-color .15s ease,color .15s ease}.btn:hover:not(:disabled){background:var(--accent-soft);color:var(--color-accent);border-color:var(--color-accent)}.btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;box-shadow:none}.btn:disabled{background:var(--chip);border-color:var(--line2);color:var(--dim3);opacity:.5;cursor:not-allowed}.btn--primary{background:var(--fill);border-color:var(--fill);color:var(--fill-ink);font-weight:600}.btn--primary:hover:not(:disabled){background:var(--fill);border-color:var(--fill);color:var(--fill-ink);filter:brightness(1.08)}.btn--danger{background:transparent;border-color:var(--line2);color:var(--crit)}.btn--danger:hover:not(:disabled){background:var(--crit-soft);border-color:var(--crit);color:var(--crit)}.btn--ghost{background:transparent;border-color:transparent;color:inherit}.btn--ghost:hover:not(:disabled){background:var(--accent-soft)}.btn--link{background:transparent;border-color:transparent;color:var(--bInk);min-height:auto;padding:0;font-weight:500}.btn--link:hover:not(:disabled){background:transparent;color:var(--accent-hover)}.btn--block{width:100%}.field{display:flex;flex-direction:column;gap:6px}.field__label{font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--dim2)}.field__hint{font-size:11.5px;color:var(--dim)}.field__control,.input,.select{width:100%;min-height:38px;padding:9px 12px;border:1px solid var(--line3);border-radius:var(--radius);background:var(--bar);color:var(--ink);font-size:12.5px;transition:border-color .15s ease,box-shadow .15s ease}.field__control:hover,.input:hover,.select:hover{border-color:var(--dim3)}.field__control:focus,.input:focus,.select:focus{outline:none;border-color:var(--focus-ring);box-shadow:var(--focus)}.field__control:disabled,.input:disabled,.select:disabled{background:var(--chip);color:var(--dim3);cursor:not-allowed}.card{background:var(--surf);border:1px solid var(--line2);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);box-shadow:var(--shadow-sm)}.icon-tile{display:flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;border-radius:var(--radius);background:var(--gBg);border:1px solid var(--gBd);color:var(--gInk)}.icon-tile svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.card--flush{padding:0;overflow:hidden}.card--flush .card__head,.card--flush .empty-state{padding:13px var(--space-4)}.card--flush .table-wrap{padding:0}.card__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.card__head h2{font-size:12.5px;font-weight:600;color:var(--ink2)}.table-wrap{overflow-x:auto}table.data-table{width:100%;border-collapse:collapse;min-width:720px}table.data-table th,table.data-table td{padding:0 15px;height:44px;text-align:left;border-bottom:1px solid var(--line2);vertical-align:middle}table.data-table th{height:34px;font-family:var(--font-mono);font-size:9px;line-height:14px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--dim2);background:var(--head);border-bottom:1px solid var(--line3);white-space:nowrap}table.data-table td.mono,table.data-table td code{font-size:12px}table.data-table td.col-metric{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}table.data-table th.col-metric{text-align:right}table.data-table tbody tr:last-child td{border-bottom:0}table.data-table tbody tr:hover{background:var(--hov)}table.data-table tbody tr[routerlink],table.data-table tbody tr.is-clickable{cursor:pointer}.crit-accent,.crit-accent--p1,.crit-accent--p2{border-left:3px solid transparent}.stat-dot{display:inline-block;width:6px;height:6px;flex-shrink:0;border-radius:999px;background:currentColor}.stat-dot--pulse{box-shadow:0 0 0 3px color-mix(in srgb,currentColor 35%,transparent);animation:status-pulse 1.8s ease-in-out infinite}@keyframes status-pulse{0%,to{box-shadow:0 0 0 3px color-mix(in srgb,currentColor 35%,transparent)}50%{box-shadow:0 0 0 5px color-mix(in srgb,currentColor 35%,transparent)}}@media(prefers-reduced-motion:reduce){.stat-dot--pulse{animation:none}}.kpi-card{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:10px 12px 9px}.kpi-card__label{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}.kpi-card__value-row{display:flex;align-items:baseline;gap:7px;margin-top:5px}.kpi-card__value{font-family:var(--font-heading);font-size:40px;font-weight:600;line-height:.9;color:var(--ink2);font-variant-numeric:tabular-nums}.kpi-card__unit{font-family:var(--font-mono);font-size:10px;color:var(--dim)}.kpi-card__hair{height:1px;background:var(--hair);margin:8px 0 6px}.kpi-card__footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.kpi-card__note{font-family:var(--font-mono);font-size:10px;color:var(--dim);line-height:1.4}.kpi-card__spark{width:72px;height:24px;flex:0 0 auto;overflow:visible}.tag{display:inline-flex;align-items:center;padding:2px 7px;border-radius:5px;background:var(--chip);border:1px solid var(--line3);color:var(--dim);font-family:var(--font-mono);font-size:10.5px;font-weight:500;white-space:nowrap}.tag--accent{color:var(--bInk);background:var(--bBg);border-color:var(--bBd)}.meta-card{padding:15px 18px}.meta-card strong{display:block;margin-bottom:.15rem;font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim2);font-weight:600}.meta-card>span{min-width:10rem}.meta-card__id{margin-left:auto;min-width:0;font-size:11px}.tag-group{display:flex;flex-wrap:wrap;gap:4px}.host-cell{display:flex;flex-direction:column;gap:2px;min-width:0}.host-cell__name{font-family:var(--font-mono);font-weight:500;color:var(--ink2)}.host-cell__meta{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:10.5px;color:var(--dim2);max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.host-cell__meta svg{width:11px;height:11px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.list-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:var(--space-2)}.list-toolbar .input{flex:1 1 220px;min-width:220px}.list-toolbar__select{flex:0 1 auto;width:auto;min-width:150px;max-width:220px}.list-toolbar .toolbar__count{margin-left:auto;font-family:var(--font-mono)}@media(max-width:720px){.list-toolbar .input,.list-toolbar__select{min-width:0;max-width:none;width:100%}.list-toolbar .toolbar__count{margin-left:0}}.icon-chip{display:inline-grid;place-items:center;width:32px;height:32px;flex-shrink:0;border-radius:var(--radius);background:var(--chip);color:var(--dim)}.icon-chip svg,.icon-outline{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.icon-chip--ok{background:var(--gBg);color:var(--gInk)}.icon-chip--danger{background:var(--rBg);color:var(--rInk)}.icon-chip--info{background:var(--bBg);color:var(--bInk)}.dropdown-panel{position:absolute;z-index:60;padding:6px;border:1px solid var(--line3);border-radius:var(--radius);background:var(--surf);box-shadow:var(--shadow-modal)}.dropdown-panel__group-label{margin:6px 8px 2px;color:var(--dim2);font-family:var(--font-mono);font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.dropdown-panel__item{display:flex;flex-direction:column;gap:1px;width:100%;padding:8px 10px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--ink);font:inherit;font-size:13px;font-weight:600;text-align:left;text-decoration:none;cursor:pointer}.dropdown-panel__item:hover{background:var(--hov);text-decoration:none}.dropdown-panel__item-sub{color:var(--dim);font-size:12px;font-weight:400}.dropdown-panel__empty{margin:0;padding:14px 10px;color:var(--dim);font-size:13px;text-align:center}.segmented{display:inline-flex;align-items:center;gap:3px;padding:3px;background:var(--bar);border:1px solid var(--line2);border-radius:var(--radius)}.segmented__btn{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border:0;border-radius:6px;background:transparent;color:var(--dim2);font-size:12px;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease}.segmented__btn:hover{color:var(--ink)}.segmented__btn.is-active{background:var(--surf);color:var(--ink2)}html[data-theme=dark] .segmented__btn.is-active{background:#262626}.status-dot{display:inline-block;width:6px;height:6px;flex-shrink:0;border-radius:999px;background:currentColor}.status-dot--pulse{box-shadow:0 0 0 3px color-mix(in srgb,currentColor 40%,transparent);animation:status-pulse 1.8s ease-in-out infinite}.alert{display:flex;align-items:flex-start;gap:var(--space-2);margin:0;padding:12px 14px;border-radius:var(--radius);background:var(--rBg);color:var(--rInk);border:1px solid var(--rBd);font-size:12.5px}.alert--ok{background:var(--gBg);color:var(--gInk);border-color:var(--gBd)}.alert--warning{background:var(--aBg);color:var(--aInk);border-color:var(--aBd)}.alert--info{background:var(--bBg);color:var(--bInk);border-color:var(--bBd)}.alert--muted{background:repeating-linear-gradient(135deg,var(--ok-soft) 0 6px,transparent 6px 12px),var(--panel);color:var(--ink2);border-color:var(--line3);font-weight:500}.note-card{background:var(--panel);border:1px solid var(--line2);border-left:3px solid var(--color-accent);border-radius:var(--radius-lg);padding:12px 15px;font-size:12.5px;line-height:1.55;color:var(--ink2)}.page{display:flex;flex-direction:column;gap:12px;width:100%}.dash-columns{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(0,1fr);align-items:start;gap:15px}.dash-main,.dash-side{min-width:0;display:flex;flex-direction:column;gap:15px}@media(max-width:960px){.dash-columns{grid-template-columns:1fr}}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stats--4,.stats--5{grid-template-columns:repeat(auto-fit,minmax(142px,1fr))}.stat-card{background:var(--surf);border:1px solid var(--line2);border-radius:10px;padding:12px 14px;box-shadow:var(--shadow-sm)}.stat-card small{display:block;font-family:var(--font-mono);font-size:9px;letter-spacing:.11em;text-transform:uppercase;font-weight:600;color:var(--dim2)}.stat-card strong{display:block;margin-top:7px;font-size:22px;line-height:1;font-weight:700;letter-spacing:-.02em;color:var(--ink2)}.stat-card__meta{margin-top:8px;font-size:11.5px;font-weight:500;color:var(--dim)}.stat-card__meta--danger{color:var(--rInk)}.stat-card__meta--ok{color:var(--gInk)}.stat-card__value--danger{color:var(--rInk)!important}.toolbar{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;padding:var(--space-3);background:var(--surf);border:1px solid var(--line2);border-radius:var(--radius-lg)}.toolbar__count{margin-left:auto;font-family:var(--font-mono);font-size:10.5px;color:var(--dim2);font-weight:500}.toolbar .input,.toolbar .select{min-width:220px;max-width:320px}.meta{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;color:var(--dim)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.empty-state,.loading-state{display:grid;place-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-4);text-align:center;color:var(--dim)}.empty-state strong{color:var(--ink);font-weight:600}.empty-state .btn{margin-top:var(--space-2)}.loading-state{display:flex;justify-content:center}.spinner{width:18px;height:18px;border:2px solid var(--line3);border-top-color:var(--focus-ring);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.form-stack{display:flex;flex-direction:column;gap:var(--space-4);max-width:680px}.form-stack--dialog{max-width:none}.form-actions{display:flex;gap:var(--space-2);padding-top:var(--space-2)}.dialog-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:6vh 20px 20px;background:#04080ba8}.dialog-backdrop--center{align-items:center;padding:20px}.dialog{width:min(420px,100%);max-height:min(90dvh,900px);overflow:auto;padding:var(--space-5);border:1px solid var(--line3);border-radius:var(--radius-xl);background:var(--surf);box-shadow:var(--shadow-modal)}.dialog--form,.dialog--wide{width:min(640px,100%)}.dialog--danger{border-color:var(--rBd);box-shadow:var(--shadow-modal-danger)}.dialog__head{margin-bottom:var(--space-4)}.dialog__head h2{margin-bottom:4px;font-size:14.5px}.dialog__head p{color:var(--dim2);font-size:11.5px}.dialog__actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-5)}.table-actions{display:inline-flex;align-items:center;gap:4px}.icon-btn{display:inline-grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--dim);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.icon-btn:hover{background:var(--chip);border-color:var(--line3);color:var(--ink)}.icon-btn--danger:hover{background:var(--rBg);border-color:var(--rBd);color:var(--rInk)}.icon-btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.field__input-wrap{display:flex;align-items:center;border:1px solid var(--line2);border-radius:var(--radius);overflow:hidden}.field__input-wrap .field__control,.field__input-wrap .input{flex:1;min-width:0;border:0;border-radius:0;background:transparent}.field__toggle{flex:0 0 auto;align-self:stretch;padding:0 10px;border:0;border-left:1px solid var(--line);border-radius:0;background:transparent;color:var(--dim);font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.field__toggle:hover{color:var(--color-accent)}.link-text{display:inline;padding:0;border:0;background:none;font:inherit;font-size:11.5px;color:var(--dim);text-decoration:underline;text-underline-offset:2px;cursor:pointer;transition:color .15s ease}.link-text:hover,.link-text:focus-visible{color:var(--ink)}.link-action{display:inline-flex;align-items:center;justify-content:center;flex:none;width:30px;height:30px;padding:0;border-radius:var(--radius);color:var(--dim);cursor:pointer;background:var(--chip);border:0;transition:background .15s ease,color .15s ease}.link-action svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.link-action:hover{background:var(--aBg);color:var(--aInk)}.link-action--danger{color:var(--dim);background:var(--chip)}.link-action--danger:hover{background:var(--rBg);color:var(--rInk)}.detail-back{display:inline-block;font-size:12px;color:var(--bInk);width:fit-content}.detail-header{display:flex;gap:16px;flex-wrap:wrap;align-items:center;padding:15px 18px}.detail-header__titles{display:flex;align-items:center;gap:9px;flex-wrap:wrap;min-width:0}.detail-header__name{font-size:17px;font-weight:600;color:var(--ink2)}.detail-header__agent{flex-basis:100%}.detail-header__meta{font-size:11px;margin-top:6px;flex-basis:100%}.detail-header__actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.detail-header__maint{background:var(--vBg);border-color:var(--vBd);color:var(--vInk)}.detail-header__ip-row{flex-basis:100%;display:flex;align-items:center;gap:9px;margin-top:4px;padding:9px 12px;background:var(--surf2);border:1px solid var(--line2);border-radius:7px}.detail-header__ip-label{font-size:10.5px;color:var(--dim2);text-transform:uppercase;letter-spacing:.04em;flex:0 0 auto}.detail-header__ip-hint{margin-left:auto;font-size:10.5px;color:var(--dim3);white-space:nowrap}.detail-header__tiles{flex-basis:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line2);border:1px solid var(--line2);border-radius:8px;overflow:hidden;margin-top:4px}.detail-header__tile{background:var(--surf2);padding:10px 14px;display:flex;flex-direction:column;gap:4px}.detail-header__tile-label{font-size:10.5px;color:var(--dim2);text-transform:uppercase;letter-spacing:.04em}.detail-header__tile-value{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink2)}.detail-header__tile-value--muted{color:var(--dim);font-size:13px;font-weight:500}@media(max-width:560px){.detail-header__tiles{grid-template-columns:1fr}.detail-header__ip-hint{flex-basis:100%;margin-left:0}}.list-footer{padding:10px 15px;font-family:var(--font-mono);font-size:10.5px;color:var(--dim3);border-top:1px solid var(--line2)}th.col-actions,td.col-actions{width:1%;white-space:nowrap;text-align:right}fieldset.panel{margin:0;padding:var(--space-4);border:1px solid var(--line2);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:var(--space-3)}fieldset.panel legend{padding:0 var(--space-2);color:var(--dim);font-size:12px;font-weight:600}.check{display:flex;flex-direction:row;align-items:center;gap:var(--space-2);color:var(--ink);cursor:pointer}@keyframes wpulse{0%{opacity:.85;transform:scale(1)}70%,to{opacity:0;transform:scale(2.6)}}@keyframes wslide{0%{transform:translate(30px);opacity:0}to{transform:none;opacity:1}}@keyframes wflash{0%,to{box-shadow:0 0 #a83a2c00}50%{box-shadow:0 0 0 5px #a83a2c33}}@media(prefers-reduced-motion:reduce){.live-dot,.alert-chip__pulse{animation:none!important}}@media(max-width:1100px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.stats,.grid-2{grid-template-columns:1fr}.toolbar .input,.toolbar .select{min-width:0;max-width:none;flex:1}}@keyframes wattu-page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes wattu-card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.page,.login,.forgot{animation:wattu-page-in .2s ease-out both}.page>.card,.page>.dash-columns>.dash-main>.card,.page>.dash-columns>.dash-side>.card,.page>.stats>.stat-card{animation:wattu-card-in .26s ease-out both}.page>.card:nth-child(1),.page>.stats>.stat-card:nth-child(1){animation-delay:20ms}.page>.card:nth-child(2),.page>.stats>.stat-card:nth-child(2){animation-delay:45ms}.page>.card:nth-child(3),.page>.stats>.stat-card:nth-child(3){animation-delay:70ms}.page>.card:nth-child(4),.page>.stats>.stat-card:nth-child(4){animation-delay:95ms}.page>.card:nth-child(5),.page>.stats>.stat-card:nth-child(5){animation-delay:.12s}.page>.card:nth-child(n+6),.page>.stats>.stat-card:nth-child(n+6){animation-delay:.14s}.incident-rows,.journal-rows,.oncall-level,.card--flush>table,.list-footer{animation:wattu-page-in .22s ease-out both;animation-delay:60ms}.dialog,.toast{animation:wattu-card-in .16s ease-out both}@media(prefers-reduced-motion:reduce){.page,.login,.forgot,.page>.card,.page>.dash-columns>.dash-main>.card,.page>.dash-columns>.dash-side>.card,.page>.stats>.stat-card,.incident-rows,.journal-rows,.oncall-level,.card--flush>table,.list-footer,.dialog,.toast{animation:none}}
