/* OpsGrid study palette. Author: CF VD RMN
   Light canvas, 2px corners, and a blue / teal / amber / violet accent set.
   Loaded after app.css so staff, portal, auth, marketing, and errors share it.
   Tenant --accent from layouts/brand.blade.php still paints primary actions. */

:root {
    --canvas: #e7eef8;
    --ink: #142033;
    --panel: #ffffff;
    --panel-2: #f7fbff;
    --surface: #ffffff;
    --line: #c5d4e8;
    --line-soft: #e5eef8;
    --text: #142033;
    --muted: #3d5168;
    --teal: #0a6e58;
    --amber: #8f4e00;
    --violet: #5b3d99;
    --rose: #9d3048;
    --blue-bg: #e5f2fc;
    --teal-bg: #e3f6f0;
    --amber-bg: #fff3dc;
    --violet-bg: #f1ebf8;
    --rose-bg: #fdecef;
    --ok: #0d6b3d;
    --ok-bg: #d8f5e6;
    --warn: #8a4b08;
    --warn-bg: #fff1d6;
    --danger: #9b1c1c;
    --danger-bg: #fde8e8;
    --info: #0b4f86;
    --info-bg: #e3f1fb;
    --success: #0d6b3d;
    --warning: #8a4b08;
    --radius: 2px;
    --radius-sm: 2px;
    --radius-xl: 2px;
    --sidebar: #f7fbff;
    --sidebar-2: #ffffff;
    --sidebar-text: #142033;
    --sidebar-muted: #3d5168;
    --focus: #003d73;
}

