/* ============================================================================
   Tech Support Aviation — custom styles (loaded via h5.json at assets/css/style.css).

   Two worlds:
   1) NODE PAGES (node renderers / workbenches): `av-*` classes on Mosaik theme tokens
      (var(--tss-*)) — light/dark aware, 1AAL-style.
   2) ANALYTIC SCREENS: the original dark "Claude-Design" system, ported verbatim but
      SCOPED under `.av-screen` (and `.av-deck`) so it needs no shadow DOM and never clashes
      with Mosaik's stylesheet. Domain identity colours come from Palette.cs (set inline);
      everything static lives here.
   @import fonts (IBM Plex) — font faces are global.
   ============================================================================ */
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&family=Saira:wght@300;400;500;600;700&family=Saira+Condensed:wght@500;600;700&display=swap');

/* ─────────────────────────── NODE-PAGE atoms (Mosaik-themed) ─────────────── */
.av-section-card { background: var(--tss-default-background-color); border: 1px solid var(--tss-default-border-color); border-radius: 12px; padding: 16px 18px; box-shadow: 0 1px 2px rgba(15,23,42,.04); box-sizing: border-box; }
.av-section-header, .av-section-heading { font-size: 11px; font-weight: 700; color: var(--tss-secondary-foreground-color); text-transform: uppercase; letter-spacing: .09em; margin-bottom: 12px; padding-bottom: 9px; border-bottom: 1px solid var(--tss-default-border-color); display: flex; align-items: center; gap: 8px; }
.av-section-heading { margin-bottom: 10px; flex-shrink: 0; }
.av-accent-bar { display: inline-block; width: 3px; height: 12px; border-radius: 2px; flex-shrink: 0; }
.av-section-header__label-tb { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .09em; color: var(--tss-secondary-foreground-color); }
.av-section-header__meta-tb { font-size: 11px; font-weight: 500; color: var(--tss-secondary-foreground-color); }
.av-mini-heading { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--tss-secondary-foreground-color); margin: 6px 0 3px; }
.av-field-grid__label { font-family: monospace; font-size: 12px; font-weight: 500; color: var(--tss-secondary-foreground-color); padding-top: 2px; }
.av-field-grid__value { font-size: 13px; line-height: 1.55; white-space: pre-wrap; word-break: break-word; }
.av-longtext { font-size: 13px; line-height: 1.55; white-space: pre-wrap; word-break: break-word; }
.av-longtext__toggle { color: var(--tss-primary-background-color); cursor: pointer; font-size: 12px; font-weight: 600; margin-top: 6px; }
.av-node-chip { display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; font-weight: 600; padding: 3px 10px; border-radius: 999px; border: 1px solid var(--tss-default-border-color); background: var(--tss-default-background-color); white-space: nowrap; }
.av-node-chip--clickable { cursor: pointer; } .av-node-chip--clickable:hover { background: var(--tss-secondary-background-color); }
.av-node-chip-dot { width: 7px; height: 7px; border-radius: 2px; flex-shrink: 0; }
.av-graph-host { position: relative; width: 100%; height: 560px; }

/* ═══════════════════════════ ANALYTIC SCREENS (dark design) ═══════════════ */
.av-screen{
  --bg:#080b12; --bg-2:#0b0f1a; --panel:#0f1422; --panel-2:#121829; --panel-3:#161d31; --panel-hover:#19203358;
  --line:rgba(255,255,255,.07); --line-2:rgba(255,255,255,.12); --line-3:rgba(255,255,255,.18);
  --txt:#e7eaf2; --txt-2:#9aa3b8; --txt-3:#69728a; --txt-4:#4a5266;
  --accent:#5b63ff; --accent-2:#7c83ff; --accent-3:#a0a5ff; --accent-soft:rgba(91,99,255,.16); --accent-soft-2:rgba(91,99,255,.10);
  --red:#f5484b; --red-2:#ff7174; --red-soft:rgba(245,72,75,.14);
  --amber:#f3a23a; --amber-2:#f7b85e; --amber-soft:rgba(243,162,58,.14);
  --green:#2ec27e; --green-2:#46d397; --green-soft:rgba(46,194,126,.14);
  --cyan:#34c2cc; --cyan-soft:rgba(52,194,204,.14);
  --font-sans:'IBM Plex Sans',system-ui,sans-serif; --font-mono:'IBM Plex Mono',ui-monospace,monospace;
  --r-sm:7px; --r-md:10px; --r-lg:12px; --r-xl:14px; --r-2xl:18px; --r-full:9999px;
  --shadow-sm:0 6px 18px rgba(0,0,0,.35); --shadow:0 18px 50px rgba(0,0,0,.55); --violet:#c879f0;
  background:
    radial-gradient(1100px 600px at 80% -10%, rgba(91,99,255,.09), transparent 60%),
    radial-gradient(900px 520px at -6% 112%, rgba(52,194,204,.05), transparent 55%),
    var(--bg);
  color:var(--txt); font-family:var(--font-sans); font-size:14px; -webkit-font-smoothing:antialiased;
}
.av-screen *{box-sizing:border-box}
.av-screen .mono{font-family:var(--font-mono)}

/* header */
.av-screen .phead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-shrink:0}
.av-screen .eyebrow{font-size:11px;letter-spacing:.16em;color:var(--txt-3);text-transform:uppercase}
.av-screen .h1{font-size:21px;font-weight:600;margin:6px 0 3px;display:flex;align-items:center;gap:11px;letter-spacing:-.01em;color:var(--txt)}
.av-screen .h1 .live{font-size:10px;letter-spacing:.1em;color:var(--green);display:inline-flex;align-items:center;gap:6px;font-weight:600}
.av-screen .sub{color:var(--txt-2);font-size:12.5px}
.av-screen .dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(46,194,126,.5);animation:av-dotpulse 2.4s infinite}
@keyframes av-dotpulse{0%{box-shadow:0 0 0 0 rgba(46,194,126,.45)}70%{box-shadow:0 0 0 7px rgba(46,194,126,0)}100%{box-shadow:0 0 0 0 rgba(46,194,126,0)}}

/* cards */
.av-screen .card{background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:var(--r-xl)}
.av-screen .card-h{padding:13px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:9px;font-size:12px;font-weight:600;color:var(--txt)}
.av-screen .card-h .ico{width:26px;height:26px;border-radius:8px;background:var(--accent-soft);display:grid;place-items:center;color:var(--accent-2);flex-shrink:0}
.av-screen .card-h .ico svg,.av-screen .card-h .ico .tss-icon{width:14px;height:14px}
.av-screen .card-h .meta{margin-left:auto;font-size:11px;color:var(--txt-3);font-weight:500}
.av-screen .card-b{padding:14px 16px}
.av-screen .empty{color:var(--txt-3);font-size:12.5px;padding:12px 2px}

/* KPI hero */
.av-screen .kpi{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 16px;min-width:0}
.av-screen .kpi .glow{position:absolute;right:-26px;top:-26px;width:84px;height:84px;border-radius:50%;filter:blur(42px);opacity:.16}
.av-screen .kpi .kl{font-size:10.5px;color:var(--txt-2);text-transform:uppercase;letter-spacing:.07em;display:flex;align-items:center;gap:6px}
.av-screen .kpi .kv{font-size:27px;font-weight:600;margin-top:8px;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1}
.av-screen .kpi .kf{font-size:11px;margin-top:7px;color:var(--txt-3)}
.av-screen .kpi.clickable{cursor:pointer;transition:.14s} .av-screen .kpi.clickable:hover{border-color:var(--line-2);transform:translateY(-1px)}

