:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ox-surface-0:#fff;--ox-surface-1:#f7f8fa;--ox-surface-2:#eef1f4;--ox-border-subtle:#d9dee5;--ox-border-strong:#aeb7c2;--ox-text-strong:#17202a;--ox-text-default:#334155;--ox-text-muted:#667085;--ox-text-inverse:#fff;--ox-focus:#2563eb;--ox-brand:#155e75;--ox-brand-soft:#e6f6fa;--ox-success:#14804a;--ox-success-soft:#e8f6ee;--ox-warning:#b7791f;--ox-warning-soft:#fff4d6;--ox-danger:#c2410c;--ox-danger-soft:#ffeadf;--ox-info:#2563eb;--ox-info-soft:#e8f0ff;--ox-stale:#7c3aed;--ox-stale-soft:#f1eafe;--ox-pending:#8a5a00;--ox-pending-soft:#fff0c2;--ox-dry-run:#475569;--ox-dry-run-soft:#edf1f5;--ox-safe-auto:#0f766e;--ox-safe-auto-soft:#dcf7f3;--ox-killed:#991b1b;--ox-killed-soft:#fee2e2;--ox-disconnected:#92400e;--ox-disconnected-soft:#fef3c7;--ox-radius-sm:4px;--ox-radius-md:6px;--ox-radius-lg:8px;--ox-shadow-sm:0 1px 2px #0f172a12}*{box-sizing:border-box}body{background:var(--ox-surface-1);color:var(--ox-text-default);letter-spacing:0;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}a{color:inherit}:focus-visible{outline:3px solid color-mix(in srgb, var(--ox-focus), transparent 35%);outline-offset:2px}.ox-page-header,.ox-card-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.ox-page-header{margin-bottom:24px}.ox-page-header h1,.ox-card-header h2,.ox-empty h2,.ox-dialog h2{color:var(--ox-text-strong);letter-spacing:0;margin:0}.ox-page-header h1{font-size:28px;line-height:36px}.ox-card-header h2,.ox-empty h2,.ox-dialog h2{font-size:18px;line-height:26px}.ox-page-header p,.ox-card-header p,.ox-empty p,.ox-dialog p{color:var(--ox-text-muted);margin:6px 0 0}.ox-eyebrow{color:var(--ox-brand);letter-spacing:0;text-transform:uppercase;margin:0 0 4px;font-size:12px;font-weight:700}.ox-section{gap:16px;display:grid}.ox-card{background:var(--ox-surface-0);border:1px solid var(--ox-border-subtle);border-radius:var(--ox-radius-lg);box-shadow:var(--ox-shadow-sm);padding:16px}.ox-card-action,.ox-page-action{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.ox-button{border-radius:var(--ox-radius-md);cursor:pointer;border:1px solid #0000;align-items:center;gap:8px;min-height:36px;padding:7px 12px;font-weight:650;text-decoration:none;display:inline-flex}.ox-button:disabled{cursor:not-allowed;opacity:.55}.ox-button--primary{background:var(--ox-brand);color:var(--ox-text-inverse)}.ox-button--secondary{background:var(--ox-surface-0);border-color:var(--ox-border-subtle);color:var(--ox-text-strong)}.ox-button--ghost{color:var(--ox-text-default);background:0 0}.ox-button--danger{background:var(--ox-danger);color:var(--ox-text-inverse)}.ox-badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:2px 8px;font-size:12px;font-weight:700;line-height:18px;display:inline-flex}.ox-badge-icon{width:14px;height:14px}.ox-badge--neutral{background:var(--ox-surface-2);color:var(--ox-text-default)}.ox-badge--success{background:var(--ox-success-soft);color:var(--ox-success)}.ox-badge--warning{background:var(--ox-warning-soft);color:var(--ox-warning)}.ox-badge--danger{background:var(--ox-danger-soft);color:var(--ox-danger)}.ox-badge--info{background:var(--ox-info-soft);color:var(--ox-info)}.ox-badge--stale{background:var(--ox-stale-soft);color:var(--ox-stale)}.ox-badge--pending{background:var(--ox-pending-soft);color:var(--ox-pending)}.ox-badge--dry-run{background:var(--ox-dry-run-soft);color:var(--ox-dry-run)}.ox-badge--safe-auto{background:var(--ox-safe-auto-soft);color:var(--ox-safe-auto)}.ox-badge--killed{background:var(--ox-killed-soft);color:var(--ox-killed)}.ox-badge--disconnected{background:var(--ox-disconnected-soft);color:var(--ox-disconnected)}.ox-kpi{background:var(--ox-surface-0);border:1px solid var(--ox-border-subtle);border-radius:var(--ox-radius-lg);gap:4px;min-width:0;padding:12px;display:grid}.ox-kpi span,.ox-kpi small{color:var(--ox-text-muted)}.ox-kpi strong{color:var(--ox-text-strong);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:22px;line-height:30px}.ox-kpi--success{border-color:color-mix(in srgb, var(--ox-success), transparent 65%)}.ox-kpi--warning{border-color:color-mix(in srgb, var(--ox-warning), transparent 55%)}.ox-kpi--danger{border-color:color-mix(in srgb, var(--ox-danger), transparent 60%)}.ox-kpi--stale{border-color:color-mix(in srgb, var(--ox-stale), transparent 60%)}.ox-empty{background:var(--ox-surface-0);border:1px dashed var(--ox-border-strong);border-radius:var(--ox-radius-lg);gap:12px;padding:24px;display:grid}.ox-field{color:var(--ox-text-strong);gap:6px;font-weight:650;display:grid}.ox-field input,.ox-field select,.ox-field textarea{border:1px solid var(--ox-border-subtle);border-radius:var(--ox-radius-md);color:var(--ox-text-default);width:100%;min-height:40px;padding:8px 10px}.ox-field small{color:var(--ox-text-muted);font-weight:400}.ox-field strong{color:var(--ox-danger);font-size:13px}.ox-dialog{z-index:50;background:#0f172a59;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.ox-dialog-panel{background:var(--ox-surface-0);border-radius:var(--ox-radius-lg);width:min(100%,640px);max-width:640px;padding:20px;box-shadow:0 22px 70px #0f172a47}.ox-table-wrap{border:1px solid var(--ox-border-subtle);border-radius:var(--ox-radius-lg);overflow-x:auto}.ox-table{background:var(--ox-surface-0);border-collapse:collapse;width:100%;min-width:720px}.ox-table caption{border-bottom:1px solid var(--ox-border-subtle);color:var(--ox-text-muted);text-align:left;padding:10px 12px}.ox-table th,.ox-table td{border-bottom:1px solid var(--ox-border-subtle);text-align:left;vertical-align:top;padding:10px 12px}.ox-table th{color:var(--ox-text-muted);font-size:12px;font-weight:700}.ox-table td{color:var(--ox-text-default);font-size:14px}.ox-tabs{border-bottom:1px solid var(--ox-border-subtle);gap:4px;display:flex;overflow-x:auto}.ox-tab{color:var(--ox-text-muted);white-space:nowrap;border-bottom:3px solid #0000;padding:10px 12px;font-weight:650;text-decoration:none}.ox-tab--active{border-bottom-color:var(--ox-brand);color:var(--ox-text-strong)}@media (max-width:720px){.ox-page-header,.ox-card-header{display:grid}.ox-card-action,.ox-page-action{justify-content:flex-start}}
.auth-page{place-items:center;min-height:100dvh;padding:24px;display:grid}.auth-panel{gap:18px;width:100%;max-width:440px;display:grid}.auth-form{gap:14px;display:grid}.auth-help{color:var(--ox-text-muted);margin:0;font-size:13px;line-height:20px}.app-shell{grid-template-columns:260px minmax(0,1fr);min-height:100dvh;display:grid}.app-sidebar{background:var(--ox-surface-0);border-right:1px solid var(--ox-border-subtle);flex-direction:column;gap:20px;padding:18px;display:flex}.app-brand{color:var(--ox-text-strong);font-weight:800;text-decoration:none}.app-context{border:1px solid var(--ox-border-subtle);border-radius:var(--ox-radius-lg);gap:4px;padding:12px;display:grid}.app-context span,.app-user span{color:var(--ox-text-muted);font-size:12px}.app-context strong,.app-user strong{color:var(--ox-text-strong)}.app-nav{gap:4px;display:grid}.app-nav a{border-radius:var(--ox-radius-md);color:var(--ox-text-default);padding:9px 10px;font-weight:650;text-decoration:none}.app-nav a[aria-current=page],.app-nav a:hover{background:var(--ox-brand-soft);color:var(--ox-text-strong)}.app-user{gap:8px;margin-top:auto;display:grid}.app-main{gap:20px;padding:28px;display:grid}.grid{gap:16px;display:grid}.grid--kpi{grid-template-columns:repeat(4,minmax(0,1fr))}.grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.stack{gap:12px;display:grid}.inline{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.muted{color:var(--ox-text-muted)}.metric-number{font-variant-numeric:tabular-nums}.danger-text{color:var(--ox-danger)}@media (max-width:960px){.app-shell{grid-template-columns:1fr}.app-sidebar{border-bottom:1px solid var(--ox-border-subtle);border-right:0}.app-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.app-main{padding:20px}.grid--kpi,.grid--three,.grid--two{grid-template-columns:1fr}}
