/* Shared presentation contract for workspace, public portals, auth and forms.
   Legacy selectors are bridged deliberately while feature templates migrate. */
/* Reusable guided setup shell: colours follow the shared light/dark contract. */
.ui-setup { color:var(--ui-text); }
.ui-setup-layout { display:grid; grid-template-columns:minmax(13rem,18rem) minmax(0,1fr); gap:1.5rem; align-items:start; }
.ui-setup-panel { padding:clamp(1rem,3vw,2rem); background:var(--ui-surface); border:1px solid var(--ui-control); border-radius:var(--ui-radius); min-width:0; }
.ui-setup-eyebrow { color:var(--ui-muted); font-size:.875rem; font-weight:600; }
.ui-setup-nav ol { list-style:none; margin:0; padding:0; display:grid; gap:.5rem; }
.ui-setup-nav a { display:grid; gap:.25rem; padding:.8rem 1rem; border:1px solid var(--ui-control); border-radius:var(--ui-radius); background:var(--ui-surface); color:var(--ui-readable-action); text-decoration:none; }
.ui-setup-nav a[aria-current="step"] { border:2px solid var(--ui-action); background:var(--ui-info-bg); font-weight:700; }
.ui-setup-nav small { color:var(--ui-muted); font-weight:400; }
.ui-setup a:focus-visible, .ui-setup button:focus-visible, .ui-setup summary:focus-visible { outline:3px solid var(--ui-focus); outline-offset:3px; }
.ui-setup-actions, .ui-setup-stages { display:flex; flex-wrap:wrap; gap:.75rem; align-items:center; }
.ui-setup-stages { list-style:none; padding:0; margin:1.5rem 0; }
.ui-setup-stages li { padding:.6rem; border:1px solid var(--ui-control); border-radius:var(--ui-radius); }
.ui-setup-stages [aria-current="step"] { font-weight:700; border:2px solid var(--ui-action); }
.ui-setup-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr)); gap:1rem; }
.ui-setup-tile { padding:1rem; border:1px solid var(--ui-control); border-radius:var(--ui-radius); background:var(--ui-soft); overflow-wrap:anywhere; }
.ui-setup-tile p:last-child { margin-bottom:0; }
.ui-setup-summary { list-style:none; padding:0; }
.ui-setup-summary li { display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem; padding:.75rem 0; border-bottom:1px solid var(--ui-line); }
.ui-setup .table th, .ui-setup .table td { overflow-wrap:anywhere; max-width:28rem; }
.ui-setup summary { color:var(--ui-readable-action); cursor:pointer; padding:.5rem 0; }
.ui-setup label { display:block; margin-bottom:.25rem; }
.ui-access-panel { padding:clamp(1rem,2vw,1.5rem); border:1px solid var(--ui-control); border-radius:var(--ui-radius); background:var(--ui-surface); }
.ui-access-panel__header { display:flex; flex-wrap:wrap; align-items:start; justify-content:space-between; gap:1rem; margin-bottom:1.25rem; }
.ui-access-notice { padding:1rem; margin-bottom:1.25rem; background:var(--ui-info-bg); border-left:3px solid var(--ui-readable-action); border-radius:8px; }
.ui-access-notice label { margin:0; }
.ui-access-jump-links { display:flex; flex-wrap:wrap; gap:.5rem; }
.ui-access-jump-links a { display:inline-flex; align-items:center; min-height:44px; padding:.5rem .8rem; border:1px solid var(--ui-control); border-radius:8px; text-decoration:none; }
.ui-access-scope-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr)); gap:1rem; }
.ui-access-scope { min-width:0; padding:1rem; border:1px solid var(--ui-control); border-radius:10px; background:var(--ui-soft); }
.ui-access-scope legend { float:none; width:auto; font-size:1rem; font-weight:700; padding:0 .25rem; }
.ui-permission-matrix { display:grid; gap:.5rem; }
.ui-permission-matrix details { border:1px solid var(--ui-control); border-radius:8px; }
.ui-permission-matrix summary { cursor:pointer; padding:.8rem 1rem; min-height:44px; font-weight:600; }
.ui-permission-matrix table { margin:0; min-width:38rem; }
.ui-permission-matrix code { overflow-wrap:anywhere; }
.ui-permission-matrix input[type="checkbox"] { width:1.25rem; height:1.25rem; }
.ui-access-panel :is(input,select,summary,a):focus-visible, .ui-access-jump-links a:focus-visible { outline:3px solid var(--ui-focus); outline-offset:3px; }
.ui-permission-matrix [hidden] { display:none; }
.ui-user-editor { display:grid; gap:1rem; min-width:0; }
.ui-user-editor__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr)); gap:1rem; }
.ui-platform-scanner { padding:1rem; border:1px solid var(--ui-control); border-radius:var(--ui-radius); background:var(--ui-info-bg); }
.ui-platform-scanner p:last-child { margin-bottom:0; }
.ui-choice-list { max-height:18rem; overflow:auto; padding:.75rem 1rem; border:1px solid var(--ui-control); border-radius:8px; background:var(--ui-soft); }
.ui-choice-list ul, .ui-choice-list > div { list-style:none; margin:0; padding:0; display:grid; gap:.25rem; }
.ui-choice-list label { display:flex; align-items:center; gap:.75rem; min-height:44px; margin:0; }
.ui-choice-list input { width:1.25rem; height:1.25rem; flex:0 0 auto; }
.ui-access-scope select, .ui-access-scope input { width:100%; max-width:100%; }
@media (max-width:800px) { .ui-setup-layout { grid-template-columns:1fr; } .ui-setup-nav ol { grid-template-columns:repeat(auto-fit,minmax(10rem,1fr)); } }

