:root{--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--brand-50:#edf8f8;--brand-100:#d7efef;--brand-200:#b4e0e0;--brand-300:#84c9ca;--brand-400:#54aeaf;--brand-500:#0f5d5e;--brand-600:#0d4f50;--brand-700:#0a4041;--brand-800:#082f30;--brand-900:#051e1f;--dark-0:#02060b;--dark-50:#0a1018;--dark-100:#111823;--dark-200:#18222e;--dark-300:#223040;--dark-400:#314357;--dark-500:#4a5d74;--dark-600:#70839b;--dark-700:#9aabbd;--dark-800:#c6d0db;--dark-900:#ecf1f5;--intent-allow-50:#edf8f1;--intent-allow-500:#1f8f52;--intent-allow-700:#16663a;--intent-block-50:#fef0ef;--intent-block-500:#cf3d2f;--intent-block-700:#93261e;--intent-warn-50:#fff7e6;--intent-warn-500:#c88a14;--intent-warn-700:#8e5f0f;--bg:var(--dark-50);--bg-accent:#081017;--surface:#111823d6;--surface-strong:#18222ef2;--surface-muted:#223040b8;--border:#c6d0db1f;--border-strong:#c6d0db33;--text:var(--dark-900);--muted:var(--dark-700);--muted-strong:var(--dark-800);--shadow-color:2, 6, 11;--dark-bg:var(--dark-50);--dark-surface:#111823eb;--dark-surface-strong:#18222ef5;--dark-surface-muted:#223040cc;--dark-border:#c6d0db24;--dark-border-strong:#c6d0db3d;--dark-text:var(--dark-900);--dark-muted:var(--dark-700);--accent:var(--brand-400);--accent-strong:var(--brand-300);--accent-soft:#0f5d5e2e;--accent-ink:#f6fbfb;--allow-color:var(--intent-allow-500);--allow-bg:#1f8f5229;--block-color:var(--intent-block-500);--block-bg:#cf3d2f29;--warn-color:var(--intent-warn-500);--warn-bg:#c88a1429;--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"IBM Plex Sans", var(--font-sans);--text-xs:.8125rem;--text-sm:.9375rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.375rem;--text-5xl:3rem;--text-6xl:3.875rem;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-heavy:800;--lh-tight:1.05;--lh-snug:1.2;--lh-body:1.6;--lh-loose:1.75;--ls-tight:-.04em;--ls-display:-.06em;--ls-wide:.08em;--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-14:3.5rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--radius-xs:.5rem;--radius-sm:.75rem;--radius-md:1rem;--radius-lg:1.25rem;--radius-xl:1.5rem;--radius-2xl:2rem;--radius-pill:999rem;--shadow-sm:0 1px 2px rgba(var(--shadow-color), .16), 0 10px 28px rgba(var(--shadow-color), .18);--shadow-md:0 2px 8px rgba(var(--shadow-color), .2), 0 18px 40px rgba(var(--shadow-color), .24);--shadow-lg:0 12px 30px rgba(var(--shadow-color), .26), 0 36px 80px rgba(var(--shadow-color), .28);--shadow-inset:inset 0 1px 0 #ffffff0a;--dur-1:.12s;--dur-2:.18s;--dur-3:.28s;--dur-4:.42s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-emphasis:cubic-bezier(.16, 1, .3, 1);--ease-decelerate:cubic-bezier(0, 0, .2, 1);--focus-ring:0 0 0 4px #0f5d5e47;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{background:var(--bg)}body{background:radial-gradient(circle at top, #0f5d5e29, transparent 28%), radial-gradient(circle at bottom right, #c6d0db14, transparent 26%), var(--bg);min-width:320px;min-height:100vh;color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}button,input,select,textarea{font:inherit}a{color:inherit}:focus-visible{box-shadow:var(--focus-ring);outline:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:var(--focus-ring)}#root{min-height:100vh}.app-shell{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{min-height:100vh;padding:var(--space-6);align-self:start;gap:var(--space-6);border-right:1px solid var(--border);box-shadow:var(--shadow-lg);background:linear-gradient(#111823f5,#0a1018eb);flex-direction:column;display:flex;position:sticky;top:0}.brand{align-items:center;gap:var(--space-3);color:var(--text);text-decoration:none;display:flex}.brand-mark{width:42px;height:42px;box-shadow:var(--shadow-sm);background:linear-gradient(#0f5d5e47,#0f5d5e1f);border:1px solid #54aeaf47;border-radius:14px;place-items:center;display:grid}.brand-text{gap:.1rem;display:grid}.brand-name{font-size:var(--text-lg);font-weight:var(--weight-bold);letter-spacing:var(--ls-tight)}.brand-tag{color:var(--muted);font-size:var(--text-xs);letter-spacing:var(--ls-wide);text-transform:uppercase}.api-panel,.card,.state-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.api-panel{padding:var(--space-5)}.panel-label,.field-label,.panel-help,.page-note,.state-panel,.empty-state,.error-state{color:var(--muted)}.panel-label{text-transform:uppercase;letter-spacing:var(--ls-wide);font-size:var(--text-xs)}.connection-state{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);color:var(--accent-strong);font-weight:var(--weight-semibold);background:#0f5d5e24;display:inline-flex}.connection-dot{background:var(--accent);border-radius:50%;width:.55rem;height:.55rem;box-shadow:0 0 0 4px #0f5d5e29}.panel-help,.page-note{line-height:var(--lh-body)}.panel-help{font-size:var(--text-sm);word-break:break-word}.nav{gap:var(--space-2);display:grid}.nav-link{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);color:var(--muted);transition:background-color var(--dur-2) var(--ease-standard), color var(--dur-2) var(--ease-standard), transform var(--dur-2) var(--ease-standard);text-decoration:none;display:flex}.nav-link:hover{color:var(--text);background:#c6d0db0d}.nav-link.active{color:var(--accent-strong);background:#0f5d5e29;border:1px solid #54aeaf29}.main-content{padding:clamp(var(--space-6), 4vw, var(--space-12));overflow:auto}.state-panel{gap:var(--space-5);align-items:start;display:grid}.state-panel-head{gap:var(--space-3);display:grid}.state-grid{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.skeleton-card{height:5.75rem}.table-skeleton-wrap{gap:var(--space-3);display:grid}.table-skeleton-head,.table-skeleton-row{gap:var(--space-3);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.table-skeleton-row{padding:var(--space-4) 0;border-bottom:1px solid var(--border)}.state-title{color:var(--text);font-size:var(--text-xl);margin:0}.state-copy{color:var(--muted);line-height:var(--lh-body);margin:0}.state-panel-empty,.state-panel-error{justify-items:start}.state-icon{border-radius:999px;place-items:center;width:2.5rem;height:2.5rem;display:grid}.state-icon.empty{color:var(--accent-strong);background:#0f5d5e1f}.state-icon.error{color:#ffd2cd;background:#cf3d2f1f}.state-link-button,.state-button{text-decoration:none}.state-snippet{width:100%;padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--border);color:var(--text);font-size:var(--text-sm);background:#02060b80;margin:0;line-height:1.5;overflow:auto}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-6);margin-bottom:var(--space-6);display:flex}.page-title{font-size:clamp(var(--text-3xl), 3vw, var(--text-5xl));line-height:var(--lh-tight);letter-spacing:var(--ls-display);margin:0}.page-note{margin:var(--space-3) 0 0;max-width:72ch}.card{padding:var(--space-5)}.grid-3{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.metric-label{color:var(--muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--ls-wide);margin-bottom:var(--space-2)}.metric-value{color:var(--text);font-size:var(--text-4xl);font-weight:var(--weight-heavy);letter-spacing:var(--ls-tight)}.metric-small{font-size:var(--text-md);font-weight:var(--weight-semibold);line-height:var(--lh-body)}.table-container{border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);text-align:left}th{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--ls-wide);color:var(--muted);background:#ffffff05}td{color:var(--text)}tbody tr:hover{background:#0f5d5e0d}.pill,.status-pill{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);color:var(--accent-strong);font-size:var(--text-xs);font-weight:var(--weight-semibold);background:#0f5d5e1f;border:1px solid #54aeaf38;display:inline-flex}.status-pill.allow,.status-pill.warn,.status-pill.block{border-width:1px}.status-pill.allow{color:var(--allow-color);background:var(--allow-bg);border-color:#1f8f5252}.status-pill.warn{color:var(--warn-color);background:var(--warn-bg);border-color:#c88a1452}.status-pill.block{color:var(--block-color);background:var(--block-bg);border-color:#cf3d2f52}.button-row,.connect-form{gap:var(--space-3);display:grid}.primary-button,.secondary-button{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-lg);cursor:pointer;min-height:2.75rem;transition:transform var(--dur-2) var(--ease-standard), background-color var(--dur-2) var(--ease-standard), border-color var(--dur-2) var(--ease-standard), color var(--dur-2) var(--ease-standard);border:1px solid #0000;display:inline-flex}.primary-button{color:#071113;background:linear-gradient(180deg, var(--accent), var(--brand-600));box-shadow:var(--shadow-sm);border-color:#54aeaf52;padding:.8rem 1rem}.secondary-button{color:var(--text);border-color:var(--border);background:#c6d0db0a;padding:.75rem 1rem}.primary-button:hover,.secondary-button:hover{transform:translateY(-1px)}.primary-button:disabled{opacity:.72;cursor:progress;transform:none}.text-input{border-radius:var(--radius-lg);border:1px solid var(--border);width:100%;color:var(--text);background:#02060b59;padding:.82rem .95rem}.text-input::placeholder{color:var(--muted)}.text-input:focus-visible{border-color:#54aeaf80}.connect-shell{min-height:100vh;padding:var(--space-6);background:radial-gradient(circle at top, #0f5d5e33, transparent 30%), radial-gradient(circle at bottom right, #c6d0db14, transparent 24%), var(--bg);place-items:center;display:grid}.connect-card{width:min(620px,100%);padding:clamp(var(--space-6), 4vw, var(--space-10))}.connect-copy h1{margin:0 0 var(--space-2);font-size:clamp(var(--text-3xl), 4vw, var(--text-5xl))}.connect-copy p{margin:0 0 var(--space-6);color:var(--muted);line-height:var(--lh-body)}.connect-brand{margin-bottom:var(--space-5)}.status-message{margin-top:var(--space-3);font-size:var(--text-sm)}.status-message.success{color:var(--allow-color)}.status-message.error{color:var(--block-color)}.status-message.loading{color:var(--accent-strong)}.state-panel,.empty-state,.error-state{padding:var(--space-6)}.error-state{color:#ffd2cd;border-color:#cf3d2f52}.empty-state{gap:var(--space-3);place-items:start;min-height:10rem;display:grid}.skeleton{border-radius:var(--radius-md);background:#c6d0db14;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000,#ffffff14,#0000);animation:1.35s infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}.skeleton-line{height:.95rem;margin-bottom:var(--space-3)}.skeleton-line.wide{width:72%}.skeleton-line.med{width:52%}.skeleton-line.narrow{width:32%}.skeleton-block{height:8rem}.loading-inline{align-items:center;gap:var(--space-2);display:inline-flex}.spin{animation:1s linear infinite spin}.header-actions{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.back-link{color:var(--muted);text-decoration:none}.back-link:hover{color:var(--text)}.detail-grid{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.metric-bars{gap:var(--space-4);display:grid}.metric-bar-group{gap:var(--space-2);display:grid}.metric-bar-head{justify-content:space-between;gap:var(--space-4);color:var(--muted);display:flex}.metric-bar{border-radius:var(--radius-pill);background:#c6d0db14;height:10px;overflow:hidden}.metric-bar-fill{border-radius:inherit;height:100%;display:block}.metric-bar-allow{background:linear-gradient(90deg,#1f8f52e6,#1f8f5280)}.metric-bar-block{background:linear-gradient(90deg,#cf3d2fe6,#cf3d2f80)}.metric-bar-degraded{background:linear-gradient(90deg,#c88a14e6,#c88a1480)}.spend-bar{align-items:center;gap:var(--space-4);width:100%;display:flex}.spend-track{border-radius:var(--radius-pill);background:#c6d0db14;flex:1;height:10px;overflow:hidden}.spend-fill{border-radius:inherit;height:100%;transition:width var(--dur-3) var(--ease-standard)}.spend-fill.accent{background:linear-gradient(90deg,#0f5d5ef2,#54aeafcc)}.spend-fill.block{background:linear-gradient(90deg,#cf3d2ff2,#cf3d2fb3)}.spend-value{white-space:nowrap;color:var(--text);font-size:var(--text-sm)}.spend-value.block{color:var(--block-color)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{transform:translate(100%)}}@media (width<=960px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--border);min-height:auto;position:static}.nav{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=768px){.main-content{padding:var(--space-4)}.grid-3,.detail-grid,.state-grid,.nav{grid-template-columns:1fr}.page-header{flex-direction:column}.sidebar{padding:var(--space-4)}.nav{grid-template-columns:1fr}}@media (width<=560px){.table-container{border-radius:var(--radius-lg)}th,td{padding:var(--space-3) var(--space-4)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.skeleton:after{animation:none}}