/* pills / chips */
.av-screen .pill{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:600;padding:3px 9px;border-radius:var(--r-full);white-space:nowrap}
.av-screen .p-aog{background:var(--red-soft);color:var(--red-2)}
.av-screen .p-urgent{background:var(--amber-soft);color:var(--amber-2)}
.av-screen .p-normal{background:rgba(255,255,255,.06);color:var(--txt-2)}
.av-screen .p-open{background:var(--accent-soft);color:var(--accent-2)}
.av-screen .p-closed{background:var(--green-soft);color:var(--green-2)}
.av-screen .p-active{background:var(--red-soft);color:var(--red-2)}
.av-screen .p-emerging{background:var(--amber-soft);color:var(--amber-2)}
.av-screen .p-contained{background:var(--accent-soft);color:var(--accent-2)}
.av-screen .p-resolved{background:var(--green-soft);color:var(--green-2)}
.av-screen .chip{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;color:var(--txt-2);background:rgba(255,255,255,.05);border:1px solid var(--line);padding:3px 8px;border-radius:var(--r-sm);white-space:nowrap}
.av-screen .chip .swatch{width:8px;height:8px;border-radius:2px;flex-shrink:0}
.av-screen .chip.clickable{cursor:pointer} .av-screen .chip.clickable:hover{border-color:var(--line-2);color:var(--txt)}

