/* VEGA Visibilidade — visual do Vega Design System (claude.ai/design, projeto a7cc03).
   Tema escuro, Poppins, ações em pílula, cards com luz de borda superior.
   Só aparência: ids, classes e textos do HTML/JS continuam os mesmos. */

/* Poppins hospedada localmente (OFL, assets/fonts/OFL.txt): a CSP só permite fontes do próprio servidor */
@font-face{font-family:"Poppins";font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/poppins-latin-300.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/poppins-latin-400.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/poppins-latin-500.woff2) format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/poppins-latin-600.woff2) format("woff2")}

/* ---------- Tokens ---------- */
:root{
  color-scheme:dark;
  --coral:#fc5c34;--coral-400:#fd7a58;--coral-a12:rgba(252,92,52,.12);--coral-a20:rgba(252,92,52,.2);--coral-a35:rgba(252,92,52,.35);
  --blue:#2861eb;--blue-400:#5584f0;--mint:#85d1b1;--amber:#f5a524;
  --surface-page:#000;--surface-shell:#050505;--surface-sunken:#0a0a0b;--surface-card:#0f0f0f;--surface-card-hover:#141415;
  --surface-raised:#1a1a1c;--surface-input:#141415;--surface-input-focus:#1a1a1c;--surface-track:#202023;
  --surface-inverse:#f9f9f8;--surface-glass:rgba(5,5,5,.72);
  --text-primary:#f9f9f8;--text-secondary:#b3b3ba;--text-tertiary:#8a8a93;--text-disabled:#43434a;--text-inverse:#0f0f0f;
  --border-subtle:rgba(249,249,248,.06);--border-default:rgba(249,249,248,.1);--border-strong:rgba(249,249,248,.18);
  --status-critical:#fc5c34;--status-critical-bg:rgba(252,92,52,.14);
  --status-medium:#f5a524;--status-medium-bg:rgba(245,165,36,.14);
  --status-success:#85d1b1;--status-success-bg:rgba(133,209,177,.14);
  --rim-top:inset 0 1px 0 rgba(249,249,248,.06);
  --elev-card:var(--rim-top),0 2px 8px rgba(0,0,0,.45);
  --elev-popover:inset 0 0 0 1px rgba(249,249,248,.12),0 18px 48px rgba(0,0,0,.6);
  --elev-modal:inset 0 0 0 1px rgba(249,249,248,.12),0 32px 80px rgba(0,0,0,.7);
  --ring-focus:0 0 0 2px #000,0 0 0 4px rgba(252,92,52,.6);
  --glow-neutral:radial-gradient(120% 90% at 50% 130%,rgba(249,249,248,.07) 0%,rgba(249,249,248,0) 70%);
  --glow-info:radial-gradient(120% 90% at 50% 130%,rgba(40,97,235,.26) 0%,rgba(40,97,235,0) 70%);
  --r-input:8px;--r-card:12px;--r-card-lg:16px;--r-panel:20px;--r-full:999px;
  --ease:cubic-bezier(.2,0,0,1);--ease-out:cubic-bezier(.16,1,.3,1);
  --t-hover:background-color 140ms var(--ease),border-color 140ms var(--ease),color 140ms var(--ease);
  --font:"Poppins","Helvetica Neue",Helvetica,Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;
  --sidebar-w:248px;--topbar-h:64px;
  /* nomes antigos, mantidos para qualquer uso fora deste arquivo */
  --bg:var(--surface-page);--surface:var(--surface-card);--border:var(--border-subtle);--muted:var(--text-tertiary);--text:var(--text-primary);--orange:var(--coral)
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;background:var(--surface-page);color:var(--text-primary);font:400 14px/1.45 var(--font);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
/* light sweep da marca: uma vez, canto superior direito, sumindo para baixo */
body::before{content:'';position:fixed;top:0;right:0;width:62%;height:420px;pointer-events:none;z-index:0;
  background:radial-gradient(60% 70% at 85% 0%,rgba(249,249,248,.10) 0%,rgba(249,249,248,0) 70%),radial-gradient(40% 40% at 100% 0%,rgba(249,249,248,.08) 0%,rgba(249,249,248,0) 70%)}
button,input,select,textarea{font:inherit;letter-spacing:inherit;color:inherit}
button{cursor:pointer}
button:disabled{opacity:.4;cursor:not-allowed}
a{color:inherit;text-decoration:none;transition:var(--t-hover)}
.hidden,[hidden]{display:none!important}
.muted{color:var(--text-tertiary)}
:focus-visible{outline:none;box-shadow:var(--ring-focus)}
::selection{background:var(--coral-a35);color:var(--text-primary)}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#26262a;border-radius:var(--r-full);border:3px solid transparent;background-clip:content-box}
::-webkit-scrollbar-thumb:hover{background:#303035;background-clip:content-box}
strong,b,td{font-variant-numeric:tabular-nums}

/* ---------- Marca ---------- */
.brand{display:flex;align-items:center;gap:12px;color:var(--text-primary)}
.vega-logo{width:88px;height:auto;display:block}
.product-name{color:var(--text-tertiary);font-size:10px;font-weight:500;letter-spacing:.1em;border-left:1px solid var(--border-strong);padding-left:12px}
.brand-icon,.brand small{display:none}

/* ---------- Menu lateral ---------- */
aside{width:var(--sidebar-w);position:fixed;inset:0 auto 0 0;z-index:20;background:var(--surface-shell);border-right:1px solid var(--border-subtle);color:var(--text-secondary);padding:20px 14px;overflow-y:auto;display:flex;flex-direction:column}
aside>.brand{height:24px;padding:0 8px}
.nav-label{font-size:11px;font-weight:500;letter-spacing:.1em;color:var(--text-tertiary);margin:36px 12px 10px}
nav{display:grid;gap:2px}
nav button{position:relative;display:flex;gap:10px;align-items:center;text-align:left;min-height:42px;padding:10px;white-space:nowrap;border:0;border-radius:var(--r-card);background:transparent;color:var(--text-secondary);font-size:13px;font-weight:500;line-height:1.3;transition:var(--t-hover),transform 80ms var(--ease)}
nav button:hover{background:rgba(249,249,248,.05);color:var(--text-primary)}
nav button:active{transform:scale(.98)}
nav button.selected{background:rgba(249,249,248,.08);color:var(--text-primary)}
.mobile-more-menu{display:contents}
nav [data-view=links]{order:1}nav [data-view=monitor]{order:2}nav [data-view=history]{order:3}nav [data-view=incidents]{order:4}nav [data-view=reports]{order:5}nav [data-view=manage]{order:6}nav [data-view=users]{order:7}nav [data-view=account]{order:8}
#mobile-more,.mobile-more-scrim{display:none}
nav button.selected::before{content:'';position:absolute;left:-14px;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--coral)}
.nav-icon{width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;color:var(--text-tertiary);transition:color 140ms var(--ease)}
nav button:hover .nav-icon,nav button.selected .nav-icon{color:var(--text-primary)}
.aside-foot{margin-top:auto;padding:16px 12px 0;border-top:1px solid var(--border-subtle);font-size:12px;color:var(--text-secondary)}
.aside-foot small{display:block;color:var(--text-tertiary);margin-top:6px;font-size:11px}
.dot{display:inline-block;width:7px;height:7px;background:var(--mint);border-radius:50%;margin-right:8px;box-shadow:0 0 0 3px rgba(133,209,177,.16)}

/* ---------- Barra superior ---------- */
.workspace{position:relative;z-index:1;margin-left:var(--sidebar-w);min-width:0}
header{position:sticky;top:0;z-index:15;height:var(--topbar-h);background:var(--surface-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border-subtle);padding:0 24px;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:13px}
header>div:first-child{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#breadcrumb{color:var(--text-primary);font-weight:500}
.slash{margin:0 10px;color:var(--text-disabled)}
.header-right{display:flex;gap:10px;align-items:center;flex-shrink:0}
.avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--coral-a20);color:var(--coral-400);font-size:12px;font-weight:600}
#identity{font-size:13px;color:var(--text-secondary)}
main{padding:28px 24px 0;max-width:1512px;margin:auto}

/* ---------- Títulos ---------- */
.page-title{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px}
h1{font-size:30px;font-weight:600;letter-spacing:-.02em;line-height:1.24;margin:0 0 6px;text-wrap:balance}
h2{font-size:16px;font-weight:600;line-height:1.24;margin:0;letter-spacing:-.01em}
h3{font-size:14px;font-weight:500}
p{text-wrap:pretty}
.page-title p{font-size:14px;margin:0}
.eyebrow{font-size:11px;font-weight:500;color:var(--text-tertiary);letter-spacing:.1em;text-transform:uppercase}
.page-title .eyebrow{display:none}
.section-heading{margin:28px 0 14px}
.section-heading p{margin-top:6px}

/* ---------- Badges ---------- */
.badge{display:inline-flex;align-items:center;gap:6px;height:24px;border:1px solid var(--border-default);border-radius:var(--r-full);padding:0 11px;background:rgba(179,179,186,.1);color:var(--text-secondary);font-size:11px;font-weight:600;white-space:nowrap}
.badge.success,.badge.live{color:var(--status-success);background:var(--status-success-bg);border-color:rgba(133,209,177,.26)}
.badge.failed{background:var(--status-critical-bg);color:var(--status-critical);border-color:var(--coral-a35)}
.badge.live:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--status-success);animation:vega-live 1.6s ease-in-out infinite}
@keyframes vega-live{50%{opacity:.35}}

/* ---------- Indicadores do monitor ---------- */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0}
.stats article{min-width:0;padding:20px;background:var(--surface-card) var(--glow-neutral);border:1px solid var(--border-subtle);border-radius:var(--r-card-lg);box-shadow:var(--elev-card)}
.stats article div{display:flex;flex-direction:column;align-items:flex-start;gap:0}
.stats article div>span{font-size:13px;color:var(--text-tertiary)}
.stats strong{display:block;font-size:30px;font-weight:500;letter-spacing:-.02em;line-height:1.08;margin-top:14px}
.stats small{display:block;margin-top:8px;font-size:12px;color:var(--text-tertiary)}
.stat-icon{display:none}

/* ---------- Painéis (cards) ---------- */
.panel{position:relative;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--r-card-lg);box-shadow:var(--elev-card);overflow:hidden}
.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border-subtle)}
.panel-heading>.muted{font-size:12px}
.section-number,.terminal-symbol,.empty-icon,.orbit,.orbit-small,.hero-status,.terminal-top,.keyboard-hint{display:none}
.panel-foot{border-top:1px solid var(--border-subtle);padding:12px 20px;font-size:11px;color:var(--text-tertiary);line-height:1.6}
.hint{font-size:12px;line-height:1.6;color:var(--text-tertiary);margin:0}

/* ---------- Formulários ---------- */
label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:500;color:var(--text-secondary)}
input,select{height:40px;width:100%;min-width:0;border:1px solid var(--border-default);background-color:var(--surface-input);color:var(--text-primary);border-radius:var(--r-input);padding:0 12px;font-size:14px;font-weight:400;transition:var(--t-hover),box-shadow 140ms var(--ease)}
select{appearance:none;-webkit-appearance:none;padding-right:36px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238a8a93' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
select option{background:var(--surface-raised);color:var(--text-primary)}
input::placeholder,textarea::placeholder{color:var(--text-tertiary)}
input:hover,select:hover{border-color:var(--border-strong)}
input:focus,select:focus,textarea:focus{outline:none;background-color:var(--surface-input-focus);border-color:var(--border-strong);box-shadow:0 0 0 3px var(--coral-a12)}
input[type=checkbox],input[type=radio]{accent-color:var(--coral)}

/* ---------- Botões (pílulas) ---------- */
.primary,.danger,.ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 18px;border:1px solid var(--border-default);border-radius:var(--r-full);font-size:13px;font-weight:600;background:rgba(249,249,248,.06);color:var(--text-primary);line-height:1.3;white-space:nowrap;transition:var(--t-hover),transform 80ms var(--ease)}
.primary:active:not(:disabled),.danger:active:not(:disabled),.ghost:active:not(:disabled){transform:scale(.98)}
.primary{background:var(--surface-inverse);border-color:transparent;color:var(--text-inverse)}
.primary:hover{background:#fff}
.ghost:hover{background:rgba(249,249,248,.11)}
.danger{background:var(--status-critical-bg);border-color:var(--coral-a35);color:var(--status-critical)}
.danger:hover{background:var(--coral-a20)}
.text-button{border:0;background:none;color:var(--blue-400);font-size:13px;font-weight:500;padding:6px 0;text-decoration:none}
.text-button:hover{color:var(--coral-400)}

/* ---------- Monitor de rotas ---------- */
.query-form{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1.25fr) auto;align-items:end;gap:16px;padding:20px 20px 0}
#start{grid-column:4;grid-row:1;min-height:40px}
.repeat{grid-column:1/4;grid-row:2;display:flex;flex-direction:row;align-items:center;gap:9px;font-weight:400;font-size:13px;width:max-content}
.repeat input{height:16px;width:16px;margin:0}
.switch-track{display:none}
#stop{grid-column:4;grid-row:2}
.query-bottom{padding:12px 20px 18px}
.measurement{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:24px 0 16px;padding:0 1px;scroll-margin-top:84px}
.measurement h2{font-size:20px;line-height:1.24;margin:4px 0;font-weight:600}
.measurement p{font-size:12px;color:var(--text-tertiary);margin:0}
.measurement .eyebrow{font-size:11px}
.measurement-values{display:flex;gap:24px}
.measurement-values>div{border-left:1px solid var(--border-subtle);padding-left:20px}
.measurement-values span{display:block;font-size:12px;color:var(--text-tertiary)}
.measurement-values strong{display:block;font-size:24px;font-weight:500;letter-spacing:-.02em;line-height:1.08;margin-top:6px}
.trace-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:16px;margin-top:20px}
.trace-layout>section{min-width:0}
.route-meta{padding:12px 20px;font-size:12px;color:var(--text-tertiary);border-bottom:1px solid var(--border-subtle);line-height:1.6}
.route{height:350px;overflow:auto;scrollbar-width:thin}
.empty{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:24px;color:var(--text-tertiary);background:var(--glow-neutral)}
.empty p{font-size:13px;max-width:320px;line-height:1.6;margin:0}
.empty h3{color:var(--text-primary);margin:0 0 6px}
pre{margin:0;background:var(--surface-sunken);color:var(--text-secondary);font:12px/1.9 var(--mono);padding:16px 20px;height:393px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;scrollbar-width:thin}

/* ---------- Tabelas ---------- */
table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}
td,th{padding:13px 16px;border-bottom:1px solid var(--border-subtle);white-space:nowrap}
th{font-size:11px;color:var(--text-tertiary);font-weight:500;background:transparent}
td{color:var(--text-secondary)}
td strong{color:var(--text-primary)}
tr:last-child td{border-bottom:0}
tbody tr{transition:background-color 140ms var(--ease)}
tbody tr:hover{background:rgba(249,249,248,.03)}
td small{display:block;font-size:11px;color:var(--text-tertiary);margin-top:4px}
.hops-table{font-family:var(--mono);font-size:12px;font-variant-numeric:tabular-nums}
.hops-table th{font-family:var(--font)}
.hops-table td:first-child{color:var(--text-tertiary);width:65px}
.hops-table td:nth-child(3),.hops-table td:nth-child(4),.hops-table th:nth-child(3),.hops-table th:nth-child(4){text-align:right}
.table-wrap{margin-top:20px;overflow-x:auto}
.table-scroll{overflow-x:auto}

/* ---------- Consultas recentes ---------- */
.recent-section{margin-top:28px}
.recent-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.recent-grid{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--r-card-lg);box-shadow:var(--elev-card);overflow:hidden}
.recent-card{width:100%;display:grid;grid-template-columns:180px minmax(140px,1fr) minmax(130px,1fr) 200px;align-items:center;gap:18px;padding:14px 20px;border:0;border-bottom:1px solid var(--border-subtle);background:transparent;text-align:left;color:var(--text-secondary);transition:var(--t-hover)}
.recent-card:last-child{border-bottom:0}
.recent-card:hover{background:var(--surface-card-hover)}
.recent-card-top{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--text-tertiary)}
.path-tag,.path-tag.wan{display:inline-flex;align-items:center;justify-content:center;height:20px;padding:0 8px;border-radius:var(--r-full);background:rgba(249,249,248,.06);border:1px solid var(--border-default);font-size:10px;color:var(--text-secondary);min-width:36px;font-weight:600}
.recent-card strong{font-size:13px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.recent-card p{font-size:12px;color:var(--text-tertiary);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.recent-card-foot{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--text-tertiary)}
.recent-card-foot b{font-weight:500;color:var(--text-primary)}
.note{display:flex;gap:8px;align-items:center;margin-top:16px;color:var(--text-tertiary);font-size:12px;line-height:1.6}
.note p{margin:0}
.note>span{font-size:12px}
footer{display:flex;justify-content:space-between;border-top:1px solid var(--border-subtle);margin-top:28px;padding:20px 0;font-size:11px;color:var(--text-tertiary)}

/* ---------- Cadastros e histórico ---------- */
.manage-grid{display:grid;grid-template-columns:1fr 1.7fr;gap:16px}
.form-panel{padding:24px;display:flex;flex-direction:column;gap:16px}
.form-panel h2{margin-bottom:2px}
.form-panel .primary{align-self:start}
.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.list{font-size:13px;color:var(--text-tertiary);line-height:2}
.narrow{max-width:480px}
.history-toolbar{display:flex;align-items:end;gap:16px;margin-top:20px}
.search-label{flex:1}
.search-label input{border-radius:var(--r-full);padding-left:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238a8a93' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:14px center}
.history-toolbar>label:not(.search-label){width:190px}
.history-toolbar>span{font-size:12px;padding-bottom:10px}

/* ---------- Avisos ---------- */
.toast{position:fixed;bottom:24px;right:24px;max-width:420px;background:var(--surface-raised);color:var(--text-primary);border:0;border-radius:var(--r-card-lg);box-shadow:var(--elev-popover);padding:16px 20px;font-size:13px;z-index:40;animation:vega-in 320ms var(--ease-out)}
@keyframes vega-in{from{opacity:0;transform:translateY(8px)}}
.error{color:var(--status-critical);font-size:13px}

/* ---------- Login ---------- */
.login{position:relative;z-index:1;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
.login-art{display:none}
.login-form{width:100%;max-width:400px;background:var(--surface-card) var(--glow-neutral);border:1px solid var(--border-subtle);border-radius:var(--r-panel);box-shadow:var(--elev-card);padding:32px;display:flex;flex-direction:column;gap:18px}
.mobile-brand{display:flex;padding:0 0 22px;margin:0 0 4px;border-bottom:1px solid var(--border-subtle);gap:13px}
.login-form h2{font-size:24px;margin:0;font-weight:600;letter-spacing:-.02em}
.login-form p{font-size:14px;line-height:1.6;margin:0}
.login-form .eyebrow{display:none}
.login-form .primary{display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 22px;font-size:14px}
.login-form small{font-size:12px;line-height:1.6}
.login-form #login-error:empty{display:none}

/* ---------- Comparação de rotas ---------- */
.comparison-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:16px 0 20px}
.comparison-actions>span{font-size:12px;color:var(--text-tertiary)}
.comparison-panel{margin:20px 0;scroll-margin-top:84px}
.report-actions{display:flex;gap:8px;flex-wrap:wrap}
.report-actions .ghost{display:inline-flex;align-items:center;text-decoration:none}
.comparison-context{padding:16px 20px;border-bottom:1px solid var(--border-subtle)}
.comparison-context strong{font-size:16px;overflow-wrap:anywhere}
.comparison-context p{font-size:13px;color:var(--text-tertiary);margin:5px 0}
.comparison-columns{display:grid;grid-template-columns:1fr 1fr}
.comparison-columns>section{min-width:0}
.comparison-columns>section+section{border-left:1px solid var(--border-subtle)}
.comparison-path-title{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px}
.comparison-columns .comparison-path-title h2{font-size:16px}
.comparison-summary{font-size:18px;font-weight:500;margin:0;padding:0 20px 16px;color:var(--text-primary);line-height:1.5}
.comparison-route{height:320px;overflow:auto;border-top:1px solid var(--border-subtle)}
.comparison-wait{padding:20px}
.comparison-columns details{border-top:1px solid var(--border-subtle);padding:12px 20px}
.comparison-columns details summary{cursor:pointer;font-size:12px;color:var(--text-secondary)}
.comparison-columns details p{font-size:12px;color:var(--text-tertiary)}
.comparison-columns pre{height:220px;padding:10px 0;background:transparent}
.comparison-columns details .comparison-route{height:260px;margin:12px -20px}
.comparison-conclusion{padding:16px 20px;border-top:1px solid var(--border-subtle);background:var(--surface-sunken) var(--glow-info);font-size:14px;line-height:1.7}
.comparison-history{margin-top:32px}

/* ---------- Visão geral da rede ---------- */
.monitor-toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.monitor-toolbar label{min-width:240px}
.monitor-toolbar>span{font-size:12px;padding:8px 0}
.edge-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}
.edge-stats article{background:var(--surface-card) var(--glow-neutral);border:1px solid var(--border-subtle);border-radius:var(--r-card-lg);box-shadow:var(--elev-card);padding:20px;min-width:0}
.edge-stats article>span{font-size:13px;color:var(--text-tertiary)}
.edge-stats strong{display:block;font-size:30px;font-weight:500;letter-spacing:-.02em;line-height:1.08;margin-top:14px}
.traffic-chart{padding:16px 14px;min-height:150px}
.traffic-chart svg{width:100%;display:block}
.traffic-chart text,.metric-dialog .traffic-chart text{font:11px var(--font);fill:var(--text-tertiary)}
.traffic-chart .hint{padding:24px}
.monitor-note{margin:14px 0 24px}
.findings-panel{margin-top:20px}
.network-findings{padding:6px 20px}
.network-findings article{display:flex;align-items:start;gap:14px;padding:14px 0;border-bottom:1px solid var(--border-subtle)}
.network-findings article:last-child{border:0}
.network-findings strong{font-size:14px;font-weight:500;color:var(--text-primary)}
.network-findings p{font-size:13px;line-height:1.6;color:var(--text-tertiary);margin:5px 0 0}
.network-findings>.hint{padding:18px 0}
.technical-details{margin:16px 0;padding:16px 20px;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--r-card-lg);box-shadow:var(--elev-card)}
details>summary{cursor:pointer;color:var(--text-secondary);font-size:13px;font-weight:500;transition:color 140ms var(--ease)}
details>summary:hover{color:var(--text-primary)}
.technical-details[open]>summary{margin-bottom:16px}
.technical-details .table-wrap{margin:12px 0}
.technical-details>.hint{line-height:1.8}
.technical-details .panel{box-shadow:none;background:var(--surface-sunken)}
#wan-rows strong{font-weight:500}
#wan-rows td{padding-top:17px;padding-bottom:17px}

