@font-face {
  font-family: "Avenir";
  src: url("/fonts/Avenir-Light.ttf") format("truetype");
  font-style: normal;
  font-weight: 300;
  font-display: block;
}

@font-face {
  font-family: "Avenir";
  src: url("/fonts/Avenir-LightOblique.ttf") format("truetype");
  font-style: italic;
  font-weight: 300;
  font-display: block;
}

@font-face {
  font-family: "Avenir";
  src: url("/fonts/Avenir-Book.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: block;
}

@font-face {
  font-family: "Avenir";
  src: url("/fonts/Avenir-BookOblique.ttf") format("truetype");
  font-style: italic;
  font-weight: 400;
  font-display: block;
}

@font-face {
  font-family: "Avenir";
  src: url("/fonts/Avenir-Roman.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
  font-display: block;
}

@font-face {
  font-family: "Avenir";
  src: url("/fonts/Avenir-Oblique.ttf") format("truetype");
  font-style: italic;
  font-weight: 500;
  font-display: block;
}

@font-face {
  font-family: "Avenir";
  src: url("/fonts/Avenir-Medium.ttf") format("truetype");
  font-style: normal;
  font-weight: 600;
  font-display: block;
}

@font-face {
  font-family: "Avenir";
  src: url("/fonts/Avenir-MediumOblique.ttf") format("truetype");
  font-style: italic;
  font-weight: 600;
  font-display: block;
}

@font-face {
  font-family: "Avenir";
  src: url("/fonts/Avenir-Heavy.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: block;
}

@font-face {
  font-family: "Avenir";
  src: url("/fonts/Avenir-HeavyOblique.ttf") format("truetype");
  font-style: italic;
  font-weight: 700;
  font-display: block;
}

@font-face {
  font-family: "Avenir";
  src: url("/fonts/Avenir-Black.ttf") format("truetype");
  font-style: normal;
  font-weight: 900;
  font-display: block;
}

@font-face {
  font-family: "Avenir";
  src: url("/fonts/Avenir-BlackOblique.ttf") format("truetype");
  font-style: italic;
  font-weight: 900;
  font-display: block;
}

:root {
  color-scheme: only dark;
  font-family: "Avenir";
  font-synthesis: none;
  font-size: 16px;
  --base-950: #141f24;
  --base-900: #1c2e37;
  --base-850: #1e3442;
  --base-800: #25343c;
  --base-750: #283944;
  --base-700: #34454d;
  --border-default: #4c5b64;
  --text-primary: #eef5f4;
  --text-secondary: #9ca9a7;
  --accent-teal: #5d989b;
  --accent-cyan: #57a3a9;
  --accent-cyan-light: #98bab9;
  --critical-500: #974e58;
  --critical-700: #672f37;
  --bg: var(--base-950);
  --surface: var(--base-800);
  --surface-raised: var(--base-850);
  --surface-soft: var(--base-750);
  --line: var(--base-700);
  --line-strong: var(--border-default);
  --text: var(--text-primary);
  --muted: var(--text-secondary);
  --muted-strong: #c8d2d0;
  --accent: var(--accent-cyan);
  --accent-strong: var(--accent-cyan-light);
  --accent-soft: rgba(87, 163, 169, .16);
  --warning: #d2a35f;
  --danger: #d58a92;
  --success: var(--accent-cyan-light);
  --info: var(--accent-cyan);
  --select-popup-bg: #1c2e37;
  --select-popup-text: #eef5f4;
  --select-popup-muted: #9ca9a7;
  --radius: 8px;
  --shadow: 0 16px 48px rgba(4, 13, 17, .28);
  --motion-micro: 100ms;
  --motion-component: 180ms;
  --motion-overlay: 240ms;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --type-display-size: 2rem;
  --type-display-line: 2.5rem;
  --type-h1-size: 1.5rem;
  --type-h1-line: 2rem;
  --type-h2-size: 1.125rem;
  --type-h2-line: 1.5rem;
  --type-body-size: .875rem;
  --type-body-line: 1.25rem;
  --type-label-size: .75rem;
  --type-label-line: 1rem;
  --density-comfortable: 48px;
  --density-standard: 40px;
  --density-compact: 32px;
}

* { box-sizing: border-box; }

html { min-width: 320px; background: var(--bg); }

body {
  margin: 0;
  min-height: 100vh;
  color: var(--text);
  background: var(--bg);
  font-size: .875rem;
  line-height: 1.25rem;
}

button, input, select, textarea { font: inherit; }

select {
  color: var(--select-popup-text);
  background-color: var(--select-popup-bg);
  color-scheme: only dark;
  -webkit-text-fill-color: var(--select-popup-text);
}
select option, select optgroup {
  color: var(--select-popup-text) !important;
  background: var(--select-popup-bg) !important;
  -webkit-text-fill-color: var(--select-popup-text);
}
select option:disabled {
  color: var(--select-popup-muted) !important;
  -webkit-text-fill-color: var(--select-popup-muted);
}

button, a { -webkit-tap-highlight-color: transparent; }

button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid var(--accent-cyan-light);
  outline-offset: 2px;
}

.skip-link {
  position: fixed;
  z-index: 100;
  top: .75rem;
  left: .75rem;
  transform: translateY(-180%);
  padding: .7rem 1rem;
  border-radius: 10px;
  color: #07110f;
  background: var(--accent);
}

.skip-link:focus { transform: none; }

.muted { color: var(--muted); }
.mono { font-family: "Avenir"; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.eyebrow { margin: 0 0 .5rem; color: var(--accent-cyan-light); font-size: .75rem; font-weight: 700; line-height: 1rem; letter-spacing: .12em; }
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); }

::selection { color: var(--text-primary); background: var(--accent-teal); }

.icon { width: 1.25rem; height: 1.25rem; flex: none; }

.boot-screen, .login-screen {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 2rem;
}

.boot-screen { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1.5rem; text-align: center; }
.login-screen { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1.5rem; }

.brand-logo {
  width: 52px;
  height: 56px;
  flex: none;
  object-fit: contain;
  filter: invert(1);
}

.brand-wordmark { display: inline-flex; align-items: baseline; letter-spacing: .02em; }
.brand-wordmark strong { font-weight: 800; }
.brand-wordmark span { font-weight: 400; }

.login-frame {
  width: min(1040px, 100%);
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  overflow: hidden;
  border: 0;
  border-radius: 24px;
  background: rgba(14, 18, 25, .88);
  box-shadow: 0 30px 84px rgba(0, 0, 0, .62), 0 10px 28px rgba(0, 0, 0, .48);
  backdrop-filter: blur(18px);
}

.login-story { min-height: 720px; padding: clamp(2rem, 6vw, 4.5rem); display: flex; flex-direction: column; align-items: center; justify-content: center; }
.login-brand { width: min(100%, 370px); display: flex; flex-direction: column; align-items: center; gap: 1.8rem; text-align: center; }
.login-brand .brand-logo { width: 84.5%; max-width: none; height: auto; opacity: .02; filter: invert(1) drop-shadow(0 12px 14px rgba(0, 0, 0, .62)); }
.login-brand-copy { display: grid; justify-items: center; gap: .9rem; text-shadow: 0 3px 7px rgba(0, 0, 0, .68); }
.login-brand .brand-wordmark { margin: 0; font-size: 3rem; line-height: 1; }
.login-brand .wordmark-engine { color: var(--muted-strong); }
.login-brand .brand-copyright { position: relative; top: -.95em; margin-left: .22em; color: var(--muted-strong); opacity: .38; font-size: .34em; font-weight: 400; line-height: 0; text-shadow: none; }
.login-release { margin: 0; color: var(--accent-cyan-light); opacity: .5; font-size: .75rem; font-weight: 400; line-height: 1rem; letter-spacing: .12em; }
.login-footer { width: min(1040px, 100%); margin: 0; color: var(--text-primary); opacity: .1; font-size: .875rem; font-weight: 400; line-height: 1.25rem; text-align: center; }

.login-action {
  padding: clamp(2rem, 5vw, 3.6rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-left: 0;
  background: linear-gradient(150deg, rgba(128, 233, 216, .07), rgba(20, 26, 35, .84));
  text-shadow: 0 3px 7px rgba(0, 0, 0, .68);
}
.login-action h2 { margin: 0 0 2rem; font-size: 1.7rem; font-weight: 400; }
.login-action > .eyebrow { margin-bottom: 1rem; font-size: .875rem; font-weight: 400; line-height: 1.25rem; }
.login-action > p { margin: 0 0 2rem; line-height: 1.65; }

.button {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  padding: .68rem 1rem;
  border: 1px solid var(--line-strong);
  border-radius: 6px;
  color: var(--text);
  background: var(--surface-soft);
  font-weight: 700;
  cursor: pointer;
  transition: background var(--motion-component) ease-out, border-color var(--motion-component) ease-out, transform var(--motion-micro) ease-out;
}
.button:hover { border-color: var(--accent-cyan-light); background: var(--base-700); }
.button:active { transform: translateY(1px); }
.button.primary { border-color: var(--accent-cyan-light); color: var(--base-950); background: var(--accent-cyan-light); }
.button.primary:hover { background: #b3cecc; }
.button.danger { color: #f4d9dc; border-color: var(--critical-500); background: var(--critical-700); }
.button.ghost { border-color: transparent; background: transparent; color: var(--muted-strong); }
.button.small { min-height: 34px; padding: .45rem .7rem; font-size: .8rem; }
.button:disabled { opacity: .45; cursor: not-allowed; }
.button.actionable-report-action {
  min-height: 44px;
  padding-inline: 1.15rem;
  border-color: transparent;
  color: #041217;
  background: linear-gradient(120deg, #79f7df 0%, #5ce0ef 52%, #87bfff 100%);
  box-shadow: 0 0 0 1px rgba(158, 255, 239, .65), 0 0 24px rgba(92, 224, 239, .3), 0 12px 28px rgba(0, 0, 0, .34);
  font-weight: 800;
  letter-spacing: .01em;
}
.button.actionable-report-action:hover {
  color: #020b0e;
  background: linear-gradient(120deg, #a0ffe9 0%, #7aefff 52%, #a5d1ff 100%);
  box-shadow: 0 0 0 1px rgba(188, 255, 245, .82), 0 0 34px rgba(92, 224, 239, .42), 0 14px 32px rgba(0, 0, 0, .4);
}
.button.actionable-report-action:disabled { color: #19343a; filter: saturate(.45); box-shadow: none; }
.icon-button { width: 40px; padding: 0; }

.shell { min-height: 100vh; display: grid; grid-template-columns: 256px minmax(0, 1fr); }
.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 20;
  width: 256px;
  display: flex;
  flex-direction: column;
  padding: 1.25rem 1rem;
  border-right: 1px solid var(--line);
  background: var(--base-900);
}
.sidebar-brand { display: flex; align-items: center; gap: .75rem; min-height: 48px; padding: 0 .5rem 1.25rem; }
.sidebar-brand .brand-logo { width: 36px; height: 38px; }
.sidebar-brand .brand-wordmark { font-size: .9rem; }
.sidebar-brand small { color: var(--muted); font-size: .68rem; }
.sidebar-brand-copy { display: grid; gap: .25rem; min-width: 0; }
.sidebar-brand .product-release { letter-spacing: .08em; text-transform: uppercase; }
.primary-navigation { min-height: 0; display: grid; flex: 1 1 auto; gap: 1rem; overflow-y: auto; padding-right: .25rem; scrollbar-color: rgba(152, 186, 185, .3) transparent; }
.nav-group { margin: 0; }
.nav-label { margin: 0; padding: .1rem .75rem .5rem; color: var(--text-secondary); font-size: .6875rem; font-weight: 700; line-height: 1rem; letter-spacing: .12em; }
.nav-list { display: grid; gap: .22rem; }
.nav-parent { display: grid; }
.nav-parent-row { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 2px; align-items: center; }
.nav-parent-row .nav-link { min-width: 0; }
.nav-disclosure { width: 30px; height: 30px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 7px; color: var(--text-secondary); background: transparent; cursor: pointer; }
.nav-disclosure:hover { color: var(--text-primary); background: rgba(93, 152, 155, .08); }
.nav-disclosure-mark { width: 7px; height: 7px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(-45deg); transition: transform var(--motion-component) ease-out; }
.nav-disclosure[aria-expanded="true"] .nav-disclosure-mark { transform: rotate(45deg); }
.nav-children { display: grid; gap: 2px; margin: 2px 0 4px 14px; padding-left: 12px; box-shadow: inset 1px 0 rgba(152, 186, 185, .12); }
.nav-children[data-nav-depth="2"] { margin-left: 9px; padding-left: 9px; }
.nav-children[data-nav-depth="3"] { margin-left: 7px; padding-left: 7px; }
.nav-parent[data-nav-depth="2"] .nav-parent-row { grid-template-columns: 24px minmax(0, 1fr); }
.nav-parent[data-nav-depth="2"] .nav-disclosure { width: 24px; height: 28px; }
.nav-children[data-nav-depth="3"] .nav-child-link { min-height: 31px; padding-block: 5px; font-size: .7rem; }
.nav-children[hidden] { display: none; }
.nav-child-link { min-height: 34px; display: flex; align-items: center; padding: 6px 10px; border-radius: 7px; color: rgba(200, 210, 208, .62); text-decoration: none; font-size: .75rem; }
.nav-child-link:hover { color: var(--text-primary); background: rgba(93, 152, 155, .07); }
.nav-child-link[aria-current="page"] { color: var(--accent-cyan-light); background: rgba(93, 152, 155, .1); }
.nav-parent[data-descendant-current="true"] > .nav-parent-row .nav-link { color: var(--text-primary); }
/* Keep the Findings hierarchy readable in LogicMonitor's compact native rail. */
.shell[data-vertical="logicmonitor"] .sidebar [data-parent-route="logicmonitor/findings"],
.shell[data-vertical="logicmonitor"] .sidebar [data-parent-route="logicmonitor/findings"] .nav-parent { min-width: 0; }
.shell[data-vertical="logicmonitor"] .sidebar [data-parent-route="logicmonitor/findings"] .nav-parent-row { position: relative; display: block; }
.shell[data-vertical="logicmonitor"] .sidebar [data-parent-route="logicmonitor/findings"] .nav-children { margin: 2px 0; padding: 0; box-shadow: none; }
.shell[data-vertical="logicmonitor"] .sidebar [data-parent-route="logicmonitor/findings"] .nav-disclosure { position: absolute; top: 0; right: 0; width: 20px; height: 20px; z-index: 1; }
.shell[data-vertical="logicmonitor"] .sidebar [data-parent-route="logicmonitor/findings/vulnerability-management"] > .nav-parent-row .nav-link { padding: 21px 1px 6px; min-height: 0; overflow-wrap: anywhere; }
.shell[data-vertical="logicmonitor"] .sidebar [data-parent-route="logicmonitor/findings/vulnerability-management"] .nav-copy { font-size: 9px; overflow-wrap: anywhere; }
.shell[data-vertical="logicmonitor"] .sidebar [data-parent-route="logicmonitor/findings"] .nav-child-link { justify-content: center; padding: 8px 1px; font-size: 10px; text-align: center; }
.nav-link {
  display: flex;
  align-items: center;
  gap: .72rem;
  min-height: 40px;
  padding: .5rem .7rem;
  border-radius: 6px;
  color: var(--muted-strong);
  text-decoration: none;
  font-size: .875rem;
  font-weight: 600;
}
.nav-link:hover { color: var(--text); background: var(--base-700); }
.nav-link[aria-current="page"] { color: var(--text); background: var(--accent-soft); box-shadow: inset 3px 0 var(--accent-cyan-light); }
.nav-copy { min-width: 0; }
.nav-copy strong { display: block; font-size: inherit; font-weight: inherit; }
.nav-copy small { display: none; }
.sidebar-foot { margin-top: auto; padding: 1rem .65rem 0; border-top: 1px solid var(--line); font-size: .7rem; color: var(--muted); }
.sidebar-foot strong { display: block; margin-bottom: .3rem; color: var(--muted-strong); }
.authority-label { display: inline-flex; align-items: center; width: fit-content; min-height: 24px; margin-bottom: .5rem; padding: .2rem .45rem; border: 1px solid var(--border-default); border-radius: 4px; color: var(--text-secondary); background: var(--base-850); font-size: .6875rem; font-weight: 700; line-height: 1rem; letter-spacing: .04em; text-transform: uppercase; }
.authority-label.local { color: var(--accent-cyan-light); border-color: var(--accent-teal); }
.authority-label.unavailable { color: #f4d9dc; border-color: var(--critical-500); background: var(--critical-700); }
.authority-label.permission { color: #efd5ac; border-color: #8e7045; background: #3f362c; }
.authority-label.stale { color: #f0d8b4; border-color: #8e7045; background: #3f362c; }

.workspace { grid-column: 2; min-width: 0; min-height: 100vh; display: flex; flex-direction: column; }
.topbar {
  position: sticky;
  top: 0;
  z-index: 15;
  min-height: 64px;
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .75rem 24px;
  border-bottom: 1px solid var(--line);
  background: rgba(20, 31, 36, .96);
}
.context-control { display: flex; align-items: center; gap: .5rem; }
.context-label { color: var(--muted); font-size: .6875rem; font-weight: 700; letter-spacing: .08em; }
.context-select, .vertical-select, .field input, .field select, .field textarea, .filter-bar input, .filter-bar select {
  width: 100%;
  min-height: 40px;
  padding: .62rem .75rem;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--text);
  background: var(--base-900);
}
.context-select { width: min(280px, 32vw); min-height: 38px; padding: .45rem .65rem; }
.vertical-theme-control { min-width: 0; display: flex; align-items: center; gap: .5rem; flex: 0 1 auto; }
.vertical-select { width: min(220px, 20vw); min-width: 0; min-height: 38px; padding: .45rem .65rem; flex: 0 1 220px; }
.theme-toggle {
  width: 38px;
  height: 38px;
  position: relative;
  flex: 0 0 38px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 10px;
  color: var(--text-secondary);
  background: var(--base-900);
  box-shadow: 0 8px 22px rgba(0, 0, 0, .18);
  cursor: pointer;
}
.theme-toggle:hover { color: var(--text-primary); border-color: var(--border-default); }
.theme-toggle::after {
  position: absolute;
  z-index: 50;
  top: calc(100% + 9px);
  left: 50%;
  width: max-content;
  max-width: min(240px, calc(100vw - 32px));
  padding: .38rem .55rem;
  border: 1px solid var(--line-strong);
  border-radius: 6px;
  color: var(--text-primary);
  background: var(--base-900);
  box-shadow: var(--shadow);
  content: attr(data-tooltip);
  font-size: .68rem;
  line-height: 1rem;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -4px);
  transition: opacity var(--motion-micro) ease-out, transform var(--motion-micro) ease-out;
}
.theme-toggle:hover::after, .theme-toggle:focus-visible::after { opacity: 1; transform: translate(-50%, 0); }
.global-search { width: min(360px, 34vw); min-height: 38px; display: flex; align-items: center; gap: .6rem; margin-left: .5rem; padding: .45rem .65rem; border: 1px solid var(--line); border-radius: 6px; color: var(--text-secondary); background: var(--base-900); cursor: pointer; }
.global-search:hover { color: var(--text-primary); border-color: var(--border-default); }
.global-search span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
kbd { margin-left: auto; padding: .1rem .35rem; border: 1px solid var(--line-strong); border-radius: 3px; color: var(--text-secondary); background: var(--base-850); font-family: "Avenir"; font-size: .6875rem; line-height: 1rem; }
.topbar-spacer { flex: 1; }
.account-menu-control { position: relative; flex: none; }
.account-menu-trigger {
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: .7rem;
  padding: .3rem .45rem;
  border: 1px solid transparent;
  border-radius: 8px;
  color: var(--text-primary);
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.account-menu-trigger:hover, .account-menu-trigger[aria-expanded="true"] { border-color: var(--border-default); background: var(--base-850); }
.account-menu-trigger:focus-visible { outline: 2px solid var(--accent-cyan-light); outline-offset: 2px; }
.avatar { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: var(--base-950); background: var(--accent-cyan-light); font-weight: 700; }
.user-copy { line-height: 1.15; }
.user-copy strong { display: block; max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .82rem; }
.user-copy small { color: var(--muted); font-size: .65rem; }
.account-menu-mark { width: 16px; color: var(--muted-strong); font-size: .9rem; text-align: center; transition: transform var(--motion-micro) ease-out; }
.account-menu-trigger[aria-expanded="true"] .account-menu-mark { transform: rotate(180deg); }
.account-menu {
  position: absolute;
  z-index: 30;
  top: calc(100% + 8px);
  right: 0;
  width: min(360px, calc(100vw - 32px));
  overflow: hidden;
  border: 1px solid var(--line-strong);
  border-radius: 10px;
  background: var(--base-900);
  box-shadow: var(--shadow);
}
.account-menu[hidden] { display: none; }
.account-menu-summary { display: grid; gap: .2rem; padding: 1rem; border-bottom: 1px solid var(--line); }
.account-menu-summary strong, .account-menu-summary small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.account-menu-summary small { color: var(--muted); font-size: .72rem; }
.account-menu-item {
  width: 100%;
  display: flex;
  padding: .85rem 1rem;
  border: 0;
  border-bottom: 1px solid var(--line);
  color: var(--text-primary);
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.account-menu-item:last-child { border-bottom: 0; }
.account-menu-item:hover, .account-menu-item:focus-visible { outline: 0; background: var(--accent-soft); }
.account-menu-item span { min-width: 0; display: grid; gap: .25rem; }
.account-menu-item strong { font-size: .8rem; font-weight: 600; }
.account-menu-item small { color: var(--muted); font-size: .68rem; line-height: 1.25rem; }
.account-menu-item.sign-out { color: #f4d9dc; }
.mobile-bottom-navigation { display: none; }

.content { width: min(1600px, 100%); flex: 1; margin: 0 auto; padding: 32px 24px 48px; }
.content:focus { outline: none; }
.application-footer { width: min(1600px, 100%); margin: 0 auto; padding: 0 24px 24px; color: var(--text-primary); opacity: .1; font-size: .875rem; font-weight: 400; line-height: 1.25rem; text-align: center; }
.page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 24px; }
.page-head h1 { margin: 0; font-size: 1.5rem; font-weight: 700; line-height: 2rem; letter-spacing: -.015em; }
.page-head p { max-width: 760px; margin: .5rem 0 0; color: var(--muted); line-height: 1.25rem; }
.actions { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; }

.executive-context { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 32px; overflow: hidden; border: 1px solid var(--line-strong); border-radius: var(--radius); background: var(--base-900); }
.decision-lens { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; padding: 24px; border-right: 1px solid var(--line); }
.decision-lens:last-child { border-right: 0; }
.decision-lens.emphasis { background: var(--base-850); box-shadow: inset 0 3px var(--accent-cyan-light); }
.decision-lens-label { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--accent-cyan-light); font-size: .6875rem; font-weight: 700; line-height: 1rem; letter-spacing: .08em; text-transform: uppercase; }
.decision-lens h2 { min-height: 48px; margin: 24px 0 8px; font-size: 1.125rem; line-height: 1.5rem; }
.decision-lens > p { min-height: 80px; margin: 0 0 20px; color: var(--text-secondary); line-height: 1.25rem; }
.decision-lens-meta { width: 100%; display: grid; gap: 8px; margin: auto 0 20px; padding-top: 16px; border-top: 1px solid var(--line); }
.decision-lens-meta div { display: grid; grid-template-columns: 68px minmax(0, 1fr); gap: 8px; }
.decision-lens-meta dt { color: var(--text-secondary); font-size: .6875rem; }
.decision-lens-meta dd { margin: 0; overflow-wrap: anywhere; font-size: .75rem; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin: 32px 0 16px; }
.section-heading h2 { margin: 0; font-size: 1.125rem; line-height: 1.5rem; }
.section-heading > p { margin: 0; color: var(--text-secondary); font-size: .6875rem; }
.state-banner { display: flex; align-items: flex-start; gap: 16px; margin-bottom: 16px; padding: 16px; border: 1px solid var(--line-strong); border-radius: 6px; background: var(--base-850); }
.state-banner .authority-label { margin: 0; }
.state-banner strong { display: block; }
.state-banner p { margin: 4px 0 0; color: var(--text-secondary); }
.state-banner.partial { border-color: #8e7045; background: #3f362c; }
.state-banner.permission { border-color: var(--critical-500); background: #382d30; }
.state-banner.stale { border-color: #8e7045; background: #3f362c; }

.grid { display: grid; gap: 16px; }
.metric-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.split-grid { grid-template-columns: minmax(0, 1.5fr) minmax(300px, .8fr); margin-top: 16px; }
.three-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.slice-stack, .operational-stack { display: grid; gap: 16px; margin-top: 16px; }

.section-tabs { display: flex; gap: 4px; margin: -8px 0 16px; padding: 4px; overflow-x: auto; border: 1px solid var(--line); border-radius: 6px; background: var(--base-900); }
.section-tab { min-height: 36px; display: inline-flex; align-items: center; padding: .4rem .75rem; border-radius: 4px; color: var(--text-secondary); text-decoration: none; font-weight: 600; white-space: nowrap; }
.section-tab:hover { color: var(--text-primary); background: var(--base-700); }
.section-tab[aria-current="page"] { color: var(--text-primary); background: var(--accent-soft); box-shadow: inset 0 -2px var(--accent-cyan-light); }

.manual-boundary {
  margin-bottom: 1rem;
  padding: .85rem 1rem;
  border: 1px solid #8e7045;
  border-radius: 6px;
  color: #efd5ac;
  background: #3f362c;
  font-size: .78rem;
  line-height: 1.5;
}

.action-list { display: grid; gap: .75rem; margin-top: 1rem; }
.action-item { display: grid; gap: .8rem; padding: 1rem; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.02); }
.action-item strong { display: block; margin-top: .65rem; font-size: .85rem; }
.action-item p { margin: .25rem 0 0; color: var(--muted); font-size: .72rem; }
.check-field { grid-column: 1 / -1; display: flex; align-items: center; gap: .65rem; color: var(--muted-strong); font-size: .78rem; }
.check-field input { width: 1rem; height: 1rem; accent-color: var(--accent); }

.authority-banner {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
  padding: .9rem 1rem;
  border: 1px solid var(--accent-teal);
  border-radius: 6px;
  background: var(--base-850);
}
.authority-banner.synthetic { border-color: #8e7045; background: #3f362c; }
.authority-banner strong { font-size: .8rem; }
.authority-banner p { margin: .18rem 0 0; color: var(--muted); font-size: .72rem; line-height: 1.45; }

.lineage-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0 0 1rem;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--base-900);
}
.lineage-strip div { position: relative; display: flex; align-items: center; gap: .55rem; min-height: 54px; padding: .7rem .85rem; border-right: 1px solid var(--line); }
.lineage-strip div:last-child { border-right: 0; }
.lineage-strip span { color: var(--accent); font-size: .65rem; font-weight: 800; }
.lineage-strip strong { font-size: .74rem; }
.evidence-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.finding-summary { margin-bottom: 1rem; padding: 1rem; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.02); }
.finding-summary .badge { margin-right: .4rem; }
.finding-summary p { margin: .8rem 0 0; color: var(--muted-strong); line-height: 1.55; }
.dialog-body h3 { margin: 1.3rem 0 .8rem; font-size: .88rem; }
.summary-actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.summary-actions p { margin: 0; color: var(--text-secondary); }
.card-inline-actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.card-inline-actions p { margin: 0; color: var(--text-secondary); }

.administration-workspace > .card { margin-top: 16px; }
.tenant-user-administration > .administration-analytics-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 16px; }
.administration-primary-grid > .card,
.administration-analytics-grid > .card,
.administration-management-grid > .card { height: 100%; }
.system-service-list { display: grid; gap: 8px; }
.system-service { min-height: 56px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 6px; background: var(--base-850); }
.system-service strong, .system-service small { display: block; }
.system-service small { margin-top: 2px; color: var(--text-secondary); font-size: .6875rem; }
.distribution-chart { display: grid; gap: 14px; }
.distribution-row { display: grid; gap: 6px; }
.distribution-label { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--text-secondary); font-size: .75rem; }
.distribution-label strong { color: var(--text-primary); font-variant-numeric: tabular-nums; }
.distribution-row meter { width: 100%; height: 8px; border: 0; border-radius: 99px; background: var(--base-850); }
.distribution-row meter::-webkit-meter-bar { border: 0; border-radius: 99px; background: var(--base-850); }
.distribution-row meter::-webkit-meter-optimum-value { border-radius: 99px; background: linear-gradient(90deg, var(--accent-teal), var(--accent-cyan-light)); }
.distribution-row meter::-moz-meter-bar { border-radius: 99px; background: linear-gradient(90deg, var(--accent-teal), var(--accent-cyan-light)); }
.management-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.selected-authority, .authorization-summary, .membership-management { display: grid; gap: 16px; }
.selected-authority .management-actions { padding-top: 4px; }
.permission-chips { display: flex; flex-wrap: wrap; gap: 6px; padding-top: 4px; }
.permission-chip { padding: 5px 8px; border: 1px solid var(--line); border-radius: 4px; color: var(--accent-cyan-light); background: var(--base-850); font-size: .6875rem; }

.architecture-frame { margin: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--base-900); }
.visualization-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 20px 24px; border-bottom: 1px solid var(--line); }
.visualization-head .authority-label { margin-bottom: 8px; }
.visualization-head h2 { margin: 0; font-size: 1.125rem; line-height: 1.5rem; }
.visualization-head p { max-width: 680px; margin: 4px 0 0; color: var(--text-secondary); }
.visualization-legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px 16px; color: var(--text-secondary); font-size: .6875rem; }
.architecture-scroll { min-width: 0; overflow: auto; background: var(--base-950); }
.architecture-scroll,
.large-topology-viewport,
.graph-inspector,
.graph-group-menu-content {
  scrollbar-color: rgba(92, 196, 198, .82) rgba(8, 21, 27, .96);
  scrollbar-width: thin;
}
.architecture-scroll::-webkit-scrollbar,
.large-topology-viewport::-webkit-scrollbar,
.graph-inspector::-webkit-scrollbar,
.graph-group-menu-content::-webkit-scrollbar { width: 12px; height: 12px; }
.architecture-scroll::-webkit-scrollbar-track,
.large-topology-viewport::-webkit-scrollbar-track,
.graph-inspector::-webkit-scrollbar-track,
.graph-group-menu-content::-webkit-scrollbar-track { background: rgba(8, 21, 27, .96); box-shadow: inset 0 0 0 1px rgba(152, 186, 185, .08); }
.architecture-scroll::-webkit-scrollbar-thumb,
.large-topology-viewport::-webkit-scrollbar-thumb,
.graph-inspector::-webkit-scrollbar-thumb,
.graph-group-menu-content::-webkit-scrollbar-thumb { min-width: 34px; min-height: 34px; border: 3px solid rgba(8, 21, 27, .96); border-radius: 999px; background: rgba(92, 196, 198, .72); }
.architecture-scroll::-webkit-scrollbar-thumb:hover,
.large-topology-viewport::-webkit-scrollbar-thumb:hover,
.graph-inspector::-webkit-scrollbar-thumb:hover,
.graph-group-menu-content::-webkit-scrollbar-thumb:hover { background: var(--accent-cyan-light); }
.architecture-scroll::-webkit-scrollbar-corner,
.large-topology-viewport::-webkit-scrollbar-corner { background: rgba(8, 21, 27, .96); }
.architecture-canvas { width: max(100%, 780px); min-height: 320px; display: block; }
.architecture-edges path { fill: none; stroke: rgba(87, 163, 169, .58); stroke-width: 1.35; }
.architecture-edge[data-relationship="exposes"] path,
.architecture-edge[data-relationship="fronts"] path { stroke: rgba(222, 178, 91, .88); stroke-width: 2; filter: drop-shadow(0 0 3px rgba(222, 178, 91, .3)); }
.architecture-edge[data-relationship="exposes"] text,
.architecture-edge[data-relationship="fronts"] text { fill: rgba(238, 202, 128, .94); font-weight: 700; }
.architecture-edge.change-created path { stroke: var(--success); stroke-width: 2.5; }
.architecture-edge.change-updated path { stroke: var(--warning); stroke-width: 2.5; stroke-dasharray: 6 4; }
.architecture-edges text { fill: var(--text-secondary); font-family: "Avenir"; font-size: 10px; text-anchor: middle; }
.architecture-arrow { fill: var(--accent-cyan-light); }
.architecture-node { cursor: pointer; }
.architecture-node rect { fill: var(--base-800); stroke: var(--border-default); stroke-width: 1.5; }
.architecture-node.change-created rect { stroke: var(--success); stroke-width: 2.5; }
.architecture-node.change-updated rect { stroke: var(--warning); stroke-width: 2.5; }
.architecture-node:hover rect, .architecture-node:focus rect { fill: var(--base-700); stroke: var(--accent-cyan-light); }
.architecture-node:focus { outline: none; }
.architecture-node.selected rect { fill: var(--accent-soft); stroke: var(--accent-cyan-light); stroke-width: 2.5; }
.architecture-node-title { fill: var(--text-primary); font-family: "Avenir"; font-size: 12px; font-weight: 700; }
.architecture-node-type { fill: var(--text-secondary); font-family: "Avenir"; font-size: 10px; }
.network-node-address { fill: rgba(178, 220, 218, .92); font-family: "Avenir"; font-size: 9px; }
.architecture-node-indicator { fill: var(--accent-cyan-light); filter: drop-shadow(0 0 4px rgba(152, 186, 185, .72)); }
.architecture-node,
.architecture-edge { transition: opacity 180ms ease-out, filter 180ms ease-out; }
.architecture-node.semantic-dimmed { opacity: .12; }
.architecture-edge.semantic-dimmed { opacity: .07; }
.architecture-node.semantic-associated { opacity: 1; }
.architecture-node.semantic-associated rect { fill: rgba(37, 69, 78, .92); stroke: rgba(108, 203, 202, .92); stroke-width: 2.25; }
.architecture-edge.semantic-related { opacity: 1; }
.architecture-edge.semantic-related path { stroke: rgba(152, 255, 218, .96); stroke-width: 2.5; filter: drop-shadow(0 0 4px rgba(92, 196, 198, .46)); }
.architecture-edge.semantic-related text { fill: var(--text-primary); font-weight: 700; }
.architecture-domains rect { fill: rgba(28, 46, 55, .28); stroke: rgba(152, 186, 185, .14); stroke-width: 1; }
.architecture-domains text { fill: rgba(152, 186, 185, .76); font-family: "Avenir"; font-size: 10px; font-weight: 700; letter-spacing: 1px; }
.architecture-domains.network-lanes rect { fill: rgba(28, 46, 55, .2); }
.architecture-domains.network-lanes .network-resource-group-box { fill: rgba(6, 22, 29, .54); stroke: rgba(92, 196, 198, .24); stroke-dasharray: 4 4; }
.architecture-domains.network-lanes .network-resource-group-label { fill: rgba(152, 255, 218, .72); font-size: 9px; letter-spacing: .85px; }
.network-node-port { pointer-events: none; fill: var(--base-950); stroke: var(--accent-cyan-light); stroke-width: 1.5; }
.network-lanes + .architecture-edges path { stroke-linecap: round; stroke-linejoin: round; }
.architecture-edge.filtered-out, .architecture-node.filtered-out { opacity: .06; pointer-events: none; }
.oaf-graph { width: 100%; min-width: 1080px; height: clamp(520px, 62vh, 760px); cursor: grab; touch-action: none; user-select: none; }
.oaf-graph:active { cursor: grabbing; }
.oaf-graph.hide-node-labels .architecture-node text,
.oaf-graph.hide-edge-labels .architecture-edge text,
.oaf-graph.hide-edges .architecture-edges { display: none; }
.architecture-frame figcaption { padding: 10px 24px; border-top: 1px solid var(--line); color: var(--text-secondary); font-size: .6875rem; }
.graph-statistics { display: grid; grid-template-columns: repeat(3, minmax(92px, 1fr)); gap: 10px; }
.graph-statistics > span { display: grid; min-width: 96px; padding: 10px 12px; border-radius: 10px; background: rgba(14, 18, 25, .4); }
.graph-statistics strong { font-size: 1.35rem; font-weight: 700; }
.graph-statistics small { color: var(--accent-cyan-light); font-size: .625rem; letter-spacing: .08em; text-transform: uppercase; }
.graph-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; border-bottom: 1px solid rgba(152, 186, 185, .08); background: rgba(14, 18, 25, .54); }
.graph-toolbar-filters { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(180px, auto); gap: 8px; flex: 1; max-width: 720px; }
.graph-toolbar input, .graph-toolbar select { width: 100%; min-height: 38px; padding: 0 12px; color: var(--text-primary); border: 0; border-radius: 8px; background: rgba(20, 31, 36, .9); box-shadow: inset 0 0 0 1px rgba(152, 186, 185, .14); }
.graph-toolbar-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.graph-control { min-height: 36px; }
.graph-group-menu { position: relative; }
.graph-group-menu > summary { display: flex; align-items: center; min-height: 36px; cursor: pointer; list-style: none; }
.graph-group-menu > summary::-webkit-details-marker { display: none; }
.graph-group-menu[open] > summary { color: var(--base-950); background: var(--accent-cyan-light); }
.graph-group-menu-content { position: absolute; z-index: 12; top: calc(100% + 8px); right: 0; display: grid; gap: 6px; width: min(360px, calc(100vw - 48px)); max-height: 420px; overflow-y: auto; padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: rgba(8, 17, 23, .98); box-shadow: 0 18px 44px rgba(0, 0, 0, .48); }
.graph-group-menu-heading { padding: 7px 6px 2px; color: var(--text-secondary); font-size: .625rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.graph-group-toggle, .graph-group-menu-all { justify-content: flex-start; width: 100%; overflow: hidden; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.graph-group-toggle.is-collapsed { color: var(--accent-cyan-light); border-color: rgba(152, 255, 218, .36); background: rgba(37, 69, 78, .72); }
.graph-surface { display: grid; grid-template-columns: minmax(0, 1fr) 360px; min-height: 540px; background: var(--base-950); }
.graph-inspector { min-width: 0; overflow-y: auto; padding: 20px; border-left: 1px solid rgba(152, 186, 185, .12); background: linear-gradient(155deg, rgba(28, 46, 55, .72), rgba(14, 18, 25, .72)); }
.graph-inspector h3 { margin: 8px 0 18px; overflow-wrap: anywhere; font-size: 1.1rem; }
.graph-inspector .definition-list { margin-bottom: 18px; }
.graph-inspector .definition-list > div { grid-template-columns: 92px minmax(0, 1fr); }
.graph-inspector-empty { display: grid; align-content: center; min-height: 100%; color: var(--text-secondary); }
.graph-inspector-empty strong { color: var(--text-primary); }
.graph-inspector-empty p { line-height: 1.55; }
.semantic-relationships { margin-top: 22px; padding-top: 18px; border-top: 1px solid rgba(152, 186, 185, .12); }
.semantic-relationships h4 { margin: 0; font-size: .875rem; }
.semantic-relationships-summary { margin: 6px 0 0; color: var(--text-secondary); font-size: .75rem; line-height: 1.2rem; }
.semantic-relationship-list { display: grid; gap: 10px; margin: 14px 0 0; padding: 0; list-style: none; }
.semantic-relationship { min-width: 0; padding: 12px; border-radius: 10px; background: rgba(14, 18, 25, .48); box-shadow: inset 0 0 0 1px rgba(152, 186, 185, .08); }
.semantic-relationship-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.semantic-relationship-head strong { overflow-wrap: anywhere; color: var(--accent-cyan-light); font-size: .75rem; }
.semantic-relationship p { margin: 10px 0; color: var(--text-primary); font-size: .75rem; line-height: 1.2rem; }
.semantic-related-entity { display: grid; gap: 2px; padding-top: 9px; border-top: 1px solid rgba(152, 186, 185, .08); }
.semantic-related-entity span, .semantic-related-entity small { color: var(--text-secondary); font-size: .625rem; }
.semantic-related-entity strong { overflow-wrap: anywhere; font-size: .75rem; }
.architecture-topology-frame:fullscreen { width: 100vw; height: 100vh; border-radius: 0; background: var(--base-950); }
.architecture-topology-frame:fullscreen .graph-surface { height: calc(100vh - 184px); }
.architecture-topology-frame:fullscreen .oaf-graph { height: 100%; }
.service-field { min-width: 1180px; background: radial-gradient(circle at 48% 42%, rgba(30, 52, 66, .38), rgba(8, 17, 23, .96) 68%); }
.service-field-domains rect { fill: rgba(13, 31, 40, .34); stroke: rgba(87, 163, 169, .22); stroke-width: 1; }
.service-field-domains text { fill: rgba(152, 186, 185, .8); font-family: "Avenir"; font-size: 10px; font-weight: 700; letter-spacing: 1.1px; }
.service-field-edge path { stroke: rgba(87, 163, 169, .42); stroke-width: 1.15; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 0 2px rgba(87, 163, 169, .18)); }
.service-field-edge[data-relationship="contains"] path,
.service-field-edge[data-relationship="routes"] path { stroke: rgba(92, 196, 198, .78); stroke-width: 1.7; filter: drop-shadow(0 0 3px rgba(92, 196, 198, .28)); }
.service-field-edge:hover path { stroke: rgba(152, 255, 218, .92); stroke-width: 2.2; }
.service-field-edge text { fill: rgba(156, 169, 167, .68); font-size: 8px; paint-order: stroke; stroke: rgba(8, 17, 23, .92); stroke-width: 3px; stroke-linejoin: round; }
.service-field-node { cursor: pointer; transition: opacity var(--motion-component) ease-out; }
.service-node-shadow { fill: rgba(0, 0, 0, .52); filter: blur(3px); }
.service-node-halo { fill: rgba(87, 163, 169, .12); stroke: rgba(87, 163, 169, .34); stroke-width: 1; }
.service-node-ring { fill: rgba(14, 28, 35, .98); stroke: rgba(108, 203, 202, .82); stroke-width: 4; }
.service-node-core { fill: rgba(4, 13, 18, .98); stroke: rgba(152, 186, 185, .2); stroke-width: 1; }
.service-field-node.depth-10 .service-node-halo,
.service-field-node.selected .service-node-halo { stroke: rgba(152, 255, 218, .92); stroke-width: 3; filter: url(#service-node-glow); }
.service-field-node.depth-10 .service-node-ring,
.service-field-node.selected .service-node-ring { stroke: rgba(152, 255, 218, 1); stroke-width: 5; }
.service-field-node.semantic-associated .service-node-halo { stroke: rgba(108, 203, 202, .88); stroke-width: 2.5; filter: url(#service-node-glow); }
.service-field-node.semantic-associated .service-node-ring { stroke: rgba(108, 203, 202, 1); stroke-width: 4.5; }
.service-field-node:hover .service-node-ring,
.service-field-node:focus .service-node-ring { stroke: var(--text-primary); }
.service-field-node:focus { outline: none; }
.service-node-label, .service-node-type { font-family: "Avenir"; text-anchor: middle; paint-order: stroke; stroke: rgba(8, 17, 23, .98); stroke-linejoin: round; }
.service-node-label { fill: var(--text-primary); stroke-width: 4px; font-size: 10px; font-weight: 700; }
.service-node-type { fill: rgba(156, 169, 167, .64); stroke-width: 3px; font-size: 7px; }
.service-field-surface { grid-template-columns: minmax(0, 1fr) minmax(0, 360px); overflow: hidden; transition: grid-template-columns var(--motion-component) ease-out; }
.service-field-surface.inspector-collapsed { grid-template-columns: minmax(0, 1fr) 46px; }
.network-diagram-scroll { height: clamp(520px, 62vh, 760px); overflow: scroll; overscroll-behavior: contain; scrollbar-gutter: stable both-edges; }
.network-svg-scroll-plane { position: relative; min-width: 100%; min-height: 100%; }
.network-svg-scroll-plane > .oaf-graph { position: sticky; top: 0; left: 0; width: 100%; min-width: 1080px; height: clamp(520px, 62vh, 760px); min-height: 520px; }
.architecture-topology-frame:fullscreen { display: grid; grid-template-rows: auto auto minmax(0, 1fr) auto; }
.architecture-topology-frame:fullscreen .graph-surface { height: auto; min-height: 0; }
.architecture-topology-frame:fullscreen .network-diagram-scroll { height: 100%; min-height: 0; }
.architecture-topology-frame:fullscreen .network-svg-scroll-plane > .oaf-graph { min-height: 0; }
.large-topology-viewport { position: relative; min-width: 0; overflow: auto; background: #08151b; cursor: grab; }
.large-topology-viewport.network-diagram-scroll { overflow: scroll; }
.large-topology-viewport:active { cursor: grabbing; }
.large-topology-scroll-plane { position: relative; min-width: 100%; min-height: 100%; }
.large-topology-scroll-plane > .large-topology-canvas { position: sticky; top: 0; left: 0; }
.large-topology-canvas { display: block; max-width: 100%; outline: 0; touch-action: none; user-select: none; }
.large-topology-canvas:focus { outline: 0; }
.large-topology-frame:fullscreen .large-topology-viewport,
.large-topology-frame:fullscreen .large-topology-canvas { height: 100% !important; }
.service-field-inspector { position: relative; box-sizing: border-box; width: 360px; max-width: 360px; overflow-x: hidden; transition: width var(--motion-component) ease-out, max-width var(--motion-component) ease-out, padding var(--motion-component) ease-out; }
.service-field-inspector.collapsed { width: 46px; min-width: 46px; max-width: 46px; overflow: hidden; padding: 0; background: rgba(8, 21, 27, .96); }
.service-field-inspector .graph-inspector-content[hidden],
.service-field-inspector.collapsed .graph-inspector-content { display: none !important; }
.service-field-inspector-toggle { position: sticky; z-index: 2; top: 12px; display: block; width: max-content; max-width: calc(100% - 4px); min-height: 32px; margin: -6px -6px 12px auto; padding: 7px 10px; color: var(--accent-cyan-light); border: 1px solid rgba(152, 186, 185, .18); border-radius: 16px; background: rgba(14, 18, 25, .92); box-shadow: 0 10px 24px rgba(0, 0, 0, .25); font-family: "Avenir"; font-size: .625rem; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.service-field-inspector.collapsed .service-field-inspector-toggle { width: 32px; min-height: 108px; margin: 14px auto; padding: 8px 5px; writing-mode: vertical-rl; }
.service-field-inspector-toggle:focus-visible { outline: 2px solid var(--accent-cyan-light); outline-offset: 2px; }
.snapshot-control { display: grid; grid-template-columns: minmax(240px, 1.4fr) minmax(180px, 1fr) auto auto; align-items: end; gap: 24px; }
.snapshot-control label { display: grid; gap: 8px; color: var(--text-secondary); font-size: .75rem; }
.snapshot-control select { width: 100%; min-height: 42px; padding: 0 12px; color: var(--text-primary); border: 0; border-radius: 8px; background: rgba(14, 18, 25, .66); box-shadow: inset 0 0 0 1px rgba(152, 186, 185, .12); }
.projection-control { display: grid; gap: 8px; color: var(--text-secondary); font-size: .75rem; }
.segmented-control { display: flex; gap: 6px; }
.segmented-control .button.active { color: var(--base-950); background: var(--accent-cyan-light); }
.snapshot-change-summary { display: grid; grid-template-columns: repeat(3, minmax(72px, 1fr)); gap: 12px; }
.snapshot-change-summary > span { display: grid; gap: 2px; min-width: 76px; padding: 8px 12px; border-radius: 8px; background: rgba(14, 18, 25, .38); }
.snapshot-change-summary strong { font-size: 1.125rem; font-weight: 500; }
.snapshot-change-summary small { color: var(--text-secondary); font-size: .6875rem; }
tr.selected { background: var(--accent-soft); box-shadow: inset 3px 0 var(--accent-cyan-light); }

.finding-explanation { display: grid; gap: 16px; }
.finding-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding: 24px; border: 1px solid var(--line-strong); border-radius: var(--radius); background: var(--base-850); }
.finding-hero h2 { max-width: 900px; margin: 16px 0 8px; font-size: 1.5rem; line-height: 2rem; }
.finding-hero p { max-width: 820px; margin: 0; color: var(--text-secondary); }
.finding-detail-grid { margin-top: 0; }
.path-steps { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.path-steps li { display: flex; align-items: center; gap: 12px; min-height: 40px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 4px; background: var(--base-850); }
.path-steps span { color: var(--accent-cyan-light); font-size: .6875rem; }
.path-steps strong { font-size: .8125rem; }
.evidence-list { display: grid; gap: 8px; }
.evidence-record { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 12px; padding: 12px; border: 1px solid var(--line); border-radius: 4px; }
.evidence-record .authority-label { margin-bottom: 6px; }
.evidence-record strong, .evidence-record small { display: block; }
.evidence-record small { color: var(--text-secondary); }
.decision-history { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.decision-history li { position: relative; display: grid; grid-template-columns: 16px minmax(0, 1fr); gap: 10px; padding-bottom: 20px; }
.decision-history li::before { position: absolute; top: 12px; bottom: 0; left: 5px; width: 1px; content: ""; background: var(--line-strong); }
.decision-history li:last-child { padding-bottom: 0; }
.decision-history li:last-child::before { display: none; }
.decision-history-marker { width: 11px; height: 11px; margin-top: 3px; border: 2px solid var(--accent-cyan-light); border-radius: 50%; background: var(--base-800); }
.decision-history strong { display: block; text-transform: capitalize; }
.decision-history p { margin: 4px 0; color: var(--text-secondary); }
.decision-history small { color: var(--text-secondary); }

.decision-journey { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-bottom: 16px; overflow: hidden; border: 1px solid var(--line-strong); border-radius: var(--radius); background: var(--base-900); }
.decision-stage { min-width: 0; display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 8px; padding: 20px 16px; border-right: 1px solid var(--line); }
.decision-stage:last-child { border-right: 0; }
.decision-stage.complete { background: rgba(87, 163, 169, .07); }
.decision-stage-number { color: var(--text-secondary); font-variant-numeric: tabular-nums; }
.decision-stage-state { color: var(--text-secondary); font-size: .6875rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.decision-stage.complete .decision-stage-state { color: var(--accent-cyan-light); }
.decision-stage h2 { margin: 8px 0 4px; font-size: .875rem; line-height: 1.25rem; }
.decision-stage p { min-height: 60px; margin: 0 0 12px; color: var(--text-secondary); font-size: .75rem; line-height: 1rem; }
.decision-stage strong { display: block; overflow-wrap: anywhere; font-size: .75rem; font-weight: 600; text-transform: capitalize; }
.decision-record-grid { align-items: stretch; }
.decision-record-grid > .card { height: 100%; }
.recorded-action { display: grid; gap: 16px; }
.recorded-action-summary { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.recorded-action-summary h3 { max-width: 640px; margin: 8px 0 0; font-size: 1.125rem; line-height: 1.5rem; }

.card {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}
.card-pad { padding: 20px; }
.metric { min-height: 136px; padding: 20px; display: flex; flex-direction: column; justify-content: space-between; }
.metric-label { display: flex; align-items: center; justify-content: space-between; color: var(--muted); font-size: .73rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.metric-value { margin-top: 1.2rem; font-size: 2rem; font-weight: 700; line-height: 2.5rem; letter-spacing: -.025em; }
.metric-note { margin-top: .25rem; color: var(--muted); font-size: .75rem; }
.metric-source { margin-top: .75rem; padding-top: .5rem; border-top: 1px solid var(--line); color: var(--text-secondary); font-size: .6875rem; line-height: 1rem; }
.signal { width: 8px; height: 8px; border-radius: 50%; background: var(--muted); box-shadow: 0 0 0 4px rgba(152, 165, 183, .08); }
.signal.success { background: var(--success); box-shadow: 0 0 0 4px rgba(152, 186, 185, .1); }
.signal.warning { background: var(--warning); box-shadow: 0 0 0 4px rgba(210, 163, 95, .1); }
.signal.danger { background: var(--danger); box-shadow: 0 0 0 4px rgba(151, 78, 88, .14); }

.card-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 16px 20px; border-bottom: 1px solid var(--line); }
.card-head h2 { margin: 0; font-size: 1.125rem; line-height: 1.5rem; }
.card-head p { margin: .2rem 0 0; color: var(--muted); font-size: .75rem; }
.card-body { padding: 20px; }

.table-wrap { overflow: auto; }
table { width: 100%; border-collapse: collapse; font-size: .82rem; }
th { position: sticky; top: 0; z-index: 1; padding: .625rem 1rem; color: var(--muted); font-size: .6875rem; letter-spacing: .08em; text-align: left; text-transform: uppercase; background: var(--base-750); }
td { min-height: 40px; padding: .625rem 1rem; border-top: 1px solid var(--line); vertical-align: middle; }
tbody tr { transition: background var(--motion-component) ease-out; }
tbody tr:hover { background: var(--base-750); }
.clickable-row { cursor: pointer; }
.clickable-row:focus-visible { outline: 3px solid var(--accent-cyan-light); outline-offset: -3px; background: var(--accent-soft); }
.cell-title { display: block; font-weight: 700; }
.cell-subtitle { display: block; margin-top: .18rem; color: var(--muted); font-size: .7rem; }

.badge { display: inline-flex; align-items: center; gap: .35rem; padding: .28rem .52rem; border: 1px solid var(--line); border-radius: 999px; color: var(--muted-strong); font-size: .68rem; font-weight: 750; text-transform: capitalize; }
.badge::before { width: 5px; height: 5px; content: ""; border-radius: 50%; background: currentColor; }
.badge.success, .badge.active, .badge.succeeded, .badge.passed, .badge.ready, .badge.current, .badge.registered { color: var(--accent-cyan-light); border-color: var(--accent-teal); background: var(--base-850); }
.badge.warning, .badge.pending, .badge.provisioning, .badge.requested, .badge.running { color: #efd5ac; border-color: #8e7045; background: #3f362c; }
.badge.danger, .badge.failed, .badge.suspended, .badge.revoked, .badge.deleted { color: #f4d9dc; border-color: var(--critical-500); background: var(--critical-700); }
.badge.info, .badge.candidate { color: var(--accent-cyan-light); border-color: var(--accent-teal); background: var(--base-850); }
.badge.pass, .badge.automatic, .badge.implemented { color: var(--accent-cyan-light); border-color: var(--accent-teal); background: var(--base-850); }
.badge.fail { color: #f4d9dc; border-color: var(--critical-500); background: var(--critical-700); }
.badge.notassessed, .badge.manual, .badge.hybrid, .badge.placeholder, .badge.planned { color: #efd5ac; border-color: #8e7045; background: #3f362c; }
.badge.unavailable, .badge.unassigned, .badge.notavailable, .badge.notconfigured, .badge.legacy { color: var(--text-secondary); border-color: var(--line-strong); background: var(--base-850); }

.timeline { display: grid; gap: .9rem; }
.event { position: relative; padding: 0 0 0 1.3rem; }
.event::before { position: absolute; top: .35rem; left: 0; width: 7px; height: 7px; content: ""; border-radius: 50%; background: var(--accent); }
.event::after { position: absolute; top: 1rem; bottom: -.8rem; left: 3px; width: 1px; content: ""; background: var(--line); }
.event:last-child::after { display: none; }
.event strong { display: block; font-size: .8rem; }
.event p { margin: .22rem 0 0; color: var(--muted); font-size: .72rem; line-height: 1.45; }

.filter-bar { display: grid; grid-template-columns: minmax(220px, 1fr) repeat(3, minmax(130px, .35fr)); gap: .65rem; padding: 1rem; border-bottom: 1px solid var(--line); }
.filter-bar input, .filter-bar select { min-height: 38px; }
.empty { padding: 3rem 1.25rem; text-align: center; color: var(--muted); }
.empty strong { display: block; margin-bottom: .4rem; color: var(--muted-strong); }
.state-empty { display: grid; justify-items: center; gap: 8px; }
.state-empty .authority-label { margin: 0 0 4px; }
.state-empty .button { margin-top: 8px; }

.definition-list { display: grid; grid-template-columns: minmax(120px, .38fr) minmax(0, 1fr); margin: 0; }
.definition-list dt, .definition-list dd { padding: .75rem 0; border-bottom: 1px solid var(--line); }
.definition-list dt { color: var(--muted); font-size: .75rem; }
.definition-list dd { margin: 0; font-size: .82rem; }
.definition-list dt:last-of-type, .definition-list dd:last-of-type { border-bottom: 0; }

.progress-list { display: grid; gap: .6rem; }
.progress-item { display: grid; grid-template-columns: 1fr auto; gap: .35rem 1rem; padding: .8rem; border: 1px solid var(--line); border-radius: 10px; }
.progress-item strong { font-size: .78rem; }
.progress-item small { grid-column: 1 / -1; color: var(--muted); }

.field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.field { display: grid; gap: .42rem; }
.field.full { grid-column: 1 / -1; }
.field label { color: var(--muted-strong); font-size: .75rem; font-weight: 700; }
.field-hint { color: var(--muted); font-size: .68rem; }

.provider-selector { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 20px; padding: 18px 22px; border-radius: 16px; background: linear-gradient(145deg, rgba(37, 52, 60, .76), rgba(28, 46, 55, .58)); box-shadow: 0 18px 48px rgba(0, 0, 0, .22), 0 5px 14px rgba(0, 0, 0, .16); }
.provider-selector-copy { display: grid; gap: 3px; min-width: 0; }
.provider-selector-copy .eyebrow { margin: 0 0 3px; }
.provider-selector-copy strong { font-size: 1rem; }
.provider-selector-copy span { color: var(--text-secondary); font-size: .75rem; line-height: 1.1rem; }
.provider-selector-control { display: grid; grid-template-columns: minmax(150px, 190px) minmax(240px, 310px) auto; align-items: end; gap: 10px; }
.provider-selector-control label { color: var(--text-secondary); font-size: .75rem; }
.selector-field { display: grid; gap: 6px; }
.provider-select { width: 100%; min-height: 42px; padding: 0 38px 0 12px; border: 0; border-radius: 10px; color: var(--text-primary); background: rgba(14, 18, 25, .66); box-shadow: inset 0 0 0 1px rgba(152, 186, 185, .1), 0 8px 22px rgba(0, 0, 0, .16); }
.provider-selector .badge { margin: 0; }
.discovery-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(320px, .75fr); gap: 20px; }
.discovery-workbench { min-width: 0; }
.discovery-side { display: grid; align-content: start; gap: 20px; }
.discovery-panel { min-width: 0; padding: 24px; border-radius: 16px; background: linear-gradient(145deg, rgba(37, 52, 60, .86), rgba(28, 46, 55, .72)); box-shadow: 0 20px 56px rgba(0, 0, 0, .28), 0 6px 18px rgba(0, 0, 0, .2); }
.discovery-form { display: grid; gap: 22px; }
.discovery-panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.discovery-panel-head .eyebrow { margin: 0 0 6px; }
.discovery-panel-head h2 { margin: 0; font-size: 1.25rem; }
.discovery-panel-head p:not(.eyebrow) { max-width: 680px; margin: 6px 0 0; color: var(--text-secondary); }
.runtime-boundary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 14px; border-radius: 10px; color: var(--accent-cyan-light); background: rgba(14, 18, 25, .42); }
.runtime-boundary span { color: var(--text-secondary); font-size: .75rem; }
.region-scope { min-width: 0; margin: 0; padding: 16px; border: 0; border-radius: 12px; background: rgba(14, 18, 25, .32); }
.region-scope legend { padding: 0 6px; color: var(--text-primary); font-size: .8125rem; font-weight: 700; }
.region-scope > p { margin: 8px 0 0; color: var(--text-secondary); font-size: .75rem; }
.region-grid { display: grid; grid-template-columns: repeat(4, minmax(120px, 1fr)); gap: 8px; }
.region-option { display: flex; align-items: center; gap: 8px; min-height: 38px; padding: 8px 10px; border-radius: 8px; color: var(--text-secondary); background: rgba(37, 52, 60, .52); font-size: .75rem; }
.region-option input { width: 15px; height: 15px; accent-color: var(--accent-cyan-light); }
.discovery-actions { display: flex; justify-content: flex-end; gap: 10px; }
.discovery-status { display: grid; gap: 12px; margin-top: 18px; }
.discovery-status > p { margin: 0; color: var(--text-secondary); line-height: 1.5; }
.discovery-status .definition-list { margin-top: 4px; }
.discovery-result-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.job-progress { display: grid; gap: 9px; padding: 13px 14px; border-radius: 10px; background: rgba(14, 18, 25, .4); box-shadow: inset 0 0 0 1px rgba(152, 186, 185, .08); }
.job-progress-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.job-progress-head strong { color: var(--text-primary); font-size: .75rem; }
.job-progress-head span { color: var(--text-secondary); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.job-progress-track { position: relative; height: 4px; overflow: hidden; border-radius: 99px; background: rgba(152, 186, 185, .1); }
.job-progress-track i { position: absolute; inset: 0; display: block; border-radius: inherit; background: var(--accent-cyan-light); transform-origin: left center; }
.job-progress.running .job-progress-track i { width: 42%; animation: job-progress 1.25s cubic-bezier(.45, 0, .55, 1) infinite; }
.job-progress.succeeded .job-progress-track i { width: 100%; }
.job-progress.failed .job-progress-track i { width: 100%; background: var(--danger); }
.job-progress-stages { display: flex; justify-content: space-between; gap: 8px; color: var(--text-secondary); font-size: .64rem; }
.job-progress-stages span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@keyframes job-progress { 0% { transform: translateX(-110%); } 100% { transform: translateX(340%); } }
@media (prefers-reduced-motion: reduce) { .job-progress.running .job-progress-track i { width: 58%; animation: none; } }
.authorization-check { display: flex; align-items: flex-start; gap: 10px; padding: 14px; border-radius: 10px; color: var(--text-secondary); background: rgba(14, 18, 25, .34); font-size: .78rem; line-height: 1.35rem; }
.authorization-check input { flex: 0 0 auto; width: 16px; height: 16px; margin-top: 2px; accent-color: var(--accent-cyan-light); }
.discovery-form textarea { min-height: 92px; resize: vertical; }

.command-palette { width: min(760px, calc(100% - 32px)); max-height: min(720px, calc(100vh - 64px)); }
.command-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 20px 24px 12px; }
.command-head h2 { margin: 0; font-size: 1.125rem; line-height: 1.5rem; }
.command-search { display: flex; align-items: center; gap: .75rem; margin: 0 24px 16px; padding: 0 12px; border: 1px solid var(--accent-cyan); border-radius: 6px; background: var(--base-900); }
.command-search input { width: 100%; min-height: 48px; padding: 0; border: 0; outline: 0; color: var(--text-primary); background: transparent; }
.command-results { max-height: min(460px, 54vh); overflow-y: auto; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.command-result { width: 100%; min-height: 64px; display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 10px 24px; border: 0; border-bottom: 1px solid var(--line); color: var(--text-primary); background: transparent; text-align: left; cursor: pointer; }
.command-result:last-child { border-bottom: 0; }
.command-result:hover, .command-result.selected { background: var(--accent-soft); box-shadow: inset 3px 0 var(--accent-cyan-light); }
.command-result-icon { width: 32px; height: 32px; display: grid; place-items: center; color: var(--accent-cyan-light); border: 1px solid var(--line); border-radius: 4px; background: var(--base-850); }
.command-result-copy strong, .command-result-copy small { display: block; }
.command-result-copy strong { font-size: .875rem; line-height: 1.25rem; }
.command-result-copy small { margin-top: 2px; color: var(--text-secondary); font-size: .75rem; line-height: 1rem; }
.command-result-meta { display: flex; align-items: center; gap: 8px; color: var(--text-secondary); font-size: .6875rem; }
.command-empty { display: grid; gap: 4px; padding: 48px 24px; color: var(--text-secondary); text-align: center; }
.command-empty strong { color: var(--text-primary); }
.command-foot { display: flex; gap: 16px; padding: 12px 24px; color: var(--text-secondary); font-size: .6875rem; }

.state-page { min-height: calc(100vh - 176px); display: grid; place-items: center; }
.state-panel { width: min(640px, 100%); padding: 40px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.state-panel h1 { margin: 0 0 12px; font-size: 2rem; line-height: 2.5rem; }
.state-panel > p:not(.eyebrow) { max-width: 560px; margin: 0 0 24px; color: var(--text-secondary); line-height: 1.5rem; }

dialog { width: min(620px, calc(100% - 2rem)); padding: 0; border: 1px solid var(--line-strong); border-radius: 8px; color: var(--text); background: var(--surface); box-shadow: var(--shadow); }
dialog::backdrop { background: rgba(0,0,0,.72); backdrop-filter: blur(6px); }
.dialog-head { padding: 1.25rem 1.4rem; border-bottom: 1px solid var(--line); }
.dialog-head h2 { margin: 0; font-size: 1.2rem; }
.dialog-head p { margin: .35rem 0 0; color: var(--muted); font-size: .78rem; }
.dialog-body { padding: 1.35rem 1.4rem; }
.dialog-actions { display: flex; justify-content: flex-end; gap: .65rem; padding: 1rem 1.4rem; border-top: 1px solid var(--line); }
.actionable-report-dialog {
  width: min(1500px, calc(100% - 2rem));
  height: min(960px, calc(100vh - 2rem));
  max-width: none;
  max-height: none;
  overflow: hidden;
}
.actionable-report-dialog[open] { display: grid; grid-template-rows: auto auto minmax(0, 1fr); }
.actionable-report-head { display: flex; align-items: center; justify-content: space-between; gap: 24px; background: linear-gradient(120deg, rgba(28, 46, 55, .98), rgba(14, 31, 40, .98)); }
.actionable-report-head h2 { font-size: 1.35rem; }
.actionable-report-head .actions { flex: none; }
.actionable-report-download { color: #041217; border-color: transparent; background: #79f7df; font-weight: 800; }
.actionable-report-download:hover { color: #020b0e; background: #a0ffe9; }
.actionable-report-assurance { display: flex; align-items: center; gap: 14px; padding: .7rem 1.4rem; border-bottom: 1px solid var(--line); color: var(--text-secondary); background: rgba(87, 163, 169, .08); font-size: .72rem; }
.actionable-report-assurance strong { flex: none; color: var(--accent-cyan-light); font-size: .7rem; letter-spacing: .04em; text-transform: uppercase; }
.actionable-report-frame { width: 100%; height: 100%; border: 0; background: #e8eceb; }
.actionable-report-browser { margin-bottom: 22px; overflow: hidden; border-color: rgba(121, 247, 223, .18); }
.executive-report-head { align-items: flex-end; background: linear-gradient(120deg, rgba(28, 52, 59, .94), rgba(18, 31, 41, .82)); }
.executive-report-head .eyebrow { margin: 0 0 .4rem; color: var(--accent-cyan-light); }
.executive-report-head h2 { font-size: 1.25rem; }
.executive-report-head p:last-child { max-width: 900px; }
.executive-report-body { display: grid; gap: 18px; }
.executive-report-toolbar {
  display: grid;
  grid-template-columns: minmax(280px, 420px) minmax(150px, 1fr) auto;
  align-items: end;
  gap: 14px;
  padding-bottom: 2px;
}
.executive-role-filter { display: grid; gap: 6px; }
.executive-role-filter > span { color: rgba(156, 169, 167, .72); font-size: .65rem; letter-spacing: .075em; text-transform: uppercase; }
.executive-role-filter select {
  width: 100%; min-height: 40px; padding: .55rem 2rem .55rem .75rem; border: 0; border-radius: 8px;
  color: var(--text-primary); background: rgba(14, 18, 25, .68); box-shadow: inset 0 0 0 1px rgba(152, 186, 185, .12);
}
.executive-role-filter select:focus-visible { outline: 2px solid var(--accent-cyan-light); outline-offset: 2px; }
.executive-brief-count { align-self: center; margin: 16px 0 0; color: var(--muted); font-size: .72rem; }
.executive-report-toolbar > .actions { flex-wrap: wrap; justify-content: flex-end; }
.executive-brief-list { display: grid; gap: 11px; }
.executive-brief-card {
  --brief-accent: var(--accent-cyan-light);
  position: relative; min-width: 0; padding: 17px 18px 15px; overflow: hidden; border-radius: 11px; cursor: pointer;
  color: var(--text-primary); background: linear-gradient(118deg, rgba(29, 46, 56, .92), rgba(15, 26, 35, .76));
  box-shadow: inset 4px 0 var(--brief-accent), inset 0 0 0 1px rgba(152, 186, 185, .09), 0 8px 24px rgba(0, 0, 0, .14);
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}
.executive-brief-card.tone-urgent { --brief-accent: #ff737f; }
.executive-brief-card.tone-opportunity { --brief-accent: #79e6ad; }
.executive-brief-card:hover { transform: translateY(-1px); background: linear-gradient(118deg, rgba(35, 56, 67, .96), rgba(18, 31, 41, .84)); }
.executive-brief-card.is-selected { box-shadow: inset 5px 0 var(--brief-accent), inset 0 0 0 2px var(--brief-accent), 0 14px 36px rgba(0, 0, 0, .24); }
.executive-brief-card:focus-visible { outline: 2px solid var(--brief-accent); outline-offset: 3px; }
.executive-brief-card-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.executive-brief-card-head > div { display: flex; align-items: baseline; gap: 10px; }
.executive-brief-card-head span { color: var(--brief-accent); font-size: .62rem; letter-spacing: .085em; text-transform: uppercase; }
.executive-brief-card-head strong { color: var(--text-primary); font-size: .82rem; letter-spacing: .04em; }
.executive-brief-state { flex: 0 0 auto; padding: .28rem .48rem; border-radius: 999px; background: color-mix(in srgb, var(--brief-accent) 10%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--brief-accent) 32%, transparent); }
.executive-brief-content { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(330px, .8fr); gap: 24px; align-items: end; margin-top: 10px; }
.executive-brief-copy h3 { margin: 0; color: var(--text-primary); font-size: .98rem; line-height: 1.34; }
.executive-brief-copy p { margin: .38rem 0 0; color: var(--text-secondary); font-size: .75rem; line-height: 1.48; }
.executive-brief-copy .executive-decision { color: var(--text-primary); font-weight: 500; }
.executive-brief-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin: 0; overflow: hidden; border-radius: 8px; background: rgba(152, 186, 185, .08); }
.executive-brief-metrics > div { min-width: 0; padding: 10px; background: rgba(8, 17, 24, .52); }
.executive-brief-metrics dt { color: var(--muted); font-size: .56rem; letter-spacing: .06em; text-transform: uppercase; }
.executive-brief-metrics dd { margin: .28rem 0 0; color: var(--brief-accent); font-size: .78rem; font-weight: 700; overflow-wrap: anywhere; }
.executive-brief-actions { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 12px 0 0; padding: 10px 0 0 17px; border-top: 1px solid rgba(152, 186, 185, .08); }
.executive-brief-actions li { flex: 1 1 360px; color: var(--muted); font-size: .68rem; line-height: 1.4; }
.executive-estimate-panel { padding: 20px; border-radius: 12px; background: linear-gradient(135deg, rgba(50, 38, 28, .33), rgba(20, 31, 38, .78)); box-shadow: inset 0 0 0 1px rgba(231, 181, 108, .18); }
.executive-estimate-panel > header { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.executive-estimate-panel .eyebrow { margin: 0 0 .4rem; color: #e7b56c; }
.executive-estimate-panel h3 { margin: 0; color: var(--text-primary); font-size: 1rem; }
.executive-estimate-model { color: rgba(231, 181, 108, .72); font-size: .62rem; }
.executive-estimate-disclaimer { max-width: 1100px; margin: .7rem 0 0; color: var(--text-secondary); font-size: .72rem; line-height: 1.5; }
.executive-estimate-metrics { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; margin-top: 16px; }
.executive-estimate-metrics article { min-width: 0; display: grid; align-content: start; gap: 5px; padding: 13px; border-radius: 9px; background: rgba(12, 22, 28, .58); box-shadow: inset 0 0 0 1px rgba(231, 181, 108, .09); }
.executive-estimate-metrics span { color: var(--muted); font-size: .58rem; letter-spacing: .055em; text-transform: uppercase; }
.executive-estimate-metrics strong { color: #f1c985; font-size: .9rem; overflow-wrap: anywhere; }
.executive-estimate-metrics small { color: var(--muted); font-size: .6rem; line-height: 1.35; }
.executive-estimate-list-head { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(231, 181, 108, .12); }
.executive-estimate-list-head strong { color: var(--text-primary); font-size: .76rem; }
.executive-estimate-list-head span { color: var(--muted); font-size: .65rem; text-align: right; }
.executive-estimate-lines { display: grid; gap: 6px; margin-top: 10px; }
.executive-estimate-line { width: 100%; display: grid; grid-template-columns: minmax(240px, 1fr) minmax(430px, .75fr); gap: 18px; align-items: center; padding: 11px 13px; border: 0; border-radius: 8px; color: inherit; background: rgba(9, 17, 23, .42); box-shadow: inset 0 0 0 1px rgba(152, 186, 185, .07); text-align: left; }
button.executive-estimate-line { cursor: pointer; }
button.executive-estimate-line:hover { background: rgba(42, 62, 68, .54); box-shadow: inset 3px 0 #e7b56c, inset 0 0 0 1px rgba(231, 181, 108, .16); }
button.executive-estimate-line:focus-visible { outline: 2px solid #e7b56c; outline-offset: 2px; }
.executive-estimate-line > div:first-child { min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 10px; align-items: baseline; }
.executive-estimate-line > div:first-child strong { color: #f1c985; font-size: .67rem; }
.executive-estimate-line > div:first-child span { color: var(--text-primary); font-size: .72rem; overflow-wrap: anywhere; }
.executive-estimate-line > div:first-child small { grid-column: 1 / -1; margin-top: 4px; color: var(--muted); font-size: .6rem; line-height: 1.35; }
.executive-estimate-line dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 0; }
.executive-estimate-line dl > div { min-width: 0; }
.executive-estimate-line dt { color: var(--muted); font-size: .54rem; letter-spacing: .05em; text-transform: uppercase; }
.executive-estimate-line dd { margin: .22rem 0 0; color: var(--text-primary); font-size: .68rem; font-weight: 600; overflow-wrap: anywhere; }

@media (max-width: 1300px) {
  .executive-report-toolbar { grid-template-columns: minmax(260px, 1fr) auto; }
  .executive-brief-count { display: none; }
  .executive-brief-content { grid-template-columns: 1fr; gap: 13px; }
  .executive-estimate-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 860px) {
  .executive-report-toolbar { grid-template-columns: 1fr; align-items: stretch; }
  .executive-report-toolbar > .actions { justify-content: flex-start; }
  .executive-brief-card-head, .executive-estimate-panel > header, .executive-estimate-list-head { align-items: flex-start; flex-direction: column; }
  .executive-brief-metrics, .executive-estimate-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .executive-estimate-list-head span { text-align: left; }
  .executive-estimate-line { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .executive-brief-card { padding: 15px; }
  .executive-brief-card-head > div { align-items: flex-start; flex-direction: column; gap: 3px; }
  .executive-brief-metrics, .executive-estimate-metrics, .executive-estimate-line dl { grid-template-columns: 1fr; }
  .executive-brief-actions { display: grid; }
}

.error-panel { margin-inline: auto; padding: 40px; text-align: left; }
.error-panel h1 { margin-bottom: 16px; }
.error-panel > .eyebrow { margin-top: 4px; }
.error-panel.permission { border-color: #8e7045; }
.error-panel.conflict, .error-panel.malformed { border-color: #8e7045; }
.error-panel.unavailable, .error-panel.not-found { border-color: var(--critical-500); }
.state-details { display: grid; gap: 8px; margin-bottom: 24px; }
.state-details p { max-width: 580px; margin: 0; color: var(--text-secondary); line-height: 1.55; }
.state-details strong { color: var(--text-primary); }
.request-id { margin-top: .75rem; color: #738197; font-size: .65rem; }

.toast-stack { position: fixed; z-index: 80; right: 1.25rem; bottom: 1.25rem; display: grid; gap: .6rem; }
.toast { width: min(390px, calc(100vw - 2.5rem)); padding: .85rem 1rem; border: 1px solid var(--line-strong); border-radius: 11px; color: var(--text); background: #18202a; box-shadow: 0 14px 38px rgba(0,0,0,.38); font-size: .8rem; }
.toast.success { border-color: rgba(126,230,171,.4); }
.toast.danger { border-color: rgba(255,141,150,.45); }

.loading-layout { display: grid; gap: 32px; }
.skeleton-heading { display: grid; gap: 12px; max-width: 760px; padding-block: 8px; }
.skeleton { position: relative; display: grid; align-content: center; gap: 12px; overflow: hidden; min-height: 140px; padding: 20px; }
.skeleton-line { display: block; height: 12px; border-radius: 3px; background: var(--base-800); }
.skeleton-line.short { width: 28%; }
.skeleton-line.title { width: 68%; height: 32px; }
.skeleton-line.value { width: 44%; height: 24px; }
.skeleton-line.copy { width: 86%; }
.skeleton::after { position: absolute; inset: 0; content: ""; background: linear-gradient(100deg, transparent, rgba(255,255,255,.035), transparent); animation: sweep 1.2s infinite; }
@keyframes sweep { from { transform: translateX(-100%); } to { transform: translateX(100%); } }

.mobile-menu { display: none; }

@media (max-width: 1439px) {
  .shell { grid-template-columns: 224px minmax(0, 1fr); }
  .sidebar { width: 224px; }
  .topbar { padding-inline: 20px; }
  .context-select { width: min(220px, 24vw); }
  .global-search { width: min(280px, 26vw); }
  .vertical-select { width: min(180px, 18vw); flex-basis: 180px; }
  .user-copy strong { max-width: 140px; }
  .content { padding-inline: 20px; }
}

@media (max-width: 1200px) {
  .global-search { width: 40px; margin-left: 0; padding: 0; justify-content: center; }
  .global-search span, .global-search kbd { display: none; }
}

@media (max-width: 1100px) {
  .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tenant-user-administration > .administration-analytics-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .snapshot-control { grid-template-columns: 1fr 1fr; }
  .three-grid { grid-template-columns: 1fr 1fr; }
  .split-grid { grid-template-columns: 1fr; }
  .executive-context { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .discovery-layout { grid-template-columns: 1fr; }
  .region-grid { grid-template-columns: repeat(3, minmax(120px, 1fr)); }
  .decision-lens { border-bottom: 1px solid var(--line); }
  .decision-lens:nth-child(2) { border-right: 0; }
  .decision-lens:nth-last-child(-n + 2) { border-bottom: 0; }
  .decision-journey { grid-template-columns: repeat(5, 220px); overflow-x: auto; }
  .global-search { width: 40px; margin-left: 0; padding: 0; justify-content: center; }
  .global-search span, .global-search kbd { display: none; }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .shell { grid-template-columns: 224px minmax(0, 1fr); }
  .sidebar { width: 224px; padding: 12px; }
  .sidebar-brand { padding-inline: .5rem; }
  .primary-navigation { gap: 8px; }
  .nav-list { gap: 4px; }
  .nav-link { justify-content: flex-start; min-height: 44px; padding: 8px 12px; }
  .nav-link[aria-current="page"] { box-shadow: inset 3px 0 var(--accent-cyan-light); }
  .topbar { padding-inline: 16px; }
  .content { padding: 24px 16px 40px; }
  .context-select { width: min(180px, 24vw); }
  .vertical-select { width: min(150px, 20vw); flex-basis: 150px; }
  .user-copy { display: none; }
}

@media (max-width: 767px) {
  .login-frame { grid-template-columns: 1fr; }
  .login-story { min-height: auto; }
  .login-action { border-top: 1px solid var(--line); border-left: 0; }
  .shell { display: block; }
  .sidebar { width: min(304px, 88vw); transform: translateX(-105%); transition: transform var(--motion-overlay) ease-out; box-shadow: var(--shadow); }
  .sidebar.open { transform: none; }
  .sidebar .nav-copy { display: block; }
  .workspace { grid-column: auto; }
  .topbar { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; }
  .mobile-menu { display: inline-flex; grid-column: 1; grid-row: 1; }
  .context-control { min-width: 0; display: flex; grid-column: 2; grid-row: 1; }
  .context-label { display: none; }
  .context-select { width: 100%; }
  .global-search { grid-column: 3; grid-row: 1; }
  .topbar-spacer { display: none; }
  .vertical-theme-control { width: 100%; grid-column: 1 / 3; grid-row: 2; }
  .vertical-select { width: 100%; max-width: none; flex: 1 1 auto; grid-column: auto; grid-row: auto; }
  .account-menu-control { grid-column: 3; grid-row: 2; justify-self: end; }
  .user-copy { display: none; }
  .account-menu-trigger { padding-inline: .35rem; }
  .account-menu-trigger .account-menu-mark { display: none; }
  .content { padding: 24px 16px 48px; }
  .application-footer { padding: 0 16px 88px; }
  .page-head { align-items: flex-start; flex-direction: column; }
  .field-grid, .filter-bar { grid-template-columns: 1fr; }
  .provider-selector { align-items: stretch; flex-direction: column; }
  .provider-selector-control { grid-template-columns: 1fr auto; }
  .provider-selector-control label { grid-column: 1 / -1; }
  .region-grid { grid-template-columns: 1fr 1fr; }
  .executive-context { grid-template-columns: 1fr; }
  .decision-lens, .decision-lens:nth-child(2) { border-right: 0; border-bottom: 1px solid var(--line); }
  .decision-lens:last-child { border-bottom: 0; }
  .decision-lens h2, .decision-lens > p { min-height: 0; }
  .summary-actions, .visualization-head, .finding-hero { align-items: flex-start; flex-direction: column; }
  .visualization-legend { justify-content: flex-start; }
  .finding-hero .actions { width: 100%; }
  .evidence-record { grid-template-columns: 1fr; }
  .recorded-action-summary { flex-direction: column; }
  .lineage-strip { grid-template-columns: 1fr; }
  .lineage-strip div { border-right: 0; border-bottom: 1px solid var(--line); }
  .lineage-strip div:last-child { border-bottom: 0; }
  .mobile-bottom-navigation { position: fixed; z-index: 18; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); padding: 6px max(8px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left)); border-top: 1px solid var(--line); background: var(--base-900); }
  .mobile-nav-link { min-width: 0; min-height: 52px; display: grid; place-items: center; gap: 2px; padding: 4px; border: 0; border-radius: 4px; color: var(--text-secondary); background: transparent; text-decoration: none; font-size: .625rem; cursor: pointer; }
  .mobile-nav-link .nav-copy strong { max-width: 64px; overflow: hidden; text-overflow: ellipsis; font-size: .625rem; font-weight: 600; white-space: nowrap; }
  .mobile-nav-link[aria-current="page"] { color: var(--text-primary); background: var(--accent-soft); }
  .command-result { grid-template-columns: 32px minmax(0, 1fr); padding-inline: 16px; }
  .command-result-meta { display: none; }
  .command-head, .command-foot { padding-inline: 16px; }
  .command-search { margin-inline: 16px; }
  .state-panel { padding: 24px; }
  .actionable-report-dialog { width: calc(100% - 1rem); height: calc(100vh - 1rem); }
  .actionable-report-head { align-items: flex-start; flex-direction: column; gap: 12px; }
  .actionable-report-head .actions { width: 100%; }
  .actionable-report-assurance { align-items: flex-start; flex-direction: column; gap: 4px; }
}

@media (max-width: 540px) {
  .metric-grid, .three-grid { grid-template-columns: 1fr; }
  .tenant-user-administration > .administration-analytics-grid { grid-template-columns: 1fr; }
  .snapshot-control { grid-template-columns: 1fr; }
  .topbar { padding: .7rem .9rem; }
  .login-screen { padding: .75rem; }
  .login-story, .login-action { padding: 1.6rem; }
  .login-brand .brand-wordmark { font-size: 2rem; }
}

@media (pointer: coarse) {
  .button, .nav-link, .section-tab { min-height: 44px; }
  .clickable-row td { padding-block: .875rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; transition-duration: .001ms !important; }
}

/* Authenticated application aesthetic */
.shell {
  background:
    radial-gradient(circle at 78% 8%, rgba(87, 163, 169, .055), transparent 34rem),
    radial-gradient(circle at 34% 100%, rgba(93, 152, 155, .035), transparent 42rem),
    var(--base-950);
}

.sidebar {
  overflow: hidden;
  border-right: 0;
  background: rgba(14, 18, 25, .9);
  box-shadow: 16px 0 52px rgba(0, 0, 0, .36);
  backdrop-filter: blur(18px);
}
.sidebar::before {
  position: absolute;
  left: 50%;
  bottom: 112px;
  width: 390px;
  height: 372px;
  content: "";
  opacity: .015;
  background: url("/orbitalys-engine-mark.png") center / contain no-repeat;
  filter: invert(1);
  transform: translateX(-50%);
  pointer-events: none;
}
.sidebar > * { position: relative; z-index: 1; }
.sidebar-brand { min-height: 56px; padding-bottom: 1.6rem; }
.sidebar-brand .brand-logo { width: 38px; height: 40px; opacity: .18; filter: invert(1) drop-shadow(0 8px 10px rgba(0, 0, 0, .58)); }
.sidebar-brand .brand-wordmark { font-size: 1rem; text-shadow: 0 3px 7px rgba(0, 0, 0, .68); }
.sidebar-brand .brand-wordmark span { color: var(--muted-strong); }
.primary-navigation { gap: 1.35rem; }
.nav-label { padding-left: .8rem; color: rgba(152, 186, 185, .68); font-weight: 400; }
.nav-list { gap: .32rem; }
.nav-link {
  min-height: 44px;
  padding: .58rem .8rem;
  border-radius: 9px;
  color: rgba(200, 210, 208, .78);
  font-weight: 400;
  transition: color var(--motion-component) ease-out, background var(--motion-component) ease-out, box-shadow var(--motion-component) ease-out, transform var(--motion-micro) ease-out;
}
.nav-link:hover { color: var(--text-primary); background: rgba(93, 152, 155, .08); box-shadow: 0 8px 20px rgba(0, 0, 0, .18); }
.nav-link:active { transform: translateY(1px); }
.nav-link[aria-current="page"] {
  color: var(--text-primary);
  background: linear-gradient(135deg, rgba(93, 152, 155, .19), rgba(87, 163, 169, .1));
  box-shadow: 0 10px 26px rgba(0, 0, 0, .24), inset 0 0 0 1px rgba(152, 186, 185, .08);
}
.sidebar-foot {
  padding: 1rem;
  border-top: 0;
  border-radius: 12px;
  background: rgba(28, 46, 55, .34);
  box-shadow: 0 10px 30px rgba(0, 0, 0, .18);
}

.workspace { min-height: 100vh; background: transparent; }
.topbar {
  min-height: 72px;
  border-bottom: 0;
  background: rgba(20, 31, 36, .74);
  box-shadow: 0 14px 34px rgba(0, 0, 0, .22);
  backdrop-filter: blur(18px);
}
.context-label { color: rgba(152, 186, 185, .64); font-weight: 400; }
.context-select,
.vertical-select,
.field input,
.field select,
.field textarea,
.filter-bar input,
.filter-bar select,
.global-search {
  border: 0;
  border-radius: 10px;
  background: rgba(14, 18, 25, .66);
  box-shadow: inset 0 0 0 1px rgba(152, 186, 185, .09), 0 8px 22px rgba(0, 0, 0, .18);
}
.context-select:hover, .vertical-select:hover, .global-search:hover { box-shadow: inset 0 0 0 1px rgba(152, 186, 185, .22), 0 10px 24px rgba(0, 0, 0, .2); }
.avatar { color: #10181c; background: rgba(152, 186, 185, .86); box-shadow: 0 8px 18px rgba(0, 0, 0, .24); }
.user-copy strong { font-weight: 500; }

.content { padding-top: 40px; padding-bottom: 64px; }
.page-head { align-items: center; margin-bottom: 32px; }
.page-head h1 { font-size: 2rem; font-weight: 400; line-height: 2.5rem; letter-spacing: -.02em; text-shadow: 0 4px 10px rgba(0, 0, 0, .5); }
.page-head p { margin-top: .7rem; color: rgba(156, 169, 167, .78); font-size: .9375rem; line-height: 1.5rem; }
.page-head > div > p:not(.eyebrow) { margin-top: .65rem; color: rgba(156, 169, 167, .58); font-size: .875rem; line-height: 1.5rem; }
.section-heading { margin-top: 40px; margin-bottom: 20px; }
.section-heading h2, .card-head h2 { font-weight: 500; }
.section-heading > p, .card-head p { color: rgba(156, 169, 167, .68); }
.grid, .slice-stack, .operational-stack { gap: 20px; }
.split-grid { margin-top: 20px; }
.content > div > :where(.grid, .card, .slice-stack, .operational-stack, .finding-explanation, .architecture-frame, .decision-journey, .state-panel)
  + :where(.grid, .card, .slice-stack, .operational-stack, .finding-explanation, .architecture-frame, .decision-journey, .state-panel) {
  margin-top: 20px;
}
.finding-explanation { gap: 20px; }

.api-documentation { --api-get: #98bab9; --api-write: #d2a35f; --api-delete: #d58a92; }
.api-overview-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.api-shared-contracts { align-items: stretch; }
.contract-list { display: grid; gap: .7rem; margin: 0; padding-left: 1.15rem; color: var(--text-secondary); line-height: 1.45; }
.api-reference-card { overflow: hidden; }
.api-reference-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.api-result-count { flex: 0 0 auto; color: var(--muted); font-size: .75rem; }
.api-filter-bar { display: grid; grid-template-columns: minmax(280px, 1fr) minmax(190px, .3fr) minmax(150px, .2fr); gap: 12px; padding: 18px 22px; background: rgba(14, 18, 25, .24); }
.api-filter-bar input, .api-filter-bar select { width: 100%; min-height: 42px; padding: .62rem .75rem; border: 0; border-radius: 8px; color: var(--text); background: rgba(14, 18, 25, .7); box-shadow: inset 0 0 0 1px rgba(152, 186, 185, .1); }
.api-filter-bar input:focus-visible, .api-filter-bar select:focus-visible { outline: 2px solid var(--accent-cyan-light); outline-offset: 2px; }
.api-endpoint-groups { padding: 0 22px 24px; }
.api-group { padding-top: 28px; }
.api-group + .api-group { margin-top: 12px; }
.api-group-head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 12px; }
.api-group-head h2 { margin: 0; font-size: 1.05rem; }
.api-group-head span { color: var(--muted); font-size: .72rem; }
.api-endpoint-list { display: grid; gap: 10px; }
.api-endpoint { overflow: hidden; border: 0; border-radius: 10px; background: rgba(14, 18, 25, .42); box-shadow: inset 0 0 0 1px rgba(152, 186, 185, .065); }
.api-endpoint[open] { background: rgba(20, 31, 36, .68); box-shadow: inset 0 0 0 1px rgba(152, 186, 185, .14), 0 12px 30px rgba(0, 0, 0, .18); }
.api-endpoint summary { min-height: 62px; display: grid; grid-template-columns: 92px minmax(270px, .85fr) minmax(300px, 1.3fr) 18px; align-items: center; gap: 14px; padding: 12px 16px; cursor: pointer; list-style: none; }
.api-endpoint summary::-webkit-details-marker { display: none; }
.api-endpoint summary:hover { background: rgba(93, 152, 155, .055); }
.api-method { min-width: 68px; display: inline-flex; justify-content: center; justify-self: start; padding: .28rem .42rem; border-radius: 5px; color: var(--api-get); background: rgba(93, 152, 155, .1); font-size: .64rem; font-weight: 700; letter-spacing: .045em; }
.api-method.post, .api-method.put, .api-method.patch { color: var(--api-write); background: rgba(210, 163, 95, .1); }
.api-method.delete { color: var(--api-delete); background: rgba(213, 138, 146, .1); }
.api-method.options { color: #b9a7d6; background: rgba(185, 167, 214, .1); }
.api-path { overflow-wrap: anywhere; color: var(--text-primary); font-family: "Avenir"; font-size: .78rem; font-weight: 500; }
.api-summary { color: var(--text-secondary); font-size: .78rem; line-height: 1.4; }
.api-disclosure { width: 8px; height: 8px; border-right: 1px solid var(--muted-strong); border-bottom: 1px solid var(--muted-strong); transform: rotate(45deg); transition: transform var(--motion-component) ease-out; }
.api-endpoint[open] .api-disclosure { transform: rotate(225deg); }
.api-endpoint-body { display: grid; gap: 20px; padding: 22px; border-top: 1px solid rgba(152, 186, 185, .08); }
.api-contract-meta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0; }
.api-contract-meta div { min-width: 0; padding: 12px; border-radius: 8px; background: rgba(14, 18, 25, .38); }
.api-contract-meta dt { color: var(--muted); font-size: .63rem; letter-spacing: .065em; text-transform: uppercase; }
.api-contract-meta dd { margin: .38rem 0 0; overflow-wrap: anywhere; color: var(--text-primary); font-size: .75rem; line-height: 1.4; }
.api-contract-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.api-contract-block { min-width: 0; padding: 16px; border-radius: 8px; background: rgba(14, 18, 25, .25); }
.api-contract-block h4, .api-example h4 { margin: 0 0 .7rem; font-size: .76rem; }
.api-contract-block ul { display: grid; gap: .45rem; margin: 0; padding-left: 1rem; color: var(--text-secondary); font-size: .72rem; line-height: 1.45; }
.api-contract-block p { margin: 0; font-size: .72rem; }
.api-example { min-width: 0; }
.api-example-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.api-example-head h4 { margin: 0; }
.api-example pre { margin: .6rem 0 0; padding: 16px; overflow: auto; border-radius: 8px; color: var(--accent-cyan-light); background: rgba(8, 13, 17, .82); box-shadow: inset 0 0 0 1px rgba(152, 186, 185, .08); }
.api-example code { font-family: "Avenir"; font-size: .7rem; line-height: 1.55; white-space: pre; }

.integration-catalog { overflow: hidden; }
.integration-catalog .filter-bar { display: grid; grid-template-columns: minmax(260px, 1fr) minmax(190px, .3fr); gap: 12px; padding: 18px 22px; }
.integration-catalog .filter-bar input,
.integration-catalog .filter-bar select { width: 100%; min-height: 42px; padding: .62rem .75rem; }
.integration-table table { min-width: 900px; }
.integration-actions-card { overflow: hidden; }
.integration-actions { display: flex; flex-wrap: wrap; gap: 10px; padding: 20px 22px; }
.integration-contract-groups { display: grid; gap: 20px; }
.integration-contract-groups h3 { margin: 0 0 10px; color: var(--text-secondary); font-size: .72rem; letter-spacing: .05em; text-transform: uppercase; }

@media (max-width: 1200px) {
  .api-overview-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .api-endpoint summary { grid-template-columns: 82px minmax(240px, .8fr) minmax(240px, 1fr) 18px; }
  .api-contract-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
  .integration-catalog .filter-bar { grid-template-columns: 1fr; padding: 14px; }
  .integration-actions { display: grid; grid-template-columns: 1fr; padding: 16px; }
  .integration-actions .button { width: 100%; }
}

@media (max-width: 767px) {
  .api-overview-grid, .api-contract-grid, .api-contract-meta { grid-template-columns: 1fr; }
  .api-filter-bar { grid-template-columns: 1fr; }
  .api-reference-head { align-items: flex-start; flex-direction: column; }
  .api-endpoint summary { grid-template-columns: 76px minmax(0, 1fr) 18px; gap: 10px; }
  .api-summary { grid-column: 1 / -1; grid-row: 2; }
  .api-disclosure { grid-column: 3; grid-row: 1; }
}

/* Orbitalys HTML5 documentation portal */
.orbitalys-documentation {
  --doc-surface: rgba(28, 46, 55, .72);
  --doc-surface-quiet: rgba(14, 18, 25, .42);
  --doc-line: rgba(152, 186, 185, .1);
}
.doc-layout {
  display: grid;
  grid-template-columns: minmax(220px, 268px) minmax(0, 1fr);
  align-items: start;
  gap: 24px;
}
.doc-navigation {
  position: sticky;
  top: 96px;
  max-height: calc(100vh - 124px);
  overflow: auto;
  padding: 20px;
  border-radius: 14px;
  background: linear-gradient(155deg, rgba(37, 52, 60, .88), rgba(20, 31, 36, .8));
  box-shadow: 0 18px 48px rgba(0, 0, 0, .27), inset 0 0 0 1px var(--doc-line);
  scrollbar-width: thin;
}
.doc-navigation > header {
  padding-bottom: 16px;
  border-bottom: 1px solid var(--doc-line);
}
.doc-navigation > header .eyebrow { margin: 0 0 .35rem; }
.doc-navigation > header strong { color: var(--text-primary); font-size: .92rem; }
.doc-navigation section { padding-top: 16px; }
.doc-navigation section + section { margin-top: 4px; border-top: 1px solid rgba(152, 186, 185, .06); }
.doc-navigation h2 {
  margin: 0 0 8px;
  color: rgba(152, 186, 185, .7);
  font-size: .64rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.doc-navigation ul { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.doc-navigation a { text-decoration: none; }
.doc-link {
  display: block;
  padding: .42rem .5rem;
  border-radius: 6px;
  color: var(--text-secondary);
  font-size: .76rem;
  line-height: 1.3;
}
.doc-link:hover, .doc-link:focus-visible { color: var(--text-primary); background: rgba(93, 152, 155, .11); }
.doc-navigation-actions { display: grid; gap: 8px; padding-top: 18px; margin-top: 14px; border-top: 1px solid var(--doc-line); }
.doc-navigation-actions .button { width: 100%; justify-content: center; text-align: center; }
.doc-articles { min-width: 0; display: grid; gap: 24px; }
.doc-section {
  min-width: 0;
  padding: 28px;
  scroll-margin-top: 96px;
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(37, 52, 60, .86), var(--doc-surface));
  box-shadow: 0 20px 56px rgba(0, 0, 0, .27), 0 6px 18px rgba(0, 0, 0, .18);
}
.doc-section-head { margin-bottom: 22px; }
.doc-section-head .eyebrow { margin: 0 0 .45rem; }
.doc-section-head h2 { margin: 0; font-size: 1.4rem; line-height: 1.25; }
.doc-section-head h2 a { color: var(--text-primary); text-decoration: none; }
.doc-section-head h2 a:hover::after { content: " #"; color: rgba(152, 186, 185, .5); }
.doc-section-head > p:last-child { max-width: 880px; margin: .65rem 0 0; color: var(--text-secondary); line-height: 1.58; }
.doc-section > * + * { margin-top: 20px; }
.doc-section h3 { margin: 0 0 .55rem; font-size: .9rem; }
.doc-section p { line-height: 1.55; }
.doc-introduction { margin-top: 0; }
.doc-introduction .card { min-width: 0; }
.doc-introduction .card-body p { margin: 0; }
.doc-callout {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 14px;
  padding: 16px;
  border-radius: 10px;
  color: var(--text-secondary);
  background: rgba(30, 52, 66, .62);
  box-shadow: inset 3px 0 rgba(152, 186, 185, .48), inset 0 0 0 1px rgba(152, 186, 185, .07);
}
.doc-callout.warning { background: rgba(83, 61, 31, .23); box-shadow: inset 3px 0 rgba(210, 163, 95, .62), inset 0 0 0 1px rgba(210, 163, 95, .08); }
.doc-callout strong { display: block; color: var(--text-primary); font-size: .82rem; }
.doc-callout p { margin: .25rem 0 0; font-size: .76rem; }
.doc-definition-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.doc-definition-grid article {
  min-width: 0;
  padding: 16px;
  border-radius: 10px;
  background: var(--doc-surface-quiet);
  box-shadow: inset 0 0 0 1px rgba(152, 186, 185, .07);
}
.doc-definition-grid h3 { color: var(--text-primary); overflow-wrap: anywhere; }
.doc-definition-grid p { margin: 0; color: var(--text-secondary); font-size: .75rem; }
.doc-diagram {
  margin: 0;
  padding: 20px;
  overflow: hidden;
  border-radius: 12px;
  background: rgba(8, 13, 17, .48);
  box-shadow: inset 0 0 0 1px var(--doc-line);
}
.doc-diagram > header { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; }
.doc-diagram > header h3 { flex: 0 0 auto; }
.doc-diagram > header p { max-width: 760px; margin: 0; color: var(--muted); font-size: .7rem; text-align: right; }
.doc-flow { display: flex; align-items: stretch; gap: 8px; margin-top: 18px; overflow-x: auto; padding: 0 0 7px; }
.doc-flow-stage {
  flex: 1 0 116px;
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 4px;
  padding: 13px;
  border-radius: 9px;
  background: rgba(30, 52, 66, .66);
  box-shadow: inset 0 0 0 1px rgba(152, 186, 185, .13);
}
.doc-flow-stage > span { color: rgba(152, 186, 185, .56); font-size: .58rem; letter-spacing: .08em; }
.doc-flow-stage strong { color: var(--text-primary); font-size: .73rem; line-height: 1.25; }
.doc-flow-stage small { color: var(--muted); font-size: .62rem; line-height: 1.35; }
.doc-flow-link { flex: 0 0 16px; align-self: center; height: 1px; background: rgba(87, 163, 169, .58); position: relative; }
.doc-flow-link::after { content: ""; position: absolute; right: 0; top: -3px; width: 6px; height: 6px; border-top: 1px solid rgba(87, 163, 169, .72); border-right: 1px solid rgba(87, 163, 169, .72); transform: rotate(45deg); }
.doc-diagram > figcaption { margin-top: 10px; color: rgba(156, 169, 167, .48); font-size: .62rem; }
.doc-table { border-radius: 10px; background: rgba(14, 18, 25, .23); box-shadow: inset 0 0 0 1px rgba(152, 186, 185, .06); }
.doc-table table { min-width: 720px; }
.doc-table caption { padding: 12px 14px; color: rgba(152, 186, 185, .68); font-size: .66rem; letter-spacing: .06em; text-align: left; text-transform: uppercase; }
.doc-table th, .doc-table td { padding: .72rem .8rem; vertical-align: top; line-height: 1.45; }
.doc-table th { font-size: .65rem; }
.doc-table td { color: var(--text-secondary); font-size: .72rem; }
.doc-table-key { width: 20%; color: var(--text-primary) !important; font-weight: 500; overflow-wrap: anywhere; }
.doc-procedure {
  padding: 20px;
  border-radius: 12px;
  background: var(--doc-surface-quiet);
  box-shadow: inset 0 0 0 1px rgba(152, 186, 185, .07);
}
.doc-procedure ol { counter-reset: doc-step; display: grid; gap: 14px; margin: 14px 0 0; padding: 0; list-style: none; }
.doc-procedure li { counter-increment: doc-step; display: grid; grid-template-columns: 30px minmax(0, 1fr); column-gap: 10px; }
.doc-procedure li::before { content: counter(doc-step, decimal-leading-zero); grid-row: 1 / span 2; color: rgba(152, 186, 185, .6); font-size: .64rem; letter-spacing: .05em; padding-top: 2px; }
.doc-procedure strong { color: var(--text-primary); font-size: .78rem; }
.doc-procedure p { grid-column: 2; margin: .25rem 0 0; color: var(--text-secondary); font-size: .74rem; }
.doc-code { margin: 0; overflow: hidden; border-radius: 10px; background: rgba(8, 13, 17, .76); box-shadow: inset 0 0 0 1px rgba(152, 186, 185, .08); }
.doc-code figcaption { padding: 11px 15px; border-bottom: 1px solid rgba(152, 186, 185, .08); color: rgba(152, 186, 185, .7); font-size: .67rem; }
.doc-code pre { max-height: 520px; margin: 0; padding: 16px; overflow: auto; }
.doc-code code { color: var(--accent-cyan-light); font-family: "Avenir"; font-size: .68rem; line-height: 1.55; white-space: pre; }
.doc-route-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.doc-route-actions .button { text-decoration: none; }

@media (max-width: 1200px) {
  .doc-definition-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .doc-flow-stage { flex-basis: 132px; }
}

@media (max-width: 1100px) {
  .doc-layout { grid-template-columns: 1fr; }
  .doc-navigation { position: static; max-height: none; }
  .doc-navigation > section { display: inline-block; width: calc(33.333% - 10px); margin-right: 10px; vertical-align: top; }
  .doc-navigation section + section { margin-top: 0; border-top: 0; }
  .doc-navigation-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
  .doc-section { padding: 20px; }
  .doc-navigation > section { display: block; width: 100%; margin-right: 0; }
  .doc-navigation section + section { margin-top: 4px; border-top: 1px solid rgba(152, 186, 185, .06); }
  .doc-navigation-actions, .doc-definition-grid { grid-template-columns: 1fr; }
  .doc-diagram > header { align-items: flex-start; flex-direction: column; gap: 2px; }
  .doc-diagram > header p { text-align: left; }
  .doc-flow { align-items: stretch; flex-direction: column; overflow: visible; }
  .doc-flow-stage { flex: 0 0 auto; }
  .doc-flow-link { align-self: center; width: 1px; height: 16px; }
  .doc-flow-link::after { right: -3px; top: auto; bottom: 0; transform: rotate(135deg); }
  .doc-callout { grid-template-columns: 1fr; }
}

/* SVE findings and definition inventory */
.sve-page .page-head { margin-bottom: 24px; }
.sve-scope-banner, .sve-catalog-banner, .sve-context-banner { margin-bottom: 20px; }
.sve-scope-banner .mono { display: block; margin-top: .35rem; color: rgba(152, 186, 185, .52); font-size: .67rem; overflow-wrap: anywhere; }
.sve-context-banner { align-items: center; border-color: rgba(152, 186, 185, .24); background: linear-gradient(135deg, rgba(48, 79, 84, .48), rgba(24, 42, 50, .66)); }
.sve-context-copy { min-width: 0; flex: 1 1 auto; }
.sve-context-copy .mono { display: block; margin-top: .35rem; color: rgba(152, 186, 185, .52); font-size: .67rem; overflow-wrap: anywhere; }
.sve-context-banner > .button { flex: 0 0 auto; margin-left: auto; }
.sve-data-grid { min-width: 0; }
.sve-remote-catalog { min-width: 0; }
.sve-catalog-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.sve-catalog-metrics .metric { min-width: 0; }
.sve-catalog-search {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) auto auto;
  align-items: end;
  gap: 10px;
  margin-bottom: 12px;
}
.sve-catalog-query, .sve-catalog-controls label { display: grid; gap: 6px; min-width: 0; }
.sve-catalog-query > span, .sve-catalog-controls label > span {
  color: rgba(156, 169, 167, .72);
  font-size: .65rem;
  letter-spacing: .075em;
  text-transform: uppercase;
}
.sve-catalog-query input, .sve-catalog-controls select {
  width: 100%;
  min-height: 38px;
  border: 0;
  border-radius: 8px;
  color: var(--text-primary);
  background: rgba(14, 18, 25, .68);
  box-shadow: inset 0 0 0 1px rgba(152, 186, 185, .1);
}
.sve-catalog-query input { padding: .55rem .7rem; }
.sve-catalog-controls select { padding: .5rem 2rem .5rem .7rem; }
.sve-catalog-query input:focus-visible, .sve-catalog-controls select:focus-visible {
  outline: 2px solid var(--accent-cyan-light);
  outline-offset: 2px;
}
.sve-catalog-controls {
  display: grid;
  grid-template-columns: repeat(6, minmax(130px, 1fr));
  gap: 10px;
}
.sve-remote-table { margin-top: 12px; }
.sve-remote-table table { min-width: 1120px; }
.sve-table-toolbar {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(124px, auto) auto;
  align-items: end;
  gap: 14px;
  padding-bottom: 18px;
}
.sve-global-search, .sve-page-size { display: grid; gap: 6px; }
.sve-global-search > span, .sve-page-size > span { color: rgba(156, 169, 167, .72); font-size: .65rem; letter-spacing: .075em; text-transform: uppercase; }
.sve-global-search input, .sve-page-size select, .sve-column-filters input {
  width: 100%;
  min-height: 38px;
  border: 0;
  border-radius: 8px;
  color: var(--text-primary);
  background: rgba(14, 18, 25, .68);
  box-shadow: inset 0 0 0 1px rgba(152, 186, 185, .1);
}
.sve-global-search input, .sve-column-filters input { padding: .55rem .7rem; }
.sve-page-size select { padding: .5rem 2rem .5rem .7rem; }
.sve-global-search input:focus-visible, .sve-page-size select:focus-visible, .sve-column-filters input:focus-visible, .sve-sort-control:focus-visible {
  outline: 2px solid var(--accent-cyan-light);
  outline-offset: 2px;
}
.sve-result-summary { align-self: center; margin: 14px 0 0; color: var(--muted); font-size: .72rem; white-space: nowrap; }
.sve-table-wrap { border-radius: 10px; background: rgba(14, 18, 25, .3); box-shadow: inset 0 0 0 1px rgba(152, 186, 185, .07); }
.sve-table-wrap table { min-width: 1320px; }
.entities-page .sve-table-wrap table { min-width: 2280px; }
.sve-table-wrap th { min-width: 132px; padding: .55rem .7rem; }
.sve-sort-control {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: .2rem 0;
  border: 0;
  color: inherit;
  background: transparent;
  font: inherit;
  font-weight: 500;
  letter-spacing: inherit;
  text-align: left;
  text-transform: inherit;
  cursor: pointer;
}
.sve-sort-indicator { color: rgba(152, 186, 185, .4); font-size: .75rem; }
.sve-sort-indicator.active { color: var(--accent-cyan-light); }
.sve-column-filters th { top: 38px; z-index: 2; padding-top: .35rem; padding-bottom: .6rem; background: rgba(20, 31, 36, .98); }
.sve-column-filters input { min-height: 32px; font-size: .67rem; letter-spacing: 0; text-transform: none; }
.sve-table-wrap td { min-height: 42px; padding: .7rem; }
.sve-inspectable-row { cursor: pointer; }
.sve-inspectable-row:hover { background: rgba(93, 152, 155, .1); box-shadow: inset 3px 0 rgba(152, 186, 185, .48); }
.sve-inspectable-row:focus-visible { outline: 2px solid var(--accent-cyan-light); outline-offset: -2px; background: rgba(93, 152, 155, .11); }
.sve-empty-row:hover { background: transparent; }
.sve-empty-row td { height: 220px; text-align: center; }
.sve-empty-row strong, .sve-empty-row span { display: block; }
.sve-empty-row strong { color: var(--text-primary); font-size: .9rem; }
.sve-empty-row span { max-width: 620px; margin: .5rem auto 0; color: var(--muted); font-size: .75rem; line-height: 1.5; }
.sve-pagination { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 18px; }
.sve-pagination > span { color: var(--muted); font-size: .72rem; }
.sve-pagination > div { display: flex; flex-wrap: wrap; gap: 7px; }
.sve-pagination .button:disabled { opacity: .35; cursor: default; }

.sve-inspector-dialog { width: min(980px, calc(100% - 2rem)); max-height: min(900px, calc(100vh - 2rem)); }
.sve-inspector-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.sve-inspector-head .eyebrow { margin: 0 0 .4rem; }
.sve-inspector-head .mono { overflow-wrap: anywhere; }
.sve-inspector-badges { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.sve-inspector-body { display: grid; gap: 18px; max-height: calc(100vh - 210px); overflow-y: auto; }
.sve-inspector-section { padding: 18px; border-radius: 12px; background: rgba(14, 18, 25, .32); box-shadow: inset 0 0 0 1px rgba(152, 186, 185, .07); }
.sve-inspector-section h3 { margin: 0 0 14px; color: var(--text-primary); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.sve-inspector-copy { margin: 0 0 14px; color: var(--text-secondary); font-size: .8rem; line-height: 1.55; }
.sve-inspector-section > .sve-inspector-copy:last-child { margin-bottom: 0; }
.sve-score-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.sve-score-axis { display: grid; gap: 5px; min-height: 110px; align-content: center; padding: 16px; border-radius: 12px; background: rgba(14, 18, 25, .48); box-shadow: inset 0 0 0 1px rgba(152, 186, 185, .08); }
.sve-score-axis span { color: var(--text-secondary); font-size: .65rem; letter-spacing: .075em; text-transform: uppercase; }
.sve-score-axis strong { color: var(--text-primary); font-size: 1.65rem; line-height: 1; }
.sve-score-axis small { color: var(--muted); font-size: .66rem; line-height: 1.4; }
.sve-semantic-path { display: grid; grid-template-columns: minmax(0, 1fr) minmax(170px, .8fr) minmax(0, 1fr); align-items: stretch; gap: 28px; margin-bottom: 16px; }
.sve-semantic-path.one-dimensional { grid-template-columns: minmax(0, 1fr); }
.sve-semantic-entity, .sve-semantic-relationship { position: relative; display: grid; align-content: center; gap: 5px; min-width: 0; min-height: 94px; padding: 14px; border-radius: 10px; background: rgba(31, 48, 57, .62); box-shadow: inset 0 0 0 1px rgba(152, 186, 185, .11); }
.sve-semantic-relationship { text-align: center; background: rgba(38, 67, 73, .52); }
.sve-semantic-relationship::before, .sve-semantic-relationship::after { position: absolute; top: 50%; width: 28px; height: 1px; content: ""; background: rgba(152, 186, 185, .45); }
.sve-semantic-relationship::before { right: 100%; }
.sve-semantic-relationship::after { left: 100%; }
.sve-semantic-entity span, .sve-semantic-relationship span { color: var(--accent-cyan-light); font-size: .61rem; letter-spacing: .075em; text-transform: uppercase; }
.sve-semantic-entity strong, .sve-semantic-relationship strong { overflow-wrap: anywhere; color: var(--text-primary); font-size: .84rem; }
.sve-semantic-entity small, .sve-semantic-relationship small { overflow-wrap: anywhere; color: var(--muted); font-size: .63rem; line-height: 1.4; }
.sve-inspector-json { max-height: 280px; margin: 0; padding: 14px; overflow: auto; border-radius: 8px; color: rgba(220, 232, 231, .84); background: rgba(7, 12, 17, .62); font-size: .68rem; line-height: 1.5; white-space: pre-wrap; overflow-wrap: anywhere; }
.sve-inspector-json code { font-family: "Avenir"; }

.estimate-annotation { display: grid; gap: 5px; padding: 13px 15px; border-radius: 9px; color: var(--text-secondary); background: rgba(210, 163, 95, .09); box-shadow: inset 3px 0 rgba(210, 163, 95, .68); font-size: .72rem; line-height: 1.45; }
.estimate-annotation strong { color: var(--text-primary); font-size: .74rem; }
.cost-estimate-editor { display: grid; gap: 16px; }
.cost-projection-fields, .cost-assumption-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.cost-projection-fields label, .cost-assumption-fields label, .cost-rationale-field { display: grid; gap: 6px; color: var(--text-secondary); font-size: .67rem; letter-spacing: .035em; }
.cost-projection-fields input, .cost-assumption-fields input, .cost-rationale-field textarea { width: 100%; min-height: 42px; padding: .58rem .72rem; border: 0; border-radius: 8px; color: var(--text-primary); background: rgba(7, 12, 17, .54); box-shadow: inset 0 0 0 1px rgba(152, 186, 185, .16); }
.cost-rationale-field textarea { min-height: 78px; resize: vertical; line-height: 1.45; }
.cost-projection-fields input:focus-visible, .cost-assumption-fields input:focus-visible, .cost-rationale-field textarea:focus-visible { outline: 2px solid var(--accent-cyan-light); outline-offset: 2px; }
.cost-projection-fields small { color: var(--muted); font-size: .62rem; letter-spacing: 0; }
.cost-assumption-details { border-radius: 10px; background: rgba(14, 18, 25, .3); box-shadow: inset 0 0 0 1px rgba(152, 186, 185, .08); }
.cost-assumption-details > summary { padding: 13px 15px; color: var(--text-primary); cursor: pointer; font-size: .72rem; font-weight: 600; }
.cost-assumption-details > .cost-assumption-fields, .cost-assumption-details > .definition-list, .cost-assumption-details > p { margin: 0 15px 15px; }
.cost-estimate-status { margin: 0; color: var(--accent-cyan-light); font-size: .67rem; }
.cost-estimate-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.executive-brief-dialog { width: min(1040px, calc(100% - 2rem)); }
.executive-brief-source-list { display: grid; gap: 8px; }
.executive-brief-source { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 13px 15px; border: 0; border-radius: 9px; color: var(--text-primary); background: rgba(14, 18, 25, .4); box-shadow: inset 0 0 0 1px rgba(152, 186, 185, .09); text-align: left; }
button.executive-brief-source { cursor: pointer; }
button.executive-brief-source:hover { background: rgba(93, 152, 155, .12); box-shadow: inset 3px 0 rgba(152, 186, 185, .55); }
.executive-brief-source > div { display: grid; gap: 3px; }
.executive-brief-source > div:last-child { flex: 0 0 auto; text-align: right; }
.executive-brief-source strong { font-size: .7rem; }
.executive-brief-source span { color: var(--text-secondary); font-size: .68rem; }
.executive-brief-source small { max-width: 680px; color: var(--muted); font-size: .62rem; line-height: 1.4; }

.standards-policy-banner { align-items: center; }
.standards-policy-banner > div { min-width: 0; flex: 1 1 auto; }
.standards-policy-banner .mono { display: block; margin-top: .35rem; color: rgba(152, 186, 185, .52); font-size: .67rem; overflow-wrap: anywhere; }
.standards-policy-select { flex: 0 0 min(360px, 38%); display: grid; gap: 6px; margin-left: auto; }
.standards-policy-select > span { color: rgba(156, 169, 167, .72); font-size: .65rem; letter-spacing: .075em; text-transform: uppercase; }
.standards-policy-select select { width: 100%; min-height: 40px; padding: .5rem 2rem .5rem .7rem; border: 0; border-radius: 8px; color: var(--text-primary); background: rgba(14, 18, 25, .68); box-shadow: inset 0 0 0 1px rgba(152, 186, 185, .1); }
.standards-policy-select select:focus-visible { outline: 2px solid var(--accent-cyan-light); outline-offset: 2px; }
.standards-metrics { margin-bottom: 20px; }
.standards-disclaimer { border-color: #8e7045; background: #3f362c; }
.standards-oaf-card { margin-bottom: 22px; border-color: rgba(89, 184, 228, .2); }
.standards-oaf-basis { display: grid; grid-template-columns: minmax(300px, 1.1fr) minmax(360px, .9fr); gap: 18px 28px; align-items: start; }
.standards-oaf-summary { display: grid; gap: 7px; }
.standards-oaf-summary strong { color: var(--text-primary); font-size: .95rem; }
.standards-oaf-summary p, .standards-oaf-integrations p { margin: 0; color: var(--text-secondary); font-size: .75rem; line-height: 1.5; }
.standards-oaf-basis .definition-list { margin: 0; }
.standards-oaf-integrations { grid-column: 1 / -1; display: grid; gap: 9px; padding-top: 15px; border-top: 1px solid var(--line); }
.standards-oaf-integrations > span { color: var(--muted); font-size: .64rem; letter-spacing: .065em; text-transform: uppercase; }
.standards-score-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.standards-page .sve-table-wrap table { min-width: 1880px; }

@media (max-width: 767px) {
  .sve-context-banner { align-items: flex-start; flex-direction: column; }
  .sve-context-banner > .button { margin-left: 0; }
  .sve-table-toolbar { grid-template-columns: 1fr; align-items: stretch; }
  .sve-catalog-search, .sve-catalog-controls, .sve-catalog-metrics { grid-template-columns: 1fr; }
  .sve-result-summary { margin-top: 0; }
  .sve-pagination { align-items: flex-start; flex-direction: column; }
  .sve-inspector-head { flex-direction: column; }
  .sve-inspector-badges { justify-content: flex-start; }
  .sve-score-grid, .sve-semantic-path, .cost-projection-fields, .cost-assumption-fields { grid-template-columns: 1fr; }
  .standards-score-grid { grid-template-columns: 1fr; }
  .executive-brief-source { align-items: flex-start; flex-direction: column; }
  .executive-brief-source > div:last-child { text-align: left; }
  .standards-oaf-basis { grid-template-columns: 1fr; }
  .standards-oaf-integrations { grid-column: auto; }
  .standards-policy-banner { align-items: flex-start; flex-direction: column; }
  .standards-policy-select { width: 100%; flex-basis: auto; margin-left: 0; }
  .sve-semantic-relationship::before, .sve-semantic-relationship::after { display: none; }
}

.card,
.finding-hero,
.architecture-frame,
.decision-journey,
.lineage-strip,
.state-panel {
  border: 0;
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(37, 52, 60, .86), rgba(28, 46, 55, .72));
  box-shadow: 0 20px 56px rgba(0, 0, 0, .28), 0 6px 18px rgba(0, 0, 0, .2);
  backdrop-filter: blur(12px);
}
.card { transition: box-shadow var(--motion-component) ease-out, background var(--motion-component) ease-out; }
.card-head { padding: 18px 22px; border-bottom-color: rgba(152, 186, 185, .08); }
.card-body, .card-pad { padding: 22px; }
.metric {
  min-height: 148px;
  padding: 22px;
  background: linear-gradient(150deg, rgba(40, 57, 68, .72), rgba(28, 46, 55, .52));
}
.metric-label { color: rgba(156, 169, 167, .7); font-weight: 400; letter-spacing: .09em; }
.metric-value { font-weight: 400; text-shadow: 0 4px 10px rgba(0, 0, 0, .46); }
.metric-source { border-top-color: rgba(152, 186, 185, .08); color: rgba(156, 169, 167, .62); }

.executive-context {
  gap: 20px;
  overflow: visible;
  border: 0;
  background: transparent;
}
.decision-lens {
  border: 0;
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(28, 46, 55, .78), rgba(14, 18, 25, .52));
  box-shadow: 0 18px 48px rgba(0, 0, 0, .26), 0 5px 14px rgba(0, 0, 0, .18);
}
.decision-lens.emphasis {
  background: linear-gradient(145deg, rgba(37, 61, 72, .9), rgba(24, 45, 54, .74));
  box-shadow: 0 22px 58px rgba(0, 0, 0, .3), inset 0 3px rgba(152, 186, 185, .48);
}
.decision-lens-label { font-weight: 400; }
.decision-lens h2 { font-weight: 500; }
.decision-lens-meta, .recorded-action-summary { border-color: rgba(152, 186, 185, .08); }

.button {
  border: 0;
  border-radius: 8px;
  background: rgba(52, 69, 77, .78);
  box-shadow: inset 0 0 0 1px rgba(152, 186, 185, .12), 0 8px 18px rgba(0, 0, 0, .2);
  font-weight: 500;
}
.button:hover { border-color: transparent; background: rgba(64, 84, 93, .86); box-shadow: inset 0 0 0 1px rgba(152, 186, 185, .22), 0 10px 24px rgba(0, 0, 0, .24); }
.button.primary { border-color: transparent; background: rgba(152, 186, 185, .9); box-shadow: 0 10px 24px rgba(0, 0, 0, .26); }
.button.ghost { box-shadow: none; }
.button.danger { box-shadow: inset 0 0 0 1px rgba(213, 138, 146, .3), 0 8px 18px rgba(0, 0, 0, .2); }

.section-tabs {
  gap: 6px;
  padding: 6px;
  border: 0;
  border-radius: 10px;
  background: rgba(14, 18, 25, .52);
  box-shadow: 0 12px 30px rgba(0, 0, 0, .2);
}
.section-tab { border-radius: 7px; font-weight: 400; }
.section-tab[aria-current="page"] { background: rgba(93, 152, 155, .16); box-shadow: 0 7px 18px rgba(0, 0, 0, .2); }

.state-banner,
.authority-banner,
.manual-boundary {
  border-color: transparent;
  border-radius: 12px;
  box-shadow: inset 0 0 0 1px rgba(152, 186, 185, .1), 0 12px 30px rgba(0, 0, 0, .2);
}
.state-banner { background: rgba(30, 52, 66, .72); }
.authority-banner { background: rgba(30, 52, 66, .68); }
.manual-boundary, .state-banner.partial, .state-banner.stale, .authority-banner.synthetic { box-shadow: inset 0 0 0 1px rgba(210, 163, 95, .22), 0 12px 30px rgba(0, 0, 0, .2); }
.state-banner.permission { box-shadow: inset 0 0 0 1px rgba(213, 138, 146, .24), 0 12px 30px rgba(0, 0, 0, .2); }

.action-item,
.path-steps li,
.evidence-record,
.progress-item {
  border: 0;
  border-radius: 10px;
  background: rgba(14, 18, 25, .34);
  box-shadow: inset 0 0 0 1px rgba(152, 186, 185, .06), 0 8px 20px rgba(0, 0, 0, .16);
}
.lineage-strip { overflow: hidden; }
.lineage-strip div, .decision-stage { border-color: rgba(152, 186, 185, .08); }
.decision-stage.complete { background: rgba(87, 163, 169, .055); }
.finding-hero { padding: 28px; }

.filter-bar { padding: 1.15rem; border-bottom-color: rgba(152, 186, 185, .08); }
th { color: rgba(156, 169, 167, .72); background: rgba(14, 18, 25, .58); font-weight: 400; }
td { border-top-color: rgba(152, 186, 185, .07); }
tbody tr:hover { background: rgba(93, 152, 155, .065); }
.definition-list dt, .definition-list dd { border-bottom-color: rgba(152, 186, 185, .07); }

.authority-label,
.badge {
  border-color: rgba(152, 186, 185, .16);
  background: rgba(14, 18, 25, .36);
  font-weight: 500;
}
.authority-label.local, .badge.success, .badge.active, .badge.succeeded, .badge.ready, .badge.info, .badge.candidate { border-color: rgba(93, 152, 155, .42); background: rgba(30, 52, 66, .62); }

dialog {
  border: 0;
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(37, 52, 60, .98), rgba(20, 31, 36, .98));
  box-shadow: 0 36px 96px rgba(0, 0, 0, .6);
}
.dialog-head, .dialog-actions { border-color: rgba(152, 186, 185, .08); }
.toast { border: 0; border-radius: 12px; background: rgba(28, 46, 55, .96); box-shadow: 0 18px 48px rgba(0, 0, 0, .42); }
.command-palette { box-shadow: 0 36px 96px rgba(0, 0, 0, .64); }
.command-search { border: 0; border-radius: 10px; box-shadow: inset 0 0 0 1px rgba(87, 163, 169, .32); }
.command-results, .command-result { border-color: rgba(152, 186, 185, .07); }
.command-result:hover, .command-result.selected { background: rgba(93, 152, 155, .11); box-shadow: inset 3px 0 rgba(152, 186, 185, .62); }
.command-result-icon { border: 0; background: rgba(14, 18, 25, .42); box-shadow: inset 0 0 0 1px rgba(152, 186, 185, .08); }
.mobile-bottom-navigation { border-top: 0; background: rgba(14, 18, 25, .94); box-shadow: 0 -14px 36px rgba(0, 0, 0, .34); backdrop-filter: blur(18px); }

/* Overview enterprise analytic */
.overview-analytic-host { min-width: 0; }
.overview-analytic-pending {
  display: grid;
  min-height: 680px;
  align-content: center;
  justify-items: center;
  gap: 8px;
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(28, 46, 55, .68), rgba(8, 21, 27, .9));
  box-shadow: 0 22px 62px rgba(0, 0, 0, .3);
  text-align: center;
}
.overview-analytic-pending h2, .overview-analytic-pending p { margin: 0; }
.overview-analytic-pending p { color: var(--text-secondary); }
.overview-reality-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(106, 194, 202, .22);
  border-radius: 8px;
  background: #07151b;
  box-shadow: 0 28px 82px rgba(0, 0, 0, .36), 0 8px 24px rgba(0, 0, 0, .2);
}
.overview-reality-head {
  min-height: 156px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 36px;
  padding: 26px 28px 24px;
  background: linear-gradient(90deg, rgba(37, 86, 94, .13), transparent 55%), #08191f;
  box-shadow: inset 0 -1px rgba(114, 202, 210, .18);
}
.overview-reality-heading { max-width: 900px; }
.overview-reality-heading .authority-label { color: #69b9c5; font-weight: 700; letter-spacing: .14em; }
.overview-reality-heading h2 {
  max-width: 900px;
  margin: 10px 0 8px;
  font-size: clamp(1.55rem, 2.35vw, 2.35rem);
  line-height: 1.12;
  letter-spacing: -.035em;
}
.overview-reality-heading p { max-width: 950px; margin: 0; color: #81bbc3; font-size: .82rem; line-height: 1.55; }
.overview-reality-statistics {
  display: grid;
  grid-template-columns: repeat(3, minmax(118px, 1fr));
  gap: 1px;
  border: 1px solid rgba(116, 204, 212, .26);
  background: rgba(116, 204, 212, .18);
}
.overview-reality-stat {
  display: grid;
  align-content: center;
  gap: 5px;
  min-width: 118px;
  min-height: 76px;
  padding: 12px 16px;
  border-radius: 0;
  background: #0b1e25;
  box-shadow: none;
}
.overview-reality-stat strong { color: #f1f7f6; font-size: 1.45rem; line-height: 1.25rem; font-variant-numeric: tabular-nums; }
.overview-reality-stat small { color: #6c9aa3; font-size: .57rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.overview-reality-toolbar {
  display: grid;
  grid-template-columns: auto minmax(240px, 1fr) auto;
  align-items: center;
  gap: 14px;
  min-height: 58px;
  padding: 10px 15px;
  background: #0b1c23;
  box-shadow: inset 0 -1px rgba(116, 204, 212, .14);
}
.overview-reality-metrics, .overview-reality-toolbar-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.overview-reality-toolbar-actions { justify-content: flex-end; }
.overview-mode-button, .overview-toolbar-button {
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid rgba(122, 203, 211, .13);
  border-radius: 6px;
  color: var(--text-secondary);
  background: rgba(52, 69, 77, .6);
  box-shadow: inset 0 0 0 1px rgba(152, 186, 185, .1);
  cursor: pointer;
}
.overview-mode-button:hover, .overview-toolbar-button:hover { color: var(--text-primary); background: rgba(64, 84, 93, .78); }
.overview-mode-button.active { color: #102027; background: var(--accent-cyan-light); box-shadow: 0 7px 18px rgba(0, 0, 0, .24); }
.overview-toolbar-button:disabled { opacity: .35; cursor: default; }
.overview-reality-search { position: relative; min-width: 0; }
.overview-reality-search > input {
  width: 100%;
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid rgba(122, 203, 211, .15);
  border-radius: 6px;
  color: var(--text-primary);
  background: rgba(20, 31, 36, .9);
  box-shadow: inset 0 0 0 1px rgba(152, 186, 185, .14);
}
.overview-reality-search-results {
  position: absolute;
  z-index: 8;
  top: calc(100% + 7px);
  right: 0;
  left: 0;
  display: grid;
  overflow: hidden;
  border-radius: 10px;
  background: rgba(14, 24, 30, .98);
  box-shadow: 0 22px 54px rgba(0, 0, 0, .5), inset 0 0 0 1px rgba(152, 186, 185, .12);
}
.overview-reality-search-results[hidden] { display: none; }
.overview-search-result {
  display: grid;
  gap: 2px;
  min-height: 48px;
  padding: 8px 12px;
  border: 0;
  color: var(--text-primary);
  background: transparent;
  text-align: left;
  cursor: pointer;
}
.overview-search-result:hover, .overview-search-result:focus-visible { background: rgba(93, 152, 155, .13); }
.overview-search-result small { color: var(--text-secondary); font-size: .65rem; }
.overview-reality-surface { display: grid; grid-template-columns: minmax(0, 1fr) 320px; min-width: 0; }
.overview-reality-viewport {
  position: relative;
  min-width: 0;
  height: clamp(860px, 82vh, 1040px);
  overflow: hidden;
  background: #08151b;
  box-shadow: inset -1px 0 rgba(116, 204, 212, .16);
}
.overview-reality-canvas { display: block; width: 100%; height: 100%; outline: 0; touch-action: manipulation; user-select: none; }
.overview-reality-canvas:focus-visible { outline: 2px solid var(--accent-cyan-light); outline-offset: -3px; }
.overview-flow-host { position: absolute; z-index: 1; inset: 0; min-width: 0; background: #07151b; }
.overview-flow-host[hidden] { display: none; }
.overview-flow-host .react-flow { background: #07151b; }
.overview-flow-host .react-flow__pane { cursor: grab; }
.overview-flow-host .react-flow__pane:active { cursor: grabbing; }
.overview-flow-host .react-flow__node-domain { border: 0; background: transparent; box-shadow: none; }
.overview-flow-host .react-flow__edge-path { stroke-linecap: round; }
.overview-flow-host .react-flow__edge.animated path { stroke-dasharray: 6 5; animation-duration: 1.2s; }
.overview-flow-domain {
  --overview-domain-color: #55c4c9;
  position: relative;
  overflow: hidden;
  padding: 13px 14px 14px;
  border: 1px solid var(--overview-domain-color);
  border-left-width: 3px;
  border-radius: 5px;
  color: #edf6f5;
  background: rgba(8, 28, 35, .97);
  box-shadow: 0 16px 34px rgba(0, 0, 0, .28);
  transition: border-color 120ms ease, box-shadow 120ms ease, opacity 120ms ease;
}
.overview-flow-domain.is-selected { box-shadow: 0 0 0 1px rgba(230, 255, 252, .52), 0 18px 40px rgba(0, 0, 0, .34); }
.overview-flow-domain.is-dimmed { opacity: .2; }
.overview-flow-domain-topline { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--overview-domain-color); font-size: .53rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.overview-flow-domain-topline strong { flex: 0 0 auto; padding: 3px 7px; border: 1px solid color-mix(in srgb, var(--overview-domain-color) 70%, transparent); color: var(--overview-domain-color); font-size: .5rem; }
.overview-flow-domain h3 { margin: 8px 0 2px; color: #f3f8f7; font-size: 1.05rem; line-height: 1.15; }
.overview-flow-domain > p { margin: 0; color: #73aeb5; font-size: .59rem; }
.overview-flow-domain-stat { overflow: hidden; margin: 8px 0 7px; padding: 5px 7px; border-left: 2px solid var(--overview-domain-color); color: #9ab5b7; background: color-mix(in srgb, var(--overview-domain-color) 6%, rgba(18, 37, 43, .92)); font-size: .52rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.overview-flow-matrix-focus { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 21px; margin-bottom: 6px; padding: 3px 6px; border-left: 2px solid var(--overview-domain-color); color: #eff7f6; background: rgba(17, 40, 47, .92); }
.overview-flow-matrix-focus span, .overview-flow-matrix-focus strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.overview-flow-matrix-focus span { flex: 0 0 auto; font-size: .53rem; font-weight: 700; text-transform: uppercase; }
.overview-flow-matrix-focus strong { min-width: 0; color: #86a8ab; font-size: .49rem; font-weight: 500; }
.overview-flow-density { display: block; width: 100%; outline: 0; cursor: crosshair; }
.overview-flow-density:focus-visible { outline: 1px solid rgba(126, 244, 229, .74); outline-offset: 2px; }
.overview-flow-handle { width: 4px !important; min-width: 4px !important; height: 4px !important; min-height: 4px !important; border: 0 !important; background: transparent !important; }
.overview-reality-selection {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: rgba(8, 21, 27, .72);
}
.overview-reality-selection[hidden] { display: none; }
.overview-reality-selection-canvas { display: block; width: 100%; height: 100%; }
.overview-reality-loading {
  position: absolute;
  z-index: 4;
  inset: 0;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 9px;
  padding: 28px;
  color: var(--text-secondary);
  background: radial-gradient(circle at 50% 42%, rgba(30, 52, 66, .52), rgba(8, 21, 27, .94) 64%);
  text-align: center;
}
.overview-reality-loading[hidden] { display: none; }
.overview-reality-loading strong { color: var(--text-primary); }
.overview-reality-loading p { max-width: 560px; margin: 0; }
.overview-reality-inspector {
  min-width: 0;
  max-height: clamp(860px, 82vh, 1040px);
  padding: 28px 24px;
  overflow-y: auto;
  background: linear-gradient(180deg, rgba(51, 105, 115, .1), transparent 240px), #0b2028;
  box-shadow: -14px 0 34px rgba(0, 0, 0, .16);
}
.overview-reality-inspector .authority-label { color: #65d7e7; font-weight: 700; letter-spacing: .13em; }
.overview-reality-inspector h3 { margin: 14px 0 10px; overflow-wrap: anywhere; font-size: 1.28rem; line-height: 1.2; }
.overview-reality-inspector h4 { margin: 20px 0 10px; font-size: .76rem; letter-spacing: .06em; text-transform: uppercase; }
.overview-reality-inspector .muted { color: var(--text-secondary); font-size: .75rem; line-height: 1.5; }
.overview-reality-definitions { display: block; margin: 0; }
.overview-reality-definitions > div { grid-template-columns: 1fr; gap: 5px; padding: 14px 0; border-bottom: 1px solid rgba(116, 204, 212, .12); }
.overview-reality-definitions dt { color: #527a84; font-size: .57rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.overview-reality-definitions dd { color: #e8f1f0; }
.overview-insight-basis { margin: 24px 0 0; padding: 13px 12px; border-left: 2px solid #5ee6a8; color: #71979d; background: rgba(94, 230, 168, .035); font-size: .64rem; line-height: 1.55; }
.overview-semantic-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.overview-semantic-list li { display: grid; gap: 3px; padding: 10px 11px; border-radius: 9px; background: rgba(8, 21, 27, .4); box-shadow: inset 0 0 0 1px rgba(152, 186, 185, .07); }
.overview-semantic-list strong { color: var(--accent-cyan-light); font-size: .72rem; }
.overview-semantic-list span { overflow-wrap: anywhere; color: var(--text-secondary); font-size: .68rem; }
.overview-inspector-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.overview-reality-footer { display: flex; justify-content: space-between; gap: 20px; padding: 10px 18px; color: rgba(156, 169, 167, .66); background: #102932; font-size: .67rem; }
.overview-reality-source { text-align: right; }
.overview-reality-card:fullscreen { width: 100vw; height: 100vh; border-radius: 0; background: #08151b; }
.overview-reality-card:fullscreen .overview-reality-surface { height: calc(100vh - 220px); }
.overview-reality-card:fullscreen .overview-reality-viewport { height: 100%; }
.overview-reality-card:fullscreen .overview-reality-inspector { max-height: 100%; }

@media (max-width: 1100px) {
  .executive-context { gap: 12px; }
  .decision-lens, .decision-lens:nth-child(2), .decision-lens:last-child { border: 0; }
  .overview-reality-head { flex-direction: column; }
  .overview-reality-statistics { width: 100%; }
  .overview-reality-toolbar { grid-template-columns: 1fr; }
  .overview-reality-toolbar-actions { justify-content: flex-start; }
  .overview-reality-surface { grid-template-columns: minmax(0, 1fr); }
  .overview-reality-inspector { max-height: none; min-height: 260px; box-shadow: 0 -14px 34px rgba(0, 0, 0, .16); }
}

@media (max-width: 767px) {
  .topbar { min-height: 64px; }
  .content { padding-top: 28px; }
  .page-head { align-items: flex-start; }
  .page-head h1 { font-size: 1.65rem; line-height: 2rem; }
  .decision-lens, .decision-lens:nth-child(2), .decision-lens:last-child { border: 0; }
  .sidebar { box-shadow: 18px 0 56px rgba(0, 0, 0, .5); }
  .overview-reality-statistics { grid-template-columns: 1fr; }
  .overview-reality-stat { min-width: 0; }
  .overview-reality-viewport { height: 560px; }
  .overview-reality-footer { flex-direction: column; }
  .overview-reality-source { text-align: left; }
}

/* Application title system */
#app h1,
#app h2,
#app h3,
#app h4,
#app h5,
#app h6,
dialog h1,
dialog h2,
dialog h3,
dialog h4,
dialog h5,
dialog h6 { font-weight: 700; }

@media (max-width: 1100px) {
  .graph-toolbar { align-items: stretch; flex-direction: column; }
  .graph-toolbar-filters { max-width: none; }
  .graph-toolbar-actions { justify-content: flex-start; }
  .graph-surface,
  .service-field-surface.inspector-collapsed { grid-template-columns: minmax(0, 1fr); }
  .graph-inspector { min-height: 190px; border-top: 1px solid rgba(152, 186, 185, .12); border-left: 0; }
  .service-field-inspector,
  .service-field-inspector.collapsed { width: 100%; min-width: 0; max-width: none; }
  .service-field-inspector.collapsed { min-height: 46px; }
  .service-field-inspector.collapsed .service-field-inspector-toggle { width: max-content; min-height: 32px; margin: 7px 12px 7px auto; padding: 7px 10px; writing-mode: horizontal-tb; }
  .visualization-head { flex-direction: column; }
}

@media (max-width: 767px) {
  .graph-toolbar-filters { grid-template-columns: minmax(0, 1fr); }
  .graph-statistics { width: 100%; }
  .graph-statistics > span { min-width: 0; }
  .oaf-graph { min-width: 900px; height: 520px; }
}

/* Prototype-faithful Overview reality analytic */
.overview-prototype {
  color-scheme: only dark;
  --select-popup-bg: #07141a;
  --select-popup-text: #effbff;
  --select-popup-muted: #87a4af;
}
.overview-prototype.light {
  color-scheme: only light;
  --select-popup-bg: #ffffff;
  --select-popup-text: #09232b;
  --select-popup-muted: #526f78;
}
.overview-prototype select {
  color: var(--select-popup-text);
  color-scheme: only dark;
  -webkit-text-fill-color: var(--select-popup-text);
}
.overview-prototype.light select { color-scheme: only light; }
.overview-prototype select option,
.overview-prototype select optgroup {
  color: var(--select-popup-text) !important;
  background: var(--select-popup-bg) !important;
  -webkit-text-fill-color: var(--select-popup-text);
}
.overview-prototype select option:disabled {
  color: var(--select-popup-muted) !important;
  -webkit-text-fill-color: var(--select-popup-muted);
}

.overview-prototype-card {
  --overview-surface: #041016;
  --overview-surface-strong: #051117;
  --overview-surface-raised: #07141a;
  --overview-control: #08171e;
  --overview-graph: #020b0f;
  --overview-line: rgba(132, 220, 238, .2);
  --overview-cyan: #55d9ff;
  --overview-muted: #87a4af;
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid rgba(123, 217, 238, .25);
  border-top: 0;
  border-radius: 0;
  background: var(--overview-surface);
  box-shadow: 0 18px 80px rgba(0, 0, 0, .32);
}
.overview-prototype-head {
  min-height: 142px;
  padding: 25px 28px 22px;
  background: linear-gradient(90deg, rgba(85, 217, 255, .055), transparent 48%), var(--overview-surface-strong);
  box-shadow: inset 0 -1px var(--overview-line);
}
.overview-prototype-head .overview-reality-heading h2 {
  max-width: 950px;
  margin: 10px 0 8px;
  color: #f3fcff;
  font-size: clamp(1.4rem, 2.2vw, 2.25rem);
  line-height: 1.12;
  letter-spacing: -.035em;
}
.overview-prototype-head .overview-reality-heading p {
  max-width: 980px;
  color: var(--overview-muted);
  font-size: .8rem;
}
.overview-prototype-window {
  height: clamp(690px, 72vh, 880px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 350px;
  background: var(--overview-graph);
}
.overview-prototype-stage {
  min-width: 0;
  position: relative;
  overflow: hidden;
  border-right: 1px solid var(--overview-line);
  background: radial-gradient(circle at 55% 42%, rgba(28, 104, 122, .12), transparent 44%), var(--overview-graph);
}
.overview-prototype-stage::before,
.overview-prototype-stage::after {
  content: "";
  position: absolute;
  z-index: 3;
  pointer-events: none;
}
.overview-prototype-stage::before { inset: 15px; border: 1px solid rgba(119, 217, 236, .12); }
.overview-prototype-stage::after { top: 15px; left: 15px; width: 42px; height: 42px; border-top: 2px solid rgba(85, 217, 255, .65); border-left: 2px solid rgba(85, 217, 255, .65); }
.overview-prototype-axis {
  position: absolute;
  z-index: 5;
  top: 27px;
  right: 29px;
  display: flex;
  gap: 14px;
  pointer-events: none;
}
.overview-prototype-axis span { color: #6b8b96; font-size: .55rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.overview-prototype-stage .react-flow { background: radial-gradient(circle at 55% 42%, rgba(28, 104, 122, .12), transparent 46%), var(--overview-graph) !important; }
.overview-prototype-stage .react-flow__renderer,
.overview-prototype-stage .react-flow__pane { background: transparent !important; }
.overview-prototype-stage .react-flow__node { cursor: pointer; }
.overview-prototype-stage .react-flow__node-lane { cursor: default; pointer-events: none; }
.overview-prototype-stage .react-flow__node-domain,
.overview-prototype-stage .react-flow__node-detail,
.overview-prototype-stage .react-flow__node-lane { border: 0; background: transparent; box-shadow: none; }
.overview-prototype-stage .react-flow__edge-path { shape-rendering: geometricPrecision; stroke-linecap: round; }
.overview-prototype-stage .react-flow__edge-textbg { stroke: rgba(112, 207, 226, .16); stroke-width: 1px; }
.overview-flow-lane { padding-bottom: 9px; border-bottom: 1px solid rgba(116, 207, 225, .24); }
.overview-flow-lane span,
.overview-flow-lane strong { display: block; text-transform: uppercase; }
.overview-flow-lane span { margin-bottom: 3px; color: #577681; font-size: .5rem; font-weight: 800; letter-spacing: .12em; }
.overview-flow-lane strong { color: var(--overview-muted); font-size: .625rem; letter-spacing: .08em; }
.overview-prototype-card .overview-flow-domain {
  width: 720px;
  height: 290px;
  min-height: 290px;
  padding: 14px 16px 13px 18px;
  border: 1px solid color-mix(in srgb, var(--overview-domain-color) 50%, #162932);
  border-left: 4px solid var(--overview-domain-color);
  border-radius: 5px;
  background: linear-gradient(135deg, #0c1d25, #07141a 76%);
  box-shadow: 0 9px 26px rgba(0, 0, 0, .24);
}
.overview-prototype-card .overview-flow-domain::after { content: ""; position: absolute; top: 0; right: 0; width: 28px; height: 1px; background: var(--overview-domain-color); }
.overview-prototype-card .overview-flow-domain:hover,
.overview-prototype-card .overview-flow-domain.is-selected { border-color: var(--overview-domain-color); box-shadow: 0 0 0 2px color-mix(in srgb, var(--overview-domain-color) 18%, transparent), 0 14px 34px rgba(0, 0, 0, .34); }
.overview-prototype-card .overview-flow-domain.is-dimmed { opacity: .12; }
.overview-prototype-card .overview-flow-domain-topline { min-height: 16px; font-size: .5rem; font-weight: 900; letter-spacing: .1em; }
.overview-prototype-card .overview-flow-domain-topline strong { padding: 2px 5px; border-radius: 2px; color: #f3fcff; background: color-mix(in srgb, var(--overview-domain-color) 9%, var(--overview-control)); }
.overview-prototype-card .overview-flow-domain h3 { margin: 5px 0 2px; color: #f3fcff; font-size: 1.125rem; line-height: 1.2; }
.overview-prototype-card .overview-flow-domain > p { color: var(--overview-muted); font-size: .56rem; }
.overview-prototype-card .overview-flow-domain-stat { margin: 7px 0; padding: 5px 7px; color: var(--overview-muted); background: color-mix(in srgb, var(--overview-domain-color) 5%, transparent); font-size: .5rem; }
.overview-density-matrix { margin-top: 7px; padding-top: 7px; border-top: 1px solid color-mix(in srgb, var(--overview-domain-color) 22%, transparent); }
.overview-prototype-card .overview-flow-matrix-focus { min-height: 25px; margin-bottom: 6px; padding: 4px 7px; background: color-mix(in srgb, var(--overview-domain-color) 6%, var(--overview-control)); }
.overview-prototype-card .overview-flow-matrix-focus span { color: #f3fcff; font-size: .5rem; font-weight: 850; }
.overview-prototype-card .overview-flow-matrix-focus strong { color: var(--overview-muted); font-size: .44rem; font-weight: 750; }
.overview-prototype-card .overview-flow-density { display: block; width: 100%; cursor: crosshair; }
.overview-prototype-card .overview-flow-density:focus-visible { outline: 1px solid var(--overview-cyan); outline-offset: 2px; }
.overview-flow-detail {
  min-height: 126px;
  position: relative;
  padding: 15px 16px 14px 18px;
  border: 1px solid color-mix(in srgb, var(--overview-domain-color) 50%, #162932);
  border-left: 4px solid var(--overview-domain-color);
  border-radius: 5px;
  background: linear-gradient(135deg, #0c1d25, #07141a 76%);
  box-shadow: 0 9px 26px rgba(0, 0, 0, .24);
}
.overview-flow-detail > span { color: var(--overview-domain-color); font-size: .5rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.overview-flow-detail h3 { overflow: hidden; margin: 8px 0 4px; color: #f3fcff; font-size: 1rem; text-overflow: ellipsis; white-space: nowrap; }
.overview-flow-detail p { margin: 0; overflow: hidden; color: var(--overview-muted); font-size: .58rem; text-overflow: ellipsis; white-space: nowrap; }
.overview-flow-detail-score { margin-top: 12px; padding: 5px 7px; border-left: 2px solid var(--overview-domain-color); color: #a4bec2; background: color-mix(in srgb, var(--overview-domain-color) 5%, transparent); font-size: .55rem; }
.overview-flow-detail.is-selected { box-shadow: 0 0 0 2px color-mix(in srgb, var(--overview-domain-color) 22%, transparent), 0 14px 34px rgba(0, 0, 0, .34); }
.overview-prototype-inspector {
  max-height: none;
  padding: 30px 27px;
  background: linear-gradient(180deg, rgba(85, 217, 255, .05), transparent 230px), var(--overview-surface-raised);
  box-shadow: none;
}
.overview-prototype-inspector .authority-label { color: var(--overview-cyan); font-size: .56rem; font-weight: 900; letter-spacing: .14em; }
.overview-prototype-inspector h3 { margin: 15px 0 9px; color: #f3fcff; font-size: 1.5rem; line-height: 1.12; letter-spacing: -.03em; }
.overview-prototype-inspector .muted { color: var(--overview-muted); font-size: .75rem; line-height: 1.65; }
.overview-prototype-inspector .overview-reality-definitions { margin-top: 24px; border-top: 1px solid rgba(127, 210, 228, .15); }
.overview-prototype-inspector .overview-reality-definitions > div { padding: 14px 0; border-bottom: 1px solid rgba(127, 210, 228, .11); }
.overview-prototype-inspector .overview-reality-definitions dt { color: #55727d; font-size: .5rem; font-weight: 900; letter-spacing: .12em; }
.overview-prototype-inspector .overview-reality-definitions dd { color: #effbff; font-size: .68rem; line-height: 1.5; }
.overview-prototype-relationships { margin-top: 22px; }
.overview-prototype-relationships h4 { margin: 0 0 8px; color: #55727d; font-size: .5rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.overview-prototype-relationships button { width: 100%; display: grid; gap: 5px; padding: 10px; border: 1px solid rgba(127, 210, 228, .12); border-left: 2px solid var(--overview-cyan); color: inherit; background: var(--overview-control); text-align: left; cursor: pointer; }
.overview-prototype-relationships button + button { margin-top: 6px; }
.overview-prototype-relationships button:hover { border-color: rgba(85, 217, 255, .5); }
.overview-prototype-relationships span { color: var(--overview-cyan); font-size: .5rem; font-weight: 850; text-transform: uppercase; }
.overview-prototype-relationships strong { overflow: hidden; color: #f3fcff; font-size: .56rem; text-overflow: ellipsis; white-space: nowrap; }
.overview-prototype-controls {
  min-height: 62px;
  position: relative;
  z-index: 12;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 9px 12px;
  border-top: 1px solid var(--overview-line);
  border-bottom: 1px solid rgba(130, 213, 231, .13);
  background: var(--overview-surface-raised);
}
.overview-prototype-spacer { flex: 1; }
.overview-prototype-breadcrumbs { min-width: 0; display: flex; align-items: center; gap: 3px; }
.overview-prototype-breadcrumbs > span { color: #44616b; }
.overview-prototype-breadcrumbs button,
.overview-prototype-context,
.overview-prototype-icon { min-height: 36px; border: 1px solid transparent; border-radius: 4px; color: #6f8b95; background: transparent; font-size: .56rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; cursor: pointer; }
.overview-prototype-breadcrumbs button { max-width: 160px; overflow: hidden; padding: 0 10px; text-overflow: ellipsis; white-space: nowrap; }
.overview-prototype-breadcrumbs button:hover,
.overview-prototype-breadcrumbs button.is-active { border-color: rgba(85, 217, 255, .28); color: #f3fcff; background: rgba(85, 217, 255, .055); }
.overview-prototype-context { max-width: 210px; overflow: hidden; padding: 0 12px; border-color: rgba(85, 217, 255, .48); color: #f3fcff; background: rgba(85, 217, 255, .08); text-overflow: ellipsis; white-space: nowrap; }
.overview-prototype-select { min-height: 36px; display: flex; align-items: center; padding-left: 10px; border: 1px solid rgba(127, 211, 229, .2); border-radius: 4px; background: var(--overview-control); }
.overview-prototype-select span { color: #58737d; font-size: .5rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.overview-prototype-select select { height: 34px; min-width: 104px; padding: 0 25px 0 8px; border: 0; outline: 0; color: #effbff; background: transparent; font-size: .625rem; font-weight: 750; }
.overview-prototype-icon { min-width: 36px; padding: 0 9px; border-color: rgba(127, 211, 229, .2); color: #86a4ae; background: var(--overview-control); }
.overview-prototype-icon.compact { width: 36px; padding: 0; font-size: 1rem; }
.overview-prototype-icon:hover { border-color: rgba(85, 217, 255, .55); color: #d9faff; background: rgba(85, 217, 255, .08); }
.overview-prototype-search { width: 250px; flex: 0 1 250px; position: relative; min-height: 36px; display: flex; align-items: center; gap: 8px; padding: 0 10px; border: 1px solid rgba(127, 211, 229, .2); border-radius: 4px; color: #66848e; background: var(--overview-control); }
.overview-prototype-search:focus-within { border-color: rgba(85, 217, 255, .56); }
.overview-prototype-search input { min-width: 0; flex: 1; border: 0; outline: 0; color: #f3fcff; background: transparent; font-size: .625rem; }
.overview-prototype-search > button { width: 23px; height: 23px; display: grid; place-items: center; padding: 0; border: 0; color: #66848e; background: transparent; cursor: pointer; }
.overview-prototype-results { width: min(420px, 85vw); position: absolute; z-index: 20; right: 0; bottom: calc(100% + 9px); overflow: hidden; border: 1px solid rgba(107, 209, 231, .38); border-radius: 5px; background: var(--overview-control); box-shadow: 0 18px 50px rgba(0, 0, 0, .52); }
.overview-prototype-results > button { width: 100%; min-height: 54px; display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 9px 12px; border: 0; border-bottom: 1px solid rgba(119, 208, 226, .11); color: #f3fcff; background: transparent; text-align: left; cursor: pointer; }
.overview-prototype-results > button:hover { background: rgba(85, 217, 255, .07); }
.overview-prototype-results span,
.overview-prototype-results strong,
.overview-prototype-results small { min-width: 0; display: block; }
.overview-prototype-results strong { overflow: hidden; font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.overview-prototype-results small { margin-top: 3px; overflow: hidden; color: #6e8a94; font-size: .56rem; text-overflow: ellipsis; white-space: nowrap; }
.overview-prototype-results em { flex: 0 0 auto; color: var(--overview-cyan); font-size: .68rem; font-style: normal; font-weight: 900; }
.overview-prototype-results > div { padding: 16px; color: #6e8a94; font-size: .625rem; text-align: center; }
.overview-prototype-legend { min-height: 34px; display: flex; align-items: center; gap: 17px; padding: 0 13px; color: #607d87; background: var(--overview-surface-strong); font-size: .5rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.overview-prototype-legend span { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.overview-prototype-legend i { width: 6px; height: 6px; border-radius: 50%; }
.overview-prototype-legend-spacer { flex: 1; }
.overview-prototype-card:fullscreen { width: 100vw; height: 100vh; background: var(--overview-graph); }
.overview-prototype-card:fullscreen .overview-prototype-window { height: calc(100vh - 238px); }

@media (max-width: 1280px) {
  .overview-prototype-window { grid-template-columns: minmax(0, 1fr) 310px; }
  .overview-prototype-search { width: 220px; flex-basis: 220px; }
  .overview-prototype-context { max-width: 170px; }
}
@media (max-width: 1100px) {
  .overview-prototype-head { display: grid; grid-template-columns: 1fr; gap: 18px; }
  .overview-prototype-window { height: auto; grid-template-columns: 1fr; }
  .overview-prototype-stage { height: 650px; border-right: 0; border-bottom: 1px solid var(--overview-line); }
  .overview-prototype-inspector { min-height: 300px; }
  .overview-prototype-controls { flex-wrap: wrap; }
  .overview-prototype-spacer { display: none; }
  .overview-prototype-breadcrumbs { flex: 1 1 100%; }
  .overview-prototype-search { margin-left: auto; }
}
@media (max-width: 767px) {
  .overview-prototype-head { padding: 21px 18px; }
  .overview-prototype-stage { height: 570px; }
  .overview-prototype-axis { display: none; }
  .overview-prototype-inspector { padding: 24px 18px; }
  .overview-prototype-search { width: 100%; flex: 1 1 100%; margin-left: 0; }
  .overview-prototype-legend { flex-wrap: wrap; gap: 8px 13px; padding: 10px 12px; }
  .overview-prototype-legend-spacer { display: none; }
}

/* Global light theme: the application shell and every routed surface share one theme owner. */
:root[data-theme="light"] {
  color-scheme: only light;
  --base-950: #edf3f4;
  --base-900: #ffffff;
  --base-850: #f5f9f9;
  --base-800: #eaf1f2;
  --base-750: #dfe9eb;
  --base-700: #cbdadd;
  --border-default: #9eb5ba;
  --text-primary: #10272d;
  --text-secondary: #566e74;
  --accent-teal: #287b83;
  --accent-cyan: #147b88;
  --accent-cyan-light: #126c77;
  --critical-500: #b75864;
  --critical-700: #f8e5e7;
  --bg: var(--base-950);
  --surface: var(--base-900);
  --surface-raised: var(--base-850);
  --surface-soft: var(--base-800);
  --line: #d4e0e2;
  --line-strong: var(--border-default);
  --text: var(--text-primary);
  --muted: var(--text-secondary);
  --muted-strong: #334e55;
  --accent: var(--accent-cyan);
  --accent-strong: var(--accent-cyan-light);
  --accent-soft: rgba(20, 123, 136, .11);
  --warning: #8b5d16;
  --danger: #a33f4b;
  --success: #176c66;
  --info: #147b88;
  --select-popup-bg: #ffffff;
  --select-popup-text: #10272d;
  --select-popup-muted: #647a80;
  --shadow: 0 16px 48px rgba(36, 70, 77, .16);
}

:root[data-theme="light"] select { color-scheme: only light; }
:root[data-theme="light"],
:root[data-theme="light"] body { background: var(--base-950); }
:root[data-theme="light"] .shell {
  background:
    radial-gradient(circle at 78% 8%, rgba(20, 123, 136, .08), transparent 34rem),
    radial-gradient(circle at 34% 100%, rgba(40, 123, 131, .055), transparent 42rem),
    var(--base-950);
}
:root[data-theme="light"] .sidebar {
  background: rgba(255, 255, 255, .94);
  box-shadow: 16px 0 52px rgba(39, 72, 79, .12);
}
:root[data-theme="light"] .sidebar::before { opacity: .028; filter: none; }
:root[data-theme="light"] .sidebar-brand .brand-logo,
:root[data-theme="light"] .login-brand .brand-logo { filter: drop-shadow(0 8px 10px rgba(39, 72, 79, .12)); }
:root[data-theme="light"] .sidebar-brand .brand-wordmark,
:root[data-theme="light"] .login-brand-copy { text-shadow: none; }
:root[data-theme="light"] .nav-label,
:root[data-theme="light"] .context-label { color: #5c777d; }
:root[data-theme="light"] .nav-link { color: #405b61; }
:root[data-theme="light"] .nav-child-link { color: #60767b; }
:root[data-theme="light"] .nav-link:hover,
:root[data-theme="light"] .nav-child-link:hover,
:root[data-theme="light"] .nav-disclosure:hover { background: rgba(20, 123, 136, .08); box-shadow: none; }
:root[data-theme="light"] .nav-link[aria-current="page"] {
  color: #10272d;
  background: linear-gradient(135deg, rgba(40, 123, 131, .16), rgba(20, 123, 136, .08));
  box-shadow: inset 0 0 0 1px rgba(20, 123, 136, .12);
}
:root[data-theme="light"] .nav-children { box-shadow: inset 1px 0 rgba(20, 123, 136, .18); }
:root[data-theme="light"] .sidebar-foot { background: rgba(223, 233, 235, .58); box-shadow: none; }
:root[data-theme="light"] .topbar {
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 14px 34px rgba(39, 72, 79, .11);
}
:root[data-theme="light"] .context-select,
:root[data-theme="light"] .vertical-select,
:root[data-theme="light"] .field input,
:root[data-theme="light"] .field select,
:root[data-theme="light"] .field textarea,
:root[data-theme="light"] .filter-bar input,
:root[data-theme="light"] .filter-bar select,
:root[data-theme="light"] .global-search,
:root[data-theme="light"] .theme-toggle,
:root[data-theme="light"] .provider-select,
:root[data-theme="light"] .snapshot-control select,
:root[data-theme="light"] .graph-toolbar input,
:root[data-theme="light"] .graph-toolbar select,
:root[data-theme="light"] .api-filter-bar input,
:root[data-theme="light"] .api-filter-bar select,
:root[data-theme="light"] .sve-global-search input,
:root[data-theme="light"] .sve-page-size select,
:root[data-theme="light"] .sve-column-filters input,
:root[data-theme="light"] .sve-catalog-query input,
:root[data-theme="light"] .sve-catalog-controls select,
:root[data-theme="light"] .standards-policy-select select {
  color: var(--text-primary);
  background: rgba(255, 255, 255, .96);
  box-shadow: inset 0 0 0 1px rgba(61, 99, 107, .2), 0 8px 22px rgba(39, 72, 79, .08);
}
:root[data-theme="light"] .theme-toggle::after { background: #ffffff; }
:root[data-theme="light"] .account-menu-trigger:hover,
:root[data-theme="light"] .account-menu-trigger[aria-expanded="true"] { background: #edf4f5; }
:root[data-theme="light"] .account-menu { background: #ffffff; }
:root[data-theme="light"] .avatar { color: #ffffff; background: #287b83; box-shadow: 0 8px 18px rgba(39, 72, 79, .18); }
:root[data-theme="light"] .mobile-bottom-navigation { background: rgba(255, 255, 255, .96); box-shadow: 0 -14px 36px rgba(39, 72, 79, .12); }

:root[data-theme="light"] .login-frame {
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 30px 84px rgba(39, 72, 79, .18), 0 10px 28px rgba(39, 72, 79, .1);
}
:root[data-theme="light"] .login-action { background: linear-gradient(150deg, rgba(20, 123, 136, .1), rgba(237, 243, 244, .82)); text-shadow: none; }
:root[data-theme="light"] .login-footer { opacity: .45; }

:root[data-theme="light"] .page-head h1,
:root[data-theme="light"] .metric-value { text-shadow: none; }
:root[data-theme="light"] .page-head p,
:root[data-theme="light"] .page-head > div > p:not(.eyebrow),
:root[data-theme="light"] .section-heading > p,
:root[data-theme="light"] .card-head p,
:root[data-theme="light"] .metric-label,
:root[data-theme="light"] .metric-source { color: var(--text-secondary); }
:root[data-theme="light"] .card,
:root[data-theme="light"] .finding-hero,
:root[data-theme="light"] .architecture-frame,
:root[data-theme="light"] .decision-journey,
:root[data-theme="light"] .lineage-strip,
:root[data-theme="light"] .state-panel,
:root[data-theme="light"] .discovery-panel {
  background: linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(244, 249, 249, .94));
  box-shadow: 0 20px 56px rgba(39, 72, 79, .12), 0 6px 18px rgba(39, 72, 79, .07);
}
:root[data-theme="light"] .metric {
  background: linear-gradient(150deg, rgba(255, 255, 255, .98), rgba(234, 242, 243, .78));
}
:root[data-theme="light"] .executive-context { background: transparent; }
:root[data-theme="light"] .decision-lens {
  background: linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(234, 242, 243, .82));
  box-shadow: 0 18px 48px rgba(39, 72, 79, .11), 0 5px 14px rgba(39, 72, 79, .06);
}
:root[data-theme="light"] .decision-lens.emphasis {
  background: linear-gradient(145deg, #ffffff, #e5f1f2);
  box-shadow: 0 22px 58px rgba(39, 72, 79, .13), inset 0 3px rgba(20, 123, 136, .5);
}
:root[data-theme="light"] .button {
  color: var(--text-primary);
  background: rgba(221, 233, 235, .88);
  box-shadow: inset 0 0 0 1px rgba(61, 99, 107, .16), 0 8px 18px rgba(39, 72, 79, .08);
}
:root[data-theme="light"] .button:hover { background: #cfdee1; box-shadow: inset 0 0 0 1px rgba(61, 99, 107, .22), 0 10px 24px rgba(39, 72, 79, .1); }
:root[data-theme="light"] .button.primary,
:root[data-theme="light"] .segmented-control .button.active,
:root[data-theme="light"] .graph-group-menu[open] > summary { color: #ffffff; background: #287b83; }
:root[data-theme="light"] .button.danger { color: #8d303b; background: #f8e5e7; }
:root[data-theme="light"] .section-tabs { background: rgba(255, 255, 255, .75); box-shadow: 0 12px 30px rgba(39, 72, 79, .09); }
:root[data-theme="light"] .section-tab[aria-current="page"] { background: rgba(20, 123, 136, .12); box-shadow: 0 7px 18px rgba(39, 72, 79, .08); }
:root[data-theme="light"] .state-banner,
:root[data-theme="light"] .authority-banner { background: #e9f3f4; box-shadow: inset 0 0 0 1px rgba(61, 99, 107, .13), 0 12px 30px rgba(39, 72, 79, .08); }
:root[data-theme="light"] .state-banner.partial,
:root[data-theme="light"] .state-banner.stale,
:root[data-theme="light"] .authority-banner.synthetic,
:root[data-theme="light"] .manual-boundary,
:root[data-theme="light"] .standards-disclaimer { color: #594017; background: #fbf3e5; }
:root[data-theme="light"] .state-banner.permission { color: #742f38; background: #f9e9eb; }
:root[data-theme="light"] .action-item,
:root[data-theme="light"] .path-steps li,
:root[data-theme="light"] .evidence-record,
:root[data-theme="light"] .progress-item,
:root[data-theme="light"] .finding-summary {
  background: rgba(234, 242, 243, .72);
  box-shadow: inset 0 0 0 1px rgba(61, 99, 107, .1), 0 8px 20px rgba(39, 72, 79, .06);
}
:root[data-theme="light"] th,
:root[data-theme="light"] .sve-column-filters th { color: #526b71; background: #e4edef; }
:root[data-theme="light"] td,
:root[data-theme="light"] .definition-list dt,
:root[data-theme="light"] .definition-list dd,
:root[data-theme="light"] .card-head,
:root[data-theme="light"] .filter-bar { border-color: #d6e2e4; }
:root[data-theme="light"] tbody tr:hover,
:root[data-theme="light"] .sve-inspectable-row:hover { background: rgba(20, 123, 136, .07); }
:root[data-theme="light"] .authority-label,
:root[data-theme="light"] .badge { color: #405b61; background: #edf4f5; border-color: #c3d4d7; }
:root[data-theme="light"] .authority-label.local,
:root[data-theme="light"] .badge.success,
:root[data-theme="light"] .badge.active,
:root[data-theme="light"] .badge.succeeded,
:root[data-theme="light"] .badge.passed,
:root[data-theme="light"] .badge.ready,
:root[data-theme="light"] .badge.current,
:root[data-theme="light"] .badge.registered,
:root[data-theme="light"] .badge.info,
:root[data-theme="light"] .badge.candidate,
:root[data-theme="light"] .badge.pass,
:root[data-theme="light"] .badge.automatic,
:root[data-theme="light"] .badge.implemented { color: #176c66; background: #e2f1ef; border-color: #82b7b1; }
:root[data-theme="light"] .badge.warning,
:root[data-theme="light"] .badge.pending,
:root[data-theme="light"] .badge.provisioning,
:root[data-theme="light"] .badge.requested,
:root[data-theme="light"] .badge.running,
:root[data-theme="light"] .badge.notassessed,
:root[data-theme="light"] .badge.manual,
:root[data-theme="light"] .badge.hybrid,
:root[data-theme="light"] .badge.placeholder,
:root[data-theme="light"] .badge.planned { color: #74501b; background: #fbf3e5; border-color: #c9a86e; }
:root[data-theme="light"] .badge.danger,
:root[data-theme="light"] .badge.failed,
:root[data-theme="light"] .badge.suspended,
:root[data-theme="light"] .badge.revoked,
:root[data-theme="light"] .badge.deleted,
:root[data-theme="light"] .badge.fail { color: #8d303b; background: #f8e5e7; border-color: #ca8d95; }

:root[data-theme="light"] dialog { background: linear-gradient(145deg, #ffffff, #f0f6f7); box-shadow: 0 36px 96px rgba(39, 72, 79, .24); }
:root[data-theme="light"] dialog::backdrop { background: rgba(62, 82, 87, .38); }
:root[data-theme="light"] .actionable-report-head { background: linear-gradient(120deg, #f4fafa, #e3f0f2); }
:root[data-theme="light"] .executive-report-head { background: linear-gradient(120deg, #eef7f7, #f8fbfb); }
:root[data-theme="light"] .executive-role-filter select { color: #18363d; background: #edf4f5; box-shadow: inset 0 0 0 1px rgba(61, 99, 107, .16); }
:root[data-theme="light"] .executive-brief-card { background: linear-gradient(118deg, #ffffff, #edf5f6); box-shadow: inset 4px 0 var(--brief-accent), inset 0 0 0 1px rgba(61, 99, 107, .12), 0 8px 24px rgba(39, 72, 79, .08); }
:root[data-theme="light"] .executive-brief-card:hover { background: linear-gradient(118deg, #ffffff, #e5f0f1); }
:root[data-theme="light"] .executive-brief-metrics { background: rgba(61, 99, 107, .1); }
:root[data-theme="light"] .executive-brief-metrics > div { background: rgba(255, 255, 255, .76); }
:root[data-theme="light"] .executive-estimate-panel { background: linear-gradient(135deg, #fbf3e5, #f7faf9); box-shadow: inset 0 0 0 1px rgba(155, 105, 37, .2); }
:root[data-theme="light"] .executive-estimate-metrics article,
:root[data-theme="light"] .executive-estimate-line { background: rgba(255, 255, 255, .72); box-shadow: inset 0 0 0 1px rgba(61, 99, 107, .1); }
:root[data-theme="light"] .executive-estimate-metrics strong,
:root[data-theme="light"] .executive-estimate-line > div:first-child strong { color: #8b5b1e; }
:root[data-theme="light"] .toast { background: #ffffff; box-shadow: 0 18px 48px rgba(39, 72, 79, .2); }
:root[data-theme="light"] .command-palette { box-shadow: 0 36px 96px rgba(39, 72, 79, .25); }
:root[data-theme="light"] .command-result-icon { background: #eaf2f3; }

:root[data-theme="light"] .api-filter-bar,
:root[data-theme="light"] .api-contract-block { background: rgba(234, 242, 243, .64); }
:root[data-theme="light"] .api-endpoint { background: rgba(239, 246, 247, .9); }
:root[data-theme="light"] .api-endpoint[open] { background: #ffffff; box-shadow: inset 0 0 0 1px rgba(61, 99, 107, .14), 0 12px 30px rgba(39, 72, 79, .1); }
:root[data-theme="light"] .api-contract-meta div { background: #edf4f5; }
:root[data-theme="light"] .api-example pre,
:root[data-theme="light"] .doc-code,
:root[data-theme="light"] .sve-inspector-json { color: #21434a; background: #e5eef0; }

:root[data-theme="light"] .orbitalys-documentation {
  --doc-surface: rgba(255, 255, 255, .92);
  --doc-surface-quiet: rgba(234, 242, 243, .72);
  --doc-line: rgba(61, 99, 107, .14);
}
:root[data-theme="light"] .doc-navigation,
:root[data-theme="light"] .doc-section { background: linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(239, 246, 247, .94)); box-shadow: 0 20px 56px rgba(39, 72, 79, .12); }
:root[data-theme="light"] .doc-navigation h2,
:root[data-theme="light"] .doc-flow-stage > span { color: #5d777d; }
:root[data-theme="light"] .doc-callout,
:root[data-theme="light"] .doc-flow-stage { background: #e9f3f4; }
:root[data-theme="light"] .doc-callout.warning { background: #fbf3e5; }
:root[data-theme="light"] .doc-diagram,
:root[data-theme="light"] .doc-table { background: rgba(234, 242, 243, .7); }

:root[data-theme="light"] .provider-selector { background: linear-gradient(145deg, #ffffff, #edf4f5); box-shadow: 0 18px 48px rgba(39, 72, 79, .11); }
:root[data-theme="light"] .runtime-boundary,
:root[data-theme="light"] .region-scope,
:root[data-theme="light"] .job-progress,
:root[data-theme="light"] .authorization-check { background: rgba(234, 242, 243, .72); }
:root[data-theme="light"] .region-option { background: rgba(218, 232, 234, .72); }

:root[data-theme="light"] .sve-context-banner { background: linear-gradient(135deg, #e2eff0, #f3f8f8); }
:root[data-theme="light"] .sve-scope-banner .mono,
:root[data-theme="light"] .sve-context-copy .mono,
:root[data-theme="light"] .standards-policy-banner .mono,
:root[data-theme="light"] .sve-global-search > span,
:root[data-theme="light"] .sve-page-size > span,
:root[data-theme="light"] .sve-catalog-query > span,
:root[data-theme="light"] .sve-catalog-controls label > span,
:root[data-theme="light"] .standards-policy-select > span { color: #5e757a; }
:root[data-theme="light"] .sve-table-wrap { background: rgba(234, 242, 243, .62); }
:root[data-theme="light"] .sve-inspector-section,
:root[data-theme="light"] .sve-score-axis { background: rgba(234, 242, 243, .76); }
:root[data-theme="light"] .sve-semantic-entity,
:root[data-theme="light"] .sve-semantic-relationship { background: #e2eef0; }
:root[data-theme="light"] .sve-semantic-relationship { background: #d7e8ea; }
:root[data-theme="light"] .cost-projection-fields input,
:root[data-theme="light"] .cost-assumption-fields input,
:root[data-theme="light"] .cost-rationale-field textarea,
:root[data-theme="light"] .cost-assumption-details,
:root[data-theme="light"] .executive-brief-source { color: #102f36; background: rgba(234, 242, 243, .82); }

:root[data-theme="light"] .architecture-scroll,
:root[data-theme="light"] .graph-surface { background: #eaf1f2; }
:root[data-theme="light"] .graph-toolbar { background: rgba(255, 255, 255, .85); }
:root[data-theme="light"] .graph-statistics > span,
:root[data-theme="light"] .semantic-relationship,
:root[data-theme="light"] .snapshot-change-summary > span { background: rgba(225, 237, 239, .78); }
:root[data-theme="light"] .graph-group-menu-content { background: rgba(255, 255, 255, .98); box-shadow: 0 18px 44px rgba(39, 72, 79, .18); }
:root[data-theme="light"] .graph-group-toggle.is-collapsed { color: #176c66; background: #e0efee; }
:root[data-theme="light"] .graph-inspector { background: linear-gradient(155deg, #f5f9f9, #e8f1f2); }
:root[data-theme="light"] .large-topology-viewport { background: #e7eff1; }
:root[data-theme="light"] .service-field { background: radial-gradient(circle at 48% 42%, rgba(20, 123, 136, .1), #e8f1f2 68%); }
:root[data-theme="light"] .service-field-domains rect { fill: rgba(255, 255, 255, .5); stroke: rgba(20, 123, 136, .28); }
:root[data-theme="light"] .service-field-domains text { fill: #4e6b71; }
:root[data-theme="light"] .service-node-shadow { fill: rgba(39, 72, 79, .16); }
:root[data-theme="light"] .service-node-halo { fill: rgba(20, 123, 136, .1); }
:root[data-theme="light"] .service-node-ring { fill: #ffffff; }
:root[data-theme="light"] .service-node-core { fill: #e4eef0; }
:root[data-theme="light"] .service-node-label,
:root[data-theme="light"] .service-node-type,
:root[data-theme="light"] .service-field-edge text { stroke: rgba(237, 243, 244, .98); }
:root[data-theme="light"] .service-node-type { fill: #587177; }
:root[data-theme="light"] .service-field-inspector.collapsed { background: #edf4f5; }
:root[data-theme="light"] .service-field-inspector-toggle { background: #ffffff; box-shadow: 0 10px 24px rgba(39, 72, 79, .12); }
:root[data-theme="light"] .architecture-scroll,
:root[data-theme="light"] .large-topology-viewport,
:root[data-theme="light"] .graph-inspector,
:root[data-theme="light"] .graph-group-menu-content { scrollbar-color: rgba(20, 123, 136, .72) #e1ebed; }
:root[data-theme="light"] .architecture-scroll::-webkit-scrollbar-track,
:root[data-theme="light"] .large-topology-viewport::-webkit-scrollbar-track,
:root[data-theme="light"] .graph-inspector::-webkit-scrollbar-track,
:root[data-theme="light"] .graph-group-menu-content::-webkit-scrollbar-track,
:root[data-theme="light"] .architecture-scroll::-webkit-scrollbar-corner,
:root[data-theme="light"] .large-topology-viewport::-webkit-scrollbar-corner { background: #e1ebed; }
:root[data-theme="light"] .architecture-scroll::-webkit-scrollbar-thumb,
:root[data-theme="light"] .large-topology-viewport::-webkit-scrollbar-thumb,
:root[data-theme="light"] .graph-inspector::-webkit-scrollbar-thumb,
:root[data-theme="light"] .graph-group-menu-content::-webkit-scrollbar-thumb { border-color: #e1ebed; background: rgba(20, 123, 136, .68); }

:root[data-theme="light"] .overview-prototype.light .overview-prototype-card {
  --overview-surface: #f8fcfd;
  --overview-surface-strong: #f2f8fa;
  --overview-surface-raised: #edf6f8;
  --overview-control: #ffffff;
  --overview-graph: #e6f0f3;
  --overview-line: rgba(33, 101, 117, .22);
  --overview-cyan: #087f9d;
  --overview-muted: #526f78;
  box-shadow: 0 18px 60px rgba(39, 72, 79, .15);
}
:root[data-theme="light"] .overview-prototype.light .overview-prototype-head .overview-reality-heading h2,
:root[data-theme="light"] .overview-prototype.light .overview-flow-domain h3,
:root[data-theme="light"] .overview-prototype.light .overview-flow-detail h3,
:root[data-theme="light"] .overview-prototype.light .overview-prototype-inspector h3,
:root[data-theme="light"] .overview-prototype.light .overview-prototype-inspector .overview-reality-definitions dd,
:root[data-theme="light"] .overview-prototype.light .overview-prototype-relationships strong,
:root[data-theme="light"] .overview-prototype.light .overview-prototype-results > button,
:root[data-theme="light"] .overview-prototype.light .overview-prototype-search input { color: #09232b; }
:root[data-theme="light"] .overview-prototype.light .overview-flow-domain,
:root[data-theme="light"] .overview-prototype.light .overview-flow-detail { background: linear-gradient(135deg, #ffffff, #edf6f8 76%); box-shadow: 0 9px 26px rgba(39, 72, 79, .12); }
:root[data-theme="light"] .overview-prototype.light .overview-flow-domain-topline strong,
:root[data-theme="light"] .overview-prototype.light .overview-flow-matrix-focus span,
:root[data-theme="light"] .overview-prototype.light .overview-prototype-breadcrumbs button:hover,
:root[data-theme="light"] .overview-prototype.light .overview-prototype-breadcrumbs button.is-active,
:root[data-theme="light"] .overview-prototype.light .overview-prototype-context { color: #09232b; }
:root[data-theme="light"] .overview-prototype.light .overview-flow-detail-score { color: #526f78; }
:root[data-theme="light"] .overview-prototype.light .overview-prototype-results { box-shadow: 0 18px 50px rgba(39, 72, 79, .18); }

/* First use and persistent business scopes. */
.system-home { display: grid; gap: 1.5rem; }
.system-home-page { gap: 1rem; }
.system-home-page > .page-head { margin-bottom: 0; }
.content > .system-home-page > .card + .card { margin-top: 0; }
.journey-card { padding: 1rem 1.375rem; }
.journey-card h2 { margin: 0; font-size: 1.125rem; line-height: 1.5rem; }
.journey-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem 2rem; margin: .75rem 0 0; padding-left: 1.5rem; }
.journey-steps li { padding-left: .3rem; }
.journey-steps p { margin: .25rem 0 0; color: var(--muted, #697585); line-height: 1.45; }
.workspace-list { padding: 1rem; display: flex; flex-wrap: wrap; gap: .75rem; }
.workspace-row { flex-basis: 100%; display: flex; gap: 1rem; align-items: center; padding: 1rem 0; border-bottom: 1px solid var(--border, #d8dee7); }
.workspace-row > div { flex: 1; }
.system-home-page > .card > .card-head { padding-block: .75rem; }
.system-home-page > .card > .card-body { padding-block: .875rem; }
.system-home-page .workspace-list { padding: 0; gap: .5rem; }
.system-home-page .workspace-row { gap: .75rem; padding: .25rem 0 .75rem; }
.system-home-page .workspace-row p { margin: .25rem 0 0; }
.system-home-page > .card > .card-body > p { margin: 0; }
.workspace-dialog { width: min(780px,calc(100vw - 2rem)); }
@media (max-width: 767px) { .journey-steps { grid-template-columns: 1fr; } .workspace-row { align-items: flex-start; flex-wrap: wrap; } .workspace-row > div { flex-basis: 100%; } }
.intelligence-controls { display: flex; gap: .5rem; }
.intelligence-drawer { margin: 0 0 0 auto; height: 100dvh; max-height: 100dvh; width: min(640px,100vw); max-width: 100vw; border-radius: 0; padding: 0; }
.intelligence-drawer .dialog-head { position: sticky; top: 0; background: var(--surface, Canvas); z-index: 1; }
.action-selection-list { padding-left: 1.3rem; max-height: 12rem; overflow: auto; overflow-wrap: anywhere; }
.export-preview, .workspace-row pre { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 18rem; overflow: auto; font-size: .8rem; }
.selecting-intelligence :is(tbody tr, article, [data-asset-id], [data-relationship-id]):hover { outline: 2px solid var(--accent, #477bea); cursor: crosshair; }
@media (max-width: 1000px) { .intelligence-controls { flex-wrap: wrap; } }

.intelligence-selected { outline: 2px solid var(--accent, #80eec0); outline-offset: -2px; }
.topbar .intelligence-controls { flex-shrink: 0; }
@media (max-width: 760px) {
  .topbar .context-control { min-width: 0; }
  .topbar .context-select { width: 100%; max-width: none; min-width: 0; }
}

@media (max-width: 767px) { .topbar .intelligence-controls { grid-column: 1 / -1; grid-row: 3; justify-content: flex-end; } }

.intelligence-drawer [hidden] { display: none !important; }

/* Tenant administration and invitation enrollment. */
.organization-picker { display: flex; align-items: center; gap: 1rem; margin: 1rem 0; }
.organization-picker select { min-width: min(22rem, 65vw); padding: .65rem .85rem; border: 1px solid var(--border); border-radius: .5rem; background: var(--surface); color: inherit; font: inherit; }
.invitation-card { max-width: 44rem; width: 100%; }
.invitation-content, .invitation-setup { display: grid; gap: 1rem; }
.invitation-setup .field-grid { align-items: start; }
.invitation-content > .button { justify-self: start; }
.user-identity-confirmation { grid-column: 1 / -1; display: flex; align-items: flex-start; gap: .75rem; color: var(--text-primary); }
.user-identity-confirmation input { flex: 0 0 auto; width: 1.1rem; margin-top: .2rem; }
.tenant-user-administration .card { margin-top: 1rem; }
.tenant-user-administration td .button { margin: .2rem; }
.tenant-access-views { display: flex; flex-wrap: wrap; gap: .65rem; margin: 1rem 0; align-items: center; }
.tenant-access-views input, .tenant-access-views select, .access-options > input { min-width: 0; padding: .65rem; border: 1px solid var(--border); border-radius: .4rem; background: var(--surface); color: var(--text); font: inherit; }
.tenant-access-views input { flex: 1 1 15rem; }
.access-options { min-width: 0; border: 1px solid var(--border); border-radius: .5rem; padding: .75rem; margin: 1rem 0; }
.access-options > input { width: 100%; }
.access-checklist { max-height: 15rem; overflow: auto; margin-top: .5rem; }
.access-choice { display: flex; align-items: start; gap: .65rem; padding: .5rem .25rem; overflow-wrap: anywhere; color: var(--text-primary); }
.access-choice[hidden] { display: none; }
.tenant-user-dialog [hidden] { display: none !important; }
.access-choice input { flex: 0 0 auto; width: 1.1rem; height: 1.1rem; margin-top: .15rem; }
.user-identity-confirmation > span, .access-choice > span { display: block; min-width: 0; color: var(--text-primary); font-size: .875rem; line-height: 1.5; }
.access-tenant { padding: 1rem 0; border-top: 1px solid var(--line); }
.access-tenant > button { margin: .25rem .5rem .25rem 0; }
.access-history-detail { white-space: pre-wrap; overflow-wrap: anywhere; max-width: 100%; }