body.pulse,
body.auth-page,
body.auth-login,
body.mkt,
body.err-page {
    --canvas: #e7eef8;
    --panel: #ffffff;
    --panel-2: #f7fbff;
    --surface: #ffffff;
    --line: #c5d4e8;
    --line-soft: #e5eef8;
    --text: #142033;
    --pulse-ink: #142033;
    --muted: #3d5168;
    --success: #0d6b3d;
    --danger: #9b1c1c;
    --warning: #8a4b08;
    --og-navy: #142033;
    --og-panel: #ffffff;
    --og-coral: var(--accent, #005eb8);
    --glass: #ffffff;
    --glass-strong: #ffffff;
    --glass-line: #c5d4e8;
    --radius: 2px;
    --radius-xl: 2px;
    background: var(--canvas);
    color: var(--text);
    font-family: "Segoe UI", "Plus Jakarta Sans", system-ui, sans-serif;
}

body.pulse :focus-visible,
body.auth-page :focus-visible,
body.mkt :focus-visible,
body.err-page :focus-visible {
    outline: 2px solid var(--focus);
    outline-offset: 2px;
}

/* --- Type and links --- */
body.pulse h1,
body.pulse h2,
body.pulse h3,
body.pulse h4,
body.auth-page h1,
body.auth-page h2,
body.mkt h1,
body.mkt h2 {
    color: var(--text);
}

body.pulse .pulse-pagehead h1 { font-size: 2rem; line-height: 1.2; font-weight: 650; letter-spacing: -0.02em; }

body.pulse a,
body.auth-login a,
body.auth-page a { color: var(--accent, #005eb8); }
body.pulse a:hover,
body.auth-login a:hover { color: var(--focus); }

body.pulse .muted,
body.pulse .form-help,
body.pulse .eyebrow,
body.pulse label,
body.auth-login .muted,
body.auth-login .label,
body.auth-login .auth-card .muted { color: var(--muted); }

/* --- Shell --- */
body.pulse .main,
body.pulse .pulse-main,
body.pulse .crm-body,
body.pulse .content { background: transparent; color: var(--text); }

body.pulse .crm-rail,
body.pulse .portal-nav,
body.mkt .mkt-rail {
    background: var(--panel-2);
    color: var(--text);
    border-right: 1px solid var(--line);
}

body.pulse .crm-rail-brand-copy strong,
body.pulse .crm-rail-user-copy strong,
body.pulse .portal-nav-brand-copy strong,
body.pulse .portal-nav-user-copy strong,
body.mkt .mkt-rail .mkt-logo,
body.mkt .mkt-rail .mkt-logo-text strong { color: var(--text); }

body.pulse .crm-rail-brand-copy em,
body.pulse .portal-nav-brand-copy em { color: var(--accent, #005eb8); font-weight: 650; }

body.pulse .crm-rail-user-copy em,
body.pulse .portal-nav-user-copy em,
body.pulse .crm-rail-sec,
body.pulse .portal-nav-sec,
body.mkt .mkt-rail-sec { color: var(--muted); }

body.pulse .crm-rail-sec::before,
body.pulse .portal-nav-sec::before,
body.pulse .pulse-drawer .drawer-sec::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-right: 8px;
    background: var(--sec, var(--accent, #005eb8));
    vertical-align: 1px;
}

body.pulse .crm-rail-sec:nth-of-type(4n+1),
body.pulse .portal-nav-sec:nth-of-type(4n+1),
body.pulse .pulse-drawer .drawer-sec:nth-of-type(4n+1) { --sec: #005eb8; color: #005eb8; }
body.pulse .crm-rail-sec:nth-of-type(4n+2),
body.pulse .portal-nav-sec:nth-of-type(4n+2),
body.pulse .pulse-drawer .drawer-sec:nth-of-type(4n+2) { --sec: #0a6e58; color: #0a6e58; }
body.pulse .crm-rail-sec:nth-of-type(4n+3),
body.pulse .portal-nav-sec:nth-of-type(4n+3),
body.pulse .pulse-drawer .drawer-sec:nth-of-type(4n+3) { --sec: #8f4e00; color: #8f4e00; }
body.pulse .crm-rail-sec:nth-of-type(4n+4),
body.pulse .portal-nav-sec:nth-of-type(4n+4),
body.pulse .pulse-drawer .drawer-sec:nth-of-type(4n+4) { --sec: #5b3d99; color: #5b3d99; }

body.pulse .crm-rail-head,
body.pulse .crm-rail-foot,
body.pulse .portal-nav-brand,
body.pulse .portal-nav-foot,
body.mkt .mkt-rail .mkt-logo { border-color: #c5d4e8; }

body.pulse .intel-nav-item,
body.pulse .crm-rail .intel-nav-item,
body.pulse .portal-nav-link,
body.pulse .intel-sublink,
body.mkt .mkt-rail a.intel-nav-item {
    color: var(--text);
    background: transparent;
    border-left: 3px solid transparent;
    border-radius: 2px;
    margin: 0;
    box-shadow: none;
    min-height: 40px;
}

body.pulse .intel-nav-item:hover,
body.pulse .crm-rail .intel-nav-item:hover,
body.pulse .portal-nav-link:hover,
body.pulse .intel-sublink:hover,
body.mkt .mkt-rail a.intel-nav-item:hover {
    background: var(--blue-bg);
    color: var(--text);
}

body.pulse .intel-nav-item.active,
body.pulse .intel-nav-item.is-on,
body.pulse .crm-rail .intel-nav-item.active,
body.pulse .portal-nav-link.is-on,
body.pulse .intel-sublink.active {
    background: var(--blue-bg);
    color: var(--accent, #005eb8);
    box-shadow: inset 3px 0 0 var(--accent, #005eb8);
}

body.pulse .intel-branch-panel { border-left-color: #c5d4e8; }

body.pulse .crm-rail-pin,
body.pulse .crm-logout button,
body.pulse .portal-nav-logout,
body.pulse .win-start {
    background: var(--panel);
    color: var(--text);
    border: 1px solid var(--line);
    border-radius: 2px;
}

body.pulse .crm-rail-pin:hover,
body.pulse .win-start:hover { background: var(--blue-bg); color: var(--text); }
body.pulse .crm-logout button:hover,
body.pulse .portal-nav-logout:hover {
    background: var(--og-dk-crit, #fde8e8);
    color: #9b1c1c;
    border-color: #9b1c1c;
}

body.pulse .crm-rail .user-avatar,
body.pulse .portal-nav .user-avatar,
body.pulse .user-avatar,
body.pulse .brand-mark.pulse-mark,
body.pulse .pf-mark,
body.pulse .crm-rail .brand-mark.pulse-mark,
body.pulse .portal-nav .brand-mark.pulse-mark {
    background: var(--accent, #005eb8);
    color: #ffffff;
    box-shadow: none;
    border-radius: 2px;
}

body.pulse .crm-top.pulse-mast,
body.pulse .pulse-mast {
    position: sticky;
    margin: 0;
    padding: 8px 16px 11px;
    background: var(--panel);
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

body.pulse .crm-top.pulse-mast::after,
body.pulse .pulse-mast::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--accent, #005eb8) 0 28%, #0a6e58 28% 52%, #8f4e00 52% 74%, #5b3d99 74% 100%);
}

body.pulse .pf-path {
    background: transparent;
    border-radius: 0;
    color: var(--text);
    padding: 0;
}
body.pulse .pf-path span { color: var(--muted); }

body.pulse .crm-search,
body.pulse .win-search input {
    background: var(--blue-bg);
    border: 1px solid var(--line);
    border-radius: 2px;
    color: var(--text);
    box-shadow: none;
}
body.pulse .crm-search input,
body.pulse .win-search input { color: var(--text); }
body.pulse .crm-search input::placeholder { color: var(--muted); }

body.pulse .pf-updated,
body.pulse .pf-updated strong { color: var(--muted); }
body.pulse .pf-refresh,
body.pulse .pulse-ico-btn,
body.pulse .crm-rail .pulse-ico-btn {
    width: auto;
    min-width: 40px;
    height: 40px;
    border-radius: 2px;
    background: var(--panel);
    color: var(--text);
    border: 1px solid var(--line);
}
body.pulse .crm-rail .pulse-ico-btn { width: 100%; border: 0; background: transparent; }

body.pulse .sidebar.pulse-drawer {
    background: var(--panel-2);
    color: var(--text);
    border-right: 1px solid var(--line);
}
body.pulse .pulse-drawer .nav-link,
body.pulse .pulse-drawer .nav-group-toggle { color: var(--text); }
body.pulse .pulse-drawer .nav-link:hover,
body.pulse .pulse-drawer .nav-link.active,
body.pulse .pulse-drawer .nav-group-toggle:hover,
body.pulse .pulse-drawer .nav-group-toggle.is-current {
    background: var(--blue-bg);
    color: var(--accent, #005eb8);
}

/* --- Surfaces --- */
body.pulse .card,
body.pulse .card.glass,
body.pulse .table,
body.pulse .panel,
body.pulse .probe-hero,
body.pulse .enroll-pane,
body.pulse .enroll-steps,
body.pulse .case-card,
body.pulse .fleet-row,
body.pulse .cc-meter,
body.pulse .cc-stat,
body.pulse .cc-hero,
body.pulse .cc-hero.glass,
body.pulse .pf-mini,
body.pulse .pf-card,
body.pulse .web-check-card,
body.pulse .pack-card,
body.pulse .account-prefs,
body.pulse .empty,
body.pulse .modal,
body.auth-page .auth-card,
body.auth-login .auth-card {
    background: var(--panel);
    color: var(--text);
    border: 1px solid var(--line);
    border-radius: 2px;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

body.pulse .kpi:nth-child(4n+1),
body.pulse .pf-mini:nth-child(4n+1),
body.pulse .mod-stats .card:nth-child(4n+1),
body.pulse .cc-stat:nth-child(4n+1) { background: var(--blue-bg); box-shadow: inset 0 3px 0 #005eb8; }
body.pulse .kpi:nth-child(4n+2),
body.pulse .pf-mini:nth-child(4n+2),
body.pulse .mod-stats .card:nth-child(4n+2),
body.pulse .cc-stat:nth-child(4n+2) { background: var(--og-dk-warn, #fff3dc); box-shadow: inset 0 3px 0 #8f4e00; }
body.pulse .kpi:nth-child(4n+3),
body.pulse .pf-mini:nth-child(4n+3),
body.pulse .mod-stats .card:nth-child(4n+3),
body.pulse .cc-stat:nth-child(4n+3) { background: var(--og-dk-violet, #f1ebf8); box-shadow: inset 0 3px 0 #5b3d99; }
body.pulse .kpi:nth-child(4n+4),
body.pulse .pf-mini:nth-child(4n+4),
body.pulse .mod-stats .card:nth-child(4n+4),
body.pulse .cc-stat:nth-child(4n+4) { background: var(--og-dk-ok, #e3f6f0); box-shadow: inset 0 3px 0 #0a6e58; }

body.pulse .pf-hello,
body.pulse .pf-figure,
body.pulse .pf-mini strong,
body.pulse .pf-kicker,
body.pulse .pf-changes span,
body.pulse .pf-legend li,
body.pulse .pf-note,
body.pulse .pf-empty,
body.pulse .pf-more,
body.pulse .pf-vbars em,
body.pulse .pf-groups em { color: var(--text); }
body.pulse .pf-kicker,
body.pulse .pf-changes span,
body.pulse .pf-mini span,
body.pulse .pf-empty,
body.pulse .pf-more,
body.pulse .pf-donut em { color: var(--muted); }
body.pulse .pf-donut span { background: var(--panel); color: var(--text); }
body.pulse .pf-work .pf-figure,
body.pulse .pf-work .pf-figure a { color: var(--accent, #005eb8); }
body.pulse .pf-work-item,
body.pulse .pf-work-foot { border-color: var(--line); }
body.pulse .pf-work .btn {
    min-height: 0;
    height: auto;
    padding: 0.22rem 0.6rem;
    font-size: 0.75rem;
}
body.pulse .pf-row { border-top-color: #c5d4e8; color: var(--text); }
body.pulse .card.scan-hero { background: var(--panel); }

/* --- Controls --- */
body.pulse .btn,
body.auth-page .btn,
body.auth-login .btn,
body.mkt .mkt-btn {
    min-height: 40px;
    border-radius: 2px;
    background: var(--panel);
    color: var(--text);
    border: 1px solid var(--line);
    box-shadow: none;
}

body.pulse .btn.primary,
body.pulse .btn.pulse-gold,
body.auth-page .btn.primary,
body.auth-login .btn.primary,
.btn.pulse-gold,
body.mkt .mkt-btn-solid,
body.mkt .mkt-hero .mkt-btn-solid {
    background: var(--accent, #005eb8);
    border-color: var(--accent, #005eb8);
    color: #ffffff;
    box-shadow: none;
}
body.pulse .btn.primary:hover,
body.pulse .btn.pulse-gold:hover,
body.auth-page .btn.primary:hover,
body.auth-login .btn.primary:hover,
.btn.pulse-gold:hover,
body.mkt .mkt-btn-solid:hover,
body.mkt .mkt-hero .mkt-btn-solid:hover {
    filter: brightness(1.08);
    color: #ffffff;
}

body.pulse .btn.ghost,
body.auth-login .btn.ghost {
    background: var(--panel);
    color: var(--text);
    border: 1px solid var(--line);
}
body.pulse .btn.danger { background: #9b1c1c; border-color: #9b1c1c; color: #ffffff; }
body.pulse .btn:disabled,
body.pulse .btn[disabled] { background: var(--og-dk-neutral, #e4ebf3); color: var(--muted); border-color: #e4ebf3; }

body.pulse .chip,
body.pulse .chip.ok,
body.pulse .chip.warn,
body.pulse .chip.danger,
body.pulse .chip.info {
    border-radius: 2px;
    font-weight: 650;
    text-transform: none;
    letter-spacing: 0;
}
body.pulse .chip.ok { color: #0d6b3d; background: #d8f5e6; border-color: #d8f5e6; }
body.pulse .chip.warn { color: #8a4b08; background: var(--og-dk-warn, #fff1d6); border-color: #fff1d6; }
body.pulse .chip.danger { color: #9b1c1c; background: var(--og-dk-crit, #fde8e8); border-color: #fde8e8; }
body.pulse .chip.info { color: #0b4f86; background: var(--og-dk-info, #e3f1fb); border-color: #e3f1fb; }

body.pulse input[type=text],
body.pulse input[type=email],
body.pulse input[type=password],
body.pulse input[type=search],
body.pulse input[type=number],
body.pulse input[type=url],
body.pulse input[type=date],
body.pulse input[type=datetime-local],
body.pulse input[type=time],
body.pulse input[type=tel],
body.pulse input[type=file],
body.pulse textarea,
body.pulse select,
body.auth-page input[type=text],
body.auth-page input[type=email],
body.auth-page input[type=password],
body.auth-login input[type=text],
body.auth-login input[type=email],
body.auth-login input[type=password] {
    background: var(--panel);
    color: var(--text);
    border: 1px solid var(--line);
    border-radius: 2px;
    box-shadow: none;
    min-height: 40px;
}
body.pulse textarea { min-height: 96px; }
body.pulse .filters .btn,
body.pulse .doc-actions .btn { min-height: 36px; width: auto; }
body.pulse .filters select,
body.pulse .filters input[type=text],
body.pulse .filters input[type=search],
body.pulse .filters input[type=date] { width: auto; min-width: 11rem; max-width: 20rem; }
body.pulse input::placeholder,
body.pulse textarea::placeholder,
body.auth-login input::placeholder { color: var(--muted); opacity: 1; }
body.pulse .field.is-invalid input,
body.pulse input.is-invalid,
body.pulse .form-error { color: #9b1c1c; }
body.pulse input.is-invalid,
body.pulse .is-invalid input { border-color: #9b1c1c; }

body.pulse .table,
body.pulse table { background: var(--panel); color: var(--text); }
body.pulse .table thead th,
body.pulse table thead th,
body.pulse th {
    background: var(--blue-bg);
    color: #0b4f86;
    border-bottom: 1px solid var(--line);
    text-transform: none;
    letter-spacing: 0;
}
body.pulse .table td,
body.pulse table td,
body.pulse td { color: var(--text); border-bottom: 1px solid var(--line); }
body.pulse .table tbody tr { border-bottom-color: #c5d4e8; }

body.pulse .flash,
body.pulse .alert,
body.pulse .mod-alert {
    border-radius: 2px;
    border: 1px solid var(--line);
    border-left: 4px solid #9b1c1c;
    background: var(--og-dk-crit, #fde8e8);
    color: #9b1c1c;
}
body.pulse .flash.success { border-left-color: #0d6b3d; background: #d8f5e6; color: #0d6b3d; }
body.pulse .flash.info,
body.pulse .alert.info { border-left-color: #0b4f86; background: var(--og-dk-info, #e3f1fb); color: #0b4f86; }
body.auth-login .flash.success { background: #d8f5e6; color: #0d6b3d; border: 1px solid #d8f5e6; }
body.pulse .form-error,
body.auth-login .form-error { color: #9b1c1c; }

body.pulse .pagination a,
body.pulse .pagination span {
    border-radius: 2px;
    border: 1px solid var(--line);
    background: var(--panel);
    color: var(--text);
}
body.pulse .pagination .active span {
    background: var(--accent, #005eb8);
    border-color: var(--accent, #005eb8);
    color: #ffffff;
}

body.pulse .empty { border-style: dashed; }
body.pulse .modal-backdrop { background: rgba(20, 32, 51, 0.45); }

body.pulse code,
body.pulse pre,
body.pulse .secret-panel code {
    background: var(--panel-2);
    color: var(--text);
    border: 1px solid var(--line);
    border-radius: 2px;
}
body.pulse .secret-panel { background: var(--og-dk-warn, #fff3dc); border-color: #8f4e00; color: var(--text); }

/* --- Desks, launcher, home widgets --- */
body.pulse .mod-set { border-color: #c5d4e8; border-radius: 2px; }
body.pulse .mod-set legend,
body.pulse .mod-stats span { color: var(--muted); }
body.pulse .mod-shot { background: var(--canvas); border-radius: 2px; }

body.pulse .win-group h2 { color: var(--text); }
body.pulse .win-group:nth-of-type(7n+1) h2 { color: #005eb8; }
body.pulse .win-group:nth-of-type(7n+2) h2 { color: #0a6e58; }
body.pulse .win-group:nth-of-type(7n+3) h2 { color: #9d3048; }
body.pulse .win-group:nth-of-type(7n+4) h2 { color: #8f4e00; }
body.pulse .win-group:nth-of-type(7n+5) h2 { color: #5b3d99; }
body.pulse a.win-tile,
body.pulse .win-tile {
    align-items: flex-start;
    text-align: left;
    background: var(--panel);
    color: var(--text);
    border: 1px solid var(--line);
    border-top: 3px solid var(--accent, #005eb8);
    border-radius: 2px;
}
body.pulse a.win-tile:hover,
body.pulse .win-tile:hover { color: var(--text); border-color: var(--accent, #005eb8); text-decoration: none; }
body.pulse .win-glyph { background: var(--blue-bg); color: var(--accent, #005eb8); border-radius: 2px; }
body.pulse .win-hint,
body.pulse .win-empty { color: var(--muted); }
body.pulse .win-pin,
body.pulse .win-clear,
body.pulse .win-jump a span { color: var(--muted); }
body.pulse .win-cell.is-pinned .win-pin { color: var(--accent, #005eb8); }
body.pulse .win-pin:hover { background: var(--blue-bg); }
body.pulse .win-tile:focus-visible,
body.pulse .win-pin:focus-visible { outline-color: var(--accent, #005eb8); }
body.pulse .win-jump a { color: var(--text); background: var(--panel); border-color: #c5d4e8; border-radius: 2px; }
body.pulse .win-jump a:hover { border-color: var(--accent, #005eb8); }
body.pulse .page-head kbd { color: var(--text); background: var(--panel); border-color: #c5d4e8; }

body.pulse .portal-bot-fab { color: #ffffff; border-radius: 2px; }
body.pulse .portal-bot-panel { border-radius: 2px; background: var(--panel); color: var(--text); }

/* --- Auth --- */
body.auth-page,
body.auth-login { background: var(--canvas); }
body.auth-login .auth-brand,
body.auth-page .auth-brand {
    background: var(--panel-2);
    color: var(--text);
    border-right: 1px solid var(--line);
}
body.auth-login .auth-brand h1,
body.auth-page .auth-brand h1,
body.auth-login .auth-brand-logo,
body.auth-page .auth-brand-logo { color: var(--text); }
body.auth-login .auth-brand p,
body.auth-login .auth-brand ul,
body.auth-page .auth-brand p { color: var(--muted); }
body.auth-login .auth-kicker,
body.auth-page .auth-kicker,
body.auth-login .auth-brand-logo em { color: var(--accent, #005eb8); }
body.auth-login .auth-links a,
body.auth-login .auth-reveal { color: var(--accent, #005eb8); }
body.auth-page .brand-mark { background: var(--accent, #005eb8); color: #ffffff; border-radius: 2px; }

/* --- Marketing --- */
body.mkt { background: var(--canvas); color: var(--text); }
body.mkt a { color: var(--accent, #005eb8); }
body.mkt .mkt-nav,
body.mkt .mkt-drawer { background: var(--panel); color: var(--text); border-color: #c5d4e8; }
body.mkt .mkt-drawer a,
body.mkt .mkt-links a,
body.mkt .mkt-menu { color: var(--text); }
body.mkt .mkt-hero {
    color: #ffffff;
    background: linear-gradient(165deg, #003d73 0%, #005eb8 62%, #0a6e58 130%);
}
body.mkt .mkt-hero h1,
body.mkt .mkt-hero .mkt-kicker { color: #ffffff; }
body.mkt .mkt-hero .mkt-kicker:before { background: var(--panel); }
body.mkt .mkt-hero a.mkt-btn-ghost,
body.mkt .mkt-hero .mkt-btn-ghost { color: #ffffff; border-color: rgba(255, 255, 255, 0.45); }
body.mkt .mkt-foot,
body.mkt .og-foot-marketing {
    background: var(--panel-2);
    color: var(--muted);
    border-top: 3px solid var(--accent, #005eb8);
}
body.mkt .mkt-foot-brand,
body.mkt .og-foot-marketing .og-foot-brand,
body.mkt .mkt-foot a,
body.mkt .og-foot-marketing .og-foot-nav a { color: var(--text); }
body.mkt .mkt-foot a:hover,
body.mkt .og-foot-marketing .og-foot-nav a:hover { color: var(--accent, #005eb8); }

body.pulse .og-foot,
body.auth-page .og-foot,
body.auth-page .og-foot-auth,
.og-foot-auth {
    background: var(--panel-2);
    color: var(--muted);
    border-top: 3px solid var(--accent, #005eb8);
}
body.auth-page .og-foot-auth .og-foot-brand,
.og-foot-auth .og-foot-brand,
.og-foot-auth .og-foot-meta,
.og-foot-auth .og-foot-dot { color: var(--text); }
.og-foot-auth .og-foot-mark { background: var(--accent, #005eb8); color: #ffffff; }

/* --- Errors and narrow targets --- */
body.err-page { background: var(--canvas); color: var(--text); }
body.err-page .btn.primary { background: var(--accent, #005eb8); color: #ffffff; border-radius: 2px; }

/* Cascade locks: these match later, more specific rules in app.css. */

body.pulse .pulse-pagehead h1,
body.pulse .case-card h3,
body.pulse .probe-hero h2,
body.pulse .quiet h3,
body.pulse .sd-row strong,
body.pulse .pack-card strong,
body.auth-login .auth-card h2,
body.auth-login .auth-brand h1,
body.auth-login .auth-brand-logo,
body.auth-login .auth-brand-logo:hover {
    color: var(--text);
}

body.pulse label > .label,
body.auth-login .label,
body.pulse .tv-resolve h3,
body.pulse .tv-override h3,
body.pulse .tv-resolve li,
body.pulse .label-design-card strong,
body.pulse .tv-mark strong,
body.pulse .label-design-card span,
body.pulse .tv-mark p,
body.pulse .label-live-pane h3,
body.pulse .case-no,
body.pulse .scan-fix-label,
body.pulse .sd-fix {
    color: var(--muted);
}

body.pulse .crm-rail .intel-sublink,
body.pulse .crm-rail .intel-branch-panel a.intel-sublink,
body.pulse .nav-link {
    color: var(--text);
    background: transparent;
    box-shadow: none;
    opacity: 1;
    font-weight: 600;
}
body.pulse .crm-rail .intel-sublink:hover,
body.pulse .crm-rail .intel-branch-panel a.intel-sublink:hover,
body.pulse .nav-link:hover,
body.pulse .feed-row:hover,
body.pulse .case-card:hover {
    background: var(--blue-bg);
    color: var(--text);
}
body.pulse .crm-rail .intel-sublink.active,
body.pulse .crm-rail .intel-branch-panel a.intel-sublink.active,
body.pulse .nav-link.active {
    background: var(--blue-bg);
    color: var(--accent, #005eb8);
    box-shadow: inset 3px 0 0 var(--accent, #005eb8);
}

body.pulse .tv-resolve,
body.pulse .tv-override,
body.pulse .tv-mark,
body.pulse .label-design-card,
body.pulse .label-live-pane,
body.pulse .choice-pills label,
body.pulse .sd-row,
body.pulse .feed-row,
body.pulse .quiet {
    background: var(--panel);
    color: var(--text);
    border-color: #c5d4e8;
}
body.pulse .label-design-card.is-on,
body.pulse .pack-card.is-active,
body.pulse .pack-card:has(input:checked) {
    background: var(--blue-bg);
    border-color: var(--accent, #005eb8);
    box-shadow: inset 0 3px 0 var(--accent, #005eb8);
    color: var(--text);
}
body.pulse .enroll-step.is-on i { color: #ffffff; }
body.pulse textarea.scan-fix-script,
textarea.scan-fix-script {
    color: var(--text);
    background: var(--panel);
    border-color: #c5d4e8;
}

body.auth-login .auth-split,
body.auth-login .auth-panel,
body.auth-login .auth-brand {
    background: var(--canvas);
    color: var(--text);
}
body.auth-login .auth-links a,
body.auth-login .auth-reveal,
body.auth-login .auth-kicker,
body.auth-login .auth-brand-logo em {
    color: var(--accent, #005eb8);
}
body.auth-login .brand-mark {
    background: var(--accent, #005eb8);
    color: #ffffff;
}
body.auth-login .auth-check {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
}
body.auth-login .auth-check label { color: var(--text); font-weight: 600; cursor: pointer; }
body.auth-login .auth-reveal:focus-visible,
body.auth-login .auth-check input:focus-visible {
    outline: 2px solid var(--accent, #005eb8);
    outline-offset: 2px;
}
body.auth-login .auth-divider {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    color: var(--muted);
    font-size: 0.8rem;
}
body.auth-login .auth-divider:before,
body.auth-login .auth-divider:after {
    content: "";
    flex: 1;
    border-top: 1px solid var(--line);
}
body.auth-login .auth-landing { display: grid; gap: 0.75rem; margin: 1.4rem 0 0; }
body.auth-login .auth-landing div { border-top: 1px solid var(--line); padding-top: 0.6rem; }
body.auth-login .auth-landing dt { color: var(--accent, #005eb8); font-weight: 700; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.04em; }
body.auth-login .auth-landing dd { margin: 0.15rem 0 0; color: var(--muted); }
body.auth-login .flash.error {
    background: #fdecec;
    color: #8f2424;
    border: 1px solid #f0c4c4;
}
body.auth-login .form-error { color: #c23b3b; }
body.auth-login input[aria-invalid="true"] { border-color: #c23b3b; }
@media (max-width: 900px) {
    body.auth-login .auth-landing { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    body.auth-login .auth-landing { display: none; }
    body.auth-login .auth-brand h1 { font-size: 1.35rem; }
    body.auth-login .auth-card { padding: 1.1rem; }
    body.auth-login .auth-links { flex-direction: column; align-items: flex-start; }
}

body.pulse .web-check-card.hue-gold,
body.pulse .web-check-card.hue-amber { background: var(--og-dk-warn, #fff3dc); border-color: #e7d3a8; }
body.pulse .web-check-card.hue-cyan,
body.pulse .web-check-card.hue-sky,
body.pulse .web-check-card.hue-blue,
body.pulse .web-check-card.hue-teal { background: var(--blue-bg); border-color: #b9d4ee; }
body.pulse .web-check-card.hue-indigo,
body.pulse .web-check-card.hue-violet { background: var(--og-dk-violet, #f1ebf8); border-color: #d9ccee; }
body.pulse .web-check-card.hue-emerald { background: var(--og-dk-ok, #e3f6f0); border-color: #b7e4d8; }
body.pulse .web-check-card.hue-rose,
body.pulse .web-check-card.hue-crimson { background: var(--og-dk-crit, #fdecef); border-color: #f3c9d0; }
body.pulse .web-check-card.hue-slate { background: var(--panel); border-color: #c5d4e8; }

body.mkt .mkt-band,
body.mkt .mkt-close {
    background: linear-gradient(165deg, #003d73 0%, #005eb8 70%, #0a6e58 130%);
    color: #ffffff;
}
body.mkt .mkt-band h2,
body.mkt .mkt-close h2,
body.mkt .mkt-steps h3 { color: #ffffff; }
body.mkt .mkt-steps article { background: rgba(255, 255, 255, 0.12); border-color: rgba(255, 255, 255, 0.28); }
body.mkt .mkt-badge,
body.mkt .mkt-trust-frame { background: #142033; color: #ffffff; }

body.pulse .breadcrumbs,
body.pulse .breadcrumbs span,
body.pulse .breadcrumbs .sep,
body.pulse .crumb,
body.pulse .eyebrow,
body.pulse .page-head .eyebrow {
    color: var(--text);
    opacity: 1;
}
body.pulse .breadcrumbs a,
body.pulse .eyebrow a,
body.pulse .page-head .eyebrow a {
    color: #0b4f86;
    opacity: 1;
    font-weight: 650;
}
body.pulse .breadcrumbs .sep { opacity: 1; }

@media (max-width: 840px) {
    body.pulse .btn,
    body.pulse .rail button,
    body.pulse input,
    body.pulse select,
    body.pulse textarea,
    body.pulse .portal-nav-link,
    body.pulse .intel-nav-item { min-height: 44px; }
}

/* Agent fleet cards. Scoped so Cloudflare and cost-center rows keep the old grid. */
body.pulse .fleet-card {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.85rem;
    padding: 1rem 1.1rem;
}
body.pulse .fleet-card .fleet-top {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    gap: 0.85rem;
    align-items: center;
}
body.pulse .fleet-card .fleet-host { font-size: 1.05rem; letter-spacing: -0.02em; }
body.pulse .fleet-card .fleet-host a { color: var(--ink-strong, #0b1f44); }
body.pulse .fleet-card .fleet-status {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.45rem;
    flex-wrap: wrap;
}
body.pulse .fleet-card .fleet-status .seen { width: 9rem; }
body.pulse .fleet-card .fleet-meters {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.55rem;
}
body.pulse .fleet-card .fleet-meter {
    background: var(--og-dk-neutral, #f4f8fc);
    border: 1px solid var(--line);
    border-radius: 2px;
    padding: 0.5rem 0.7rem 0.55rem;
}
body.pulse .fleet-card .fleet-meter span {
    display: block;
    font-size: 0.68rem;
    font-weight: 650;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--muted);
}
body.pulse .fleet-card .fleet-meter strong {
    display: block;
    margin: 0.15rem 0 0.4rem;
    font-family: "IBM Plex Mono", ui-monospace, monospace;
    font-size: 1.05rem;
    font-weight: 500;
    color: var(--ink-strong, #0b1f44);
}
body.pulse .fleet-card .fleet-meter .seen-bar { height: 6px; background: var(--og-dk-neutral, #e4ebf3); }
body.pulse .fleet-card .fleet-meter .seen-bar i { width: 0; }
body.pulse .fleet-card .fleet-foot {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}
body.pulse .fleet-card .fleet-tags,
body.pulse .fleet-card .fleet-actions {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: wrap;
}
body.pulse .fleet-card .fleet-tags { flex: 1; min-width: 12rem; }
@media (max-width: 980px) {
    body.pulse .fleet-card { display: flex; }
    body.pulse .fleet-card .seen { display: block; }
    body.pulse .fleet-card .fleet-top { grid-template-columns: 40px minmax(0, 1fr); }
    body.pulse .fleet-card .fleet-status { grid-column: 1 / -1; justify-content: flex-start; }
    body.pulse .fleet-card .fleet-meters { grid-template-columns: 1fr; }
}

/* --- Host strip: Trust, Site, Web Check for one host --- */
body.pulse .host-strip {
    display: grid;
    grid-template-columns: minmax(10rem, auto) minmax(0, 1fr) auto;
    align-items: stretch;
    gap: 0.75rem;
    margin: 0 0 1rem;
    padding: 0.65rem 0.75rem;
    background: var(--panel);
    border: 1px solid var(--line);
    border-left: 3px solid #005eb8;
    border-radius: 2px;
}
body.pulse .host-strip-head { display: flex; flex-direction: column; justify-content: center; min-width: 0; }
body.pulse .host-strip-head strong { font-size: 0.95rem; color: var(--ink-strong, #0b1f44); overflow-wrap: anywhere; }
body.pulse .host-strip-kicker,
body.pulse .host-strip-name {
    font-size: 0.68rem;
    font-weight: 650;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--muted);
}
body.pulse .host-strip-products {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
body.pulse .host-strip-products li { min-width: 0; }
body.pulse .host-strip-products li > a,
body.pulse .host-strip-products li.is-current {
    display: grid;
    gap: 0.2rem;
    height: 100%;
    padding: 0.45rem 0.6rem;
    border: 1px solid #e5eef8;
    border-radius: 2px;
    color: var(--text);
    text-decoration: none;
    background: var(--og-dk-neutral, #f4f8fc);
}
body.pulse .host-strip-products li > a:hover,
body.pulse .host-strip-products li > a:focus-visible { border-color: #005eb8; background: var(--blue-bg); }
body.pulse .host-strip-products li.is-current { background: var(--blue-bg); border-color: #005eb8; }
body.pulse .host-strip-products .chip { justify-self: start; }
body.pulse .host-strip-detail { font-size: 0.78rem; color: var(--muted); }
body.pulse .host-strip-next { display: flex; align-items: center; }
@media (max-width: 980px) {
    body.pulse .host-strip { grid-template-columns: 1fr; }
}

/* --- Trust Verified: needs-you queue and output trio --- */
body.pulse .tv-quick {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.6rem;
    margin: 0 0 1rem;
}
body.pulse .tv-quick > p { grid-column: 1 / -1; margin: 0; }
body.pulse .tv-quick a {
    display: grid;
    gap: 0.2rem;
    padding: 0.65rem 0.8rem;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 2px;
    color: var(--text);
    text-decoration: none;
}
body.pulse .tv-quick a:hover,
body.pulse .tv-quick a:focus-visible { border-color: #005eb8; }
body.pulse .tv-quick span { font-size: 0.8rem; color: var(--muted); }
body.pulse .desk-section { margin: 0 0 1.25rem; }
body.pulse .desk-section-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    margin: 0 0 0.5rem;
}
body.pulse .desk-section-head h2 { margin: 0; font-size: 1rem; }
body.pulse .desk-section.needs-you { padding: 0.75rem; background: var(--og-dk-warn, #fff8ea); border: 1px solid #f0d9a8; border-radius: 2px; }
@media (max-width: 760px) {
    body.pulse .tv-quick { grid-template-columns: 1fr; }
}

/* --- Site summary and Web Check host list --- */
body.pulse .site-summary {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    gap: 0.75rem;
    margin: 0 0 1rem;
}
body.pulse .site-families {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));
    gap: 0.5rem;
}
body.pulse .site-family {
    padding: 0.6rem 0.7rem;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 2px;
}
body.pulse .site-family strong {
    display: block;
    font-family: "IBM Plex Mono", ui-monospace, monospace;
    font-size: 1.35rem;
    font-weight: 500;
    color: var(--ink-strong, #0b1f44);
}
body.pulse .site-family span { font-size: 0.75rem; color: var(--muted); }
body.pulse .site-profile dl { display: grid; grid-template-columns: auto 1fr; gap: 0.25rem 0.75rem; margin: 0; }
body.pulse .site-profile dt { color: var(--muted); font-size: 0.8rem; }
body.pulse .site-profile dd { margin: 0; }
body.pulse details.site-all > summary { cursor: pointer; font-weight: 650; padding: 0.5rem 0; }
body.pulse .host-group-meta { display: flex; gap: 0.35rem; flex-wrap: wrap; align-items: center; }
@media (max-width: 980px) {
    body.pulse .site-summary { grid-template-columns: 1fr; }
}

/* --- Verify desk --- */
body.pulse .verify-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
    gap: 0.6rem;
}
body.pulse .verify-product {
    display: grid;
    gap: 0.3rem;
    padding: 0.7rem 0.8rem;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 2px;
}
body.pulse .verify-product.is-off { opacity: 0.6; }
body.pulse .wallet-limit { margin-top: 0.6rem; }
body.pulse .wallet-limit > summary { cursor: pointer; color: #1d4ed8; }
body.pulse .wallet-fx { padding: 0.5rem 0.65rem; background: var(--og-dk-neutral, #f3f7fc); border: 1px solid var(--line); border-radius: 2px; }
body.pulse .verify-product .verify-cost { font-family: "IBM Plex Mono", ui-monospace, monospace; color: var(--ink-strong, #0b1f44); }
body.pulse .verify-photo {
    display: block;
    max-width: 140px;
    max-height: 180px;
    margin: 0 0 0.6rem;
    border: 1px solid var(--line);
    border-radius: 2px;
}
body.pulse .verify-gate {
    padding: 0.75rem;
    margin: 0 0 1rem;
    background: var(--og-dk-warn, #fff8ea);
    border: 1px solid #f0d9a8;
    border-radius: 2px;
}
body.pulse .verify-product.is-locked { background: #fbfcfe; }
body.pulse .verify-preview-link { font-size: 0.8rem; font-weight: 600; }

/* --- Portal checks onboarding --- */
body.pulse .pv-steps {
    list-style: none;
    margin: 0 0 1rem;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
    gap: 0.75rem;
}
body.pulse .pv-step {
    display: flex;
    gap: 0.7rem;
    padding: 0.85rem 0.95rem;
    background: var(--panel);
    border: 1px solid #d7e1ee;
    border-top: 3px solid #94a3b8;
    border-radius: 8px;
}
body.pulse .pv-step.is-done { border-top-color: #16a34a; }
body.pulse .pv-step.is-wait { border-top-color: #d97706; }
body.pulse .pv-step.is-todo { border-top-color: #2563eb; }
body.pulse .pv-step-num {
    flex: none;
    display: grid;
    place-items: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 999px;
    background: var(--og-dk-neutral, #eef2f6);
    color: #334155;
    font-weight: 700;
    font-size: 0.85rem;
}
body.pulse .pv-step.is-done .pv-step-num { background: #dcfce7; color: #166534; }
body.pulse .pv-step-body { display: grid; gap: 0.35rem; align-content: start; justify-items: start; min-width: 0; }
body.pulse .pv-step-body p { margin: 0; }
body.pulse .pv-balance { font-size: 1.35rem; font-weight: 750; color: var(--ink-strong, #0b1f44); }
body.pulse .pv-section { margin: 0 0 1.25rem; }
body.pulse .pv-section-head { flex-wrap: wrap; gap: 0.4rem; align-items: baseline; margin-bottom: 0.25rem; }
body.pulse .pv-section-head h2 { margin: 0; }
body.pulse .pv-amounts { display: flex; flex-wrap: wrap; gap: 0.35rem; }
body.pulse .pv-amount { cursor: pointer; border: 1px solid var(--line); background: var(--og-dk-neutral, #f8fafc); font: inherit; font-size: 0.8rem; }
body.pulse .pv-amount:hover { background: var(--og-dk-info, #e0f2fe); }
body.pulse .pv-requests { list-style: none; margin: 0.85rem 0 0; padding: 0; display: grid; gap: 0.4rem; }
body.pulse .pv-requests li {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.45rem 0;
    border-top: 1px solid #eef2f6;
}
body.pulse .pv-demo-banner {
    padding: 0.7rem 0.9rem;
    margin: 0 0 1rem;
    background: #eff6ff;
    border: 1px dashed #93c5fd;
    border-radius: 8px;
    font-size: 0.85rem;
}
body.pulse .pv-demo-cta { display: grid; gap: 0.35rem; margin-top: 0.75rem; padding-top: 0.75rem; border-top: 1px solid #eef2f6; justify-items: start; }

/* --- Persona Investigation --- */
body.pulse .pi-banner {
    padding: 0.55rem 0.75rem;
    margin: 0 0 1rem;
    font-size: 0.82rem;
    color: #5c1616;
    background: var(--og-dk-crit, #fdf1f1);
    border: 1px solid #ecc4c4;
    border-left: 3px solid #c23b3b;
    border-radius: 2px;
}
body.pulse .pi-subject-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr));
    gap: 0.6rem;
}
body.pulse .pi-subject {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.7rem;
    align-items: start;
    color: inherit;
    text-decoration: none;
}
body.pulse .pi-subject:hover { border-color: #2563c9; }
body.pulse .pi-subject-main { display: grid; gap: 0.3rem; min-width: 0; }
body.pulse .pi-avatar {
    display: inline-grid;
    place-items: center;
    width: 2.4rem;
    height: 2.4rem;
    font-weight: 700;
    font-size: 0.85rem;
    color: #ffffff;
    background: #0b1f44;
    border-radius: 50%;
}
body.pulse .pi-avatar.lg { width: 3.4rem; height: 3.4rem; font-size: 1.1rem; }
body.pulse .pi-hero {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 1rem;
    align-items: start;
}
body.pulse .pi-hero-main { display: grid; gap: 0.35rem; min-width: 0; }
body.pulse .pi-hero-name { font-size: 1.2rem; }
body.pulse .pi-hero-actions { justify-content: flex-end; align-items: flex-start; }
body.pulse .pi-completeness { display: grid; grid-template-columns: minmax(8rem, 16rem) auto; gap: 0.6rem; align-items: center; }
body.pulse .pi-reveal { position: relative; }
body.pulse .pi-reveal > summary,
body.pulse .pi-compose > summary { list-style: none; }
body.pulse .pi-reveal > summary::-webkit-details-marker,
body.pulse .pi-compose > summary::-webkit-details-marker { display: none; }
body.pulse .pi-reveal[open] > form { min-width: 18rem; }

/* --- Verify result: long bureau responses (CIBIL, Experian) --- */
body.pulse .vr-layout {
    display: grid;
    grid-template-columns: minmax(16rem, 22rem) minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}
body.pulse .vr-aside { min-width: 0; }
body.pulse .vr-main { min-width: 0; display: grid; gap: 0.75rem; }
body.pulse .vr-meta dl { grid-template-columns: minmax(5.5rem, auto) minmax(0, 1fr); }
body.pulse .vr-meta dd,
body.pulse .vr-meta dt { min-width: 0; overflow-wrap: anywhere; }
body.pulse .vr-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.35rem 1rem; }
body.pulse .vr-head h2 { margin: 0; }
body.pulse .vr-highlights { display: flex; flex-wrap: wrap; gap: 0.6rem; align-items: stretch; }
body.pulse .vr-highlights .verify-photo { margin: 0; }
body.pulse .vr-highlight {
    display: grid;
    align-content: center;
    gap: 0.15rem;
    min-width: 9rem;
    padding: 0.6rem 0.85rem;
    background: #f3f8fd;
    border: 1px solid var(--line);
    border-left: 3px solid var(--accent, #005eb8);
    border-radius: 2px;
}
body.pulse .vr-highlight strong { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: 1.5rem; font-weight: 600; color: var(--ink-strong, #0b1f44); line-height: 1.1; }
body.pulse .vr-highlight span { font-size: 0.75rem; color: var(--muted); }
body.pulse .vr-tools {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 0.75rem;
    align-items: center;
    padding: 0.55rem 0;
    border-top: 1px solid #dde6f1;
    border-bottom: 1px solid #dde6f1;
    position: sticky;
    top: 3.6rem;
    z-index: 2;
    background: var(--panel);
}
body.pulse .vr-search { flex: 1 1 18rem; margin: 0; }
body.pulse .vr-search input { width: 100%; }
body.pulse .vr-toggle { margin: 0; white-space: nowrap; }
body.pulse .vr-sections { display: grid; gap: 0.5rem; }
body.pulse .vr-section,
body.pulse .vr-group { min-width: 0; border: 1px solid #dde6f1; border-radius: 2px; background: var(--panel); }
body.pulse .vr-section[hidden],
body.pulse .vr-group[hidden],
body.pulse .vr-row[hidden] { display: none; }
body.pulse .vr-section > summary,
body.pulse .vr-group > summary {
    display: flex;
    align-items: baseline;
    gap: 0.6rem;
    padding: 0.55rem 0.75rem;
    cursor: pointer;
    list-style: none;
}
body.pulse .vr-section > summary::-webkit-details-marker,
body.pulse .vr-group > summary::-webkit-details-marker { display: none; }
body.pulse .vr-section > summary::before,
body.pulse .vr-group > summary::before {
    content: "▸";
    color: #5b6b7d;
    font-size: 0.75rem;
    transition: transform 0.12s ease;
}
body.pulse .vr-section[open] > summary::before,
body.pulse .vr-group[open] > summary::before { transform: rotate(90deg); }
body.pulse .vr-section > summary { background: var(--og-dk-neutral, #f5f8fc); font-weight: 650; color: var(--ink-strong, #0b1f44); }
body.pulse .vr-section[open] > summary { border-bottom: 1px solid #dde6f1; }
body.pulse .vr-title { min-width: 0; overflow-wrap: anywhere; }
body.pulse .vr-preview {
    min-width: 0;
    flex: 1 1 auto;
    color: var(--muted);
    font-weight: 400;
    font-size: 0.8125rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
body.pulse .vr-count {
    margin-left: auto;
    flex: none;
    padding: 0 0.45rem;
    border-radius: 999px;
    background: var(--canvas);
    color: var(--muted);
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.5;
}
body.pulse .vr-groups {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 24rem), 1fr));
    gap: 0.5rem;
    padding: 0.6rem;
    align-items: start;
}
body.pulse .vr-group > summary { font-size: 0.875rem; font-weight: 600; }
body.pulse .vr-group[open] > summary { border-bottom: 1px solid #eef2f7; }
body.pulse .vr-rows { margin: 0; padding: 0.15rem 0.75rem 0.4rem; }
body.pulse .vr-row {
    display: grid;
    grid-template-columns: minmax(8rem, 34%) minmax(0, 1fr);
    gap: 0.15rem 0.85rem;
    padding: 0.4rem 0;
    border-bottom: 1px solid #eef2f7;
}
body.pulse .vr-row:last-child { border-bottom: 0; }
body.pulse .vr-row dt { color: var(--muted); font-size: 0.8rem; line-height: 1.35; overflow-wrap: anywhere; }
body.pulse .vr-row dd { margin: 0; min-width: 0; font-size: 0.875rem; color: var(--text); overflow-wrap: anywhere; word-break: break-word; }
body.pulse .vr-sections:not(.show-empty) .vr-row.is-empty { display: none; }
body.pulse .vr-long {
    max-height: 12rem;
    overflow: auto;
    padding: 0.4rem 0.55rem;
    background: var(--og-dk-neutral, #f7f9fc);
    border: 1px solid #e3e9f2;
    border-radius: 2px;
    font-family: "IBM Plex Mono", ui-monospace, monospace;
    font-size: 0.78rem;
    line-height: 1.45;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    word-break: break-all;
}
body.pulse .grid > * { min-width: 0; }
@media (max-width: 1100px) {
    body.pulse .vr-layout { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
    body.pulse .vr-row { grid-template-columns: minmax(0, 1fr); }
    body.pulse .vr-tools { position: static; }
}
body.pulse .pi-sections {
    columns: 24rem 3;
    column-gap: 0.75rem;
}
body.pulse .pi-section {
    display: block;
    break-inside: avoid;
    margin: 0 0 0.75rem;
    min-width: 0;
}
body.pulse .pi-section .card-title { display: flex; gap: 0.5rem; align-items: center; flex-wrap: wrap; }
body.pulse .pi-section .card-title h2 { margin-right: auto; }
body.pulse .pi-section-meter { display: inline-flex; align-items: center; gap: 0.35rem; }
body.pulse .pi-section-meter .meter { width: 3.5rem; }
body.pulse .pi-fields { display: grid; gap: 0.7rem; }
body.pulse .pi-field { min-width: 0; }
body.pulse .pi-field + .pi-field { border-top: 1px solid #eef2f6; padding-top: 0.6rem; }
body.pulse .pi-field-head { display: flex; align-items: center; gap: 0.4rem; margin-bottom: 0.3rem; }
body.pulse .pi-label {
    color: #5b6b7f;
    font-size: 0.72rem;
    font-weight: 650;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
body.pulse .pi-count {
    min-width: 1.25rem;
    padding: 0 0.35rem;
    border-radius: 999px;
    background: var(--og-dk-neutral, #eef2f6);
    color: var(--muted);
    font-size: 0.68rem;
    font-weight: 650;
    text-align: center;
}
body.pulse .pi-values { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.2rem; }
body.pulse .pi-value {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.15rem 0.5rem;
    padding: 0.3rem 0.45rem;
    border-radius: 6px;
    background: var(--og-dk-neutral, #f8fafc);
    min-width: 0;
}
body.pulse .pi-value .pi-body { flex: 1 1 10rem; min-width: 0; font-size: 0.86rem; line-height: 1.4; }
body.pulse .pi-values.mono .pi-body { font-size: 0.82rem; letter-spacing: 0.02em; }
body.pulse .pi-tags { display: inline-flex; flex-wrap: wrap; gap: 0.2rem; margin-left: auto; }
body.pulse .pi-tag {
    display: inline-block;
    padding: 0 0.4rem;
    border-radius: 4px;
    background: #e9eef4;
    color: #475569;
    font-family: inherit;
    font-size: 0.66rem;
    font-weight: 650;
    line-height: 1.6;
    white-space: nowrap;
    cursor: help;
}
body.pulse .pi-tag.check_result { background: var(--og-dk-info, #e0f2fe); color: #075985; }
body.pulse .pi-tag.check_input { background: var(--og-dk-violet, #ede9fe); color: #5b21b6; }
body.pulse .pi-tag.evidence { background: var(--og-dk-warn, #fef3c7); color: #92400e; }
body.pulse .pi-tag.osint { background: var(--og-dk-violet, #fce7f3); color: #9d174d; }
body.pulse .pi-tag.ok { background: #dcfce7; color: #166534; }
body.pulse .pi-more { margin-top: 0.2rem; }
body.pulse .pi-more > summary { cursor: pointer; font-size: 0.78rem; font-weight: 600; color: #2563eb; padding: 0.2rem 0.45rem; list-style: none; }
body.pulse .pi-more > summary::-webkit-details-marker { display: none; }
body.pulse .pi-more > summary::before { content: '+ '; }
body.pulse .pi-more[open] > summary::before { content: '− '; }
body.pulse .pi-more[open] > summary { margin-bottom: 0.2rem; }
body.pulse .pi-acc { display: block; padding: 0; }
body.pulse .pi-acc > details > summary {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.15rem 0.5rem;
    padding: 0.3rem 0.45rem;
    cursor: pointer;
    list-style: none;
}
body.pulse .pi-acc > details > summary::-webkit-details-marker { display: none; }
body.pulse .pi-acc > details > summary::before { content: '▸'; color: #94a3b8; font-size: 0.7rem; }
body.pulse .pi-acc > details[open] > summary::before { content: '▾'; }
body.pulse .pi-acc .pi-tags .pi-tag { cursor: inherit; }
body.pulse .pi-acc-body { padding: 0.1rem 0.6rem 0.5rem 1.3rem; border-top: 1px dashed #e2e8f0; }
body.pulse .pi-acc-sources { list-style: none; margin: 0.35rem 0 0; padding: 0; display: grid; gap: 0.3rem; font-size: 0.8rem; }
body.pulse .pi-acc-sources li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.35rem; }
body.pulse .pi-acc.is-rejected .pi-body { text-decoration: line-through; color: #94a3b8; }
body.pulse .pi-alternates > summary { color: #b45309; }
body.pulse .pi-multi { display: grid; gap: 0.35rem; align-content: start; }
body.pulse .pi-multi-row { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; }
body.pulse .pi-multi-row > input, body.pulse .pi-multi-row > textarea { flex: 1 1 14rem; min-width: 0; }
body.pulse .pi-map { height: 360px; border-radius: 8px; border: 1px solid #e2e8f0; z-index: 0; }
body.pulse .pi-map-legend { display: flex; flex-wrap: wrap; gap: 0.6rem; font-size: 0.78rem; margin-top: 0.4rem; }
body.pulse .pi-map-dot { display: inline-block; width: 0.7rem; height: 0.7rem; border-radius: 50%; margin-right: 0.25rem; vertical-align: -1px; }
body.pulse .pi-reject > summary { list-style: none; cursor: pointer; }
body.pulse .pi-reject > summary::-webkit-details-marker { display: none; }
body.pulse .pi-reject-form { display: grid; gap: 0.35rem; min-width: 16rem; max-width: 22rem; margin-top: 0.4rem; padding: 0.6rem; border: 1px solid #fecaca; border-radius: 8px; background: var(--og-dk-crit, #fff7f7); }
body.pulse .pi-trash { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; }
body.pulse .pi-trash-item { border: 1px dashed #cbd5e1; border-radius: 8px; padding: 0.55rem 0.75rem; background: var(--og-dk-neutral, #f8fafc); }
body.pulse .pi-trash-item > details > summary { cursor: pointer; }
body.pulse .pi-trash-body { margin-top: 0.5rem; }
body.pulse .pi-empty-sections {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    padding: 0.6rem 0.8rem;
    border: 1px dashed #cbd5e1;
    border-radius: 8px;
    margin-bottom: 0.6rem;
}
body.pulse .pi-empty-sections .btn { margin-left: auto; }
body.pulse .pi-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 0.3rem; margin: 0; }
body.pulse .pi-legend .pi-tag { cursor: default; }
body.pulse .pi-legend .pi-tag:not(:first-child) { margin-left: 0.5rem; }
body.pulse .pi-body { white-space: pre-line; overflow-wrap: anywhere; }
body.pulse .pi-fieldset legend { display: flex; gap: 0.5rem; align-items: center; font-weight: 650; padding: 0 0.25rem; }
body.pulse .pi-fieldset .span-2 { grid-column: 1 / -1; }
body.pulse .pi-src {
    display: inline-block;
    padding: 0.05rem 0.4rem;
    border-radius: 999px;
    background: var(--og-dk-neutral, #f1f5f9);
    color: #475569;
    font-family: inherit;
    font-size: 0.7rem;
    line-height: 1.5;
    white-space: nowrap;
}
body.pulse .pi-src.check_result { background: var(--og-dk-info, #e0f2fe); color: #075985; }
body.pulse .pi-src.check_input { background: var(--og-dk-violet, #ede9fe); color: #5b21b6; }
body.pulse .pi-src.evidence { background: var(--og-dk-warn, #fef3c7); color: #92400e; }
body.pulse .pi-src.osint { background: var(--og-dk-violet, #fce7f3); color: #9d174d; }
body.pulse .pi-src.ok { background: #dcfce7; color: #166534; }
body.pulse .pi-export-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.35rem; }
body.pulse .pi-export-list li { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 0.5rem; padding: 0.4rem 0; border-top: 1px solid #eef2f6; }
body.pulse .pi-export-list li:first-child { border-top: 0; }
body.pulse .pi-osint { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.4rem; }
body.pulse .pi-tag-facts { border: 1px dashed #cbd5e1; border-radius: 8px; padding: 0.5rem 0.75rem 0.75rem; display: grid; gap: 0.4rem; }
body.pulse .pi-compose { width: 100%; }
body.pulse .pi-compose[open] > summary { margin-bottom: 0.25rem; }
body.pulse .pi-timeline { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.6rem; }
body.pulse .pi-entry {
    padding: 0.7rem 0.85rem;
    background: var(--panel);
    border: 1px solid #d5e0ee;
    border-left: 3px solid #2563c9;
    border-radius: 2px;
}
body.pulse .pi-entry.is-physical { border-left-color: #c58a12; }
body.pulse .pi-entry .pi-body { margin: 0.4rem 0; }
body.pulse .pi-attachments { margin: 0.4rem 0 0; padding-left: 1.1rem; font-size: 0.85rem; }
body.pulse .pi-products {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr));
    gap: 0.2rem 0.75rem;
    margin: 0;
    padding: 0;
    border: 0;
}
body.pulse .pi-client-links { columns: 3 12rem; margin: 0.5rem 0 0; padding-left: 1.1rem; }
body.pulse .pi-json {
    max-width: 36rem;
    max-height: 22rem;
    overflow: auto;
    margin: 0.4rem 0;
    padding: 0.5rem;
    font-size: 0.75rem;
    background: var(--og-dk-neutral, #f4f7fb);
    border: 1px solid #d5e0ee;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}
body.pulse .form-wide { max-width: 52rem; }
@media (max-width: 760px) {
    body.pulse .pi-hero { grid-template-columns: auto 1fr; }
    body.pulse .pi-hero-actions { grid-column: 1 / -1; justify-content: flex-start; }
}

/* --- Skip Tracer --- */
body.pulse .st-new > summary { cursor: pointer; list-style: none; }
body.pulse .st-new > summary::-webkit-details-marker { display: none; }
body.pulse .st-new[open] > summary { margin-bottom: 0.75rem; }
body.pulse .st-seed { border: 1px dashed #cbd5e1; border-radius: 8px; padding: 0.6rem 0.85rem 0.85rem; display: grid; gap: 0.6rem; }
body.pulse .st-status-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: 0.75rem 1.25rem; align-items: start; }
body.pulse .st-status-grid > div { display: grid; gap: 0.3rem; min-width: 0; }
body.pulse .st-final { border-left: 3px solid #1f8a4c; }
body.pulse .st-final strong { font-size: 1.15rem; }
body.pulse .st-warn { color: #c58a12; }
body.pulse .st-block { display: block; }
body.pulse .st-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, 24rem); gap: 1rem; align-items: start; }
body.pulse .st-main, body.pulse .st-side { min-width: 0; }
body.pulse .st-group { margin: 0.75rem 0 0.35rem; font-size: 0.85rem; }
body.pulse .st-review tr.is-held td { background: var(--og-dk-warn, #fffbeb); }
body.pulse .st-review td .chip + .muted { display: block; margin-top: 0.15rem; }
body.pulse .st-sub { margin: 0.85rem 0 0.35rem; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: #5b6b7f; }
body.pulse .st-flag { padding: 0.45rem 0.6rem; border-radius: 6px; background: var(--og-dk-neutral, #f8fafc); margin-bottom: 0.35rem; }
body.pulse .st-flag.is-warn { background: var(--og-dk-warn, #fffbeb); border-left: 3px solid #c58a12; }
body.pulse .st-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.35rem; }
body.pulse .st-timeline { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; }
body.pulse .st-step { padding: 0.55rem 0.75rem; border: 1px solid #d5e0ee; border-left: 3px solid #2563c9; border-radius: 2px; display: grid; gap: 0.2rem; }
body.pulse .st-step.is-done { border-left-color: #1f8a4c; }
body.pulse .st-step.is-failed { border-left-color: #c23b3b; }
body.pulse .st-step.is-skipped { border-left-color: #94a3b8; }
@media (max-width: 1100px) {
    body.pulse .st-layout { grid-template-columns: minmax(0, 1fr); }
}

body.pulse .pf-donut-vars {
    --c1: #1f8a4c;
    --c2: #2563c9;
    --c3: #c23b3b;
    --c4: #c58a12;
    background: conic-gradient(
        var(--c1) 0 var(--p1, 25%),
        var(--c2) var(--p1, 25%) var(--p2, 50%),
        var(--c3) var(--p2, 50%) var(--p3, 75%),
        var(--c4) var(--p3, 75%) 100%
    );
}
body.pulse .pf-legend i.sw-1 { background: #1f8a4c; }
body.pulse .pf-legend i.sw-2 { background: #2563c9; }
body.pulse .pf-legend i.sw-3 { background: #c23b3b; }
body.pulse .pf-legend i.sw-4 { background: #c58a12; }
body.pulse .sw-ok { background: #1f8a4c; }
body.pulse .sw-warn { background: #c58a12; }
body.pulse .sw-danger { background: #c23b3b; }
body.pulse .pf-vbars span,
body.pulse .pf-groups span { height: var(--h, 8%); }
body.pulse .pf-vbars span.is-up { background: #2563c9; }
body.pulse .pf-vbars span.is-down { background: #c23b3b; }
body.pulse .pf-vbars strong { color: var(--text); }
body.pulse .pf-attention .attention-list > li > a { border-left: 3px solid transparent; padding-left: 0.7rem; }
body.pulse .pf-attention .attention-list > li > a.tone-warn { border-left-color: #c58a12; }
body.pulse .pf-attention .attention-list > li > a.tone-danger { border-left-color: #c23b3b; }
body.pulse .pf-attention .attention-list > li > a.tone-info { border-left-color: #2563c9; }
body.pulse .pf-list .meter { margin: 0.25rem 0 0.5rem; }
body.pulse .w-full { width: 100%; }
body.pulse .form.form-wide { max-width: none; }
body.pulse .tool-pill input[type="radio"] { width: auto; margin: 0; }
body.pulse .minw-12 { min-width: 12rem; }
body.pulse .align-start { align-items: flex-start; }
body.pulse .rule-row { padding: 0.35rem 0; border-top: 1px solid #e2eaf4; }
body.pulse .card > .rule-row { padding: 0.65rem 0; }
body.pulse .rule-row.is-picked { box-shadow: inset 3px 0 0 #2563c9; padding-left: 0.6rem; }
body.pulse label.check-row { flex-direction: row; align-items: center; gap: 0.5rem; }
body.pulse label.check-row input[type="checkbox"] { width: auto; }

/* --- Shared utilities (replace inline style= on desks) --- */
body.pulse .m-0,
body.mkt .m-0,
body.auth-page .m-0 { margin: 0; }
body.pulse .stack-sm > * + * { margin-top: 0.5rem; }
body.pulse .stack-md > * + * { margin-top: 1rem; }
body.pulse .mb-md { margin-bottom: 1rem; }
body.pulse .mt-md { margin-top: 1rem; }
body.pulse .mb-sm { margin-bottom: 0.5rem; }
body.pulse .mt-sm { margin-top: 0.5rem; }
body.pulse .row-wrap { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
body.pulse .row-wrap.between { justify-content: space-between; }
body.pulse .btn-row { display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: center; }
body.pulse .btn-row form { margin: 0; }
body.pulse .form-narrow { max-width: 42rem; }
body.pulse .small { font-size: 0.8rem; }
body.pulse .kv-list {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 0.25rem 0.9rem;
    margin: 0;
}
body.pulse .kv-list dt { color: var(--muted); font-size: 0.8rem; }
body.pulse .kv-list dd { margin: 0; overflow-wrap: anywhere; }
body.pulse details.fold > summary { cursor: pointer; font-weight: 650; padding: 0.4rem 0; }
body.pulse details.fold[open] > summary { margin-bottom: 0.5rem; }

/* --- Stat strip (x-stat-strip) --- */
body.pulse .stat-strip {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
    gap: 0.5rem;
    margin: 0 0 1rem;
    padding: 0;
    list-style: none;
}
body.pulse .stat {
    display: grid;
    gap: 0.15rem;
    padding: 0.6rem 0.75rem;
    background: var(--panel);
    border: 1px solid var(--line);
    border-left: 3px solid var(--line);
    border-radius: 2px;
    color: inherit;
    text-decoration: none;
}
body.pulse a.stat:hover,
body.pulse a.stat:focus-visible { border-color: var(--ink-strong, #0b1f44); }
body.pulse .stat-value {
    font-family: "IBM Plex Mono", ui-monospace, monospace;
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--ink-strong, #0b1f44);
    line-height: 1.15;
}
body.pulse .stat-label { color: var(--muted); font-size: 0.78rem; }
body.pulse .stat.tone-ok { border-left-color: #1f8a4c; }
body.pulse .stat.tone-warn { border-left-color: #c58a12; }
body.pulse .stat.tone-danger { border-left-color: #c23b3b; }
body.pulse .stat.tone-info { border-left-color: #2563c9; }

/* --- Timeline (WebFixer history) --- */
body.pulse .timeline { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; }
body.pulse .timeline li {
    display: grid;
    grid-template-columns: 7.5rem 1fr;
    gap: 0.6rem;
    padding-left: 0.6rem;
    border-left: 2px solid var(--line);
}
body.pulse .timeline time { color: var(--muted); font-size: 0.8rem; }

/* --- Snippet with copy --- */
body.pulse .snippet { position: relative; }
body.pulse .snippet pre {
    margin: 0;
    padding: 0.75rem;
    max-height: 18rem;
    overflow: auto;
    background: var(--og-dk-neutral, #f4f7fb);
    border: 1px solid var(--line);
    border-radius: 2px;
    font-size: 0.8rem;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}
body.pulse .snippet .btn { position: absolute; top: 0.4rem; right: 0.4rem; }

/* --- Bars driven by --v (0-100%) --- */
body.pulse .meter {
    height: 0.45rem;
    background: var(--og-dk-neutral, #e5ecf5);
    border-radius: 2px;
    overflow: hidden;
}
body.pulse .meter > span {
    display: block;
    height: 100%;
    width: var(--v, 0%);
    background: #2563c9;
}
body.pulse .meter.tone-ok > span { background: #1f8a4c; }
body.pulse .meter.tone-warn > span { background: #c58a12; }
body.pulse .meter.tone-danger > span { background: #c23b3b; }

/* --- Needs-attention list (staff home) --- */
body.pulse .attn-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 0.35rem;
}
body.pulse .attn-head h2 { margin: 0; }
body.pulse .attn-lede { margin: 0.25rem 0 0; color: #5c6b80; font-size: 0.85rem; }
body.pulse .attn-head-meta { display: flex; gap: 0.4rem; flex-wrap: wrap; justify-content: flex-end; }
body.pulse .attention-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
body.pulse .attention-list a {
    display: flex;
    justify-content: space-between;
    gap: 0.6rem;
    padding: 0.55rem 0.7rem;
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid #e7eef6;
}
body.pulse .attention-list a:hover,
body.pulse .attention-list a:focus-visible { background: var(--og-dk-neutral, #f4f7fb); }
body.pulse .attention-list .count { font-family: "IBM Plex Mono", ui-monospace, monospace; font-weight: 700; }
body.pulse .attention-list .attn-kicker {
    margin: 0.9rem 0 0.15rem;
    padding: 0 0.15rem;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: #64748b;
}
body.pulse .attention-list .attention-host {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 0.45rem 1rem;
    padding: 0.65rem 0.35rem 0.65rem 0.7rem;
    border-bottom: 1px solid #e7eef6;
    border-left: 3px solid #c23b3b;
}
body.pulse .attention-list .attention-host > a {
    flex: 1 1 16rem;
    min-width: 0;
    display: block;
    border: 0;
    padding: 0;
    line-height: 1.35;
}
body.pulse .attention-list .attention-host > a .muted {
    display: inline;
    margin-left: 0.15rem;
    color: #64748b;
}
body.pulse .attention-list .attention-desk {
    border-left-color: #005eb8;
}
body.pulse .attention-list .attention-host .advisory-tags {
    flex: 1 1 100%;
    margin: 0;
}
body.pulse .attention-list .attention-host .row {
    margin: 0 !important;
    gap: 0.3rem !important;
    flex: 0 1 auto;
    justify-content: flex-end;
}
body.pulse .attention-list .attention-host .btn {
    display: inline-flex;
    width: auto;
    border-bottom: 0;
    padding: 0.2rem 0.5rem;
    white-space: nowrap;
}
body.pulse .attention-list .attn-more a {
    background: var(--og-dk-neutral, #f8fafc);
    color: #334155;
    border-left: 3px solid transparent;
}

/* Persona Investigation desk */
body.pulse.persona-app { background: var(--og-dk-neutral, #f4f7fb); }
body.pulse .pn-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 0.75rem 1.25rem;
    background: #0f2744;
    color: #fff;
}
body.pulse .pn-brand {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    color: inherit;
    text-decoration: none;
}
body.pulse .pn-brand img { height: 1.6rem; }
body.pulse .pn-brand strong { display: block; }
body.pulse .pn-brand em { display: block; font-style: normal; font-size: 0.75rem; opacity: 0.75; }
body.pulse .pn-nav { display: flex; align-items: center; gap: 0.9rem; }
body.pulse .pn-nav a { color: #fff; text-decoration: none; }
body.pulse .pn-main { max-width: 52rem; margin: 0 auto; padding: 1.25rem; display: grid; gap: 1rem; }
body.pulse .pn-head h1 { margin: 0 0 0.25rem; }
body.pulse .pn-lookup .form,
body.pulse .pn-main .form { display: grid; gap: 0.7rem; }
body.pulse .pn-filters { display: flex; gap: 0.5rem; align-items: end; }
body.pulse .pn-subjects { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.4rem; }
body.pulse .pn-subjects li { display: flex; justify-content: space-between; gap: 0.6rem; }
body.pulse .pn-services { display: grid; gap: 0.8rem; }
body.pulse .pn-service { border: 1px solid #e5ecf5; border-radius: 8px; padding: 0.8rem; }
body.pulse .pn-service header { display: flex; justify-content: space-between; gap: 0.6rem; align-items: baseline; }
body.pulse .pn-service h3 { margin: 0; font-size: 1rem; }
body.pulse .pn-sub { margin: 1rem 0 0.4rem; font-size: 0.95rem; }
body.pulse .pn-blocked { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.35rem; }
body.pulse .pn-blocked li { display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: baseline; }
body.pulse .pn-fact { display: grid; gap: 0.15rem; padding: 0.45rem 0; border-bottom: 1px solid #e5ecf5; }
body.pulse .pn-fact-label { font-size: 0.75rem; color: #5c6b80; }
body.pulse .pn-fact-sources { display: flex; flex-wrap: wrap; gap: 0.3rem; }
body.pulse .pn-dossier-actions { display: grid; gap: 0.75rem; margin-top: 0.6rem; }
body.pulse .pn-dossier-actions .form { margin: 0; }
body.pulse .pn-exports { list-style: none; margin: 0.6rem 0 0; padding: 0; display: grid; gap: 0.4rem; }
body.pulse .pn-exports li { display: flex; justify-content: space-between; gap: 0.6rem; align-items: center; }