:root {
  --ui-text-on-light:#1f2937; --ui-muted-on-light:#475569;
  --ui-canvas:#fffdf8; --ui-surface:#ffffff; --ui-soft:#f5efe4;
  --ui-text:#12233d; --ui-muted:#4c5b70; --ui-line:#ded8cc; --ui-control:#718096;
  --ui-action:var(--ui-brand-action-light,#2458d3); --ui-readable-action:#174ea6; --ui-on-action:var(--ui-brand-on-action-light,#fff); --ui-focus:#2458d3;
  --ui-success:#166247; --ui-success-hover:#124e38; --ui-on-success:#fff; --ui-success-bg:#e8f5ee; --ui-danger:#b52c3b; --ui-danger-bg:#fff0f1;
  --ui-warning:#8a4b08; --ui-warning-bg:#fff4e5; --ui-info:#2458d3; --ui-info-bg:#eaf0ff;
  --ui-accent-purple:#6336a5; --ui-accent-purple-bg:#f2eaff; --ui-accent-teal:#0c6769; --ui-accent-teal-bg:#e2f4f2;
  --ui-radius:12px; --ui-shadow:0 12px 36px #07112024;

  /* Admin tokens */
  --admin-canvas:var(--ui-canvas); --admin-surface:var(--ui-surface); --admin-line:var(--ui-line);
  --admin-text:var(--ui-text); --admin-muted:var(--ui-muted);
  --admin-action:var(--ui-action); --admin-readable-action:var(--ui-readable-action); --admin-on-action:var(--ui-on-action);
  --admin-success:var(--ui-success); --admin-success-bg:var(--ui-success-bg);
  --admin-warning:var(--ui-warning); --admin-warning-bg:var(--ui-warning-bg);
  --admin-danger:var(--ui-danger); --admin-danger-bg:var(--ui-danger-bg);
  --admin-info:var(--ui-info); --admin-info-bg:var(--ui-info-bg);
  --admin-space-1:4px; --admin-space-2:8px; --admin-space-3:12px; --admin-space-4:16px;
  --admin-space-5:20px; --admin-space-6:24px; --admin-space-7:28px; --admin-space-8:32px;
  --admin-radius:12px; --admin-radius-control:9px;
  --admin-shadow:0 1px 2px #0d1b330d, 0 8px 24px #0d1b330a;
  --admin-type-12:12px; --admin-type-13-5:13.5px; --admin-type-14:14px; --admin-type-15:15px; --admin-type-26:26px;
}
:root[data-ui-theme="dark"] {
  --ui-canvas:var(--ui-brand-dark-canvas,#10151f); --ui-surface:var(--ui-brand-dark-surface,#18202d); --ui-soft:var(--ui-brand-dark-soft,#202b3b);
  --ui-text:var(--ui-brand-dark-text,#edf2fa); --ui-muted:var(--ui-brand-dark-muted,#b3c0d2); --ui-line:#334155; --ui-control:#8190a6;
  --ui-action:var(--ui-brand-action-dark,#8aafff); --ui-readable-action:#a6c4ff; --ui-on-action:var(--ui-brand-on-action-dark,#10151f); --ui-focus:#a6c4ff;
  --ui-success:#85ddb6; --ui-success-hover:#68c99d; --ui-on-success:#10151f; --ui-success-bg:#15372d; --ui-danger:#ffadb5; --ui-danger-bg:#41252e;
  --ui-warning:#f3c37d; --ui-warning-bg:#3c3021; --ui-info:#a6c4ff; --ui-info-bg:#233651;

  --ui-accent-purple:#d6b5ff; --ui-accent-purple-bg:#39284f; --ui-accent-teal:#82dfd3; --ui-accent-teal-bg:#173b3a;

  /* Admin tokens */
  --admin-canvas:var(--ui-canvas); --admin-surface:var(--ui-surface); --admin-line:var(--ui-line);
  --admin-text:var(--ui-text); --admin-muted:var(--ui-muted);
  --admin-action:var(--ui-action); --admin-readable-action:var(--ui-readable-action); --admin-on-action:var(--ui-on-action);
  --admin-success:var(--ui-success); --admin-success-bg:var(--ui-success-bg);
  --admin-warning:var(--ui-warning); --admin-warning-bg:var(--ui-warning-bg);
  --admin-danger:var(--ui-danger); --admin-danger-bg:var(--ui-danger-bg);
  --admin-info:var(--ui-info); --admin-info-bg:var(--ui-info-bg);
  --admin-space-1:4px; --admin-space-2:8px; --admin-space-3:12px; --admin-space-4:16px;
  --admin-space-5:20px; --admin-space-6:24px; --admin-space-7:28px; --admin-space-8:32px;
  --admin-radius:12px; --admin-radius-control:9px;
  --admin-shadow:0 1px 2px #0d1b330d, 0 8px 24px #0d1b330a;
  --admin-type-12:12px; --admin-type-13-5:13.5px; --admin-type-14:14px; --admin-type-15:15px; --admin-type-26:26px;
}
.admin-ph {
  display:flex; align-items:flex-start; justify-content:space-between; gap:var(--admin-space-6);
  margin:0 0 var(--admin-space-6); padding:0 0 var(--admin-space-4); border-bottom:1px solid var(--admin-line);
  color:var(--admin-text);
}
.admin-ph__content { min-width:0; }
.admin-ph__breadcrumbs {
  display:flex; flex-wrap:wrap; gap:var(--admin-space-2); margin:0 0 var(--admin-space-3); padding:0;
  color:var(--admin-muted); font-size:var(--admin-type-13-5); list-style:none;
}
.admin-crumb { display:inline-flex; align-items:center; gap:var(--admin-space-2); }
.admin-crumb + .admin-crumb::before { content:"/"; color:var(--admin-muted); }
.admin-crumb a { color:var(--admin-readable-action); text-decoration:underline; text-underline-offset:2px; }
.admin-crumb [aria-current="page"] { color:var(--admin-muted); }
.admin-ph__heading { display:flex; flex-wrap:wrap; align-items:center; gap:var(--admin-space-3) var(--admin-space-6); }
.admin-ph__heading h1 { margin:0; color:var(--admin-text); font-size:var(--admin-type-26); line-height:1.25; }
.admin-ph__subtitle { margin:var(--admin-space-1) 0 0; color:var(--admin-muted); font-size:var(--admin-type-14); }
.admin-ph__meta { display:flex; flex-wrap:wrap; gap:var(--admin-space-2); margin:0; padding:0; list-style:none; }
.admin-ph__meta li { padding:var(--admin-space-1) var(--admin-space-2); border:1px solid var(--admin-line); border-radius:999px; color:var(--admin-text); font-size:var(--admin-type-12); }
.admin-ph__actions { display:flex; flex:0 0 auto; align-items:center; gap:var(--admin-space-2); }
.admin-ph__action {
  display:inline-flex; min-height:40px; align-items:center; justify-content:center; padding:var(--admin-space-2) var(--admin-space-3);
  border:1px solid var(--admin-line); border-radius:var(--admin-radius-control); background:var(--admin-surface);
  color:var(--admin-readable-action); font-size:var(--admin-type-14); font-weight:600; text-decoration:none; white-space:nowrap;
}
.admin-ph__action--primary { border-color:var(--admin-action); background:var(--admin-action); color:var(--admin-on-action); }
.admin-ph__action:hover { text-decoration:underline; text-underline-offset:2px; }
.admin-ph__action:focus-visible,
.admin-ph__overflow summary:focus-visible,
.admin-ph__overflow a:focus-visible { outline:3px solid var(--admin-action); outline-offset:2px; }
.admin-ph__overflow { position:relative; }
.admin-ph__overflow summary {
  display:grid; width:40px; height:40px; place-items:center; border:1px solid var(--admin-line); border-radius:var(--admin-radius-control);
  background:var(--admin-surface); color:var(--admin-text); cursor:pointer; font-size:1.35rem; line-height:1; list-style:none;
}
.admin-ph__overflow summary::-webkit-details-marker { display:none; }
.admin-ph__overflow ul {
  position:absolute; z-index:20; top:calc(100% + var(--admin-space-2)); right:0; min-width:12rem; margin:0; padding:var(--admin-space-1);
  border:1px solid var(--admin-line); border-radius:var(--admin-radius-control); background:var(--admin-surface);
  box-shadow:var(--admin-shadow); list-style:none;
}
.admin-ph__overflow a { display:block; padding:var(--admin-space-2) var(--admin-space-3); border-radius:6px; color:var(--admin-readable-action); text-decoration:none; }
.admin-ph__overflow a:hover { background:var(--admin-canvas); text-decoration:underline; text-underline-offset:2px; }
@media (max-width:700px) {
  .admin-ph { flex-direction:column; gap:var(--admin-space-4); }
  .admin-ph__actions { flex-wrap:wrap; }
}
html[data-ui-theme] :is(code,kbd,samp) {
  color:var(--ui-text); background:var(--ui-soft); border-radius:4px; padding:.05rem .25rem;
}
html[data-ui-theme] {
  --bg-primary:var(--ui-canvas); --bg-secondary:var(--ui-soft); --bg-card:var(--ui-surface);
  --text-primary:var(--ui-text); --text-muted:var(--ui-muted); --text-subtle:var(--ui-muted);
  --accent:var(--ui-action); --accent-soft:var(--ui-info-bg); --accent-glow:transparent;
  --border-subtle:var(--ui-line); --border-accent:var(--ui-action);
  --shadow-card:none; --shadow-elevated:var(--ui-shadow);
  --bs-body-bg:var(--ui-canvas); --bs-body-color:var(--ui-text);
  --bs-secondary-color:var(--ui-muted); --bs-border-color:var(--ui-line);
  --bs-heading-color:var(--ui-text);
  --bs-info-text-emphasis:var(--ui-info); --bs-warning-text-emphasis:var(--ui-warning);
  --bs-danger-text-emphasis:var(--ui-danger); --bs-success-text-emphasis:var(--ui-success);
  --bs-emphasis-color:var(--ui-text); --bs-tertiary-bg:var(--ui-soft); --bs-link-color:var(--ui-readable-action);
}
html[data-ui-theme] body {
  --sp-bg:var(--ui-canvas); --sp-card:var(--ui-surface); --sp-surface:var(--ui-surface);
  --sp-text:var(--ui-text); --sp-muted:var(--ui-muted); --sp-line:var(--ui-line);
  --sp-accent:var(--ui-action); --sp-input-bg:var(--ui-surface);
  background:var(--ui-canvas); color:var(--ui-text); color-scheme:inherit;
  font-family:var(--brand-font-family, "Segoe UI", system-ui, sans-serif);
  font-size:15px; line-height:1.5; -webkit-font-smoothing:antialiased;
}
html[data-ui-theme] .platform-admin-workspace-shell {
  border-bottom:1px solid var(--ui-line); background:var(--ui-surface);
  padding:.5rem clamp(1rem,3vw,2rem) .65rem;
}
html[data-ui-theme] .platform-admin-section-nav {
  display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; padding:.25rem 0 .75rem;
}
html[data-ui-theme] .platform-admin-section-links {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));
  width:100%; gap:.5rem;
}
html[data-ui-theme] .platform-admin-child-nav {
  display:flex; align-items:center; flex:0 0 auto; gap:.35rem; overflow-x:auto; overscroll-behavior-inline:contain;
  scrollbar-width:thin; padding:.1rem 0 .4rem;
}
html[data-ui-theme] .platform-admin-destination-search { flex:0 0 13rem; min-height:40px; }
html[data-ui-theme] .platform-admin-command-trigger { display:inline-flex; align-items:center; gap:.65rem; min-height:38px; white-space:nowrap; }
html[data-ui-theme] .platform-admin-command-trigger kbd { padding:.1rem .35rem; border:1px solid var(--ui-line); border-radius:4px; color:var(--ui-muted); background:var(--ui-soft); font-size:.7rem; }
html[data-ui-theme] .platform-admin-command-palette {
  width:min(42rem,calc(100vw - 2rem)); max-width:none; max-height:min(80vh,48rem); padding:1.25rem;
  border:1px solid var(--ui-line); border-radius:14px; color:var(--ui-text); background:var(--ui-surface);
  box-shadow:0 1.5rem 4rem #07112066;
}
html[data-ui-theme] .platform-admin-command-palette::backdrop { background:#07112099; }
html[data-ui-theme] .platform-admin-command-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
html[data-ui-theme] .platform-admin-command-header h2 { margin:0; font-size:1.05rem; font-weight:700; }
html[data-ui-theme] .platform-admin-command-results { display:grid; gap:.25rem; max-height:55vh; overflow:auto; list-style:none; margin:1rem 0; padding:0; }
html[data-ui-theme] .platform-admin-command-result { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.7rem .8rem; border-radius:8px; color:var(--ui-text); text-decoration:none; }
html[data-ui-theme] .platform-admin-command-result:hover,
html[data-ui-theme] .platform-admin-command-result:focus-visible,
html[data-ui-theme] .platform-admin-command-result[aria-current="true"] { outline:2px solid var(--ui-action); outline-offset:1px; background:var(--ui-soft); }
html[data-ui-theme] .platform-admin-command-area,
html[data-ui-theme] .platform-admin-command-hint { color:var(--ui-muted); font-size:.8rem; }
html[data-ui-theme] .platform-admin-command-hint { margin:0; }
html[data-ui-theme] .platform-admin-child-nav { border-top:1px solid var(--ui-line); padding-top:.45rem; }
html[data-ui-theme] .platform-admin-child-nav a {
  display:inline-flex; align-items:center; min-height:38px; padding:.4rem .7rem; border-radius:8px;
  color:var(--ui-readable-action); font-size:.8125rem; font-weight:600; text-decoration:none; white-space:nowrap;
}
html[data-ui-theme] .platform-admin-child-nav a.active { background:var(--ui-info-bg); color:var(--ui-text); }
html[data-ui-theme] .admin-tabs {
  display:flex; align-items:stretch; gap:.25rem; overflow-x:auto; overscroll-behavior-inline:contain;
  border-bottom:1px solid var(--ui-line); scrollbar-width:thin;
}
html[data-ui-theme] .admin-tab {
  position:relative; display:inline-flex; flex:0 0 auto; align-items:center; gap:.5rem;
  min-height:44px; padding:.65rem .8rem; color:var(--ui-readable-action);
  font-size:.875rem; font-weight:600; text-decoration:none; white-space:nowrap;
}
html[data-ui-theme] .admin-tab:hover { color:var(--ui-text); background:var(--ui-soft); }
html[data-ui-theme] .admin-tab:focus-visible { outline:2px solid var(--ui-action); outline-offset:-2px; border-radius:6px; }
html[data-ui-theme] .admin-tab.is-active { color:var(--ui-text); }
html[data-ui-theme] .admin-tab.is-active::after {
  position:absolute; right:.65rem; bottom:-1px; left:.65rem; height:3px;
  border-radius:3px 3px 0 0; background:var(--ui-action); content:"";
}
html[data-ui-theme] .admin-tab-count {
  display:inline-flex; align-items:center; justify-content:center; min-width:1.35rem; min-height:1.35rem;
  padding:0 .35rem; border-radius:999px; background:var(--ui-soft); color:var(--ui-text);
  font-size:.75rem; line-height:1;
}
html[data-ui-theme] .platform-admin-section-nav a {
  display:inline-flex; flex:0 0 auto; align-items:center; min-height:40px; padding:.45rem .75rem;
  border:1px solid transparent; border-radius:8px; color:var(--ui-readable-action);
  font-size:.875rem; font-weight:600; text-decoration:none; white-space:nowrap;
}
html[data-ui-theme] .platform-admin-section-nav a:hover,
html[data-ui-theme] .platform-admin-section-nav a:focus-visible {
  border-color:var(--ui-control); background:var(--ui-soft); color:var(--ui-text) !important;
}
html[data-ui-theme] .platform-admin-section-nav a.active {
  border-color:var(--ui-action); background:var(--ui-info-bg); color:var(--ui-text) !important;
}
/* Reusable icon-led navigation controls, shared by the hub and child pages. */
html[data-ui-theme] .ui-directory-section {
  border:1px solid var(--ui-control); border-radius:var(--ui-radius);
  background:var(--ui-surface); color:var(--ui-text); box-shadow:var(--admin-shadow);
}
html[data-ui-theme] .ui-directory-section__heading {
  display:flex; align-items:center; gap:.85rem; padding:1.15rem;
  min-height:88px; cursor:pointer; list-style:none; border-radius:var(--ui-radius);
}
.ui-directory-section__heading::-webkit-details-marker { display:none; }
.ui-directory-section__heading strong { display:block; font-size:1rem; }
.ui-directory-section__heading small { display:block; color:var(--ui-muted); margin-top:.25rem; line-height:1.5; }
.ui-directory-section__count { color:var(--ui-muted); font-size:.8rem; font-weight:600; }
.ui-directory-section__chevron { flex-shrink:0; color:var(--ui-readable-action); }
.ui-directory-section[open] > summary .ui-directory-section__chevron { transform:rotate(180deg); }
.ui-directory-section__body { padding:0 1rem 1rem; }
.ui-destination-list { display:grid; gap:.5rem; margin:0; padding:0; list-style:none; }
html[data-ui-theme] body .ui-destination,
html[data-ui-theme] .platform-admin-section-nav .ui-section-control {
  display:flex; align-items:center; gap:.75rem; padding:.75rem;
  border:1px solid var(--ui-control); border-radius:10px; min-height:52px;
  color:var(--ui-text); background:var(--ui-surface); text-decoration:none;
  white-space:normal; font-size:.875rem; font-weight:600;
}
.ui-destination__label { flex:1; min-width:0; overflow-wrap:anywhere; }
.ui-destination__icon {
  display:inline-flex; align-items:center; justify-content:center; flex:0 0 2.25rem;
  width:2.25rem; height:2.25rem; border-radius:9px;
  background:var(--ui-info-bg); color:var(--ui-readable-action); font-size:1.1rem;
}
.ui-destination__arrow { color:var(--ui-readable-action); flex-shrink:0; }
html[data-ui-theme] body .ui-destination:hover,
html[data-ui-theme] .platform-admin-section-nav .ui-section-control:hover,
.ui-directory-section__heading:hover { background:var(--ui-soft); }
html[data-ui-theme] .platform-admin-section-nav .ui-section-control.active {
  border-color:var(--ui-readable-action); background:var(--ui-info-bg);
  box-shadow:inset 3px 0 var(--ui-readable-action); font-weight:800;
}
html[data-ui-theme] body .ui-destination:focus-visible,
html[data-ui-theme] .platform-admin-section-nav .ui-section-control:focus-visible,
.ui-directory-section__heading:focus-visible {
  outline:3px solid var(--ui-focus); outline-offset:3px;
}
html[data-ui-theme] .platform-admin-section-links [hidden],
html[data-ui-theme] .platform-admin-child-nav [hidden],
.ui-destination-list [hidden] { display:none; }
html[data-ui-theme] .platform-admin-breadcrumb {
  display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; color:var(--ui-muted); font-size:.8125rem;
}
html[data-ui-theme] .platform-admin-breadcrumb a { color:var(--ui-readable-action); font-weight:600; }
html[data-ui-theme] body.bg-navy,
html[data-ui-theme] body.login-page,
html[data-ui-theme] body.portal-page,
html[data-ui-theme] body.pin-entry-page,
html[data-ui-theme] body.pricing-page { background:var(--ui-canvas) !important; color:var(--ui-text) !important; }
html[data-ui-theme] :is(main,.page-toolbar-strip) { animation:none !important; }
html[data-ui-theme] :is(.login-card,.pin-card) { animation:none !important; opacity:1; }
html[data-ui-theme] :is(.bg-orb,.aurora,#vanta-bg,.portal-orb,.sp-orb) { display:none !important; }
html[data-ui-theme] :is(h1,h2,h3,h4,h5,h6) { color:var(--ui-text) !important; letter-spacing:0; }
html[data-ui-theme] h1 { font-size:1.75rem; line-height:1.25; font-weight:750; }
html[data-ui-theme] :is(.h5,h5) { font-size:1.05rem; }
html[data-ui-theme] :is(.text-light,.text-white,.text-dark,.link-light,.link-dark,.text-light-emphasis,.text-dark-emphasis) { color:var(--ui-text) !important; }
html[data-ui-theme] :is(.text-secondary,.text-muted,.form-text,small.text-secondary) { color:var(--ui-muted) !important; }
html[data-ui-theme] :is(a,.text-info,.link-info,.text-primary) { color:var(--ui-readable-action); }
html[data-ui-theme] :is(.bg-dark,.bg-light,.bg-dark-subtle,.bg-light-subtle,.bg-body-tertiary) { background:var(--ui-soft) !important; color:var(--ui-text); }
html[data-ui-theme] :is(.border-secondary,.border-light,.border-dark) { border-color:var(--ui-line) !important; }
html[data-ui-theme] :is(.card,.bg-card,.metric-card:not(.ui-summary-card),.integration-panel,.login-card,.pin-card,.scanner-pin-shell .card,.sp-panel,.sp-card,.sp-sample-card) {
  background:var(--ui-surface) !important; color:var(--ui-text); border:1px solid var(--ui-line) !important;
  border-radius:var(--ui-radius); box-shadow:none !important; backdrop-filter:none; transform:none !important;
}
html[data-ui-theme] body.platform-admin-page .integration-config-row {
  background:var(--ui-surface) !important;
  border-color:var(--ui-line) !important;
}
html[data-ui-theme] body.platform-admin-page .integration-config-row :is(a,.text-primary,.text-info) {
  color:var(--ui-readable-action) !important;
  font-weight:600;
}
html[data-ui-theme] body.platform-admin-page .task-run-id { color:var(--ui-text) !important; overflow-wrap:anywhere; }
html[data-ui-theme] body.platform-admin-page .audit-action-value { color:var(--ui-text) !important; overflow-wrap:anywhere; }
html[data-ui-theme] .user-delete-confirm-name { color:var(--ui-text) !important; background:var(--ui-soft); padding:.1rem .3rem; border-radius:4px; }
html[data-ui-theme] body.platform-admin-page .task-run-error { background:var(--ui-danger-bg); border-color:var(--ui-danger) !important; color:var(--ui-text); }
html[data-ui-theme] body.platform-admin-page .task-run-error .card-header { color:var(--ui-danger); border-color:var(--ui-line); }
html[data-ui-theme] body.platform-admin-page .task-run-output { color:var(--ui-text); white-space:pre-wrap; overflow-wrap:anywhere; max-height:32rem; overflow:auto; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; }
html[data-ui-theme] .integration-health-success,
html[data-ui-theme] .integration-directory-state--healthy,
html[data-ui-theme] .integration-directory-state--success { color:var(--ui-success) !important; background:var(--ui-success-bg) !important; border:1px solid var(--ui-success) !important; }
html[data-ui-theme] .integration-health-warning { color:var(--ui-warning) !important; background:var(--ui-warning-bg) !important; border:1px solid var(--ui-warning) !important; }
html[data-ui-theme] .integration-health-danger { color:var(--ui-danger) !important; background:var(--ui-danger-bg) !important; border:1px solid var(--ui-danger) !important; }
html[data-ui-theme] :is(.integration-health-muted,.integration-health-unknown) { color:var(--ui-muted) !important; background:var(--ui-soft) !important; border:1px solid var(--ui-line) !important; }
html[data-ui-theme] body.platform-admin-page :is(.platform-admin-section-nav a.active,.platform-admin-child-nav a.active) { background:var(--ui-info-bg) !important; color:var(--ui-text) !important; border-color:var(--ui-action) !important; }
html[data-ui-theme] body.platform-admin-page .integration-summary-panel-content .integration-config-main { display:grid; gap:.5rem; }
html[data-ui-theme] body.platform-admin-page .integration-summary-panel-content .integration-config-main > :is(div,ul,details) { margin-top:.25rem; }
html[data-ui-theme] body.platform-admin-page .integration-summary-panel-actions .btn { margin:0; }
html[data-ui-theme] body.platform-admin-page .tenable-test-log { background:var(--ui-surface); color:var(--ui-text); border:1px solid var(--ui-line); border-radius:var(--ui-radius); }
html[data-ui-theme] body.platform-admin-page .tenable-test-log .log-line { color:var(--ui-text); border-color:var(--ui-line); }
html[data-ui-theme] body.platform-admin-page .tenable-test-log .log-msg { color:var(--ui-text); }
html[data-ui-theme] body.platform-admin-page .tenable-test-log .log-badge { font-weight:700; }
html[data-ui-theme] body.platform-admin-page .tenable-test-log .log-badge-info { color:var(--ui-info) !important; background:var(--ui-info-bg) !important; }
html[data-ui-theme] body.platform-admin-page .tenable-test-log .log-badge-ok { color:var(--ui-success) !important; background:var(--ui-success-bg) !important; }
html[data-ui-theme] body.platform-admin-page .tenable-test-log .log-badge-data { color:var(--ui-text) !important; background:var(--ui-soft) !important; }
html[data-ui-theme] body.platform-admin-page .tenable-test-log .log-badge-warn { color:var(--ui-warning) !important; background:var(--ui-warning-bg) !important; }
html[data-ui-theme] body.platform-admin-page .tenable-test-log .log-badge-error { color:var(--ui-danger) !important; background:var(--ui-danger-bg) !important; }
html[data-ui-theme] body.platform-admin-page :is(.admin-action-primary,.admin-action-secondary,.admin-action-tertiary,.admin-action-danger) {
  min-height:40px; border-radius:8px; padding:.5rem .875rem; font-weight:650; text-decoration:none;
}
html[data-ui-theme] body.platform-admin-page .admin-action-primary {
  background:var(--ui-action); border:1px solid var(--ui-action); color:var(--ui-on-action) !important;
}
html[data-ui-theme] body.platform-admin-page .admin-action-secondary {
  background:var(--ui-surface); border:1px solid var(--ui-control); color:var(--ui-text) !important;
}
html[data-ui-theme] body.platform-admin-page .admin-action-tertiary {
  background:transparent; border:1px solid var(--ui-control); color:var(--ui-readable-action) !important;
}
html[data-ui-theme] body.platform-admin-page .admin-action-danger {
  background:var(--ui-danger-bg); border:1px solid var(--ui-danger); color:var(--ui-danger) !important;
}
html[data-ui-theme] body.platform-admin-page .admin-danger-zone {
  border:1px solid var(--ui-danger) !important; background:var(--ui-danger-bg) !important; color:var(--ui-text);
}
html[data-ui-theme] body.platform-admin-page .admin-danger-zone__header {
  padding:16px 20px; border-bottom:1px solid var(--ui-danger);
}
html[data-ui-theme] body.platform-admin-page .admin-danger-zone__fields {
  padding:16px 20px 0;
}
html[data-ui-theme] body.platform-admin-page .admin-danger-zone__fields .ui-field:last-child {
  margin-bottom:16px;
}
html[data-ui-theme] body.platform-admin-page .admin-danger-zone__title {
  color:var(--ui-danger);
}
html[data-ui-theme] body.platform-admin-page .admin-danger-zone__row {
  display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:16px; padding:16px 20px;
}
html[data-ui-theme] body.platform-admin-page .admin-danger-zone__row + .admin-danger-zone__row {
  border-top:1px solid var(--ui-line);
}
html[data-ui-theme] body.platform-admin-page .admin-danger-zone__description {
  color:var(--ui-muted);
}
html[data-ui-theme] body.platform-admin-page .admin-danger-zone .admin-action-danger:focus-visible {
  outline:3px solid var(--ui-focus); outline-offset:2px; box-shadow:none;
}
@media (max-width:575.98px) {
  html[data-ui-theme] body.platform-admin-page .admin-danger-zone__row {
    grid-template-columns:minmax(0,1fr); justify-items:start;
  }
}
html[data-ui-theme] body.platform-admin-page .admin-empty {
  padding:clamp(20px,4vw,36px); border:1px dashed var(--ui-control); border-radius:var(--ui-radius);
  background:var(--ui-surface); color:var(--ui-text); text-align:center;
}
html[data-ui-theme] body.platform-admin-page .admin-empty__heading {
  margin:0 0 8px; color:var(--ui-text); font-size:1.125rem;
}
html[data-ui-theme] body.platform-admin-page .admin-empty__body {
  max-width:42rem; margin:0 auto 16px; color:var(--ui-muted);
}
html[data-ui-theme] body.platform-admin-page .admin-empty__body:last-child {
  margin-bottom:0;
}
html[data-ui-theme] .admin-pill {
  display:inline-flex; align-items:center; gap:.4rem; padding:.2rem .55rem;
  border:1px solid var(--admin-line); border-radius:999px;
  background:var(--admin-surface); color:var(--admin-muted);
  font-size:var(--admin-type-12); font-weight:600; line-height:1.3; white-space:nowrap;
}
html[data-ui-theme] .admin-pill__dot {
  flex:none; width:.45rem; height:.45rem; border-radius:50%; background:currentColor;
}
html[data-ui-theme] .admin-pill--ok { color:var(--admin-success); background:var(--admin-success-bg); }
html[data-ui-theme] .admin-pill--warn { color:var(--admin-warning); background:var(--admin-warning-bg); }
html[data-ui-theme] .admin-pill--bad { color:var(--admin-danger); background:var(--admin-danger-bg); }
html[data-ui-theme] .admin-pill--neutral { color:var(--admin-muted); background:var(--admin-canvas); }
html[data-ui-theme] .admin-pill--info { color:var(--admin-info); background:var(--admin-info-bg); }
html[data-ui-theme] body.platform-admin-page .admin-action-primary:is(:hover,:focus-visible,:active) {
  background:var(--ui-action) !important; border-color:var(--ui-action) !important;
  color:var(--ui-on-action) !important; filter:none;
}
html[data-ui-theme] body.platform-admin-page .admin-action-secondary:is(:hover,:focus-visible,:active) {
  background:var(--ui-soft) !important; border-color:var(--ui-control) !important;
  color:var(--ui-text) !important; filter:none;
}
html[data-ui-theme] body.platform-admin-page .admin-action-tertiary:is(:hover,:focus-visible,:active) {
  background:var(--ui-soft) !important; border-color:var(--ui-control) !important;
  color:var(--ui-readable-action) !important; filter:none;
}
html[data-ui-theme] body.platform-admin-page .admin-action-danger:is(:hover,:focus-visible,:active) {
  background:var(--ui-danger-bg) !important; border-color:var(--ui-danger) !important;
  color:var(--ui-danger) !important; filter:none;
}
html[data-ui-theme] body.platform-admin-page :is(.admin-action-primary,.admin-action-secondary,.admin-action-tertiary,.admin-action-danger):is(:disabled,.disabled,[aria-disabled="true"]) {
  cursor:not-allowed; opacity:.68; box-shadow:none !important;
}
html[data-ui-theme] body.platform-admin-page :is(.admin-action-primary,.admin-action-secondary,.admin-action-tertiary,.admin-action-danger)[aria-busy="true"] {
  cursor:progress;
}
html[data-ui-theme] body.platform-admin-page .admin-row-menu {
  display:inline-flex; align-items:center; gap:6px; white-space:nowrap;
}
html[data-ui-theme] body.platform-admin-page .admin-row-menu__toggle {
  min-width:40px; min-height:40px; padding:.25rem; font-size:1.25rem; line-height:1;
}
html[data-ui-theme] body.platform-admin-page .admin-row-menu__toggle:focus-visible,
html[data-ui-theme] body.platform-admin-page .admin-row-menu__primary:focus-visible,
html[data-ui-theme] body.platform-admin-page .admin-row-menu__item--danger:focus-visible {
  outline:3px solid var(--ui-focus); outline-offset:2px; box-shadow:none;
}
html[data-ui-theme] body.platform-admin-page .admin-row-menu__menu { min-width:12rem; }
html[data-ui-theme] body.platform-admin-page .admin-row-menu__form { margin:0; }
html[data-ui-theme] body.platform-admin-page .admin-row-menu__form .dropdown-item {
  width:100%; min-height:40px; border:0; background:transparent; font:inherit; text-align:left; cursor:pointer;
}
html[data-ui-theme] body.platform-admin-page .admin-row-menu__item--danger {
  color:var(--ui-danger) !important;
}
html[data-ui-theme] body.platform-admin-page .admin-row-menu__item--danger:is(:hover,:focus-visible,:active) {
  background:var(--ui-danger-bg) !important; color:var(--ui-danger) !important;
}
html[data-ui-theme] body.platform-admin-page .admin-row-menu__menu .dropdown-divider {
  border-color:var(--ui-line); opacity:1;
}
/* Public portal entry screens: override the legacy dark glass login treatment. */
html[data-ui-theme="light"] body.pin-entry-page,
html[data-ui-theme="light"] body.login-page {
  background:var(--ui-canvas) !important;
  color:var(--ui-text) !important;
  color-scheme:light;
}
html[data-ui-theme="dark"] body.pin-entry-page,
html[data-ui-theme="dark"] body.login-page {
  background:var(--ui-canvas) !important;
  color:var(--ui-text) !important;
  color-scheme:dark;
}
html[data-ui-theme] body.pin-entry-page .pin-card,
html[data-ui-theme] body.login-page .login-card {
  width:min(100%, 460px);
  margin-inline:auto;
  padding:32px;
  background:var(--ui-surface) !important;
  border:1px solid var(--ui-line) !important;
  border-radius:16px;
  box-shadow:var(--ui-shadow) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
html[data-ui-theme] body.pin-entry-page .pin-card .form-control,
html[data-ui-theme] body.login-page .login-card .form-control {
  background:var(--ui-surface) !important;
  color:var(--ui-text) !important;
  border-color:var(--ui-control) !important;
}
html[data-ui-theme] body.pin-entry-page .pin-card .form-control::placeholder,
html[data-ui-theme] body.login-page .login-card .form-control::placeholder { color:var(--ui-muted) !important; }
html[data-ui-theme] body.pin-entry-page .pin-card .form-label,
html[data-ui-theme] body.login-page .login-card .form-label { color:var(--ui-text) !important; }
html[data-ui-theme] body.pin-entry-page .pin-card :is(.text-light,.text-white),
html[data-ui-theme] body.login-page .login-card :is(.text-light,.text-white) { color:var(--ui-text) !important; }
html[data-ui-theme] body.pin-entry-page .pin-card :is(.text-secondary,.text-muted),
html[data-ui-theme] body.login-page .login-card :is(.text-secondary,.text-muted) { color:var(--ui-muted) !important; }
html[data-ui-theme] body.pin-entry-page .pin-card .portal-brand-title,
html[data-ui-theme] body.pin-entry-page .pin-card .brand-flash { color:var(--ui-readable-action) !important; }
@media(max-width:767px) {
  html[data-ui-theme] body.pin-entry-page .pin-card,
  html[data-ui-theme] body.login-page .login-card { padding:24px 20px; border-radius:12px; }
}
html[data-ui-theme] :is(.card-header,.card-footer,.modal-header,.modal-footer,.offcanvas-header) {
  background:var(--ui-surface) !important; color:var(--ui-text); border-color:var(--ui-line) !important; padding:20px 24px;
}
html[data-ui-theme] .card-body { padding:24px; }
html[data-ui-theme] .card :is(.card,.bg-card) { border-radius:8px; }
html[data-ui-theme] .metric-card { padding:20px 22px; gap:8px; border-top:1px solid var(--ui-line) !important; }
html[data-ui-theme] .metric-card span { text-transform:none; letter-spacing:0; color:var(--ui-muted); font-size:.875rem; }
html[data-ui-theme] .metric-card strong { font-size:2rem; font-weight:600; color:var(--ui-text); font-variant-numeric:tabular-nums; }
html[data-ui-theme] .metric-card-link:hover .metric-card { border-color:var(--ui-action) !important; }
html[data-ui-theme] .btn {
  border-radius:8px; min-height:40px; padding:.5rem .875rem; font-weight:600; font-size:.875rem;
  box-shadow:none; text-shadow:none; transform:none; transition:background-color .15s,color .15s,border-color .15s;
}
html[data-ui-theme] :is(.btn-cyber,.btn-primary,.btn-info,.btn-signin) {
  background:var(--ui-action) !important; border:1px solid var(--ui-action) !important; color:var(--ui-on-action) !important;
  box-shadow:none !important; text-shadow:none;
}
html[data-ui-theme] :is(.btn-outline-secondary,.btn-outline-light,.btn-outline-dark,.btn-secondary,.btn-light,.btn-dark) {
  color:var(--ui-text) !important; background:var(--ui-surface) !important; border:1px solid var(--ui-control) !important;
}
html[data-ui-theme] :is(.btn-outline-primary,.btn-outline-info) { color:var(--ui-readable-action) !important; border:1px solid var(--ui-action) !important; background:transparent !important; }
html[data-ui-theme] .btn:hover { filter:brightness(.95); }
html[data-ui-theme] :is(.btn-danger,.btn-outline-danger) { background:var(--ui-danger-bg); border-color:var(--ui-danger); color:var(--ui-danger) !important; }
html[data-ui-theme] :is(.btn-warning,.btn-outline-warning) { background:var(--ui-warning-bg); border-color:var(--ui-warning); color:var(--ui-warning) !important; }
html[data-ui-theme] :is(.btn-success,.btn-outline-success) { background:var(--ui-success-bg); border-color:var(--ui-success); color:var(--ui-success) !important; }
html[data-ui-theme] .btn-link { color:var(--ui-readable-action); min-height:24px; }
html[data-ui-theme] :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible { outline:3px solid var(--ui-focus) !important; outline-offset:3px; box-shadow:none !important; }
html[data-ui-theme] :is(.form-control,.form-select,input:not([type]),input[type="text"],input[type="email"],input[type="password"],input[type="search"],input[type="number"],input[type="date"],input[type="datetime-local"],input[type="url"],input[type="tel"],input[type="file"],textarea,select) {
  background-color:var(--ui-surface) !important; color:var(--ui-text) !important; border:1px solid var(--ui-control) !important;
  border-radius:8px; min-height:40px; font:inherit; padding:.5rem .75rem; max-width:100%;
}
html[data-ui-theme] textarea { min-height:112px; }
html[data-ui-theme] :is(input,textarea)::placeholder { color:var(--ui-muted) !important; opacity:1; }
html[data-ui-theme] :is(input,textarea,select):disabled {
  background:var(--ui-soft) !important;
  border-style:dashed !important;
  color:var(--ui-muted) !important;
  opacity:1;
}
html[data-ui-theme] :is(input,textarea)[readonly] {
  background:var(--ui-soft) !important;
  border-color:var(--ui-control) !important;
}
html[data-ui-theme] :is(.is-invalid,[aria-invalid="true"],input:user-invalid,textarea:user-invalid,select:user-invalid) {
  background:var(--ui-danger-bg) !important;
  border-color:var(--ui-danger) !important;
}
html[data-ui-theme] :is(input,textarea,select):-webkit-autofill,
html[data-ui-theme] :is(input,textarea,select):-webkit-autofill:hover,
html[data-ui-theme] :is(input,textarea,select):-webkit-autofill:focus {
  -webkit-box-shadow:0 0 0 1000px var(--ui-surface) inset !important;
  -webkit-text-fill-color:var(--ui-text) !important;
  caret-color:var(--ui-text);
}
html[data-ui-theme] :is(.invalid-feedback,.errorlist,.text-danger) { color:var(--ui-danger) !important; }
html[data-ui-theme] .form-label { color:var(--ui-text); font-size:.875rem; font-weight:600; margin-bottom:6px; }
html[data-ui-theme] .form-text { font-size:.8125rem; line-height:1.5; margin-top:6px; }
html[data-ui-theme] :is(input[type="checkbox"],input[type="radio"]) { appearance:none; accent-color:var(--ui-action); width:1.15rem; height:1.15rem; margin-top:.15rem; border:1px solid var(--ui-control); background-color:var(--ui-surface); background-repeat:no-repeat; background-position:center; background-size:75% 75%; vertical-align:middle; }
html[data-ui-theme] input[type="radio"] { border-radius:50%; }
html[data-ui-theme] input[type="checkbox"] { border-radius:4px; }
html[data-ui-theme] :is(input[type="checkbox"],input[type="radio"]):not(:checked) { background-image:none; }
html[data-ui-theme] input[type="checkbox"]:checked { background-color:var(--ui-readable-action); border-color:var(--ui-readable-action); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 8 3 3 7-7' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
html[data-ui-theme="dark"] input[type="checkbox"]:checked { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 8 3 3 7-7' fill='none' stroke='%2310151f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
html[data-ui-theme] input[type="checkbox"]:focus-visible { outline:3px solid var(--ui-readable-action); outline-offset:2px; }
html[data-ui-theme] input[type="radio"]:checked { background-color:var(--ui-readable-action); border-color:var(--ui-readable-action); background-image:radial-gradient(circle, #fff 0 32%, transparent 36%); }
html[data-ui-theme="dark"] input[type="radio"]:checked { background-image:radial-gradient(circle, #10151f 0 32%, transparent 36%); }
html[data-ui-theme] :is(input[type="checkbox"],input[type="radio"]):disabled { opacity:.55; }
html[data-ui-theme] ::file-selector-button { background:var(--ui-soft) !important; color:var(--ui-text) !important; border-color:var(--ui-line) !important; }
html[data-ui-theme] :is(.table,.table-dark,.table-light) {
  --bs-table-bg:var(--ui-surface); --bs-table-color:var(--ui-text); --bs-table-border-color:var(--ui-line);
  --bs-table-striped-bg:var(--ui-soft); --bs-table-striped-color:var(--ui-text);
  --bs-table-hover-bg:var(--ui-soft); --bs-table-hover-color:var(--ui-text);
  --bs-table-active-bg:var(--ui-info-bg); --bs-table-active-color:var(--ui-text);
  color:var(--ui-text) !important; font-size:.875rem;
}
html[data-ui-theme] .table > :not(caption) > * > * { padding:14px 16px; border-bottom:1px solid var(--ui-line); color:inherit; }
html[data-ui-theme] .table thead th { background:var(--ui-soft) !important; color:var(--ui-muted) !important; font-size:.8125rem; font-weight:600; vertical-align:middle; }
/* Keyboard interaction receives the same row highlight as pointer hover. */
html[data-ui-theme] .table-hover > tbody > tr:focus-within > * {
  --bs-table-bg-state:var(--bs-table-hover-bg);
  --bs-table-color-state:var(--bs-table-hover-color);
}
html[data-ui-theme] .table-responsive { border-radius:8px; overscroll-behavior-inline:contain; }
html[data-ui-theme] .table caption { color:var(--ui-muted); }
html[data-ui-theme] :is(.list-group-item,.accordion-item,.accordion-button,.dropdown-menu,.popover,.toast) { background:var(--ui-surface) !important; color:var(--ui-text) !important; border-color:var(--ui-line) !important; }
html[data-ui-theme] :is(.list-group-item.active,.accordion-button:not(.collapsed),.dropdown-item.active,.dropdown-item:active) { background:var(--ui-info-bg) !important; color:var(--ui-readable-action) !important; }
html[data-ui-theme] :is(.dropdown-menu,.popover) { border-radius:10px; box-shadow:var(--ui-shadow); padding:6px; }
html[data-ui-theme] .dropdown-item { color:var(--ui-text); border-radius:6px; padding:9px 12px; white-space:normal; }
html[data-ui-theme] .dropdown-item:is(a,button) { align-items:center; display:flex; gap:8px; }
html[data-ui-theme] .dropdown-item :is(svg,i[data-lucide]) { flex:0 0 16px; height:16px; width:16px; }
html[data-ui-theme] .dropdown-item:hover { background:var(--ui-soft); }
html[data-ui-theme] .dropdown-header { color:var(--ui-muted); font-size:.75rem; }
html[data-ui-theme] .badge { font-size:.75rem; font-weight:600; line-height:1.4; padding:4px 8px; border-radius:6px; text-shadow:none; }
html[data-ui-theme] :is(.badge.bg-success,.badge.text-bg-success,.alert-success) { color:var(--ui-success) !important; background:var(--ui-success-bg) !important; }
html[data-ui-theme] :is(.badge.bg-danger,.badge.text-bg-danger,.alert-danger) { color:var(--ui-danger) !important; background:var(--ui-danger-bg) !important; }
html[data-ui-theme] :is(.badge.bg-warning,.badge.text-bg-warning,.alert-warning) { color:var(--ui-warning) !important; background:var(--ui-warning-bg) !important; }
html[data-ui-theme] :is(.badge.bg-info,.badge.bg-primary,.badge.text-bg-info,.badge.text-bg-primary,.alert-info,.alert-primary) { color:var(--ui-info) !important; background:var(--ui-info-bg) !important; }
html[data-ui-theme] :is(.badge.bg-secondary,.badge.text-bg-secondary,.badge.bg-light,.badge.text-bg-light,.badge.bg-dark,.badge.text-bg-dark,.alert-secondary) { color:var(--ui-muted) !important; background:var(--ui-soft) !important; }
html[data-ui-theme] .alert { border-radius:10px; padding:16px 20px; border:1px solid currentColor; box-shadow:none; }
html[data-ui-theme] .alert :is(h1,h2,h3,h4,h5,h6,strong) { color:inherit; }
html[data-ui-theme] :is(.nav-tabs,.nav-pills) { gap:4px; border-color:var(--ui-line); }
html[data-ui-theme] :is(.nav-tabs,.nav-pills) .nav-link { color:var(--ui-muted); background:transparent; border-radius:8px 8px 0 0; padding:12px 16px; }
html[data-ui-theme] :is(.nav-tabs,.nav-pills) .nav-link.active { color:var(--ui-readable-action); background:var(--ui-info-bg); border-color:transparent; border-bottom:2px solid var(--ui-action); }
html[data-ui-theme] .page-link { background:var(--ui-surface); color:var(--ui-readable-action); border-color:var(--ui-line); min-width:40px; min-height:40px; }
html[data-ui-theme] body.platform-admin-page .ui-admin-pagination .page-link { background:var(--ui-surface) !important; color:var(--ui-readable-action) !important; border-color:var(--ui-line) !important; }
html[data-ui-theme] body.platform-admin-page .ui-admin-pagination .page-item.active > .page-link { background:var(--ui-info-bg) !important; color:var(--ui-text) !important; }
html[data-ui-theme] body.platform-admin-page .ui-admin-pagination .page-link:focus-visible { outline:3px solid var(--ui-focus); outline-offset:2px; }
html[data-ui-theme] .active > .page-link { background:var(--ui-info-bg); color:var(--ui-readable-action); border-color:var(--ui-line); }
html[data-ui-theme] :is(.modal-content,.offcanvas,.sp-drawer) { background:var(--ui-surface) !important; color:var(--ui-text) !important; border-color:var(--ui-line) !important; box-shadow:var(--ui-shadow); }
html[data-ui-theme] .ui-side-panel { width:min(100%, 30rem); }
@media (max-width:575px) { html[data-ui-theme] .ui-side-panel { width:100%; } }
html[data-ui-theme] .modal-content { border-radius:16px; }
html[data-ui-theme] .modal-body { padding:24px; }
html[data-ui-theme] .offcanvas { --bs-offcanvas-width:min(560px,100vw); width:var(--bs-offcanvas-width) !important; max-width:100vw; }
/* Shared overlay contract. Keep component layering predictable across the
   workspace; feature styles should consume these tokens instead of creating
   one-off z-index values. */
html[data-ui-theme] {
  --ui-z-content: 1;
  --ui-z-sticky: 1030;
  --ui-z-navigation: 1035;
  --ui-z-menu: 1045;
  --ui-z-backdrop: 1050;
  --ui-z-drawer: 1055;
  --ui-z-modal-backdrop: 1070;
  --ui-z-modal: 1075;
  --ui-z-notification: 1090;
  --ui-z-skip-link: 1200;
}

html[data-ui-theme] :is(.ui-sidebar, .ui-topbar) { isolation: isolate; }
html[data-ui-theme] .ui-sidebar { z-index: var(--ui-z-navigation); }
html[data-ui-theme] .ui-topbar { z-index: var(--ui-z-sticky); }
html[data-ui-theme] .ui-nav-backdrop { z-index: var(--ui-z-backdrop); }

/* Popups must not be clipped by responsive table wrappers. */
html[data-ui-theme] .dropdown-menu,
html[data-ui-theme] [role="listbox"] {
  position: absolute;
  z-index: var(--ui-z-menu);
}

html[data-ui-theme] .offcanvas { z-index:var(--ui-z-drawer); }
html[data-ui-theme] .offcanvas-backdrop { z-index:var(--ui-z-backdrop); }
html[data-ui-theme] .modal { z-index:var(--ui-z-modal); }
html[data-ui-theme] .modal-backdrop { z-index:var(--ui-z-modal-backdrop); }
html[data-ui-theme] .toast-container { z-index:var(--ui-z-notification) !important; }
html[data-ui-theme] .ui-topbar.glass-nav { z-index:var(--ui-z-sticky); }
html[data-ui-theme] :is(.offcanvas-body,.sp-drawer-body) { padding:24px; overflow-y:auto; overscroll-behavior:contain; }
html[data-ui-theme] .offcanvas-header { flex-shrink:0; border-bottom:1px solid var(--ui-line); }
html[data-ui-theme] .offcanvas-title { font-size:1.25rem; line-height:1.4; overflow-wrap:anywhere; }
html[data-ui-theme] :is(.btn-close,.btn-close-white) { filter:none; opacity:.75; min-width:32px; min-height:32px; }
html[data-ui-theme="dark"] :is(.btn-close,.btn-close-white) { filter:invert(1); }
html[data-ui-theme] :is(.finding-panel-section,.finding-panel-pre,.sp-drawer-empty,.sp-drawer-loading,.finding-panel-hero,.finding-panel-source) { color:var(--ui-text); background:var(--ui-soft); border-color:var(--ui-line); border-radius:8px; }
html[data-ui-theme] :is(pre,code) { color:var(--ui-text); overflow-wrap:anywhere; }
html[data-ui-theme] .progress { background:var(--ui-soft); border-radius:6px; }
html[data-ui-theme] .progress-bar { background-color:var(--ui-action); }
html[data-ui-theme] :is(.portal-header,.portal-nav,.portal-topbar,.portal-toolbar,.sp-header,.pin-header) { background:var(--ui-surface); color:var(--ui-text); border-color:var(--ui-line); box-shadow:none; }
html[data-ui-theme] :is(.portal-brand-title,.brand-flash,.login-heading,.product-name,.pin-title) { color:var(--ui-text) !important; text-shadow:none; }
html[data-ui-theme] :is(.portal-brand-subtitle,.company-name,.pin-subtitle,.login-subheading) { color:var(--ui-muted) !important; }
html[data-ui-theme] .login-card { padding:32px; }
/* Published legal content follows the same readable palette as its surface. */
html[data-ui-theme] .ui-legal-document {
  color:var(--ui-text);
  line-height:1.65;
  overflow-wrap:anywhere;
}
html[data-ui-theme] .ui-legal-document :is(p,li,h1,h2,h3,h4,h5,h6,blockquote,th,td) { color:inherit; }
html[data-ui-theme] .ui-legal-document a { color:var(--ui-readable-action); text-decoration:underline; }
html[data-ui-theme] .ui-legal-document a:focus-visible { outline:2px solid var(--ui-focus); outline-offset:3px; }
html[data-ui-theme] .ui-version-diff { white-space:pre-wrap; overflow-wrap:anywhere; max-height:32rem; overflow:auto; color:var(--ui-text); background:var(--ui-soft); padding:1rem; border:1px solid var(--ui-line); border-radius:8px; }
html[data-ui-theme] .login-page { min-height:100dvh; padding:64px 16px 32px; }
html[data-ui-theme] .secure-badge { color:var(--ui-muted); background:var(--ui-soft); }
.ui-public-tools { display:flex; justify-content:flex-end; padding:12px 20px; position:relative; z-index:2; }
body.login-page > .ui-public-tools, body.pin-entry-page > .ui-public-tools { position:absolute; top:8px; right:8px; }
.ui-theme-control { display:flex; align-items:center; gap:8px; color:var(--ui-muted); font-size:.75rem; }
.ui-theme-control .form-select { width:auto; min-height:36px; padding-right:30px; font-size:.75rem; }
.ui-form-errors { padding:16px; border:1px solid var(--ui-danger); border-radius:8px; background:var(--ui-danger-bg); margin-bottom:20px; }
.ui-form-errors a { color:var(--ui-danger); }
.ui-admin-filter-bar { display:flex; flex-wrap:wrap; align-items:end; gap:8px; margin-bottom:16px; }
.ui-admin-filter-bar input { flex:1 1 18rem; max-width:32rem; }
.ui-admin-filter-bar .btn { min-height:40px; }
.ui-admin-pagination { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; }
.ui-admin-pagination .pagination { flex-wrap:wrap; gap:4px; }
html[data-ui-theme] .ui-admin-pagination .page-link {
  border-radius:8px; border-color:var(--ui-line); background:var(--ui-surface); color:var(--ui-readable-action);
}
html[data-ui-theme] .ui-admin-pagination .page-item.active .page-link {
  border-color:var(--ui-action); background:var(--ui-info-bg); color:var(--ui-readable-action);
}
html[data-ui-theme] .ui-admin-pagination .page-link:focus-visible {
  outline:3px solid var(--ui-focus); outline-offset:2px; box-shadow:none;
}
.ui-admin-pagination__range { color:var(--ui-muted); font-size:.875rem; }
.ui-admin-pagination__size { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.ui-admin-pagination__size label { color:var(--ui-muted); font-size:.875rem; }
.ui-admin-pagination__size .form-select { width:auto; min-width:5rem; min-height:36px; }
.ui-admin-pagination .page-link { border-radius:8px; }
.admin-table-card { min-width:0; }
.admin-table-toolbar { display:flex; flex-wrap:wrap; align-items:flex-end; gap:12px; padding:16px; border-bottom:1px solid var(--ui-line); }
.admin-table-toolbar__form { display:flex; flex:1 1 auto; flex-wrap:wrap; align-items:flex-end; gap:10px; min-width:0; }
.admin-table-toolbar__field { display:grid; flex:0 1 14rem; gap:4px; min-width:min(100%, 12rem); }
.admin-table-toolbar__field label { color:var(--ui-muted); font-size:.8125rem; }
.admin-table-toolbar__field :is(input,select) { width:100%; min-height:40px; padding:8px 12px; border:1px solid var(--ui-line); border-radius:8px; background:var(--ui-surface); color:var(--ui-text); }
.admin-table-toolbar__field :is(input,select):focus-visible { outline:3px solid var(--ui-focus); outline-offset:2px; }
.admin-table-toolbar__actions { display:flex; flex-wrap:wrap; gap:8px; }
.admin-table-toolbar__actions .btn,
.admin-table-toolbar__export { min-height:40px; }
.admin-table-toolbar__export { margin-left:auto; }
.admin-table-toolbar__quick-filters { display:flex; flex-wrap:wrap; gap:8px; padding:12px 16px; border-bottom:1px solid var(--ui-line); }
.admin-table-toolbar__chip { display:inline-flex; align-items:center; min-height:34px; padding:4px 10px; border:1px solid var(--ui-line); border-radius:999px; color:var(--ui-readable-action); background:var(--ui-surface); font-size:.875rem; text-decoration:none; }
.admin-table-toolbar__chip:hover,
.admin-table-toolbar__chip.is-active { color:var(--ui-text); background:var(--ui-info-bg); border-color:var(--ui-action); }
.admin-table-toolbar__chip:focus-visible { outline:3px solid var(--ui-focus); outline-offset:2px; }
.admin-table-card__table { max-height:min(65vh, 48rem); overflow:auto; }
html[data-ui-theme] body.platform-admin-page .admin-table-card__table:has(.dropdown-menu.show) { overflow:visible; }
html[data-ui-theme] body.platform-admin-page .admin-table-card__table .dropdown-menu.show { z-index:1080; }
.admin-table-card__table thead th { position:sticky; top:0; z-index:2; color:var(--ui-text); background:var(--ui-surface); box-shadow:inset 0 -1px 0 var(--ui-line); }
.admin-table-card__footer { padding:12px 16px; }
@media (max-width:575px) {
  .admin-table-toolbar__form { flex-basis:100%; }
  .admin-table-toolbar__field { flex-basis:100%; }
  .admin-table-toolbar__export { margin-left:0; }
}
html[data-ui-theme] body.platform-admin-page .admin-interactive-row:hover > *,
html[data-ui-theme] body.platform-admin-page .admin-interactive-row:focus-within > * { background:var(--ui-info-bg); }
html[data-ui-theme] body.platform-admin-page .admin-config-layout { display:grid; grid-template-columns:16rem minmax(0, 1fr) 18rem; align-items:start; gap:1.5rem; }
html[data-ui-theme] body.platform-admin-page .admin-config-layout > * { width:auto; max-width:none; min-width:0; flex:none; }
@media (max-width:1100px) {
  html[data-ui-theme] body.platform-admin-page .admin-config-layout { grid-template-columns:minmax(0, 1fr); }
}
html[data-ui-theme] body.platform-admin-page .admin-table-row-link { border:0; padding:0; background:none; color:var(--ui-readable-action); font:inherit; font-weight:inherit; text-align:left; text-decoration:underline; text-underline-offset:.15em; cursor:pointer; }
html[data-ui-theme] body.platform-admin-page .admin-table-row-link:focus-visible { outline:3px solid var(--ui-focus); outline-offset:3px; border-radius:2px; }
.tenable-asset-uuid { display:inline-block; max-width:12ch; overflow:hidden; text-overflow:ellipsis; vertical-align:middle; white-space:nowrap; }
html[data-ui-theme] body.platform-admin-page .admin-table-action-heading,
html[data-ui-theme] body.platform-admin-page .admin-table-actions { text-align:left !important; }
.ui-section-nav { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 24px; padding:0 0 12px; border-bottom:1px solid var(--ui-line); }
.ui-section-nav a { padding:8px 12px; border-radius:6px; font-size:.875rem; text-decoration:none; }
.ui-section-nav a[aria-current] { color:var(--ui-readable-action); background:var(--ui-info-bg); font-weight:600; }
html[data-ui-theme] body.portal-page.sp-portal {
  --sp-bg:var(--ui-canvas); --sp-panel:var(--ui-surface); --sp-line:var(--ui-line);
  --sp-text:var(--ui-text); --sp-muted:var(--ui-muted); --sp-brand:var(--ui-action);
}
html[data-ui-theme] :is(.sp-summary-card,.sp-state-panel,.sp-panel,.sp-drawer-detection,.stat-card,.meta-card,.step-card) {
  background:var(--ui-surface) !important; color:var(--ui-text); border:1px solid var(--ui-line);
  border-radius:12px; box-shadow:none !important;
}
html[data-ui-theme] :is(.stat-num,.sp-brand,.step-title,.sp-count,.sp-drawer-detection strong) { color:var(--ui-text); }
html[data-ui-theme] :is(.stat-label,.sp-subhead,.sp-drawer-detection .meta) { color:var(--ui-muted); text-transform:none; letter-spacing:0; }
html[data-ui-theme] :is(.sp-tab-nav,.step-header,.dropzone) { background:var(--ui-soft); border-color:var(--ui-line); color:var(--ui-text); }
html[data-ui-theme] .sp-tab-nav a { color:var(--ui-muted); border-radius:8px; }
html[data-ui-theme] .sp-tab-nav a.active { background:var(--ui-info-bg); color:var(--ui-readable-action); box-shadow:none; }
html[data-ui-theme] :is(.pin-card,.login-card,.sp-shell) { max-width:calc(100vw - 32px); }
html[data-ui-theme] .table thead th { border-bottom-color:var(--ui-line) !important; }
html[data-ui-theme] .ui-workspace main { min-width:0; }
html[data-ui-theme] .ui-workspace :is(.row > *,.page-header > *) { min-width:0; }
html[data-ui-theme] :is(.page-header,.ui-section-nav) { scroll-margin-top:80px; }

/* Customer portal cards use fixed legacy light colors; map their text to
   shared tokens so labels and status notes remain readable in both themes. */
html[data-ui-theme] .cp-portal-card {
  color: var(--ui-text);
  border-color: var(--ui-line);
  background: var(--ui-surface);
}
html[data-ui-theme] .cp-portal-card :is(.cp-portal-card__title, h2, h3) {
  color: var(--ui-text) !important;
}
html[data-ui-theme] .cp-portal-card :is(.cp-portal-card__desc, .cp-portal-card__pin, .text-secondary, .text-muted) {
  color: var(--ui-muted) !important;
}
html[data-ui-theme] .cp-portal-card .cp-portal-card__note {
  color: var(--ui-readable-action) !important;
}
html[data-ui-theme] .cp-portal-card a:not(.btn) {
  color: var(--ui-readable-action) !important;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
html[data-ui-theme] .cp-portal-card a:not(.btn):hover {
  color: var(--ui-text) !important;
}
html[data-ui-theme] .cp-portal-card :is(a, button, input, select, textarea):focus-visible {
  outline: 3px solid var(--ui-focus);
  outline-offset: 2px;
  box-shadow: 0 0 0 2px var(--ui-surface);
}
html[data-ui-theme] .cp-portal-card--disabled {
  border-color: var(--ui-warning) !important;
  opacity: 1;
}
html[data-ui-theme] .cp-portal-card--pending {
  background: var(--ui-soft);
  border-color: var(--ui-line);
}
html[data-ui-theme] .cp-portal-card code {
  color: var(--ui-text);
  background: var(--ui-soft);
}

/* Detail pass: resilient shared treatment for legacy page markup. */
html[data-ui-theme] :is(.page-header,.page-toolbar-strip) { overflow-wrap:anywhere; }

/* Shared wizard surface contract. Wizard templates keep their existing field
   and upload markup but use these neutral, theme-aware states. */
html[data-ui-theme] :is(.sp-wizard-shell, .engagement-form) {
  color: var(--ui-text);
}
html[data-ui-theme] :is(.sp-wizard-shell .card, .engagement-form) {
  background: var(--ui-surface) !important;
  border: 1px solid var(--ui-line) !important;
  box-shadow: var(--ui-shadow);
}
html[data-ui-theme] :is(.sp-wizard-step, .wizard-step, [data-wizard-step]) {
  background: var(--ui-soft);
  border-color: var(--ui-line);
  color: var(--ui-muted);
}
html[data-ui-theme] :is(.sp-wizard-step.is-active, .wizard-step.is-active, [data-wizard-step].is-active) {
  background: var(--ui-info-bg);
  border-color: var(--ui-action);
  color: var(--ui-text);
}
html[data-ui-theme] :is(.sp-wizard-step.is-done, .wizard-step.is-done, [data-wizard-step].is-done) {
  background: var(--ui-success-bg);
  border-color: var(--ui-success);
  color: var(--ui-text);
}
html[data-ui-theme] .sp-wizard-step.is-done .sp-wizard-step-num::after {
  content: " Done";
  color: var(--ui-success);
  font-size: 0.68rem;
  font-weight: 600;
}
html[data-ui-theme] :is(.id-mode-card, .sp-scanner-pick, .sp-module-pick) {
  background: var(--ui-surface) !important;
  border-color: var(--ui-line) !important;
  color: var(--ui-text);
  position:relative;
}
html[data-ui-theme] .sp-scanner-pick .card-body > .d-flex { min-height:48px; width:100%; align-items:center; }
html[data-ui-theme] .sp-scanner-logo {
  display:inline-flex;
  width:44px;
  height:44px;
  flex:0 0 44px;
  aspect-ratio:1;
  align-items:center;
  justify-content:center;
  line-height:0;
  vertical-align:middle;
}
html[data-ui-theme] .sp-scanner-logo svg { display:block; width:100%; height:100%; object-fit:contain; object-position:center; }
html[data-ui-theme] .cva-scanner-groups {
  display:grid;
  grid-template-columns:minmax(8rem, .3fr) minmax(0, 1fr);
  column-gap:1.25rem;
  row-gap:.55rem;
}
html[data-ui-theme] .cva-scanner-groups dt,
html[data-ui-theme] .cva-scanner-groups dd { min-width:0; width:auto; margin:0; }
html[data-ui-theme] .cva-scanner-groups dd { overflow-wrap:anywhere; }
html[data-ui-theme] :is(.id-mode-card, .sp-scanner-pick, .sp-module-pick):is(:hover, :focus-visible) {
  border-color: var(--ui-action) !important;
  box-shadow: 0 0 0 3px var(--ui-info-bg) !important;
}
html[data-ui-theme] :is(.id-mode-card, .sp-scanner-pick, .sp-module-pick).is-selected,
html[data-ui-theme] :is(.id-mode-card, .sp-module-pick):has(input:checked) {
  background: var(--ui-info-bg) !important;
  border-color: var(--ui-action) !important;
  box-shadow: inset 0 0 0 1px var(--ui-action) !important;
}
html[data-ui-theme] :is(.sp-scanner-pick, .id-mode-card).is-selected,
html[data-ui-theme] .id-mode-card:has(input:checked) { padding-bottom:2.5rem; }
html[data-ui-theme] :is(.id-mode-card, .sp-scanner-pick, .sp-module-pick).is-selected::after,
html[data-ui-theme] .id-mode-card:has(input:checked)::after {
  content: "Selected";
  position:absolute;
  left:50%;
  bottom:12px;
  transform:translateX(-50%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:3px 10px;
  border:1px solid var(--ui-line);
  border-radius:999px;
  background:var(--ui-info-bg);
  color:var(--ui-readable-action);
  font-size: 0.75rem;
  font-weight: 700;
  line-height:1.3;
  white-space:nowrap;
  pointer-events:none;
}
html[data-ui-theme] :is(.id-mode-card, .sp-scanner-pick, .sp-module-pick):is([aria-disabled="true"], :has(input:disabled)) {
  background: var(--ui-soft) !important;
  border-color: var(--ui-line) !important;
  color: var(--ui-muted);
  cursor: not-allowed;
  opacity: 0.72;
}
html[data-ui-theme] :is(.id-mode-card, .sp-scanner-pick, .sp-module-pick).is-warning {
  background: var(--ui-warning-bg) !important;
  border-color: var(--ui-warning) !important;
}
html[data-ui-theme] :is(.id-mode-card, .sp-scanner-pick, .sp-module-pick):is(.is-invalid, [aria-invalid="true"]) {
  background: var(--ui-danger-bg) !important;
  border-color: var(--ui-danger) !important;
}
html[data-ui-theme] .vsa-dropzone {
  background: var(--ui-soft);
  border: 2px dashed var(--ui-control);
  border-radius: 8px;
  color: var(--ui-text);
  cursor: pointer;
  transition: background-color 120ms ease, border-color 120ms ease, box-shadow 120ms ease;
}
html[data-ui-theme] .vsa-dropzone:is(:hover, :focus-visible) {
  background: var(--ui-info-bg);
  border-color: var(--ui-action);
  box-shadow: 0 0 0 3px var(--ui-info-bg);
  outline: none;
}
html[data-ui-theme] .vsa-dropzone.is-dragover {
  background: var(--ui-info-bg);
  border-color: var(--ui-action);
  border-style: solid;
}
html[data-ui-theme] .vsa-dropzone[aria-disabled="true"] {
  background: var(--ui-soft);
  border-color: var(--ui-line);
  color: var(--ui-muted);
  cursor: progress;
  opacity: 0.72;
}
html[data-ui-theme] .m365-toast-container {
  z-index: var(--ui-z-notification);
}
html[data-ui-theme] :is(.sp-wizard-pane, .wizard-pane) :is(.form-text, .small.text-secondary) {
  color: var(--ui-muted) !important;
}

/* Platform settings use the same readable surfaces in both themes. */
html[data-ui-theme] .platform-settings-layout {
  --settings-surface: var(--ui-surface);
  --settings-soft: var(--ui-soft);
  --settings-border: var(--ui-line);
  --settings-text: var(--ui-text);
  --settings-muted: var(--ui-muted);
}
html[data-ui-theme] .platform-operations-ribbon {
  border: 1px solid var(--ui-line) !important;
  border-radius: var(--ui-radius);
  background: var(--ui-surface) !important;
}
@media (min-width: 1200px) {
  html[data-ui-theme] .platform-operations-ribbon .border-end-xl {
    border-right: 1px solid var(--ui-line) !important;
  }
}
@media (max-width: 1199.98px) {
  html[data-ui-theme] .platform-operations-ribbon .border-end-xl {
    border-bottom: 1px solid var(--ui-line);
    padding-bottom: .75rem;
  }
}
html[data-ui-theme] .platform-quick-launch-bar {
  border: 1px solid var(--ui-line) !important;
  border-radius: var(--ui-radius);
  background: var(--ui-surface) !important;
}
html[data-ui-theme] .platform-settings-nav {
  background: var(--settings-soft);
  border: 1px solid var(--settings-border);
  border-radius: var(--ui-radius);
  padding: .5rem;
}
html[data-ui-theme] .platform-settings-nav .nav-link {
  color: var(--settings-muted);
  text-align: start;
  border-radius: .5rem;
}
html[data-ui-theme] .platform-settings-nav .nav-link:hover,
html[data-ui-theme] .platform-settings-nav .nav-link:focus-visible {
  color: var(--settings-text);
  background: var(--settings-surface);
}
html[data-ui-theme] .platform-settings-nav .nav-link.active,
html[data-ui-theme] .platform-settings-nav .nav-link[aria-selected="true"] {
  color: var(--ui-text) !important;
  background: var(--ui-info-bg) !important;
  border: 1px solid var(--ui-action) !important;
  font-weight: 650;
}
html[data-ui-theme] .platform-settings-section-card {
  color: var(--settings-text);
  background: var(--settings-surface);
  border: 1px solid var(--settings-border);
  border-radius: var(--ui-radius);
  box-shadow: var(--ui-shadow);
  padding: clamp(1rem, 2vw, 1.5rem);
}
html[data-ui-theme] .platform-settings-section-header {
  border-bottom: 1px solid var(--settings-border);
  margin-bottom: 1rem;
  padding-bottom: 1rem;
}
html[data-ui-theme] .platform-settings-section-card :is(input, select, textarea) {
  background: var(--settings-surface);
  color: var(--settings-text);
  border-color: var(--settings-border);
}
html[data-ui-theme] .platform-settings-section-card :is(input, select, textarea):focus {
  border-color: var(--ui-focus);
  box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--ui-focus) 25%, transparent);
}
html[data-ui-theme] .platform-settings-section-card :is(input, select, textarea):is(:disabled, [readonly]) {
  background: var(--settings-soft) !important;
  border-color: var(--settings-border) !important;
  color: var(--settings-muted) !important;
  opacity: 1;
}
html[data-ui-theme] .platform-settings-section-card :is(input, textarea, select):-webkit-autofill,
html[data-ui-theme] .platform-settings-section-card :is(input, textarea, select):-webkit-autofill:hover,
html[data-ui-theme] .platform-settings-section-card :is(input, textarea, select):-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px var(--settings-surface) inset !important;
  -webkit-text-fill-color: var(--settings-text) !important;
  caret-color: var(--settings-text);
}
html[data-ui-theme] .platform-settings-section-card :is(input, select, textarea):is(.is-invalid, [aria-invalid="true"], :user-invalid) {
  background: var(--ui-danger-bg) !important;
  border-color: var(--ui-danger) !important;
}
html[data-ui-theme] .platform-settings-section-card .platform-settings-field.is-invalid :is(input, select, textarea) {
  background: var(--ui-danger-bg) !important;
  border-color: var(--ui-danger) !important;
}
html[data-ui-theme] .platform-settings-section-card input[type="password"] {
  letter-spacing: .1em;
}

html[data-ui-theme] .user-admin-table th,
html[data-ui-theme] .user-admin-table td { border-color: var(--ui-line); color: var(--ui-text); }
html[data-ui-theme] .user-admin-table .user-admin-more summary { color: var(--ui-action); cursor: pointer; }
html[data-ui-theme] .user-admin-table { --bs-table-bg:var(--ui-surface); --bs-table-color:var(--ui-text); --bs-table-border-color:var(--ui-line); --bs-table-hover-bg:var(--ui-info-bg); --bs-table-hover-color:var(--ui-text); table-layout:auto; }
html[data-ui-theme] .user-admin-table th { color:var(--ui-muted); background:var(--ui-soft); font-size:.75rem; text-transform:uppercase; letter-spacing:.04em; }
html[data-ui-theme] .user-admin-actions { min-width:0; flex-wrap:wrap; }

/* Platform administration owns a neutral surface hierarchy. Some older admin
   templates still carry Bootstrap dark utilities, so normalize them here at
   the shared theme boundary instead of requiring every page to be migrated at once. */
html[data-ui-theme] body.platform-admin-page :is(.card, .bg-card, .integration-panel, .platform-settings-section-card) {
  background:var(--ui-surface) !important;
  color:var(--ui-text) !important;
  border-color:var(--ui-line) !important;
  box-shadow:none !important;
}
html[data-ui-theme] body.platform-admin-page :is(.card-header, .card-footer) {
  background:var(--ui-surface) !important;
  color:var(--ui-text) !important;
  border-color:var(--ui-line) !important;
}
html[data-ui-theme] body.platform-admin-page :is(.table, .table-dark, .table-light) {
  background-color:var(--ui-surface) !important;
  color:var(--ui-text) !important;
  --bs-table-bg:var(--ui-surface);
  --bs-table-color:var(--ui-text);
  --bs-table-border-color:var(--ui-line);
  --bs-table-striped-bg:var(--ui-soft);
  --bs-table-hover-bg:var(--ui-soft);
}
html[data-ui-theme] body.platform-admin-page :is(.table, .table-dark, .table-light) > :not(caption) > * > * {
  background-color:var(--ui-surface) !important;
  color:var(--ui-text) !important;
  border-color:var(--ui-line) !important;
}
html[data-ui-theme] body.platform-admin-page :is(.table, .table-dark, .table-light) thead > tr > * {
  background-color:var(--ui-soft) !important;
  color:var(--ui-muted) !important;
}
html[data-ui-theme] body.platform-admin-page :is(.bg-dark, .bg-navy, pre.bg-dark) {
  background:var(--ui-soft) !important;
  color:var(--ui-text) !important;
}
html[data-ui-theme] body.platform-admin-page .admin-code-surface {
  background:var(--ui-soft) !important;
  color:var(--ui-text) !important;
  border:1px solid var(--ui-line);
}
html[data-ui-theme] body.platform-admin-page .admin-preview-surface {
  background:var(--ui-soft) !important;
  border-color:var(--ui-line) !important;
}
/* Keep admin text readable when legacy app.css rules force dark-theme whites. */
html[data-ui-theme] body.platform-admin-page :is(.card, .integration-panel, .platform-settings-section-card, .modal-content, .accordion-item):not(.bg-white) :is(h1, h2, h3, h4, h5, h6, .card-title, .card-header, .card-header .fw-semibold, .accordion-button, .modal-title) {
  color:var(--ui-text) !important;
}
html[data-ui-theme] body.platform-admin-page :is(.card, .integration-panel, .platform-settings-section-card, .modal-content, .accordion-item):not(.bg-white) :is(.card-body, .accordion-body, .modal-body, .modal-footer, label, .form-label, .form-check-label, .form-text) {
  color:var(--ui-text) !important;
}
html[data-ui-theme] body.platform-admin-page :is(.card, .integration-panel, .platform-settings-section-card, .modal-content, .accordion-item):not(.bg-white) :is(p, li, dd):not(.text-warning):not(.text-danger):not(.text-success):not(.text-info) {
  color:var(--ui-text) !important;
}
html[data-ui-theme] body.platform-admin-page :is(.card, .integration-panel, .platform-settings-section-card, .modal-content, .accordion-item):not(.bg-white) :is(.text-secondary, .text-muted, .small.text-secondary, dt, .form-text) {
  color:var(--ui-muted) !important;
}
html[data-ui-theme] body.platform-admin-page :is(.text-light, .text-white, .text-light-emphasis) {
  color:var(--ui-text) !important;
}
html[data-ui-theme] body.platform-admin-page :is(.link-light, .link-info, a:not(.btn)) {
  color:var(--ui-readable-action) !important;
}
html[data-ui-theme] body.platform-admin-page :is(.table, .table-dark, .table-light) :is(td, th, caption, .text-light, .text-white) {
  color:var(--ui-text) !important;
}
html[data-ui-theme] body.platform-admin-page :is(.table, .table-dark, .table-light) thead th,
html[data-ui-theme] body.platform-admin-page :is(.table, .table-dark, .table-light) thead td {
  color:var(--ui-muted) !important;
}
html[data-ui-theme] body.platform-admin-page .table thead th,
html[data-ui-theme] body.platform-admin-page .table thead td {
  color:var(--ui-muted) !important;
}
html[data-ui-theme] body.platform-admin-page .table.table-dark thead th,
html[data-ui-theme] body.platform-admin-page .table.table-dark thead td,
html[data-ui-theme] body.platform-admin-page .table.table-light thead th,
html[data-ui-theme] body.platform-admin-page .table.table-light thead td {
  color:var(--ui-muted) !important;
}
html[data-ui-theme] body.platform-admin-page .subscription-admin-table :is(tbody td, tbody td .fw-semibold, tbody td .text-light, tbody td .text-white) {
  color:var(--ui-text) !important;
}
html[data-ui-theme] body.platform-admin-page .accordion-button,
html[data-ui-theme] body.platform-admin-page .accordion-button:not(.collapsed),
html[data-ui-theme] body.platform-admin-page .accordion-body {
  background:var(--ui-surface) !important;
  color:var(--ui-text) !important;
  border-color:var(--ui-line) !important;
}
html[data-ui-theme] body.platform-admin-page .accordion-button::after {
  filter:none;
}
html[data-ui-theme] body.platform-admin-page .btn-close-white {
  filter:none;
}
html[data-ui-theme] body.platform-admin-page :is(h1, h2, h3, h4, h5, h6, .page-header, .page-header .fw-semibold) {
  color:var(--ui-text) !important;
}
html[data-ui-theme] body.platform-admin-page :is(.text-secondary, .text-muted, .form-text, dt, .form-label) {
  color:var(--ui-muted) !important;
}
html[data-ui-theme] body.platform-admin-page :is(p, li, dd, label):not(.text-warning):not(.text-danger):not(.text-success):not(.text-info) {
  color:var(--ui-text) !important;
}
html[data-ui-theme] body.platform-admin-page :is(.text-light, .text-white, .text-light-emphasis) {
  color:var(--ui-text) !important;
}
html[data-ui-theme] body.platform-admin-page :is(.link-light, a:not(.btn)) {
  color:var(--ui-readable-action) !important;
}
@media (max-width: 767px) {
  html[data-ui-theme] .user-admin-table { min-width: 680px; }
  html[data-ui-theme] .user-admin-table .user-admin-details { max-width: 180px; }
}
@media (max-width: 575px) {
  html[data-ui-theme] .user-admin-table { min-width: 0; table-layout: fixed; }
  html[data-ui-theme] .user-admin-table :is(th:nth-child(3), td:nth-child(3)) { display: none; }
  html[data-ui-theme] .user-admin-table td { padding: 10px 6px; overflow-wrap: anywhere; }
  html[data-ui-theme] .user-admin-table td:nth-child(5) { width: 42%; }
  html[data-ui-theme] .user-admin-actions { min-width:0; justify-content:flex-start !important; }
}
html[data-ui-theme] .page-header h1 { max-width:42rem; margin-bottom:.35rem; }
html[data-ui-theme] :is(.page-header p,.page-header .subtitle,.page-header .text-secondary) { max-width:68rem; margin-bottom:0; }
html[data-ui-theme] :is(.form-control,.form-select,input,textarea,select):focus { border-color:var(--ui-focus) !important; outline:3px solid color-mix(in srgb, var(--ui-focus) 24%, transparent) !important; outline-offset:0; }
html[data-ui-theme] .errorlist { list-style:none; margin:6px 0 0; padding:0; font-size:.8125rem; }
html[data-ui-theme] :is(.table-responsive,.table-wrap,.table-container) { overflow-x:auto; -webkit-overflow-scrolling:touch; }
html[data-ui-theme] :is(.table,.table-dark,.table-light) :is(th,td) { min-width:7rem; vertical-align:middle; }
html[data-ui-theme] :is(.table,.table-dark,.table-light) :is(th:first-child,td:first-child) { min-width:10rem; }
html[data-ui-theme] :is(.table,.table-dark,.table-light) a { font-weight:600; text-decoration-thickness:1px; text-underline-offset:2px; }
html[data-ui-theme] :is(.table,.table-dark,.table-light) tbody tr { transition:background-color .16s ease, box-shadow .16s ease; }
html[data-ui-theme] :is(.table,.table-dark,.table-light) tbody tr:hover { background:var(--ui-info-bg) !important; box-shadow:inset 3px 0 0 var(--ui-action); }
html[data-ui-theme] details > summary { cursor:pointer; }
html[data-ui-theme] details > summary:focus-visible { outline:3px solid var(--ui-focus); outline-offset:3px; border-radius:6px; }
html[data-ui-theme] :is(.empty-state,.loading-state,.error-state) { border:1px dashed var(--ui-line); border-radius:var(--ui-radius); background:var(--ui-soft); color:var(--ui-muted); padding:32px 24px; text-align:center; }
html[data-ui-theme] .btn:disabled, html[data-ui-theme] :is(input,select,textarea):disabled { cursor:not-allowed; }
@media(max-width:767px) {
  html[data-ui-theme] :is(.card-body,.modal-body,.offcanvas-body) { padding:16px; }
  html[data-ui-theme] :is(.card-header,.card-footer,.offcanvas-header) { padding:16px; }
  html[data-ui-theme] .btn { min-height:44px; }
  html[data-ui-theme] .offcanvas { --bs-offcanvas-width:100vw; }
  html[data-ui-theme] :is(.modal-footer,.offcanvas-footer) { padding-bottom:max(16px,env(safe-area-inset-bottom)); }
  html[data-ui-theme] .alert { flex-wrap:wrap; }
  html[data-ui-theme] .login-card { padding:24px; }
}
@media(prefers-reduced-motion:reduce) { html[data-ui-theme] *,html[data-ui-theme] *::before,html[data-ui-theme] *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
@media print { .ui-public-tools,.ui-theme-control,.ui-sidebar,.ui-topbar,.ui-nav-backdrop { display:none !important; } }

/* Contrast safety net for legacy page styles. Keep this last so older vendor
   and feature CSS cannot reintroduce dark controls or unreadable hover states. */
html[data-ui-theme] body.bg-navy,
html[data-ui-theme] body.app-surface {
  background:var(--ui-canvas) !important;
  color:var(--ui-text) !important;
  color-scheme:light;
}
html[data-ui-theme="dark"] body.bg-navy,
html[data-ui-theme="dark"] body.app-surface { color-scheme:dark; }

html[data-ui-theme] :is(.form-control,.form-select,input,select,textarea):not([type="checkbox"]):not([type="radio"]) {
  background:var(--ui-surface) !important;
  color:var(--ui-text) !important;
  border-color:var(--ui-control) !important;
}
html[data-ui-theme] :is(.form-control,.form-select,input,select,textarea):not([type="checkbox"]):not([type="radio"]):hover {
  border-color:var(--ui-action) !important;
}
html[data-ui-theme] :is(.form-control,.form-select,input,select,textarea):not([type="checkbox"]):focus {
  background:var(--ui-surface) !important;
  color:var(--ui-text) !important;
  border-color:var(--ui-focus) !important;
  outline:3px solid color-mix(in srgb, var(--ui-focus) 28%, transparent) !important;
}
html[data-ui-theme] :is(input[type="checkbox"],input[type="radio"],.form-check-input):not([role="switch"]) {
  appearance:none;
  -webkit-appearance:none;
  width:1.15rem;
  height:1.15rem;
  margin-top:.15rem;
  background-color:var(--ui-surface) !important;
  border:2px solid var(--ui-control) !important;
  border-radius:.3rem;
  accent-color:var(--ui-action);
  cursor:pointer;
  vertical-align:middle;
}
html[data-ui-theme] input[type="radio"] { border-radius:50%; }
html[data-ui-theme] :is(input[type="checkbox"],input[type="radio"],.form-check-input):not([role="switch"]):hover {
  background-color:var(--ui-info-bg) !important;
  border-color:var(--ui-action) !important;
  box-shadow:0 0 0 3px color-mix(in srgb, var(--ui-action) 20%, transparent) !important;
}
html[data-ui-theme] :is(input[type="checkbox"],input[type="radio"],.form-check-input):not([role="switch"]):checked {
  background-color:var(--ui-readable-action) !important;
  border-color:var(--ui-readable-action) !important;
  background-position:center;
  background-repeat:no-repeat;
  background-size:80%;
}
html[data-ui-theme] :is(input[type="checkbox"],input[type="radio"],.form-check-input):not([role="switch"]):disabled {
  background-color:var(--ui-soft) !important;
  border-color:var(--ui-line) !important;
  opacity:.65;
  cursor:not-allowed;
}
html[data-ui-theme] .sp-feature-tile {
  background:var(--ui-surface);
  color:var(--ui-text);
  border-color:var(--ui-control);
}
html[data-ui-theme] label.sp-feature-tile { cursor:pointer; }
html[data-ui-theme] .sp-feature-tile:has(input:checked):not(.is-locked) {
  background:var(--ui-info-bg);
  border-color:var(--ui-readable-action);
}
html[data-ui-theme] .sp-feature-tile:focus-within {
  outline:3px solid var(--ui-focus);
  outline-offset:2px;
}
html[data-ui-theme] ::file-selector-button {
  margin:-.5rem .75rem -.5rem -.75rem;
  padding:.5rem .9rem;
  background:var(--ui-info-bg) !important;
  color:var(--ui-readable-action) !important;
  border:0;
  border-right:1px solid var(--ui-line);
  font-weight:700;
  cursor:pointer;
}
html[data-ui-theme] ::file-selector-button:hover { background:var(--ui-action) !important; color:var(--ui-on-action) !important; }

/* Uploaded images, document placeholders and brand previews need a visible
   neutral stage in both themes; never let a legacy black inline background win. */
html[data-ui-theme] :is(.evidence-thumb-box,.guided-audit-evidence-preview,.brand-preview-frame,.image-preview,.upload-preview,.thumbnail,.thumbnail-preview,.file-preview,.media-preview,.attachment-preview,.preview-frame) {
  background:var(--ui-soft) !important;
  border-color:var(--ui-line) !important;
  color:var(--ui-text) !important;
}
html[data-ui-theme] :is(.evidence-thumb-box,.guided-audit-evidence-preview,.image-preview,.upload-preview,.thumbnail,.thumbnail-preview,.file-preview,.media-preview,.attachment-preview,.preview-frame):hover {
  border-color:var(--ui-action) !important;
  box-shadow:0 0 0 3px color-mix(in srgb, var(--ui-action) 20%, transparent), 0 8px 22px color-mix(in srgb, var(--ui-action) 16%, transparent) !important;
}
html[data-ui-theme] :is(.thumb-rejected-border,.guided-audit-evidence-preview--blocked) {
  background:var(--ui-danger-bg) !important;
  border-color:var(--ui-danger) !important;
  color:var(--ui-danger) !important;
}
html[data-ui-theme] :is(.modal-body,.offcanvas-body,.preview-body) :is(img,video,canvas,iframe,object,embed) {
  background:var(--ui-soft) !important;
  color:var(--ui-text) !important;
}
html[data-ui-theme] :is([style*="background:#000"],[style*="background: #000"],[style*="background:#05080e"],[style*="background: #05080e"],[style*="background:#111"],[style*="background: #111"],[style*="background:#1a1a2e"],[style*="background: #1a1a2e"],[style*="background:black"],[style*="background: black"]) {
  background:var(--ui-soft) !important;
  color:var(--ui-text) !important;
}

/* Make interaction discoverable: every actionable control has a bright,
   theme-aware hover treatment, not a barely visible opacity change. */
html[data-ui-theme] :is(.btn,a.nav-link,.dropdown-item,.page-link,.nav-tabs .nav-link,.nav-pills .nav-link,summary,.card-interactive,.metric-card-link):hover {
  color:var(--ui-text) !important;
  border-color:var(--ui-action) !important;
  background-color:var(--ui-info-bg) !important;
  box-shadow:0 0 0 2px color-mix(in srgb, var(--ui-action) 26%, transparent), 0 6px 18px color-mix(in srgb, var(--ui-action) 14%, transparent) !important;
}
html[data-ui-theme] :is(.btn-primary,.btn-info,.btn-cyber,.btn-signin):hover {
  color:var(--ui-on-action) !important;
  background:var(--ui-action) !important;
  filter:brightness(1.12) saturate(1.12);
}

/* Platform Admin card text, spacing and semantic button treatments. */
html[data-ui-theme] body.platform-admin-page :is(.card,.integration-panel,.platform-settings-section-card) > .card-body,
html[data-ui-theme] body.platform-admin-page .integration-panel {
  padding:1.25rem;
}
html[data-ui-theme] body.platform-admin-page .integration-config-row {
  padding:1rem 1.125rem;
}
html[data-ui-theme] body.platform-admin-page :is(.card,.integration-panel,.platform-settings-section-card) :is(.text-info,.text-primary,.link-info,.link-primary) {
  color:var(--ui-info) !important;
}
html[data-ui-theme] :is(.btn-success,.btn-success:visited) {
  background:var(--ui-success) !important;
  border-color:var(--ui-success) !important;
  color:var(--ui-on-success) !important;
}
html[data-ui-theme] :is(.btn-success:hover,.btn-success:focus-visible,.btn-success:active) {
  background:var(--ui-success-hover) !important;
  border-color:var(--ui-success-hover) !important;
  color:var(--ui-on-success) !important;
}
html[data-ui-theme] .btn-outline-success {
  background:transparent !important;
  border-color:var(--ui-success) !important;
  color:var(--ui-success) !important;
}
html[data-ui-theme] .btn-outline-success:hover,
html[data-ui-theme] .btn-outline-success:focus-visible {
  background:var(--ui-success) !important;
  border-color:var(--ui-success) !important;
  color:var(--ui-on-success) !important;
}
html[data-ui-theme] body.platform-admin-page .nmap-scan-launch :is(.form-text,.text-info,.text-primary) {
  color:var(--ui-muted) !important;
}
html[data-ui-theme] body.platform-admin-page .nmap-scan-launch a {
  color:var(--ui-info) !important;
}
/* Shared summary, secure upload and account components. */
html[data-ui-theme] .ui-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
html[data-ui-theme] .ui-summary-card { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:.65rem; min-height:180px; height:100%; padding:1.5rem; background:var(--ui-surface); border:1px solid var(--ui-line); border-radius:12px; color:var(--ui-text); overflow-wrap:anywhere; }
html[data-ui-theme] .ui-summary-card strong { font-size:1.5rem; font-weight:650; color:var(--ui-text); }
html[data-ui-theme] .ui-summary-card > span { color:var(--ui-muted); }
html[data-ui-theme] .ui-summary-card > svg { width:28px; height:28px; color:var(--summary-tone,var(--ui-info)); }
html[data-ui-theme] .ui-summary-card meter { width:100%; height:12px; accent-color:var(--summary-tone,var(--ui-info)); }
html[data-ui-theme] :is(.ui-tone-danger,.ui-severity--critical,.ui-severity--high) { --summary-tone:var(--ui-danger); background:var(--ui-danger-bg); }
html[data-ui-theme] :is(.ui-tone-warning,.ui-severity--medium) { --summary-tone:var(--ui-warning); background:var(--ui-warning-bg); }
html[data-ui-theme] :is(.ui-tone-success,.ui-severity--low) { --summary-tone:var(--ui-success); background:var(--ui-success-bg); }
html[data-ui-theme] .ui-tone-info { --summary-tone:var(--ui-info); background:var(--ui-info-bg); }
html[data-ui-theme] .ui-upload-zone { padding:2rem; border:2px dashed var(--ui-action); border-radius:12px; background:var(--ui-info-bg); color:var(--ui-text); text-align:center; }
html[data-ui-theme] .ui-upload-zone:is(.is-dragging,:focus-within) { outline:3px solid var(--ui-focus); outline-offset:3px; background:var(--ui-surface); }
html[data-ui-theme] .ui-folder-link { display:flex; align-items:center; gap:.6rem; padding:.85rem; margin:.35rem 0; border:1px solid var(--ui-line); border-radius:8px; color:var(--ui-text); text-decoration:none; }
html[data-ui-theme] .ui-folder-link:hover { background:var(--ui-info-bg); }
html[data-ui-theme] :is(.ui-file-hash,.ui-file-metadata dd) { overflow-wrap:anywhere; white-space:normal; }
html[data-ui-theme] .ui-file-metadata dt { color:var(--ui-muted); }
html[data-ui-theme] .ui-file-preview { width:min(1000px,94vw); background:var(--ui-surface); color:var(--ui-text); border:1px solid var(--ui-line); border-radius:12px; padding:1.25rem; }
.ui-file-preview::backdrop { background:rgb(0 0 0 / 60%); }
.ui-file-preview iframe { width:100%; height:70vh; border:0; }
html[data-ui-theme] .ui-security-controls { border:1px solid var(--ui-line); border-radius:8px; padding:.8rem; }
html[data-ui-theme] .cp-portal-card__actions .btn { min-height:34px; padding:.4rem .75rem; font-size:.875rem; }
html[data-ui-theme] .poc-pin-hero { background:var(--ui-info-bg); border:1px solid var(--ui-line); }
html[data-ui-theme] .poc-pin-hero :is(.pin-label,.pin-digits,.pin-meta) { color:var(--ui-text); text-shadow:none; }
html[data-ui-theme] .ui-compact-legal { display:flex; flex-wrap:wrap; gap:.65rem; margin:.7rem 0; }
html[data-ui-theme] .ui-compact-legal :is(a,button) { padding:.2rem 0; min-height:24px; border:0; background:transparent; color:var(--ui-muted); font-size:.75rem; text-decoration:none; }
html[data-ui-theme] .ui-compact-legal a:hover { color:var(--ui-text); text-decoration:underline; }
html[data-ui-theme] .ui-compact-legal button:disabled { cursor:not-allowed; }
html[data-ui-theme] .ui-sidebar-footer .ui-company-link { font-size:.75rem; }
html[data-ui-theme] .ui-account-menu { width:min(340px,94vw); padding:.5rem; border-radius:12px; }
html[data-ui-theme] .ui-account-menu__identity { padding:1rem; margin-bottom:.3rem; border-radius:8px; background:var(--ui-info-bg); overflow-wrap:anywhere; }
.ui-account-menu__identity > svg { float:right; width:32px; height:32px; }
.ui-account-menu__theme { padding:.6rem 1rem; }
html[data-ui-theme] .ui-account-menu .dropdown-item { display:flex; align-items:center; gap:.75rem; padding:.7rem 1rem; border-radius:6px; white-space:normal; }
html[data-ui-theme] .ui-account-menu .dropdown-item svg { width:18px; height:18px; flex-shrink:0; }
html[data-ui-theme] .ui-account-menu__logout { color:var(--ui-danger); background:var(--ui-danger-bg); }
@media (max-width:600px) { html[data-ui-theme] .ui-summary-grid { grid-template-columns:1fr; } html[data-ui-theme] .ui-summary-card { min-height:140px; } }

/* Shared tree and diagnostics layout for read-only administration explorers. */
html[data-ui-theme] .ui-explorer-grid { display:grid; grid-template-columns:minmax(220px,320px) minmax(0,1fr); gap:1rem; align-items:start; }
html[data-ui-theme] .ui-schema-tree { max-height:75vh; overflow:auto; }
.ui-schema-tree ul { list-style:none; padding-left:1rem; }
.ui-schema-tree summary { cursor:pointer; padding:.5rem 0; font-weight:600; }
html[data-ui-theme] .ui-schema-link { display:flex; align-items:flex-start; gap:.5rem; padding:.6rem; border-radius:6px; color:var(--ui-text); text-decoration:none; overflow-wrap:anywhere; }
.ui-schema-link svg { width:18px; height:18px; flex-shrink:0; }
html[data-ui-theme] .ui-schema-link:is(:hover,.is-selected) { background:var(--ui-info-bg); color:var(--ui-info); }
html[data-ui-theme] .ui-schema-link small { display:block; color:var(--ui-muted); }
html[data-ui-theme] .ui-schema-columns { font-size:.75rem; color:var(--ui-text); overflow-wrap:anywhere; }
html[data-ui-theme] .ui-schema-columns small { display:block; color:var(--ui-muted); }
.ui-database-records td { max-width:280px; white-space:normal; overflow-wrap:anywhere; }
.ui-diagnostics-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:1rem; }
html[data-ui-theme] .ui-diagnostics-grid dt { color:var(--ui-muted); font-size:.85rem; }
html[data-ui-theme] .ui-diagnostics-grid dd { color:var(--ui-text); margin:.3rem 0 0; }
@media (max-width:900px) { html[data-ui-theme] .ui-explorer-grid { grid-template-columns:1fr; } html[data-ui-theme] .ui-schema-tree { max-height:40vh; } }

html[data-ui-theme] .app-legal-footer-links { gap:.75rem; font-size:.75rem; flex-wrap:wrap; }
html[data-ui-theme] .app-legal-footer-links :is(a,button) { min-height:24px; }
html[data-ui-theme] .app-legal-footer-links svg { width:14px; height:14px; }

html[data-ui-theme] .badge:is(.ui-tone-info,.ui-tone-warning,.ui-tone-danger,.ui-tone-success) { color:var(--summary-tone); }

/* Shared feature-control cards and accessible switches. */
.ui-feature-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr)); gap:1rem; }
.ui-feature-option { height:100%; padding:1rem; border:1px solid var(--ui-line); border-radius:.5rem; background:var(--ui-surface); color:var(--ui-text); }
.ui-feature-switch { min-height:1.5rem; margin-bottom:0; }
.ui-feature-switch label { overflow-wrap:anywhere; }
.ui-field { min-width:0; margin-bottom:1rem; color:var(--ui-text); }
.ui-field__required { margin-left:.2rem; color:var(--ui-danger); font-weight:700; }
.ui-field__unit { color:var(--ui-muted); background:var(--ui-soft); border-color:var(--ui-control); }
.ui-field__switch { display:flex; align-items:flex-start; gap:.75rem; padding-left:0; }
.ui-field__switch input[role="switch"] { flex:0 0 auto; margin:0; }
.ui-field__switch-copy { display:grid; gap:.25rem; }
.ui-field .invalid-feedback { color:var(--ui-danger); }
.ui-admin-save-bar { position:sticky; bottom:0; z-index:1020; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:12px 16px; border:1px solid var(--ui-line); border-radius:12px 12px 0 0; background:var(--ui-surface); color:var(--ui-text); box-shadow:var(--ui-shadow); }
.ui-admin-save-bar__status { display:flex; align-items:center; gap:.4rem; color:var(--ui-text); }
.ui-admin-save-bar__dot { color:var(--ui-warning); }
.ui-admin-save-bar__actions { display:flex; flex-wrap:wrap; gap:8px; }
.ui-admin-save-bar__actions .btn { min-height:40px; }
@media (max-width:575px) {
  .ui-admin-save-bar { align-items:stretch; }
  .ui-admin-save-bar__actions { width:100%; }
  .ui-admin-save-bar__actions .btn { flex:1 1 auto; }
}
html[data-ui-theme] .ui-feature-switch input[role="switch"] { appearance:none; width:2.5rem; height:1.375rem; cursor:pointer; border:2px solid var(--ui-control); border-radius:1rem; background-color:var(--ui-surface); background-image:none; }
html[data-ui-theme] .ui-feature-switch input[role="switch"]::before { content:""; display:block; width:.875rem; height:.875rem; margin:.125rem; border-radius:50%; background:var(--ui-control); }
html[data-ui-theme] .ui-feature-switch input[role="switch"]:checked { background-image:none; }
html[data-ui-theme] .ui-feature-switch input[role="switch"]:checked::before { background:var(--ui-on-action); transform:translateX(1.125rem); }
html[data-ui-theme] .ui-feature-switch input[role="switch"]:checked { background-color:var(--ui-action); border-color:var(--ui-action); }
html[data-ui-theme] .ui-feature-switch input[role="switch"]:focus-visible { outline:2px solid var(--ui-action); outline-offset:3px; }
.ui-feature-matrix th { min-width:7rem; }
.ui-feature-matrix th:first-child { min-width:14rem; }
.ui-feature-matrix:focus-visible { outline:2px solid var(--ui-action); outline-offset:3px; }

/* Native trend meters share the same accessible status tokens as summary cards. */
html[data-ui-theme] .ui-trend-meter { display:block; width:100%; min-width:7rem; height:.8rem; margin:.25rem 0 .5rem; accent-color:var(--summary-tone,var(--ui-info)); }
html[data-ui-theme] :is(.ui-trend-meter,.ui-summary-card meter)::-webkit-meter-bar { background:var(--ui-soft); border:1px solid var(--ui-control); border-radius:6px; }
html[data-ui-theme] :is(.ui-trend-meter,.ui-summary-card meter)::-webkit-meter-optimum-value { background:var(--summary-tone,var(--ui-info)); }
html[data-ui-theme] :is(.ui-trend-meter,.ui-summary-card meter)::-moz-meter-bar { background:var(--summary-tone,var(--ui-info)); }

/* Explicit white preview surfaces retain readable text in either theme. */
html[data-ui-theme] body.platform-admin-page :is(.modal-content, .card).bg-white {
  --ui-surface:#fff; --ui-soft:#f5efe4; --ui-line:#ded8cc;
  --ui-text:var(--ui-text-on-light);
  --ui-muted:var(--ui-muted-on-light);
  --ui-readable-action:#174ea6;
  --ui-action:var(--ui-brand-action-light,#2458d3);
  --ui-on-action:var(--ui-brand-on-action-light,#fff);
  --ui-focus:#2458d3;
  color:var(--ui-text);
}

/* Shared local SVG accents: labels and shapes remain meaningful without colour. */
.ui-icon { display:inline-block; flex-shrink:0; width:1.25rem; height:1.25rem; vertical-align:middle; }
.ui-destination__icon .ui-icon { width:1.3rem; height:1.3rem; }
.ui-destination__icon.ui-tone--blue { color:var(--ui-readable-action); background:var(--ui-info-bg); }
.ui-destination__icon.ui-tone--green { color:var(--ui-success); background:var(--ui-success-bg); }
.ui-destination__icon.ui-tone--purple { color:var(--ui-accent-purple); background:var(--ui-accent-purple-bg); }
.ui-destination__icon.ui-tone--rose { color:var(--ui-danger); background:var(--ui-danger-bg); }
.ui-destination__icon.ui-tone--amber { color:var(--ui-warning); background:var(--ui-warning-bg); }
.ui-destination__icon.ui-tone--teal { color:var(--ui-accent-teal); background:var(--ui-accent-teal-bg); }
.ui-feature-card { background:var(--ui-surface); border-color:var(--ui-control); box-shadow:var(--admin-shadow); }
.ui-feature-card .ui-destination__icon { width:2.75rem; height:2.75rem; border-radius:12px; }

/* Checklist editor: grouped steps, drag handles, and the audit preview. */
.ui-checklist-library { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr)); gap:1rem; }
.ui-checklist-board { display:grid; gap:1.5rem; }
.ui-checklist-category { padding:1rem; border:1px solid var(--ui-line); border-radius:.5rem; background:var(--ui-surface); color:var(--ui-text); }
.ui-checklist-category__title { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; margin-bottom:.75rem; }
.ui-checklist-steps { display:grid; gap:.75rem; margin:0; padding:0; list-style:none; }
.ui-checklist-step { padding:.75rem; border:1px solid var(--ui-line); border-radius:.5rem; background:var(--ui-soft); color:var(--ui-text); }
.ui-checklist-step__summary { display:flex; flex-wrap:wrap; align-items:flex-start; gap:.75rem; }
.ui-checklist-handle { min-width:2.5rem; min-height:2.5rem; border:1px solid var(--ui-control); border-radius:.35rem; background:var(--ui-surface); color:var(--ui-text); cursor:grab; }
.ui-checklist-handle:focus-visible { outline:2px solid var(--ui-action); outline-offset:3px; }
.ui-checklist-fields { margin-top:.75rem; }
.ui-checklist-preview-nav { margin:0; padding:0; list-style:none; }
.ui-checklist-preview-nav a { color:var(--ui-readable-action,var(--ui-action)); }
.ui-checklist-preview-nav a[aria-current="step"] { font-weight:700; }
@media (max-width:575px) {
  .ui-checklist-step__summary { flex-direction:column; }
}
.saint-guide { color:var(--ui-text); }
.saint-guide-brand-row { display:flex; align-items:center; gap:.75rem; margin-bottom:.75rem; }
.saint-guide-brand { display:inline-grid; place-items:center; min-width:4.5rem; min-height:2rem; padding:0 .6rem; border:1px solid var(--ui-control); border-radius:8px; background:var(--ui-soft); color:var(--ui-text); font-weight:700; letter-spacing:.04em; }
.saint-guide-groups { display:flex; flex-wrap:wrap; gap:.5rem; margin:0 0 1rem; }
.saint-guide-groups a { display:inline-flex; align-items:center; min-height:44px; padding:.4rem .75rem; border:1px solid var(--ui-control); border-radius:8px; color:var(--ui-readable-action); background:var(--ui-surface); text-decoration:none; }
.saint-guide-groups a[aria-current="true"] { border:2px solid var(--ui-action); font-weight:700; }
.saint-guide-wizard { margin:1rem 0; }
.saint-guide-wizard button { width:100%; text-align:left; background:var(--ui-surface); color:var(--ui-text); }
.saint-guide-os { display:grid; gap:1rem; }
.saint-guide-row { display:grid; grid-template-columns:auto minmax(0,1fr); gap:1rem; padding:1rem; border:1px solid var(--ui-control); border-radius:var(--ui-radius); background:var(--ui-surface); }
.saint-guide-mark { width:2.75rem; height:2.75rem; display:grid; place-items:center; border:1px solid var(--ui-control); border-radius:8px; background:var(--ui-soft); color:var(--ui-text); }
.saint-guide-command { white-space:pre-wrap; overflow-wrap:anywhere; margin:0 0 .75rem; padding:.75rem; background:var(--ui-soft); color:var(--ui-text); border:1px solid var(--ui-line); border-radius:8px; }
.saint-guide button:focus-visible, .saint-guide a:focus-visible, .saint-guide-row:focus-visible { outline:3px solid var(--ui-focus); outline-offset:3px; }

.saint-portal-charts { color:var(--ui-text); margin:0 0 1rem; padding:1rem; border:1px solid var(--ui-line); border-radius:var(--ui-radius); background:var(--ui-surface); }
.saint-portal-charts h2, .saint-portal-charts h3 { color:var(--ui-text); }
.saint-portal-charts__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr)); gap:1rem; }
.saint-chart-donut { width:10rem; height:10rem; }
.saint-chart-hole { fill:var(--ui-surface); }
.saint-chart-total, .saint-chart-caption { fill:currentColor; font-family:inherit; }
.saint-chart-total { font-size:16px; font-weight:700; }
.saint-chart-caption { font-size:8px; }
.saint-chart-legend, .saint-chart-bars, .saint-chart-posture { margin:.5rem 0 0; padding:0; list-style:none; }
.saint-chart-legend li, .saint-chart-posture li, .saint-chart-bar-label { color:var(--ui-text); }
.saint-chart-bars li { margin:0 0 .6rem; }
.saint-swatch { display:inline-block; width:.75rem; height:.75rem; margin-right:.35rem; border-radius:2px; vertical-align:middle; }
.saint-chart-track, .saint-chart-split { display:flex; height:.75rem; overflow:hidden; border:1px solid var(--ui-line); border-radius:999px; background:var(--ui-soft); }
.saint-chart-fill, .saint-posture { display:block; height:100%; }
.saint-sev--critical { background:var(--ui-danger); fill:var(--ui-danger); }
.saint-sev--high { background:var(--ui-warning); fill:var(--ui-warning); }
.saint-sev--medium { background:var(--ui-info); fill:var(--ui-info); }
.saint-sev--low { background:var(--ui-success); fill:var(--ui-success); }
.saint-sev--info { background:var(--ui-control); fill:var(--ui-control); }
.saint-posture--fail { background:var(--ui-danger); }
.saint-posture--grace { background:var(--ui-warning); }
.saint-posture--pass { background:var(--ui-success); }
.saint-portal-charts a:focus-visible, .saint-portal-charts button:focus-visible { outline:3px solid var(--ui-focus); outline-offset:3px; }