/* Equipamento da borda */
.border-equipment{margin:20px 0}
.border-equipment-head{padding:20px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.border-equipment-head h2{font-size:24px;font-weight:600;letter-spacing:-.02em;margin:6px 0}
.border-equipment-head p{margin:4px 0;font-size:13px}
.equipment-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--border-subtle);background:var(--surface-sunken)}
.equipment-metrics>button,.equipment-metrics>div{padding:18px 24px;border:0;border-right:1px solid var(--border-subtle);text-align:left;background:transparent;color:var(--text-primary);min-width:0;transition:var(--t-hover)}
.equipment-metrics>button:hover{background:var(--surface-card-hover)}
.equipment-metrics>:last-child{border-right:0}
.equipment-metrics span,.equipment-metrics small{display:block;font-size:13px;color:var(--text-tertiary)}
.equipment-metrics strong{display:block;font-size:30px;font-weight:500;letter-spacing:-.02em;line-height:1.08;margin:10px 0 8px}
.equipment-metrics small{font-size:11px}
.health-clock{display:block;font-size:11px;color:var(--text-tertiary);margin-top:4px;line-height:1.5}
.border-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;margin:20px 0}
.border-layout>.panel{min-width:0}
.border-alerts{margin:0}
.border-alerts .network-findings{max-height:295px;overflow:auto}
.border-alerts .network-findings p{font-size:12px}
.finding-since{font-size:11px;color:var(--text-tertiary)}