/* bars */
.av-screen .bars{display:flex;flex-direction:column;gap:9px}
.av-screen .bar-track{height:9px;background:rgba(255,255,255,.05);border-radius:6px;overflow:hidden;position:relative}
.av-screen .bar-fill{height:100%;border-radius:6px;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .8s cubic-bezier(.2,.8,.2,1)}
.av-screen .abar{display:grid;grid-template-columns:190px 1fr auto;align-items:center;gap:12px;padding:5px 0;font-size:12.5px;text-decoration:none;color:inherit;cursor:pointer}
.av-screen .abar:hover .nm{color:#fff}
.av-screen .abar .nm{display:flex;align-items:center;gap:9px;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.av-screen .abar .rk{font-size:10px;color:var(--txt-3);width:14px;text-align:right;flex-shrink:0}
.av-screen .abar .logo{min-width:24px;height:18px;padding:0 4px;border-radius:5px;flex-shrink:0;display:grid;place-items:center;font-size:8.5px;font-weight:700;color:#fff;background:#304cb2;font-family:var(--font-mono)}
.av-screen .abar .tot{font-variant-numeric:tabular-nums;font-weight:600;text-align:right;display:flex;align-items:center;justify-content:flex-end;gap:8px}
.av-screen .abar .aogc{font-size:9.5px;font-weight:700;color:var(--red-2);background:var(--red-soft);padding:2px 6px;border-radius:5px;white-space:nowrap}
.av-screen .stack-track{height:12px;background:rgba(255,255,255,.04);border-radius:6px;overflow:hidden}
.av-screen .stack{display:flex;height:100%;border-radius:6px;overflow:hidden}
.av-screen .stack i{display:block;height:100%}
.av-screen .seg-closed{background:rgba(124,131,255,.32)} .av-screen .seg-open{background:var(--accent-2)} .av-screen .seg-urgent{background:var(--amber)} .av-screen .seg-aog{background:var(--red)}
.av-screen .legend-foot{display:flex;gap:16px;margin-top:12px;padding-top:11px;border-top:1px solid var(--line);font-size:10.5px;color:var(--txt-3)}
.av-screen .legend-foot span{display:flex;align-items:center;gap:6px} .av-screen .legend-foot i{width:9px;height:9px;border-radius:3px;display:inline-block}

/* pattern cards (systemic patterns) */
.av-screen .pat{display:block;text-decoration:none;color:inherit;border:1px solid var(--line);border-radius:var(--r-lg);padding:12px 14px;margin-bottom:10px;background:var(--panel);transition:.14s;position:relative;cursor:pointer}
.av-screen .pat:last-child{margin-bottom:0} .av-screen .pat:hover{border-color:var(--line-2);background:var(--panel-3)}
.av-screen .pat .pt{display:flex;align-items:flex-start;gap:9px}
.av-screen .pat .sevdot{width:8px;height:8px;border-radius:50%;margin-top:5px;flex-shrink:0}
.av-screen .pat.red .sevdot{background:var(--red)} .av-screen .pat.amber .sevdot{background:var(--amber)}
.av-screen .pat .ptitle{font-size:12.5px;font-weight:600;flex:1;line-height:1.35}
.av-screen .pat .pmeta{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 0 17px;align-items:center}

/* ATA rows */
.av-screen .ata-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:6px 0;font-size:12.5px;text-decoration:none;color:inherit;cursor:pointer}
.av-screen .ata-row .code{font-family:var(--font-mono);font-weight:600;font-size:12px;width:64px;display:flex;align-items:center;gap:7px}
.av-screen .ata-row .code .sw{width:9px;height:9px;border-radius:3px;flex-shrink:0}
.av-screen .ata-row .nm{color:var(--txt-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.av-screen .ata-row .nm .track{height:7px;background:rgba(255,255,255,.04);border-radius:5px;overflow:hidden;margin-top:5px}
.av-screen .ata-row .nm .fill{height:100%;border-radius:5px;transition:width .8s cubic-bezier(.2,.8,.2,1)}
.av-screen .ata-row .ct{text-align:right;font-weight:600;font-variant-numeric:tabular-nums;min-width:56px;display:flex;align-items:center;justify-content:flex-end;gap:7px}

/* hub parts + graph stat */
.av-screen .hubpart{display:grid;grid-template-columns:150px 1fr auto;gap:11px;align-items:center;padding:5px 0;font-size:12px;cursor:pointer}
.av-screen .hubpart .pn{font-family:var(--font-mono);color:var(--accent-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.av-screen .hubpart:hover .pn{text-decoration:underline}
.av-screen .hubpart .ct{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.av-screen .graphstat{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.av-screen .graphstat .g{background:var(--panel);padding:13px 14px}
.av-screen .graphstat .gv{font-size:19px;font-weight:600;font-variant-numeric:tabular-nums} .av-screen .graphstat .gv.acc{color:var(--accent-2)}
.av-screen .graphstat .gl{font-size:10px;color:var(--txt-3);text-transform:uppercase;letter-spacing:.05em;margin-top:3px}

/* area chart + heatmap */
.av-screen svg.area{display:block;width:100%;height:150px;overflow:visible}
.av-screen .hm{display:grid;gap:3px;min-width:640px}
.av-screen .hmcell{min-height:30px;border-radius:5px;display:grid;place-items:center;font-size:10.5px;font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer;border:1px solid var(--line);color:#fff}
.av-screen .hmcell:hover{outline:2px solid var(--accent-2);outline-offset:-1px}
.av-screen .hmhdr{font-size:10px;color:var(--txt-2);font-weight:600;text-align:center;align-self:end;padding-bottom:5px;font-family:var(--font-mono)}
.av-screen .hmrl{font-size:11px;color:var(--txt-2);display:flex;align-items:center;justify-content:flex-end;padding-right:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}
.av-screen .hmcorner{font-size:9px;color:var(--txt-3);display:flex;align-items:flex-end;justify-content:flex-end;padding:0 7px 5px 0;text-align:right;line-height:1.2}

/* segmented control + list rows + cards used across radar/explore/ai */
.av-screen .seg{display:inline-flex;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);padding:3px;gap:2px}
.av-screen .seg .sgbtn{background:none;border:none;color:var(--txt-2);font-size:12px;font-weight:500;padding:6px 11px;border-radius:7px;cursor:pointer;white-space:nowrap}
.av-screen .seg .sgbtn:hover{color:var(--txt)} .av-screen .seg .sgbtn.on{background:var(--accent-soft);color:#fff}
.av-screen .listrow{display:flex;align-items:center;gap:12px;padding:10px 13px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--panel);cursor:pointer;transition:.12s;text-decoration:none;color:inherit}
.av-screen .listrow:hover{border-color:var(--line-2);background:var(--panel-3)}
.av-screen .listrow .cid{font-family:var(--font-mono);font-weight:600;color:var(--accent-3);flex-shrink:0}
.av-screen .listrow .ctt{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--txt)}
.av-screen .dcard{background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:var(--r-lg);padding:14px;cursor:pointer;transition:.14s}
.av-screen .dcard:hover{border-color:var(--line-2);transform:translateY(-1px)}
.av-screen .fade-up{animation:av-fadeUp .5s cubic-bezier(.22,1,.36,1) both}
@keyframes av-fadeUp{from{transform:translateY(9px);opacity:.5}to{transform:none;opacity:1}}

/* ── Bridge: repaint the generic av-* atoms in the dark design when inside .av-screen ── */
.av-screen .av-screen-pad{padding:22px 26px 40px}
.av-screen .av-screen-kicker{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--txt-3)}
.av-screen .av-screen-title{font-size:22px;font-weight:600;color:var(--txt);letter-spacing:-.01em}
.av-screen .av-screen-sub{font-size:12.5px;color:var(--txt-2)}
.av-screen .av-live-dot{background:var(--green);box-shadow:0 0 0 0 rgba(46,194,126,.5);animation:av-dotpulse 2.4s infinite}
.av-screen .av-panel{background:linear-gradient(180deg,var(--panel-2),var(--panel));border-color:var(--line);border-radius:var(--r-xl)}
.av-screen .av-section-card{background:linear-gradient(180deg,var(--panel-2),var(--panel));border-color:var(--line);border-radius:var(--r-xl)}
.av-screen .av-section-header,.av-screen .av-section-heading{color:var(--txt-2);border-color:var(--line)}
.av-screen .av-section-header__label-tb,.av-screen .av-section-header__meta-tb{color:var(--txt-2)}
.av-screen .av-stat-card{background:linear-gradient(180deg,var(--panel-2),var(--panel));border-color:var(--line);border-radius:var(--r-lg);position:relative;overflow:hidden}
.av-screen .av-stat-card--clickable{cursor:pointer;transition:.14s} .av-screen .av-stat-card--clickable:hover{border-color:var(--line-2);transform:translateY(-1px)}
.av-screen .av-stat-label{color:var(--txt-2)} .av-screen .av-stat-sub{color:var(--txt-3)}
.av-screen .av-glow{position:absolute;right:-26px;top:-26px;width:84px;height:84px;border-radius:50%;filter:blur(42px);opacity:.16;pointer-events:none}
.av-deck .av-glow{display:none}
.av-screen .av-bar-track{background:rgba(255,255,255,.05)}
.av-screen .av-stacked{background:rgba(255,255,255,.04)}
.av-screen .av-row{background:var(--panel);border-color:var(--line);color:var(--txt)} .av-screen .av-row:hover{background:var(--panel-3);box-shadow:none}
.av-screen .av-row-id{color:var(--accent-3)} .av-screen .av-row-meta{color:var(--txt-3)}
.av-screen .av-chip{background:rgba(255,255,255,.05);border-color:var(--line);color:var(--txt-2)}
.av-screen .av-chip--clickable:hover{background:var(--panel-3);border-color:var(--line-2)}
.av-screen .av-empty-state{color:var(--txt-3);border-color:var(--line)}
.av-screen .av-field-grid__label{color:var(--txt-3)} .av-screen .av-field-grid__value{color:var(--txt)}
.av-screen .av-heat-axis{color:var(--txt-2)}

/* ═══════════════ ISSUE RADAR (ported from Issue Radar.html, scoped) ════════ */
.av-screen .head-actions{display:flex;gap:8px;align-items:center}
.av-screen .iconbtn{background:var(--panel);border:1px solid var(--line);color:var(--txt-2);height:32px;min-width:32px;padding:0 10px;border-radius:var(--r-md);cursor:pointer;display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:500;text-decoration:none}
.av-screen .iconbtn:hover{color:var(--txt);border-color:var(--line-2)}
.av-screen .iconbtn.sq{padding:0;justify-content:center;width:32px}
.av-screen .iconbtn.btn-accent{background:var(--accent);border-color:transparent;color:#fff} .av-screen .iconbtn.btn-accent:hover{background:#6a72ff}
.av-screen .searchbar{display:flex;align-items:center;gap:9px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);padding:9px 12px}
.av-screen .searchbar:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.av-screen .searchbar input{flex:1;background:none;border:none;outline:none;color:var(--txt);font-size:13px;font-family:inherit}
.av-screen .searchbar input::placeholder{color:var(--txt-3)}
.av-screen .searchbar .hits{font-size:11.5px;color:var(--txt-3);white-space:nowrap}
.av-screen .seg .lbl{color:var(--txt-3);font-size:10.5px;padding:6px 4px 6px 9px;align-self:center;letter-spacing:.04em}
.av-screen .chip.mfr{color:var(--accent-2);border-color:rgba(124,131,255,.3)} .av-screen .chip.mono{font-family:var(--font-mono)}

.av-screen .controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex-shrink:0;padding-top:13px}
.av-screen .stage{display:grid;grid-template-columns:1fr 446px;flex:1;min-height:0;gap:0;margin-top:14px;border-top:1px solid var(--line)}
.av-screen .board{overflow:auto;padding:14px 18px 30px 2px;display:flex;flex-direction:column;gap:11px}
.av-screen .icard{position:relative;flex-shrink:0;background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:var(--r-xl);padding:15px 18px 15px 21px;cursor:pointer;transition:.16s;overflow:hidden}
.av-screen .icard:hover{border-color:var(--line-2);transform:translateY(-1px)}
.av-screen .icard.sel{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 14px 34px rgba(91,99,255,.16)}
.av-screen .icard .rail{position:absolute;left:0;top:0;bottom:0;width:4px}
.av-screen .sev-aog .rail{background:linear-gradient(var(--red),#b91d20)}
.av-screen .sev-urgent .rail{background:linear-gradient(var(--amber),#b9791d)}
.av-screen .sev-monitor .rail{background:linear-gradient(var(--accent),#3138c4)}
.av-screen .ata-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--txt-2);background:rgba(255,255,255,.05);border:1px solid var(--line);padding:3px 8px;border-radius:var(--r-sm)}
.av-screen .ata-badge b{color:var(--txt)}
.av-screen .card-title{font-size:15px;font-weight:600;margin:9px 0 3px;line-height:1.32;color:var(--txt)}
.av-screen .card-sub{font-size:12px;color:var(--txt-2);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.av-screen .hub{font-size:11.5px;background:var(--accent-soft);color:var(--accent-2);border:1px solid rgba(124,131,255,.3);padding:2px 7px;border-radius:6px;font-family:var(--font-mono);cursor:pointer}
.av-screen .card-bottom{display:flex;align-items:center;gap:18px;margin-top:14px}
.av-screen .stats{display:flex;gap:18px;flex:1;flex-wrap:wrap}
.av-screen .stat{display:flex;flex-direction:column;line-height:1.1}
.av-screen .stat .v{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--txt)}
.av-screen .stat .v.red{color:var(--red)} .av-screen .stat .v.amber{color:var(--amber)}
.av-screen .stat .l{font-size:10px;color:var(--txt-3);text-transform:uppercase;letter-spacing:.06em;margin-top:3px}
.av-screen .detail{border-left:1px solid var(--line);background:linear-gradient(180deg,var(--bg-2),var(--bg));overflow:auto;padding:18px 20px 40px}
.av-screen .detail .empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--txt-3);text-align:center;padding:40px;border:none}
.av-screen .d-eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--txt-3);display:flex;align-items:center;gap:8px}
.av-screen .d-title{font-size:16px;font-weight:600;margin:9px 0 4px;line-height:1.34;color:var(--txt)}
.av-screen .d-meta{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0 4px}
.av-screen .ai-box{margin-top:16px;background:linear-gradient(180deg,rgba(91,99,255,.10),rgba(91,99,255,.03));border:1px solid rgba(124,131,255,.25);border-radius:var(--r-lg);padding:14px}
.av-screen .ai-box .ai-h{font-size:11.5px;font-weight:600;color:var(--accent-2);letter-spacing:.04em;display:flex;align-items:center;gap:7px;margin-bottom:9px}
.av-screen .ai-row{font-size:12.5px;line-height:1.5;color:#cfd5e6;margin-bottom:10px}
.av-screen .ai-row .lab{display:block;font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--txt-3);margin-bottom:3px}
.av-screen .fix-tag{display:inline-flex;align-items:center;gap:6px;font-size:11px;background:var(--green-soft);color:var(--green-2);border:1px solid rgba(46,194,126,.3);padding:4px 9px;border-radius:8px}
.av-screen .sect-h{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--txt-3);margin:20px 0 10px;display:flex;align-items:center;justify-content:space-between}
.av-screen .sect-h .hint{text-transform:none;letter-spacing:0;font-size:10.5px;color:var(--txt-3);font-family:var(--font-mono)}
.av-screen .kpi-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.av-screen .kpi-strip .kc{background:var(--panel);padding:11px 10px}
.av-screen .kpi-strip .kv{font-size:18px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--txt)}
.av-screen .kpi-strip .kv.red{color:var(--red)} .av-screen .kpi-strip .kv.amber{color:var(--amber)}
.av-screen .kpi-strip .kl{font-size:9.5px;color:var(--txt-3);text-transform:uppercase;letter-spacing:.05em;margin-top:3px}
.av-screen .graph-wrap{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:8px;position:relative}
.av-screen .graph-wrap svg{display:block;width:100%;height:262px}
.av-screen .legend{position:absolute;right:10px;bottom:8px;display:flex;flex-direction:column;gap:3px}
.av-screen .legend span{display:flex;align-items:center;gap:6px;font-size:9.5px;color:var(--txt-3)}
.av-screen .legend i{width:8px;height:8px;border-radius:50%}
.av-screen .bar-row{display:grid;grid-template-columns:120px 1fr 30px;align-items:center;gap:11px;font-size:12px}
.av-screen .bar-row .nm{color:var(--txt-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.av-screen .bar-row .ct{text-align:right;color:var(--txt);font-weight:600;font-variant-numeric:tabular-nums}
.av-screen .case-list{display:flex;flex-direction:column;gap:7px}
.av-screen .case-row{display:flex;align-items:center;gap:9px;background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:8px 10px;font-size:11.5px;cursor:pointer;text-decoration:none;color:inherit}
.av-screen .case-row:hover{border-color:var(--line-2)}
.av-screen .case-row .cid{font-weight:600;color:var(--txt);font-family:var(--font-mono)}
.av-screen .case-row .cdesc{color:var(--txt-2);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.av-screen .ministat{font-size:9px;font-weight:700;padding:2px 6px;border-radius:5px;letter-spacing:.03em}
.av-screen .ms-aog{background:var(--red-soft);color:var(--red-2)} .av-screen .ms-urgent{background:var(--amber-soft);color:var(--amber-2)} .av-screen .ms-normal{background:rgba(255,255,255,.06);color:var(--txt-2)}
.av-screen .actions{display:flex;gap:9px;margin-top:18px}
.av-screen .actions .iconbtn{flex:1;justify-content:center;height:40px}

/* ─────────────────────────── FLIGHT DECK (cockpit) ───────────────────────── */
.av-deck{
  --bg:#05070a; --bg2:#080b11; --panel:#0a0e15; --panel2:#0c1119;
  --line:rgba(96,140,160,.16); --line2:rgba(96,140,160,.32); --line3:rgba(96,140,160,.5);
  --grn:#39e08c; --grn-d:rgba(57,224,140,.14); --amb:#ffb02e; --amb-d:rgba(255,176,46,.14);
  --red:#ff414a; --red-d:rgba(255,65,74,.15); --cyn:#3ad7e6; --cyn-d:rgba(58,215,230,.13); --mag:#f25ce0;
  --txt:#dfe7ec; --txt2:#8ca1ae; --txt3:#5b7280;
  --mono:"IBM Plex Mono",ui-monospace,monospace; --sans:"Saira",system-ui,sans-serif; --cond:"Saira Condensed","Saira",sans-serif;
  background:
    radial-gradient(130% 95% at 50% -12%, rgba(58,215,230,.05), transparent 58%),
    linear-gradient(rgba(96,140,160,.045) 1px, transparent 1px) 0 0/27px 27px,
    linear-gradient(90deg, rgba(96,140,160,.045) 1px, transparent 1px) 0 0/27px 27px,
    var(--bg);
  color:var(--txt);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased;
  height:100%;display:flex;flex-direction:column;min-height:0;overflow:hidden;
}
.av-deck *{box-sizing:border-box}
.av-deck a{color:inherit;text-decoration:none}
.av-deck .mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.av-deck .console{display:flex;flex-direction:column;min-width:0;flex:1;min-height:0;overflow:hidden}

/* FMA-style header */
.av-deck .fma{display:flex;align-items:stretch;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--bg2),transparent);flex-shrink:0;flex-wrap:wrap}
.av-deck .fma .seg{display:flex;flex-direction:column;justify-content:center;padding:11px 18px;border-right:1px solid var(--line)}
.av-deck .fma .seg .l{font-family:var(--mono);font-size:9px;letter-spacing:.18em;color:var(--txt3);text-transform:uppercase}
.av-deck .fma .seg .v{font-family:var(--cond);font-weight:700;font-size:17px;letter-spacing:.04em;text-transform:uppercase;margin-top:1px}
.av-deck .fma .title{flex:1;display:flex;align-items:center;gap:14px;padding:0 20px;min-width:220px}
.av-deck .fma .title h1{font-family:var(--cond);font-weight:700;font-size:21px;letter-spacing:.1em;text-transform:uppercase;margin:0}
.av-deck .fma .modes{display:flex;gap:7px}
.av-deck .fma .mode{font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;padding:3px 8px;border:1px solid var(--line2);color:var(--txt2);display:flex;align-items:center;gap:6px}
.av-deck .fma .mode i{width:6px;height:6px;border-radius:50%}
.av-deck .fma .mode.grn i{background:var(--grn);box-shadow:0 0 7px var(--grn)} .av-deck .fma .mode.grn{color:var(--grn);border-color:rgba(57,224,140,.4)}
.av-deck .fma .mode.cyn i{background:var(--cyn);box-shadow:0 0 7px var(--cyn)} .av-deck .fma .mode.cyn{color:var(--cyn);border-color:rgba(58,215,230,.4)}
.av-deck .fma .clock{padding:9px 20px;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;text-align:right;min-width:132px}
.av-deck .fma .clock .z{font-family:var(--mono);font-weight:600;font-size:20px;color:var(--grn);letter-spacing:.04em;line-height:1}
.av-deck .fma .clock .d{font-family:var(--mono);font-size:9.5px;color:var(--txt3);letter-spacing:.12em;margin-top:3px}

.av-deck .body{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:13px;min-height:0}

/* panel with corner brackets */
.av-deck .panel{position:relative;background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line)}
.av-deck .panel::before,.av-deck .panel::after{content:"";position:absolute;width:11px;height:11px;pointer-events:none;z-index:2}
.av-deck .panel::before{top:-1px;left:-1px;border-top:2px solid var(--line3);border-left:2px solid var(--line3)}
.av-deck .panel::after{bottom:-1px;right:-1px;border-bottom:2px solid var(--line3);border-right:2px solid var(--line3)}
.av-deck .ph{display:flex;align-items:center;gap:9px;padding:9px 13px;border-bottom:1px solid var(--line)}
.av-deck .ph .t{font-family:var(--cond);font-weight:700;letter-spacing:.13em;text-transform:uppercase;font-size:13px;color:var(--txt)}
.av-deck .ph .led{width:7px;height:7px;border-radius:50%;background:var(--grn);box-shadow:0 0 8px var(--grn)}
.av-deck .ph .r{margin-left:auto;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;color:var(--txt3);text-transform:uppercase}
.av-deck .pb{padding:13px}

/* gauge strip */
.av-deck .gauges{display:grid;grid-template-columns:repeat(5,1fr);gap:13px;flex-shrink:0}
.av-deck .gauge{position:relative;background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line);padding:12px 10px 11px;display:flex;flex-direction:column;align-items:center}
.av-deck .gauge .glabel{font-family:var(--mono);font-size:9px;letter-spacing:.14em;color:var(--txt3);text-transform:uppercase;align-self:flex-start;margin-bottom:2px}
.av-deck .gauge svg{display:block;width:138px;height:104px;overflow:visible}
.av-deck .gauge .gfoot{font-family:var(--mono);font-size:9.5px;color:var(--txt3);letter-spacing:.04em;margin-top:5px;text-align:center}
.av-deck .gauge .gfoot b{font-weight:600}

/* main split */
.av-deck .main{display:grid;grid-template-columns:1.32fr 1fr;gap:13px;flex:1;min-height:380px}
.av-deck .scope .pb{display:flex;gap:14px;align-items:center;justify-content:center;padding:8px}
.av-deck .scope svg.radar{display:block;width:100%;max-width:430px;height:auto}
.av-deck .scope .key{display:flex;flex-direction:column;gap:9px;min-width:120px}
.av-deck .scope .key .kk{font-family:var(--mono);font-size:9px;letter-spacing:.13em;color:var(--txt3);text-transform:uppercase;margin-bottom:1px}
.av-deck .scope .key .ki{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10.5px;color:var(--txt2)}
.av-deck .scope .key .ki i{width:8px;height:8px;border-radius:50%}
.av-deck .scope .key .ring{font-family:var(--mono);font-size:9.5px;color:var(--txt3);letter-spacing:.05em;line-height:1.7}

/* eicas alert stack */
.av-deck .eicas .pb{padding:9px;display:flex;flex-direction:column;gap:7px;overflow-y:auto}
.av-deck .alert{display:grid;grid-template-columns:74px 1fr;gap:10px;align-items:center;padding:9px 11px;border:1px solid var(--line);border-left-width:3px;background:rgba(255,255,255,.012);text-decoration:none;color:inherit;cursor:pointer;transition:.12s}
.av-deck .alert:hover{background:rgba(96,140,160,.07)}
.av-deck .alert .lv{font-family:var(--cond);font-weight:700;letter-spacing:.08em;font-size:13px;text-transform:uppercase;text-align:center;padding:3px 0}
.av-deck .alert .msg{min-width:0}
.av-deck .alert .m1{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.av-deck .alert .m2{font-family:var(--mono);font-size:10px;color:var(--txt3);letter-spacing:.05em;margin-top:3px;display:flex;gap:10px;flex-wrap:wrap}
.av-deck .alert .m2 span{white-space:nowrap}
.av-deck .alert.warn{border-left-color:var(--red)} .av-deck .alert.warn .lv{color:var(--red)} .av-deck .alert.warn .m1{color:#ffd2d4}
.av-deck .alert.caut{border-left-color:var(--amb)} .av-deck .alert.caut .lv{color:var(--amb)} .av-deck .alert.caut .m1{color:#ffe6bf}
.av-deck .alert.adv{border-left-color:var(--cyn)} .av-deck .alert.adv .lv{color:var(--cyn)} .av-deck .alert.adv .m1{color:#c7f1f6}
.av-deck .alert.stat{border-left-color:var(--grn)} .av-deck .alert.stat .lv{color:var(--grn)} .av-deck .alert.stat .m1{color:#c2f3da}
.av-deck .alert .tag{color:var(--txt2)}
.av-deck .alert .tag.r{color:var(--red)} .av-deck .alert .tag.a{color:var(--amb)}

/* bottom row */
.av-deck .bottom{display:grid;grid-template-columns:1.32fr 1fr;gap:13px;flex-shrink:0}
.av-deck .opr .pb{padding:11px 13px;display:flex;flex-direction:column;gap:8px}
.av-deck .oprow{display:grid;grid-template-columns:152px 1fr auto;gap:11px;align-items:center;cursor:pointer}
.av-deck .oprow .nm{font-family:var(--mono);font-size:11px;color:var(--txt2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;gap:7px}
.av-deck .oprow:hover .nm{color:var(--txt)}
.av-deck .oprow .nm b{color:var(--txt3);font-weight:400}
.av-deck .tape{height:13px;position:relative;background:repeating-linear-gradient(90deg,rgba(96,140,160,.13) 0 1px,transparent 1px 13px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.av-deck .tape .fill{position:absolute;top:0;bottom:0;left:0;background:linear-gradient(90deg,rgba(58,215,230,.5),var(--cyn));width:0;transition:width .9s cubic-bezier(.2,.85,.3,1)}
.av-deck .tape .aog{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--red);box-shadow:0 0 6px var(--red)}
.av-deck .oprow .ct{font-family:var(--mono);font-size:11px;font-weight:600;text-align:right;min-width:90px;display:flex;justify-content:flex-end;gap:8px}
.av-deck .oprow .ct .aw{color:var(--red);font-size:9.5px;letter-spacing:.04em}

/* ATA matrix */
.av-deck .ata .pb{padding:11px 13px;display:grid;grid-template-columns:repeat(5,1fr);gap:7px}
.av-deck .atacell{border:1px solid var(--line);padding:8px 9px;cursor:pointer;transition:.12s;position:relative;overflow:hidden}
.av-deck .atacell:hover{border-color:var(--line3)}
.av-deck .atacell .ac{font-family:var(--mono);font-weight:600;font-size:14px;letter-spacing:.02em}
.av-deck .atacell .an{font-family:var(--cond);font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--txt3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.av-deck .atacell .av{font-family:var(--mono);font-size:11px;color:var(--txt2);margin-top:6px;display:flex;justify-content:space-between}
.av-deck .atacell .bar{height:3px;margin-top:5px;background:rgba(96,140,160,.16)}
.av-deck .atacell .bar i{display:block;height:100%;width:0;transition:width .9s ease}
.av-deck .atacell.l3{border-left:3px solid var(--red)} .av-deck .atacell.l3 .ac{color:#ffd2d4}
.av-deck .atacell.l2{border-left:3px solid var(--amb)} .av-deck .atacell.l2 .ac{color:#ffe6bf}
.av-deck .atacell.l1{border-left:3px solid var(--cyn)}
.av-deck .atacell.l0{border-left:3px solid var(--grn)}

.av-deck .sweep{transform-origin:center;animation:deck-sweep 7s linear infinite}
@keyframes deck-sweep{to{transform:rotate(360deg)}}
.av-deck .blip{animation:deck-blip 2.6s ease-in-out infinite}
@keyframes deck-blip{0%,100%{opacity:.55}50%{opacity:1}}

/* ═══════════ DASHBOARD (exact port of Dashboard.html, scoped .av-screen) ════ */
.av-dash{display:flex;flex-direction:column;height:100%;min-height:0}
.av-screen .main{display:flex;flex-direction:column;height:100%;min-height:0}
.av-screen .phead{padding:18px 26px 0;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-shrink:0}
.av-screen .scroll{overflow-y:auto;padding:14px 26px 40px;display:flex;flex-direction:column;gap:14px;flex:1;min-height:0}
.av-screen .kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.av-screen .kpi{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 16px;text-decoration:none;color:inherit;display:block;cursor:pointer;transition:.14s}
.av-screen a.kpi:hover{border-color:var(--line-2);transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.av-screen a.kpi:hover .karrow{opacity:1;transform:none}
.av-screen .kpi .karrow{position:absolute;right:13px;top:13px;color:var(--txt-3);font-size:12px;opacity:0;transform:translateX(-3px);transition:.14s}
.av-screen .kpi .glow{position:absolute;right:-26px;top:-26px;width:84px;height:84px;border-radius:50%;background:var(--accent);filter:blur(42px);opacity:.16}
.av-screen .kpi.red .glow{background:var(--red)} .av-screen .kpi.green .glow{background:var(--green)}
.av-screen .kpi .kl{font-size:10.5px;color:var(--txt-2);text-transform:uppercase;letter-spacing:.07em;display:flex;align-items:center;gap:6px}
.av-screen .kpi .kl svg{width:13px;height:13px;opacity:.8}
.av-screen .kpi .kv{font-size:27px;font-weight:600;margin-top:8px;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1}
.av-screen .kpi .kv small{font-size:13px;color:var(--txt-3);font-weight:500;margin-left:3px}
.av-screen .kpi.red .kv{color:var(--red)} .av-screen .kpi.green .kv{color:var(--green-2)}
.av-screen .kpi .kf{font-size:11px;margin-top:7px;color:var(--txt-3);display:flex;align-items:center;gap:5px}
.av-screen .kpi .kf b.up{color:var(--green-2)} .av-screen .kpi .kf b.rd{color:var(--red-2)}
.av-screen .row{display:grid;gap:14px}
.av-screen .row.c1{grid-template-columns:1.55fr 1fr}
.av-screen .row.c2{grid-template-columns:1fr 1fr}
.av-screen .chartcard .card-b{padding:8px 18px 16px}
.av-screen .chart-legend{display:flex;gap:16px;font-size:11px;color:var(--txt-2)}
.av-screen .chart-legend span{display:flex;align-items:center;gap:6px} .av-screen .chart-legend i{width:9px;height:9px;border-radius:3px}
.av-screen .chart-stats{display:flex;gap:26px;margin-left:auto}
.av-screen .chart-stats .cs{display:flex;flex-direction:column;line-height:1.15}
.av-screen .chart-stats .cs .v{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}
.av-screen .chart-stats .cs .l{font-size:10px;color:var(--txt-3);text-transform:uppercase;letter-spacing:.05em;margin-top:2px}
.av-screen svg.area{display:block;width:100%;height:150px;overflow:visible}
.av-screen .abar{display:grid;grid-template-columns:166px 1fr auto;align-items:center;gap:12px;padding:5px 0;font-size:12.5px;text-decoration:none;color:inherit;border-radius:8px;margin:0 -8px;transition:.12s}
.av-screen a.abar{padding:5px 8px} .av-screen a.abar:hover{background:var(--panel-hover)}
.av-screen .abar .nm{display:flex;align-items:center;gap:9px;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.av-screen .abar.top .nm{font-weight:600}
.av-screen .abar .rk{font-size:10px;color:var(--txt-3);width:14px;text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0}
.av-screen .abar .logo{width:18px;height:18px;border-radius:5px;flex-shrink:0;display:grid;place-items:center;font-size:8.5px;font-weight:700;color:#fff;font-family:var(--font-mono)}
.av-screen .stack-track{height:12px;background:rgba(255,255,255,.04);border-radius:6px;overflow:hidden}
.av-screen .stack{display:flex;height:100%;border-radius:6px;overflow:hidden}
.av-screen .stack i{display:block;height:100%}
.av-screen .abar .tot{font-variant-numeric:tabular-nums;font-weight:600;text-align:right;min-width:100px;display:flex;align-items:center;justify-content:flex-end;gap:8px}
.av-screen .abar .tot .aogc{font-size:9.5px;font-weight:700;color:var(--red-2);background:var(--red-soft);padding:2px 6px;border-radius:5px;white-space:nowrap}
.av-screen .pat .conf{font-size:10px;color:var(--txt-3);white-space:nowrap;font-variant-numeric:tabular-nums;margin-left:auto}
.av-screen .pat .pdesc{font-size:11.5px;color:var(--txt-2);line-height:1.5;margin:6px 0 8px 17px}
.av-screen .pat:hover{transform:translateX(2px)} .av-screen .pat .arrow{position:absolute;right:13px;bottom:11px;color:var(--txt-3);font-size:11px}
.av-screen .ata-row{grid-template-columns:auto 1fr auto;text-decoration:none;color:inherit;border-radius:8px;margin:0 -8px;transition:.12s}
.av-screen a.ata-row{padding:6px 8px} .av-screen a.ata-row:hover{background:var(--panel-hover)}
.av-screen .ata-row .code{font-family:var(--font-mono);font-weight:600;font-size:12px;width:54px;display:flex;align-items:center;gap:7px}
.av-screen .ata-row .code .sw{width:9px;height:9px;border-radius:3px;flex-shrink:0}
.av-screen .ata-row .nm{color:var(--txt-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.av-screen .ata-row .nm .track{height:7px;background:rgba(255,255,255,.04);border-radius:5px;overflow:hidden;margin-top:5px}
.av-screen .ata-row .nm .fill{height:100%;border-radius:5px;transition:width .8s cubic-bezier(.2,.8,.2,1)}
.av-screen .ata-row .ct{text-align:right;font-weight:600;font-variant-numeric:tabular-nums;min-width:72px;display:flex;align-items:center;justify-content:flex-end;gap:7px}
.av-screen .ata-row .ct .aogc{font-size:9px;font-weight:700;color:var(--red-2);background:var(--red-soft);padding:1px 5px;border-radius:4px}
.av-screen .hubpart{display:grid;grid-template-columns:142px 1fr auto;gap:11px;align-items:center;padding:5px 0;font-size:12px}
.av-screen .hubpart .pn{font-family:var(--font-mono);color:var(--accent-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.av-screen .hubpart .pn:hover{text-decoration:underline}
.av-screen .hubpart .ct{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.av-screen .hmrl .lg{width:17px;height:17px;border-radius:5px;display:grid;place-items:center;font-size:8px;font-weight:700;color:#fff;font-family:var(--font-mono)}
.av-screen .hmrl{gap:7px;justify-content:flex-end}

/* ═══════════════ EXPLORE (ported from Explore.html, scoped .av-explore) ═════ */
.av-explore .controls{display:flex;align-items:center;gap:14px;padding:14px 26px 0;flex-wrap:wrap;flex-shrink:0}
.av-explore .group{display:flex;align-items:center;gap:9px}
.av-explore .group .lbl{font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--txt-3)}
.av-explore .facets{display:flex;gap:2px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);padding:3px}
.av-explore .facets button{background:none;border:none;color:var(--txt-2);font-size:12.5px;font-weight:500;padding:7px 12px;border-radius:7px;cursor:pointer;font-family:inherit;display:flex;align-items:center;gap:6px}
.av-explore .facets button svg{width:14px;height:14px}
.av-explore .facets button:hover{color:var(--txt)}
.av-explore .facets button.on{background:var(--accent-soft);color:#fff;box-shadow:inset 0 0 0 1px rgba(124,131,255,.3)}
.av-explore .spacer{flex:1}

.av-explore .filters{display:flex;align-items:center;gap:9px;padding:13px 26px 0;flex-wrap:wrap;flex-shrink:0}
.av-explore .filters .fl{font-size:10.5px;color:var(--txt-3);text-transform:uppercase;letter-spacing:.07em}
.av-explore .selwrap{position:relative;display:inline-flex;align-items:center}
.av-explore select{appearance:none;-webkit-appearance:none;background:var(--panel);border:1px solid var(--line);color:var(--txt-2);font-family:inherit;font-size:12px;padding:7px 26px 7px 11px;border-radius:9px;cursor:pointer;outline:none}
.av-explore select:hover{border-color:var(--line-2);color:var(--txt)}
.av-explore select.active{color:#fff;border-color:rgba(124,131,255,.4);background:var(--accent-soft)}
.av-explore .selwrap::after{content:"\25BE";position:absolute;right:10px;color:var(--txt-3);pointer-events:none;font-size:10px}

.av-explore .chips{display:flex;align-items:center;gap:7px;padding:11px 26px 0;flex-wrap:wrap;min-height:18px;flex-shrink:0}
.av-explore .fchip{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;background:var(--accent-soft);color:var(--accent-2);border:1px solid rgba(124,131,255,.3);padding:4px 7px 4px 10px;border-radius:8px}
.av-explore .fchip .k{color:var(--txt-3);font-size:10px;text-transform:uppercase;letter-spacing:.04em}
.av-explore .fchip .x{cursor:pointer;width:15px;height:15px;border-radius:4px;display:grid;place-items:center}
.av-explore .fchip .x:hover{background:rgba(124,131,255,.28);color:#fff}
.av-explore .clear{font-size:11.5px;color:var(--txt-3);cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.av-explore .clear:hover{color:var(--txt)}
.av-explore .nofilter{color:var(--txt-3);font-size:11.5px}

.av-explore .gridwrap{flex:1;overflow-y:auto;padding:14px 26px 36px}
.av-explore .egrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(252px,1fr));gap:11px}
.av-explore .ecard{display:block;text-decoration:none;color:inherit;background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:var(--r-lg);padding:13px 14px;transition:.14s;position:relative;overflow:hidden;cursor:pointer}
.av-explore .ecard:hover{border-color:var(--line-2);transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.av-explore .ecard::after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--sevc,transparent)}
.av-explore .etop{display:flex;align-items:center;gap:10px}
.av-explore .elogo{width:32px;height:32px;border-radius:8px;flex-shrink:0;display:grid;place-items:center;font-size:11px;font-weight:700;color:#fff;font-family:var(--font-mono)}
.av-explore .elogo svg{width:15px;height:15px}
.av-explore .ehead{min-width:0;flex:1}
.av-explore .enm{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.av-explore .esub{font-size:10.5px;color:var(--txt-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.av-explore .edrill{position:absolute;right:12px;top:12px;color:var(--txt-3);font-size:11px;opacity:0;transition:.14s}
.av-explore .ecard:hover .edrill{opacity:1}
.av-explore .emetrics{display:flex;gap:16px;margin-top:13px}
.av-explore .est{display:flex;flex-direction:column}
.av-explore .est .v{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}
.av-explore .est .v.red{color:var(--red-2)} .av-explore .est .v.amber{color:var(--amber-2)}
.av-explore .est .l{font-size:9.5px;color:var(--txt-3);text-transform:uppercase;letter-spacing:.05em;margin-top:3px}
.av-explore .minibar{height:4px;border-radius:3px;background:rgba(255,255,255,.05);margin-top:12px;overflow:hidden;display:flex}
.av-explore .minibar i{height:100%}
.av-explore .seg-closed{background:rgba(124,131,255,.30)} .av-explore .seg-open{background:var(--accent-2)} .av-explore .seg-urgent{background:var(--amber)} .av-explore .seg-aog{background:var(--red)}

/* matrix */
.av-explore .mhead{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.av-explore .mhead .mh-lbl{font-size:10.5px;color:var(--txt-3);text-transform:uppercase;letter-spacing:.07em}
.av-explore .mlegend{display:flex;align-items:center;gap:8px;margin-left:auto;font-size:10.5px;color:var(--txt-3)}
.av-explore .mlegend .scale{display:flex;width:118px;height:9px;border-radius:5px;overflow:hidden;border:1px solid var(--line)}
.av-explore .mlegend .scale i{flex:1}
.av-explore .mwrap{overflow:auto;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--panel)}
.av-explore .mtable{display:grid;gap:3px;padding:13px}
.av-explore .mcell{min-height:34px;border-radius:6px;display:grid;place-items:center;font-size:11px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:.1s;font-variant-numeric:tabular-nums}
.av-explore .mcell:hover{outline:2px solid var(--accent-2);outline-offset:-1px}
.av-explore .mcell.zero{cursor:default} .av-explore .mcell.zero:hover{outline:none}
.av-explore .mhdr{font-size:10px;color:var(--txt-2);font-weight:600;text-align:center;align-self:end;padding-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-mono)}
.av-explore .mrow-lbl{font-size:11.5px;color:var(--txt-2);display:flex;align-items:center;gap:8px;justify-content:flex-end;padding-right:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}
.av-explore .mrow-lbl .mlogo{width:18px;height:18px;border-radius:5px;flex-shrink:0;display:grid;place-items:center;font-size:8px;font-weight:700;color:#fff;font-family:var(--font-mono)}
.av-explore .mcorner{font-size:9.5px;color:var(--txt-3);display:flex;align-items:flex-end;justify-content:flex-end;padding:0 8px 6px 0;text-align:right;line-height:1.25}

/* ═══════════════ GRAPH EXPLORER (reconstructed from screenshots/graph.png) ══ */
.av-graph .gcontrols{display:flex;align-items:center;gap:12px;padding:14px 26px 0;flex-shrink:0;flex-wrap:wrap}
.av-graph .searchwrap{position:relative;flex:1;min-width:280px;max-width:560px}
.av-graph .seedchip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-family:var(--font-mono);background:var(--accent-soft);color:var(--accent-2);border:1px solid rgba(124,131,255,.3);padding:5px 10px;border-radius:8px;white-space:nowrap}
.av-graph .ghead-actions{display:flex;gap:8px;align-items:center;margin-left:auto}
.av-graph .sugbox{position:absolute;left:0;right:0;top:100%;z-index:30;background:var(--panel-2);border:1px solid var(--line-2);border-radius:var(--r-md);margin-top:5px;max-height:340px;overflow:auto;box-shadow:var(--shadow)}
.av-graph .sugrow{display:flex;align-items:center;gap:9px;padding:9px 12px;cursor:pointer;font-size:12.5px;color:var(--txt-2)}
.av-graph .sugrow:hover{background:var(--panel-3);color:var(--txt)}
.av-graph .sugrow .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.av-graph .sugrow .nm{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.av-graph .sugrow .k{margin-left:auto;font-size:9px;text-transform:uppercase;color:var(--txt-3);font-family:var(--font-mono);letter-spacing:.05em}

.av-graph .gstage{display:grid;grid-template-columns:1fr 360px;flex:1;min-height:0;margin-top:14px;border-top:1px solid var(--line)}
.av-graph.gfull .gstage{grid-template-columns:1fr}
.av-graph.gfull .gdetail{display:none}
.av-graph .gcanvas{position:relative;overflow:hidden}
.av-graph .gcanvas svg{display:block;width:100%;height:100%}
.av-graph .ghint{position:absolute;top:16px;left:18px;font-size:11px;color:var(--txt-3);background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:7px 11px;pointer-events:none}
.av-graph .glegend{position:absolute;left:18px;bottom:16px;background:rgba(15,20,34,.88);border:1px solid var(--line);border-radius:var(--r-lg);padding:11px 13px}
.av-graph .glegend .lgt{font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--txt-3);margin-bottom:8px}
.av-graph .glegend .lgi{display:flex;align-items:center;gap:8px;padding:2px 0;cursor:pointer;color:var(--txt-2);font-size:11px}
.av-graph .glegend .lgi:hover{color:var(--txt)}
.av-graph .glegend .lgi.off{opacity:.32}
.av-graph .glegend .lgi .dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}

.av-graph .gedge{stroke:rgba(255,255,255,.10);stroke-width:1}
.av-graph .gnode{cursor:pointer}
.av-graph .gnode .ghalo{opacity:0;transition:.15s}
.av-graph .gnode:hover .ghalo{opacity:.5}
.av-graph .gnode .glabel{fill:var(--txt-2);font-family:var(--font-mono);text-anchor:middle}
.av-graph .gnode:hover .glabel{fill:var(--txt)}
.av-graph .gnode .gsub{fill:var(--txt-3);font-family:var(--font-mono);text-anchor:middle}
.av-graph .gnode.center .glabel{fill:var(--txt)}

.av-graph .gdetail{border-left:1px solid var(--line);background:linear-gradient(180deg,var(--bg-2),var(--bg));overflow:auto;padding:18px 20px 40px}
.av-graph .gd-eyebrow{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--txt-3)}
.av-graph .gd-eyebrow .dot{width:8px;height:8px;border-radius:50%}
.av-graph .gd-title{font-size:17px;font-weight:600;margin:10px 0 4px;color:var(--txt);font-family:var(--font-mono);word-break:break-word}
.av-graph .gd-desc{font-size:12.5px;color:var(--txt-2);line-height:1.5}
.av-graph .g-kpis{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:15px 0}
.av-graph .g-kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);padding:11px 13px}
.av-graph .g-kpi .v{font-size:20px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--txt);line-height:1}
.av-graph .g-kpi .l{font-size:9.5px;color:var(--txt-3);text-transform:uppercase;letter-spacing:.06em;margin-top:5px}
.av-graph .gd-open{width:100%;justify-content:center;margin-top:4px;height:40px}
.av-graph .ce-count{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--txt-3);margin:20px 0 10px}
.av-graph .ce-group{font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--txt-3);margin:14px 0 7px}
.av-graph .ce-row{display:flex;align-items:center;gap:9px;background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:9px 11px;margin-bottom:6px;cursor:pointer;transition:.12s}
.av-graph .ce-row:hover{border-color:var(--line-2);background:var(--panel-3)}
.av-graph .ce-row .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.av-graph .ce-row .nm{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--txt);font-size:12.5px}
.av-graph .ce-row .tb{font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:var(--txt-3);font-family:var(--font-mono)}
.av-graph .gempty{height:100%;display:flex;align-items:center;justify-content:center;color:var(--txt-3);font-size:12.5px;text-align:center;padding:40px}

/* fixes: constrain searchbar icon everywhere; give graph host a definite height */
.av-screen .searchbar > svg{width:16px;height:16px;flex-shrink:0}
.av-graph{display:flex;flex-direction:column;height:100%;min-height:0}

/* ═══════════════ AI ASSISTANT (ported from AI Assistant.html, scoped .av-ai) ═ */
.av-ai{display:flex;flex-direction:column;height:100%;min-height:0}
.av-ai .convo{flex:1;overflow-y:auto;padding:22px 24px 30px}
.av-ai .thread{max-width:820px;margin:0 auto;display:flex;flex-direction:column}

.av-ai .hero{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:62%;text-align:center;gap:6px}
.av-ai .orb{width:60px;height:60px;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--accent-2),var(--accent));display:grid;place-items:center;box-shadow:0 12px 40px rgba(91,99,255,.4);margin-bottom:10px}
.av-ai .orb svg{width:28px;height:28px;color:#fff}
.av-ai .hero h2{font-size:23px;font-weight:600;margin:4px 0 2px;letter-spacing:-.01em}
.av-ai .hero p{color:var(--txt-2);font-size:13.5px;max-width:440px;line-height:1.55}
.av-ai .suggest{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px;width:min(680px,92%)}
.av-ai .sg{text-align:left;background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:var(--r-lg);padding:13px 15px;cursor:pointer;transition:.14s;display:flex;gap:11px;align-items:flex-start}
.av-ai .sg:hover{border-color:var(--line-2);transform:translateY(-1px)}
.av-ai .sg .si{width:28px;height:28px;border-radius:8px;background:var(--accent-soft);color:var(--accent-2);display:grid;place-items:center;flex-shrink:0}
.av-ai .sg .si svg{width:15px;height:15px}
.av-ai .sg .st{font-size:12.5px;color:var(--txt);line-height:1.42}
.av-ai .sg .sh{font-size:11px;color:var(--txt-3);margin-top:3px}

.av-ai .msg{display:flex;gap:13px;margin-bottom:24px;animation:av-fadeUp .4s cubic-bezier(.22,1,.36,1) both}
.av-ai .msg.user{justify-content:flex-end}
.av-ai .ubub{background:var(--accent);color:#fff;padding:11px 15px;border-radius:15px 15px 5px 15px;max-width:78%;font-size:13.5px;line-height:1.5}
.av-ai .av{width:30px;height:30px;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--accent-2),var(--accent));display:grid;place-items:center;flex-shrink:0;box-shadow:0 4px 14px rgba(91,99,255,.35)}
.av-ai .av svg{width:15px;height:15px;color:#fff}
.av-ai .abub{flex:1;min-width:0}
.av-ai .aname{font-size:11px;color:var(--txt-3);letter-spacing:.04em;margin-bottom:7px;display:flex;align-items:center;gap:8px}
.av-ai .aname b{color:var(--accent-2);font-weight:600}
.av-ai .lead{font-size:13.5px;line-height:1.65;color:#dfe4f0}
.av-ai .lead b{color:#fff;font-weight:600}
.av-ai .cite{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:11.5px;color:var(--accent-2);background:var(--accent-soft);border:1px solid rgba(124,131,255,.3);padding:0 6px;border-radius:5px;text-decoration:none;line-height:1.5;margin:0 1px;cursor:pointer}
.av-ai .cite:hover{background:rgba(124,131,255,.28);color:#fff}
.av-ai .ablock{margin-top:13px}
.av-ai .stats3{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.av-ai .stats3 .s{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);padding:11px 13px}
.av-ai .stats3 .sv{font-size:20px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.av-ai .stats3 .sv.red{color:var(--red)} .av-ai .stats3 .sv.amber{color:var(--amber)}
.av-ai .stats3 .sl{font-size:10px;color:var(--txt-3);text-transform:uppercase;letter-spacing:.05em;margin-top:3px}
.av-ai .fixrow{display:inline-flex;align-items:center;gap:7px;font-size:12px;background:var(--green-soft);color:var(--green-2);border:1px solid rgba(46,194,126,.3);padding:6px 11px;border-radius:9px}
.av-ai .fixrow svg{width:13px;height:13px}
.av-ai .doc{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--r-md);padding:13px 15px;font-size:12.5px;line-height:1.6;color:#cdd4e4;white-space:pre-wrap;font-family:var(--font-sans)}
.av-ai .gwrap{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:6px;position:relative}
.av-ai .gwrap svg{display:block;width:100%;height:220px}
.av-ai .gwrap .glegend{position:absolute;right:10px;bottom:8px;display:flex;flex-direction:column;gap:3px}
.av-ai .gwrap .glegend span{display:flex;align-items:center;gap:6px;font-size:9px;color:var(--txt-3)} .av-ai .gwrap .glegend i{width:7px;height:7px;border-radius:50%}
.av-ai .clist{display:flex;flex-direction:column;gap:7px}
.av-ai .crow{display:flex;align-items:center;gap:9px;background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:8px 11px;font-size:11.5px;text-decoration:none;color:inherit;cursor:pointer}
.av-ai .crow:hover{border-color:var(--line-2)} .av-ai .crow .cid{font-family:var(--font-mono);font-weight:600} .av-ai .crow .cd{color:var(--txt-2);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.av-ai .ms{font-size:9px;font-weight:700;padding:2px 6px;border-radius:5px} .av-ai .ms-aog{background:var(--red-soft);color:var(--red-2)} .av-ai .ms-normal{background:rgba(255,255,255,.06);color:var(--txt-2)} .av-ai .ms-urgent{background:var(--amber-soft);color:var(--amber-2)}
.av-ai .bars2{display:flex;flex-direction:column;gap:7px}
.av-ai .actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.av-ai .sources{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:11px;color:var(--txt-3)}
.av-ai .sources .sl2{display:block;margin-bottom:7px;letter-spacing:.04em}
.av-ai .srcchips{display:flex;gap:6px;flex-wrap:wrap}
.av-ai .thinking{display:flex;gap:5px;padding:4px 0}
.av-ai .thinking i{width:7px;height:7px;border-radius:50%;background:var(--accent-2);animation:av-think 1.1s infinite}
.av-ai .thinking i:nth-child(2){animation-delay:.18s} .av-ai .thinking i:nth-child(3){animation-delay:.36s}
@keyframes av-think{0%,100%{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}

.av-ai .composer{border-top:1px solid var(--line);padding:14px 24px 16px;flex-shrink:0;background:linear-gradient(180deg,transparent,var(--bg-2))}
.av-ai .comp-in{max-width:820px;margin:0 auto}
.av-ai .qchips{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.av-ai .qchip{font-size:11.5px;color:var(--txt-2);background:var(--panel);border:1px solid var(--line);border-radius:var(--r-full);padding:6px 12px;cursor:pointer}
.av-ai .qchip:hover{border-color:var(--line-2);color:var(--txt)}
.av-ai .cbox{display:flex;align-items:flex-end;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-xl);padding:10px 10px 10px 15px}
.av-ai .cbox:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.av-ai .cbox textarea{flex:1;background:none;border:none;outline:none;color:var(--txt);font-family:inherit;font-size:13.5px;line-height:1.5;resize:none;max-height:120px;min-height:22px}
.av-ai .cbox .send{width:38px;height:38px;border-radius:10px;background:var(--accent);border:none;color:#fff;cursor:pointer;display:grid;place-items:center;flex-shrink:0}
.av-ai .cbox .send:hover{background:#6a72ff} .av-ai .cbox .send svg{width:17px;height:17px}
.av-ai .ground{text-align:center;font-size:10.5px;color:var(--txt-4);margin-top:8px}

/* fix: constrain inline icons that ship with no width/height (were rendering at intrinsic size) */
.av-screen .ai-box .ai-h svg{width:14px;height:14px;flex-shrink:0}
.av-screen .detail .empty svg{width:34px;height:34px;flex-shrink:0;opacity:.55}
