:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#0f172a;background:#f7faff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button{font:inherit}.center-screen{color:#64748b;background:#f7faff;place-items:center;min-height:100vh;display:grid}.center-screen.error{color:#be123c}.dashboard-ws-connect-banner{color:#7f1d1d;background:#fee2e2f2;border-bottom:1px solid #be123c40;justify-content:space-between;align-items:flex-start;gap:1rem;margin:0;padding:.65rem 1rem;font-size:.875rem;line-height:1.4;display:flex}.dashboard-ws-connect-banner p{flex:1;margin:0}.dashboard-ws-connect-banner-dismiss{color:#7f1d1d;cursor:pointer;background:#fff;border:1px solid #7f1d1d59;border-radius:.375rem;flex-shrink:0;padding:.25rem .6rem}.dashboard-ws-connect-banner-dismiss:hover{background:#fef2f2}.dashboard-shell>.dashboard-ws-connect-banner--overview-slot{text-align:center;grid-column:1/-1;justify-content:center;padding:1rem 1.25rem;font-size:clamp(1.15rem,2.4vw,1.45rem);font-weight:600;line-height:1.45}.dashboard-shell>.dashboard-ws-connect-banner--overview-slot p{flex:0 auto;max-width:86rem}.dashboard-shell[data-theme=dark]>.dashboard-ws-connect-banner--overview-slot{color:#fecaca;background:#7f1d1d59;border-bottom-color:#f8717159}.dashboard-shell{--bg:#f7faff;--bg-soft:#eef6ff;--panel:#ffffffe0;--panel-solid:#fff;--border:#e2e8f0f2;--text:#0f172a;--muted:#64748b;--brand:#2a7bff;--brand-strong:#0b4bd3;--shadow:0 24px 70px #0f172a1a;--grid:#0f172a0e;--chart-grid:#94a3b840;--chart-primary:#2a7bff;--chart-secondary:#f59e0b;--chart-tertiary:#84cc16;--success:#18a957;--danger:#e5484d;background:radial-gradient(48rem 26rem at 10% -10%, #2a7bff29, transparent 62%), radial-gradient(38rem 22rem at 92% 2%, #081f4a14, transparent 66%), linear-gradient(180deg, #fbfdff 0%, var(--bg) 46%, #eef5ff 100%);height:100vh;min-height:0;color:var(--text);grid-template-rows:auto minmax(0,1fr);grid-template-columns:13.5rem minmax(0,1fr);gap:0;padding:3px 0 0;display:grid;overflow:hidden}.dashboard-shell[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#07111f;--bg-soft:#0d1b31;--panel:#0b1424db;--panel-solid:#0f1a2d;--border:#5b6f8f57;--text:#cbd5e1;--muted:#8fa2bd;--brand:#67a4ff;--brand-strong:#2a7bff;--shadow:0 24px 80px #00000057;--grid:#ffffff0e;--chart-grid:#94a3b833;--chart-primary:#67a4ff;--chart-secondary:#fbbf24;--chart-tertiary:#a3e635;--success:#34d399;--danger:#fb7185;background:radial-gradient(46rem 26rem at 12% -10%,#2a7bff40,#0000 62%),radial-gradient(42rem 24rem at 90% 0,#67a4ff21,#0000 66%),linear-gradient(#08111f 0%,#07111f 50%,#0b1728 100%)}.dashboard-embed-shell{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#07111f;--bg-soft:#0d1b31;--panel:#0b1424db;--panel-solid:#0f1a2d;--border:#5b6f8f57;--text:#cbd5e1;--muted:#8fa2bd;--brand:#67a4ff;--brand-strong:#2a7bff;--shadow:0 24px 80px #00000057;--grid:#ffffff0e;--chart-grid:#94a3b833;--chart-primary:#67a4ff;--chart-secondary:#fbbf24;--chart-tertiary:#a3e635;--success:#34d399;--danger:#fb7185;height:100vh;min-height:0;color:var(--text);background:#07111f;padding:0;overflow:hidden}.dashboard-embed-shell[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7faff;--bg-soft:#eef6ff;--panel:#ffffffe0;--panel-solid:#fff;--border:#e2e8f0f2;--text:#0f172a;--muted:#64748b;--brand:#2a7bff;--brand-strong:#0b4bd3;--shadow:0 24px 70px #0f172a1a;--grid:#0f172a0e;--chart-grid:#94a3b840;--chart-primary:#2a7bff;--chart-secondary:#f59e0b;--chart-tertiary:#84cc16;--success:#18a957;--danger:#e5484d;background:radial-gradient(48rem 26rem at 10% -10%, #2a7bff29, transparent 62%), radial-gradient(38rem 22rem at 92% 2%, #081f4a14, transparent 66%), linear-gradient(180deg, #fbfdff 0%, var(--bg) 46%, #eef5ff 100%);color:var(--text)}.gateway-embed-page{min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.gateway-embed-panel{border:1px solid var(--border);background:var(--panel);width:100%;min-width:0;min-height:0;box-shadow:var(--shadow);border-radius:16px;overflow:hidden}.gateway-select-warning.embed{margin:8px 10px 0}.dashboard-embed-shell .gateway-command-tab{grid-template-columns:9rem minmax(0,1fr);gap:2px}.dashboard-embed-shell .command-button-panel{align-items:flex-start;padding-right:0}.dashboard-embed-shell .command-button-panel>button{text-align:left;width:9rem;min-height:2.3rem;padding:7px 10px}.dashboard-embed-shell .command-log-panel{min-width:0}.dashboard-topbar,.dashboard-sidebar,.dashboard-content{border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.dashboard-topbar{border-radius:18px 18px 0 0;grid-column:1/-1;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;min-height:48px;padding:6px 10px;display:grid}.dashboard-sidebar{border-right:0;border-radius:0 0 0 24px;flex-direction:column;min-height:0;padding:14px;display:flex}.dashboard-logo{color:var(--text);letter-spacing:-.03em;align-items:center;gap:8px;font-size:15px;font-weight:900;text-decoration:none;display:inline-flex}.dashboard-logo span span{color:var(--brand)}.dashboard-logo-mark{border:1px solid var(--border);background:var(--panel-solid);border-radius:11px;place-items:center;width:34px;height:34px;display:grid;overflow:hidden;box-shadow:0 10px 30px #2a7bff1f}.dashboard-logo-mark img{width:30px;height:30px}.breadcrumb-nav{min-width:0;color:var(--muted);align-items:center;gap:4px;font-size:12px;font-weight:800;display:inline-flex}.breadcrumb-nav button{min-width:0;color:var(--muted);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;padding:5px 6px;font-size:12px;font-weight:800;overflow:hidden}.breadcrumb-nav button:hover,.breadcrumb-nav button.current{color:var(--text)}.header-user{border:1px solid var(--border);background:var(--panel-solid);color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:7px 9px;font-size:12px;font-weight:800;display:inline-flex}.sidebar-nav{gap:10px;margin-top:0;display:grid}.sidebar-bottom{gap:10px;margin-top:auto;display:grid}.sidebar-button,.user-pill,.theme-option{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:15px;align-items:center;gap:10px;padding:11px 12px;font-family:Ubuntu,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;font-weight:500;display:inline-flex}.sidebar-button{cursor:pointer;text-align:left;width:100%;transition:background .16s,border-color .16s,color .16s,transform .16s}.sidebar-button:hover,.sidebar-button.active{color:var(--brand-strong);background:linear-gradient(135deg,#2a7bff1f,#2a7bff09);border-color:#2a7bff33;transform:translateY(-1px)}.dashboard-shell[data-theme=dark] .sidebar-button:hover,.dashboard-shell[data-theme=dark] .sidebar-button.active{color:#bfdbfe}.user-pill{border-color:var(--border);background:var(--panel-solid);color:var(--text)}.dashboard-content{background:var(--panel);border-radius:0 0 24px;min-height:0;padding:10px 14px;position:relative;overflow:auto}.blank-panel,.settings-card{max-width:52rem}.panel-kicker{width:fit-content;color:var(--brand-strong);letter-spacing:.12em;text-transform:uppercase;background:#2a7bff17;border:1px solid #2a7bff2e;border-radius:999px;margin:0;padding:5px 9px;font-size:10px;font-weight:900;display:inline-flex}.dashboard-shell[data-theme=dark] .panel-kicker{color:#bfdbfe}.blank-panel h1,.settings-card h2{color:var(--text);letter-spacing:-.06em;margin:18px 0 0;font-size:clamp(34px,7vw,72px);line-height:.94}.settings-card h2{font-size:clamp(30px,5vw,54px)}.panel-copy{max-width:42rem;color:var(--muted);margin:18px 0 0;font-size:clamp(15px,1.8vw,19px);line-height:1.7}.panel-copy strong{color:var(--text)}.session-chip{border:1px solid var(--border);background:var(--panel-solid);color:var(--muted);border-radius:999px;align-items:center;gap:12px;margin-top:28px;padding:11px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;display:inline-flex}.session-chip strong{color:var(--text)}.overview-page{grid-template-rows:auto auto minmax(0,1fr);gap:10px;min-height:100%;display:grid}.overview-page .recharts-wrapper:focus,.overview-page .recharts-wrapper:focus-visible,.overview-page .recharts-responsive-container:focus,.overview-page .recharts-responsive-container:focus-visible,.overview-page .recharts-surface:focus,.overview-page .recharts-surface:focus-visible{outline:none!important}.overview-hero{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.overview-hero h1{color:var(--text);letter-spacing:-.045em;margin:7px 0 0;font-size:clamp(20px,2.8vw,34px);line-height:1}.overview-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.overview-card,.overview-panel{border:1px solid var(--border);background:var(--panel-solid);border-radius:16px;min-width:0;overflow:hidden;box-shadow:0 12px 30px #0f172a12}.dashboard-shell[data-theme=dark] .overview-card,.dashboard-shell[data-theme=dark] .overview-panel{box-shadow:0 18px 48px #00000038}.overview-card-head{border-bottom:1px solid var(--border);color:#1e40af;background:radial-gradient(18rem 8rem at 90% -40%,#ffffff94,#0000 60%),linear-gradient(135deg,#dbeafe,#bae6fd 58%,#bfdbfe);justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;display:flex}.dashboard-shell[data-theme=dark] .overview-card-head{color:#bfdbfe;background:radial-gradient(18rem 8rem at 90% -40%,#bae6fd1a,#0000 60%),linear-gradient(135deg,#0f172a,#1e3a8a 58%,#155e75)}.overview-card-head h2{color:inherit;letter-spacing:-.01em;margin:0;font-size:15px}.overview-card-head span,.overview-card-head strong{color:color-mix(in srgb, currentColor 72%, transparent);font-size:9px;font-weight:800}.overview-card-head strong{color:inherit;white-space:nowrap;background:#ffffff75;border-radius:999px;padding:3px 6px;font-size:15px}.dashboard-shell[data-theme=dark] .overview-card-head strong{background:#ffffff14}.dashboard-shell[data-theme=dark] .gateway-list-item.selected,.dashboard-shell[data-theme=dark] .meter-details-button,.dashboard-shell[data-theme=dark] .gateway-list-item.selected strong,.dashboard-shell[data-theme=dark] .gateway-list-item.selected span,.dashboard-shell[data-theme=dark] .gateway-list-item.selected small{color:#dbeafe}.overview-metrics{border-bottom:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.overview-metric{text-align:center;gap:1px;padding:9px 8px;display:grid}.overview-metric+.overview-metric{border-left:1px solid var(--border)}.overview-metric span,.overview-metric small{color:var(--muted);font-size:12px;font-weight:700}.overview-metric strong{color:var(--text);letter-spacing:-.04em;font-size:clamp(20px,2vw,28px)}.overview-metric strong.good{color:var(--success)}.overview-metric strong.warn{color:var(--chart-secondary)}.overview-metric strong.info{color:var(--brand-strong)}.status-progress{background:#25a83638;border-radius:999px;height:4px;margin:7px 10px 0;overflow:hidden}.status-progress span{border-radius:inherit;background:#22c55e;height:100%;display:block}.overview-lower-grid{grid-template-columns:minmax(22rem,.95fr) minmax(28rem,1.05fr);align-items:stretch;gap:10px;height:max(360px,54vh);min-height:0;display:grid;overflow:hidden}.overview-right-stack{grid-template-rows:minmax(0,1.75fr) minmax(0,1fr);gap:5px;min-height:100%;display:grid}.overview-panel{padding:12px}.overview-panel-title{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.overview-panel-title p{color:var(--muted);letter-spacing:.11em;text-transform:uppercase;margin:0;font-size:9px;font-weight:900}.overview-panel-title h2{color:var(--text);letter-spacing:-.03em;margin:3px 0 0;font-size:14px}.overview-panel-title>span{color:var(--brand-strong);background:#2a7bff14;border:1px solid #2a7bff29;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:800}.message-stream-panel{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.message-stream-panel .overview-panel-title{text-align:center;justify-content:center}.message-stream-panel .overview-panel-title>span{position:absolute;right:12px}.message-stream-panel .overview-panel-title p.message-stream-heading{color:var(--text);letter-spacing:-.02em;text-transform:none;font-family:Ubuntu,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;font-weight:500}.message-stream-panel .overview-panel-title p.message-stream-help{max-width:52rem;color:var(--muted);letter-spacing:0;text-transform:none;margin-top:6px;margin-left:auto;margin-right:auto;font-family:Ubuntu,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;font-weight:400;line-height:1.45}.message-stream-panel .overview-panel-title p.message-stream-help strong{color:color-mix(in srgb, var(--text) 72%, var(--muted));font-weight:600}.message-stream-panel .overview-panel-title p.message-stream-help code{background:color-mix(in srgb, var(--panel-solid) 55%, #0f172a);color:color-mix(in srgb, var(--text) 88%, var(--muted));border-radius:4px;padding:2px 5px;font-size:10px;font-weight:600}.message-header{border-bottom:1px solid var(--border);color:color-mix(in srgb, var(--text) 74%, var(--muted));letter-spacing:.02em;text-transform:none;grid-template-columns:18px 124px 64px minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:8px 14px;min-height:28px;padding:5px 0 7px;font-family:Ubuntu,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:500;display:grid}.message-list{scrollbar-width:thin;scrollbar-color:#94a3b88c transparent;flex:1;align-content:start;min-height:0;padding-right:4px;display:grid;overflow:hidden auto}.message-list::-webkit-scrollbar{width:6px}.message-list::-webkit-scrollbar-track{background:0 0}.message-list::-webkit-scrollbar-thumb{background:#94a3b873;border-radius:999px}.message-row{border-bottom:1px solid var(--border);color:var(--muted);background:0 0;grid-template-columns:18px 124px 64px minmax(0,.95fr) minmax(0,1.05fr);align-items:start;gap:8px 14px;padding:6px 0;font-size:11px;display:grid}.message-direction{color:#fff;border-radius:999px;place-items:center;width:16px;height:16px;display:grid}.message-direction.tx{background:var(--success)}.message-direction.rx{background:var(--danger)}.message-row .message-direction,.message-row time,.message-row>.message-socket{align-self:center}.message-row time{color:var(--text);font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.message-row strong{overflow-wrap:anywhere;word-break:break-word;min-width:0;color:var(--text);font-size:11px;font-weight:800}.message-header>span:nth-child(4),.message-row>strong{padding-left:10px}.message-socket{overflow-wrap:anywhere;word-break:break-word;letter-spacing:.04em;text-transform:uppercase;min-width:0;color:color-mix(in srgb, var(--muted) 92%, var(--text));font-size:11px;font-weight:800}.message-activity{overflow-wrap:anywhere;word-break:break-word;min-width:0;color:var(--brand-strong);white-space:normal;background:#2a7bff1a;border-radius:10px;padding:5px;font-size:14px;font-weight:600;line-height:1.35}.throughput-panel{flex-direction:column;min-height:100%;display:flex}.throughput-panel .overview-panel-title{text-align:center;justify-content:center;position:relative}.throughput-panel .overview-panel-title>span{color:var(--brand-strong);background:#2a7bff14;border:1px solid #2a7bff29;padding:4px 7px;font-size:12px;position:absolute;top:50%;left:0;right:auto;transform:translateY(-50%)}.throughput-panel .overview-panel-title p{color:var(--text);letter-spacing:-.02em;text-transform:none;font-size:15px}.throughput-chart{flex:1;min-height:0;margin-top:auto}.integrations-panel{min-height:100%}.integrations-panel .overview-panel-title{text-align:center;justify-content:center}.integrations-panel .overview-panel-title p{color:var(--text);letter-spacing:-.02em;text-transform:none;font-family:Ubuntu,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;font-weight:500}.integration-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.integration-card{border:1px solid var(--border);background:color-mix(in srgb, var(--panel-solid) 90%, var(--bg-soft));color:var(--brand-strong);border-radius:12px;align-items:center;gap:10px;padding:10px;display:flex}.integration-card strong,.integration-card span{display:block}.integration-card strong{color:var(--text);font-size:13px}.integration-card span{color:var(--muted);margin-top:4px;font-size:10px}.integration-card span:before{background:var(--success);content:"";border-radius:999px;width:8px;height:8px;margin-right:6px;display:inline-block}.dashboard-shell[data-theme=light] .overview-page .overview-card-head,.dashboard-embed-shell[data-theme=light] .overview-page .overview-card-head{color:#f8fafc;background:radial-gradient(18rem 8rem at 92% -35%,#ffffff2e,#0000 58%),linear-gradient(135deg,#2563eb,#1d4ed8 55%,#1e40af)}.dashboard-shell[data-theme=light] .overview-page .overview-card-head span,.dashboard-shell[data-theme=light] .overview-page .overview-card-head strong,.dashboard-embed-shell[data-theme=light] .overview-page .overview-card-head span,.dashboard-embed-shell[data-theme=light] .overview-page .overview-card-head strong{color:#f8fafcc7}.dashboard-shell[data-theme=light] .overview-page .overview-card-head strong,.dashboard-embed-shell[data-theme=light] .overview-page .overview-card-head strong{color:#f1f5f9;background:#ffffff29}.dashboard-shell[data-theme=light] .overview-page .overview-panel-title>span,.dashboard-embed-shell[data-theme=light] .overview-page .overview-panel-title>span,.dashboard-shell[data-theme=light] .overview-page .throughput-panel .overview-panel-title>span,.dashboard-embed-shell[data-theme=light] .overview-page .throughput-panel .overview-panel-title>span{color:#172554;background:#1d4ed824;border:1px solid #1d4ed866}.dashboard-shell[data-theme=light] .overview-page .message-activity,.dashboard-embed-shell[data-theme=light] .overview-page .message-activity{color:#172554;background:#1d4ed829}.dashboard-shell[data-theme=light] .overview-page .integration-card,.dashboard-embed-shell[data-theme=light] .overview-page .integration-card{color:#1e40af;background:linear-gradient(#eff6fffa,#bfdbfe6b);border-color:#1d4ed847}.gateway-page{grid-template-columns:14.75rem minmax(0,1fr);gap:10px;height:100%;min-height:0;display:grid}.gateway-list-panel,.gateway-detail-panel{border:1px solid var(--border);background:var(--panel-solid);border-radius:16px;min-height:0;overflow:hidden}.gateway-list-panel{flex-direction:column;padding:10px;display:flex}.gateway-search{border:1px solid var(--border);background:color-mix(in srgb, var(--panel-solid) 88%, var(--bg-soft));color:var(--muted);border-radius:12px;align-items:center;gap:8px;padding:8px 10px;display:flex}.gateway-search input{width:100%;min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:0;font-size:12px}.gateway-list{scrollbar-width:thin;align-content:start;gap:8px;min-height:0;margin-top:10px;padding-right:4px;display:grid;overflow:auto}.gateway-select-warning{color:#b45309;background:#f59e0b1f;border:1px solid #f59e0b57;border-radius:12px;margin-top:10px;padding:9px 10px;font-size:12px;font-weight:900}.dashboard-shell[data-theme=dark] .gateway-select-warning{color:#fcd34d}.gateway-list-item{border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border-radius:13px;gap:3px;padding:10px;display:grid}.gateway-list-item:hover{background:#2a7bff14;border-color:#2a7bff57}.gateway-list-item.selected{background:linear-gradient(135deg, var(--brand-strong), var(--brand));color:#fff;border-color:#2a7bffc7;box-shadow:0 14px 30px #2a7bff38}.gateway-list-item.selected strong,.gateway-list-item.selected span,.gateway-list-item.selected small{color:#fff}.gateway-list-item strong{font-size:13px}.gateway-list-item span,.gateway-list-item small{color:var(--muted);font-size:11px}.gateway-detail-panel{flex-direction:column;display:flex}.gateway-tabs-row{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px 12px;padding:8px 10px 0;display:flex}.gateway-tabs{border-bottom:0;align-items:flex-end;gap:0;padding:0;display:flex}.gateway-log-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;padding-bottom:8px;display:flex}.gateway-log-ws-pill{color:#fbbf24;white-space:nowrap;background:#f59e0b1a;border:1px solid #f59e0b47;border-radius:8px;padding:5px 8px;font-size:10px;font-weight:700}.gateway-log-toolbar-btn{cursor:pointer;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;padding:11px 14px;font-size:18px;font-weight:600;display:inline-flex}.gateway-log-toolbar-download{color:#0369a1;background:#0ea5e924;border:1px solid #38bdf866}.gateway-log-toolbar-btn.gateway-log-toolbar-download{min-height:0;padding:5px 10px;font-family:Ubuntu,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;font-weight:500}.gateway-log-toolbar-copy{color:#15803d;background:#22c55e1a;border:1px solid #22c55e59}.gateway-log-toolbar-copy.copied{color:#166534;border-color:#86efac8c}.gateway-log-toolbar-clear{color:#b91c1c;background:#ef444414;border:1px solid #ef444452}.gateway-log-toolbar-btn:disabled{cursor:not-allowed;opacity:.5}.dashboard-shell[data-theme=dark] .gateway-log-toolbar-download,.dashboard-embed-shell[data-theme=dark] .gateway-log-toolbar-download{color:#7dd3fc}.dashboard-shell[data-theme=dark] .gateway-log-toolbar-copy,.dashboard-embed-shell[data-theme=dark] .gateway-log-toolbar-copy{color:#86efac}.dashboard-shell[data-theme=dark] .gateway-log-toolbar-clear,.dashboard-embed-shell[data-theme=dark] .gateway-log-toolbar-clear{color:#f87171}.gateway-tab-button{appearance:none;color:#1e3a8a;cursor:pointer;background:linear-gradient(#e0f2fe 0%,#bfdbfe 100%);border:1px solid #3b82f680;border-bottom:0;border-radius:12px 12px 0 0;justify-content:center;align-items:center;gap:4px;min-width:112px;padding:9px 18px;font-family:Ubuntu,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:12px;font-weight:600;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.gateway-tab-button+.gateway-tab-button{margin-left:-1px}.gateway-tab-button:hover{background:linear-gradient(#dbeafe 0%,#93c5fd 100%);border-color:#2563eb8c}.gateway-tab-button:disabled{opacity:.5}.gateway-tab-button.active{color:#f8fafc;background:#1d4ed8eb;border-color:#1e40afe0}.dashboard-shell[data-theme=dark] .gateway-tab-button,.dashboard-embed-shell[data-theme=dark] .gateway-tab-button{color:#e0f2fe;background:#7dd3fc38;border-color:#38bdf86b}.dashboard-shell[data-theme=dark] .gateway-tab-button:hover,.dashboard-embed-shell[data-theme=dark] .gateway-tab-button:hover{background:#7dd3fc57;border-color:#38bdf88c}.dashboard-shell[data-theme=dark] .gateway-tab-button.active,.dashboard-embed-shell[data-theme=dark] .gateway-tab-button.active{color:#f8fafc;background:#1e3a8ae0;border-color:#60a5fae6}.dashboard-shell[data-theme=light] .gateway-tab-button,.dashboard-embed-shell[data-theme=light] .gateway-tab-button{color:#1e3a8a;background:linear-gradient(#e0f2fe 0%,#bfdbfe 100%);border:1px solid #3b82f680;border-bottom:0}.dashboard-shell[data-theme=light] .gateway-tab-button:hover,.dashboard-embed-shell[data-theme=light] .gateway-tab-button:hover{background:linear-gradient(#dbeafe 0%,#93c5fd 100%);border-color:#2563eb8c}.dashboard-shell[data-theme=light] .gateway-tab-button.active,.dashboard-embed-shell[data-theme=light] .gateway-tab-button.active{color:#f8fafc;background:#1d4ed8eb;border-color:#1e40afe0}.gateway-tab-body{flex:1;min-height:0;padding:10px}.gateway-command-tab{grid-template-columns:15rem minmax(0,1fr);gap:10px;height:100%;min-height:0;display:grid}.command-button-panel{flex-direction:column;gap:7px;min-height:0;padding-right:4px;display:flex;overflow:auto}.command-log-persist-hint{color:#94a3b8;background:#0f172a73;border:1px solid #94a3b847;border-radius:8px;padding:6px 8px;font-size:10px;line-height:1.35}.command-dialog-actions button{color:var(--text);cursor:pointer;text-align:left;background:linear-gradient(135deg,#2a7bff24,#2a7bff0d);border:1px solid #2a7bff38;border-radius:11px;padding:9px 10px;font-family:Ubuntu,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;font-weight:500;transition:background .16s,border-color .16s}.command-button-panel>button.gateway-command-button{appearance:none;cursor:pointer;text-align:left;border-radius:11px;padding:9px 10px;font-family:Ubuntu,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;font-weight:600;transition:background .16s,border-color .16s,box-shadow .16s}.dashboard-shell[data-theme=light] .command-button-panel>button.gateway-command-button,.dashboard-embed-shell[data-theme=light] .command-button-panel>button.gateway-command-button{color:#1e40af;background:linear-gradient(135deg,#eff6fffa,#dbeafeeb);border:1px solid #2a7bff52;font-weight:500;box-shadow:0 1px 4px #2a7bff1a}.dashboard-shell[data-theme=light] .command-button-panel>button.gateway-command-button:not(:disabled):hover,.dashboard-embed-shell[data-theme=light] .command-button-panel>button.gateway-command-button:not(:disabled):hover{color:#1e3a8a;background:linear-gradient(135deg,#dbeafe,#bfdbfef2);border-color:#2a7bff7a;box-shadow:0 2px 10px #2a7bff24}.dashboard-shell[data-theme=dark] .command-button-panel>button.gateway-command-button,.dashboard-embed-shell[data-theme=dark] .command-button-panel>button.gateway-command-button{color:#e0f2fe;background:linear-gradient(135deg,#1e3a8a6b,#2563eb61);border:1px solid #38bdf852;box-shadow:0 2px 10px #0000001f}.dashboard-shell[data-theme=dark] .command-button-panel>button.gateway-command-button:not(:disabled):hover,.dashboard-embed-shell[data-theme=dark] .command-button-panel>button.gateway-command-button:not(:disabled):hover{color:#f8fafc;background:linear-gradient(135deg,#2563eb85,#3b82f66b);border-color:#38bdf87a;box-shadow:0 3px 14px #0000002e}.command-button-panel>button.gateway-command-button:disabled{cursor:not-allowed;opacity:.5}.command-log-actions-stack{flex-direction:column;align-self:stretch;gap:6px;width:100%;margin-top:10px;display:flex}.command-log-actions-stack .gateway-log-toolbar-btn{box-sizing:border-box;text-align:center;width:100%;min-height:40px;padding:11px 14px;font-size:14px}.command-log-panel{border:1px solid var(--border);background:#111827;border-radius:14px;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.command-log-title{color:#e5e7eb;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;font-size:12px;font-weight:900;display:flex}.command-log-panel pre{overflow-wrap:anywhere;word-break:break-word;color:#d1d5db;white-space:pre-wrap;scrollbar-width:thin;scrollbar-color:#94a3b866 transparent;flex:1;min-width:0;min-height:0;margin:0;padding:10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;line-height:1.45;overflow:auto}.command-log-panel pre::-webkit-scrollbar{width:4px;height:4px}.command-log-panel pre::-webkit-scrollbar-track{background:0 0}.command-log-panel pre::-webkit-scrollbar-track-piece{background:0 0}.command-log-panel pre::-webkit-scrollbar-thumb{background:#94a3b861;border-radius:999px}.command-log-panel pre::-webkit-scrollbar-thumb:hover{background:#94a3b88c}.command-log-panel pre::-webkit-scrollbar-corner{background:0 0}.command-dialog-backdrop{z-index:100;background:0 0;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.command-dialog{border:1px solid var(--border);background:var(--panel-solid);width:min(36rem,100%);max-height:min(42rem,90vh);box-shadow:var(--shadow);border-radius:18px;padding:14px;overflow:auto}.command-dialog-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.command-dialog-title strong{font-size:16px}.command-dialog-title button{color:var(--muted);cursor:pointer;background:0 0;border:0;font-weight:500}.command-dialog-title .command-cancel-button,.command-dialog-actions .command-send-button{box-sizing:border-box;cursor:pointer;text-align:center;border-radius:11px;justify-content:center;align-items:center;min-width:8rem;height:36px;min-height:36px;max-height:36px;padding:0 12px;font-family:Ubuntu,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;font-weight:500;line-height:1;display:inline-flex}.command-dialog-title .command-cancel-button{color:#f3e1e1;background:linear-gradient(135deg,#faf8f833,#e4dada14);border:1px solid #ef44443d}.command-dialog-title .command-cancel-button:hover{color:#991b1b;background:linear-gradient(135deg,#ef444447,#ef44441f);border-color:#ef444461}.command-fields{gap:9px;display:grid}.command-field{color:var(--muted);grid-template-columns:8.5rem minmax(0,1fr);align-items:center;gap:5px;font-family:Ubuntu,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:12px;font-weight:500;display:grid}.command-field.checkbox{grid-template-columns:8.5rem auto;justify-content:start;align-items:center}.command-field.no-label{grid-template-columns:minmax(0,1fr)}.command-field.wide{margin-inline:-2px}.command-field input,.command-field textarea,.command-field select{border:1px solid var(--border);background:color-mix(in srgb, var(--panel-solid) 90%, var(--bg-soft));width:100%;color:var(--text);font:inherit;border-radius:10px;padding:8px 9px;font-size:12px}.command-field input[type=checkbox]{justify-self:start;width:auto}.command-field textarea{resize:vertical;grid-column:2;min-height:16rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.command-field.no-label textarea{scrollbar-width:thin;scrollbar-color:#94a3b88c transparent;grid-column:1;min-height:25rem}.command-field.no-label textarea::-webkit-scrollbar{width:6px}.command-field.no-label textarea::-webkit-scrollbar-track{background:0 0}.command-field.no-label textarea::-webkit-scrollbar-thumb{background:#94a3b873;border-radius:999px}.command-empty-note,.command-dialog-error{color:var(--muted);margin:0;font-size:12px}.command-dialog-error{color:#dc2626;margin-top:10px;font-weight:800}.command-dialog-actions{justify-content:flex-end;margin-top:12px;display:flex}.command-dialog-actions .command-send-button{color:#50ff93;background:linear-gradient(135deg,#22c55e33,#22c55e14);border-color:#22c55e57}.command-dialog-actions .command-send-button:hover{background:linear-gradient(135deg,#046b2a47,#03b8451f);border-color:#22c55e75}.dashboard-shell[data-theme=dark] .command-dialog-actions .command-send-button{color:#86efac}.dashboard-shell[data-theme=dark] .command-dialog-title .command-cancel-button{color:#f87171}.dashboard-embed-shell[data-theme=dark] .command-dialog-actions .command-send-button{color:#86efac}.dashboard-embed-shell[data-theme=dark] .command-dialog-title .command-cancel-button{color:#f87171}.dashboard-shell[data-theme=light] .command-dialog-title .command-cancel-button,.dashboard-embed-shell[data-theme=light] .command-dialog-title .command-cancel-button{color:#991b1b;background:linear-gradient(135deg,#fee2e2fa,#fca5a58c);border:1px solid #dc26266b;font-weight:600}.dashboard-shell[data-theme=light] .command-dialog-title .command-cancel-button:hover,.dashboard-embed-shell[data-theme=light] .command-dialog-title .command-cancel-button:hover{color:#7f1d1d;background:linear-gradient(135deg,#fca5a5f2,#f871719e);border-color:#b91c1c8c}.dashboard-shell[data-theme=light] .command-dialog-actions .command-send-button,.dashboard-embed-shell[data-theme=light] .command-dialog-actions .command-send-button{color:#14532d;background:linear-gradient(135deg,#dcfce7fa,#86efac94);border:1px solid #16a34a7a;font-weight:600}.dashboard-shell[data-theme=light] .command-dialog-actions .command-send-button:hover,.dashboard-embed-shell[data-theme=light] .command-dialog-actions .command-send-button:hover{color:#052e16;background:linear-gradient(135deg,#86efaceb,#4ade80ad);border-color:#15803d94}.meters-tab{height:100%;min-height:0;overflow:auto}.meters-table{border:1px solid var(--border);border-radius:14px;min-width:min(100%,52rem);display:grid;overflow:hidden}.meters-head,.meters-row{border-bottom:1px solid var(--border);grid-template-columns:auto minmax(5.5rem,1.1fr) .75fr .85fr 1fr .65fr .65fr;align-items:center;gap:10px;padding:10px 12px;display:grid}.meters-head .meters-head-details{min-width:0}.meters-head{background:color-mix(in srgb, var(--panel-solid) 82%, var(--bg-soft));color:color-mix(in srgb, var(--text) 82%, var(--muted));text-transform:none;font-family:Ubuntu,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;font-weight:500}.meters-row{color:color-mix(in srgb, var(--text) 78%, var(--muted));font-size:12px;font-weight:700}.meters-row strong{color:var(--text);font-weight:900}.meters-row .meter-serial-link{color:var(--brand-strong)}.meter-details-button{background:linear-gradient(135deg, var(--brand-strong), var(--brand));color:#fff;cursor:pointer;white-space:nowrap;border:1px solid #2a7bffc7;border-radius:5px;justify-self:start;width:max-content;min-width:0;max-width:100%;padding:6px 10px;font-size:11px;font-weight:900;box-shadow:0 10px 22px #2a7bff2e}.meter-details-button:hover{box-shadow:0 14px 28px #2a7bff40}.meter-detail-page{scrollbar-width:thin;scrollbar-color:#94a3b861 transparent;flex-direction:column;gap:14px;height:100%;min-height:0;padding-right:4px;display:flex;overflow:auto}.meter-detail-page::-webkit-scrollbar{width:5px;height:5px}.meter-detail-page::-webkit-scrollbar-track{background:0 0}.meter-detail-page::-webkit-scrollbar-thumb{background:#94a3b861;border-radius:999px}.meter-detail-page::-webkit-scrollbar-thumb:hover{background:#64748b7a}.meter-detail-head{min-height:40px;box-shadow:none;background:0 0;border:none;border-radius:0;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:10px;padding:4px 0 10px;display:grid;position:relative}.meter-detail-head-left{justify-self:start;align-items:center;display:flex}.meter-detail-head-center{justify-self:center;min-width:0;max-width:100%}.meter-detail-head-right{pointer-events:none;justify-self:end;width:40px;min-height:1px}.meter-detail-back-button{border:1px solid var(--border);background:color-mix(in srgb, var(--panel-solid) 88%, var(--bg-soft));width:40px;height:40px;color:var(--muted);cursor:pointer;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;transition:color .15s,border-color .15s,background .15s,box-shadow .15s;display:inline-flex}.meter-detail-back-button:hover{color:var(--text);background:color-mix(in srgb, var(--panel-solid) 72%, #2a7bff24);border-color:#2a7bff61;box-shadow:0 4px 14px #2a7bff1f}.meter-detail-back-button:focus-visible{outline-offset:2px;outline:2px solid #2a7bff8c}.dashboard-shell[data-theme=dark] .meter-detail-back-button,.dashboard-embed-shell[data-theme=dark] .meter-detail-back-button{background:color-mix(in srgb, var(--panel-solid) 82%, #0f172a99);color:#e2e8f0b8;border-color:#94a3b838}.dashboard-shell[data-theme=dark] .meter-detail-back-button:hover,.dashboard-embed-shell[data-theme=dark] .meter-detail-back-button:hover{color:#f1f5f9;background:color-mix(in srgb, var(--panel-solid) 65%, #3b82f62e);border-color:#67a4ff59;box-shadow:0 4px 18px #00000059}.meter-detail-info-strip span,.meter-detail-grid span{color:var(--muted);letter-spacing:.02em;text-transform:none;font-family:Ubuntu,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:12px;font-weight:500}.meter-serial-select{align-items:center;gap:8px;min-height:30px;display:inline-flex}.meter-serial-select span{color:var(--muted);font-family:Ubuntu,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:500}.meter-serial-select select{background:color-mix(in srgb, var(--panel-solid) 90%, var(--bg-soft));min-width:11rem;color:var(--brand-strong);border:1px solid #2a7bff3d;border-radius:10px;padding:5px 9px;font-family:Ubuntu,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:500}.meter-detail-info-strip{border:1px solid var(--border);background:var(--panel-solid);border-radius:16px;grid-template-columns:16rem 10rem 7rem 7rem 7rem;justify-content:start;gap:0;min-width:0;display:grid;overflow:hidden;box-shadow:0 12px 30px #0f172a12}.dashboard-shell[data-theme=dark] .meter-detail-info-strip,.dashboard-embed-shell[data-theme=dark] .meter-detail-info-strip{box-shadow:0 18px 48px #00000038}.meter-detail-info-strip>div{min-width:0;box-shadow:none;background:0 0;border:none;border-radius:0;gap:1px;margin:0;padding:9px 10px;display:grid}.meter-detail-info-strip>div+div{border-left:1px solid var(--border)}.meter-detail-info-strip strong{color:var(--text);font-size:13px;font-weight:600}.meter-profile-empty{min-height:220px;color:var(--muted);background:#2a7bff0d;border:1px dashed #2a7bff47;border-radius:14px;place-items:center;font-family:Ubuntu,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:500;display:grid}.meter-info-pair{white-space:nowrap;grid-template-columns:3.6rem 3rem 4.4rem 1fr;align-items:center;gap:4px;display:grid!important}.meter-info-pair strong+span{margin-left:0}.meter-usage-stack{gap:10px;min-width:0;display:grid}.meter-usage-stack .meter-chart-card{min-height:280px}.meter-usage-stack .meter-chart-body{min-height:228px}.meter-detail-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-height:0;display:grid}.meter-chart-card{border:1px solid var(--border);background:var(--panel-solid);border-radius:14px;gap:8px;min-width:0;min-height:220px;padding:12px;display:grid}.meter-chart-card:focus,.meter-chart-card:focus-visible,.meter-chart-card :focus,.meter-chart-card :focus-visible{outline:none}.meter-chart-title{justify-content:flex-start;align-items:center;gap:10px;display:flex}.meter-chart-card h3{color:var(--text);letter-spacing:-.01em;margin:0;font-family:Ubuntu,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:500}.meter-chart-title button{color:var(--brand-strong);cursor:pointer;background:#2a7bff14;border:1px solid #2a7bff3d;border-radius:10px;padding:5px 14px;font-family:Ubuntu,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:500}.meter-chart-title button:hover{background:#2a7bff21;border-color:#2a7bff66}.meter-chart-body{min-height:170px}.chart-data-modal-backdrop{z-index:120;background:#f7fafff5;place-items:center;padding:4px;display:grid;position:fixed;inset:0}.chart-data-modal{border:1px solid var(--border);background:var(--panel-solid);width:min(99vw,1500px);height:min(98vh,920px);box-shadow:var(--shadow);border-radius:18px;grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden}.dashboard-shell[data-theme=dark] .chart-data-modal-backdrop{background:#07111ff5}.chart-data-modal-head{border-bottom:1px solid var(--border);justify-content:flex-start;align-items:center;gap:14px;padding:12px 14px;display:flex}.chart-data-modal-head h2{color:var(--text);margin:0;font-family:Ubuntu,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:18px;font-weight:500}.chart-data-modal-head>div{gap:10px;display:flex}.chart-data-modal-head button{cursor:pointer;text-align:center;border-radius:10px;min-width:9rem;padding:7px 13px;font-family:Ubuntu,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:12px;font-weight:500}.chart-data-download{color:#04d14f;background:#22c55e1a;border:1px solid #22c55e57}.chart-data-close{color:#f31818;background:#ef444414;border:1px solid #ef44443d}.chart-data-table-wrap{scrollbar-width:thin;scrollbar-color:#94a3b88c transparent;min-height:0;overflow:auto}.chart-data-table-wrap::-webkit-scrollbar{width:7px;height:7px}.chart-data-table-wrap::-webkit-scrollbar-track{background:0 0}.chart-data-table-wrap::-webkit-scrollbar-thumb{background:#94a3b873;border-radius:999px}.chart-data-table{border-collapse:collapse;width:100%;color:var(--text);font-family:Ubuntu,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px}.chart-data-table th,.chart-data-table td{border-bottom:1px solid var(--border);text-align:left;padding:9px 12px}.chart-data-table th{background:var(--panel-solid);color:var(--muted);font-weight:500;position:sticky;top:0}.meters-empty{color:var(--muted);padding:16px;font-size:13px}.settings-card{gap:28px;display:grid}.theme-options{flex-wrap:wrap;gap:12px;display:flex}.theme-option{border-color:var(--border);background:var(--panel-solid);cursor:pointer;min-width:9rem;color:var(--text);justify-content:center;transition:border-color .16s,box-shadow .16s,transform .16s}.theme-option:hover,.theme-option.selected{border-color:#2a7bff6b;transform:translateY(-1px);box-shadow:0 16px 34px #2a7bff29}.theme-option.selected{color:var(--brand-strong)}@media (width<=840px){.dashboard-shell{grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:1fr;padding:0}.dashboard-topbar{border-radius:0;grid-area:1/1}.dashboard-sidebar{border-right:1px solid var(--border);border-radius:0;flex-direction:row;grid-area:2/1;align-items:stretch;gap:8px;min-height:auto;padding:8px;overflow-x:auto}.dashboard-content{border-radius:0;grid-area:3/1;padding:8px}.sidebar-nav,.sidebar-bottom{gap:8px;min-width:max-content;margin-top:0;display:flex}.sidebar-button{justify-content:center;min-width:8.5rem;padding:9px 12px}.gateway-page{grid-template-columns:1fr;height:auto;min-height:100%}.gateway-list-panel{max-height:16rem}.gateway-command-tab{grid-template-columns:1fr}.dashboard-embed-shell .gateway-command-tab{grid-template-columns:9.5rem minmax(0,1fr)}.command-button-panel{max-height:19rem}.dashboard-embed-shell .command-button-panel{max-height:none}.gateway-tabs-row{overflow-x:auto}.gateway-tab-button{min-width:9rem}.overview-hero,.overview-lower-grid{grid-template-columns:1fr}.overview-hero{display:grid}.overview-cards,.integration-grid{grid-template-columns:1fr}.message-header,.message-row{grid-template-columns:16px 88px 56px minmax(0,1fr) minmax(0,1.1fr);gap:6px 12px}}