/* Mapa de portas */
.device-face{background:var(--surface-sunken);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--r-card);margin:20px;padding:18px 20px 22px}
.device-face-brand{font-size:17px;letter-spacing:.04em;font-weight:600;display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:24px}
.device-face-brand span{font-size:11px;font-weight:400;letter-spacing:0;color:var(--text-tertiary)}
#port-device-name{font:inherit;letter-spacing:normal;overflow-wrap:anywhere;min-width:0}
.port-map{display:flex;flex-wrap:wrap;gap:12px}
.device-port{display:flex;flex-direction:column;align-items:center;gap:6px;width:42px;background:none;color:var(--text-secondary);border:0;padding:0;font-size:11px}
.device-port:hover .port-socket,.device-port:focus-visible .port-socket{border-color:var(--text-primary)}
.port-socket{display:block;width:36px;height:30px;background:#050505;border:2px solid #43434a;border-radius:3px;position:relative}
.port-socket:after{content:'';position:absolute;left:7px;right:7px;bottom:5px;border-top:4px solid #62626b}
.port-light{height:4px;width:12px;background:#43434a;border-radius:2px}
.device-port.active .port-light,.port-legend .active{background:var(--mint)}
.device-port.active .port-socket{border-color:var(--mint)}
.device-port.disabled{opacity:.45}
.device-port.unknown{opacity:.5}
.device-port.is-selected .port-socket{outline:2px solid var(--blue-400);outline-offset:3px}
.port-legend{display:flex;gap:20px;padding:0 24px 20px;flex-wrap:wrap}
.port-legend span{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--text-tertiary)}
.port-legend i{width:8px;height:8px;border-radius:50%;background:#62626b}
.port-legend .disabled{background:#303035}
.port-legend .unknown{background:transparent;border:1px solid #62626b}
.port-panel .device-face{padding:18px 16px 10px;margin:20px 20px 12px}
.port-panel .device-face-brand{font-size:13px;letter-spacing:0;margin:0 4px 4px;min-width:0}
.port-panel .device-face-brand strong{overflow-wrap:anywhere}
.port-map.has-equipment-svg{display:block;overflow-x:auto;scrollbar-width:thin}
.port-selection{display:flex;align-items:center;gap:20px;padding:16px 24px;margin:0 0 12px;min-height:81px;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap}
.port-selection>div:first-child{margin-right:auto}
.port-selection strong,.port-selection small,.port-selection b{display:block}
.port-selection strong{font-size:15px;margin:4px 0}
.port-selection small{font-size:12px;color:var(--text-tertiary)}
.port-selection b{font-weight:500;font-size:14px;margin-top:5px}
.port-selection p{font-size:13px;color:var(--text-tertiary);margin:0;line-height:1.6}
.port-state{display:inline-flex;align-items:center;height:22px;font-size:11px;font-weight:600;border:1px solid var(--border-default);padding:0 10px;border-radius:var(--r-full);color:var(--text-secondary);background:rgba(179,179,186,.1)}
.port-state.active{color:var(--status-success);background:var(--status-success-bg);border-color:rgba(133,209,177,.26)}
.unprofiled-ports{display:flex;flex-wrap:wrap;gap:16px;padding:20px 0}
.unprofiled-ports .device-port{color:var(--text-secondary);width:auto;min-width:44px;max-width:110px;overflow-wrap:anywhere}

/* Arte do painel frontal (SVG do equipamento): cores do hardware real, sem mudança */
.equipment-svg{display:block;width:100%;min-width:590px;height:auto;font-family:Arial,sans-serif}
.case-top{fill:#303235;stroke:#25282c;stroke-width:1}
.case-face{fill:#a13b40;stroke:#752a2f;stroke-width:1}
.rack .case-face,.rack-ear{fill:#292c30;stroke:#191c20}
.case-wordmark{fill:#e9e9e9;font-size:17px;font-style:italic;letter-spacing:.2px}
.case-model{fill:#f3dddd;font-size:9px;letter-spacing:.5px}
.case-caption{fill:#e8c8ca;font-size:8px;letter-spacing:.3px}
.rack .case-caption,.rack .case-model{fill:#bfc5cc}
.svg-port{outline:none}
.svg-port[data-port]{cursor:pointer}
.port-focus{fill:transparent;stroke:transparent;stroke-width:2}
.socket-frame{fill:#b3b8bc;stroke:#c8cdd0}
.socket-hole{fill:#11171c}
.socket-led{fill:#596572}
.socket-label{fill:#f1e7e7;font-size:10px}
.svg-port.active .socket-frame{stroke:#81d5af;stroke-width:2}
.svg-port.disabled .socket-frame{fill:#788087}
.svg-port.disabled .socket-hole{fill:#353b42}
.svg-port.unknown{opacity:.62}
.svg-port.selected .port-focus{stroke:var(--blue-400);fill:rgba(85,132,240,.14)}
.svg-port:hover .port-focus,.svg-port:focus-visible .port-focus{stroke:#f0f5ff;fill:#ffffff18}
.equipment-svg.hex .socket-label{fill:#375b58;font-size:12px}
.equipment-svg.hex .socket-frame{fill:#d5cdb5;stroke:#dce3da}
.equipment-svg.hex .svg-port.active .socket-frame{stroke:#257958}
.equipment-svg.hex .svg-port.selected .port-focus{stroke:#246da4;fill:#246da41f}
.equipment-svg.hex .svg-port:hover .port-focus,.equipment-svg.hex .svg-port:focus-visible .port-focus{stroke:#245b7a}
/* Pulse reports a fresh UP state, independently of packet rate. */
.svg-port.active .socket-led{fill:#22c55e;filter:drop-shadow(0 0 2px #22c55e80);animation:vega-port-up 1.4s ease-in-out infinite}
@keyframes vega-port-up{0%,100%{opacity:1}50%{opacity:.28}}

/* Rotas e conexões */
.border-routing{margin:20px 0}
.routing-status{display:flex;flex-wrap:wrap;gap:16px;padding:20px}
.routing-card{background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--r-card);padding:16px;min-width:260px;flex:1}
.routing-card>div{display:flex;justify-content:space-between;gap:20px;align-items:center}
.routing-card strong{font-size:14px;color:var(--text-primary)}
.routing-card p,.routing-card>span{font-size:13px;color:var(--text-tertiary)}
.routing-card b{color:var(--text-primary);font-weight:500}
.connection-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:24px}
.connection-card{display:block;text-align:left;background:var(--surface-card) var(--glow-neutral);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--r-card-lg);box-shadow:var(--elev-card);padding:20px;min-width:0;transition:var(--t-hover)}
.connection-card:hover{background-color:var(--surface-card-hover)}
.connection-card.is-selected{border-color:var(--border-strong);background-image:var(--glow-info)}
.connection-card-top{display:flex;justify-content:space-between;gap:16px;align-items:center}
.connection-card-top strong{font-size:16px;font-weight:600}
.connection-values{display:flex;justify-content:space-between;gap:16px;margin-top:22px;flex-wrap:wrap}
.connection-values small{display:block;font-size:12px;color:var(--text-tertiary)}
.connection-values b{display:block;font-size:24px;font-weight:500;letter-spacing:-.02em;line-height:1.08;margin:8px 0 4px}
.connection-card-foot{display:flex;justify-content:space-between;border-top:1px solid var(--border-subtle);padding-top:12px;margin-top:16px;font-size:12px;color:var(--text-tertiary);line-height:1.7}
.traffic-selection{display:flex;justify-content:space-between;gap:24px;padding:20px 24px;align-items:end}
.traffic-selection label{min-width:230px}
.traffic-selection>div{display:flex;gap:32px}
.traffic-selection span{display:block;color:var(--text-tertiary);font-size:12px}
.traffic-selection strong{display:block;font-size:20px;color:var(--text-primary);font-weight:500;letter-spacing:-.01em;margin-top:6px}
.history-coverage{padding:0 24px 16px}
.overview-empty{padding:20px;color:var(--text-tertiary);font-size:13px;line-height:1.8;margin:0}
.optical-status{padding:5px}
.optical-row{display:flex;gap:12px;flex-wrap:wrap;padding:18px;font-size:13px}
.optical-row strong{width:100%}
.interface-errors{max-height:290px;overflow:auto}
#traffic-chart{height:330px;min-width:0;width:100%}
#metric-dialog-chart{height:280px;width:100%;min-width:0}
.link-source-pill{font-size:12px;color:var(--blue-400)}
.capacity-note{font-size:13px;color:var(--text-tertiary)}

/* Usuários na rede */
.subscribers-panel{margin:20px 0}
.subscriber-cards{display:grid;grid-template-columns:1fr 1fr}
.subscriber-cards article{padding:24px;border-right:1px solid var(--border-subtle)}
.subscriber-cards article:last-child{border-right:0}
.subscriber-cards span,.subscriber-cards small{display:block;color:var(--text-tertiary);font-size:13px}
.subscriber-cards strong{display:block;font-size:36px;font-weight:500;letter-spacing:-.02em;line-height:1.08;color:var(--text-primary);margin:14px 0 10px}
.subscriber-cards small{font-size:12px;margin-top:6px}
.subscribers-panel>details{padding:14px 20px;border-top:1px solid var(--border-subtle)}
.subscriber-chart{height:300px;width:100%;min-width:0}

/* Fontes (Zabbix) */
.source-config{margin-top:24px}
.source-padding{padding:20px}
.source-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}
.source-metrics small{display:block;color:var(--text-tertiary);margin-bottom:8px}
.source-metrics strong{font-size:24px;font-weight:500;letter-spacing:-.02em}
.source-metrics .source-clock{font-size:12px;margin:8px 0 0;line-height:1.5}
#zabbix-summary{margin-bottom:24px}
#zabbix-summary svg{display:block;width:100%;height:auto}
#zabbix-summary svg text{fill:var(--text-tertiary)}
.source-config form{margin:18px 0}

/* ---------- Diálogos ---------- */
.metric-dialog,.registry-dialog,.setup-dialog{padding:0;border:0;border-radius:var(--r-panel);background:var(--surface-raised);color:var(--text-primary);box-shadow:var(--elev-modal)}
.metric-dialog[open],.registry-dialog[open],.setup-dialog[open]{animation:vega-in 320ms var(--ease-out)}
.metric-dialog{width:min(960px,95vw)}
.metric-dialog::backdrop,.registry-dialog::backdrop,.setup-dialog::backdrop{background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.metric-dialog .panel,.registry-dialog .panel,.setup-dialog .panel{background:transparent;box-shadow:none;border:0}
.registry-dialog{width:min(660px,94vw);max-height:90vh;overflow:auto}
.registry-dialog .form-panel{gap:14px}
.registry-dialog h2{font-size:20px;margin:0}
.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:6px}
textarea{font:inherit;font-size:14px;padding:10px 12px;border:1px solid var(--border-default);border-radius:var(--r-input);resize:vertical;min-height:65px;color:var(--text-primary);background:var(--surface-input)}
.registry-dialog input,.registry-dialog select,.registry-dialog textarea,.setup-dialog input,.setup-dialog select{background-color:var(--surface-sunken)}
.registry-check{display:flex;flex-direction:row;align-items:center;gap:9px;font-weight:400}
.registry-check input{width:16px;height:16px;margin:0}
.registry-dialog summary{font-size:13px}
.registry-dialog details label{margin:12px 0}
.registry-dialog .error:empty{display:none}
.registry-dialog form>p{margin:0}

/* Empresas e equipamentos */
.registry-toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:20px 0}
.registry-toolbar label{min-width:260px;max-width:400px;flex:1}
.registry-actions,.registry-device-actions{display:flex;gap:8px;flex-wrap:wrap}
.registry-device-actions{padding:16px 20px}
.registry-devices{display:grid;gap:16px}
.registry-device .panel-heading{align-items:start}
.registry-device .panel-heading h2{font-size:18px;margin:6px 0}
.registry-device .eyebrow{font-size:11px}
#access-result{overflow-wrap:anywhere}
.snmp-pair{background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--r-card);padding:16px;margin:8px 0}
.snmp-pair h3{font-size:14px;margin:0 0 8px}
.snmp-pair select{width:100%;min-width:0}
.snmp-pair label{min-width:0}
.snmp-pair>label{margin-top:12px}
.snmp-pair>.two-cols{margin-top:12px;gap:12px}
#link-host-settings{margin:12px 0 18px;border-top:1px solid var(--border-subtle);padding-top:12px}
#link-host-settings>label{margin:12px 0}
.link-host-search{display:flex;align-items:end;gap:10px;margin:12px 0}
.link-host-search label{flex:1;min-width:0}
.link-host-search button{flex:none}
#link-host-status{line-height:1.6}

/* Assistente de configuração */
.setup-dialog{width:min(820px,calc(100vw - 32px));max-height:90vh;overflow:auto}
.setup-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;gap:8px;list-style:none;margin:22px 0}
.setup-steps li{font-size:13px;color:var(--text-tertiary);border-bottom:2px solid var(--surface-track);padding:10px 0}
.setup-steps li>span{display:inline-grid;place-items:center;width:24px;height:24px;border:1px solid var(--border-default);border-radius:50%;margin-right:6px;font-size:12px}
.setup-steps .complete{color:var(--status-success);border-color:var(--status-success)}
.setup-section{padding:18px 0;border-top:1px solid var(--border-subtle);margin-top:18px}
.setup-section h3{margin:0 0 12px;font-size:16px;font-weight:600}
.setup-links{list-style:none;padding:0}
.setup-links li{display:flex;justify-content:space-between;gap:12px;padding:10px 0}
.setup-dialog .registry-toolbar{padding:0;margin:12px 0}
.setup-dialog .registry-toolbar label{flex:1;min-width:0}
.setup-dialog .registry-toolbar input,.setup-dialog .registry-toolbar select{width:100%}
#setup-subscriber-form{padding:12px 0}
#setup-subscriber-fields{border:0;padding:0;margin:0;display:grid;gap:14px;min-width:0}
#setup-subscriber-fields:disabled{opacity:.4}

/* Incidentes */
.incident-filters{padding:20px;display:flex;gap:14px;flex-wrap:wrap}
.incident-filters label{flex:1;min-width:150px}
.incident-filters select{width:100%}
#view-incidents td{vertical-align:top;white-space:normal}
#view-incidents td:nth-child(2){min-width:230px;max-width:360px;overflow-wrap:anywhere}
#view-incidents details{margin-top:8px}
#view-incidents .edge-stats{grid-template-columns:repeat(3,minmax(0,1fr))}

/* Relatórios */
.reports-form{display:grid;grid-template-columns:1fr 1.3fr 1.2fr 1fr auto;align-items:end;gap:14px;padding:20px}
.report-help{margin:14px 0 24px}
.report-preview{margin:24px 0;scroll-margin-top:84px}
.report-preview-context{padding:0 20px;margin:16px 0;font-size:13px;color:var(--text-tertiary)}
.report-body{padding:0 20px 20px}
.report-body h2{font-size:16px;margin:24px 0 12px}
.report-body>p{font-size:13px;line-height:1.8;color:var(--text-tertiary)}
.report-body .notice{padding:14px 16px;border:1px solid rgba(245,165,36,.26);border-radius:var(--r-card);background:var(--status-medium-bg);color:var(--amber);font-size:13px}
.report-kpis{display:flex;flex-wrap:wrap;gap:16px;margin:20px 0}
.report-kpis article{background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--r-card);padding:16px;flex:1;min-width:150px}
.report-kpis span{font-size:12px;color:var(--text-tertiary);display:block}
.report-kpis strong{display:block;font-size:24px;font-weight:500;letter-spacing:-.02em;line-height:1.08;margin-top:10px}
.reports-history-heading{display:flex;justify-content:space-between;align-items:center}
.report-body .table-wrap{margin:16px 0}
.report-body td small{font-size:11px;white-space:normal;max-width:230px}
.report-body .report-note{font-size:12px}

/* ---------- Responsivo ---------- */
@media(min-width:1600px){.route{height:410px}pre{height:453px}}
@media(min-width:1151px){.border-layout:not(.secondary){grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr)}}
@media(min-width:701px){.equipment-svg{min-width:0}}

@media(max-width:1200px){
  :root{--sidebar-w:228px}
  aside{padding:20px 10px}
  nav button{font-size:12.5px}
  nav button.selected::before{left:-10px}
  main{padding:24px 20px 0}
  header{padding:0 20px}
  .recent-card{grid-template-columns:160px 1fr 1fr}
  .recent-card-foot{grid-column:2/4}
  .query-form{grid-template-columns:1fr 1fr auto}
  .path-label{grid-column:2/4}
  .destination{grid-row:2;grid-column:1/3}
  #start{grid-column:3;grid-row:2}
  .repeat{grid-row:3;grid-column:1/3}
  #stop{grid-column:3;grid-row:3}
  .measurement-values{gap:18px}
  .measurement-values>div{padding-left:16px}
  .reports-form{grid-template-columns:1fr 1fr}
  .reports-form button{width:max-content}
  .report-preview>.panel-heading{align-items:start;flex-direction:column}
}
@media(max-width:1150px){
  .border-layout{grid-template-columns:1fr}
  .equipment-metrics>button,.equipment-metrics>div{padding:16px}
  .traffic-selection{flex-wrap:wrap}
  .device-face{max-width:760px}
  .border-alerts .network-findings{max-height:250px}
}
@media(max-width:1100px){
  .edge-stats{grid-template-columns:repeat(2,1fr)}
  .edge-stats strong{font-size:26px}
}
@media(max-width:1000px){
  .measurement{align-items:start;flex-direction:column;gap:14px}
  .measurement-values{width:100%;justify-content:space-between}
  .measurement-values>div:first-child{border:0;padding-left:0}
  .trace-layout{grid-template-columns:1fr}
  .route{height:300px}
  pre{height:250px}
  .manage-grid{grid-template-columns:1fr}
}
@media(max-width:850px){
  .comparison-columns{grid-template-columns:1fr}
  .comparison-columns>section+section{border-left:0;border-top:1px solid var(--border-subtle)}
  .comparison-panel>.panel-heading{align-items:start;flex-direction:column}
  .comparison-route{height:260px}
  .comparison-actions button{flex:1;white-space:normal}
  .comparison-actions>span{width:100%}
}
@media(max-width:760px){
  .source-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  #traffic-chart{height:285px}
  .snmp-pair .two-cols{grid-template-columns:1fr}
  .setup-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .setup-dialog .two-cols{grid-template-columns:1fr}
  .setup-dialog .registry-toolbar{flex-wrap:wrap}
  .setup-dialog .registry-toolbar label{flex-basis:100%}
  #view-incidents .edge-stats{grid-template-columns:1fr}
  .incident-filters label{min-width:100%}
  .subscriber-cards{grid-template-columns:1fr}
  .subscriber-cards article{border-right:0;border-bottom:1px solid var(--border-subtle)}
}

/* Celular: cabeçalho de vidro no topo, menu vira barra inferior com rolagem lateral */
@media(max-width:700px){
  :root{--topbar-h:56px}
  body::before{width:100%;height:300px}
  aside{position:static;width:100%;padding:14px 16px;border-right:0;background:transparent}
  aside>.brand{padding:0}
  .nav-label,.aside-foot{display:none}
  nav{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;gap:0;
    height:calc(64px + env(safe-area-inset-bottom));padding:0 4px env(safe-area-inset-bottom);border-top:1px solid var(--border-default)}
  /* vidro num pseudo-elemento: backdrop-filter no próprio nav prenderia o painel "Mais" (position:fixed) dentro da barra */
  nav::after{content:'';position:absolute;inset:0;z-index:-1;background:var(--surface-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
  nav::-webkit-scrollbar{display:none}
  nav>button[data-view="links"],nav>button[data-view="monitor"],nav>button[data-view="incidents"],nav>button[data-view="reports"]{flex:1 1 20%;width:auto;min-width:0}
  nav>.mobile-more-menu{display:none}
  nav>.mobile-more-menu.is-open{display:flex;position:fixed;left:12px;right:12px;bottom:calc(72px + env(safe-area-inset-bottom));z-index:2;flex-direction:column;gap:4px;max-height:min(60vh,480px);overflow:auto;padding:12px;background:var(--surface-raised);border:1px solid var(--border-default);border-radius:28px;box-shadow:var(--elev-modal)}
  nav>.mobile-more-menu button{width:100%;min-height:48px;flex:0 0 auto;flex-direction:row;justify-content:flex-start;gap:12px;padding:10px 14px;border-radius:var(--r-card);font-size:13px;text-align:left}
  nav>.mobile-more-menu button span{display:block;overflow:visible}
  nav>.mobile-more-menu button.selected{background:var(--surface-card-hover)}
  nav>.mobile-more-menu button.selected::before{display:none}
  nav>#mobile-more{display:flex;flex:1 1 20%;width:auto;min-width:0;min-height:44px;flex-direction:column;justify-content:center;gap:4px;padding:6px 4px;border-radius:var(--r-card);background:transparent;color:var(--text-tertiary);font-size:10px;font-weight:400;line-height:1.2;text-align:center}
  nav>#mobile-more.selected{color:var(--text-primary);font-weight:600}
  nav>#mobile-more.selected::before{left:30px;right:30px;top:0;bottom:auto;width:auto;height:2px;border-radius:0 0 2px 2px}
  nav>.mobile-more-scrim{display:block;position:fixed;inset:0;z-index:1;width:100vw;height:100vh;min-height:0;border:0;border-radius:0;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
  nav>.mobile-more-scrim.hidden{display:none}
  nav button{flex:0 0 auto;width:84px;min-height:44px;flex-direction:column;justify-content:center;gap:4px;padding:6px 4px;border-radius:var(--r-card);background:transparent;color:var(--text-tertiary);font-size:10px;font-weight:400;line-height:1.2;text-align:center;white-space:normal}
  nav button span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  nav button:hover{background:transparent}
  nav button.selected{background:transparent;color:var(--text-primary);font-weight:600}
  nav button.selected::before{left:30px;right:30px;top:0;bottom:auto;width:auto;height:2px;border-radius:0 0 2px 2px}
  .nav-icon{width:21px;height:21px;stroke-width:1.6}
  nav button.selected .nav-icon{stroke-width:2}
  .workspace{margin:0}
  header{padding:0 16px;font-size:12px}
  header>div:first-child{display:none}
  .header-right{width:100%}
  #identity{margin-right:auto}
  .header-right{gap:8px}
  .avatar{width:30px;height:30px;flex-shrink:0}
  #identity{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}
  #logout{min-height:36px;padding:0 14px}
  main{padding:20px 16px calc(96px + env(safe-area-inset-bottom))}
  .page-title{align-items:start;gap:12px;margin-bottom:20px}
  h1{font-size:24px}
  .page-title p{font-size:13px;line-height:1.6}
  .badge{white-space:normal;height:auto;min-height:24px;padding:3px 10px}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .stats article{padding:16px}
  .stats article div>span{font-size:12px}
  .stats strong{font-size:22px;margin-top:10px}
  .query-form{grid-template-columns:1fr;gap:14px;padding:18px 16px 0}
  .query-form>label,#start,#stop{grid-column:1;grid-row:auto}
  .repeat{grid-row:auto!important}
  #start{width:100%;grid-row:5;min-height:48px}
  #stop{grid-row:6}
  .query-bottom{padding:12px 16px 16px}
  .panel-heading{padding:14px 16px}
  .panel-heading>.muted{display:none}
  .measurement-values{gap:12px}
  .measurement-values>div{padding-left:12px}
  .measurement-values span{font-size:11px;max-width:100px;line-height:1.5}
  .measurement-values strong{font-size:20px}
  .measurement p{line-height:1.7;font-size:11px}
  .route-meta{padding:11px 16px;font-size:11px}
  .hops-table{font-size:11px}
  td,th{padding:11px 12px}
  .hops-table td:first-child{width:45px}
  .panel-foot{padding:10px 16px}
  pre{padding:14px 16px;font-size:11px}
  .recent-card{grid-template-columns:1fr auto;gap:8px;padding:14px 16px}
  .recent-card-top{grid-column:1/3}
  .recent-card strong{grid-column:1}
  .recent-card p{grid-column:1/3;font-size:11px}
  .recent-card-foot{grid-column:1/3}
  .note{font-size:11px;align-items:start}
  .history-toolbar{flex-wrap:wrap}
  .search-label{min-width:100%}
  .history-toolbar>label:not(.search-label){width:60%}
  .two-cols{grid-template-columns:1fr}
  .form-panel{padding:18px}
  .primary,.danger,.ghost{min-height:44px}
  .toast{left:16px;right:16px;bottom:calc(76px + env(safe-area-inset-bottom))}
  footer{font-size:10px;gap:12px}
  .login{padding:16px}
  .login-form{padding:24px}
  .vega-logo,.login-form .vega-logo{width:84px}
  .product-name{font-size:9px;padding-left:10px}
  .monitor-toolbar label{min-width:100%}
  .monitor-toolbar .primary,.monitor-toolbar .ghost{flex:1}
  .edge-stats{gap:10px}
  .edge-stats article{padding:16px}
  .edge-stats article>span{font-size:12px}
  .edge-stats strong{font-size:22px;margin-top:10px}
  .border-equipment-head{display:block;padding:18px 16px}
  .border-equipment-head h2{font-size:20px}
  .equipment-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .equipment-metrics strong{font-size:22px}
  .equipment-metrics>button:nth-child(2){border-right:0}
  .equipment-metrics>button:nth-child(-n+2){border-bottom:1px solid var(--border-subtle)}
  .connection-cards{grid-template-columns:1fr}
  .device-face{margin:16px;padding:15px}
  .device-face-brand{flex-wrap:wrap}
  .port-map{gap:13px 10px}
  .traffic-selection{padding:16px}
  .traffic-selection label{width:100%;min-width:0}
  .traffic-selection>div{width:100%;gap:20px;flex-wrap:wrap}
  .routing-card{min-width:0;width:100%}
  .routing-card>div{flex-wrap:wrap}
  .border-layout{gap:16px}
  .connection-values b{font-size:20px}
  .registry-toolbar label{min-width:100%}
  .registry-toolbar button{flex:1}
  .registry-device .panel-heading{flex-wrap:wrap}
  .registry-device-actions .ghost,.registry-device-actions .primary{flex:1}
  .registry-dialog .form-panel{padding:18px}
  .reports-form{grid-template-columns:1fr;padding:18px 16px}
  .reports-form button{width:100%}
  .report-body{padding:0 16px 16px}
  .report-preview-context{padding:0 16px}
  .report-kpis{gap:10px}
  .report-kpis article{min-width:125px;padding:12px}
  .report-kpis strong{font-size:20px}
  .port-panel .device-face{margin:14px 14px 10px;padding:12px 8px 4px}
  .port-panel .device-face-brand{gap:6px}
  .port-selection{padding:14px 16px;gap:14px}
  .port-selection>div:first-child{flex:1 1 50%}
  .port-selection .ghost{margin-left:auto}
  .port-map.has-equipment-svg{padding-bottom:6px}
  .metric-dialog,.registry-dialog,.setup-dialog{width:calc(100vw - 24px);max-height:calc(100vh - 24px)}
}
@media(max-width:550px){
  .link-host-search{flex-wrap:wrap}
  .link-host-search label{flex-basis:100%}
}
.noc-board{padding:24px;margin:0 0 28px;background:var(--surface-card) var(--glow-neutral)}
.noc-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}
.noc-heading h1{font-size:28px;margin:6px 0}
.noc-heading p{margin:0}
.noc-clock-wrap{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end}
#noc-clock{font:500 22px var(--mono);font-variant-numeric:tabular-nums}
.noc-tv-exit{display:none}
.noc-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}
.noc-kpi{min-width:0;padding:16px 18px;border:1px solid var(--border-subtle);border-radius:var(--r-card);background:var(--surface-sunken)}
.noc-kpi span,.noc-kpi small{display:block;color:var(--text-tertiary);font-size:12px}
.noc-kpi strong{display:block;margin:8px 0 3px;font-size:28px;font-weight:500;font-variant-numeric:tabular-nums}
.noc-kpi-alert{order:-1}
.noc-kpi-alert.severity-clear{border-color:var(--border-subtle);background:var(--surface-sunken)}.noc-kpi-alert.severity-stale{border-color:rgba(245,165,36,.35);background:var(--surface-sunken)}.noc-kpi-alert.severity-warning{border-color:rgba(245,165,36,.55);background:var(--surface-sunken)}.noc-kpi-alert.severity-critical{border-color:var(--coral-a35);background:var(--status-critical-bg)}
.noc-section{margin-top:22px}
.noc-section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 10px}
.noc-problems{display:grid;gap:8px}
.noc-problem,.noc-clear{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--border-subtle);border-radius:var(--r-card);background:var(--surface-sunken)}
.noc-problem{border-left:4px solid var(--border-strong);background:var(--surface-sunken)}.noc-problem.critical{border-color:var(--coral-a35);border-left-color:var(--status-critical);background:var(--status-critical-bg)}
.noc-problem.warning{border-color:var(--border-subtle);border-left-color:var(--status-medium);background:var(--surface-sunken)}
.noc-state-icon{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border:1px solid currentColor;border-radius:50%;font-weight:600}
.noc-problem.critical .noc-state-icon{color:var(--status-critical)}.noc-problem.warning .noc-state-icon{color:var(--status-medium)}
.noc-problem-main{min-width:0;flex:1}.noc-problem-main strong{font-size:14px}.noc-problem-main p{margin:3px 0;font-size:13px}.noc-problem-main small{color:var(--text-tertiary)}.noc-problem-main ul{margin:5px 0;padding-left:18px;color:var(--text-secondary);font-size:13px}.noc-problem-main li+li{margin-top:3px}.noc-issue-count{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:6px;padding:0 5px;border-radius:99px;background:var(--surface-card-hover);color:var(--text-secondary);font:12px var(--mono)}.noc-more{margin:4px 0;color:var(--text-tertiary);font-size:13px}
.noc-companies{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.noc-company-tile{text-align:left;display:grid;gap:7px;min-width:0;padding:16px;border:1px solid var(--border-subtle);border-radius:var(--r-card);background:var(--surface-sunken);color:var(--text-primary)}
.noc-company-tile:hover{border-color:var(--border-strong);background:var(--surface-card-hover)}.noc-company-tile.warning{border-color:rgba(245,165,36,.35)}.noc-company-tile.stale{opacity:.68}
.noc-tile-head{display:flex;justify-content:space-between;align-items:start;gap:8px}.noc-tile-head strong{font-size:15px}.noc-tile-status{font-size:11px;color:var(--text-tertiary)}
.noc-company-tile.warning .noc-tile-status{color:var(--status-medium)}.noc-tile-device,.noc-tile-link,.noc-company-tile small{color:var(--text-tertiary);font-size:12px;overflow-wrap:anywhere}
.noc-tile-link{color:var(--text-secondary)}.noc-link-quality{margin:0 0 22px}.noc-link-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.noc-link-kpis article{min-width:0;padding:16px;border-right:1px solid var(--border-subtle)}.noc-link-kpis article:last-child{border:0}.noc-link-kpis span{display:block;color:var(--text-tertiary);font-size:12px}.noc-link-kpis strong{display:block;margin-top:8px;font-size:15px;font-weight:500;overflow-wrap:anywhere}
.noc-flow-slot{margin-top:20px}.noc-flow-empty{padding:28px 20px;color:var(--text-tertiary);font-size:13px}
body.noc-tv aside,body.noc-tv header,body.noc-tv footer{display:none!important}body.noc-tv .workspace{margin:0}body.noc-tv main{max-width:none;height:100vh;overflow:hidden;padding:18px 28px}body.noc-tv #view-links>*:not(#noc-board){display:none!important}body.noc-tv #noc-board{height:calc(100vh - 36px);min-height:0;overflow:hidden;padding:22px 30px;margin:0;display:flex;flex-direction:column}body.noc-tv .noc-heading h1{font-size:34px}body.noc-tv .noc-kpis{margin:12px 0;gap:10px}body.noc-tv .noc-kpi{padding:12px 16px}body.noc-tv .noc-kpi strong{font-size:34px;margin:3px 0}body.noc-tv .noc-section{margin-top:12px}body.noc-tv .noc-problems{gap:5px}body.noc-tv .noc-problem{padding:8px 12px;gap:10px}body.noc-tv .noc-problem-main strong{font-size:17px}body.noc-tv .noc-problem-main ul{margin:2px 0;font-size:13px}body.noc-tv .noc-problem-main li+li{margin-top:1px}body.noc-tv .noc-problem-main small{font-size:11px}body.noc-tv .noc-companies{gap:6px}body.noc-tv .noc-company-tile{padding:10px;gap:3px}body.noc-tv .noc-tile-head strong{font-size:16px}body.noc-tv .noc-tile-device,body.noc-tv .noc-tile-link,body.noc-tv .noc-company-tile small{font-size:11px}body.noc-tv .noc-tv-button{display:none}body.noc-tv .noc-tv-exit{display:inline-flex}
.noc-detail-toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:0 0 16px;padding:14px 16px;border:1px solid var(--border-subtle);border-radius:var(--r-card);background:var(--surface-card)}.noc-detail-toolbar label{display:grid;gap:5px;min-width:150px;color:var(--text-tertiary);font-size:12px}.noc-breadcrumb{display:flex;gap:8px;align-items:center;margin-right:auto;padding-bottom:8px;color:var(--text-tertiary);font-size:13px}.noc-breadcrumb strong{color:var(--text-primary)}.noc-link-page{display:grid;gap:16px}.noc-link-page .noc-link-quality{margin:0}.noc-series-panel{min-width:0}.noc-series-panel .traffic-chart{height:290px}.noc-quality-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.noc-link-page .noc-link-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}
.noc-insights-grid{display:grid;grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);gap:16px}.experience-card,.path-card,.heatmap-panel{min-width:0;padding:18px}.experience-content{display:flex;align-items:center;gap:20px;min-height:116px}.experience-score{display:grid;place-items:center;width:94px;height:94px;flex:0 0 94px;border:2px solid var(--status-success);border-radius:50%;font:600 38px var(--mono);color:var(--status-success)}.experience-score.atenção{border-color:var(--status-medium);color:var(--status-medium)}.experience-score.ruim{border-color:var(--status-critical);color:var(--status-critical)}.experience-score.sem-dados{border-color:var(--border-strong);color:var(--text-tertiary);font-size:25px}.experience-content ul{padding-left:18px;color:var(--text-secondary);font-size:13px}.experience-content li+li{margin-top:4px}.path-map{display:block;width:100%;height:auto;max-height:180px}.path-map.compact{width:100%;height:48px;max-height:48px}.path-node{fill:var(--surface-sunken);stroke:var(--border-strong);stroke-width:1}.path-node.unintegrated{stroke-dasharray:3 3;opacity:.48}.path-node-label,.path-title{fill:var(--text-secondary);font:12px Poppins,system-ui,sans-serif}.path-title{fill:var(--text-tertiary);font-size:11px}.path-edge-label{fill:var(--text-secondary);font:11px Poppins,system-ui,sans-serif}.path-edge.problem{filter:drop-shadow(0 0 4px #f36b59)}.path-empty{padding:24px;color:var(--text-tertiary)}.noc-mini-score{display:flex;align-items:center;gap:6px;color:var(--text-tertiary);font-size:11px}.noc-mini-score b{color:var(--text-primary);font:600 13px var(--mono)}.quality-heatmap{display:grid;gap:3px;overflow-x:auto}.heat-hours,.heat-row{display:grid;grid-template-columns:52px repeat(24,minmax(8px,1fr));gap:3px;min-width:340px}.heat-hours{margin:0 0 4px;color:var(--text-tertiary);font:9px var(--mono);text-align:center}.heat-row>span{align-self:center;color:var(--text-tertiary);font-size:10px}.heat-cell,.heat-sample{min-width:0;height:14px;padding:0;border:0;border-radius:3px;background:rgba(255,255,255,.045)}.heat-cell:disabled{cursor:default;opacity:.58}.heat-cell.warning,.heat-sample.warning{background:var(--status-medium)}.heat-cell.critical,.heat-sample.critical{background:var(--status-critical)}.heat-cell:not(:disabled){cursor:pointer}.heat-cell:not(:disabled):hover{outline:2px solid var(--text-primary);outline-offset:1px}.heat-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px;color:var(--text-tertiary);font-size:11px}.heat-legend span{display:flex;align-items:center;gap:6px}.heat-sample{display:inline-block;width:12px;height:12px}.noc-company-tile .path-map{margin-top:2px}.noc-company-tile .path-title{font-size:8px}
.noc-correlation{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--border-subtle);border-left:4px solid var(--status-medium);border-radius:var(--r-card);background:var(--surface-sunken)}.noc-correlation.critical{border-color:var(--coral-a35);border-left-color:var(--status-critical);background:var(--status-critical-bg)}.noc-correlation .noc-state-icon{color:var(--status-medium)}.noc-correlation.critical .noc-state-icon{color:var(--status-critical)}.noc-correlation>div{min-width:0;flex:1}.noc-correlation p{margin:4px 0;font-size:13px;color:var(--text-secondary)}.noc-correlation small{font-size:11px;color:var(--text-tertiary)}
@media(max-width:900px){.noc-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.noc-link-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.noc-link-kpis article:nth-child(3){border-right:0}}
@media(max-width:700px){.noc-board{padding:16px;margin-bottom:20px}.noc-heading{align-items:flex-start}.noc-heading h1{font-size:22px}.noc-clock-wrap{gap:6px;justify-content:flex-end}.noc-clock-wrap .hint{max-width:90px;text-align:right;font-size:10px}.noc-clock-wrap #noc-clock{font-size:15px}.noc-tv-button{min-height:34px;padding:0 10px;font-size:11px}.noc-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}.noc-kpi{padding:12px}.noc-kpi strong{font-size:22px}.noc-kpi span,.noc-kpi small{font-size:10px}.noc-section{margin-top:16px}.noc-section-heading .hint{display:none}.noc-companies{display:none}.noc-problem{align-items:flex-start;flex-wrap:wrap;padding:12px}.noc-problem-main{flex-basis:calc(100% - 48px)}.noc-problem>.ghost{margin-left:44px}.noc-link-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.noc-link-kpis article{padding:12px}.noc-link-kpis article:nth-child(3){border-right:1px solid var(--border-subtle)}.noc-link-kpis article:nth-child(2n){border-right:0}.noc-detail-title{margin-top:4px}body.noc-tv main{padding:12px 12px calc(20px + env(safe-area-inset-bottom))}body.noc-tv #noc-board{min-height:calc(100vh - 32px);padding:16px}body.noc-tv .noc-heading h1{font-size:27px}body.noc-tv .noc-kpi strong{font-size:28px}body.noc-tv .noc-problem-main strong{font-size:15px}body.noc-tv .noc-problem-main p{font-size:13px}}
@media(max-width:700px){.noc-detail-toolbar{align-items:stretch;gap:8px}.noc-breadcrumb{flex-basis:100%;margin:0;padding:0}.noc-detail-toolbar label{flex:1 1 130px;min-width:0}.noc-link-page .noc-link-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.noc-quality-grid{grid-template-columns:1fr}.noc-series-panel .traffic-chart{height:250px}}
@media(max-width:850px){.noc-insights-grid{grid-template-columns:1fr}.experience-card,.path-card,.heatmap-panel{padding:14px}.heatmap-panel{overflow:hidden}.heat-hours,.heat-row{grid-template-columns:44px repeat(24,minmax(8px,1fr));gap:2px}.heat-cell{height:12px}}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .svg-port.active .socket-led{opacity:1}
}

.path-edge.standby{opacity:.62}.path-edge.unintegrated{opacity:.55}.path-particle{filter:drop-shadow(0 0 4px currentColor)}.noc-correlation{box-shadow:0 0 0 1px rgba(245,165,36,.12),0 10px 34px rgba(0,0,0,.22)}.noc-correlation.critical{box-shadow:0 0 0 1px rgba(243,107,89,.32),0 0 24px rgba(243,107,89,.12)}@media(min-width:1200px){body.noc-tv .noc-companies-section{flex:1;min-height:0;display:flex;flex-direction:column}body.noc-tv .noc-companies{flex:1;grid-auto-rows:minmax(0,1fr);align-items:stretch}body.noc-tv .noc-company-tile{height:100%;align-content:space-between;grid-template-rows:auto auto auto auto minmax(120px,1fr) auto}body.noc-tv .noc-company-tile .path-map{height:100%;max-height:none;min-height:120px}}
.noc-flow-panel{padding:12px 16px;border:1px solid rgba(50,211,232,.2);border-radius:var(--r-card);background:radial-gradient(ellipse at 0 0,rgba(50,211,232,.08),transparent 42%),linear-gradient(120deg,rgba(12,20,25,.96),rgba(16,17,20,.98));box-shadow:inset 0 1px rgba(117,237,247,.05),0 0 24px rgba(29,188,213,.035)}.noc-flow-status{display:flex;align-items:center;gap:8px;color:var(--text-tertiary);font:10px var(--mono);letter-spacing:.04em}.noc-flow-window{margin-left:auto;color:var(--text-tertiary);font:11px Poppins,system-ui,sans-serif;letter-spacing:0}.noc-flow-pulse{width:7px;height:7px;border-radius:50%;background:#36d5e9;box-shadow:0 0 10px rgba(54,213,233,.8)}.noc-flow-pulse.stale{background:var(--status-medium);box-shadow:0 0 8px rgba(245,165,36,.6)}.noc-flow-rows{display:grid;gap:7px;margin-top:10px}.noc-flow-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(120px,.85fr) minmax(110px,.3fr);align-items:center;gap:14px;min-width:0;padding:3px 0}.noc-flow-identity{display:flex;align-items:center;gap:9px;min-width:0}.noc-flow-logo,.noc-flow-monogram{display:grid;place-items:center;width:20px;height:20px;flex:0 0 20px;object-fit:contain}.noc-flow-monogram{border:1px solid rgba(54,213,233,.32);border-radius:6px;background:rgba(54,213,233,.08);color:#79e7f0;font:600 11px var(--mono)}.noc-flow-name{display:grid;min-width:0;gap:1px}.noc-flow-name strong{overflow:hidden;color:var(--text-primary);font-size:12px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.noc-flow-name small{overflow:hidden;color:var(--text-tertiary);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.noc-flow-meter{height:5px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.07)}.noc-flow-meter>span{display:block;height:100%;min-width:2px;border-radius:inherit;background:linear-gradient(90deg,#1ca8c0,#4ae1ef);box-shadow:0 0 10px rgba(54,213,233,.38);transition:width .35s ease}.noc-flow-rate{text-align:right;font-variant-numeric:tabular-nums}.noc-flow-rate strong{display:block;color:var(--text-primary);font:500 12px var(--mono)}.noc-flow-rate small{display:block;color:#66dce8;font:10px var(--mono)}.noc-flow-state{margin:8px 0 2px;color:var(--text-tertiary);font-size:12px}.noc-flow-foot{margin:6px 0 0;color:var(--text-tertiary);font-size:10px}
body.noc-tv .noc-flow-section{margin-top:8px}body.noc-tv .noc-flow-section .noc-section-heading{margin-bottom:5px}body.noc-tv .noc-flow-panel{padding:7px 12px}body.noc-tv .noc-flow-rows{gap:3px;margin-top:5px}body.noc-tv .noc-flow-row{padding:1px 0;grid-template-columns:minmax(180px,1fr) minmax(120px,.85fr) minmax(110px,.3fr)}body.noc-tv .noc-flow-row:nth-child(n+4){display:none}body.noc-tv .noc-flow-name strong,body.noc-tv .noc-flow-rate strong{font-size:11px}body.noc-tv .noc-flow-name small,body.noc-tv .noc-flow-rate small{font-size:9px}body.noc-tv .noc-flow-foot{display:none}
@media(max-width:700px){.noc-flow-panel{padding:10px}.noc-flow-row{grid-template-columns:minmax(0,1fr) 90px;gap:8px}.noc-flow-meter{grid-column:1 / 2;grid-row:2;margin-left:29px}.noc-flow-rate{grid-column:2;grid-row:1 / 3}.noc-flow-window{display:none}}
.noc-open-flow{font-size:11px;white-space:nowrap}.flow-analysis{display:grid;gap:16px;padding:22px;background:radial-gradient(ellipse at 4% 0,rgba(41,196,219,.08),transparent 34%),var(--surface-card)}.flow-analysis-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.flow-analysis-head h1{margin:5px 0;font-size:27px;letter-spacing:-.04em}.flow-analysis-head h1 span{color:#62deed}.flow-analysis-head p{margin:0;font-size:12px}.flow-analysis-actions{display:flex;gap:7px;flex-wrap:wrap}.flow-analysis-actions button{min-height:34px;font-size:11px}.flow-dimensions,.flow-periods{display:flex;gap:5px;overflow:auto;scrollbar-width:thin}.flow-dimensions button,.flow-periods button{flex:0 0 auto;min-height:34px;padding:0 13px;border:1px solid var(--border-subtle);border-radius:9px;background:var(--surface-sunken);color:var(--text-secondary);font-size:11px}.flow-dimensions button[aria-pressed=true],.flow-periods button[aria-pressed=true]{border-color:rgba(54,213,233,.5);background:rgba(54,213,233,.12);color:#8cecf4;box-shadow:inset 0 0 16px rgba(54,213,233,.05)}.flow-attention{display:grid;grid-template-columns:170px 1fr;align-items:center;gap:12px;padding:13px 16px;background:linear-gradient(100deg,rgba(41,196,219,.055),transparent 70%)}.flow-attention h2,.flow-analysis .panel-heading h2{margin:3px 0;font-size:15px}.flow-attention ul{display:flex;gap:8px;flex-wrap:wrap;margin:0;padding:0;list-style:none}.flow-attention li{padding:7px 10px;border-left:2px solid var(--status-medium);border-radius:5px;background:rgba(245,165,36,.08);color:var(--text-secondary);font-size:11px}.flow-attention li.critical{border-color:var(--status-critical);background:var(--status-critical-bg)}.flow-attention .flow-empty{margin:0}.flow-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.flow-kpis article{display:grid;gap:5px;padding:13px 15px;background:linear-gradient(135deg,rgba(36,50,64,.75),var(--surface-card))}.flow-kpis article>span{color:var(--text-tertiary);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.flow-kpis strong{min-width:0;overflow:hidden;color:var(--text-primary);font:500 20px var(--mono);text-overflow:ellipsis;white-space:nowrap}.flow-kpis small{color:var(--text-tertiary);font-size:10px}.flow-toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.flow-toolbar label{display:grid;gap:5px;min-width:170px;color:var(--text-tertiary);font-size:10px}.flow-toolbar select{height:35px;padding:0 10px;border:1px solid var(--border-subtle);border-radius:8px;background:var(--surface-sunken);color:var(--text-primary)}.flow-toolbar select:disabled{opacity:.55}.flow-periods{margin-left:auto}.flow-analysis-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.85fr);gap:12px}.flow-analysis-grid>.panel{min-width:0;padding:15px}.flow-chart-panel{grid-row:span 2}.flow-analysis .panel-heading{margin-bottom:12px}.flow-analysis .panel-heading .eyebrow{font-size:9px}.flow-legend{display:flex;align-items:center;gap:6px;color:var(--text-tertiary);font-size:10px}.flow-legend i{width:8px;height:8px;border-radius:2px;background:#23bdd2}.flow-legend i.out{margin-left:8px;background:#667cf2}.flow-chart-empty{display:grid;place-content:center;justify-items:center;gap:9px;min-height:270px;padding:25px;text-align:center;border:1px dashed var(--border-subtle);border-radius:10px;background:repeating-linear-gradient(0deg,transparent,transparent 39px,rgba(255,255,255,.025) 40px)}.flow-chart-empty>span{color:#42cada;font-size:30px}.flow-chart-empty strong{font-size:13px;font-weight:500}.flow-chart-empty small{max-width:370px;color:var(--text-tertiary);font-size:11px;line-height:1.6}.flow-analysis-chart{display:block;width:100%;height:auto;min-height:230px}.flow-gridline{stroke:rgba(255,255,255,.07);stroke-width:1}.flow-axis-label{fill:var(--text-tertiary);font:10px var(--mono)}.flow-area-in{fill:rgba(35,189,210,.55)}.flow-area-out{fill:rgba(102,124,242,.62)}.flow-line-in,.flow-line-out{fill:none;stroke:#46d8e7;stroke-width:1.4}.flow-line-out{stroke:#9aa5ff}.flow-chart-note{margin:0;color:var(--text-tertiary);font-size:10px}.flow-ranking ol{display:grid;gap:2px;margin:0;padding:0;list-style:none}.flow-ranking li{display:grid;grid-template-columns:26px minmax(100px,1fr) minmax(56px,.6fr) auto;align-items:center;gap:8px;padding:8px 2px;border-bottom:1px solid rgba(255,255,255,.045)}.flow-ranking li>b{color:var(--text-tertiary);font:10px var(--mono)}.flow-ranking li>span{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.flow-ranking li small{display:block;color:var(--text-tertiary);font-size:9px}.flow-ranking li svg{width:100%;height:24px;overflow:visible}.flow-ranking polyline{fill:none;stroke:#43cfdf;stroke-width:1.7}.flow-ranking li>strong,.flow-content-rows article>strong{color:var(--text-secondary);font:10px var(--mono);white-space:nowrap}.flow-content-rows{display:grid;gap:8px}.flow-content-rows article{display:grid;grid-template-columns:minmax(150px,.9fr) minmax(80px,1fr) 76px;align-items:center;gap:11px}.flow-content-id{display:flex;align-items:center;gap:8px;min-width:0;font-size:11px}.flow-content-id>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flow-content-id small{display:block;color:var(--text-tertiary);font-size:9px}.flow-content-id img,.flow-monogram{width:20px;height:20px;flex:0 0 20px;object-fit:contain}.flow-monogram{display:grid;place-items:center;border:1px solid rgba(54,213,233,.3);border-radius:6px;color:#8cecf4;font:11px var(--mono)}.flow-content-bar{height:5px;overflow:hidden;border-radius:8px;background:rgba(255,255,255,.07)}.flow-content-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1ca8c0,#4ae1ef)}.flow-donut-wrap{display:grid;grid-template-columns:130px 1fr;align-items:center;gap:12px}.flow-donut-wrap svg{width:130px;height:130px;transform:rotate(-90deg)}.flow-donut-segment{cursor:pointer;transition:opacity .15s}.flow-donut-segment:hover,.flow-donut-segment.selected{opacity:.62}.flow-donut-wrap svg text{fill:var(--text-secondary);font:3.6px var(--mono);transform:rotate(90deg);transform-origin:50px 50px}.flow-category-legend{display:grid;gap:4px}.flow-category-legend button{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:7px;padding:5px;border:0;border-radius:5px;background:transparent;color:var(--text-secondary);text-align:left;font-size:10px}.flow-category-legend button:hover,.flow-category-legend button.selected{background:rgba(255,255,255,.055)}.flow-category-legend i{width:8px;height:8px;border-radius:2px;background:var(--category-color)}.flow-category-legend strong{font:10px var(--mono)}.flow-empty{padding:12px;border-radius:8px;background:rgba(255,255,255,.025);color:var(--text-tertiary);font-size:11px;line-height:1.6}.flow-data-note{margin:0;padding:9px 12px;border-left:2px solid var(--border-strong);color:var(--text-tertiary);font-size:10px}
@media(max-width:900px){.flow-analysis-grid{grid-template-columns:1fr}.flow-chart-panel{grid-row:auto}.flow-attention{grid-template-columns:1fr}.flow-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.flow-analysis{padding:14px;gap:12px}.flow-analysis-head{display:grid}.flow-analysis-head h1{font-size:22px}.flow-analysis-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.flow-analysis-actions button{padding:0 5px;font-size:10px}.flow-dimensions button{padding:0 10px}.flow-toolbar{align-items:stretch}.flow-toolbar label{min-width:calc(50% - 6px);flex:1}.flow-periods{width:100%;margin:0}.flow-periods button{flex:1;padding:0 8px}.flow-chart-empty{min-height:220px}.flow-content-rows article{grid-template-columns:minmax(0,1fr) 74px;gap:7px}.flow-content-bar{grid-column:1;grid-row:2;margin-left:28px}.flow-content-rows article>strong{grid-column:2;grid-row:1 / 3;text-align:right}.flow-donut-wrap{grid-template-columns:112px 1fr;gap:8px}.flow-donut-wrap svg{width:112px;height:112px}.flow-ranking li{grid-template-columns:22px minmax(90px,1fr) 55px auto;gap:5px}.flow-ranking li>span{font-size:10px}}
.flow-analysis-head{position:static;z-index:auto;height:auto;padding:0;border:0;border-radius:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;font-size:inherit}.flow-analysis-head>div:first-child{display:block;min-width:0;overflow:visible;white-space:normal;text-overflow:clip}
/* Pele NOC: console de telemetria com sinais cromáticos reservados a condições anormais. */
#noc-board,#noc-link-page,#noc-flow-analysis{--noc-glow:rgba(65,204,224,.14);--noc-line:rgba(75,190,211,.18);--noc-panel:linear-gradient(145deg,rgba(15,28,38,.97),rgba(10,17,24,.98));}
#noc-board{position:relative;isolation:isolate;overflow:hidden;border-color:var(--noc-line);background:radial-gradient(ellipse at 12% 0,rgba(44,176,202,.13),transparent 36%),linear-gradient(150deg,#0d1a24 0%,#0b121a 58%,#10171e 100%);box-shadow:inset 0 1px rgba(122,224,238,.08),0 18px 55px rgba(0,0,0,.24),0 0 38px rgba(47,178,200,.045)}
#noc-board::before{position:absolute;inset:0;z-index:-1;content:"";pointer-events:none;background-image:linear-gradient(rgba(89,185,201,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(89,185,201,.035) 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.66),transparent 82%)}
#noc-board::after{position:absolute;top:0;left:24px;right:24px;height:1px;content:"";pointer-events:none;background:linear-gradient(90deg,transparent,rgba(72,210,229,.58),transparent);box-shadow:0 0 12px var(--noc-glow)}
#noc-board>*{position:relative;z-index:1}
.noc-heading{position:relative;padding:4px 0 18px;border-bottom:1px solid rgba(90,175,190,.14)}
.noc-heading .eyebrow{display:inline-flex;align-items:center;gap:8px;color:#8faab5;font:10px var(--mono);letter-spacing:.15em}
.noc-heading .eyebrow::before{width:6px;height:6px;border-radius:50%;content:"";background:#51cbdc;box-shadow:0 0 10px rgba(81,203,220,.72)}
.noc-heading h1{color:#edf5f7;font-size:30px;letter-spacing:-.035em;text-shadow:0 0 25px rgba(113,212,227,.13)}
.noc-heading p{color:#82939d;font-size:12px;letter-spacing:.015em}
.noc-heading #noc-updated{font:10px var(--mono);color:#91a5af}
.noc-heading #noc-clock{color:#d9edf0;font:500 20px var(--mono);text-shadow:0 0 16px rgba(82,194,210,.2)}
.noc-heading .ghost{border-color:rgba(91,184,199,.2);background:rgba(8,19,27,.62);color:#a9c2ca}
.noc-heading .ghost:hover{border-color:rgba(75,205,224,.48);color:#e5f9fb;box-shadow:0 0 16px rgba(56,183,204,.1)}
.noc-kpis{gap:10px;margin:16px 0 22px}
.noc-kpi{position:relative;overflow:hidden;border-color:rgba(98,155,168,.16);border-radius:12px;background:linear-gradient(145deg,rgba(25,43,55,.91),rgba(13,23,31,.97));box-shadow:inset 0 1px rgba(188,232,238,.035),0 6px 20px rgba(0,0,0,.14)}
.noc-kpi::before{position:absolute;inset:0 0 auto;height:1px;content:"";background:linear-gradient(90deg,transparent,rgba(77,195,214,.35),transparent)}
.noc-kpi span{color:#9cabb2;font-size:10px;letter-spacing:.09em;text-transform:uppercase}
.noc-kpi strong{color:#e6f1f3;font:500 29px var(--mono);text-shadow:0 0 20px rgba(94,196,211,.1)}
.noc-kpi small{color:#71838d;font-size:10px}
.noc-kpi-alert.severity-clear,.noc-kpi-alert.severity-stale,.noc-kpi-alert.severity-warning,.noc-kpi-alert.severity-critical{background:linear-gradient(145deg,rgba(25,43,55,.91),rgba(13,23,31,.97))}
.noc-kpi-alert.severity-stale,.noc-kpi-alert.severity-warning{border-color:rgba(245,165,36,.42)}
.noc-kpi-alert.severity-critical{border-color:rgba(243,107,89,.58);background:linear-gradient(145deg,rgba(70,37,38,.74),rgba(22,23,28,.98))}
.noc-section{position:relative;margin-top:17px;padding-top:2px}
.noc-section-heading{align-items:center;margin-bottom:10px}
.noc-section-heading h2{display:flex;align-items:center;gap:9px;color:#dbe8eb;font-size:13px;letter-spacing:.015em}
.noc-section-heading h2::before{width:5px;height:15px;border-radius:3px;content:"";background:linear-gradient(#57cede,#266e7a);box-shadow:0 0 10px rgba(65,204,224,.2)}
.noc-section-heading .hint{color:#6f838d;font:9px var(--mono);letter-spacing:.035em}
.noc-problem,.noc-clear{border-color:rgba(107,160,171,.16);border-radius:10px;background:linear-gradient(110deg,rgba(19,33,43,.95),rgba(13,21,28,.96));box-shadow:inset 0 1px rgba(193,225,229,.025)}
.noc-problem{border-left-width:3px}
.noc-problem.critical{border-color:rgba(243,107,89,.48);border-left-color:var(--status-critical);background:linear-gradient(110deg,rgba(67,34,36,.68),rgba(18,22,29,.97))}
.noc-problem.warning{border-color:rgba(245,165,36,.22);border-left-color:var(--status-medium);background:linear-gradient(110deg,rgba(39,35,27,.58),rgba(15,22,28,.97))}
.noc-state-icon{display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(103,173,186,.18);border-radius:8px;background:rgba(90,161,176,.07);color:#afc2c8}
.noc-problem-main strong{color:#e1ecef;font-size:13px}
.noc-problem-main p,.noc-problem-main ul{color:#9cabb2}
.noc-problem-main small{color:#71848e;font:9px var(--mono)}
.noc-company-tile{position:relative;overflow:hidden;border-color:rgba(95,155,168,.16);border-radius:11px;background:linear-gradient(145deg,rgba(20,36,46,.95),rgba(12,21,28,.98));box-shadow:inset 0 1px rgba(188,230,235,.035)}
.noc-company-tile::after{position:absolute;top:0;right:12px;width:36px;height:1px;content:"";background:rgba(80,195,213,.34)}
.noc-company-tile:hover{border-color:rgba(77,196,214,.35);box-shadow:0 0 22px rgba(42,158,178,.08)}
.noc-company-tile.warning{border-color:rgba(245,165,36,.4)}
.noc-flow-section .noc-section-heading h2::before{background:linear-gradient(#57cede,#266e7a)}
.noc-flow-panel{border-color:rgba(77,204,222,.23);background:radial-gradient(ellipse at 2% 0,rgba(43,167,190,.15),transparent 40%),linear-gradient(130deg,rgba(13,31,41,.98),rgba(10,18,25,.98));box-shadow:inset 0 1px rgba(147,227,235,.065),0 10px 30px rgba(0,0,0,.16),0 0 26px rgba(37,151,174,.055)}
#noc-link-page>.panel,#noc-link-page .panel,#noc-flow-analysis .panel{border-color:rgba(92,157,170,.17);background:var(--noc-panel);box-shadow:inset 0 1px rgba(172,224,231,.035),0 9px 28px rgba(0,0,0,.14)}
#noc-link-page .noc-link-kpis article{background:linear-gradient(145deg,rgba(23,42,53,.82),rgba(12,21,28,.75))}
#noc-link-page .noc-link-kpis strong{color:#deedf0;font-family:var(--mono)}
#noc-link-page .noc-series-panel .panel-heading h2,#noc-link-page .noc-link-quality h2{color:#dcebee}
#noc-flow-analysis .flow-analysis{border-color:rgba(75,190,211,.22);background:radial-gradient(ellipse at 10% 0,rgba(39,160,183,.14),transparent 36%),linear-gradient(145deg,#0e1b25,#0a1118 72%,#101921);box-shadow:inset 0 1px rgba(122,224,238,.06),0 18px 55px rgba(0,0,0,.23),0 0 32px rgba(47,178,200,.045)}
#noc-flow-analysis .flow-analysis-head h1{color:#edf5f7}
#noc-flow-analysis .flow-analysis-head h1 span{color:#74d9e5}
#noc-flow-analysis .flow-kpis article{background:linear-gradient(145deg,rgba(23,42,53,.96),rgba(12,21,28,.98))}
#noc-flow-analysis .flow-kpis strong{color:#e3f1f3}
#noc-flow-analysis .flow-dimensions button[aria-pressed=true],#noc-flow-analysis .flow-periods button[aria-pressed=true]{border-color:rgba(77,204,222,.42);background:rgba(40,145,163,.12);color:#98e4eb;box-shadow:inset 0 0 18px rgba(49,172,191,.06),0 0 14px rgba(38,163,184,.055)}
#noc-flow-analysis .flow-chart-panel,#noc-flow-analysis .flow-ranking,#noc-flow-analysis .flow-content,#noc-flow-analysis .flow-categories{background:linear-gradient(150deg,rgba(17,31,41,.98),rgba(10,18,25,.99))}
.flow-analysis-chart-live{width:100%;height:310px}
.flow-attention li{border-left-color:rgba(108,160,170,.36);background:rgba(95,143,153,.075)}
.flow-attention li.warning{border-left-color:var(--status-medium);background:rgba(245,165,36,.09)}
.flow-attention li.critical{border-left-color:var(--status-critical);background:var(--status-critical-bg)}
.flow-attention li.info{border-left-color:rgba(88,190,206,.45);background:rgba(88,190,206,.06)}
.flow-export-choice{display:grid;gap:2px;align-content:center;color:#82939d;font-size:9px;text-align:left}
.flow-export-choice select{height:26px;padding:0 5px;border:1px solid rgba(91,184,199,.2);border-radius:6px;background:#0b151d;color:#b9cbd0;font-size:10px}
@media(max-width:700px){#noc-board{padding:15px 13px}.noc-heading{gap:10px;padding-bottom:12px}.noc-heading h1{font-size:22px}.noc-heading .eyebrow{font-size:8px}.noc-clock-wrap{gap:5px;flex-wrap:wrap;max-width:132px}.noc-clock-wrap #noc-updated{width:100%;font-size:8px}.noc-clock-wrap #noc-clock{font-size:15px}.noc-open-flow{padding:0 7px;font-size:9px}.noc-kpi{padding:10px}.noc-kpi strong{font-size:20px}.noc-kpi span,.noc-kpi small{font-size:8px}.noc-section-heading h2{font-size:11px}.noc-section-heading .hint{display:none}.noc-flow-section .noc-section-heading{align-items:flex-start}.noc-flow-section .noc-section-heading .ghost{min-height:30px;padding:0 7px;font-size:9px}.flow-analysis-chart-live{height:245px}.flow-analysis-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.flow-export-choice{display:none}}
body.noc-tv #noc-board{border-color:rgba(75,190,211,.23);box-shadow:inset 0 1px rgba(122,224,238,.08),0 0 70px rgba(47,178,200,.045)}
@media(prefers-reduced-motion:reduce){#noc-board *,#noc-link-page *,#noc-flow-analysis *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Marca de serviço usa o SVG local como máscara para colorir o glifo com a cor oficial. */
.flow-kpis article strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:anywhere;line-height:1.25}


/* Identidade de marca com ativos Simple Icons locais sob CSP sem estilos inline. */
.flow-width-0{width:0%}
.flow-width-1{width:1%}
.flow-width-2{width:2%}
.flow-width-3{width:3%}
.flow-width-4{width:4%}
.flow-width-5{width:5%}
.flow-width-6{width:6%}
.flow-width-7{width:7%}
.flow-width-8{width:8%}
.flow-width-9{width:9%}
.flow-width-10{width:10%}
.flow-width-11{width:11%}
.flow-width-12{width:12%}
.flow-width-13{width:13%}
.flow-width-14{width:14%}
.flow-width-15{width:15%}
.flow-width-16{width:16%}
.flow-width-17{width:17%}
.flow-width-18{width:18%}
.flow-width-19{width:19%}
.flow-width-20{width:20%}
.flow-width-21{width:21%}
.flow-width-22{width:22%}
.flow-width-23{width:23%}
.flow-width-24{width:24%}
.flow-width-25{width:25%}
.flow-width-26{width:26%}
.flow-width-27{width:27%}
.flow-width-28{width:28%}
.flow-width-29{width:29%}
.flow-width-30{width:30%}
.flow-width-31{width:31%}
.flow-width-32{width:32%}
.flow-width-33{width:33%}
.flow-width-34{width:34%}
.flow-width-35{width:35%}
.flow-width-36{width:36%}
.flow-width-37{width:37%}
.flow-width-38{width:38%}
.flow-width-39{width:39%}
.flow-width-40{width:40%}
.flow-width-41{width:41%}
.flow-width-42{width:42%}
.flow-width-43{width:43%}
.flow-width-44{width:44%}
.flow-width-45{width:45%}
.flow-width-46{width:46%}
.flow-width-47{width:47%}
.flow-width-48{width:48%}
.flow-width-49{width:49%}
.flow-width-50{width:50%}
.flow-width-51{width:51%}
.flow-width-52{width:52%}
.flow-width-53{width:53%}
.flow-width-54{width:54%}
.flow-width-55{width:55%}
.flow-width-56{width:56%}
.flow-width-57{width:57%}
.flow-width-58{width:58%}
.flow-width-59{width:59%}
.flow-width-60{width:60%}
.flow-width-61{width:61%}
.flow-width-62{width:62%}
.flow-width-63{width:63%}
.flow-width-64{width:64%}
.flow-width-65{width:65%}
.flow-width-66{width:66%}
.flow-width-67{width:67%}
.flow-width-68{width:68%}
.flow-width-69{width:69%}
.flow-width-70{width:70%}
.flow-width-71{width:71%}
.flow-width-72{width:72%}
.flow-width-73{width:73%}
.flow-width-74{width:74%}
.flow-width-75{width:75%}
.flow-width-76{width:76%}
.flow-width-77{width:77%}
.flow-width-78{width:78%}
.flow-width-79{width:79%}
.flow-width-80{width:80%}
.flow-width-81{width:81%}
.flow-width-82{width:82%}
.flow-width-83{width:83%}
.flow-width-84{width:84%}
.flow-width-85{width:85%}
.flow-width-86{width:86%}
.flow-width-87{width:87%}
.flow-width-88{width:88%}
.flow-width-89{width:89%}
.flow-width-90{width:90%}
.flow-width-91{width:91%}
.flow-width-92{width:92%}
.flow-width-93{width:93%}
.flow-width-94{width:94%}
.flow-width-95{width:95%}
.flow-width-96{width:96%}
.flow-width-97{width:97%}
.flow-width-98{width:98%}
.flow-width-99{width:99%}
.flow-width-100{width:100%}
.flow-category-color-0{--category-color:#29c4db;background:#29c4db}
.flow-category-color-1{--category-color:#56a8e8;background:#56a8e8}
.flow-category-color-2{--category-color:#8a75e8;background:#8a75e8}
.flow-category-color-3{--category-color:#42bd9c;background:#42bd9c}
.flow-category-color-4{--category-color:#6f8599;background:#6f8599}
.flow-category-color-5{--category-color:#b68a52;background:#b68a52}
.flow-category-color-6{--category-color:#c06b74;background:#c06b74}

.flow-service-icon{display:inline-flex;width:20px;height:20px;flex:0 0 20px;align-items:center;justify-content:center}.flow-service-icon svg{display:block;width:20px;height:20px}

/* Ajustes de publicação: mini mapa real e camada de qualidade por link na TV. */
.path-map.compact{height:122px;max-height:122px;min-height:122px;overflow:visible}
.path-label-bg{fill:#101c25;stroke:rgba(77,196,214,.4);stroke-width:1}
.path-map.compact .path-edge-label{font-size:11px;font-weight:600;paint-order:stroke;stroke:#101c25;stroke-width:2px}
.noc-tile-heatmaps{display:none}
.noc-tile-heatrow{display:grid;grid-template-columns:minmax(70px,100px) minmax(0,1fr);align-items:center;gap:7px;min-width:0}
.noc-tile-heatrow>small{overflow:hidden;color:var(--text-tertiary);font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.noc-tile-hours{display:grid;grid-template-columns:repeat(24,minmax(2px,1fr));gap:2px;min-width:0}
.noc-tile-hours i{height:5px;border-radius:2px;background:rgba(255,255,255,.07)}
.noc-tile-hours i.warning{background:var(--status-medium)}.noc-tile-hours i.critical{background:var(--status-critical)}.noc-tile-hours i.empty{background:rgba(255,255,255,.035)}
.noc-analysis-nav{order:5}nav [data-view=flow]{order:6}nav [data-view=reports]{order:7}nav [data-view=manage]{order:8}nav [data-view=users]{order:9}nav [data-view=account]{order:10}
.flow-analysis-actions [data-flow-export=csv]{border-color:rgba(67,207,223,.25);color:#8cecf4}
@media(min-width:1200px){body.noc-tv main{padding:12px 20px}body.noc-tv #noc-board{height:calc(100vh - 24px);padding:14px 22px}body.noc-tv .noc-heading{min-height:49px}body.noc-tv .noc-heading h1{font-size:27px;margin:2px 0}body.noc-tv .noc-heading p{font-size:11px}body.noc-tv .noc-kpis{margin:7px 0;gap:8px}body.noc-tv .noc-kpi{padding:8px 14px}body.noc-tv .noc-kpi strong{font-size:27px;margin:0}body.noc-tv .noc-kpi small{font-size:10px}body.noc-tv .noc-section{margin-top:7px}body.noc-tv .noc-section-heading{margin-bottom:5px}body.noc-tv .noc-section-heading h2{font-size:14px}body.noc-tv .noc-section-heading .hint{font-size:10px}body.noc-tv .noc-problem{padding:6px 10px;gap:8px}body.noc-tv .noc-problem-main strong{font-size:13px}body.noc-tv .noc-problem-main ul{font-size:10px;line-height:1.3}body.noc-tv .noc-problem-main small{font-size:9px}body.noc-tv .noc-correlated{padding:7px 10px;gap:9px}body.noc-tv .noc-correlated p{margin:2px 0;font-size:11px}body.noc-tv .noc-correlated small{font-size:9px}body.noc-tv .noc-companies{gap:7px}body.noc-tv .noc-company-tile{height:auto;align-content:start;grid-template-rows:none;padding:8px 10px;gap:3px}body.noc-tv .noc-tile-head strong{font-size:13px}body.noc-tv .noc-tile-device,body.noc-tv .noc-tile-link,body.noc-tv .noc-company-tile small{font-size:9px}body.noc-tv .noc-company-tile .path-map{height:112px;max-height:112px;min-height:112px}body.noc-tv .noc-tile-heatmaps{display:grid;gap:3px;margin-top:1px}body.noc-tv .noc-tile-hours i{height:4px}body.noc-tv .noc-company-tile > small{margin-top:0}body.noc-tv .noc-flow-panel{padding:5px 10px}body.noc-tv .noc-flow-row{padding:0}body.noc-tv .noc-flow-status{font-size:9px}}
@media(max-width:700px){.flow-analysis-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.flow-analysis-actions [data-flow-export=csv]{min-width:0;font-size:9px}}

.flow-export-menu{position:relative}.flow-export-menu>[data-flow-export-toggle]{border-color:rgba(67,207,223,.3);color:#8cecf4}.flow-export-options{position:absolute;z-index:20;top:calc(100% + 5px);right:0;display:grid;min-width:130px;padding:5px;border:1px solid rgba(67,207,223,.25);border-radius:9px;background:#0c171f;box-shadow:0 12px 32px rgba(0,0,0,.45)}.flow-export-options[hidden]{display:none}.flow-export-options button{min-height:32px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:var(--text-secondary);text-align:left;font-size:11px}.flow-export-options button:hover{background:rgba(54,213,233,.1);color:var(--text-primary)}@media(max-width:700px){.flow-export-menu{min-width:0}.flow-export-menu>[data-flow-export-toggle]{width:100%;padding:0 5px;font-size:10px}}

/* D7 · Operação MSP */
.d7-page{display:grid;gap:16px;padding:22px;border-color:rgba(92,157,170,.2);background:radial-gradient(ellipse at 8% 0,rgba(44,176,202,.1),transparent 34%),linear-gradient(150deg,#0d1a24 0%,#0b121a 58%,#10171e 100%)}
.d7-page>header,.d7-panel>header,.d7-incident>header{position:static;z-index:auto;height:auto;min-height:0;padding:0;border:0;border-radius:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;}
.d7-page-head,.d7-panel>header,.d7-incident>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.d7-page-head h1{margin:4px 0;font-size:27px;color:#e5f1f3}.d7-page-head p{margin:0}
.d7-panel{min-width:0;padding:17px;border-color:rgba(92,157,170,.17);background:linear-gradient(145deg,rgba(15,28,38,.97),rgba(10,17,24,.98))}
.d7-panel>header{align-items:center;margin-bottom:14px}.d7-panel h2{margin:3px 0;color:#dcebee;font-size:17px}.d7-panel label,.d7-maintenance-form label,.d7-sla-form label,.d7-actions label{display:grid;gap:5px;color:var(--text-tertiary);font-size:12px}
.d7-panel select,.d7-panel input,.d7-panel textarea{min-width:0;min-height:38px;padding:8px 10px;border:1px solid var(--border-subtle);border-radius:8px;background:rgba(5,12,18,.75);color:var(--text-primary);font:inherit}
.d7-panel textarea{min-height:70px;resize:vertical}.d7-panel [disabled]{opacity:.55;cursor:not-allowed}
.d7-incident-list{display:grid;gap:12px}.d7-incident{padding:15px;border:1px solid rgba(92,157,170,.17);border-left:3px solid #e2a64b;border-radius:11px;background:rgba(5,13,19,.56)}.d7-incident>header{align-items:flex-start}.d7-incident h3{margin:8px 0 3px;font-size:17px;color:#e7f0f2}.d7-incident header p,.d7-incident p{margin:4px 0;color:var(--text-tertiary);font-size:12px}.d7-state{display:inline-flex;align-items:center;min-height:23px;margin:0 6px 0 0;padding:3px 8px;border:1px solid rgba(89,175,190,.22);border-radius:999px;background:rgba(58,145,157,.08);color:#a8c8ce;font-size:10px;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.d7-state.is-active{border-color:rgba(231,99,83,.35);color:#ff9b89}.d7-state.is-resolved,.d7-state.is-ready{border-color:rgba(76,194,154,.27);color:#8bdabb}.d7-state.is-muted{border-color:rgba(233,177,83,.3);color:#eac27c}.d7-symptoms{max-width:100ch}.d7-affected{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.d7-affected span{padding:5px 8px;border:1px solid rgba(105,151,162,.14);border-radius:7px;background:rgba(89,151,165,.06);font-size:11px;color:#b5c9ce}.d7-actions{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:10px 0;border-block:1px solid rgba(105,151,162,.12)}.d7-actions>span{margin-right:auto;color:var(--text-tertiary);font-size:11px}.d7-actions label{min-width:190px}.d7-notes,.d7-diagnostic{margin-top:9px;border-bottom:1px solid rgba(105,151,162,.12);color:var(--text-secondary)}.d7-notes summary,.d7-diagnostic summary{padding:10px 0;cursor:pointer;color:#b6d5dc;font-size:12px;font-weight:600}.d7-notes ol{display:grid;gap:8px;padding-left:22px}.d7-notes li{padding:9px;border-radius:8px;background:rgba(73,148,163,.07)}.d7-notes time{margin-left:8px;color:var(--text-tertiary);font-size:10px}.d7-notes li p{white-space:pre-wrap;overflow-wrap:anywhere;color:#cfdbde}.d7-notes form,.d7-diagnostic form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin:10px 0}.d7-diagnostic form{grid-template-columns:minmax(0,1fr) minmax(180px,.6fr) auto}.d7-two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px}.d7-maintenance-form,.d7-sla-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:end}.d7-maintenance-form .d7-wide{grid-column:1/-1}.d7-maintenance-form>button{justify-self:start}.d7-maintenance-list{display:grid;gap:8px;margin-top:14px}.d7-maintenance-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid rgba(105,151,162,.13);border-radius:9px;background:rgba(5,13,19,.42)}.d7-maintenance-row.is-active{border-color:rgba(233,177,83,.3)}.d7-maintenance-row strong{display:block;margin:6px 0 3px;color:#dcebee;font-size:12px}.d7-maintenance-row p,.d7-maintenance-row small{margin:3px 0;color:var(--text-tertiary);font-size:11px}.d7-sla-form{grid-template-columns:minmax(0,1fr) minmax(130px,.65fr) auto auto;margin-bottom:12px}.d7-sla-result .table-wrap{max-height:360px;overflow:auto}.d7-sla-result table{min-width:700px}.d7-sla-result td small{display:block;color:var(--text-tertiary);font-size:10px}.d7-data-note{padding:9px 11px;border-left:3px solid #43bed1;background:rgba(54,184,208,.07);color:#a9d7df;font-size:11px}.d7-data-note.is-warning{border-color:#e4ae54;color:#efcd8a;background:rgba(224,166,69,.07)}.d7-channel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.d7-channel-grid article{display:grid;justify-items:start;gap:6px;padding:11px;border:1px solid rgba(105,151,162,.13);border-radius:9px;background:rgba(5,13,19,.42)}.d7-channel-grid strong{color:#dcebee;font-size:12px}.d7-channel-grid small{color:var(--text-tertiary);font-size:10px}.d7-empty{display:grid;gap:4px;padding:17px;border:1px dashed rgba(105,151,162,.21);border-radius:9px;color:var(--text-secondary)}.d7-empty span,.d7-error{color:var(--text-tertiary);font-size:12px}.d7-error{padding:12px;border-left:3px solid #e56b58;background:rgba(225,83,69,.08);color:#ffc0b2}.d7-maintenance-banner{display:flex;align-items:center;gap:12px;margin:0 0 12px;padding:10px 13px;border:1px solid rgba(233,177,83,.38);border-radius:9px;background:rgba(183,117,35,.13);color:#f0d08f}.d7-maintenance-banner strong{flex:none;font-size:10px;letter-spacing:.08em}.d7-maintenance-banner span{flex:1;color:#e5c990;font-size:11px}.d7-maintenance-banner[hidden]{display:none}
.d7-operations-nav{order:6}nav .d7-operations-nav.selected{color:#89e7f1}
@media(max-width:900px){.d7-two-col{grid-template-columns:1fr}.d7-sla-form{grid-template-columns:repeat(2,minmax(0,1fr))}.d7-sla-form button,.d7-sla-form a{justify-self:start}}
@media(max-width:700px){.d7-page{padding:13px;gap:11px}.d7-page>header.d7-page-head{align-items:flex-start;flex-direction:column}.d7-page>header>div:first-child,.d7-panel>header>div:first-child,.d7-incident>header>div:first-child{display:block;min-width:0;white-space:normal;overflow:visible;text-overflow:clip}.d7-page-head h1{font-size:21px}.d7-panel{padding:12px}.d7-panel>header{align-items:flex-start;flex-direction:column}.d7-incident{padding:11px}.d7-incident>header{flex-direction:column}.d7-incident h3{font-size:15px}.d7-incident>header>a{min-height:34px}.d7-actions{align-items:stretch;gap:8px}.d7-actions>span{flex-basis:100%}.d7-actions label{flex:1 1 100%;min-width:0}.d7-actions button{flex:1}.d7-notes form,.d7-diagnostic form{grid-template-columns:1fr}.d7-two-col{gap:11px}.d7-maintenance-form,.d7-sla-form{grid-template-columns:1fr}.d7-maintenance-form .d7-wide{grid-column:auto}.d7-maintenance-row{align-items:flex-start}.d7-channel-grid{grid-template-columns:1fr}.d7-maintenance-banner{align-items:flex-start;flex-wrap:wrap;gap:6px}.d7-maintenance-banner strong{flex-basis:100%}.d7-maintenance-banner span{flex-basis:100%}.d7-maintenance-banner button{min-height:32px}}

/* Lyra monitoring adapter */
.lyra-admin,.lyra-link-panel{border-color:rgba(49,190,214,.24);background:linear-gradient(135deg,rgba(14,31,42,.96),rgba(10,18,26,.97));}
.lyra-config-form,.lyra-binding-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end;margin:16px 0;}
.lyra-config-form label,.lyra-binding-form label{display:grid;gap:6px;color:var(--muted,#9aa6ad);font-size:.82rem;}
.lyra-config-form input:not([type=checkbox]),.lyra-binding-form select{width:100%;min-width:0;}
.lyra-enabled{display:flex!important;align-items:center;gap:8px;}
.lyra-admin h3{margin:20px 0 8px;font-size:1rem;}
.lyra-summary{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0;}
.lyra-summary.is-stale{opacity:.7;}
.lyra-chip{display:inline-flex;align-items:center;gap:4px;border:1px solid rgba(48,192,212,.2);border-radius:999px;padding:4px 9px;color:#b9dce2;background:rgba(35,129,148,.08);font-size:.72rem;line-height:1.3;}
.lyra-chip b{color:#e1edf0;font-weight:600;}
.lyra-chip.warning{border-color:rgba(255,177,91,.45);color:#ffd49b;background:rgba(255,177,91,.08);}
.lyra-chip.unavailable{color:#929ca3;border-color:rgba(160,170,180,.2);background:rgba(160,170,180,.05);}
.lyra-link-panel{margin:16px 0;}
@media(max-width:850px){.lyra-config-form,.lyra-binding-form{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:520px){.lyra-config-form,.lyra-binding-form{grid-template-columns:1fr;}.lyra-admin .d7-page-head,.lyra-admin>header{align-items:flex-start;}}

/* Monitoramento de clientes: densidade operacional com leitura clara por cliente, equipamento e link. */
.noc-live-sync{display:inline-flex;align-items:center;gap:7px;margin-left:9px;padding:5px 9px;border:1px solid rgba(63,204,165,.24);border-radius:999px;background:rgba(63,204,165,.07);color:#76d8b8;font:600 9px var(--mono);letter-spacing:.12em;vertical-align:middle}.noc-live-sync i{width:6px;height:6px;border-radius:50%;background:#56d8aa;box-shadow:0 0 10px #56d8aa;animation:noc-sync-pulse 1.8s ease-out infinite}@keyframes noc-sync-pulse{50%{box-shadow:0 0 0 5px rgba(86,216,170,.08)}}
.noc-client-nav{display:flex;align-items:center;gap:5px;padding:12px 0;border-bottom:1px solid rgba(90,175,190,.12)}.noc-client-nav>button,.noc-incident-filters button,.noc-company-tabs button{min-height:34px;padding:0 13px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-tertiary);font:inherit;font-size:12px;font-weight:500;cursor:pointer}.noc-client-nav>button:hover,.noc-incident-filters button:hover,.noc-company-tabs button:hover{color:var(--text-primary);background:rgba(110,186,198,.06)}.noc-client-nav>button.selected,.noc-incident-filters button.selected{border-color:rgba(73,195,214,.2);background:rgba(73,195,214,.09);color:#9de4ed}.noc-client-search{display:flex;align-items:center;gap:8px;min-width:220px;margin-left:auto;padding:0 10px;border:1px solid rgba(100,159,171,.18);border-radius:8px;background:rgba(7,15,20,.56);color:#718893}.noc-client-search input{width:100%;min-width:0;height:34px;border:0;outline:0;background:transparent;color:var(--text-primary);font:inherit;font-size:12px}.noc-client-search kbd{flex:0 0 auto;padding:2px 5px;border:1px solid rgba(135,170,180,.18);border-radius:4px;color:#81949a;font:9px var(--mono)}.noc-kpi span{display:flex;align-items:center;gap:7px}.noc-kpi span i{display:grid;place-items:center;width:18px;height:18px;border:1px solid rgba(90,194,208,.22);border-radius:5px;color:#66c5d3;font:11px var(--mono);font-style:normal}
.noc-incident-section .noc-section-heading{align-items:center}.noc-incident-filters{display:flex;gap:4px}.noc-incident-filters button{min-height:29px;padding:0 9px;font-size:10px}.noc-incident-list{display:grid;gap:7px}.client-incident{display:grid;grid-template-columns:128px minmax(0,1fr) auto;align-items:center;gap:13px;padding:11px 13px;border:1px solid rgba(104,154,166,.14);border-radius:9px;background:rgba(13,25,33,.75)}.client-incident.is-active{border-left:2px solid var(--status-medium)}.client-incident-state{color:#abb8bd;font:10px var(--mono);letter-spacing:.07em}.client-incident.is-active .client-incident-state{color:var(--status-medium)}.client-incident p,.client-incident small{display:block;margin:3px 0 0;color:var(--text-tertiary);font-size:11px}.client-incident .ghost{white-space:nowrap}
.noc-client-workspace{margin-top:20px}.noc-company-tabs{display:flex;gap:6px;overflow:auto;padding:3px 0 10px;scrollbar-width:thin}.noc-company-tabs button{flex:0 0 auto;min-height:31px;padding:0 11px;border-color:rgba(92,149,160,.13);background:rgba(8,17,23,.44);font-size:11px}.noc-company-tabs button.selected{border-color:rgba(64,194,213,.34);background:rgba(45,161,180,.12);color:#b8eef2}.noc-company-tabs b{margin-left:5px;color:#78939b;font:10px var(--mono)}.noc-client-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.client-company-card,.client-link-card,.client-device-card{min-width:0;padding:14px;border:1px solid rgba(96,151,164,.15);border-radius:11px;background:linear-gradient(145deg,rgba(17,31,40,.91),rgba(10,19,25,.94));box-shadow:inset 0 1px rgba(184,228,234,.035),0 8px 20px rgba(0,0,0,.12)}.client-company-card>header,.client-link-card>header,.client-device-card>header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.client-company-card h3,.client-link-card h3,.client-device-card h3{margin:4px 0;color:#e3eef1;font-size:16px}.client-company-card small,.client-link-card small,.client-device-card header small{color:#7e929a;font-size:10px}.client-card-kicker{color:#76afba;font:9px var(--mono);letter-spacing:.1em}.client-company-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:13px 0 5px}.client-company-stats span{color:#7d929a;font-size:9px}.client-company-stats b{display:block;margin-bottom:3px;color:#d6e4e7;font:500 11px var(--mono)}.client-company-spark{height:38px;color:#49c4d5}.client-company-card>.ghost,.client-link-card>.ghost,.client-device-card>.ghost{min-height:30px;margin-top:9px;padding:0 10px;font-size:10px}
.client-link-card.critical{border-color:rgba(243,107,89,.35)}.client-link-card.warning{border-color:rgba(245,165,36,.3)}.client-link-values{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 13px;margin:12px 0;color:#92a4aa;font-size:10px}.client-link-values strong{color:#ecf6f7;font:500 13px var(--mono)}.client-link-chart{display:grid;gap:3px;color:#46c7d4}.client-link-chart svg,.client-company-spark svg{display:block;width:100%;height:54px;overflow:visible}.client-link-chart .traffic-in,.client-link-chart .traffic-out{fill:none;stroke-width:2;vector-effect:non-scaling-stroke}.client-link-chart .traffic-in{stroke:#44c7d2}.client-link-chart .traffic-out{stroke:#8e9be6}.client-link-chart .capacity-mark,.client-link-chart .limit{stroke:#78878d;stroke-width:1;stroke-dasharray:4 4}.client-link-chart .chart-peak{fill:var(--status-medium)}.client-link-chart .chart-minimum{fill:#8e9be6}.traffic-legend{display:flex;align-items:center;gap:6px;color:#71838a;font-size:9px}.traffic-legend i{width:9px;height:2px;background:#44c7d2}.traffic-legend i.out{margin-left:6px;background:#8e9be6}.traffic-legend i.limit{margin-left:6px;background:#78878d}.client-insights{display:grid;gap:4px;margin:8px 0;padding-left:15px;color:#8ea0a5;font-size:10px}.client-insights li::marker{color:#59aeba}.client-device-status{padding:4px 7px;border:1px solid rgba(71,196,157,.2);border-radius:999px;color:#72d3ae;font:9px var(--mono)}.client-device-status.stale{border-color:rgba(245,165,36,.3);color:var(--status-medium)}.client-device-visual{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0;padding:11px 12px;border:1px solid rgba(91,154,167,.12);border-radius:8px;background:linear-gradient(90deg,rgba(22,41,52,.7),rgba(9,17,23,.3));color:#a6c3ca;font-size:11px}.device-silhouette{color:#7eb5c1;font-size:17px;letter-spacing:2px;text-shadow:0 0 12px rgba(64,188,207,.2)}.client-device-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:10px 0}.client-device-metrics span{padding:7px;border:1px solid rgba(94,144,155,.1);border-radius:7px;color:#718790;font-size:9px}.client-device-metrics b{display:block;margin-top:4px;color:#d3e1e4;font:500 11px var(--mono)}.client-device-log,.client-recommendation{margin:6px 0;color:#83969d;font-size:10px;line-height:1.5}.client-recommendation{padding:7px 9px;border-left:2px solid rgba(79,185,199,.36);background:rgba(22,48,57,.28)}.noc-spark-empty{display:block;padding:14px 0;color:#667982;font-size:10px}.noc-clear{padding:20px;border:1px dashed rgba(104,157,168,.18);border-radius:9px;color:#aab9bd}.noc-clear p{margin:5px 0 0;color:#7c9097;font-size:11px}
#noc-board[data-workspace-tab="traffic"] .noc-attention-section,#noc-board[data-workspace-tab="traffic"] .noc-incident-section,#noc-board[data-workspace-tab="traffic"] .noc-flow-section,#noc-board[data-workspace-tab="devices"] .noc-attention-section,#noc-board[data-workspace-tab="devices"] .noc-incident-section,#noc-board[data-workspace-tab="devices"] .noc-flow-section,#noc-board[data-workspace-tab="links"] .noc-attention-section,#noc-board[data-workspace-tab="links"] .noc-incident-section,#noc-board[data-workspace-tab="links"] .noc-flow-section{display:none}#noc-board[data-workspace-tab="traffic"] .noc-company-tabs,#noc-board[data-workspace-tab="links"] .noc-company-tabs{display:none}
@media(max-width:900px){.noc-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.noc-client-cards{grid-template-columns:1fr}.client-link-card,.client-device-card{padding:12px}}
@media(max-width:700px){.noc-client-nav{gap:2px;overflow:auto}.noc-client-nav>button{flex:0 0 auto;min-height:31px;padding:0 8px;font-size:10px}.noc-client-search{flex:0 0 100%;order:2;margin:5px 0 0}.noc-client-search kbd{display:none}.noc-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.noc-kpi:last-child{grid-column:span 2}.noc-incident-section .noc-section-heading{align-items:flex-start;flex-direction:column}.noc-incident-filters{width:100%}.noc-incident-filters button{flex:1}.client-incident{grid-template-columns:1fr auto;gap:5px 9px;padding:10px}.client-incident-state{grid-column:1/-1}.client-incident p{font-size:10px}.client-incident .ghost{grid-column:2;grid-row:2}.noc-company-tabs{margin-right:-4px}.noc-company-tabs button{font-size:10px}.client-company-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.client-device-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.client-device-visual{align-items:flex-start;flex-direction:column}.client-link-values{gap:5px 8px}.client-link-values strong{font-size:11px}.client-link-chart svg{height:46px}}
@media(min-width:1200px){body.noc-tv .noc-client-nav,body.noc-tv .noc-company-tabs,body.noc-tv .noc-incident-filters,body.noc-tv .noc-client-search{display:none}body.noc-tv #noc-board[data-workspace-tab="overview"] .noc-flow-section{display:none}body.noc-tv #noc-board{overflow:auto!important;height:auto!important;min-height:100vh!important}body.noc-tv main{height:auto!important;overflow:auto!important}body.noc-tv .noc-client-cards{grid-template-columns:repeat(3,minmax(0,1fr))}body.noc-tv .client-company-card{padding:9px}body.noc-tv .noc-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}}
.client-device-visual .equipment-svg{display:block;width:100%;height:auto;max-height:62px;filter:saturate(.76) brightness(.86)}
@media(min-width:1200px){body.noc-tv main{height:100vh!important;overflow:hidden!important;padding:8px 14px!important}body.noc-tv #noc-board{display:flex!important;flex-direction:column;height:calc(100vh - 16px)!important;min-height:0!important;overflow:hidden!important;padding:12px 20px!important}body.noc-tv .noc-client-nav,body.noc-tv .noc-company-tabs,body.noc-tv .noc-incident-filters,body.noc-tv .noc-client-search,body.noc-tv .noc-flow-section{display:none!important}body.noc-tv #noc-board[data-workspace-tab="overview"] .noc-attention-section,body.noc-tv #noc-board[data-workspace-tab="overview"] .noc-incident-section{display:block}body.noc-tv .noc-heading{min-height:42px;padding:0 0 7px}body.noc-tv .noc-heading h1{font-size:23px;margin:0}body.noc-tv .noc-heading p{font-size:10px}body.noc-tv .noc-kpis{grid-template-columns:repeat(5,minmax(0,1fr));margin:7px 0;gap:7px}body.noc-tv .noc-kpi{padding:7px 10px}body.noc-tv .noc-kpi strong{font-size:22px;margin:2px 0}body.noc-tv .noc-kpi small{font-size:8px}body.noc-tv .noc-section{margin-top:6px}body.noc-tv .noc-section-heading{margin-bottom:4px}body.noc-tv .noc-section-heading h2{font-size:13px}body.noc-tv .noc-section-heading .eyebrow{font-size:8px}body.noc-tv .noc-problems{gap:3px}body.noc-tv .noc-problem{padding:5px 8px;gap:7px}body.noc-tv .noc-problem:nth-of-type(n+5){display:none}body.noc-tv .noc-problem-main strong{font-size:11px}body.noc-tv .noc-problem-main ul{font-size:9px}body.noc-tv .noc-problem-main small{font-size:8px}body.noc-tv .noc-incident-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}body.noc-tv .client-incident{grid-template-columns:95px minmax(0,1fr);padding:6px 8px;gap:3px 7px}body.noc-tv .client-incident .ghost{display:none}body.noc-tv .client-incident strong{font-size:10px}body.noc-tv .client-incident p,body.noc-tv .client-incident small{font-size:8px}body.noc-tv .noc-client-workspace{flex:1;min-height:0;overflow:hidden}body.noc-tv .noc-client-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}body.noc-tv .client-company-card{padding:7px}.noc-client-search input{font:inherit;font-size:12px}}
@media(min-width:901px){#noc-board:not(.is-tv) .noc-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}.noc-client-nav{flex-wrap:nowrap}.noc-client-search{width:270px;flex:0 0 270px}}
#noc-companies{display:none!important}
@media(min-width:1200px){body.noc-tv .noc-companies-section{display:block!important}body.noc-tv #noc-companies{display:none!important}body.noc-tv .noc-client-workspace{align-content:start}body.noc-tv .noc-client-cards{align-content:start}}
.noc-client-search{flex-direction:row!important;align-self:center;height:36px;min-height:36px}

/* Evidence-first product summary. */
.network-summary{display:grid;grid-template-columns:1.15fr 1fr;gap:20px;margin:24px 0}.network-verdict,.network-comparison{min-width:0;border:1px solid var(--border,#29404b);border-radius:12px;padding:22px;background:rgba(14,23,30,.65)}.network-verdict h2,.network-comparison h3{font-size:21px;line-height:1.35;margin:12px 0}.network-summary p{font-size:14px;line-height:1.65;color:#b3c1c9}.network-summary small,.network-scope{display:block;color:#97a9b5;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.network-verdict.down{border-left:3px solid #e48686}.network-verdict.attention{border-left:3px solid #d6b574}.network-verdict.unknown{border-left:3px solid #94a9b8}.network-verdict.connected{border-left:3px solid #65bca6}.network-evidence-counts,.network-comparison-values{display:flex;flex-wrap:wrap;gap:12px 22px;margin:18px 0;font-size:13px;color:#b3c1c9}.network-evidence-counts b,.network-comparison-values b{display:block;font-size:23px;color:#e0e9ee;font-variant-numeric:tabular-nums}.network-comparison-scope{overflow-wrap:anywhere}.network-comparison .ghost{display:inline-block;margin:6px 0 12px}.network-comparison-values b{font-size:19px}.client-company-card .network-scope{margin:12px 0}.network-summary .eyebrow{font-size:10px;letter-spacing:.14em}@media(max-width:800px){.network-summary{grid-template-columns:1fr;gap:12px}.network-verdict,.network-comparison{padding:17px}.network-verdict h2,.network-comparison h3{font-size:19px}}

/* Navigation by task; the mobile bar always has four destinations and More. */
aside nav#main-navigation{display:flex;flex-direction:column;gap:0;margin-top:28px;flex:1}
.sidebar-nav-group{display:flex;flex-direction:column;gap:3px;margin-bottom:20px;min-width:0}
.sidebar-group-heading{display:block;margin:0 10px 8px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary)}
#main-navigation button[data-nav-key]{align-items:flex-start;gap:10px;min-height:48px;padding:11px 10px;white-space:normal;line-height:1.3}
#main-navigation button[data-nav-key] .nav-icon{margin-top:2px;width:18px;height:18px}
.nav-item-copy{display:block;font-size:12.5px;font-weight:500;min-width:0}.nav-item-copy small{display:block;margin-top:4px;font-size:10.5px;line-height:1.35;color:var(--text-tertiary);font-weight:400}
#main-navigation button[data-nav-key].selected{background:rgba(249,249,248,.075);box-shadow:inset 2px 0 0 var(--coral)}
#main-navigation button.selected::before{display:none}#main-navigation button:focus-visible{outline:2px solid var(--coral);outline-offset:2px}
#main-navigation [data-nav-group=monitoring]{order:0}#main-navigation [data-nav-group=analysis]{order:10}#main-navigation [data-nav-group=admin]{order:20}#main-navigation [data-nav-group=account]{order:30;margin-top:auto}
#main-navigation #mobile-more{order:99}#navigation-secondary[hidden]{display:none!important}
#view-incidents .d7-operations-nav{min-height:38px;display:flex;align-items:center;gap:8px;border:1px solid var(--border-default);background:transparent;padding:9px 14px;border-radius:var(--r-card);color:var(--text-secondary);font-size:12px}#view-incidents .d7-operations-nav.hidden{display:none}
#view-monitor .page-title,#view-history .page-title,#view-incidents .page-title{gap:12px;flex-wrap:wrap}
@media(max-width:700px){
 aside nav#main-navigation{flex-direction:row;margin:0;gap:0;align-items:stretch}
 #main-navigation>.nav-primary{display:contents}#main-navigation>.nav-primary>.sidebar-group-heading{display:none}
 #main-navigation .nav-primary>button[data-nav-key],#main-navigation #mobile-more{flex:1 1 20%;width:20%;min-width:0;padding:7px 2px;min-height:60px;align-items:center;justify-content:center;gap:4px}
 #main-navigation .nav-primary>button .nav-item-copy{font-size:0;line-height:1}#main-navigation .nav-primary>button .nav-item-copy::after{content:attr(data-short);display:block;font-size:10px;font-weight:500;line-height:1.2}
 #main-navigation .nav-primary>button .nav-item-copy small{display:none}#main-navigation .nav-primary>button[data-nav-key] .nav-icon{width:20px;height:20px;margin:0}
 #main-navigation .nav-primary>button[data-nav-key].selected{background:transparent;box-shadow:inset 0 2px 0 var(--coral)}
 #main-navigation .mobile-more-menu.is-open{display:flex;flex-direction:column;gap:10px;max-height:70dvh;border-radius:16px;padding:16px}
 #main-navigation .mobile-more-menu .sidebar-nav-group{margin-bottom:6px;flex:0 0 auto}
 #main-navigation .mobile-more-menu .sidebar-group-heading{display:block;font-size:10px;margin:0 10px 4px}
 #main-navigation .mobile-more-menu button[data-nav-key]{display:flex;flex-direction:row;align-items:flex-start;width:100%;min-height:50px;padding:10px}
 #main-navigation .mobile-more-menu .nav-item-copy{font-size:13px}#main-navigation .mobile-more-menu .nav-item-copy small{display:block;font-size:11px}
 #main-navigation #mobile-more.selected{box-shadow:inset 0 2px 0 var(--coral)}
}

/* Flow observatory: content, categories, CDN, and a shared timeline. */
.flow-observatory{background:#090f17;padding:20px;gap:18px;min-width:0}.flow-observatory>.flow-analysis-head{position:static;height:auto;background:transparent;border:0;padding:0;min-height:0}.flow-observatory .flow-analysis-head h1{font-size:25px;letter-spacing:-.035em}.flow-observatory .flow-toolbar-scope{margin-left:auto;color:#8292a5;font-size:11px}.flow-observatory .flow-kpis{gap:10px}.flow-observatory .flow-kpis article{background:linear-gradient(150deg,#101a26,#0a141e);border-color:#1b2938}.flow-observatory .flow-no-attention{margin:0;color:#7f94a4;font-size:11px}.flow-content-grid{display:grid;grid-template-columns:minmax(0,1.52fr) minmax(340px,1fr);gap:16px}.flow-observatory .flow-content,.flow-observatory .flow-categories,.flow-observatory .flow-cdn-panel,.flow-observatory .flow-chart-panel,.flow-observatory .flow-ranking{min-width:0;margin:0;padding:17px;border:1px solid #1c2937;border-radius:17px;background:linear-gradient(160deg,#10161e 0%,#09131d 46%,#0d2031 100%);box-shadow:0 8px 25px rgba(0,0,0,.12)}.flow-observatory .panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0 0 10px}.flow-observatory .panel-heading h2{margin:0 0 4px;font-size:14px;font-weight:600;line-height:1.4;color:#e3eaf2}.flow-observatory .panel-heading p,.flow-panel-explanation{margin:0;color:#899aab;font-size:10.5px;line-height:1.6}.flow-panel-explanation{margin-bottom:13px}.flow-rich-rows{display:grid;gap:15px;max-height:420px;overflow:auto;padding:5px 7px 9px 0;scrollbar-width:thin;scrollbar-color:#243649 transparent}.flow-rich-rows article{display:grid;grid-template-columns:minmax(155px,1fr) minmax(80px,1.8fr) 90px;align-items:center;gap:13px;min-height:43px}.flow-rich-identity{display:flex;align-items:center;gap:12px;min-width:0;width:100%;border:0;padding:0;background:transparent;color:#e2ebf3;text-align:left}.flow-rich-identity>span:last-child{min-width:0;display:block}.flow-rich-identity strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:500}.flow-rich-identity small{display:block;margin-top:4px;font-size:9px;color:#7f90a1}.flow-rich-identity .flow-service-icon,.flow-rich-identity .flow-monogram{width:36px;height:36px;flex:0 0 36px;border-radius:9px}.flow-rich-identity .flow-service-icon svg{width:100%;height:100%}.flow-rich-identity .flow-service-icon[data-brand-color="#000000"],.flow-rich-identity .flow-service-icon[data-brand-color="#181717"],.flow-rich-identity .flow-service-icon[data-brand-color="#313131"]{background:#ecf1f6;padding:5px}.flow-rich-identity .flow-monogram{border-color:#24445a;background:#12293b;color:#7ed6e4;font-size:18px}.flow-rich-bar{height:12px;margin:0;background:#111f2d;border:0;border-radius:20px;overflow:hidden}.flow-rich-bar i{width:var(--flow-width,0%);height:100%;background:linear-gradient(90deg,color-mix(in srgb,var(--flow-color,#40b9d5) 65%,#0b1825),var(--flow-color,#40b9d5));border-radius:inherit}.flow-rich-rate{text-align:right;white-space:nowrap;color:#92a7ba;font:10.5px var(--mono)}.flow-cdn-panel .flow-rich-rows.is-cdn{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;max-height:360px}.flow-cdn-panel .flow-rich-rows article{grid-template-columns:minmax(140px,1fr) minmax(70px,1.5fr) 85px}.flow-content-filter{display:flex;justify-content:space-between;gap:8px;margin:8px 0 14px;font-size:11px;color:#b7d9ed}.flow-content-filter button,.flow-chart-selection button{border:0;background:transparent;color:#5ec5fa;font-size:11px}.flow-observatory [hidden]{display:none!important}.flow-donut-visual{width:100%;min-width:0}.flow-donut-svg{display:block;width:100%;height:315px;overflow:visible}.flow-donut-segment{cursor:pointer;transition:opacity .15s}.flow-donut-segment:hover,.flow-donut-segment.selected{opacity:.76;stroke-width:55}.flow-donut-callout{cursor:pointer}.flow-donut-label{fill:#dce7f2;font-family:var(--sans,system-ui);font-size:11px;font-weight:600}.flow-donut-share{fill:#8fa2b4;font:10px var(--mono)}.flow-donut-center-label{fill:#93a8ba;font-family:var(--sans,system-ui);font-size:10px;font-weight:500;letter-spacing:1px}.flow-donut-center-value{fill:#e7f3ff;font:600 19px var(--mono)}.flow-donut-visual.is-compact .flow-donut-callout{display:none}.flow-donut-visual.is-compact .flow-donut-svg{height:260px}.flow-observatory .flow-category-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 10px}.flow-observatory .flow-category-legend button{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:7px;padding:6px;border:1px solid transparent;font-size:10px;min-width:0;line-height:1.4}.flow-observatory .flow-category-legend button.selected{border-color:var(--flow-color,#5fb5db);background:#142434}.flow-category-symbol{display:grid;place-items:center;width:23px;height:23px;color:var(--flow-color,#9cb7c9);background:color-mix(in srgb,var(--flow-color,#397e9e) 17%,transparent);border:1px solid color-mix(in srgb,var(--flow-color,#397e9e) 45%,transparent);border-radius:7px}.flow-category-symbol svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.flow-category-legend strong{font:10px var(--mono);color:#a9bfce}.flow-observatory .flow-chart-note{font-size:10px;line-height:1.65;color:#7f94a8;margin-top:12px}.flow-observatory nav.flow-dimensions{position:static;inset:auto;z-index:auto;height:auto;display:flex;flex-wrap:wrap;padding:0;border:0;background:transparent;gap:6px}.flow-observatory nav.flow-dimensions::after{display:none}.flow-observatory .flow-dimensions button{min-height:32px;border-radius:7px}.flow-observatory .flow-analysis-grid{display:grid;grid-template-columns:minmax(0,3.2fr) minmax(270px,1fr);gap:16px}.flow-observatory .flow-chart-panel{grid-row:auto;min-width:0}.flow-chart-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.flow-chart-actions button{min-height:29px;border-radius:8px;padding:4px 9px;font-size:10px;white-space:nowrap}.flow-chart-actions .flow-periods{display:flex;margin:0;gap:2px;overflow:visible}.flow-chart-actions .flow-periods button{padding:4px 8px;min-height:28px}.flow-observatory .flow-analysis-chart-live{width:100%;height:420px;border:1px solid #172736;border-radius:12px;background:rgba(6,14,22,.5);overflow:hidden}.flow-chart-selection{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;color:#b5d1e3;font-size:11px}.flow-observatory #flow-chart-panel:fullscreen{padding:28px;background:#0b1621;overflow:auto}.flow-observatory #flow-chart-panel:fullscreen .flow-analysis-chart-live{height:calc(100vh - 160px)}.flow-rank-search{display:flex;align-items:center;gap:7px;min-width:0;padding:0 10px;border:1px solid #243443;border-radius:9px;background:#08111a;color:#7991a4}.flow-rank-search input{width:100%;min-width:0;border:0;background:transparent;outline:0;padding:8px 0;color:#ccdae5;font-size:11px}.flow-rank-filters{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0}.flow-rank-filters button{min-height:22px;padding:2px 8px;border:1px solid #233545;border-radius:20px;background:#0d1823;color:#8ca3b6;font-size:9px}.flow-rank-filters button[aria-pressed=true]{border-color:#368ab9;color:#d4efff;background:#123249}.flow-observatory .flow-ranking .flow-entity-list{display:grid;gap:8px;max-height:425px;overflow:auto;padding:0 4px 0 0;scrollbar-width:thin;scrollbar-color:#243649 transparent}.flow-observatory .flow-ranking .flow-entity-list>li{position:relative;display:block;min-width:0;padding:0;border:1px solid #1b2b3a;border-radius:10px;background:rgba(12,24,36,.7);overflow:hidden}.flow-rank-select{display:block;width:100%;border:0;padding:10px 11px 8px;background:transparent;text-align:left;color:#dbe7f0}.flow-rank-select[aria-pressed=true]{background:color-mix(in srgb,var(--flow-color,#4779c5) 13%,transparent);box-shadow:inset 2px 0 var(--flow-color,#4779c5)}.flow-rank-heading{display:flex;align-items:center;gap:7px;min-width:0;padding-right:18px;font-size:10px}.flow-rank-heading>i{width:7px;height:7px;border-radius:50%;background:var(--flow-color);flex:0 0 7px}.flow-rank-heading>strong{font-size:10px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.flow-rank-heading>b{margin-left:auto;flex:0 0 auto;font:10px var(--mono);color:#9db3c7;white-space:nowrap}.flow-rank-meta{display:flex;align-items:center;justify-content:space-between;gap:5px;margin:6px 0;font-size:9px;color:#8da3b6}.flow-rank-meta>span{padding:2px 4px;border-radius:3px;background:color-mix(in srgb,var(--flow-color) 16%,transparent);color:color-mix(in srgb,var(--flow-color) 75%,#fff)}.flow-observatory .flow-ranking .flow-rank-select svg{width:100%;height:29px;display:block}.flow-rank-select svg path{stroke:var(--flow-color);stroke-width:1.6;fill:none}.flow-rank-meter{display:block;height:3px;border-radius:3px;background:#142538;overflow:hidden}.flow-rank-meter i{display:block;width:var(--flow-width,0%);height:100%;border-radius:inherit;background:var(--flow-color)}.flow-rank-detail{position:absolute;right:5px;top:5px;border:0;border-radius:5px;background:#112335;color:#8fafc9;width:22px;height:22px;font-size:12px}.flow-rank-detail:hover{background:#1e3d56;color:#fff}.flow-detail-dialog{position:fixed;inset:0;margin:auto;width:min(620px,calc(100vw - 28px));max-height:80dvh;overflow:auto;border:1px solid #2b4255;border-radius:17px;padding:23px;background:#0d1a27;color:#dceaf4;box-shadow:0 20px 80px #0009}.flow-detail-dialog::backdrop{background:#030811bb;backdrop-filter:blur(5px)}.flow-detail-dialog>header{position:static;height:auto;padding:0 0 16px;margin-bottom:14px;border:0;border-bottom:1px solid #23394b;background:transparent;display:flex;align-items:center;justify-content:space-between;gap:16px}.flow-detail-dialog h2{font-size:18px;margin:0}.flow-detail-dialog>header button{border:1px solid #2a4053;border-radius:7px;width:31px;height:31px;flex:0 0 31px;background:#11283c;color:#dceaf4;font-size:21px}.flow-detail-dialog dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.flow-detail-dialog dt{font-size:11px;color:#8ea6b9;margin-bottom:5px}.flow-detail-dialog dd{font-size:14px;margin:0;overflow-wrap:anywhere}.flow-detail-scope,.flow-detail-limit{font-size:12px;line-height:1.65;color:#93adbf}.flow-detail-limit{padding:12px;border:1px solid #22394d;border-radius:8px;background:#102438}.flow-category-details{list-style:none;margin:0;padding:0}.flow-category-details li{display:grid;grid-template-columns:1fr auto;gap:5px;padding:12px 0;border-bottom:1px solid #22394d;font-size:12px}.flow-category-details li small{grid-column:1 / -1;color:#839eb2;font-size:10px}.flow-category-details li span{font:11px var(--mono)}.flow-observatory button:focus-visible,.flow-observatory [role=button]:focus-visible{outline:2px solid #5bcaff;outline-offset:3px}.flow-observatory .flow-data-note{line-height:1.6}
@media(max-width:1150px){.flow-content-grid{grid-template-columns:1fr}.flow-observatory .flow-analysis-grid{grid-template-columns:1fr}.flow-observatory .flow-ranking .flow-entity-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:450px}.flow-cdn-panel .flow-rich-rows.is-cdn{grid-template-columns:1fr}.flow-donut-visual{max-width:640px;margin:auto}.flow-observatory .flow-categories .flow-category-legend{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.flow-observatory{padding:12px;gap:12px}.flow-observatory .flow-analysis-head{display:block}.flow-observatory .flow-analysis-head h1{font-size:22px}.flow-observatory .flow-analysis-actions{display:flex;margin-top:13px}.flow-observatory .flow-analysis-actions button{flex:1;padding:6px;font-size:10px}.flow-observatory .flow-toolbar-scope{display:none}.flow-observatory .flow-toolbar label{min-width:calc(50% - 5px)}.flow-observatory .flow-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.flow-observatory .flow-kpis strong{font-size:15px}.flow-observatory .flow-content,.flow-observatory .flow-categories,.flow-observatory .flow-cdn-panel,.flow-observatory .flow-chart-panel,.flow-observatory .flow-ranking{padding:13px;border-radius:13px}.flow-rich-rows{gap:13px;max-height:390px}.flow-rich-rows article,.flow-cdn-panel .flow-rich-rows article{grid-template-columns:minmax(0,1fr) 78px;gap:6px}.flow-rich-identity{grid-column:1;grid-row:1;gap:9px}.flow-rich-bar{grid-column:1 / -1;grid-row:2;margin-left:45px;height:9px}.flow-rich-rate{grid-column:2;grid-row:1;text-align:right;font-size:10px}.flow-rich-identity strong{font-size:11px}.flow-observatory .flow-categories .flow-category-legend{grid-template-columns:repeat(2,minmax(0,1fr))}.flow-observatory .flow-chart-panel .panel-heading{display:block}.flow-chart-actions{justify-content:flex-start;margin-top:12px;gap:5px}.flow-chart-actions .flow-periods{flex-wrap:wrap}.flow-observatory .flow-analysis-chart-live{height:300px}.flow-observatory .flow-ranking .flow-entity-list{grid-template-columns:1fr}.flow-observatory .flow-dimensions button{padding:5px 9px;width:auto;font-size:10px;min-height:31px}.flow-detail-dialog{padding:17px}.flow-detail-dialog dl{gap:13px}.flow-detail-dialog dd{font-size:12px}.flow-category-details li{grid-template-columns:1fr}.flow-category-details li small{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.flow-observatory *{scroll-behavior:auto;transition:none!important}}
.flow-observatory .flow-rank-search{display:flex;flex-direction:row;margin:0;min-height:34px}.flow-observatory .flow-rank-search>span{flex:0 0 auto}.flow-observatory .flow-rank-search input{display:block;padding:8px 0}.flow-observatory .flow-donut-segment:focus-visible{outline:2px solid #7edbff;outline-offset:4px}@media(max-width:700px){.flow-observatory .flow-rank-detail{width:32px;height:32px;top:5px;right:5px}.flow-observatory .flow-rank-heading{padding-right:28px}}

/* Flow pilot is rendered from the isolated collector, with company-scoped access. */
.flow-pilot .flow-toolbar{align-items:end;gap:12px}
.flow-pilot-company{display:grid;gap:5px;min-width:190px;padding:8px 11px;border:1px solid #223545;border-radius:9px;background:#0d1823}
.flow-pilot-company small{color:#75899a;font-size:9px;letter-spacing:.12em}
.flow-pilot-company strong{color:#d5e3ed;font-size:12px;font-weight:500}
.flow-pilot .flow-pilot-periods{position:static;display:flex;gap:5px;justify-content:flex-end;margin:0}
.flow-pilot .flow-pilot-periods button{min-height:31px;padding:5px 10px;border:1px solid #243746;border-radius:8px;background:#101d29;color:#91a6b6;font-size:10px}
.flow-pilot .flow-pilot-periods button[aria-pressed=true]{border-color:#338da1;background:#102a35;color:#8fe5ef}
.flow-pilot .flow-pilot-chart,.flow-pilot .flow-pilot-ranking{min-width:0;margin:0;padding:17px;border:1px solid #1c2937;border-radius:16px;background:linear-gradient(160deg,#10161e,#09131d 55%,#0d2031)}
.flow-pilot-chart [data-flow-pilot-chart]{width:100%;height:340px}
.flow-pilot-ranking .table-wrap{max-height:520px;overflow:auto}
.flow-pilot-ranking table{min-width:540px}
.flow-pilot-ranking td:first-child{font-family:var(--mono);font-size:11px;overflow-wrap:anywhere}
.flow-pilot-error{padding:12px;border:1px solid rgba(255,168,87,.28);border-left:3px solid #ffad65;border-radius:8px;background:#171813;color:#e7bc8b;font-size:12px}
.flow-pilot .flow-chart-empty{min-height:180px}
@media(max-width:700px){.flow-pilot .flow-toolbar{align-items:stretch}.flow-pilot-company{min-width:0}.flow-pilot .flow-pilot-periods{justify-content:flex-start;flex-wrap:wrap}.flow-pilot-chart [data-flow-pilot-chart]{height:270px}.flow-pilot .flow-kpis article:last-child{grid-column:1/-1}}
.flow-pilot-services{min-width:0;margin:0;padding:17px;border:1px solid #1c2937;border-radius:16px;background:linear-gradient(155deg,#101b27,#0a1521 60%,#0c1d2b)}.flow-pilot-services .panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.flow-pilot-services .panel-heading h2{margin:0;color:#e1edf5;font-size:15px}.flow-pilot-services .panel-heading p{margin:4px 0 0;color:#8299ab;font-size:10px}.flow-service-coverage{flex:0 0 auto;padding:5px 8px;border:1px solid #20384a;border-radius:999px;color:#8fb4c9;font-size:9px}.flow-pilot-service-list{max-height:390px;overflow:auto;padding-right:5px;scrollbar-width:thin;scrollbar-color:#253c50 transparent}.flow-pilot-category-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.flow-pilot-category-list>span{display:grid;grid-template-columns:auto auto;gap:4px 12px;min-width:130px;padding:7px 9px;border:1px solid #1d3040;border-radius:8px;background:#0c1823;color:#9cb0bf;font-size:9px}.flow-pilot-category-list b{color:#c2d2dd;font:10px var(--mono)}.flow-pilot-category-list i{grid-column:1/-1;display:block;width:var(--flow-width,0%);max-width:100%;height:3px;border-radius:4px;background:#42c7d7}.flow-pilot-services .flow-chart-note{margin-bottom:0}.flow-pilot-services .noc-flow-row{grid-template-columns:minmax(180px,1fr) minmax(100px,.55fr) minmax(100px,.3fr);padding:5px 0;border-bottom:1px solid rgba(96,126,150,.12)}
.noc-flow-panel .noc-flow-rows{max-height:390px;overflow:auto;padding-right:5px;scrollbar-width:thin;scrollbar-color:#253c50 transparent}
@media(max-width:700px){.flow-pilot-services{padding:13px}.flow-pilot-services .panel-heading{align-items:flex-start}.flow-pilot-services .panel-heading h2{font-size:13px}.flow-pilot-services .noc-flow-row{grid-template-columns:minmax(0,1fr) 88px}.flow-pilot-services .noc-flow-meter{grid-column:1 / 2;grid-row:2;margin-left:29px}.flow-pilot-services .noc-flow-rate{grid-column:2;grid-row:1 / 3}.flow-pilot-category-list>span{min-width:calc(50% - 5px);flex:1}}
.flow-pilot-service-charts{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(310px,.9fr);gap:12px;margin-top:14px}.flow-pilot-service-charts>.panel{min-width:0;margin:0;padding:14px;border:1px solid rgba(98,139,169,.16);border-radius:12px;background:linear-gradient(155deg,rgba(12,25,37,.88),rgba(8,17,27,.9))}.flow-pilot-service-charts .panel-heading{margin-bottom:5px}.flow-pilot-service-charts .panel-heading h3,.flow-pilot-all-services>h3{margin:0;color:#dce9f2;font-size:12px;font-weight:550}.flow-pilot-service-charts .panel-heading p{margin:4px 0 0;color:#8299ab;font-size:10px}.flow-pilot-service-rank [data-flow-pilot-services-chart]{width:100%;height:380px}.flow-pilot-service-mix .flow-donut-visual{min-height:270px}.flow-pilot-service-mix .flow-donut-svg{max-width:100%}.flow-pilot-service-mix .flow-category-legend{max-height:140px;overflow:auto;padding-right:4px;scrollbar-width:thin}.flow-pilot-service-mix .flow-category-legend button{min-height:32px}.flow-pilot-service-mix .flow-chart-note{margin-top:8px}.flow-pilot-service-filter{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0;padding:8px 10px;border-left:2px solid #39c3d5;border-radius:6px;background:rgba(30,126,149,.1);color:#a8dce2;font-size:11px}.flow-pilot-service-filter[hidden]{display:none}.flow-pilot-service-filter button{min-height:28px;padding:3px 9px;font-size:10px}.flow-pilot-all-services{margin-top:18px}.flow-pilot-all-services>h3{display:flex;align-items:center;gap:8px;margin-bottom:8px}.flow-pilot-all-services>h3 small{display:grid;place-items:center;min-width:22px;height:20px;padding:0 5px;border:1px solid #234052;border-radius:20px;color:#91c5d1;font:10px var(--mono)}.flow-pilot-service-entry[hidden]{display:none}.flow-pilot-services .flow-donut-callout,.flow-pilot-services .flow-category-legend button{cursor:pointer}.flow-pilot-services [data-category].selected{opacity:.72;filter:drop-shadow(0 0 4px rgba(60,207,224,.4))}.flow-pilot-services .flow-category-legend button.selected{border-color:#40c7d7;background:rgba(41,176,197,.13)}
@media(max-width:900px){.flow-pilot-service-charts{grid-template-columns:minmax(0,1fr)}.flow-pilot-service-mix .flow-donut-visual{min-height:230px}}
@media(max-width:700px){.flow-pilot-service-charts{gap:9px;margin-top:10px}.flow-pilot-service-charts>.panel{padding:10px}.flow-pilot-service-rank [data-flow-pilot-services-chart]{height:330px}.flow-pilot-service-mix .flow-donut-svg{height:275px}.flow-pilot-all-services{margin-top:13px}}

/* Evidence report: offline/print-safe charts, same content as exported HTML. */
.report-evidence{margin:24px 0}.evidence-chart{margin:14px 0;padding:12px;border:1px solid #dbe3ee;border-radius:8px;break-inside:avoid;background:white;color:#172033}.evidence-chart figcaption{font-weight:650}.evidence-chart svg{display:block;width:100%;height:auto}.evidence-legend{font-size:12px;display:flex;flex-wrap:wrap;gap:12px}.evidence-legend span{display:inline-flex;align-items:center;gap:6px}.evidence-legend i{display:inline-block;width:14px;height:3px}.report-evidence td{vertical-align:top}.report-evidence h2{margin-top:26px}

/* Per-client link performance workspace. */
#noc-board[data-workspace-tab="links"] #noc-network-summary,#noc-board[data-workspace-tab="links"] .noc-kpis{display:none}
#noc-board[data-workspace-tab="links"] .noc-company-tabs{display:flex}
#noc-board[data-workspace-tab="links"] .noc-client-workspace{margin-top:22px}
#noc-client-cards[data-tab="links"]{display:block}
.links-workbench{display:flex;align-items:center;flex-wrap:wrap;gap:20px;padding:22px 24px;border:1px solid #274652;border-radius:15px;background:radial-gradient(ellipse at top left,rgba(49,171,185,.12),transparent 70%),#0c1c27;margin-bottom:20px}
.links-workbench>div:first-child{flex:1;min-width:180px}.links-workbench .eyebrow{font-size:9px;letter-spacing:.13em;color:#58c9cd}.links-workbench h3{font-size:21px;letter-spacing:-.6px;margin:7px 0;color:#e2f0f4}.links-workbench p{font-size:11px;color:#8ba5b1;margin:0}.links-workbench>label{display:grid;gap:5px;font-size:10px;color:#a3bbc5}.links-workbench select{min-width:150px;background:#122b37;border-color:#315563;color:#d7ecf2;font-size:12px;border-radius:8px;min-height:38px}
.links-color-legend{display:flex;flex-wrap:wrap;gap:20px;flex-basis:100%;border-top:1px solid #213a47;padding-top:15px;font-size:10px}.links-color-legend span:nth-child(1){color:#42d6cd}.links-color-legend span:nth-child(2){color:#a69bff}.links-color-legend span:nth-child(3){color:#f2bc68}.links-color-legend span:nth-child(4){color:#fb8297}
.links-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.link-performance-card{min-width:0;border:1px solid #25414e;border-radius:15px;background:linear-gradient(155deg,#102632,#0b1923 70%);overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.13),inset 0 1px rgba(183,231,244,.035)}
.link-performance-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:21px 20px 16px;border-bottom:1px solid rgba(85,135,154,.12)}.link-performance-company{font:10px var(--mono);letter-spacing:.12em;color:#71b9c6;text-transform:uppercase}.link-performance-card h3{font-size:20px;font-weight:600;letter-spacing:-.6px;color:#e2f0f4;margin:7px 0 3px}.link-performance-card header small{font-size:9px;color:#7d9aa8;overflow-wrap:anywhere}.link-performance-state{flex-shrink:0;max-width:42%;font:9px var(--mono);line-height:1.7;letter-spacing:.015em;border:1px solid #2d5a52;background:rgba(40,169,136,.08);color:#6bd6b7;border-radius:6px;padding:5px 8px}.link-performance-state.critical{color:#fb8297;background:rgba(251,130,151,.06);border-color:#68404b}.link-performance-state.warning{color:#f2bc68;background:rgba(242,188,104,.06);border-color:#61543a}.link-performance-state.stale,.link-performance-state.unknown{color:#a5b2bd;border-color:#3b4e5a;background:#172630}
.link-performance-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:18px 20px}.link-metric{min-width:0}.link-metric>span{display:block;color:#91aab7;font-size:10px;margin-bottom:8px}.link-metric>strong{display:block;white-space:nowrap;font-size:clamp(12px,1.3vw,20px);letter-spacing:-.5px;font-weight:500;font-variant-numeric:tabular-nums}.link-metric>small{display:block;color:#64818f;font-size:8px;margin-top:6px}.metric-0 strong{color:#42d6cd}.metric-1 strong{color:#a69bff}.metric-2 strong{color:#f2bc68}.metric-3 strong{color:#fb8297}
.link-performance-chart{height:370px;margin:0 12px 8px;min-width:0;touch-action:pan-y}.link-performance-card>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #203743;padding:11px 19px;background:rgba(3,12,20,.15)}.link-performance-card footer>span{font-size:9px;color:#6f8b9b}.link-performance-card footer button.ghost{font-size:10px;min-height:28px;padding:4px 8px;color:#8cc8d4;border-color:transparent}.links-measurement-note{margin:18px 0 4px;color:#7895a4;font-size:10px;line-height:1.8}
@media(min-width:1900px){.links-chart-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1100px){.links-chart-grid{grid-template-columns:1fr}.link-metric>strong{font-size:20px}}
@media(max-width:600px){.links-workbench{padding:17px;gap:16px}.links-workbench h3{font-size:18px}.links-workbench>label{width:100%}.links-workbench select{width:100%}.links-color-legend{gap:14px;font-size:9px}.link-performance-card>header{padding:16px 14px;gap:8px}.link-performance-card h3{font-size:18px}.link-performance-state{font-size:8px;padding:4px 6px}.link-performance-values{padding:16px 14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.link-metric>strong{font-size:20px}.link-performance-chart{margin-right:7px;margin-left:4px}.links-chart-grid{gap:15px}.link-performance-card>footer{padding:10px 13px}}
.link-performance-card>header{position:static;top:auto;height:auto;z-index:auto;background:transparent;backdrop-filter:none}.link-performance-card>footer{position:static;height:auto;margin:0;letter-spacing:normal;text-transform:none}
@media(max-width:600px){#noc-board[data-workspace-tab="links"] .noc-client-nav{flex-wrap:wrap;overflow:visible;background:transparent;height:auto;gap:6px;padding:12px 0}#noc-board[data-workspace-tab="links"] .noc-client-search{flex:1 0 100%;width:100%;margin:5px 0 0;min-width:0}#noc-board[data-workspace-tab="links"] .noc-client-search input{min-width:0;width:100%}}
.link-performance-card>header>div:first-child{display:block;min-width:0;white-space:normal;overflow:visible;text-overflow:clip}

/* Client portal: the company's own network, links and evidence. */
.customer-portal .noc-kpis,.customer-portal .noc-attention-section,.customer-portal .noc-incident-section,.customer-portal .noc-flow-section,.customer-portal .noc-company-tabs{display:none!important}
.customer-portal .noc-heading{align-items:center}.customer-portal .noc-heading h1{font-size:clamp(25px,2.5vw,35px);letter-spacing:-1.1px}.customer-portal .noc-heading>.noc-clock-wrap .noc-tv-button,.customer-portal .noc-heading .noc-open-flow{display:none}.customer-portal .noc-heading .muted{max-width:600px;line-height:1.8}.customer-portal .noc-client-workspace{margin-top:26px}.customer-portal .noc-client-workspace>.noc-section-heading{margin-bottom:17px}
.customer-section-label{color:#76bcca;font:10px var(--mono);letter-spacing:.13em;line-height:1.8}.customer-network-overview{display:grid;grid-template-columns:1.3fr 1fr;border:1px solid #2b505d;border-radius:16px;background:radial-gradient(ellipse at 0 0,rgba(52,166,160,.13),transparent 70%),#0d202b;overflow:hidden}.customer-network-verdict{padding:25px 27px}.customer-network-verdict h2{display:flex;align-items:center;gap:11px;color:#e0eef4;font-size:23px;letter-spacing:-.6px;margin:14px 0 11px;border:0;line-height:1.4}.customer-network-verdict h2 i{display:block;flex:none;width:9px;height:9px;border-radius:50%;background:#8da2ad;box-shadow:0 0 0 5px #8da2ad12}.customer-network-overview.connected h2 i{background:#51d6ac;box-shadow:0 0 0 5px #51d6ac12}.customer-network-overview.attention h2 i{background:#f2bc68}.customer-network-overview.down h2 i{background:#fb8297}.customer-network-verdict>p{color:#91acb8;line-height:1.9;font-size:11px;margin:0;max-width:500px}.customer-network-counts{display:flex;flex-wrap:wrap;gap:20px;margin:22px 0 17px;color:#9ab5bf;font-size:10px}.customer-network-counts b{font:500 20px var(--mono);color:#d2e5ec;margin-right:5px}.customer-network-verdict>small{color:#688895;font-size:9px}
.customer-network-throughput{padding:25px 27px;border-left:1px solid #28434e;display:flex;flex-direction:column;justify-content:center;background:rgba(2,12,20,.12)}.customer-network-throughput>div{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:18px 0 14px}.customer-network-throughput>div>span{font-size:10px;color:#8da8b5}.customer-network-throughput strong{display:block;margin-top:8px;color:#42d6cd;font-size:clamp(18px,1.8vw,27px);font-weight:500;letter-spacing:-.8px;font-variant-numeric:tabular-nums;white-space:nowrap}.customer-network-throughput>div>span+span strong{color:#a69bff}.customer-network-throughput>small{color:#6f909f;font-size:9px;line-height:1.9}.customer-network-throughput>.primary{margin-top:18px;min-height:38px;text-align:center;align-self:flex-start;background:#123c44;border:1px solid #2d6871;color:#a6edf0;font-size:11px;padding:9px 15px;border-radius:8px}.customer-network-throughput>.primary:hover{background:#194d57}
.customer-portal #noc-client-cards[data-tab="overview"]{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.customer-connection{min-width:0;border:1px solid #274652;border-radius:14px;background:linear-gradient(150deg,#122c37,#0c1c27);padding:20px;box-shadow:0 8px 20px #00000012}.customer-connection-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:18px}.customer-connection-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid #31525c;border-radius:10px;color:#6cd4d3;background:#17383f;font-size:21px}.customer-connection-status{font-size:9px;color:#8fa8b4;display:flex;gap:6px;align-items:center}.customer-connection-status i{width:6px;height:6px;border-radius:50%;background:currentColor}.customer-connection.connected .customer-connection-status{color:#60d3af}.customer-connection.attention .customer-connection-status{color:#efbf75}.customer-connection.down .customer-connection-status{color:#fb8297}.customer-connection h3{margin:0 0 5px;color:#dcecf2;font-size:19px;letter-spacing:-.6px;overflow-wrap:anywhere}.customer-connection>p{font-size:10px;color:#7596a5;margin:0 0 23px}.customer-connection-rates,.customer-connection-quality{display:grid;grid-template-columns:1fr 1fr;gap:10px}.customer-connection-rates>span,.customer-connection-quality>span{color:#8daab8;font-size:9px;min-width:0}.customer-connection-rates strong{display:block;margin-top:8px;font-size:clamp(14px,1.4vw,21px);color:#42d6cd;white-space:nowrap;font-weight:500;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.customer-connection-rates>span+span strong{color:#a69bff}.customer-connection-quality{border-top:1px solid #24424f;margin-top:22px;padding-top:17px}.customer-connection-quality b{display:block;margin-top:7px;font:500 17px var(--mono);color:#c9dde7}.customer-connection>small{font-size:8px;line-height:1.8;color:#678896;display:block;margin-top:18px}.customer-connection>.ghost{border:0;border-top:1px solid #24424f;border-radius:0;background:transparent;color:#8dcbd6;font-size:11px;width:100%;display:flex;justify-content:space-between;align-items:center;margin-top:17px;padding:14px 0 0;min-height:30px}.customer-connection>.ghost:hover{color:#c4f4f2}
.customer-report-guide{display:none}.client-view .customer-report-guide{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:0 0 24px}.customer-report-guide>button{display:flex;flex-direction:column;align-items:flex-start;white-space:normal;text-align:left;min-height:150px;border:1px solid #294650;background:linear-gradient(145deg,#122b35,#0d1c26);border-radius:13px;padding:19px;color:#d5e7ef;gap:10px}.customer-report-guide>button[aria-pressed="true"]{border-color:#48b4bd;background:#12333f;box-shadow:inset 0 0 0 1px #48b4bd30}.customer-report-guide i{display:grid;place-items:center;width:31px;height:31px;background:#1c424b;border-radius:9px;color:#7bdcda;font:normal 22px var(--mono)}.customer-report-guide strong{font-size:12px;font-weight:500}.customer-report-guide span{font-size:10px;color:#87a6b4;line-height:1.8}.client-view .reports-form{border-radius:13px;border-color:#294650}.customer-report-empty{text-align:center;padding:28px 20px;max-width:620px;margin:auto}.customer-report-empty strong{font-size:15px;color:#c5dce6}.customer-report-empty p{font-size:11px;color:#7f9fac;line-height:1.9;margin-top:10px}.client-view .admin-only{display:none!important}.client-view #view-monitor .stats{display:none}.client-view #view-account .form-panel{border-radius:15px}
.customer-flow-unavailable{max-width:850px;padding:40px!important;background:linear-gradient(135deg,#132d39,#0c1d28);border-color:#294b5c!important;border-radius:17px!important}.customer-flow-unavailable h1{font-size:28px;line-height:1.5;letter-spacing:-.8px;color:#d9eaf2;margin:18px 0 15px}.customer-flow-unavailable p{font-size:13px;line-height:1.9;max-width:660px;color:#8daaba}.customer-flow-unavailable>div{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0}.customer-flow-unavailable small{font-size:10px;color:#648795}.customer-flow-note{padding:18px;color:#8daaba}.customer-flow-note strong{color:#c1dce8}.customer-flow-note p{font-size:11px;line-height:1.8}
@media(max-width:1100px){.customer-portal #noc-client-cards[data-tab="overview"]{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-network-overview{grid-template-columns:1fr}.customer-network-throughput{border-left:0;border-top:1px solid #28434e}.customer-network-throughput strong{font-size:25px}.client-view .customer-report-guide{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.customer-portal .noc-heading{display:block}.customer-portal .noc-heading h1{font-size:26px;line-height:1.35}.customer-portal .noc-clock-wrap{align-items:flex-start;justify-content:flex-start;padding-top:12px}.customer-portal #noc-clock{display:none}.customer-portal .noc-client-nav{flex-wrap:wrap;overflow:visible;background:transparent;padding:10px 0;height:auto;gap:5px}.customer-portal .noc-client-search{flex:1 0 100%;min-width:0;width:100%;margin:5px 0}.customer-portal .noc-client-search input{min-width:0;width:100%}.customer-network-verdict,.customer-network-throughput{padding:21px 18px}.customer-network-verdict h2{font-size:20px}.customer-network-verdict>p{font-size:11px}.customer-network-counts{gap:13px}.customer-network-counts b{font-size:17px}.customer-network-throughput strong{font-size:22px}.customer-portal #noc-client-cards[data-tab="overview"]{grid-template-columns:1fr}.customer-connection{padding:20px}.customer-connection-rates strong{font-size:24px}.customer-portal .noc-client-workspace>.noc-section-heading>.hint{display:none}.customer-flow-unavailable{padding:24px!important}.customer-flow-unavailable h1{font-size:23px}.customer-report-guide>button{padding:14px;min-height:145px}.customer-report-guide strong{font-size:11px}.customer-report-guide span{font-size:9px}.client-view #view-reports .page-title h1{font-size:27px}}
.customer-portal #noc-network-summary{display:block}.client-view .reports-form{grid-template-columns:repeat(3,minmax(0,1fr)) auto}.customer-portal .noc-client-nav [data-overview-tab]{white-space:nowrap}
@media(max-width:900px){.client-view .reports-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.client-view .reports-form{grid-template-columns:1fr}}
.customer-portal .client-device-card>header{position:static;top:auto;height:auto;background:transparent;backdrop-filter:none;z-index:auto;white-space:normal;gap:14px;flex-wrap:wrap;align-items:flex-start;margin-bottom:16px}.customer-portal .client-device-card>header>div:first-child{display:block;min-width:0;white-space:normal;overflow:visible;text-overflow:clip}.customer-portal .client-device-card>header h3{overflow-wrap:anywhere}.customer-portal .client-device-card{padding:22px;border-radius:14px}.customer-portal .client-device-status{font-size:9px;line-height:1.8}.customer-portal .client-device-metrics{gap:17px;margin:20px 0}.customer-portal .client-device-metrics b{font-size:17px}.customer-portal #noc-client-cards[data-tab="devices"]{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.customer-portal #noc-client-cards[data-tab="devices"]{grid-template-columns:1fr}.customer-portal .client-device-card{padding:18px}.customer-portal .client-device-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
.customer-portal[data-workspace-tab="devices"] #noc-network-summary{display:none}
