:root {
    --ei-bg: #070A12;
    --ei-bg-elevated: #0A0F19;
    --ei-surface: #0D1320;
    --ei-surface-2: #111927;
    --ei-surface-3: #151E2E;
    --ei-border: rgba(143, 164, 204, 0.14);
    --ei-border-strong: rgba(143, 164, 204, 0.24);
    --ei-text: #F7F9FF;
    --ei-muted: #93A0BA;
    --ei-muted-2: #65728C;
    --ei-primary: #2C6C40;
    --ei-primary-2: #5AA36E;
    --ei-cyan: #49B79B;
    --ei-blue: #609DB3;
    --ei-green: #3ECB8B;
    --ei-amber: #FFB84D;
    --ei-red: #FF6178;
    --ei-shadow: 0 26px 70px rgba(0, 0, 0, 0.38);
    --ei-soft-shadow: 0 14px 34px rgba(0, 0, 0, 0.22);
}

html, body {
    min-height: 100%;
    background: var(--ei-bg);
}

body {
    margin: 0;
    color: var(--ei-text);
    font-family: Inter, "Segoe UI Variable", "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;
    font-feature-settings: "ss01" 1, "cv02" 1;
    letter-spacing: -0.008em;
    overflow-x: hidden;
}

/* Inspector drawers own scrolling while open; the page behind them stays fixed. */
html.ei-page-scroll-locked,
body.ei-page-scroll-locked {
    overflow: hidden !important;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background:
        radial-gradient(circle at 72% -10%, rgba(44, 108, 64, 0.14), transparent 34%),
        radial-gradient(circle at 7% 62%, rgba(0, 217, 192, 0.05), transparent 28%),
        linear-gradient(180deg, rgba(255,255,255,0.012), transparent 18%);
}

* {
    box-sizing: border-box;
}

::selection {
    background: rgba(44, 108, 64, 0.45);
    color: white;
}

a {
    color: inherit;
}

code {
    color: #B9C8FF;
    background: rgba(44, 108, 64, 0.11);
    border: 1px solid rgba(44, 108, 64, 0.16);
    border-radius: 7px;
    padding: 2px 6px;
}

/* ---------- Global Mud overrides ---------- */

.mud-layout {
    min-height: 100vh;
    background: transparent !important;
}

.mud-button-root {
    border-radius: 11px !important;
    text-transform: none !important;
    font-weight: 650 !important;
    letter-spacing: -0.01em !important;
}

.mud-button-filled-primary {
    background: linear-gradient(135deg, var(--ei-primary), #245A34) !important;
    box-shadow: 0 10px 24px rgba(44, 108, 64, 0.24) !important;
}

.mud-button-outlined {
    border-color: var(--ei-border-strong) !important;
}

.mud-input-outlined-border {
    border-color: var(--ei-border-strong) !important;
}

.mud-input-control:hover .mud-input-outlined-border,
.mud-input-root:hover .mud-input-outlined-border {
    border-color: rgba(44, 108, 64, 0.6) !important;
}

/* ---------- App shell ---------- */

.pulse-appbar {
    height: 72px !important;
    min-height: 72px !important;
    padding: 0 22px !important;
    background: rgba(8, 12, 20, 0.88) !important;
    backdrop-filter: blur(22px) saturate(130%);
    border-bottom: 1px solid var(--ei-border) !important;
    z-index: 1400 !important;
}

.brand-lockup {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    user-select: none;
}

.brand-mark {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    position: relative;
    overflow: hidden;
    color: white;
    font-weight: 850;
    font-size: 12px;
    letter-spacing: 0.05em;
    background: linear-gradient(145deg, #4F9563 0%, #265F37 53%, #2F63E8 100%);
    box-shadow: 0 8px 24px rgba(44, 108, 64, 0.30), inset 0 1px 0 rgba(255,255,255,0.22);
}

.brand-mark::before {
    content: "";
    position: absolute;
    width: 42px;
    height: 12px;
    background: rgba(255,255,255,0.28);
    transform: rotate(-35deg) translateY(-14px);
    filter: blur(5px);
}

.brand-mark span {
    position: relative;
    z-index: 1;
}

.brand-copy {
    line-height: 1.08;
}

.brand-name {
    font-size: 14px;
    font-weight: 760;
    color: #F7F9FF;
}

.brand-subtitle {
    margin-top: 4px;
    font-size: 11.5px;
    color: #77849E;
    text-transform: uppercase;
    letter-spacing: 0.115em;
    font-weight: 650;
}

.appbar-actions {
    display: flex;
    align-items: center;
    gap: 13px;
}

.demo-launch-button {
    height: 38px;
    border-color: rgba(44, 108, 64, 0.34) !important;
    color: #A8DAB6 !important;
    background: rgba(44, 108, 64, 0.055) !important;
}

.demo-launch-button:hover {
    background: rgba(44, 108, 64, 0.12) !important;
    border-color: rgba(44, 108, 64, 0.55) !important;
}

.live-indicator {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    height: 30px;
    padding: 0 10px;
    border: 1px solid rgba(42, 212, 167, 0.18);
    background: rgba(42, 212, 167, 0.055);
    border-radius: 999px;
    color: #82E5C8;
    font-size: 11px;
    letter-spacing: 0.12em;
    font-weight: 800;
}

.live-dot,
.hero-status-dot,
.platform-status-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--ei-green);
    box-shadow: 0 0 0 4px rgba(42, 212, 167, 0.08), 0 0 14px rgba(42, 212, 167, 0.55);
}

.user-block {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 145px;
    padding: 6px 8px 6px 6px;
    border-radius: 11px;
    transition: background .18s ease;
}

.user-block:hover {
    background: rgba(255,255,255,0.035);
}

.user-avatar {
    width: 34px;
    height: 34px;
    border-radius: 11px;
    display: grid;
    place-items: center;
    font-weight: 800;
    font-size: 12px;
    color: #C2E5CA;
    background: linear-gradient(135deg, rgba(44, 108, 64, 0.24), rgba(77, 163, 255, 0.12));
    border: 1px solid rgba(44, 108, 64, 0.28);
}

.user-copy {
    line-height: 1.15;
    overflow: hidden;
}

.user-name {
    font-size: 12px;
    font-weight: 700;
    color: #F0F3FA;
}

.user-identity {
    margin-top: 3px;
    font-size: 11px;
    max-width: 138px;
    color: #6F7C95;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mobile-menu-button {
    display: none !important;
}

.pulse-drawer {
    top: 72px !important;
    height: calc(100vh - 72px) !important;
    border-right: 1px solid var(--ei-border) !important;
    background: rgba(8, 12, 20, 0.92) !important;
    backdrop-filter: blur(18px);
}

.pulse-drawer .mud-drawer-content {
    overflow: hidden !important;
}

.drawer-inner {
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 23px 14px 17px;
}

.drawer-label {
    color: #56637A;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.15em;
    padding: 0 12px 11px;
}

.nav-menu .mud-nav-link {
    height: 46px;
    margin: 2px 0;
    border-radius: 11px;
    color: #8F9BB3 !important;
    font-size: 12px;
    font-weight: 620;
    transition: all .18s ease;
}

.nav-menu .mud-nav-link:hover {
    color: #DDE4F3 !important;
    background: rgba(255,255,255,0.035) !important;
}

.nav-menu .mud-nav-link.active {
    color: white !important;
    background: linear-gradient(90deg, rgba(44, 108, 64, 0.16), rgba(44, 108, 64, 0.035)) !important;
    box-shadow: inset 2px 0 0 var(--ei-primary);
}

.nav-menu .mud-nav-link.active .mud-icon-root {
    color: #75B586 !important;
}

.drawer-spacer {
    flex: 1;
}

.platform-card {
    display: grid;
    grid-template-columns: 34px 1fr auto;
    gap: 10px;
    align-items: center;
    padding: 12px;
    margin: 8px 4px 14px;
    border: 1px solid var(--ei-border);
    border-radius: 13px;
    background: linear-gradient(145deg, rgba(17,25,39,0.9), rgba(10,15,25,0.94));
}

.platform-card-icon {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    color: #97D4FF;
    background: rgba(77, 163, 255, 0.09);
}

.platform-card-title {
    font-size: 12px;
    font-weight: 700;
    color: #DCE4F3;
}

.platform-card-copy {
    font-size: 11px;
    color: #65728A;
    margin-top: 3px;
}

.platform-status-dot {
    width: 6px;
    height: 6px;
}

.drawer-footnote {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #56627A;
    font-size: 11px;
    padding: 0 9px;
}

.pulse-main-content {
    min-height: 100vh;
    padding-top: 72px !important;
    background: transparent !important;
}

.page-shell {
    position: relative;
    z-index: 1;
    width: min(1500px, calc(100% - 54px));
    margin: 0 auto;
    padding: 34px 0 46px;
}

/* ---------- Pulse hero ---------- */

.pulse-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(340px, .68fr);
    gap: 30px;
    align-items: stretch;
    padding: 22px 0 30px;
}

.pulse-hero-copy {
    position: relative;
    padding: 10px 4px 8px;
}

.pulse-hero-copy::before {
    content: "";
    position: absolute;
    left: -110px;
    top: -100px;
    width: 390px;
    height: 260px;
    background: radial-gradient(circle, rgba(44, 108, 64, 0.12), transparent 65%);
    filter: blur(8px);
    pointer-events: none;
}

.eyebrow-row {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 15px;
}

.eyebrow,
.section-kicker,
.demo-kicker,
.detail-kicker {
    color: #6FA880;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: 0.17em;
    text-transform: uppercase;
}

.hero-status-pill {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #77859E;
    font-size: 11.5px;
}

.hero-status-dot {
    width: 5px;
    height: 5px;
}

.hero-status-dot.preview-dot {
    background: var(--ei-amber);
    box-shadow: 0 0 0 4px rgba(255,184,77,.07), 0 0 12px rgba(255,184,77,.35);
}

.pulse-hero h1 {
    position: relative;
    z-index: 1;
    max-width: 850px;
    margin: 0;
    font-size: clamp(40px, 4.6vw, 69px);
    line-height: 0.98;
    letter-spacing: -0.055em;
    font-weight: 790;
    color: #FAFBFF;
}

.pulse-hero h1 span {
    background: linear-gradient(100deg, #94CAA1 0%, #68B39A 48%, #76C9B5 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.pulse-hero-copy > p {
    max-width: 760px;
    margin: 22px 0 0;
    color: #8B98B1;
    font-size: 14px;
    line-height: 1.65;
}

.hero-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 24px;
}

.last-updated {
    color: #59657C;
    font-size: 11.5px;
    margin-left: 4px;
}

.executive-brief-card {
    position: relative;
    overflow: hidden;
    min-height: 235px;
    padding: 23px 24px 20px;
    border-radius: 20px;
    border: 1px solid rgba(44, 108, 64, 0.20);
    background:
        linear-gradient(145deg, rgba(20, 27, 45, 0.94), rgba(9, 14, 24, 0.97)),
        var(--ei-surface);
    box-shadow: var(--ei-soft-shadow);
}

.brief-card-glow {
    position: absolute;
    width: 220px;
    height: 220px;
    right: -95px;
    top: -105px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(44, 108, 64, 0.30), rgba(77, 163, 255, 0.06) 45%, transparent 70%);
    pointer-events: none;
}

.brief-card-head {
    position: relative;
    display: flex;
    gap: 11px;
    align-items: center;
}

.brief-icon {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    color: #91CBA1;
    background: rgba(44, 108, 64, 0.13);
    border: 1px solid rgba(44, 108, 64, 0.16);
}

.brief-title {
    font-size: 13px;
    color: #F3F5FB;
    font-weight: 740;
}

.brief-subtitle {
    margin-top: 3px;
    font-size: 11px;
    color: #66738B;
}

.executive-brief-card > p {
    position: relative;
    margin: 20px 0 18px;
    color: #C0C9D9;
    font-size: 13px;
    line-height: 1.62;
}

.brief-footer {
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 18px;
    padding-top: 13px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid var(--ei-border);
    color: #69768E;
    font-size: 11px;
}

.brief-footer span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

/* ---------- Preview / loading ---------- */

.preview-data-banner,
.customer-insight-banner {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 58px;
    padding: 11px 15px;
    margin: 2px 0 18px;
    border: 1px solid rgba(255, 184, 77, 0.18);
    border-radius: 13px;
    color: #D7B676;
    background: rgba(255, 184, 77, 0.045);
}

.preview-data-banner > div,
.customer-insight-banner > div:not(.customer-insight-icon) {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
}

.preview-data-banner strong,
.customer-insight-banner strong {
    font-size: 12px;
}

.preview-data-banner span,
.customer-insight-banner span {
    color: #8E7C59;
    font-size: 11px;
}

.preview-tag {
    flex: none !important;
    padding: 5px 8px;
    border-radius: 999px;
    border: 1px solid rgba(255,184,77,.15);
    color: #A58A54 !important;
    font-weight: 760;
    letter-spacing: .08em;
}

.preview-data-banner.compact {
    margin-top: -8px;
}

.pulse-loading,
.route-loading-shell {
    min-height: calc(100vh - 150px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 15px;
    color: #AEB9CB;
    font-size: 13px;
}

.pulse-loading span {
    color: #59667F;
    font-size: 11.5px;
}

.pulse-loading-mark {
    width: 56px;
    height: 56px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    margin-bottom: 4px;
    font-size: 14px;
    font-weight: 850;
    letter-spacing: .05em;
    background: linear-gradient(145deg, rgba(44,108,64,.28), rgba(77,163,255,.12));
    border: 1px solid rgba(44,108,64,.25);
}

.inline-loading {
    padding: 28px 0;
}

/* ---------- KPI cards ---------- */

.kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 4px 0 14px;
}

.kpi-card {
    position: relative;
    overflow: hidden;
    min-height: 142px;
    padding: 18px 19px 16px;
    border-radius: 16px;
    border: 1px solid var(--ei-border);
    background: linear-gradient(145deg, rgba(16,23,37,.90), rgba(10,15,25,.88));
    box-shadow: 0 10px 25px rgba(0,0,0,.13);
    transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

.kpi-card:hover {
    transform: translateY(-2px);
    border-color: rgba(143,164,204,.22);
    background: linear-gradient(145deg, rgba(18,26,42,.94), rgba(10,15,25,.92));
}

.kpi-card-value {
    border-color: rgba(0, 217, 192, 0.14);
}

.kpi-accent {
    position: absolute;
    width: 130px;
    height: 130px;
    right: -55px;
    bottom: -65px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(0,217,192,.16), transparent 66%);
}

.kpi-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #75829A;
    font-size: 11.5px;
    font-weight: 680;
    text-transform: uppercase;
    letter-spacing: .065em;
}

.kpi-icon {
    width: 31px;
    height: 31px;
    border-radius: 9px;
    display: grid;
    place-items: center;
    color: #72AC82;
    background: rgba(44,108,64,.07);
}

.kpi-card-value .kpi-icon {
    color: #60D9BE;
    background: rgba(0,217,192,.065);
}

.kpi-value {
    margin-top: 9px;
    color: #F6F8FD;
    font-size: 31px;
    line-height: 1;
    font-weight: 780;
    letter-spacing: -0.035em;
}

.kpi-card-value .kpi-value {
    color: #E9FFF9;
}

.kpi-foot {
    position: relative;
    z-index: 1;
    margin-top: 10px;
    color: #5D6A82;
    font-size: 11px;
    line-height: 1.35;
}

.intel-strip {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin: 0 0 30px;
}

.intel-strip-item {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 30px;
    padding: 0 10px;
    border: 1px solid var(--ei-border);
    border-radius: 999px;
    background: rgba(255,255,255,.018);
    color: #758199;
    font-size: 11px;
}

.intel-strip-item strong {
    color: #B8C0D0;
    font-size: 11px;
}

.intel-strip-dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #65738B;
}

.group-operational_prevention { background: var(--ei-green); }
.group-strategic_pricing { background: var(--ei-primary-2); }
.group-financial_integrity { background: var(--ei-blue); }
.group-billing_process { background: var(--ei-amber); }
.group-financial_recovery { background: #45D6F5; }
.group-data_quality { background: var(--ei-red); }

/* ---------- Attention section/cards ---------- */

.attention-section {
    margin-top: 2px;
}

.section-heading-row,
.secondary-hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
}

.section-heading-row {
    margin-bottom: 16px;
}

.section-heading-row h2,
.secondary-hero h1 {
    margin: 5px 0 3px;
    color: #F4F6FB;
    font-size: 24px;
    letter-spacing: -0.035em;
    font-weight: 750;
}

.section-heading-row p,
.secondary-hero p {
    margin: 0;
    color: #68758D;
    font-size: 11.5px;
    line-height: 1.5;
}

.attention-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.attention-grid-queue {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.attention-card {
    position: relative;
    overflow: hidden;
    min-height: 332px;
    display: flex;
    flex-direction: column;
    border-radius: 17px;
    border: 1px solid var(--ei-border);
    background:
        radial-gradient(circle at 105% -10%, rgba(44,108,64,.055), transparent 33%),
        linear-gradient(145deg, rgba(16,23,37,.94), rgba(9,14,24,.96));
    box-shadow: 0 12px 32px rgba(0,0,0,.15);
    cursor: pointer;
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.attention-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 2px;
    opacity: .85;
    background: #65738B;
}

.attention-card.severity-high::before { background: linear-gradient(180deg, var(--ei-red), #FF9D6C); }
.attention-card.severity-medium::before { background: linear-gradient(180deg, var(--ei-amber), #FCE38A); }
.attention-card.severity-low::before { background: linear-gradient(180deg, var(--ei-blue), #78C8FF); }
.attention-card.severity-review::before { background: linear-gradient(180deg, var(--ei-primary), var(--ei-blue)); }

.attention-card:hover {
    transform: translateY(-3px);
    border-color: rgba(143,164,204,.25);
    box-shadow: 0 20px 44px rgba(0,0,0,.22);
}

.attention-card-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 17px 0 18px;
}

.attention-group-label {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #8390A8;
    font-size: 11px;
    font-weight: 740;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.attention-icon-orb {
    width: 29px;
    height: 29px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    color: #75B586;
    background: rgba(44,108,64,.08);
}

.attention-card-badges {
    display: flex;
    align-items: center;
    gap: 6px;
}

.severity-badge,
.recency-badge,
.detail-meta-pill,
.not-loss-pill,
.module-pill,
.healthy-pill,
.planned-pill {
    display: inline-flex;
    align-items: center;
    height: 22px;
    padding: 0 7px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
    border: 1px solid var(--ei-border);
}

.severity-badge.severity-high {
    color: #FF9AAB;
    background: rgba(255,97,120,.065);
    border-color: rgba(255,97,120,.15);
}

.severity-badge.severity-medium {
    color: #E9BC72;
    background: rgba(255,184,77,.055);
    border-color: rgba(255,184,77,.13);
}

.severity-badge.severity-low {
    color: #84BFFF;
    background: rgba(77,163,255,.055);
    border-color: rgba(77,163,255,.13);
}

.severity-badge.severity-review {
    color: #86C498;
    background: rgba(44,108,64,.06);
    border-color: rgba(44,108,64,.16);
}

.recency-badge,
.detail-meta-pill {
    color: #6F7C94;
    background: rgba(255,255,255,.018);
}

.attention-card-body {
    flex: 1;
    padding: 14px 18px 10px;
}

.attention-card h3 {
    margin: 0;
    color: #EEF2FA;
    font-size: 16px;
    line-height: 1.28;
    font-weight: 710;
    letter-spacing: -0.025em;
}

.entity-line {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;
    min-height: 21px;
    margin-top: 7px;
    color: #65728A;
    font-size: 11px;
}

.entity-divider {
    color: #354158;
}

.metric-ribbon {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 71px;
    margin-top: 15px;
    padding: 12px 13px;
    border-radius: 12px;
}

.metric-ribbon-impact {
    background: linear-gradient(90deg, rgba(0,217,192,.075), rgba(0,217,192,.025));
    border: 1px solid rgba(0,217,192,.105);
    color: #76E6CE;
}

.metric-ribbon-context {
    background: linear-gradient(90deg, rgba(77,163,255,.06), rgba(44,108,64,.025));
    border: 1px solid rgba(77,163,255,.095);
    color: #8BC3FF;
}

.metric-value {
    color: #F5FBFF;
    font-size: 22px;
    font-weight: 790;
    line-height: 1;
    letter-spacing: -0.03em;
}

.metric-label {
    margin-top: 5px;
    color: #6C7A91;
    font-size: 10px;
    font-weight: 640;
    text-transform: uppercase;
    letter-spacing: .065em;
}

.not-loss-pill {
    height: 24px;
    color: #86A7CA;
    border-color: rgba(77,163,255,.12);
    background: rgba(77,163,255,.045);
    white-space: nowrap;
}

.attention-explanation {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 13px 0 0;
    color: #8995AA;
    font-size: 11.5px;
    line-height: 1.55;
}

.attention-card-footer {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 14px;
    min-height: 58px;
    padding: 10px 17px 11px 18px;
    border-top: 1px solid rgba(143,164,204,.09);
    background: rgba(255,255,255,.009);
}

.action-line {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 7px;
    color: #73819A;
    font-size: 11px;
}

.action-line .mud-icon-root {
    flex: none;
    color: #77B788;
}

.action-line span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.drill-arrow {
    display: flex;
    align-items: center;
    gap: 5px;
    color: #5F966F;
    font-size: 10px;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.demo-highlight {
    border-color: rgba(105, 177, 124, .72) !important;
    box-shadow: 0 0 0 2px rgba(44,108,64,.16), 0 22px 54px rgba(37,24,95,.34) !important;
    transform: translateY(-3px) scale(1.005);
    animation: demoPulse 2.2s ease-in-out infinite;
}

@keyframes demoPulse {
    0%, 100% { box-shadow: 0 0 0 2px rgba(44,108,64,.13), 0 22px 54px rgba(37,24,95,.28); }
    50% { box-shadow: 0 0 0 5px rgba(44,108,64,.08), 0 22px 64px rgba(54,38,128,.42); }
}

/* ---------- Trust strip ---------- */

.trust-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 26px;
    padding-top: 16px;
    border-top: 1px solid var(--ei-border);
}

.trust-strip > div {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #65738B;
    font-size: 11px;
    line-height: 1.45;
}

.trust-strip .mud-icon-root {
    color: #5F6C83;
}

.trust-strip strong {
    color: #8895AB;
}

/* ---------- Detail panel ---------- */

.detail-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1900;
    display: flex;
    justify-content: flex-end;
    background: rgba(3, 5, 10, 0.60);
    backdrop-filter: blur(7px);
    animation: fadeIn .18s ease-out;
}

.detail-panel {
    width: min(590px, 92vw);
    height: 100vh;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 25px 26px 24px;
    border-left: 1px solid rgba(143,164,204,.18);
    background:
        radial-gradient(circle at 100% 0, rgba(44,108,64,.10), transparent 30%),
        #0A0F19;
    box-shadow: -26px 0 70px rgba(0,0,0,.38);
    animation: slideIn .24s cubic-bezier(.2,.8,.2,1);
}

@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes slideIn { from { transform: translateX(34px); opacity: .6; } to { transform: translateX(0); opacity: 1; } }

.detail-panel-header {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 16px;
    align-items: start;
}

.detail-panel-header h2 {
    margin: 6px 0 0;
    color: #F6F8FC;
    font-size: 24px;
    line-height: 1.18;
    letter-spacing: -0.035em;
    font-weight: 750;
}

.detail-meta-row {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    margin: 16px 0;
}

.detail-amount-card {
    margin: 14px 0 19px;
    padding: 17px 18px;
    border-radius: 15px;
    border: 1px solid rgba(44,108,64,.16);
    background: linear-gradient(145deg, rgba(44,108,64,.085), rgba(77,163,255,.025));
}

.detail-amount-value {
    color: #F8FAFF;
    font-size: 33px;
    line-height: 1;
    font-weight: 790;
    letter-spacing: -.04em;
}

.detail-amount-label {
    margin-top: 7px;
    color: #7E8BA3;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 700;
}

.detail-caution {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 12px;
    padding-top: 11px;
    border-top: 1px solid rgba(143,164,204,.11);
    color: #83A2C5;
    font-size: 11px;
}

.detail-section {
    margin: 15px 0;
    padding: 17px 18px;
    border: 1px solid var(--ei-border);
    border-radius: 14px;
    background: rgba(255,255,255,.015);
}

.detail-section-title {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #DCE3F0;
    font-size: 12px;
    font-weight: 720;
}

.detail-section-title .mud-icon-root {
    color: #74AF84;
}

.detail-section p {
    margin: 10px 0 0;
    color: #8D99AE;
    font-size: 12px;
    line-height: 1.62;
}

.detail-action-section {
    border-color: rgba(0,217,192,.12);
    background: rgba(0,217,192,.025);
}

.detail-action-section .detail-section-title .mud-icon-root {
    color: #56D4B8;
}

.evidence-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 18px;
    margin-top: 14px;
}

.evidence-grid > div {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.evidence-grid span {
    color: #59667E;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .07em;
}

.evidence-grid strong {
    color: #AAB5C8;
    font-size: 11px;
    font-weight: 620;
    word-break: break-word;
}

.detail-panel-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-top: 18px;
    padding-top: 17px;
    border-top: 1px solid var(--ei-border);
}

.trust-note {
    display: flex;
    align-items: center;
    gap: 6px;
    max-width: 390px;
    color: #59667E;
    font-size: 10px;
    line-height: 1.45;
}

/* ---------- Demo tour ---------- */

.demo-tour-card {
    position: fixed;
    right: 26px;
    bottom: 24px;
    z-index: 1750;
    width: min(420px, calc(100vw - 40px));
    padding: 17px 18px 15px;
    overflow: hidden;
    border-radius: 17px;
    border: 1px solid rgba(44,108,64,.30);
    background:
        radial-gradient(circle at 100% 0, rgba(44,108,64,.18), transparent 38%),
        rgba(13, 19, 32, .97);
    box-shadow: 0 24px 75px rgba(0,0,0,.45);
    backdrop-filter: blur(18px);
    animation: tourIn .3s cubic-bezier(.2,.8,.2,1);
}

@keyframes tourIn { from { transform: translateY(18px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }

.demo-tour-progress {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 5px;
    margin-bottom: 14px;
}

.demo-tour-progress span {
    height: 2px;
    border-radius: 99px;
    background: rgba(143,164,204,.12);
}

.demo-tour-progress span.active {
    background: linear-gradient(90deg, var(--ei-primary), #73B384);
}

.demo-tour-head {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px;
    align-items: start;
}

.demo-tour-head h3 {
    margin: 5px 0 0;
    color: #F2F5FB;
    font-size: 16px;
    line-height: 1.25;
}

.demo-tour-card > p {
    margin: 11px 0 14px;
    color: #94A0B5;
    font-size: 11.5px;
    line-height: 1.58;
}

.demo-tour-actions {
    display: flex;
    align-items: center;
    border-top: 1px solid var(--ei-border);
    padding-top: 10px;
}

/* ---------- Secondary pages ---------- */

.secondary-page {
    padding-top: 40px;
}

.secondary-hero {
    min-height: 130px;
    padding: 10px 0 27px;
    border-bottom: 1px solid var(--ei-border);
    margin-bottom: 20px;
}

.secondary-hero h1 {
    font-size: 34px;
}

.secondary-hero p {
    max-width: 780px;
    margin-top: 8px;
    font-size: 12px;
}

.module-pill {
    color: #77AF87;
    border-color: rgba(44,108,64,.17);
    background: rgba(44,108,64,.045);
}

.filter-bar {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px;
    margin: 4px 0 10px;
    border: 1px solid var(--ei-border);
    border-radius: 14px;
    background: rgba(255,255,255,.014);
}

.filter-search {
    flex: 1 1 360px;
}

.filter-select {
    width: 160px;
}

.filter-select.wide {
    width: 210px;
}

.queue-summary-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 12px 2px 14px;
    color: #65728A;
    font-size: 11px;
}

.queue-summary-row strong {
    color: #AAB5C7;
}

.queue-source-note {
    color: #4F5B71;
}

/* ---------- Customer page ---------- */

.customer-insight-banner {
    color: #8AC79B;
    border-color: rgba(44,108,64,.17);
    background: rgba(44,108,64,.035);
}

.customer-insight-banner span {
    color: #668B70;
}

.customer-insight-icon {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    flex: none;
    border-radius: 11px;
    background: rgba(44,108,64,.08);
}

.customer-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.customer-card {
    padding: 17px;
    border: 1px solid var(--ei-border);
    border-radius: 16px;
    background: linear-gradient(145deg, rgba(16,23,37,.9), rgba(10,15,25,.9));
}

.customer-card-head {
    display: grid;
    grid-template-columns: 40px 1fr auto;
    gap: 10px;
    align-items: center;
}

.customer-avatar {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: #95CEA5;
    font-size: 12px;
    font-weight: 820;
    background: rgba(44,108,64,.09);
    border: 1px solid rgba(44,108,64,.13);
}

.customer-card h3 {
    margin: 0;
    color: #E9EDF6;
    font-size: 13px;
    font-weight: 700;
}

.customer-card-head span {
    display: block;
    margin-top: 3px;
    color: #5F6C84;
    font-size: 10px;
}

.customer-signal-count {
    width: 29px;
    height: 29px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    color: #C1E5C9;
    background: rgba(44,108,64,.08);
    font-size: 11.5px;
    font-weight: 800;
}

.customer-card-metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 5px;
    margin-top: 15px;
}

.customer-card-metrics div {
    min-height: 60px;
    padding: 9px;
    border-radius: 10px;
    background: rgba(255,255,255,.018);
    border: 1px solid rgba(143,164,204,.07);
}

.customer-card-metrics span {
    display: block;
    color: #59667D;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.customer-card-metrics strong {
    display: block;
    margin-top: 5px;
    color: #C5CEDD;
    font-size: 14px;
}

.customer-card-signals {
    margin-top: 13px;
    padding-top: 10px;
    border-top: 1px solid rgba(143,164,204,.08);
}

.customer-card-signals > div {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    padding: 5px 0;
    color: #77849B;
    font-size: 10px;
    line-height: 1.4;
}

.mini-severity {
    width: 5px;
    height: 5px;
    margin-top: 3px;
    flex: none;
    border-radius: 50%;
    background: #65738B;
}

.mini-high { background: var(--ei-red); }
.mini-medium { background: var(--ei-amber); }
.mini-low { background: var(--ei-blue); }
.mini-review { background: var(--ei-primary); }

/* ---------- Data health ---------- */

.health-score-orb {
    width: 76px;
    height: 76px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #84C296;
    background: radial-gradient(circle, rgba(44,108,64,.13), rgba(44,108,64,.02));
    border: 1px solid rgba(44,108,64,.17);
}

.health-score-orb span {
    font-size: 25px;
    font-weight: 800;
    line-height: 1;
}

.health-score-orb small {
    margin-top: 3px;
    color: #5C8065;
    font-size: 10px;
    text-transform: uppercase;
}

.lineage-flow {
    display: grid;
    grid-template-columns: 1fr 32px 1fr 32px 1fr 32px 1fr;
    gap: 6px;
    align-items: stretch;
    margin: 23px 0;
}

.lineage-node {
    position: relative;
    min-height: 210px;
    padding: 18px;
    overflow: hidden;
    border: 1px solid var(--ei-border);
    border-radius: 16px;
    background: linear-gradient(145deg, rgba(16,23,37,.9), rgba(10,15,25,.9));
}

.lineage-node > .mud-icon-root {
    color: #7F8CA4;
    font-size: 30px;
}

.lineage-node h3 {
    margin: 13px 0 6px;
    color: #DCE3EE;
    font-size: 13px;
}

.lineage-node p {
    margin: 0;
    color: #67748A;
    font-size: 11px;
    line-height: 1.55;
}

.lineage-node > span {
    position: absolute;
    bottom: 15px;
    left: 18px;
    color: #68A078;
    font-family: Consolas, monospace;
    font-size: 10px;
}

.lineage-number {
    position: absolute;
    right: 14px;
    top: 12px;
    color: rgba(143,164,204,.14);
    font-size: 25px;
    font-weight: 850;
}

.lineage-node-accent {
    border-color: rgba(44,108,64,.21);
    background: linear-gradient(145deg, rgba(44,108,64,.075), rgba(10,15,25,.9));
}

.lineage-node-accent > .mud-icon-root {
    color: #78B789;
}

.lineage-arrow {
    display: grid;
    place-items: center;
    color: #3C465B;
}

.data-health-grid {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 14px;
}

.health-panel {
    padding: 18px;
    border: 1px solid var(--ei-border);
    border-radius: 16px;
    background: rgba(255,255,255,.012);
}

.health-panel-title {
    margin-bottom: 12px;
    color: #D5DDEB;
    font-size: 12px;
    font-weight: 720;
}

.source-health-list > div {
    display: grid;
    grid-template-columns: 35px 1fr auto;
    gap: 10px;
    align-items: center;
    min-height: 58px;
    padding: 8px 0;
    border-top: 1px solid rgba(143,164,204,.07);
}

.source-health-list > div:first-child {
    border-top: 0;
}

.source-icon {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: #8DBEFF;
    background: rgba(77,163,255,.06);
}

.source-icon.muted {
    color: #66738A;
    background: rgba(255,255,255,.025);
}

.source-health-list strong {
    display: block;
    color: #B9C3D3;
    font-size: 11.5px;
}

.source-health-list small {
    display: block;
    margin-top: 3px;
    color: #59667D;
    font-size: 10px;
}

.healthy-pill {
    color: #61D8B9;
    border-color: rgba(42,212,167,.12);
    background: rgba(42,212,167,.045);
}

.planned-pill {
    color: #718097;
    background: rgba(255,255,255,.02);
}

.trust-rule-list {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.trust-rule-list > div {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 8px 0;
    color: #7C899F;
    font-size: 11px;
    line-height: 1.45;
    border-top: 1px solid rgba(143,164,204,.06);
}

.trust-rule-list > div:first-child {
    border-top: 0;
}

/* ---------- Empty / access denied ---------- */

.empty-state-card {
    min-height: 250px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 30px;
    border: 1px dashed rgba(143,164,204,.18);
    border-radius: 17px;
    color: #738097;
    background: rgba(255,255,255,.012);
}

.empty-state-card h1,
.empty-state-card h3 {
    margin: 11px 0 5px;
    color: #D7DEEA;
}

.empty-state-card p {
    margin: 0 0 15px;
    max-width: 520px;
    color: #68758C;
    font-size: 11.5px;
}

.access-denied-shell {
    min-height: calc(100vh - 72px);
    display: grid;
    place-items: center;
    padding: 30px;
}

.access-denied-card {
    width: min(490px, 92vw);
    padding: 35px;
    text-align: center;
    border: 1px solid var(--ei-border);
    border-radius: 21px;
    background: linear-gradient(145deg, rgba(18,25,40,.94), rgba(9,14,24,.96));
    box-shadow: var(--ei-shadow);
}

.access-denied-icon {
    width: 60px;
    height: 60px;
    display: grid;
    place-items: center;
    margin: 0 auto 17px;
    color: #8AC69A;
    border-radius: 18px;
    background: rgba(44,108,64,.09);
    border: 1px solid rgba(44,108,64,.15);
}

.access-denied-card h1 {
    margin: 7px 0;
    color: #F0F3F9;
    font-size: 25px;
}

.access-denied-card p {
    color: #78869D;
    font-size: 12px;
    line-height: 1.55;
}

.identity-pill {
    display: inline-block;
    margin: 8px 0;
    padding: 7px 10px;
    border: 1px solid var(--ei-border);
    border-radius: 9px;
    color: #B1BCD0;
    background: rgba(255,255,255,.02);
    font-family: Consolas, monospace;
    font-size: 11.5px;
}

.muted-copy {
    color: #536078 !important;
}

/* ---------- Responsive ---------- */

@media (max-width: 1320px) {
    .attention-grid-queue,
    .customer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pulse-hero {
        grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
    }
}

@media (max-width: 1100px) {
    .kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pulse-hero {
        grid-template-columns: 1fr;
    }

    .executive-brief-card {
        min-height: 210px;
    }

    .lineage-flow {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .lineage-arrow {
        display: none;
    }

    .data-health-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 960px) {
    .mobile-menu-button {
        display: inline-flex !important;
    }

    .pulse-drawer {
        box-shadow: 18px 0 50px rgba(0,0,0,.4) !important;
    }

    .page-shell {
        width: min(100% - 32px, 1500px);
    }

    .demo-launch-button,
    .live-indicator {
        display: none !important;
    }

    .attention-grid,
    .attention-grid-queue {
        grid-template-columns: 1fr;
    }

    .trust-strip {
        grid-template-columns: 1fr;
    }

    .filter-bar {
        flex-wrap: wrap;
    }

    .filter-search {
        flex-basis: 100%;
    }
}

@media (max-width: 720px) {
    .pulse-appbar {
        padding: 0 12px !important;
    }

    .brand-copy,
    .user-copy {
        display: none;
    }

    .user-block {
        min-width: auto;
        padding-right: 2px;
    }

    .page-shell {
        width: calc(100% - 24px);
        padding-top: 20px;
    }

    .pulse-hero {
        padding-top: 11px;
    }

    .pulse-hero h1 {
        font-size: clamp(38px, 13vw, 55px);
    }

    .hero-actions {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .last-updated {
        width: 100%;
        margin: 2px 0 0;
    }

    .kpi-grid,
    .customer-grid,
    .lineage-flow {
        grid-template-columns: 1fr;
    }

    .section-heading-row,
    .secondary-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .attention-card {
        min-height: 350px;
    }

    .filter-select,
    .filter-select.wide {
        width: calc(50% - 6px);
        flex: 1 1 180px;
    }

    .queue-summary-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .evidence-grid {
        grid-template-columns: 1fr;
    }

    .demo-tour-card {
        right: 12px;
        bottom: 12px;
        width: calc(100vw - 24px);
    }
}

/* ---------- Accessorial recovery drill-down v0.1 ---------- */

.detail-panel-rich {
    width: min(780px, 95vw);
    padding: 27px 30px 28px;
    background:
        radial-gradient(circle at 92% 2%, rgba(44,108,64,.14), transparent 27%),
        radial-gradient(circle at 8% 34%, rgba(0,217,192,.045), transparent 25%),
        #090E18;
}

.detail-action-window {
    color: #73E4C8;
    border-color: rgba(42,212,167,.16);
    background: rgba(42,212,167,.05);
}

.drill-loading-card,
.drill-unavailable-card {
    overflow: hidden;
    margin: 16px 0 20px;
    border: 1px solid var(--ei-border);
    border-radius: 15px;
    background: rgba(255,255,255,.015);
}

.drill-loading-card .mud-progress-linear {
    margin: 0;
}

.drill-loading-card > div:last-child {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 17px 18px 19px;
}

.drill-loading-card strong,
.drill-unavailable-card strong {
    color: #DCE4F1;
    font-size: 12px;
}

.drill-loading-card span,
.drill-unavailable-card span {
    color: #69778F;
    font-size: 11px;
    line-height: 1.5;
}

.drill-unavailable-card {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    padding: 16px 17px;
    color: #7CBC8D;
}

.drill-unavailable-card > div {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.recovery-hero-card {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 22px;
    align-items: center;
    min-height: 132px;
    margin: 13px 0 15px;
    padding: 21px 22px;
    border: 1px solid rgba(42,212,167,.15);
    border-radius: 18px;
    background:
        radial-gradient(circle at 86% 10%, rgba(0,217,192,.09), transparent 34%),
        linear-gradient(135deg, rgba(13,34,39,.86), rgba(12,19,33,.92));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}

.recovery-hero-card::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: linear-gradient(180deg, #2AD4A7, #00B7C8);
}

.recovery-hero-label,
.recovery-story-kicker {
    color: #5F887F;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .095em;
    text-transform: uppercase;
}

.recovery-hero-value {
    margin-top: 7px;
    color: #F3FFF9;
    font-size: 41px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.045em;
}

.recovery-hero-caption {
    margin-top: 8px;
    color: #78938E;
    font-size: 11px;
}

.recovery-hero-status {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 215px;
    padding: 13px 14px;
    border: 1px solid rgba(42,212,167,.105);
    border-radius: 13px;
    background: rgba(4,18,20,.42);
}

.status-orb {
    width: 36px;
    height: 36px;
    flex: none;
    display: grid;
    place-items: center;
    border-radius: 11px;
    color: #66DFC3;
    background: rgba(42,212,167,.08);
    border: 1px solid rgba(42,212,167,.12);
}

.recovery-hero-status span {
    display: block;
    color: #6D8D87;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .07em;
}

.recovery-hero-status strong {
    display: block;
    margin-top: 4px;
    color: #BEEADC;
    font-size: 11.5px;
    font-weight: 700;
}

.recovery-story-card {
    display: grid;
    grid-template-columns: 39px 1fr;
    gap: 12px;
    align-items: start;
    padding: 17px 18px;
    margin-bottom: 15px;
    border: 1px solid rgba(44,108,64,.14);
    border-radius: 15px;
    background: linear-gradient(135deg, rgba(44,108,64,.055), rgba(77,163,255,.018));
}

.recovery-story-icon {
    width: 39px;
    height: 39px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: #79B98A;
    background: rgba(44,108,64,.08);
}

.recovery-story-card p {
    margin: 6px 0 0;
    color: #A4AFC2;
    font-size: 12px;
    line-height: 1.62;
}

.recovery-equation {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1fr) 24px minmax(0, 1fr);
    gap: 7px;
    align-items: stretch;
    margin: 15px 0;
}

.recovery-equation-cell {
    min-width: 0;
    padding: 15px 14px;
    border: 1px solid var(--ei-border);
    border-radius: 14px;
    background: rgba(255,255,255,.015);
}

.recovery-equation-cell span,
.drill-mini-grid span {
    display: block;
    color: #5B6880;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .065em;
}

.recovery-equation-cell strong {
    display: block;
    margin-top: 6px;
    color: #E6ECF6;
    font-size: 21px;
    line-height: 1;
    letter-spacing: -.03em;
}

.recovery-equation-cell small {
    display: block;
    margin-top: 7px;
    color: #5E6C83;
    font-size: 10px;
    line-height: 1.35;
}

.recovery-equation-result {
    border-color: rgba(42,212,167,.13);
    background: rgba(42,212,167,.028);
}

.recovery-equation-result strong {
    color: #72E2C7;
}

.recovery-equation-symbol {
    display: grid;
    place-items: center;
    color: #46536A;
    font-size: 19px;
    font-weight: 500;
}

.drill-section-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 11px;
    margin: 15px 0;
}

.drill-section-card {
    padding: 16px;
    border: 1px solid var(--ei-border);
    border-radius: 15px;
    background: rgba(255,255,255,.012);
}

.drill-section-head {
    display: grid;
    grid-template-columns: 36px 1fr;
    gap: 10px;
    align-items: center;
}

.drill-section-icon {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    color: #72B283;
    background: rgba(44,108,64,.075);
}

.drill-section-icon-teal {
    color: #5BD8BC;
    background: rgba(42,212,167,.06);
}

.drill-section-head span {
    display: block;
    color: #59667D;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .075em;
}

.drill-section-head strong {
    display: block;
    margin-top: 4px;
    color: #C7D0DF;
    font-size: 11.5px;
    font-weight: 680;
}

.drill-mini-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 12px 13px;
    margin-top: 15px;
    padding-top: 13px;
    border-top: 1px solid rgba(143,164,204,.08);
}

.drill-mini-grid strong {
    display: block;
    margin-top: 4px;
    color: #A9B4C6;
    font-size: 11px;
    line-height: 1.35;
    font-weight: 620;
}

.evidence-ledger-section {
    padding: 0;
    overflow: hidden;
}

.evidence-ledger-title {
    justify-content: space-between;
    padding: 15px 16px;
    border-bottom: 1px solid rgba(143,164,204,.08);
}

.evidence-ledger-title > div {
    display: flex;
    align-items: center;
    gap: 8px;
}

.evidence-ledger-title > span {
    color: #56637A;
    font-size: 10px;
    font-weight: 600;
}

.evidence-ledger {
    display: flex;
    flex-direction: column;
}

.evidence-ledger-row {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 11px;
    align-items: start;
    padding: 14px 16px;
    border-bottom: 1px solid rgba(143,164,204,.07);
}

.evidence-ledger-row:last-child {
    border-bottom: 0;
}

.evidence-ledger-row:hover {
    background: rgba(255,255,255,.012);
}

.evidence-type-icon {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border-radius: 10px;
}

.evidence-ledger-row.expense .evidence-type-icon {
    color: #F18EA0;
    background: rgba(255,97,120,.055);
}

.evidence-ledger-row.recovery .evidence-type-icon {
    color: #64DCC0;
    background: rgba(42,212,167,.055);
}

.evidence-main {
    min-width: 0;
}

.evidence-main-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.evidence-entry-type {
    display: block;
    color: #59667D;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .08em;
}

.evidence-main-top strong {
    display: block;
    margin-top: 4px;
    color: #C9D2E0;
    font-size: 11.5px;
    line-height: 1.35;
}

.evidence-row-amount {
    flex: none;
    font-size: 14px;
    font-weight: 760;
    letter-spacing: -.02em;
}

.evidence-row-amount.expense {
    color: #F09AAA;
}

.evidence-row-amount.recovery {
    color: #62D7BC;
}

.evidence-row-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 7px;
    color: #5C6981;
    font-size: 10px;
}

.source-code-chip {
    padding: 3px 6px;
    border-radius: 6px;
    color: #8CC89D;
    background: rgba(44,108,64,.055);
    border: 1px solid rgba(44,108,64,.10);
    font-weight: 700;
}

.evidence-mapping-note {
    margin-top: 7px;
    color: #59667D;
    font-size: 10px;
    line-height: 1.45;
}

.calculation-integrity-note {
    display: grid;
    grid-template-columns: 36px 1fr;
    gap: 11px;
    align-items: start;
    padding: 15px 16px;
    margin: 15px 0;
    border: 1px solid rgba(77,163,255,.10);
    border-radius: 14px;
    color: #6EADEB;
    background: rgba(77,163,255,.025);
}

.calculation-integrity-note > .mud-icon-root {
    margin-top: 1px;
}

.calculation-integrity-note strong {
    display: block;
    color: #9CBFE1;
    font-size: 11.5px;
}

.calculation-integrity-note span {
    display: block;
    margin-top: 5px;
    color: #6C7F95;
    font-size: 11px;
    line-height: 1.52;
}

.drill-action-section {
    position: relative;
    overflow: hidden;
}

.drill-action-section::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 2px;
    background: #2AD4A7;
}

.action-window-note {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    margin-top: 12px;
    padding-top: 11px;
    border-top: 1px solid rgba(42,212,167,.10);
    color: #6D998E;
    font-size: 10px;
    line-height: 1.5;
}

.technical-provenance {
    margin-top: 14px;
    border: 1px solid rgba(143,164,204,.09);
    border-radius: 12px;
    background: rgba(255,255,255,.009);
}

.technical-provenance summary {
    cursor: pointer;
    list-style: none;
    padding: 12px 14px;
    color: #5D6A82;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
}

.technical-provenance summary::-webkit-details-marker {
    display: none;
}

.technical-provenance summary::after {
    content: "+";
    float: right;
    color: #619970;
    font-size: 13px;
    line-height: 1;
}

.technical-provenance[open] summary::after {
    content: "−";
}

.technical-evidence-grid {
    margin: 0;
    padding: 0 14px 14px;
}

@media (max-width: 760px) {
    .detail-panel-rich {
        width: 100vw;
        padding: 22px 18px 24px;
    }

    .recovery-hero-card,
    .drill-section-grid {
        grid-template-columns: 1fr;
    }

    .recovery-hero-status {
        min-width: 0;
    }

    .recovery-equation {
        grid-template-columns: 1fr;
    }

    .recovery-equation-symbol {
        min-height: 18px;
    }

    .evidence-main-top {
        gap: 8px;
    }

    .evidence-row-amount {
        font-size: 12px;
    }
}

/* ---------- Executive context controls v0.2 ---------- */

.pulse-context-bar {
    display: flex;
    align-items: center;
    gap: 22px;
    margin: 0 0 24px;
    padding: 12px 14px;
    border: 1px solid var(--ei-border);
    border-radius: 16px;
    background: rgba(255,255,255,.012);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.012);
}

.context-cluster {
    display: flex;
    align-items: center;
    gap: 11px;
    min-width: 0;
}

.context-label {
    flex: none;
    color: var(--ei-muted-2);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .11em;
}

.company-selector {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 3px;
    border: 1px solid var(--ei-border);
    border-radius: 11px;
    background: rgba(255,255,255,.012);
}

.company-selector-button {
    appearance: none;
    border: 0;
    outline: 0;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    height: 31px;
    padding: 0 11px;
    border-radius: 8px;
    color: var(--ei-muted);
    background: transparent;
    font: inherit;
    font-size: 11px;
    font-weight: 690;
    cursor: pointer;
    transition: background .16s ease, color .16s ease, box-shadow .16s ease;
}

.company-selector-button:hover {
    color: var(--ei-text);
    background: rgba(44,108,64,.055);
}

.company-selector-button.active {
    color: #DAF0DE;
    background: linear-gradient(135deg, rgba(44,108,64,.19), rgba(77,163,255,.06));
    box-shadow: inset 0 0 0 1px rgba(44,108,64,.18), 0 6px 16px rgba(0,0,0,.12);
}

.company-selector-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #4D5870;
}

.company-selector-dot.online {
    background: var(--ei-green);
    box-shadow: 0 0 9px rgba(42,212,167,.45);
}

.context-separator {
    width: 1px;
    align-self: stretch;
    background: var(--ei-border);
}

.date-context-cluster {
    flex: 1;
}

.date-filter-controls {
    display: flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
}

.pulse-select,
.date-input-shell {
    height: 36px;
    border: 1px solid var(--ei-border);
    border-radius: 10px;
    color: var(--ei-text);
    background: rgba(255,255,255,.012);
}

.pulse-select {
    min-width: 145px;
    padding: 0 31px 0 10px;
    font-family: inherit;
    font-size: 11px;
    font-weight: 650;
    color-scheme: dark;
}

.date-input-shell {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0 9px;
}

.date-input-shell > span {
    color: var(--ei-muted-2);
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .07em;
}

.date-input-shell input {
    width: 112px;
    border: 0;
    outline: 0;
    color: var(--ei-text);
    background: transparent;
    font: inherit;
    font-size: 11px;
    color-scheme: dark;
}

.date-clear-button {
    height: 30px;
    border: 0;
    border-radius: 8px;
    padding: 0 9px;
    color: #A89BEE;
    background: rgba(44,108,64,.07);
    font: inherit;
    font-size: 10px;
    font-weight: 700;
    cursor: pointer;
}

.date-filter-note {
    margin-left: auto;
    max-width: 255px;
    color: var(--ei-muted-2);
    font-size: 9px;
    line-height: 1.35;
}

.company-empty-state {
    min-height: 230px;
}

.theme-toggle-button {
    width: 36px !important;
    height: 36px !important;
    color: #94CDA4 !important;
    border: 1px solid rgba(44,108,64,.18) !important;
    background: rgba(44,108,64,.045) !important;
}

/* ---------- Customer accessorial pricing drill-down v0.2 ---------- */

.pricing-hero-card {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 205px;
    gap: 18px;
    align-items: center;
    min-height: 132px;
    margin: 13px 0 15px;
    padding: 21px 22px;
    border: 1px solid rgba(44,108,64,.18);
    border-radius: 18px;
    background:
        radial-gradient(circle at 88% 8%, rgba(44,108,64,.16), transparent 36%),
        linear-gradient(135deg, rgba(20,20,48,.90), rgba(11,18,32,.94));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}

.pricing-hero-card::after {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: linear-gradient(180deg, var(--ei-primary-2), var(--ei-blue));
}

.pricing-hero-value {
    margin-top: 7px;
    color: #F5F1FF;
    font-size: 41px;
    font-weight: 820;
    line-height: 1;
    letter-spacing: -.045em;
}

.pricing-hero-caption {
    margin-top: 8px;
    max-width: 460px;
    color: #838DA5;
    font-size: 11px;
    line-height: 1.45;
}

.pricing-hero-side {
    padding: 14px 15px;
    border: 1px solid rgba(44,108,64,.14);
    border-radius: 14px;
    background: rgba(44,108,64,.045);
}

.pricing-hero-side-value {
    color: #ABDDBA;
    font-size: 28px;
    font-weight: 800;
    line-height: 1;
}

.pricing-hero-side span {
    display: block;
    margin-top: 7px;
    color: #6F7393;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .08em;
}

.pricing-hero-side strong {
    display: block;
    margin-top: 6px;
    color: #91CBA1;
    font-size: 11px;
    line-height: 1.35;
}

.pricing-story-card {
    border-color: rgba(44,108,64,.18);
}

.customer-pattern-kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
    margin: 15px 0;
}

.customer-pattern-kpis > div {
    min-width: 0;
    padding: 13px 13px 12px;
    border: 1px solid var(--ei-border);
    border-radius: 13px;
    background: rgba(255,255,255,.012);
}

.customer-pattern-kpis span,
.customer-pattern-kpis small {
    display: block;
    color: var(--ei-muted-2);
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.customer-pattern-kpis strong {
    display: block;
    margin: 6px 0;
    color: var(--ei-text);
    font-size: 15px;
    line-height: 1.15;
    letter-spacing: -.02em;
}

.customer-pattern-kpis small {
    text-transform: none;
    letter-spacing: 0;
    font-size: 9px;
    line-height: 1.35;
}

.pricing-chart-section {
    overflow: hidden;
    padding: 0;
}

.pricing-chart-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 16px;
    border-bottom: 1px solid var(--ei-border);
}

.pricing-chart-title > div:first-child {
    display: flex;
    align-items: center;
    gap: 8px;
}

.pricing-chart-legend {
    display: flex;
    align-items: center;
    gap: 13px;
}

.pricing-chart-legend span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--ei-muted-2);
    font-size: 9px;
    font-weight: 650;
}

.pricing-chart-legend i {
    width: 12px;
    height: 4px;
    border-radius: 999px;
}

.legend-cost { background: linear-gradient(90deg, #70B181, #5A88FF); }
.legend-recovery { background: linear-gradient(90deg, #2AD4A7, #00B7C8); }

.pricing-chart {
    display: flex;
    flex-direction: column;
}

.pricing-chart-row {
    display: grid;
    grid-template-columns: 135px minmax(0, 1fr) 98px;
    gap: 13px;
    align-items: center;
    padding: 11px 16px;
    border-bottom: 1px solid rgba(143,164,204,.065);
}

.pricing-chart-row:last-child {
    border-bottom: 0;
}

.pricing-chart-row:hover {
    background: rgba(255,255,255,.012);
}

.pricing-chart-label strong,
.pricing-chart-label span {
    display: block;
}

.pricing-chart-label strong {
    color: #BAC5D7;
    font-size: 11px;
}

.pricing-chart-label span {
    margin-top: 3px;
    color: var(--ei-muted-2);
    font-size: 9px;
}

.pricing-chart-bars {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.pricing-bar-line {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 68px;
    gap: 8px;
    align-items: center;
    min-height: 8px;
}

.pricing-bar-line::before {
    content: "";
    grid-column: 1;
    grid-row: 1;
    height: 6px;
    border-radius: 999px;
    background: rgba(143,164,204,.065);
}

.pricing-bar {
    z-index: 1;
    grid-column: 1;
    grid-row: 1;
    height: 6px;
    min-width: 2px;
    border-radius: 999px;
}

.pricing-bar-cost {
    background: linear-gradient(90deg, #65A977, #4D8DFF);
    box-shadow: 0 0 12px rgba(44,108,64,.12);
}

.pricing-bar-recovery {
    background: linear-gradient(90deg, #27C99F, #00B7C8);
    box-shadow: 0 0 12px rgba(42,212,167,.10);
}

.pricing-bar-line > span {
    color: #77849C;
    font-size: 10px;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.pricing-chart-delta {
    text-align: right;
}

.pricing-chart-delta span,
.pricing-chart-delta strong {
    display: block;
}

.pricing-chart-delta span {
    color: var(--ei-muted-2);
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.pricing-chart-delta strong {
    margin-top: 3px;
    font-size: 11.5px;
    font-variant-numeric: tabular-nums;
}

.pricing-chart-delta.shortfall strong { color: #F08A9C; }
.pricing-chart-delta.surplus strong { color: #57D2B6; }

.net-shortfall-explainer > p {
    max-width: 670px;
}

.net-shortfall-equation {
    display: grid;
    grid-template-columns: 1fr 22px 1fr 22px 1fr;
    gap: 6px;
    align-items: stretch;
    margin-top: 14px;
}

.net-shortfall-equation > div {
    padding: 12px 13px;
    border: 1px solid var(--ei-border);
    border-radius: 12px;
    background: rgba(255,255,255,.012);
}

.net-shortfall-equation > b {
    display: grid;
    place-items: center;
    color: #526077;
    font-size: 16px;
}

.net-shortfall-equation span,
.net-shortfall-equation strong {
    display: block;
}

.net-shortfall-equation span {
    color: var(--ei-muted-2);
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.net-shortfall-equation strong {
    margin-top: 5px;
    color: var(--ei-text);
    font-size: 16px;
}

.net-shortfall-equation .net-result {
    border-color: rgba(255,97,120,.14);
    background: rgba(255,97,120,.025);
}

.net-shortfall-equation .net-result strong {
    color: #F096A7;
}

.net-offset-note {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 14px;
    margin-top: 10px;
    padding: 9px 11px;
    border-radius: 9px;
    color: var(--ei-muted-2);
    background: rgba(255,255,255,.01);
    font-size: 10px;
}

.net-offset-note strong {
    color: #C6D0DF;
}

.pricing-interpretation-note {
    border-color: rgba(44,108,64,.12);
    color: #8AC69A;
    background: rgba(44,108,64,.025);
}

/* ---------- Light mode ---------- */

.pulse-theme-light {
    --ei-bg: #F4F7FC;
    --ei-bg-elevated: #FFFFFF;
    --ei-surface: #FFFFFF;
    --ei-surface-2: #F7F9FD;
    --ei-surface-3: #EEF3FA;
    --ei-border: rgba(45, 62, 91, 0.12);
    --ei-border-strong: rgba(45, 62, 91, 0.20);
    --ei-text: #172033;
    --ei-muted: #65718A;
    --ei-muted-2: #8490A5;
    --ei-shadow: 0 24px 60px rgba(35, 49, 75, 0.12);
    --ei-soft-shadow: 0 12px 28px rgba(35, 49, 75, 0.08);
    background: var(--ei-bg) !important;
}

.pulse-theme-light .pulse-appbar {
    background: rgba(255,255,255,.90) !important;
    box-shadow: 0 1px 18px rgba(48,63,91,.04);
}

.pulse-theme-light .pulse-drawer .mud-drawer-content {
    background: #F8FAFD !important;
}

.pulse-theme-light .brand-name,
.pulse-theme-light .user-name,
.pulse-theme-light .pulse-hero h1,
.pulse-theme-light .section-heading-row h2,
.pulse-theme-light .attention-card h3,
.pulse-theme-light .kpi-value,
.pulse-theme-light .detail-panel-header h2 {
    color: #172033;
}

.pulse-theme-light .brand-subtitle,
.pulse-theme-light .user-identity,
.pulse-theme-light .pulse-hero p,
.pulse-theme-light .section-heading-row p,
.pulse-theme-light .attention-explanation,
.pulse-theme-light .kpi-foot {
    color: #718098;
}

.pulse-theme-light .executive-brief-card,
.pulse-theme-light .kpi-card,
.pulse-theme-light .attention-card,
.pulse-theme-light .detail-section,
.pulse-theme-light .drill-section-card,
.pulse-theme-light .customer-pattern-kpis > div,
.pulse-theme-light .pulse-context-bar,
.pulse-theme-light .company-selector,
.pulse-theme-light .pulse-select,
.pulse-theme-light .date-input-shell {
    background: rgba(255,255,255,.88);
    box-shadow: 0 10px 28px rgba(45,62,91,.045);
}

.pulse-theme-light .detail-panel-rich,
.pulse-theme-light .detail-panel {
    background:
        radial-gradient(circle at 92% 2%, rgba(44,108,64,.08), transparent 27%),
        #F8FAFE;
}

.pulse-theme-light .recovery-hero-card {
    background:
        radial-gradient(circle at 86% 10%, rgba(0,160,145,.07), transparent 34%),
        linear-gradient(135deg, #F0FBF9, #F8FBFF);
}

.pulse-theme-light .pricing-hero-card {
    background:
        radial-gradient(circle at 88% 8%, rgba(44,108,64,.10), transparent 36%),
        linear-gradient(135deg, #F6F2FF, #F8FBFF);
}

.pulse-theme-light .recovery-hero-value,
.pulse-theme-light .pricing-hero-value,
.pulse-theme-light .recovery-equation-cell strong,
.pulse-theme-light .drill-section-head strong,
.pulse-theme-light .customer-pattern-kpis strong,
.pulse-theme-light .net-shortfall-equation strong {
    color: #1D293D;
}

.pulse-theme-light .recovery-story-card,
.pulse-theme-light .calculation-integrity-note,
.pulse-theme-light .technical-provenance,
.pulse-theme-light .net-offset-note {
    background: rgba(255,255,255,.66);
}

.pulse-theme-light .company-selector-button.active {
    color: #4C35B3;
    background: linear-gradient(135deg, rgba(44,108,64,.12), rgba(77,163,255,.05));
}

.pulse-theme-light .pulse-select,
.pulse-theme-light .date-input-shell input {
    color-scheme: light;
}

.pulse-theme-light .live-indicator {
    color: #08755E;
    background: rgba(18,137,108,.06);
}

.pulse-theme-light .demo-launch-button {
    color: #2E7244 !important;
    background: rgba(44,108,64,.04) !important;
}

.pulse-theme-light .theme-toggle-button {
    color: #265F37 !important;
    background: rgba(44,108,64,.04) !important;
}

@media (max-width: 1120px) {
    .pulse-context-bar {
        align-items: flex-start;
        flex-direction: column;
        gap: 11px;
    }

    .context-separator {
        width: 100%;
        height: 1px;
    }

    .date-context-cluster {
        width: 100%;
        flex-wrap: wrap;
    }

    .date-filter-note {
        max-width: none;
    }
}

@media (max-width: 760px) {
    .company-context-cluster,
    .date-context-cluster,
    .date-filter-controls {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .company-selector {
        display: grid;
        grid-template-columns: 1fr;
    }

    .company-selector-button {
        justify-content: flex-start;
    }

    .pulse-select,
    .date-input-shell {
        width: 100%;
    }

    .date-input-shell input {
        width: 100%;
    }

    .pricing-hero-card,
    .customer-pattern-kpis,
    .pricing-chart-row,
    .net-shortfall-equation {
        grid-template-columns: 1fr;
    }

    .pricing-chart-delta {
        text-align: left;
    }

    .net-shortfall-equation > b {
        min-height: 16px;
    }
}

.pulse-theme-light .recovery-story-card p,
.pulse-theme-light .detail-section p,
.pulse-theme-light .calculation-integrity-note span,
.pulse-theme-light .drill-loading-card span,
.pulse-theme-light .drill-unavailable-card span,
.pulse-theme-light .evidence-mapping-note {
    color: #64728A;
}

.pulse-theme-light .drill-loading-card strong,
.pulse-theme-light .drill-unavailable-card strong,
.pulse-theme-light .pricing-chart-label strong,
.pulse-theme-light .evidence-main-top strong,
.pulse-theme-light .net-offset-note strong {
    color: #27344A;
}

.pulse-theme-light .pricing-bar-line > span,
.pulse-theme-light .pricing-chart-label span,
.pulse-theme-light .pricing-chart-delta span,
.pulse-theme-light .customer-pattern-kpis span,
.pulse-theme-light .customer-pattern-kpis small {
    color: #7B879A;
}

/* ---------- Revenue reconciliation drill-down ---------- */

.recon-hero-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 235px;
    gap: 18px;
    align-items: stretch;
    overflow: hidden;
    padding: 22px;
    border: 1px solid rgba(77, 141, 255, .16);
    border-radius: 18px;
    background:
        radial-gradient(circle at 88% 8%, rgba(77, 141, 255, .15), transparent 34%),
        linear-gradient(135deg, rgba(22, 29, 50, .98), rgba(12, 20, 35, .98));
}

.recon-hero-card::after {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: linear-gradient(#2C6C40, #4D8DFF, #43D6C7);
}

.recon-hero-main,
.recon-hero-side {
    position: relative;
    z-index: 1;
}

.recon-hero-value {
    margin-top: 5px;
    color: #F6F9FF;
    font-size: 34px;
    font-weight: 780;
    line-height: 1;
    letter-spacing: -.035em;
    font-variant-numeric: tabular-nums;
}

.recon-hero-caption {
    margin-top: 8px;
    color: var(--ei-muted);
    font-size: 11px;
}

.recon-hero-side {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 7px;
    padding: 15px 16px;
    border: 1px solid rgba(44, 108, 64, .14);
    border-radius: 14px;
    background: rgba(44, 108, 64, .055);
}

.recon-not-loss-badge {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: 6px;
    padding: 5px 8px;
    border: 1px solid rgba(77, 141, 255, .18);
    border-radius: 999px;
    color: #8BB7FF;
    background: rgba(77, 141, 255, .07);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .075em;
}

.recon-hero-side > strong {
    color: #D9E4F5;
    font-size: 12px;
}

.recon-hero-side > small {
    color: var(--ei-muted-2);
    font-size: 10px;
    line-height: 1.45;
}

.recon-story-card {
    border-color: rgba(77, 141, 255, .11);
}

.recon-lens-section {
    padding: 0;
    overflow: hidden;
}

.recon-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 16px;
}

.recon-title-row > div {
    display: flex;
    align-items: center;
    gap: 8px;
}

.recon-title-note {
    color: var(--ei-muted-2);
    font-size: 9px;
    font-weight: 650;
}

.recon-lens-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    padding: 0 16px 14px;
}

.recon-lens-card {
    position: relative;
    min-width: 0;
    padding: 13px;
    border: 1px solid var(--ei-border);
    border-radius: 13px;
    background: rgba(255,255,255,.012);
}

.recon-lens-card::after {
    content: "";
    position: absolute;
    inset: auto 12px 0 12px;
    height: 2px;
    border-radius: 999px;
    opacity: .8;
}

.recon-lens-card.operational::after { background: #65A977; }
.recon-lens-card.current::after { background: #4D8DFF; }
.recon-lens-card.billed::after { background: #2ACCB7; }

.recon-lens-icon {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    margin-bottom: 10px;
    border-radius: 9px;
    color: #76B687;
    background: rgba(44,108,64,.08);
}

.recon-lens-card.current .recon-lens-icon {
    color: #75AAFF;
    background: rgba(77,141,255,.08);
}

.recon-lens-card.billed .recon-lens-icon {
    color: #52D4BD;
    background: rgba(42,204,183,.07);
}

.recon-lens-card > span,
.recon-lens-card > strong,
.recon-lens-card > small {
    display: block;
}

.recon-lens-card > span {
    color: var(--ei-muted-2);
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .055em;
}

.recon-lens-card > strong {
    margin-top: 5px;
    color: var(--ei-text);
    font-size: 18px;
    font-weight: 760;
    font-variant-numeric: tabular-nums;
}

.recon-lens-card > small {
    margin-top: 5px;
    color: var(--ei-muted-2);
    font-size: 9px;
}

.recon-comparison-strip {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 28px minmax(0, 1fr);
    gap: 8px;
    align-items: stretch;
    padding: 13px 16px 16px;
    border-top: 1px solid rgba(143,164,204,.07);
    background: rgba(255,255,255,.008);
}

.recon-comparison-arrow {
    display: grid;
    place-items: center;
    color: #46536A;
}

.recon-comparison-item {
    padding: 10px 11px;
    border: 1px solid var(--ei-border);
    border-radius: 11px;
}

.recon-comparison-item span,
.recon-comparison-item strong,
.recon-comparison-item small {
    display: block;
}

.recon-comparison-item span {
    color: var(--ei-muted-2);
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.recon-comparison-item strong {
    margin-top: 4px;
    font-size: 12px;
}

.recon-comparison-item small {
    margin-top: 4px;
    color: var(--ei-muted-2);
    font-size: 9px;
}

.recon-comparison-item.match {
    border-color: rgba(42,212,167,.13);
    background: rgba(42,212,167,.025);
}

.recon-comparison-item.match strong { color: #59D4B9; }

.recon-comparison-item.variance {
    border-color: rgba(255,177,78,.13);
    background: rgba(255,177,78,.025);
}

.recon-comparison-item.variance strong { color: #F0BB70; }

.recon-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
}

.recon-kpi-grid > div {
    padding: 12px;
    border: 1px solid var(--ei-border);
    border-radius: 12px;
    background: rgba(255,255,255,.012);
}

.recon-kpi-grid span,
.recon-kpi-grid strong,
.recon-kpi-grid small {
    display: block;
}

.recon-kpi-grid span {
    color: var(--ei-muted-2);
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.recon-kpi-grid strong {
    margin-top: 5px;
    color: #DDE7F7;
    font-size: 14px;
    font-variant-numeric: tabular-nums;
}

.recon-kpi-grid small {
    margin-top: 4px;
    color: var(--ei-muted-2);
    font-size: 9px;
}

.recon-integrity-note {
    border-color: rgba(77,141,255,.13);
    color: #78ABFF;
    background: linear-gradient(135deg, rgba(77,141,255,.035), rgba(44,108,64,.018));
}

.recon-current-revenue-section,
.recon-ar-section {
    padding: 0;
    overflow: hidden;
}

.recon-revenue-ledger,
.recon-ar-timeline {
    border-top: 1px solid rgba(143,164,204,.065);
}

.recon-revenue-row {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) 100px;
    gap: 10px;
    align-items: center;
    padding: 10px 16px;
    border-bottom: 1px solid rgba(143,164,204,.055);
}

.recon-revenue-row:last-child { border-bottom: 0; }
.recon-revenue-row:hover { background: rgba(255,255,255,.012); }

.recon-revenue-icon {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 9px;
}

.recon-revenue-icon.freight {
    color: #8BB7FF;
    background: rgba(77,141,255,.07);
}

.recon-revenue-icon.charge {
    color: #59D4B9;
    background: rgba(42,212,167,.06);
}

.recon-revenue-main span,
.recon-revenue-main strong,
.recon-revenue-main small {
    display: block;
}

.recon-revenue-main span {
    color: #8794AA;
    font-size: 9px;
    font-weight: 750;
    letter-spacing: .055em;
}

.recon-revenue-main strong {
    margin-top: 2px;
    color: #BFC9D9;
    font-size: 11px;
}

.recon-revenue-main small {
    margin-top: 3px;
    color: var(--ei-muted-2);
    font-size: 9px;
}

.recon-revenue-amount {
    color: #DDE7F7;
    font-size: 11.5px;
    font-weight: 750;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.recon-ledger-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 11px 16px;
    border-top: 1px solid rgba(77,141,255,.12);
    background: rgba(77,141,255,.025);
}

.recon-ledger-total span {
    color: var(--ei-muted-2);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.recon-ledger-total strong {
    color: #8BB7FF;
    font-size: 13px;
    font-variant-numeric: tabular-nums;
}

.recon-ar-row {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 10px;
    padding: 10px 16px;
    border-bottom: 1px solid rgba(143,164,204,.055);
}

.recon-ar-row:last-child { border-bottom: 0; }
.recon-ar-row:hover { background: rgba(255,255,255,.012); }

.recon-ar-marker {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    color: #8EA1BF;
    background: rgba(143,164,204,.06);
}

.recon-ar-row.invoice .recon-ar-marker {
    color: #73A8FF;
    background: rgba(77,141,255,.07);
}

.recon-ar-row.reversal .recon-ar-marker {
    color: #F08A9C;
    background: rgba(255,97,120,.06);
}

.recon-ar-row.cash .recon-ar-marker {
    color: #59D4B9;
    background: rgba(42,212,167,.06);
}

.recon-ar-topline {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
}

.recon-ar-topline span,
.recon-ar-topline strong {
    display: block;
}

.recon-ar-topline span {
    color: var(--ei-muted-2);
    font-size: 9px;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.recon-ar-topline strong {
    margin-top: 2px;
    color: #BAC5D7;
    font-size: 11px;
}

.recon-ar-amount {
    color: #D8E3F4;
    font-size: 11.5px;
    font-weight: 800;
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.recon-ar-row.reversal .recon-ar-amount { color: #F08A9C; }
.recon-ar-row.cash .recon-ar-amount { color: #59D4B9; }

.recon-ar-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 11px;
    margin-top: 5px;
    color: var(--ei-muted-2);
    font-size: 9px;
}

.recon-investigation-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-top: 12px;
}

.recon-investigation-steps > div {
    position: relative;
    padding: 11px 11px 11px 36px;
    border: 1px solid var(--ei-border);
    border-radius: 11px;
    background: rgba(255,255,255,.01);
}

.recon-investigation-steps > div > span {
    position: absolute;
    top: 11px;
    left: 11px;
    display: grid;
    place-items: center;
    width: 18px;
    height: 18px;
    border-radius: 6px;
    color: #8AC69A;
    background: rgba(44,108,64,.08);
    font-size: 10px;
    font-weight: 800;
}

.recon-investigation-steps strong,
.recon-investigation-steps small {
    display: block;
}

.recon-investigation-steps strong {
    color: #C3CDDC;
    font-size: 10px;
}

.recon-investigation-steps small {
    margin-top: 4px;
    color: var(--ei-muted-2);
    font-size: 9px;
    line-height: 1.45;
}

.recon-empty-note {
    padding: 14px 16px;
    color: var(--ei-muted-2);
    font-size: 10px;
    border-top: 1px solid rgba(143,164,204,.055);
}

/* Light mode for reconciliation drill-down */
.pulse-theme-light .recon-hero-card {
    background:
        radial-gradient(circle at 88% 8%, rgba(77,141,255,.10), transparent 34%),
        linear-gradient(135deg, #F3F7FF, #FFFFFF);
}

.pulse-theme-light .recon-hero-value,
.pulse-theme-light .recon-lens-card > strong,
.pulse-theme-light .recon-kpi-grid strong,
.pulse-theme-light .recon-revenue-amount,
.pulse-theme-light .recon-ar-amount {
    color: #1D293D;
}

.pulse-theme-light .recon-hero-side,
.pulse-theme-light .recon-lens-card,
.pulse-theme-light .recon-kpi-grid > div,
.pulse-theme-light .recon-comparison-item,
.pulse-theme-light .recon-investigation-steps > div {
    background: rgba(255,255,255,.72);
}

.pulse-theme-light .recon-hero-side > strong,
.pulse-theme-light .recon-revenue-main strong,
.pulse-theme-light .recon-ar-topline strong,
.pulse-theme-light .recon-investigation-steps strong {
    color: #29364B;
}

.pulse-theme-light .recon-revenue-row:hover,
.pulse-theme-light .recon-ar-row:hover {
    background: rgba(63,84,119,.025);
}

@media (max-width: 760px) {
    .recon-hero-card,
    .recon-lens-grid,
    .recon-kpi-grid,
    .recon-comparison-strip,
    .recon-investigation-steps {
        grid-template-columns: 1fr;
    }

    .recon-comparison-arrow {
        min-height: 18px;
        transform: rotate(90deg);
    }

    .recon-title-row,
    .recon-ar-topline {
        align-items: flex-start;
        flex-direction: column;
    }

    .recon-revenue-row {
        grid-template-columns: 32px minmax(0, 1fr);
    }

    .recon-revenue-amount {
        grid-column: 2;
        text-align: left;
    }
}

/* ============================================================
   Billing Friction Drill-down v0.4
   ============================================================ */

.friction-hero-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 220px;
    gap: 18px;
    align-items: stretch;
    margin-top: 18px;
    padding: 22px;
    border: 1px solid rgba(44,108,64,.20);
    border-radius: 18px;
    background:
        radial-gradient(circle at 88% 8%, rgba(44,108,64,.16), transparent 34%),
        linear-gradient(135deg, rgba(13,20,36,.98), rgba(18,18,42,.98));
    box-shadow: inset 3px 0 0 rgba(44,108,64,.95);
}

.friction-hero-value {
    margin-top: 8px;
    color: #F6F8FC;
    font-size: clamp(30px, 4vw, 48px);
    font-weight: 850;
    line-height: 1;
    letter-spacing: -.035em;
    font-variant-numeric: tabular-nums;
}

.friction-hero-value span {
    color: #9CA9BE;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: -.015em;
}

.friction-hero-caption {
    margin-top: 9px;
    color: var(--ei-muted);
    font-size: 11px;
}

.friction-hero-side {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 16px 18px;
    border: 1px solid rgba(44,108,64,.16);
    border-radius: 14px;
    background: rgba(44,108,64,.055);
}

.friction-repeat-number {
    color: #80BF91;
    font-size: 34px;
    font-weight: 850;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

.friction-hero-side > span {
    margin-top: 7px;
    color: var(--ei-muted-2);
    font-size: 9px;
    font-weight: 800;
    line-height: 1.45;
    letter-spacing: .055em;
}

.friction-hero-side > strong {
    margin-top: 7px;
    color: #C9D2E1;
    font-size: 11px;
}

.friction-story-card {
    border-color: rgba(44,108,64,.15);
}

.friction-distribution-section {
    overflow: hidden;
}

.friction-distribution-bar {
    display: flex;
    width: calc(100% - 32px);
    height: 10px;
    margin: 16px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(143,164,204,.055);
    box-shadow: inset 0 0 0 1px rgba(143,164,204,.04);
}

.friction-segment {
    min-width: 0;
    height: 100%;
}

.friction-segment.clean { background: rgba(66,195,155,.78); }
.friction-segment.single { background: rgba(79,139,245,.82); }
.friction-segment.repeat { background: rgba(241,177,74,.88); }
.friction-segment.multi { background: rgba(237,93,126,.92); }

.friction-distribution-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    padding: 0 16px 16px;
}

.friction-distribution-grid > div {
    display: grid;
    grid-template-columns: 8px minmax(0, 1fr);
    gap: 8px;
    align-items: start;
    padding: 9px 10px;
    border: 1px solid rgba(143,164,204,.07);
    border-radius: 10px;
    background: rgba(255,255,255,.012);
}

.friction-dot {
    width: 6px;
    height: 6px;
    margin-top: 5px;
    border-radius: 50%;
}

.friction-distribution-grid .clean .friction-dot { background: #42C39B; box-shadow: 0 0 10px rgba(66,195,155,.28); }
.friction-distribution-grid .single .friction-dot { background: #4F8BF5; box-shadow: 0 0 10px rgba(79,139,245,.28); }
.friction-distribution-grid .repeat .friction-dot { background: #F1B14A; box-shadow: 0 0 10px rgba(241,177,74,.28); }
.friction-distribution-grid .multi .friction-dot { background: #ED5D7E; box-shadow: 0 0 10px rgba(237,93,126,.28); }

.friction-distribution-grid strong,
.friction-distribution-grid span,
.friction-distribution-grid small {
    display: block;
}

.friction-distribution-grid strong {
    color: #DFE7F4;
    font-size: 14px;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

.friction-distribution-grid span {
    margin-top: 4px;
    color: #AAB6C9;
    font-size: 10px;
    font-weight: 700;
}

.friction-distribution-grid small {
    margin-top: 3px;
    color: var(--ei-muted-2);
    font-size: 9px;
}

.friction-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
    margin-top: 12px;
}

.friction-kpi-grid > div {
    min-height: 92px;
    padding: 13px 14px;
    border: 1px solid var(--ei-border);
    border-radius: 13px;
    background: rgba(255,255,255,.012);
}

.friction-kpi-grid > div.activity {
    border-color: rgba(241,177,74,.16);
    background: rgba(241,177,74,.025);
}

.friction-kpi-grid span,
.friction-kpi-grid strong,
.friction-kpi-grid small {
    display: block;
}

.friction-kpi-grid span {
    color: var(--ei-muted-2);
    font-size: 9px;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: .045em;
}

.friction-kpi-grid strong {
    margin-top: 7px;
    color: #E2E9F4;
    font-size: 14px;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.friction-kpi-grid > div.activity strong { color: #F0C271; }

.friction-kpi-grid small {
    margin-top: 5px;
    color: var(--ei-muted-2);
    font-size: 9px;
    line-height: 1.35;
}

.friction-integrity-note {
    border-color: rgba(79,139,245,.15);
    background: rgba(79,139,245,.025);
}

.friction-order-list {
    border-top: 1px solid rgba(143,164,204,.06);
}

.friction-order-row {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 10px;
    padding: 11px 16px;
    border-bottom: 1px solid rgba(143,164,204,.055);
    transition: background .15s ease;
}

.friction-order-row:last-child { border-bottom: 0; }
.friction-order-row:hover { background: rgba(255,255,255,.012); }

.friction-order-icon {
    display: grid;
    place-items: center;
    width: 29px;
    height: 29px;
    border-radius: 9px;
    color: #F1B14A;
    background: rgba(241,177,74,.065);
}

.friction-order-row.multi .friction-order-icon {
    color: #F07B96;
    background: rgba(237,93,126,.065);
}

.friction-order-title {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.friction-order-title span,
.friction-order-title strong {
    display: block;
}

.friction-order-title span {
    color: var(--ei-muted-2);
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.friction-order-title strong {
    margin-top: 2px;
    color: #C6D0DF;
    font-size: 11.5px;
}

.friction-order-age {
    color: var(--ei-muted-2);
    font-size: 9px;
    white-space: nowrap;
}

.friction-order-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 14px;
    margin-top: 6px;
    color: var(--ei-muted-2);
    font-size: 9px;
}

.friction-order-metrics b {
    color: #B9C5D8;
    font-weight: 800;
}

.friction-order-row.multi .friction-order-metrics b:first-child,
.friction-order-row.multi .friction-order-metrics span:nth-child(2) b {
    color: #EF8EA3;
}

.friction-featured-summary {
    display: grid;
    grid-template-columns: 1fr 32px 1fr .75fr 1.15fr;
    gap: 8px;
    align-items: stretch;
    padding: 13px 16px;
    border-top: 1px solid rgba(143,164,204,.06);
    border-bottom: 1px solid rgba(143,164,204,.06);
    background: rgba(44,108,64,.018);
}

.friction-featured-summary > div:not(.friction-feature-arrow) {
    padding: 9px 10px;
    border: 1px solid rgba(143,164,204,.065);
    border-radius: 10px;
    background: rgba(255,255,255,.01);
}

.friction-featured-summary span,
.friction-featured-summary strong,
.friction-featured-summary small {
    display: block;
}

.friction-featured-summary span {
    color: var(--ei-muted-2);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .045em;
}

.friction-featured-summary strong {
    margin-top: 5px;
    color: #C8D2E1;
    font-size: 11px;
}

.friction-featured-summary small {
    margin-top: 3px;
    color: var(--ei-muted-2);
    font-size: 9px;
}

.friction-featured-summary .not-loss {
    border-color: rgba(241,177,74,.12);
    background: rgba(241,177,74,.025);
}

.friction-featured-summary .not-loss strong { color: #F0C271; }

.friction-feature-arrow {
    display: grid;
    place-items: center;
    color: #66748B;
}

.friction-ar-timeline .recon-ar-row {
    padding-top: 9px;
    padding-bottom: 9px;
}

.friction-action-section p {
    color: #ABB7C9;
    font-size: 11px;
    line-height: 1.65;
}

/* Light mode for billing-friction drill-down */
.pulse-theme-light .friction-hero-card {
    background:
        radial-gradient(circle at 88% 8%, rgba(44,108,64,.09), transparent 34%),
        linear-gradient(135deg, #F7F5FF, #FFFFFF);
}

.pulse-theme-light .friction-hero-value,
.pulse-theme-light .friction-distribution-grid strong,
.pulse-theme-light .friction-kpi-grid strong,
.pulse-theme-light .friction-order-title strong,
.pulse-theme-light .friction-order-metrics b,
.pulse-theme-light .friction-featured-summary strong {
    color: #26334A;
}

.pulse-theme-light .friction-hero-side,
.pulse-theme-light .friction-distribution-grid > div,
.pulse-theme-light .friction-kpi-grid > div,
.pulse-theme-light .friction-featured-summary > div:not(.friction-feature-arrow) {
    background: rgba(255,255,255,.74);
}

.pulse-theme-light .friction-order-row:hover {
    background: rgba(63,84,119,.025);
}

@media (max-width: 900px) {
    .friction-distribution-grid,
    .friction-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .friction-featured-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .friction-feature-arrow { display: none; }
}

@media (max-width: 760px) {
    .friction-hero-card,
    .friction-distribution-grid,
    .friction-kpi-grid,
    .friction-featured-summary {
        grid-template-columns: 1fr;
    }

    .friction-order-title {
        flex-direction: column;
        gap: 4px;
    }
}

/* ---------- Guided Demo v1 ---------- */

.demo-tour-card-v1 {
    z-index: 2200;
    width: min(470px, calc(100vw - 44px));
    padding: 19px 20px 16px;
    border-color: rgba(88, 157, 105, .42);
    background:
        radial-gradient(circle at 93% 0, rgba(44,108,64,.24), transparent 34%),
        radial-gradient(circle at 0 100%, rgba(0,217,192,.055), transparent 34%),
        rgba(10, 15, 25, .985);
    box-shadow: 0 28px 88px rgba(0,0,0,.58), 0 0 0 1px rgba(44,108,64,.08) inset;
}

.demo-tour-card-detail-open {
    left: 276px;
    right: auto;
    bottom: 26px;
    width: min(430px, calc(100vw - 1090px));
    min-width: 360px;
    animation: tourShiftIn .28s cubic-bezier(.2,.8,.2,1);
}

@keyframes tourShiftIn {
    from { transform: translateX(-16px) translateY(8px); opacity: 0; }
    to { transform: translateX(0) translateY(0); opacity: 1; }
}

.demo-tour-card-v1 .demo-tour-progress {
    display: flex;
    grid-template-columns: none;
    gap: 4px;
    margin-bottom: 13px;
}

.demo-tour-card-v1 .demo-tour-progress span {
    flex: 1 1 0;
}

.demo-tour-live-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
}

.demo-live-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #74E4C8;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .105em;
}

.demo-live-pill i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #2AD4A7;
    box-shadow: 0 0 0 4px rgba(42,212,167,.08), 0 0 14px rgba(42,212,167,.45);
}

.demo-step-kind {
    color: #68758D;
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .08em;
}

.demo-tour-card-v1 .demo-tour-head h3 {
    max-width: 370px;
    font-size: 18px;
    line-height: 1.25;
}

.demo-tour-card-v1 > p {
    margin: 11px 0 12px;
    color: #A1ACC0;
    font-size: 12px;
    line-height: 1.62;
}

.demo-proof-point {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 9px;
    align-items: start;
    margin: 3px 0 14px;
    padding: 10px 11px;
    border: 1px solid rgba(44,108,64,.15);
    border-radius: 11px;
    background: rgba(44,108,64,.055);
    color: #BBC5D6;
    font-size: 11px;
    line-height: 1.5;
}

.demo-proof-point .mud-icon-root {
    margin-top: 1px;
    color: #72B283;
}

.demo-future-ai {
    margin: 4px 0 14px;
    padding: 12px;
    border-radius: 12px;
    border: 1px solid rgba(0,217,192,.17);
    background: linear-gradient(145deg, rgba(0,217,192,.055), rgba(44,108,64,.045));
}

.demo-future-ai-label {
    margin-bottom: 8px;
    color: #65D8BD;
    font-size: 9.5px;
    font-weight: 800;
    letter-spacing: .1em;
}

.demo-future-ai-prompt {
    color: #E4E9F4;
    font-size: 11.5px;
    line-height: 1.55;
    font-style: italic;
}

.demo-future-ai-result {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-top: 9px;
    padding-top: 8px;
    border-top: 1px solid rgba(143,164,204,.10);
    color: #8E9AB0;
    font-size: 10.5px;
}

.demo-future-ai-result .mud-icon-root {
    color: #72B283;
}

.demo-tour-card-v1 .demo-tour-actions {
    padding-top: 11px;
}

/* Make the selected signal unmistakable without hiding surrounding context. */
.attention-card.demo-highlight {
    position: relative;
    z-index: 3;
}

.attention-card.demo-highlight::after {
    content: "GUIDED DEMO";
    position: absolute;
    top: -10px;
    left: 18px;
    padding: 4px 7px;
    border-radius: 99px;
    border: 1px solid rgba(105,177,124,.34);
    background: #17142A;
    color: #82C193;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .11em;
    box-shadow: 0 7px 20px rgba(0,0,0,.25);
}

.pulse-theme-light .demo-tour-card-v1 {
    background:
        radial-gradient(circle at 93% 0, rgba(38,95,55,.14), transparent 34%),
        radial-gradient(circle at 0 100%, rgba(0,143,131,.045), transparent 34%),
        rgba(255,255,255,.985);
    border-color: rgba(38,95,55,.24);
    box-shadow: 0 28px 80px rgba(50,61,86,.22), 0 0 0 1px rgba(38,95,55,.05) inset;
}

.pulse-theme-light .demo-tour-card-v1 .demo-tour-head h3,
.pulse-theme-light .demo-future-ai-prompt {
    color: #182136;
}

.pulse-theme-light .demo-tour-card-v1 > p,
.pulse-theme-light .demo-proof-point {
    color: #65718A;
}

.pulse-theme-light .demo-proof-point {
    border-color: rgba(38,95,55,.12);
    background: rgba(38,95,55,.035);
}

.pulse-theme-light .attention-card.demo-highlight::after {
    background: #F3EFFF;
    color: #265F37;
}

@media (max-width: 1350px) {
    .demo-tour-card-detail-open {
        left: 18px;
        width: min(390px, calc(100vw - 820px));
        min-width: 330px;
    }
}

@media (max-width: 1040px) {
    .demo-tour-card-detail-open,
    .demo-tour-card-v1 {
        left: 12px;
        right: 12px;
        bottom: 12px;
        width: auto;
        min-width: 0;
        max-height: 46vh;
        overflow-y: auto;
    }
}

/* ========================================================================== */
/* Ask Enterprise Intelligence                                                */
/* ========================================================================== */

.attention-card-footer-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.attention-card-footer-actions .drill-arrow {
    margin-top: 0;
}

.ai-tell-more-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 7px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #70B181;
    font: inherit;
    font-size: 10px;
    font-weight: 780;
    cursor: pointer;
    transition: color .16s ease, background .16s ease, transform .16s ease;
}

.ai-tell-more-link:hover {
    color: #A1D5AF;
    background: rgba(44,108,64,.09);
    transform: translateY(-1px);
}

.detail-panel-footer-actions {
    display: flex;
    align-items: center;
    gap: 9px;
}

.ai-page-shell {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 286px minmax(0, 1fr);
    height: calc(100vh - 72px);
    min-height: 620px;
    overflow: hidden;
    border-top: 1px solid rgba(143,164,204,.06);
}

.ai-session-rail {
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: 100%;
    padding: 24px 17px 15px;
    background: rgba(8,13,22,.76);
    border-right: 1px solid var(--ei-border);
    backdrop-filter: blur(18px);
}

.ai-session-rail-head,
.ai-workspace-header,
.ai-workspace-title-wrap,
.ai-trust-badges,
.ai-guardrail-mini,
.ai-context-card,
.ai-message,
.ai-message-meta,
.ai-thinking-line,
.ai-composer-footer,
.ai-tool-row {
    display: flex;
    align-items: center;
}

.ai-session-rail-head {
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 14px;
}

.ai-session-rail-head h2 {
    margin: 3px 0 0;
    font-size: 21px;
    letter-spacing: -.035em;
}

.ai-new-session-icon {
    width: 34px !important;
    height: 34px !important;
    border: 1px solid rgba(44,108,64,.18) !important;
    background: rgba(44,108,64,.08) !important;
    color: #82C193 !important;
}

.ai-new-session-button {
    height: 41px;
    margin-bottom: 22px !important;
}

.ai-session-list-label {
    padding: 0 6px 8px;
    color: #596780;
    font-size: 10px;
    font-weight: 820;
    letter-spacing: .12em;
}

.ai-session-list {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding-right: 3px;
    scrollbar-width: thin;
}

.ai-session-row {
    width: 100%;
    display: grid;
    grid-template-columns: 31px minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    min-height: 58px;
    margin-bottom: 5px;
    padding: 8px 7px 8px 9px;
    border: 1px solid transparent;
    border-radius: 12px;
    background: transparent;
    color: inherit;
    text-align: left;
    cursor: pointer;
    transition: background .15s ease, border-color .15s ease, transform .15s ease;
}

.ai-session-row:hover {
    background: rgba(44,108,64,.055);
    border-color: rgba(44,108,64,.10);
}

.ai-session-row.active {
    background: linear-gradient(90deg, rgba(44,108,64,.14), rgba(44,108,64,.045));
    border-color: rgba(44,108,64,.22);
    box-shadow: inset 2px 0 0 #4B9160;
}

.ai-session-row-editing {
    grid-template-columns: minmax(0, 1fr) auto auto;
    padding-left: 5px;
}

.ai-session-icon {
    width: 29px;
    height: 29px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    color: #74B485;
    background: rgba(44,108,64,.085);
}

.ai-session-copy {
    min-width: 0;
}

.ai-session-copy strong {
    display: block;
    color: #C9D1E0;
    font-size: 11.5px;
    font-weight: 650;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ai-session-copy span {
    display: block;
    margin-top: 4px;
    color: #57647C;
    font-size: 10px;
}

.ai-session-actions {
    display: flex;
    opacity: 0;
    transition: opacity .15s ease;
}

.ai-session-row:hover .ai-session-actions,
.ai-session-row.active .ai-session-actions {
    opacity: .8;
}

.ai-session-actions .mud-icon-button {
    width: 25px !important;
    height: 25px !important;
    padding: 4px !important;
    color: #66738B !important;
}

.ai-session-skeleton {
    height: 55px;
    margin-bottom: 6px;
    border-radius: 11px;
    background: linear-gradient(90deg, rgba(255,255,255,.025), rgba(255,255,255,.055), rgba(255,255,255,.025));
    background-size: 220% 100%;
    animation: aiShimmer 1.6s linear infinite;
}

@keyframes aiShimmer { to { background-position: -220% 0; } }

.ai-empty-sessions {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 18px 8px;
    color: #59667D;
    font-size: 11px;
}

.ai-session-rail-footer {
    padding-top: 12px;
    border-top: 1px solid rgba(143,164,204,.08);
}

.ai-guardrail-mini {
    gap: 8px;
    padding: 10px;
    border-radius: 11px;
    background: rgba(0,217,192,.035);
    color: #698078;
}

.ai-guardrail-mini .mud-icon-root { color: #2AD4A7; }
.ai-guardrail-mini strong { display: block; color: #8EA49D; font-size: 11px; }
.ai-guardrail-mini span { display: block; margin-top: 2px; font-size: 9.5px; }

.ai-conversation-workspace {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: 100%;
    overflow: hidden;
    background:
        radial-gradient(circle at 52% -15%, rgba(44,108,64,.10), transparent 35%),
        rgba(7,10,18,.55);
}

.ai-workspace-header {
    flex: none;
    justify-content: space-between;
    min-height: 78px;
    gap: 18px;
    padding: 15px 26px;
    border-bottom: 1px solid var(--ei-border);
    background: rgba(8,12,20,.70);
    backdrop-filter: blur(20px);
}

.ai-workspace-title-wrap { gap: 11px; min-width: 0; }
.ai-workspace-title-wrap > div:last-child { min-width: 0; }
.ai-workspace-title-wrap h1 {
    max-width: 620px;
    margin: 3px 0 0;
    overflow: hidden;
    color: #EDF1FA;
    font-size: 17px;
    font-weight: 720;
    letter-spacing: -.025em;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.ai-brand-orb,
.ai-welcome-icon,
.ai-setup-icon,
.ai-thinking-orb {
    display: grid;
    place-items: center;
    color: #88C69A;
    background: linear-gradient(145deg, rgba(44,108,64,.20), rgba(77,163,255,.06));
    border: 1px solid rgba(44,108,64,.18);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}

.ai-brand-orb { width: 38px; height: 38px; border-radius: 12px; }
.ai-welcome-icon, .ai-setup-icon { width: 62px; height: 62px; margin-bottom: 18px; border-radius: 19px; }
.ai-welcome-icon .mud-icon-root, .ai-setup-icon .mud-icon-root { font-size: 30px; }

.ai-trust-badges { gap: 7px; flex-wrap: wrap; justify-content: flex-end; }
.ai-trust-badges > span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    height: 27px;
    padding: 0 9px;
    border: 1px solid rgba(143,164,204,.13);
    border-radius: 99px;
    color: #68758D;
    background: rgba(255,255,255,.018);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .07em;
}
.ai-trust-badges .mud-icon-root { color: #7F8BA1; }
.ai-trust-badges .ai-model-badge { color: #7ABA8B; border-color: rgba(44,108,64,.18); }
.ai-status-dot { width: 5px; height: 5px; border-radius: 50%; background: #2AD4A7; box-shadow: 0 0 8px rgba(42,212,167,.65); }

.ai-page-loading,
.ai-welcome-state,
.ai-setup-state {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: min(880px, calc(100% - 40px));
    margin: auto;
    padding: 42px 20px 130px;
    text-align: center;
}

.ai-page-loading h3,
.ai-welcome-state h2,
.ai-setup-state h2 {
    margin: 9px 0 8px;
    color: #F2F5FC;
    font-size: clamp(25px, 3vw, 39px);
    letter-spacing: -.045em;
}

.ai-page-loading p,
.ai-welcome-state > p,
.ai-setup-state > p {
    max-width: 700px;
    margin: 0;
    color: #7F8DA6;
    font-size: 12px;
    line-height: 1.65;
}

.ai-welcome-state { position: relative; }
.ai-welcome-glow {
    position: absolute;
    width: 440px;
    height: 220px;
    top: 12%;
    pointer-events: none;
    background: radial-gradient(ellipse, rgba(44,108,64,.15), transparent 67%);
    filter: blur(20px);
}
.ai-welcome-state > *:not(.ai-welcome-glow) { position: relative; z-index: 1; }

.ai-starter-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 10px;
    width: min(760px, 100%);
    margin-top: 28px;
}

.ai-starter-grid button {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    min-height: 92px;
    padding: 15px;
    border: 1px solid var(--ei-border);
    border-radius: 14px;
    background: rgba(13,19,32,.72);
    color: inherit;
    text-align: left;
    cursor: pointer;
    transition: border-color .16s ease, transform .16s ease, background .16s ease;
}
.ai-starter-grid button:hover { transform: translateY(-2px); border-color: rgba(44,108,64,.30); background: rgba(44,108,64,.055); }
.ai-starter-grid .mud-icon-root { color: #74B485; margin-top: 1px; }
.ai-starter-grid strong { display: block; color: #D5DCE9; font-size: 11.5px; }
.ai-starter-grid small { display: block; margin-top: 5px; color: #68758C; font-size: 10.5px; line-height: 1.45; }

.ai-setup-state { max-width: 720px; }
.ai-setup-command {
    width: min(620px, 100%);
    margin: 25px 0 13px;
    padding: 12px 14px;
    border: 1px solid rgba(44,108,64,.18);
    border-radius: 12px;
    background: #090D17;
    text-align: left;
}
.ai-setup-command span { display: block; margin-bottom: 7px; color: #65738C; font-size: 9px; text-transform: uppercase; letter-spacing: .09em; }
.ai-setup-command code { display: block; border: 0; padding: 0; background: transparent; color: #96CFA6; font-size: 11.5px; }
.ai-setup-footnote { font-size: 11px !important; }

.ai-thread {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 24px clamp(24px, 5vw, 80px) 155px;
    scroll-behavior: smooth;
    scrollbar-width: thin;
}

.ai-context-card {
    width: min(900px, 100%);
    gap: 12px;
    margin: 0 auto 24px;
    padding: 15px 17px;
    border: 1px solid rgba(44,108,64,.20);
    border-radius: 15px;
    background:
        radial-gradient(circle at 100% 0, rgba(44,108,64,.12), transparent 38%),
        rgba(16,19,38,.84);
    box-shadow: 0 12px 36px rgba(0,0,0,.14);
}

.ai-context-icon {
    flex: none;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    color: #81C092;
    background: rgba(44,108,64,.10);
}
.ai-context-main { flex: 1; min-width: 0; }
.ai-context-main > span { display: block; color: #5E956E; font-size: 9px; font-weight: 820; letter-spacing: .09em; }
.ai-context-main strong { display: block; margin-top: 4px; color: #E5E9F2; font-size: 12px; font-weight: 690; }
.ai-context-main small { display: block; margin-top: 5px; color: #6F7D94; font-size: 10px; }
.ai-context-amount { flex: none; min-width: 142px; padding: 9px 12px; border-left: 1px solid rgba(143,164,204,.10); text-align: right; }
.ai-context-amount strong { display: block; color: #55E3CB; font-size: 17px; }
.ai-context-amount span { display: block; margin-top: 3px; color: #637088; font-size: 9px; text-transform: uppercase; letter-spacing: .06em; }
.ai-context-amount-neutral strong { color: #88B8FF; }

.ai-message {
    align-items: flex-start;
    width: min(900px, 100%);
    gap: 11px;
    margin: 0 auto 23px;
}
.ai-message-user { flex-direction: row-reverse; }
.ai-message-avatar {
    flex: none;
    width: 31px;
    height: 31px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: #88C69A;
    background: rgba(44,108,64,.11);
    border: 1px solid rgba(44,108,64,.12);
    font-size: 10px;
    font-weight: 800;
}
.ai-message-user .ai-message-avatar { color: #AAB7CA; background: rgba(143,164,204,.06); border-color: rgba(143,164,204,.11); }
.ai-message-content { min-width: 0; max-width: 78%; }
.ai-message-user .ai-message-content { display: flex; flex-direction: column; align-items: flex-end; }
.ai-message-label { margin: 0 0 6px 2px; color: #67748C; font-size: 9px; font-weight: 730; }
.ai-message-text {
    padding: 13px 15px;
    border: 1px solid rgba(143,164,204,.10);
    border-radius: 4px 15px 15px 15px;
    background: rgba(13,19,32,.78);
    color: #B6C0D1;
    font-size: 12px;
    line-height: 1.65;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}
/* Assistant responses are rendered from safe Markdown (raw HTML disabled server-side). */
.ai-message-markdown {
    white-space: normal;
}
.ai-message-markdown > :first-child { margin-top: 0; }
.ai-message-markdown > :last-child { margin-bottom: 0; }
.ai-message-markdown p { margin: 0 0 9px; }
.ai-message-markdown strong { color: #DCE4F0; font-weight: 760; }
.ai-message-markdown em { color: #C5CFDD; }
.ai-message-markdown ul,
.ai-message-markdown ol {
    margin: 7px 0 10px;
    padding-left: 23px;
}
.ai-message-markdown li { margin: 3px 0; }
.ai-message-markdown li::marker { color: #70B984; }
.ai-message-markdown h1,
.ai-message-markdown h2,
.ai-message-markdown h3,
.ai-message-markdown h4 {
    margin: 13px 0 7px;
    color: #E1E7F1;
    line-height: 1.3;
    font-weight: 760;
}
.ai-message-markdown h1 { font-size: 17px; }
.ai-message-markdown h2 { font-size: 15px; }
.ai-message-markdown h3 { font-size: 13.5px; }
.ai-message-markdown h4 { font-size: 12.5px; }
.ai-message-markdown code {
    padding: 1px 5px;
    border: 1px solid rgba(143,164,204,.11);
    border-radius: 5px;
    background: rgba(143,164,204,.07);
    color: #9ED4AC;
    font-size: .92em;
}
.ai-message-markdown pre {
    margin: 9px 0 11px;
    padding: 11px 12px;
    overflow-x: auto;
    border: 1px solid rgba(143,164,204,.10);
    border-radius: 9px;
    background: rgba(5,9,17,.72);
}
.ai-message-markdown pre code {
    padding: 0;
    border: 0;
    background: transparent;
    color: #B8C6D8;
}
.ai-message-markdown blockquote {
    margin: 9px 0;
    padding: 2px 0 2px 11px;
    border-left: 3px solid rgba(78,164,99,.55);
    color: #94A2B7;
}
.ai-message-markdown a { color: #83C994; text-decoration: underline; text-underline-offset: 2px; }
.ai-message-markdown hr { border: 0; border-top: 1px solid rgba(143,164,204,.11); margin: 12px 0; }
.ai-message-markdown table {
    width: 100%;
    margin: 10px 0;
    border-collapse: collapse;
    font-size: 11px;
}
.ai-message-markdown th,
.ai-message-markdown td {
    padding: 7px 9px;
    border: 1px solid rgba(143,164,204,.10);
    text-align: left;
    vertical-align: top;
}
.ai-message-markdown th { color: #D4DDEA; background: rgba(143,164,204,.055); }

.ai-message-user .ai-message-text {
    border-radius: 15px 4px 15px 15px;
    border-color: rgba(44,108,64,.18);
    background: linear-gradient(145deg, rgba(44,108,64,.15), rgba(76,61,142,.10));
    color: #D9DFEA;
}
.ai-message-error { border-color: rgba(255,97,120,.25); color: #FF9AA9; background: rgba(255,97,120,.045); }

.ai-message-meta {
    flex-wrap: wrap;
    gap: 8px;
    margin: 8px 3px 0;
    color: #4F5C73;
    font-size: 9px;
}
.ai-message-meta > span:not(:last-child)::after { content: "·"; margin-left: 8px; color: #333D50; }

.ai-provenance-details {
    position: relative;
    width: 100%;
    margin: 3px 0 5px;
    padding: 8px 10px;
    border: 1px solid rgba(0,217,192,.10);
    border-radius: 10px;
    background: rgba(0,217,192,.025);
}
.ai-provenance-details summary {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #6E918B;
    font-size: 10px;
    font-weight: 670;
    cursor: pointer;
    list-style: none;
}
.ai-provenance-details summary::-webkit-details-marker { display: none; }
.ai-provenance-details summary .mud-icon-root { color: #2AD4A7; }
.ai-tool-list { margin-top: 9px; border-top: 1px solid rgba(143,164,204,.07); }
.ai-tool-row { gap: 8px; min-height: 46px; border-bottom: 1px solid rgba(143,164,204,.06); }
.ai-tool-row > div:nth-child(2) { flex: 1; min-width: 0; }
.ai-tool-row strong { display: block; color: #9AA7BB; font-size: 10px; }
.ai-tool-row span { display: block; margin-top: 2px; color: #59677E; font-size: 9.5px; }
.ai-tool-row small { color: #465269; font-size: 9px; }
.ai-tool-status { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 7px; }
.ai-tool-status.success { color: #2AD4A7; background: rgba(42,212,167,.07); }
.ai-tool-status.failed { color: #FF6178; background: rgba(255,97,120,.07); }
.ai-provenance-footer { padding-top: 7px; color: #4F5E72; font-size: 9px; }

.ai-message-thinking { opacity: .92; }
.ai-thinking-line { gap: 4px; height: 39px; color: #69768C; }
.ai-thinking-line > span { width: 5px; height: 5px; border-radius: 50%; background: #65A977; animation: aiDots 1.05s ease-in-out infinite; }
.ai-thinking-line > span:nth-child(2) { animation-delay: .13s; }
.ai-thinking-line > span:nth-child(3) { animation-delay: .26s; }
.ai-thinking-line em { margin-left: 6px; font-size: 11px; font-style: normal; }
@keyframes aiDots { 0%, 60%, 100% { transform: translateY(0); opacity: .38; } 30% { transform: translateY(-4px); opacity: 1; } }

.ai-composer-wrap {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 4;
    padding: 16px clamp(24px, 5vw, 80px) 20px;
    background: linear-gradient(180deg, transparent, rgba(7,10,18,.90) 18%, rgba(7,10,18,.98) 45%);
    pointer-events: none;
}
.ai-composer {
    width: min(900px, 100%);
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid rgba(44,108,64,.22);
    border-radius: 15px;
    background: rgba(12,17,29,.96);
    box-shadow: 0 18px 50px rgba(0,0,0,.30), 0 0 0 1px rgba(44,108,64,.025) inset;
    pointer-events: auto;
}
.ai-composer:focus-within { border-color: rgba(44,108,64,.50); box-shadow: 0 18px 50px rgba(0,0,0,.30), 0 0 0 3px rgba(44,108,64,.05); }
.ai-composer textarea {
    width: 100%;
    min-height: 72px;
    max-height: 180px;
    resize: vertical;
    padding: 15px 17px 7px;
    border: 0;
    outline: 0;
    background: transparent;
    color: #D5DCE8;
    font: inherit;
    font-size: 12px;
    line-height: 1.55;
}
.ai-composer textarea::placeholder { color: #59667D; }
.ai-composer-hint {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    min-height: 20px;
    padding: 0 16px 2px;
    color: #4F5C71;
    font-size: 9.5px;
    text-align: center;
}
.ai-composer-hint .mud-icon-root { color: #2AAE91; }
.ai-composer-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 1px 8px 8px 16px;
}
.ai-composer-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 2px;
}
.ai-transcribing-label { margin-right: 4px; }
.ai-send-button { background: linear-gradient(145deg,#4F9764,#265F37) !important; color: white !important; width: 36px !important; height: 36px !important; }

.pulse-theme-light .ai-session-rail {
    background: rgba(248,250,253,.90);
}
.pulse-theme-light .ai-conversation-workspace {
    background: radial-gradient(circle at 52% -15%, rgba(38,95,55,.08), transparent 35%), rgba(244,247,252,.70);
}
.pulse-theme-light .ai-workspace-header {
    background: rgba(255,255,255,.82);
}
.pulse-theme-light .ai-workspace-title-wrap h1,
.pulse-theme-light .ai-page-loading h3,
.pulse-theme-light .ai-welcome-state h2,
.pulse-theme-light .ai-setup-state h2 { color: #172033; }
.pulse-theme-light .ai-session-copy strong,
.pulse-theme-light .ai-context-main strong,
.pulse-theme-light .ai-starter-grid strong { color: #31405A; }
.pulse-theme-light .ai-starter-grid button,
.pulse-theme-light .ai-message-text,
.pulse-theme-light .ai-composer { background: rgba(255,255,255,.92); }
.pulse-theme-light .ai-message-text { color: #52617A; }
.pulse-theme-light .ai-message-markdown strong,
.pulse-theme-light .ai-message-markdown h1,
.pulse-theme-light .ai-message-markdown h2,
.pulse-theme-light .ai-message-markdown h3,
.pulse-theme-light .ai-message-markdown h4 { color: #26344D; }
.pulse-theme-light .ai-message-markdown code { color: #2E7442; background: rgba(38,95,55,.06); }
.pulse-theme-light .ai-message-markdown pre { background: #F7F9FC; }
.pulse-theme-light .ai-message-user .ai-message-text { background: rgba(38,95,55,.08); color: #394761; }
.pulse-theme-light .ai-context-card { background: linear-gradient(120deg,rgba(38,95,55,.06),rgba(255,255,255,.96)); }
.pulse-theme-light .ai-composer-wrap { background: linear-gradient(180deg, transparent, rgba(244,247,252,.92) 18%, rgba(244,247,252,.99) 45%); }
.pulse-theme-light .ai-composer textarea { color: #243047; }
.pulse-theme-light .ai-setup-command { background: #F8FAFE; }

@media (max-width: 1180px) {
    .ai-page-shell { grid-template-columns: 240px minmax(0,1fr); }
    .ai-trust-badges > span:nth-child(2) { display: none; }
}

@media (max-width: 820px) {
    .ai-page-shell { grid-template-columns: 1fr; overflow: auto; height: auto; min-height: calc(100vh - 72px); }
    .ai-session-rail { display: none; }
    .ai-conversation-workspace { min-height: calc(100vh - 72px); }
    .ai-workspace-header { padding: 12px 15px; }
    .ai-trust-badges .ai-model-badge { display: none; }
    .ai-thread { padding: 18px 13px 145px; }
    .ai-message-content { max-width: 88%; }
    .ai-context-card { align-items: flex-start; }
    .ai-context-amount { display: none; }
    .ai-starter-grid { grid-template-columns: 1fr; }
    .ai-composer-wrap { padding-left: 13px; padding-right: 13px; }
}

.ai-launch-error {
    flex: none;
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 12px 24px 0;
    padding: 9px 12px;
    border: 1px solid rgba(255,97,120,.20);
    border-radius: 10px;
    background: rgba(255,97,120,.045);
    color: #D88491;
    font-size: 10.5px;
}

/* ========================================================================== */
/* Executive Pulse v0.8 — Action brand + readable microcopy + KPI inspection */
/* ========================================================================== */

/* The primary green is sampled from the Action Enterprises site supplied for
   this design pass. Keep status colors distinct; use brand green for product
   identity, navigation, selection, AI accents, and interactive emphasis. */
.brand-mark {
    background: linear-gradient(145deg, #4F9563 0%, #2C6C40 55%, #1F5A44 100%);
}

.pulse-hero h1 span {
    background: linear-gradient(100deg, #94CAA1 0%, #68B39A 48%, #76C9B5 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.group-strategic_pricing { background: #72B283; }

.ai-message-user .ai-message-text {
    background: linear-gradient(145deg, rgba(44,108,64,.18), rgba(31,90,68,.11));
}

.demo-highlight {
    box-shadow: 0 0 0 2px rgba(44,108,64,.18), 0 22px 54px rgba(18,58,34,.34) !important;
}

@keyframes demoPulse {
    0%, 100% { box-shadow: 0 0 0 2px rgba(44,108,64,.15), 0 22px 54px rgba(18,58,34,.28); }
    50% { box-shadow: 0 0 0 5px rgba(44,108,64,.09), 0 22px 64px rgba(25,79,45,.42); }
}

/* KPI cards now explain themselves instead of acting as unexplained counters. */
.kpi-card {
    min-height: 184px;
    display: flex;
    flex-direction: column;
}

.kpi-card .kpi-foot {
    min-height: 32px;
}

.kpi-card-actions {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 7px;
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid rgba(143,164,204,.075);
}

.kpi-card-action {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 30px;
    padding: 0 9px;
    border: 1px solid rgba(143,164,204,.12);
    border-radius: 8px;
    background: rgba(255,255,255,.015);
    color: #8794AA;
    font: inherit;
    font-size: 10px;
    font-weight: 720;
    cursor: pointer;
    transition: border-color .15s ease, color .15s ease, background .15s ease, transform .15s ease;
}

.kpi-card-action:hover {
    transform: translateY(-1px);
    color: #D8E3E0;
    border-color: rgba(90,163,110,.30);
    background: rgba(44,108,64,.065);
}

.kpi-card-action-ai {
    color: #8FC39B;
    border-color: rgba(90,163,110,.16);
    background: rgba(44,108,64,.035);
}

/* Metric inspector: same evidence-first visual language as observation drilldowns. */
.metric-detail-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1950;
    display: flex;
    justify-content: flex-end;
    background: rgba(3,5,10,.62);
    backdrop-filter: blur(7px);
    animation: fadeIn .18s ease-out;
}

.metric-detail-panel {
    width: min(620px, 94vw);
    height: 100vh;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 25px 26px 28px;
    border-left: 1px solid rgba(90,163,110,.20);
    background:
        radial-gradient(circle at 100% 0, rgba(44,108,64,.17), transparent 27%),
        linear-gradient(180deg, #0C121D, #080D15 72%);
    box-shadow: -30px 0 80px rgba(0,0,0,.38);
}

.metric-detail-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--ei-border);
}

.metric-detail-head h2 {
    margin: 5px 0 4px;
    color: #F3F7F5;
    font-size: 28px;
    line-height: 1.05;
    letter-spacing: -.035em;
}

.metric-detail-head p {
    margin: 0;
    color: #7E8DA2;
    font-size: 11px;
}

.metric-detail-hero {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 22px 0;
    padding: 18px;
    border: 1px solid rgba(90,163,110,.17);
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(44,108,64,.12), rgba(13,19,32,.80));
}

.metric-detail-icon {
    width: 48px;
    height: 48px;
    flex: none;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: #98CDA5;
    background: rgba(44,108,64,.15);
    border: 1px solid rgba(90,163,110,.18);
}

.metric-detail-hero span,
.metric-detail-hero small {
    display: block;
    color: #718098;
    font-size: 10px;
}

.metric-detail-hero strong {
    display: block;
    margin: 3px 0 5px;
    color: #F5FAF7;
    font-size: 34px;
    line-height: 1;
    letter-spacing: -.04em;
}

.metric-detail-section {
    margin: 18px 0;
}

.metric-detail-section-title {
    margin-bottom: 8px;
    color: #83B68F;
    font-size: 10px;
    font-weight: 820;
    letter-spacing: .10em;
    text-transform: uppercase;
}

.metric-detail-section p {
    margin: 0;
    color: #A1ADBE;
    font-size: 12px;
    line-height: 1.65;
}

.metric-rule-card {
    padding: 15px 16px;
    border: 1px solid rgba(143,164,204,.10);
    border-radius: 13px;
    background: rgba(255,255,255,.018);
}

.metric-rule-card code {
    display: block;
    margin: 4px 0 10px;
    padding: 10px 11px;
    color: #B6D9BF;
    font-size: 11px;
    line-height: 1.45;
    background: rgba(44,108,64,.07);
    border-color: rgba(90,163,110,.14);
}

.metric-contributor-list,
.metric-group-list {
    border: 1px solid rgba(143,164,204,.09);
    border-radius: 13px;
    overflow: hidden;
    background: rgba(255,255,255,.012);
}

.metric-contributor-row,
.metric-group-list > div {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 58px;
    padding: 10px 12px;
    border-bottom: 1px solid rgba(143,164,204,.07);
}

.metric-contributor-row:last-child,
.metric-group-list > div:last-child {
    border-bottom: 0;
}

.metric-contributor-row > div {
    flex: 1;
    min-width: 0;
}

.metric-contributor-row strong,
.metric-group-list strong {
    display: block;
    color: #CCD5DF;
    font-size: 11px;
    line-height: 1.35;
}

.metric-contributor-row span,
.metric-group-list small {
    display: block;
    margin-top: 4px;
    color: #6F7E94;
    font-size: 10px;
}

.metric-contributor-row b {
    flex: none;
    color: #9ACCA5;
    font-size: 12px;
}

.metric-group-list > div {
    min-height: 45px;
}

.metric-group-list .intel-strip-dot {
    flex: none;
}

.metric-group-list strong {
    flex: 1;
}

.metric-detail-empty {
    padding: 14px;
    border: 1px dashed rgba(143,164,204,.12);
    border-radius: 12px;
    color: #738197;
    font-size: 11px;
}

.metric-detail-trust {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 22px 0 6px;
    padding: 12px 13px;
    border: 1px solid rgba(62,203,139,.13);
    border-radius: 12px;
    color: #7FA08C;
    background: rgba(62,203,139,.035);
    font-size: 11px;
    line-height: 1.5;
}

.metric-detail-trust .mud-icon-root {
    flex: none;
    margin-top: 1px;
    color: var(--ei-green);
}

.metric-detail-actions {
    display: flex;
    align-items: center;
    margin-top: 18px;
    padding-top: 17px;
    border-top: 1px solid var(--ei-border);
}

.pulse-theme-light .metric-detail-panel {
    background:
        radial-gradient(circle at 100% 0, rgba(44,108,64,.08), transparent 27%),
        linear-gradient(180deg, #FFFFFF, #F5F8F6 72%);
    border-left-color: rgba(44,108,64,.16);
}

.pulse-theme-light .metric-detail-head h2,
.pulse-theme-light .metric-detail-hero strong {
    color: #17241B;
}

.pulse-theme-light .metric-detail-section p,
.pulse-theme-light .metric-contributor-row strong,
.pulse-theme-light .metric-group-list strong {
    color: #44554A;
}

.pulse-theme-light .metric-rule-card,
.pulse-theme-light .metric-contributor-list,
.pulse-theme-light .metric-group-list {
    background: rgba(255,255,255,.88);
}

@media (max-width: 1050px) {
    .kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
    .kpi-grid { grid-template-columns: 1fr; }
    .metric-detail-panel { width: 100vw; }
}

/* ---------- v0.9 governance, lifecycle, and readability ---------- */

/* Keep the date explanation in its own layout lane so it cannot collide with To. */
.date-context-cluster { flex: 1 1 auto; min-width: 0; }
.date-filter-controls { flex: 0 0 auto; min-width: max-content; }
.date-filter-note { flex: 1 1 260px; margin-left: 8px; min-width: 210px; max-width: 360px; font-size: 10.5px; line-height: 1.4; }

/* Light theme contrast pass. */
.pulse-theme-light .brief-title,
.pulse-theme-light .brief-card-head,
.pulse-theme-light .executive-brief-card p,
.pulse-theme-light .executive-brief-card strong,
.pulse-theme-light .queue-summary-row strong,
.pulse-theme-light .secondary-hero h1,
.pulse-theme-light .section-heading-row h2,
.pulse-theme-light .page-shell h1,
.pulse-theme-light .page-shell h2,
.pulse-theme-light .page-shell h3 { color: #17241B !important; }
.pulse-theme-light .brief-subtitle,
.pulse-theme-light .brief-footer,
.pulse-theme-light .date-filter-note,
.pulse-theme-light .muted-copy,
.pulse-theme-light .queue-source-note { color: #5E6F64 !important; }
.pulse-theme-light .date-input-shell input { color: #203127; color-scheme: light; }
.pulse-theme-light .date-input-shell span { color: #596A60; }

/* Signal lifecycle and provenance. */
.attention-card { position: relative; }
.signal-corner-flag { position:absolute; right:14px; top:10px; transform:none; z-index:3; padding:4px 8px; border-radius:999px; font-size:9px; font-weight:850; letter-spacing:.08em; border:1px solid rgba(68,190,112,.28); background:#214E31; color:#DFF7E6; box-shadow:0 7px 20px rgba(0,0,0,.18); }
.attention-card.has-lifecycle-flag .attention-card-topline { padding-top:40px; }
.signal-corner-flag.updated { background:#31576A; border-color:rgba(103,183,218,.32); color:#E5F6FD; }
.source-badge,.assignment-chip,.ai-scoped-badge,.ai-enterprise-badge { display:inline-flex; align-items:center; gap:5px; padding:4px 8px; border-radius:999px; font-size:9.5px; font-weight:750; border:1px solid rgba(74,155,94,.18); background:rgba(44,108,64,.07); color:#8ACB9B; }
.assignment-chip { color:#B7C4D8; border-color:rgba(143,164,204,.14); background:rgba(143,164,204,.05); }
.card-management-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.card-mini-action { border:0; background:transparent; color:#74849A; font-size:10px; font-weight:700; cursor:pointer; padding:5px 2px; }
.card-mini-action:hover { color:#91CDA1; }
.inline-assignment-panel { margin-top:12px; padding:12px; border:1px solid var(--ei-border); border-radius:12px; background:rgba(255,255,255,.018); }

/* Governance/admin pages. */
.governance-page,.page-shell { max-width:1500px; }
.admin-info-strip,.assignment-summary-strip,.preference-explainer { margin:12px 0 18px; padding:13px 15px; border:1px solid rgba(44,108,64,.15); border-radius:13px; background:rgba(44,108,64,.035); color:#81938A; font-size:11px; line-height:1.55; }
.user-admin-grid,.assigned-work-grid,.demo-admin-grid,.sanity-grid,.preference-list { display:grid; gap:12px; }
.user-admin-grid,.demo-admin-grid,.sanity-grid { grid-template-columns:repeat(auto-fit,minmax(330px,1fr)); }
.user-admin-card,.assigned-work-card,.demo-admin-card,.sanity-card,.preference-row,.admin-settings-section,.preference-editor,.assignment-table,.usage-table { border:1px solid var(--ei-border); border-radius:15px; background:rgba(255,255,255,.018); box-shadow:var(--ei-soft-shadow); }
.user-admin-card,.assigned-work-card,.demo-admin-card,.sanity-card,.preference-row,.admin-settings-section,.preference-editor { padding:16px; }
.user-admin-head,.assigned-card-top,.demo-admin-head,.sanity-head,.setting-row { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.user-admin-head strong,.assigned-card-top strong,.demo-admin-head strong,.sanity-head strong,.preference-row strong { color:#C4CFDE; font-size:12px; }
.user-admin-meta,.assigned-evidence-line,.demo-admin-current,.sanity-captured,.muted-copy { color:#6C7A90; font-size:10.5px; line-height:1.5; }
.user-role-options { display:flex; gap:8px; flex-wrap:wrap; margin:12px 0; }
.user-admin-actions,.assigned-card-actions,.demo-admin-actions,.sanity-actions,.usage-range-buttons { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-top:12px; }
.status-chip { display:inline-flex; padding:4px 8px; border-radius:999px; font-size:9px; font-weight:800; letter-spacing:.05em; border:1px solid var(--ei-border); color:#A8B5C8; }
.status-approved,.status-active,.status-accepted { color:#74C78B; border-color:rgba(74,199,139,.18); background:rgba(74,199,139,.05); }
.status-pending { color:#E4BE70; border-color:rgba(228,190,112,.2); background:rgba(228,190,112,.05); }
.status-denied,.status-rejected { color:#E98C99; border-color:rgba(233,140,153,.2); background:rgba(233,140,153,.05); }
.empty-state-card { padding:28px; border:1px dashed var(--ei-border); border-radius:15px; color:#75849B; text-align:center; }
.assignment-table,.usage-table { overflow:hidden; }
.assignment-row,.usage-user-row { display:grid; grid-template-columns:minmax(180px,1.5fr) minmax(120px,.8fr) minmax(120px,.8fr) minmax(110px,.7fr) minmax(110px,.7fr); gap:12px; align-items:center; padding:12px 14px; border-bottom:1px solid var(--ei-border); font-size:10.5px; color:#8290A6; }
.assignment-row strong,.usage-user-row strong { color:#B9C5D6; }
.usage-total { font-variant-numeric:tabular-nums; font-weight:800; color:#7EC690; }
.preference-fields { display:grid; grid-template-columns:2fr 1.4fr 1fr auto; gap:10px; align-items:end; }
.sanity-values { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:12px 0; }
.sanity-values > div { padding:10px; border-radius:10px; background:rgba(143,164,204,.035); }
.sanity-reviewed { margin-top:10px; font-size:10.5px; }
.sanity-reviewed.accepted { color:#70C486; }.sanity-reviewed.rejected { color:#E58B98; }
.demo-candidates { margin-top:12px; display:grid; gap:7px; }
.demo-candidate { display:flex; justify-content:space-between; gap:10px; padding:9px 10px; border:1px solid var(--ei-border); border-radius:10px; }

/* Access request state. */
.access-request-actions { display:flex; gap:10px; align-items:center; justify-content:center; margin-top:16px; }

/* Assignment-scoped AI and voice. */
.ai-conversation-workspace-scoped { grid-column:1 / -1; }
.ai-scoped-badge { color:#95CEA5 !important; }
.ai-enterprise-badge { color:#95CEA5 !important; border-color:rgba(74,155,94,.28) !important; background:rgba(44,108,64,.10) !important; }
.ai-mic-button { color:#8AA0B8 !important; }
.ai-mic-button.recording { color:#F07D8E !important; animation:pulseMic 1.1s ease-in-out infinite; }
@keyframes pulseMic { 50% { transform:scale(1.08); opacity:.72; } }
.ai-assignment-proposal { margin-top:10px; padding:13px; border:1px solid rgba(44,108,64,.18); border-radius:12px; background:rgba(44,108,64,.045); }
.ai-assignment-proposal strong { color:#BBDCC3; }
.ai-assignment-proposal .proposal-actions { display:flex; gap:8px; margin-top:10px; }

.pulse-theme-light .user-admin-card,.pulse-theme-light .assigned-work-card,.pulse-theme-light .demo-admin-card,.pulse-theme-light .sanity-card,.pulse-theme-light .preference-row,.pulse-theme-light .admin-settings-section,.pulse-theme-light .preference-editor,.pulse-theme-light .assignment-table,.pulse-theme-light .usage-table,.pulse-theme-light .inline-assignment-panel { background:#FFFFFF; }
.pulse-theme-light .user-admin-head strong,.pulse-theme-light .assigned-card-top strong,.pulse-theme-light .demo-admin-head strong,.pulse-theme-light .sanity-head strong,.pulse-theme-light .preference-row strong,.pulse-theme-light .assignment-row strong,.pulse-theme-light .usage-user-row strong { color:#24342A; }
.pulse-theme-light .user-admin-meta,.pulse-theme-light .assigned-evidence-line,.pulse-theme-light .demo-admin-current,.pulse-theme-light .sanity-captured,.pulse-theme-light .assignment-row,.pulse-theme-light .usage-user-row { color:#617166; }

@media (max-width:1180px){
  .date-context-cluster{width:100%;display:grid!important;grid-template-columns:auto 1fr;gap:8px 12px;align-items:center!important}
  .date-context-cluster>.context-label{grid-column:1}.date-filter-controls{grid-column:2}.date-filter-note{grid-column:2;margin-left:0;max-width:none;min-width:0}
}
@media (max-width:760px){
  .date-context-cluster{display:flex!important}.date-filter-controls{min-width:0}.date-filter-note{min-width:0}
  .preference-fields{grid-template-columns:1fr}.assignment-row,.usage-user-row{grid-template-columns:1fr}.sanity-values{grid-template-columns:1fr}
}
.ai-action-proposal { display:grid; grid-template-columns:34px minmax(0,1fr) auto; gap:11px; align-items:center; margin-top:10px; padding:12px 13px; border:1px solid rgba(44,108,64,.18); border-radius:12px; background:rgba(44,108,64,.045); }
.ai-action-proposal-icon { width:32px; height:32px; display:grid; place-items:center; border-radius:10px; color:#87C998; background:rgba(44,108,64,.10); }
.ai-action-proposal-copy { min-width:0; }
.ai-action-proposal-copy>span { display:block; font-size:9px; font-weight:850; letter-spacing:.08em; color:#6F9E7C; }
.ai-action-proposal-copy>strong { display:block; margin-top:3px; color:#C8D8CD; font-size:11.5px; }
.ai-action-proposal-copy>small { display:block; margin-top:3px; color:#718097; font-size:9.5px; }
.ai-action-proposal-copy>p { margin:6px 0 0; color:#8795A8; font-size:10.5px; }
.pulse-theme-light .ai-action-proposal { background:#F5FAF6; }
.pulse-theme-light .ai-action-proposal-copy>strong { color:#25382B; }
@media(max-width:680px){.ai-action-proposal{grid-template-columns:32px 1fr}.ai-action-proposal>.mud-button-root{grid-column:2}}

/* ---------- v0.9.1 visual polish: governance & workflow ---------- */

.governance-page {
    --gov-surface: linear-gradient(180deg, rgba(16, 23, 36, .96), rgba(10, 15, 25, .94));
    --gov-surface-soft: rgba(255,255,255,.022);
    --gov-line: rgba(143,164,204,.13);
    --gov-line-strong: rgba(143,164,204,.22);
}

.governance-page-head {
    align-items: center;
    margin-bottom: 24px;
}

.governance-page-head h1 {
    margin: 5px 0 5px;
    color: #F4F7FB;
    font-size: clamp(28px, 3vw, 38px);
    line-height: 1.06;
    font-weight: 780;
    letter-spacing: -.045em;
}

.governance-page-head p {
    max-width: 820px;
    color: #7E8CA3;
    font-size: 12.5px;
    line-height: 1.6;
}

.governance-empty {
    display: grid;
    justify-items: center;
    gap: 8px;
    min-height: 210px;
    align-content: center;
    background: rgba(255,255,255,.012);
}

.governance-empty .mud-icon-root,
.empty-state-icon .mud-icon-root {
    color: #72B584;
}

.governance-empty h2,
.work-empty-state h2 {
    margin: 4px 0 0;
    color: #E8EDF5;
    font-size: 18px;
}

.governance-empty p,
.work-empty-state p {
    max-width: 560px;
    margin: 0;
    color: #748198;
    font-size: 11.5px;
    line-height: 1.6;
}

.governance-callout,
.accounting-intro-strip {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 15px 16px;
    background: linear-gradient(135deg, rgba(44,108,64,.085), rgba(44,108,64,.025));
    border-color: rgba(90,163,110,.18);
}

.governance-callout-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: #8ED09F;
    background: rgba(44,108,64,.13);
    border: 1px solid rgba(90,163,110,.17);
}

.governance-callout > div:last-child,
.accounting-intro-strip > div:last-child {
    min-width: 0;
}

.governance-callout strong,
.accounting-intro-strip strong {
    display: block;
    color: #C8D8CD;
    font-size: 12px;
    font-weight: 760;
}

.governance-callout span,
.accounting-intro-strip span {
    display: block;
    margin-top: 3px;
    color: #819089;
    font-size: 11px;
    line-height: 1.55;
}

/* Assignment editor inside an Executive Pulse card */
.inline-assignment-panel {
    margin: 12px 17px 16px 18px;
    padding: 16px;
    border: 1px solid rgba(90,163,110,.20);
    border-radius: 15px;
    background:
        radial-gradient(circle at 0 0, rgba(44,108,64,.11), transparent 40%),
        rgba(8,13,22,.82);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}

.assignment-panel-head {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    margin-bottom: 14px;
}

.assignment-panel-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: #8ED09F;
    background: rgba(44,108,64,.12);
    border: 1px solid rgba(90,163,110,.16);
}

.assignment-panel-kicker {
    display: block;
    margin-bottom: 2px;
    color: #679D76;
    font-size: 8.5px;
    font-weight: 850;
    letter-spacing: .12em;
}

.assignment-panel-head strong {
    display: block;
    color: #E7EDF5;
    font-size: 13px;
    line-height: 1.3;
}

.assignment-panel-head p {
    margin: 4px 0 0;
    color: #7B899E;
    font-size: 10.5px;
    line-height: 1.5;
}

.assignment-panel-fields {
    display: grid;
    grid-template-columns: minmax(190px, .8fr) minmax(260px, 1.2fr);
    gap: 10px;
}

.ei-field-label {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.ei-field-label > span {
    color: #8B99AD;
    font-size: 9.5px;
    font-weight: 700;
}

.ei-field-label > span small {
    color: #5F6C80;
    font-size: 9px;
    font-weight: 550;
}

.ei-native-control {
    width: 100%;
    min-width: 0;
    height: 40px;
    padding: 0 12px;
    border: 1px solid var(--ei-border-strong);
    border-radius: 10px;
    outline: none;
    color: #D8E1EC;
    background: #0A101B;
    font: inherit;
    font-size: 11px;
    transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

select.ei-native-control {
    padding-right: 34px;
    color-scheme: dark;
}

.ei-native-control::placeholder { color: #5D6A7E; }
.ei-native-control:focus {
    border-color: rgba(90,163,110,.72);
    box-shadow: 0 0 0 3px rgba(44,108,64,.11);
    background: #0C1320;
}

.assignment-panel-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 13px;
    padding-top: 12px;
    border-top: 1px solid rgba(143,164,204,.09);
}

.assignment-panel-footer > span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #6F7F92;
    font-size: 9.5px;
}
.assignment-panel-footer > span .mud-icon-root { color: #69B67D; }

/* Settings */
.settings-card {
    position: relative;
    overflow: hidden;
    margin-bottom: 15px;
    padding: 0;
    background: var(--gov-surface);
}

.settings-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: linear-gradient(180deg, rgba(90,163,110,.85), rgba(44,108,64,.12));
}

.settings-section-head {
    display: grid;
    grid-template-columns: 40px minmax(0,1fr) auto;
    gap: 13px;
    align-items: center;
    padding: 18px 20px 16px;
    border-bottom: 1px solid var(--gov-line);
}

.settings-section-icon {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    color: #8FD0A0;
    background: rgba(44,108,64,.12);
    border: 1px solid rgba(90,163,110,.15);
}

.settings-section-head h2 {
    margin: 2px 0 3px;
    color: #E8EDF5;
    font-size: 17px;
    font-weight: 760;
    letter-spacing: -.02em;
}

.settings-section-head p {
    margin: 0;
    max-width: 780px;
    color: #748299;
    font-size: 10.8px;
    line-height: 1.5;
}

.settings-eyebrow {
    color: #659B74;
    font-size: 8.5px;
    font-weight: 850;
    letter-spacing: .13em;
}

.settings-stack { display: grid; }

.polished-setting-row {
    display: grid;
    grid-template-columns: minmax(320px, 1fr) minmax(190px, 280px) minmax(120px, auto);
    gap: 18px;
    align-items: center;
    min-height: 88px;
    padding: 16px 20px;
    border-bottom: 1px solid rgba(143,164,204,.075);
}

.polished-setting-row:last-child { border-bottom: 0; }

.setting-copy { min-width: 0; }
.setting-copy strong {
    display: block;
    color: #D7DFE9;
    font-size: 12px;
    font-weight: 750;
}
.setting-copy span {
    display: block;
    max-width: 680px;
    margin-top: 4px;
    color: #738198;
    font-size: 10.5px;
    line-height: 1.5;
}
.setting-control { min-width: 0; }
.setting-control .mud-input-control { margin: 0 !important; }
.setting-control .mud-input-root { background: rgba(5,10,17,.28); }
.setting-save-button { justify-self: end; min-width: 112px; }
.setting-action-placeholder { min-width: 112px; }

.demo-settings-card { padding-bottom: 18px; }
.demo-settings-head { margin-bottom: 16px; }
.settings-head-action { justify-self: end; }
.demo-admin-grid { padding: 0 18px; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 12px; }

.demo-admin-card {
    position: relative;
    padding: 15px;
    background: rgba(255,255,255,.015);
    border-color: rgba(143,164,204,.12);
    box-shadow: none;
}
.demo-admin-card:hover { border-color: rgba(90,163,110,.22); background: rgba(44,108,64,.025); }
.demo-admin-head { align-items: center; }
.demo-admin-head > div { min-width: 0; }
.demo-scenario-key {
    display: block;
    margin-bottom: 3px;
    color: #65748B;
    font-size: 8px;
    font-weight: 850;
    letter-spacing: .11em;
}
.demo-admin-head strong { display: block; color: #D9E2EC; font-size: 12.5px; }
.demo-admin-current {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 3px 10px;
    margin-top: 13px;
    padding: 11px 12px;
    border: 1px solid rgba(143,164,204,.09);
    border-radius: 11px;
    background: rgba(0,0,0,.10);
}
.demo-admin-current span { grid-column: 1; color: #66748A; font-size: 9px; text-transform: uppercase; letter-spacing: .08em; font-weight: 750; }
.demo-admin-current strong { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: #9FD0AA; font-size: 14px; }
.demo-admin-current small { color: #8491A4; font-size: 9.5px; }
.demo-verification-note { min-height: 34px; margin: 11px 1px 0; color: #77869B; font-size: 10.5px; line-height: 1.55; }
.demo-admin-actions { padding-top: 11px; border-top: 1px solid rgba(143,164,204,.07); }
.candidate-list-title { color: #7BAA87; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.demo-candidates { margin-top: 13px; padding-top: 12px; border-top: 1px solid rgba(143,164,204,.08); }
.demo-candidate { align-items: center; padding: 10px 11px; background: rgba(255,255,255,.015); }
.demo-candidate > div { min-width: 0; }
.demo-candidate strong, .demo-candidate span, .demo-candidate small { display: block; }
.demo-candidate strong { color: #CCD6E2; font-size: 10.5px; }
.demo-candidate span { margin-top: 2px; color: #7F8CA0; font-size: 9.7px; }
.demo-candidate small { margin-top: 3px; color: #637188; font-size: 9px; }

/* User admin */
.user-admin-grid { grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)); gap: 14px; }
.user-admin-card {
    padding: 17px;
    background: var(--gov-surface);
    border-color: rgba(143,164,204,.12);
}
.user-admin-card.pending { border-color: rgba(228,190,112,.24); box-shadow: inset 3px 0 0 rgba(228,190,112,.70), var(--ei-soft-shadow); }
.user-admin-identity { display: flex; align-items: center; gap: 10px; min-width: 0; }
.user-admin-avatar,
.usage-avatar {
    width: 35px;
    height: 35px;
    flex: 0 0 35px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    color: #A8D8B4;
    background: rgba(44,108,64,.13);
    border: 1px solid rgba(90,163,110,.16);
    font-size: 10px;
    font-weight: 800;
}
.user-admin-identity strong { display: block; font-size: 12.5px; }
.user-admin-identity span { display: block; margin-top: 2px; color: #66748A; font-size: 9.5px; }
.role-section-label { margin-top: 16px; color: #617089; font-size: 8px; font-weight: 850; letter-spacing: .12em; }
.user-role-options { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; margin: 8px 0 14px; }
.role-toggle {
    position: relative;
    display: grid;
    grid-template-columns: 18px minmax(0,1fr);
    grid-template-rows: auto auto;
    column-gap: 8px;
    padding: 10px;
    border: 1px solid rgba(143,164,204,.10);
    border-radius: 10px;
    background: rgba(255,255,255,.014);
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease;
}
.role-toggle:hover { border-color: rgba(90,163,110,.24); background: rgba(44,108,64,.025); }
.role-toggle input { grid-row: 1 / span 2; margin: 2px 0 0; accent-color: #4C9A61; }
.role-toggle span { color: #BFC9D7; font-size: 10.5px; font-weight: 700; }
.role-toggle small { margin-top: 2px; color: #66748A; font-size: 8.8px; }
.user-admin-meta { display: flex; gap: 16px; flex-wrap: wrap; padding: 11px 0 1px; border-top: 1px solid rgba(143,164,204,.07); }
.user-admin-meta span { display: inline-flex; align-items: center; gap: 5px; }
.user-admin-meta .mud-icon-root { color: #667D6D; }
.user-admin-actions { margin-top: 14px; }

/* Assignment management */
.assignment-stat-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    padding: 0;
    overflow: hidden;
    background: var(--gov-surface);
}
.assignment-stat-strip > div { display: flex; align-items: center; gap: 11px; min-height: 74px; padding: 14px 18px; border-right: 1px solid rgba(143,164,204,.08); }
.assignment-stat-strip > div:last-child { border-right: 0; }
.assignment-stat-strip strong { display: block; color: #E6EDF5; font-size: 21px; line-height: 1; }
.assignment-stat-strip span:not(.assignment-stat-icon) { display: block; margin-top: 4px; color: #748299; font-size: 9.5px; }
.assignment-stat-icon { width: 33px; height: 33px; display: grid; place-items: center; border-radius: 10px; color: #8AB696; background: rgba(44,108,64,.08); }
.assignment-stat-icon.active { color: #7ACA8D; }
.assignment-stat-icon.cleared { color: #7BA6B8; background: rgba(96,157,179,.08); }

.polished-table { overflow: hidden; background: var(--gov-surface); border-color: rgba(143,164,204,.12); }
.assignment-row { grid-template-columns: 110px minmax(260px, 1.8fr) minmax(180px, .85fr) 150px; min-height: 64px; padding: 12px 16px; font-size: 10.5px; }
.assignment-row:last-child, .usage-user-row:last-child { border-bottom: 0; }
.assignment-header-row, .usage-header-row { min-height: 38px; color: #5E6D83; background: rgba(255,255,255,.018); font-size: 8.5px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.assignment-signal-cell strong, .assignment-owner-cell strong { display: block; color: #C9D3DF; font-size: 11px; }
.assignment-signal-cell small, .assignment-owner-cell small { display: block; margin-top: 4px; color: #68768B; font-size: 9.5px; }
.assignment-date-cell { color: #8290A3; font-variant-numeric: tabular-nums; }
.status-cleared { color: #83AFC1; border-color: rgba(96,157,179,.18); background: rgba(96,157,179,.055); }

/* My Assigned Work */
.assigned-work-grid { grid-template-columns: repeat(auto-fit, minmax(420px, 1fr)); gap: 14px; }
.assigned-work-card {
    position: relative;
    overflow: hidden;
    padding: 18px;
    background: var(--gov-surface);
    border-color: rgba(143,164,204,.12);
}
.assigned-work-card::before { content:""; position:absolute; inset:0 auto 0 0; width:3px; background:#4B9A60; }
.assigned-work-card.cleared { opacity: .76; }
.assigned-work-card.cleared::before { background:#609DB3; }
.assignment-state { display:inline-flex; align-items:center; gap:5px; padding:4px 8px; border-radius:999px; color:#8ED09F; background:rgba(44,108,64,.08); border:1px solid rgba(90,163,110,.15); font-size:8.5px; font-weight:850; letter-spacing:.07em; }
.assignment-state.cleared { color:#8DB7C7; background:rgba(96,157,179,.07); border-color:rgba(96,157,179,.15); }
.assigned-confidence { color:#68778D; font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.assigned-work-card h2 { margin:15px 0 7px; color:#E4EAF2; font-size:16px; line-height:1.35; letter-spacing:-.018em; }
.assigned-explanation { margin:0; color:#8B98AA; font-size:11px; line-height:1.65; }
.assigned-evidence-line { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:14px; padding:11px 12px; border:1px solid rgba(143,164,204,.09); border-radius:11px; background:rgba(255,255,255,.014); }
.assigned-evidence-line span { color:#7B899E; }
.assigned-evidence-line strong { color:#9ACBA6; font-size:13px; }
.assignment-note { display:flex; align-items:flex-start; gap:8px; margin-top:10px; padding:11px 12px; border-radius:11px; color:#8795A7; background:rgba(44,108,64,.045); border:1px solid rgba(90,163,110,.10); }
.assignment-note .mud-icon-root { margin-top:1px; color:#72B684; }
.assignment-note strong, .assignment-note span { display:block; }
.assignment-note strong { color:#A7B9AC; font-size:9px; text-transform:uppercase; letter-spacing:.06em; }
.assignment-note span { margin-top:3px; font-size:10.5px; line-height:1.5; }
.assigned-card-actions { margin-top:14px; padding-top:13px; border-top:1px solid rgba(143,164,204,.08); }

/* Accounting */
.accounting-intro-strip { margin: 0 0 16px; border: 1px solid rgba(44,108,64,.15); border-radius:13px; }
.sanity-grid { grid-template-columns: repeat(auto-fit, minmax(390px, 1fr)); gap: 14px; }
.sanity-card { padding:17px; background:var(--gov-surface); border-color:rgba(143,164,204,.12); }
.sanity-order-label { display:block; color:#68778C; font-size:8.5px; font-weight:850; letter-spacing:.10em; }
.sanity-head strong { display:block; margin-top:3px; color:#D8E0E9; font-size:12.5px; }
.sanity-captured { display:flex; align-items:flex-start; gap:6px; margin-top:13px; padding:9px 10px; border-radius:9px; background:rgba(44,108,64,.035); }
.sanity-captured .mud-icon-root { margin-top:1px; flex:none; color:#6BAA7A; }
.sanity-captured span { color:#748298; }
.sanity-captured strong { color:#A6B6AA; }
.sanity-values { gap:8px; margin:12px 0 14px; }
.sanity-values > div { min-height:70px; display:flex; flex-direction:column; justify-content:center; padding:11px; background:rgba(255,255,255,.016); border:1px solid rgba(143,164,204,.07); }
.sanity-values span { color:#69778D; font-size:8.7px; text-transform:uppercase; letter-spacing:.055em; }
.sanity-values strong { display:block; margin-top:5px; color:#D5DEE9; font-size:14px; }
.sanity-review-editor { padding-top:2px; }
.sanity-actions { margin-top:10px; }
.sanity-reviewed { display:flex; align-items:flex-start; gap:10px; padding:12px; border:1px solid currentColor; border-radius:11px; background:rgba(255,255,255,.012); }
.sanity-review-mark { width:30px; height:30px; display:grid; place-items:center; flex:none; border-radius:50%; background:rgba(255,255,255,.04); font-size:15px; font-weight:900; }
.sanity-reviewed strong, .sanity-reviewed span { display:block; }
.sanity-reviewed span { margin-top:2px; color:#758399; font-size:9px; }
.sanity-reviewed p { margin:7px 0 0; color:#8A97A9; font-size:10.5px; line-height:1.5; }

/* Intelligence preferences */
.preferences-layout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr); gap:15px; align-items:start; }
.preference-editor, .preference-list-card { background:var(--gov-surface); border-color:rgba(143,164,204,.12); }
.preference-editor { padding:0; overflow:hidden; }
.compact-preference-head { grid-template-columns:40px minmax(0,1fr); padding:17px 18px 15px; }
.preference-fields { grid-template-columns:1fr; gap:10px; padding:16px 18px 12px; }
.preference-editor-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 18px 16px; border-top:1px solid rgba(143,164,204,.07); }
.preference-editor-actions > span { display:inline-flex; align-items:center; gap:6px; color:#69788D; font-size:9.5px; }
.preference-editor-actions > span .mud-icon-root { color:#6BAA7A; }
.preference-list-card { padding:0; overflow:hidden; }
.preference-list-head { display:flex; align-items:center; justify-content:space-between; padding:18px; border-bottom:1px solid rgba(143,164,204,.08); }
.preference-list-head h2 { margin:3px 0 0; color:#E1E8F0; font-size:17px; }
.rule-count-pill { min-width:30px; height:30px; display:grid; place-items:center; border-radius:10px; color:#9DCEAA; background:rgba(44,108,64,.09); font-size:11px; font-weight:800; }
.preference-list { display:block; }
.preference-row { display:grid; grid-template-columns:34px minmax(0,1fr) auto 34px; gap:10px; align-items:center; padding:13px 15px; border:0; border-bottom:1px solid rgba(143,164,204,.075); border-radius:0; box-shadow:none; background:transparent; }
.preference-row:last-child { border-bottom:0; }
.preference-row-icon { width:32px; height:32px; display:grid; place-items:center; border-radius:10px; color:#7EB78B; background:rgba(44,108,64,.07); }
.preference-row-copy { min-width:0; }
.preference-row-copy strong, .preference-row-copy span, .preference-row-copy small { display:block; }
.preference-row-copy strong { color:#CBD5E0; font-size:11px; }
.preference-row-copy span { margin-top:2px; color:#748297; font-size:9.5px; }
.preference-row-copy small { margin-top:3px; color:#8CA094; font-size:9.5px; }
.preference-delete { opacity:.65; }
.preference-delete:hover { opacity:1; }
.preference-empty { display:flex; align-items:center; justify-content:center; gap:8px; min-height:130px; color:#69778C; font-size:10.5px; }

/* AI usage */
.usage-page-head { align-items:end; }
.usage-range-buttons { margin-top:0; padding:4px; border:1px solid rgba(143,164,204,.11); border-radius:11px; background:rgba(255,255,255,.018); }
.usage-range-button { border:0; border-radius:8px; padding:7px 11px; color:#728096; background:transparent; cursor:pointer; font-size:9.5px; font-weight:750; }
.usage-range-button:hover { color:#A5B2C4; background:rgba(255,255,255,.025); }
.usage-range-button.active { color:#C6E5CE; background:rgba(44,108,64,.18); box-shadow:inset 0 0 0 1px rgba(90,163,110,.13); }
.usage-kpis { margin-bottom:14px; }
.usage-kpi-card { position:relative; overflow:hidden; padding-right:54px; }
.usage-kpi-icon { position:absolute; top:15px; right:15px; width:32px; height:32px; display:grid; place-items:center; border-radius:10px; color:#7FBA8D; background:rgba(44,108,64,.08); }
.usage-kpi-card .kpi-foot { font-size:9.5px; }
.usage-user-row { grid-template-columns:minmax(210px,1.35fr) minmax(110px,.7fr) minmax(110px,.7fr) minmax(110px,.7fr) minmax(110px,.7fr); min-height:62px; padding:11px 15px; }
.usage-user-cell { display:flex; align-items:center; gap:10px; min-width:0; }
.usage-user-cell > div:last-child { min-width:0; }
.usage-user-row > div > span, .usage-user-row > div > small { display:block; color:#66748A; font-size:8.8px; }
.usage-user-row > div > strong { display:block; margin-top:2px; color:#BEC9D6; font-size:10.5px; }
.usage-user-cell strong { margin-top:0 !important; font-size:11px !important; }
.usage-user-cell small { margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.usage-total strong { color:#8EC99D !important; font-size:12px !important; }
.usage-footnote { display:flex; align-items:flex-start; gap:7px; margin-top:11px; padding:0 3px; color:#627086; font-size:9.5px; line-height:1.5; }
.usage-footnote .mud-icon-root { flex:none; margin-top:1px; color:#678E70; }

/* Light-theme equivalents for new v0.9.1 surfaces. */
.pulse-theme-light .governance-page { --gov-surface:linear-gradient(180deg,#FFFFFF,#FBFCFD); --gov-surface-soft:#F7F9F8; --gov-line:rgba(43,67,51,.10); --gov-line-strong:rgba(43,67,51,.18); }
.pulse-theme-light .governance-page-head h1,
.pulse-theme-light .governance-empty h2,
.pulse-theme-light .settings-section-head h2,
.pulse-theme-light .setting-copy strong,
.pulse-theme-light .demo-admin-head strong,
.pulse-theme-light .assigned-work-card h2,
.pulse-theme-light .sanity-head strong,
.pulse-theme-light .sanity-values strong,
.pulse-theme-light .preference-list-head h2,
.pulse-theme-light .preference-row-copy strong,
.pulse-theme-light .assignment-signal-cell strong,
.pulse-theme-light .assignment-owner-cell strong,
.pulse-theme-light .usage-user-row > div > strong { color:#203027 !important; }
.pulse-theme-light .governance-page-head p,
.pulse-theme-light .settings-section-head p,
.pulse-theme-light .setting-copy span,
.pulse-theme-light .demo-verification-note,
.pulse-theme-light .assigned-explanation,
.pulse-theme-light .preference-row-copy span,
.pulse-theme-light .usage-footnote { color:#647469 !important; }
.pulse-theme-light .settings-card,
.pulse-theme-light .user-admin-card,
.pulse-theme-light .assigned-work-card,
.pulse-theme-light .sanity-card,
.pulse-theme-light .preference-editor,
.pulse-theme-light .preference-list-card,
.pulse-theme-light .polished-table,
.pulse-theme-light .assignment-stat-strip { background:var(--gov-surface); box-shadow:0 10px 28px rgba(45,62,91,.045); }
.pulse-theme-light .governance-callout,
.pulse-theme-light .accounting-intro-strip { background:linear-gradient(135deg,rgba(44,108,64,.07),rgba(44,108,64,.018)); }
.pulse-theme-light .governance-callout strong,
.pulse-theme-light .accounting-intro-strip strong { color:#31503A; }
.pulse-theme-light .governance-callout span,
.pulse-theme-light .accounting-intro-strip span { color:#65766B; }
.pulse-theme-light .inline-assignment-panel { background:linear-gradient(135deg,#F6FAF7,#FFFFFF); border-color:rgba(44,108,64,.18); }
.pulse-theme-light .assignment-panel-head strong { color:#24372B; }
.pulse-theme-light .assignment-panel-head p { color:#68786E; }
.pulse-theme-light .ei-native-control { color:#25362B; background:#FFFFFF; border-color:rgba(45,62,91,.18); color-scheme:light; }
.pulse-theme-light .ei-native-control::placeholder { color:#8A978E; }
.pulse-theme-light .demo-admin-card,
.pulse-theme-light .role-toggle,
.pulse-theme-light .assigned-evidence-line,
.pulse-theme-light .sanity-values > div { background:#FAFCFA; }
.pulse-theme-light .demo-admin-current { background:#F7F9F8; }
.pulse-theme-light .role-toggle span { color:#34463A; }
.pulse-theme-light .role-toggle small,
.pulse-theme-light .user-admin-identity span,
.pulse-theme-light .assignment-signal-cell small,
.pulse-theme-light .assignment-owner-cell small,
.pulse-theme-light .assignment-date-cell { color:#697970; }
.pulse-theme-light .assignment-stat-strip strong { color:#23352A; }
.pulse-theme-light .assigned-evidence-line strong { color:#38734A; }
.pulse-theme-light .sanity-reviewed p { color:#5F7065; }
.pulse-theme-light .preference-row { background:transparent; }
.pulse-theme-light .usage-range-buttons { background:#FFFFFF; }
.pulse-theme-light .usage-range-button { color:#647269; }
.pulse-theme-light .usage-range-button.active { color:#275D36; background:rgba(44,108,64,.10); }

@media (max-width: 1050px) {
    .polished-setting-row { grid-template-columns:minmax(260px,1fr) minmax(180px,240px); }
    .setting-save-button, .setting-action-placeholder { grid-column:2; justify-self:end; }
    .preferences-layout { grid-template-columns:1fr; }
    .usage-user-row { grid-template-columns:minmax(190px,1.3fr) repeat(4,minmax(85px,.7fr)); }
}

@media (max-width: 760px) {
    .governance-page-head { align-items:flex-start; }
    .assignment-panel-fields { grid-template-columns:1fr; }
    .assignment-panel-footer { align-items:flex-start; flex-direction:column; }
    .polished-setting-row { grid-template-columns:1fr; gap:10px; }
    .setting-control { width:100%; }
    .setting-save-button, .setting-action-placeholder { grid-column:1; justify-self:start; }
    .setting-action-placeholder { display:none; }
    .settings-section-head { grid-template-columns:38px 1fr; }
    .settings-head-action { grid-column:2; justify-self:start; }
    .user-admin-grid, .assigned-work-grid, .sanity-grid, .demo-admin-grid { grid-template-columns:1fr; }
    .assignment-stat-strip { grid-template-columns:1fr; }
    .assignment-stat-strip > div { border-right:0; border-bottom:1px solid rgba(143,164,204,.08); }
    .assignment-stat-strip > div:last-child { border-bottom:0; }
    .assignment-header-row, .usage-header-row { display:none; }
    .assignment-row, .usage-user-row { grid-template-columns:1fr; gap:7px; padding:14px; }
    .user-role-options { grid-template-columns:1fr; }
    .preference-editor-actions { align-items:flex-start; flex-direction:column; }
}

/* ========================================================================== */
/* Guided Demo spotlight / fixed narrator position (v0.9.2)                  */
/* ========================================================================== */

/* During the guided demo, let the selected signal rise above the page-level
   spotlight. The ordinary page shell uses z-index:1, which would otherwise
   trap all of its children underneath the fixed backdrop. */
.page-shell.demo-mode-active {
    z-index: auto;
}

.demo-focus-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1700;
    pointer-events: none;
    background: rgba(3, 8, 13, .23);
    -webkit-backdrop-filter: blur(7px) saturate(.78) brightness(.72);
    backdrop-filter: blur(7px) saturate(.78) brightness(.72);
    animation: demoBackdropIn .18s ease-out;
}

@keyframes demoBackdropIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* The current signal is the one piece of the page that stays crisp. */
.demo-mode-active .attention-card.demo-highlight {
    z-index: 1805 !important;
    isolation: isolate;
    box-shadow:
        0 0 0 2px rgba(83, 170, 106, .32),
        0 28px 72px rgba(0, 0, 0, .44),
        0 0 42px rgba(62, 145, 84, .16) !important;
}

/* Keep the narrator in one predictable place for the entire walkthrough.
   v1 was 470px wide; 705px is exactly 50% wider. */
.demo-tour-card-v1,
.demo-tour-card-detail-open {
    left: 26px;
    right: auto;
    bottom: 24px;
    width: min(705px, calc(100vw - 52px));
    min-width: 0;
    max-height: calc(100vh - 48px);
    padding: 26px 28px 22px;
    overflow-y: auto;
    animation: tourIn .24s cubic-bezier(.2,.8,.2,1);
}

.demo-tour-card-v1 .demo-tour-progress {
    margin-bottom: 17px;
}

.demo-tour-live-row {
    margin-bottom: 13px;
}

.demo-live-pill,
.demo-step-kind {
    font-size: 11px;
}

.demo-tour-card-v1 .demo-tour-head h3 {
    max-width: 570px;
    font-size: 23px;
    line-height: 1.22;
}

.demo-tour-card-v1 > p {
    margin: 14px 0 15px;
    font-size: 13.5px;
    line-height: 1.62;
}

.demo-proof-point {
    gap: 11px;
    margin: 5px 0 17px;
    padding: 13px 14px;
    border-radius: 13px;
    font-size: 12.5px;
    line-height: 1.55;
}

.demo-future-ai {
    margin: 6px 0 17px;
    padding: 15px;
    border-radius: 14px;
}

.demo-future-ai-label {
    font-size: 10.5px;
}

.demo-future-ai-prompt {
    font-size: 13px;
}

.demo-future-ai-result {
    font-size: 11.5px;
}

.demo-tour-card-v1 .demo-tour-actions {
    padding-top: 14px;
}

/* On medium-width displays a rich detail drawer can occupy ~780px on the
   right. Keep the narrator anchored in the same corner, but allow it to
   contract enough that both remain readable. */
@media (max-width: 1550px) and (min-width: 1041px) {
    .demo-tour-card-detail-open {
        width: min(610px, calc(100vw - 820px));
        min-width: 430px;
    }
}

@media (max-width: 1040px) {
    .demo-tour-card-v1,
    .demo-tour-card-detail-open {
        left: 12px;
        right: 12px;
        bottom: 12px;
        width: auto;
        min-width: 0;
        max-height: 58vh;
        padding: 20px 20px 17px;
    }

    .demo-tour-card-v1 .demo-tour-head h3 {
        font-size: 20px;
    }

    .demo-tour-card-v1 > p {
        font-size: 12.5px;
    }
}

.pulse-theme-light .demo-focus-backdrop {
    background: rgba(230, 236, 231, .18);
    -webkit-backdrop-filter: blur(7px) saturate(.72) brightness(.88);
    backdrop-filter: blur(7px) saturate(.72) brightness(.88);
}

/* ---------- Fuel Surcharge Assurance drill-down v0.1 ---------- */
.fsc-hero-card {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 24px;
    align-items: center;
    margin: 13px 0 15px;
    padding: 22px 23px;
    border: 1px solid rgba(87,188,111,.18);
    border-radius: 18px;
    background:
        radial-gradient(circle at 88% 0%, rgba(87,188,111,.12), transparent 34%),
        linear-gradient(135deg, rgba(18,36,29,.90), rgba(11,18,30,.94));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}

.fsc-hero-card::after {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: linear-gradient(180deg, #79C68D, #2C6C40);
}

.fsc-hero-value {
    margin-top: 7px;
    color: #F2FFF5;
    font-size: 42px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.045em;
}

.fsc-hero-caption {
    max-width: 500px;
    margin-top: 9px;
    color: #84958D;
    font-size: 11.5px;
    line-height: 1.5;
}

.fsc-hero-side {
    min-width: 205px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 7px;
    text-align: right;
}

.fsc-hero-side > strong {
    color: #C9E8D0;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .055em;
}

.fsc-hero-side > small {
    color: #64736D;
    font-size: 10.5px;
}

.fsc-status-pill {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 9.5px;
    font-weight: 850;
    letter-spacing: .075em;
    border: 1px solid rgba(255,255,255,.08);
}

.fsc-status-pill.missing,
.fsc-status-pill.under {
    color: #FFB9C2;
    border-color: rgba(255,91,112,.18);
    background: rgba(255,91,112,.07);
}

.fsc-status-pill.reconciled {
    color: #8EDAA0;
    border-color: rgba(87,188,111,.20);
    background: rgba(87,188,111,.08);
}

.fsc-status-pill.review {
    color: #F0CF89;
    border-color: rgba(225,170,66,.18);
    background: rgba(225,170,66,.07);
}

.fsc-story-card { border-color: rgba(87,188,111,.15); }

.fsc-comparison-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 15px;
}

.fsc-comparison-card {
    position: relative;
    overflow: hidden;
    min-width: 0;
    padding: 16px 16px 15px;
    border: 1px solid var(--ei-border);
    border-radius: 15px;
    background: rgba(255,255,255,.016);
}

.fsc-comparison-card::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 2px;
    background: rgba(87,188,111,.45);
}

.fsc-comparison-card.actual::before { background: rgba(98,145,210,.45); }
.fsc-comparison-card.gap::before { background: rgba(255,91,112,.50); }
.fsc-comparison-card > span {
    color: #66758D;
    font-size: 9.5px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.fsc-comparison-card > strong {
    display: block;
    margin-top: 7px;
    color: #EAF0F8;
    font-size: 23px;
    line-height: 1;
}
.fsc-comparison-card > small {
    display: block;
    margin-top: 7px;
    color: #647087;
    font-size: 10.5px;
    line-height: 1.45;
}

.fsc-formula-section { overflow: hidden; }
.fsc-rule-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin: 14px 0;
}
.fsc-rule-strip > div {
    padding: 11px 12px;
    border: 1px solid var(--ei-border);
    border-radius: 12px;
    background: rgba(255,255,255,.012);
}
.fsc-rule-strip span {
    display: block;
    color: #5F6B80;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.fsc-rule-strip strong {
    display: block;
    margin-top: 4px;
    color: #DCE5EF;
    font-size: 12px;
}

.fsc-equation-flow {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 20px minmax(0, 1fr) 20px minmax(0, 1fr) 20px minmax(0, 1fr);
    gap: 6px;
    align-items: center;
    margin-top: 13px;
}
.fsc-equation-flow > .mud-icon-root { color: #405047; justify-self: center; }
.fsc-equation-step {
    min-width: 0;
    min-height: 82px;
    padding: 12px;
    border: 1px solid rgba(87,188,111,.12);
    border-radius: 13px;
    background: rgba(44,108,64,.035);
}
.fsc-equation-step.final {
    border-color: rgba(87,188,111,.24);
    background: rgba(44,108,64,.075);
}
.fsc-equation-step span {
    display: block;
    color: #668171;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .055em;
    text-transform: uppercase;
}
.fsc-equation-step strong {
    display: block;
    margin-top: 8px;
    color: #DBEADF;
    font-size: 11.5px;
    line-height: 1.45;
}

.fsc-distance-note,
.fsc-missing-charge {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin-top: 13px;
    padding: 12px 13px;
    border: 1px solid rgba(87,188,111,.12);
    border-radius: 12px;
    color: #779582;
    background: rgba(44,108,64,.035);
    font-size: 10.8px;
    line-height: 1.55;
}
.fsc-distance-note strong { color: #A8CDB1; }
.fsc-missing-charge { margin-top: 12px; color: #A7858A; border-color: rgba(255,91,112,.12); background: rgba(255,91,112,.035); }
.fsc-missing-charge > div { display:flex; flex-direction:column; gap:4px; }
.fsc-missing-charge strong { color:#E7BCC2; font-size:12px; }
.fsc-missing-charge span { color:#8A7377; font-size:10.8px; line-height:1.55; }

.fsc-evidence-table {
    margin-top: 12px;
    overflow: hidden;
    border: 1px solid var(--ei-border);
    border-radius: 13px;
}
.fsc-evidence-head,
.fsc-evidence-row {
    display: grid;
    grid-template-columns: .65fr 1.6fr .75fr .75fr .85fr .85fr;
    gap: 8px;
    align-items: center;
    padding: 10px 12px;
}
.fsc-evidence-head {
    color: #5F6B7E;
    background: rgba(255,255,255,.018);
    font-size: 8.8px;
    font-weight: 850;
    letter-spacing: .065em;
    text-transform: uppercase;
}
.fsc-evidence-row {
    border-top: 1px solid var(--ei-border);
    color: #9DA9BB;
    font-size: 10.8px;
}
.fsc-evidence-row strong { color: #DDE7F1; }
.fsc-interpretation-note { border-color: rgba(87,188,111,.13); }
.fsc-calculation-note { margin:12px 0 0; color:#69768B; font-size:10.5px; line-height:1.55; }

.pulse-theme-light .fsc-hero-card {
    border-color: rgba(44,108,64,.18);
    background:
        radial-gradient(circle at 88% 0%, rgba(87,188,111,.14), transparent 34%),
        linear-gradient(135deg, #F6FAF7, #FFFFFF);
}
.pulse-theme-light .fsc-hero-value { color: #153321; }
.pulse-theme-light .fsc-hero-caption,
.pulse-theme-light .fsc-hero-side > small { color: #66756D; }
.pulse-theme-light .fsc-hero-side > strong { color: #356C45; }
.pulse-theme-light .fsc-comparison-card,
.pulse-theme-light .fsc-rule-strip > div,
.pulse-theme-light .fsc-equation-step { background: rgba(44,108,64,.025); }
.pulse-theme-light .fsc-comparison-card > strong,
.pulse-theme-light .fsc-rule-strip strong,
.pulse-theme-light .fsc-equation-step strong,
.pulse-theme-light .fsc-evidence-row strong { color: #172234; }
.pulse-theme-light .fsc-comparison-card > span,
.pulse-theme-light .fsc-rule-strip span,
.pulse-theme-light .fsc-equation-step span,
.pulse-theme-light .fsc-evidence-head { color: #69788E; }
.pulse-theme-light .fsc-comparison-card > small,
.pulse-theme-light .fsc-evidence-row,
.pulse-theme-light .fsc-calculation-note { color: #607087; }
.pulse-theme-light .fsc-distance-note { color:#52705B; background:rgba(44,108,64,.045); }
.pulse-theme-light .fsc-distance-note strong { color:#2C6C40; }
.pulse-theme-light .fsc-missing-charge { color:#8B525A; background:rgba(183,66,82,.04); }
.pulse-theme-light .fsc-missing-charge strong { color:#8D3541; }
.pulse-theme-light .fsc-missing-charge span { color:#765E62; }

@media (max-width: 820px) {
    .fsc-hero-card { grid-template-columns: 1fr; }
    .fsc-hero-side { align-items:flex-start; text-align:left; }
    .fsc-comparison-grid { grid-template-columns: 1fr; }
    .fsc-rule-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .fsc-equation-flow { grid-template-columns: 1fr; }
    .fsc-equation-flow > .mud-icon-root { transform: rotate(90deg); }
    .fsc-evidence-head { display:none; }
    .fsc-evidence-row { grid-template-columns: 1fr 1fr; }
}

/* v0.10.0 - Ask Enterprise Intelligence universal analytics + AI Knowledge */
.ai-result-table-wrap { margin-top: 16px; border: 1px solid var(--mud-palette-lines-default); border-radius: 14px; overflow: hidden; background: color-mix(in srgb, var(--mud-palette-surface) 94%, transparent); }
.ai-result-table-title { padding: 12px 14px; font-size: .78rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; border-bottom: 1px solid var(--mud-palette-lines-default); color: var(--mud-palette-text-secondary); }
.ai-result-table-scroll { overflow: auto; max-height: 460px; }
.ai-result-table { width: 100%; border-collapse: collapse; font-size: .86rem; white-space: nowrap; }
.ai-result-table th { position: sticky; top: 0; z-index: 1; padding: 10px 12px; text-align: left; font-size: .72rem; letter-spacing: .04em; text-transform: uppercase; background: var(--mud-palette-surface); color: var(--mud-palette-text-secondary); border-bottom: 1px solid var(--mud-palette-lines-default); }
.ai-result-table td { padding: 9px 12px; border-bottom: 1px solid color-mix(in srgb, var(--mud-palette-lines-default) 72%, transparent); color: var(--mud-palette-text-primary); }
.ai-result-table tbody tr:last-child td { border-bottom: 0; }
.ai-result-table-foot { padding: 8px 12px; border-top: 1px solid var(--mud-palette-lines-default); font-size: .72rem; color: var(--mud-palette-text-secondary); }
.ai-knowledge-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:18px 0 26px; }
.ai-knowledge-summary > div { padding:18px 20px; border:1px solid var(--mud-palette-lines-default); border-radius:14px; background:var(--mud-palette-surface); }
.ai-knowledge-summary strong { display:block; font-size:1.7rem; }
.ai-knowledge-summary span { display:block; color:var(--mud-palette-text-secondary); font-size:.78rem; text-transform:uppercase; letter-spacing:.05em; }
.ai-knowledge-summary .proposed { border-color: color-mix(in srgb, var(--mud-palette-warning) 55%, var(--mud-palette-lines-default)); }
.ai-rule-section { margin-top:30px; }
.ai-rule-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:14px; }
.ai-rule-card { border:1px solid var(--mud-palette-lines-default); border-radius:15px; padding:18px; background:var(--mud-palette-surface); display:flex; flex-direction:column; gap:9px; }
.ai-rule-card.proposed { border-color:color-mix(in srgb,var(--mud-palette-warning) 55%,var(--mud-palette-lines-default)); }
.ai-rule-card.system { opacity:.88; background:color-mix(in srgb,var(--mud-palette-surface) 94%,var(--mud-palette-info)); }
.ai-rule-card.disabled { opacity:.58; }
.ai-rule-card-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.ai-rule-card h3 { margin:3px 0 0; font-size:1.03rem; }
.ai-rule-card p { margin:0; color:var(--mud-palette-text-secondary); line-height:1.52; }
.ai-rule-card small { display:block; color:var(--mud-palette-text-secondary); }
.ai-rule-category { font-size:.7rem; text-transform:uppercase; letter-spacing:.06em; color:var(--mud-palette-text-secondary); }
.ai-rule-origin { margin-top:3px; font-size:.72rem; color:var(--mud-palette-text-secondary); }
.ai-rule-actions { display:flex; gap:5px; flex-wrap:wrap; margin-top:auto; padding-top:8px; }
.ai-rule-editor { margin-bottom:28px; }
.ai-rule-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:12px; }
.ai-rule-editor .mud-input-control { margin-bottom:10px; }
.ai-rule-editor-actions { display:flex; gap:8px; margin-top:8px; }
@media (max-width: 760px) { .ai-knowledge-summary,.ai-rule-form-grid { grid-template-columns:1fr; } }


/* v0.11 billing completion / delivered-never-billed */
.billing-completion-hero { display:flex; align-items:stretch; justify-content:space-between; gap:14px; margin:4px 0 16px; padding:18px; border:1px solid rgba(74,155,94,.18); border-radius:15px; background:linear-gradient(135deg,rgba(44,108,64,.10),rgba(20,29,45,.35)); }
.billing-completion-hero > div:first-child { display:flex; flex-direction:column; gap:4px; }
.billing-completion-hero span { color:#7F8DA2; font-size:10px; font-weight:800; letter-spacing:.07em; }
.billing-completion-hero strong { color:#ECF5EF; font-size:28px; line-height:1.1; }
.billing-completion-hero small { color:#8693A5; font-size:11px; }
.billing-completion-age { min-width:130px; display:flex; flex-direction:column; align-items:flex-end; justify-content:center; padding-left:16px; border-left:1px solid rgba(143,164,204,.12); }
.billing-completion-age strong { font-size:24px; }
.billing-hold-note { margin-top:12px; }
.billing-completion-title { display:flex; justify-content:space-between; align-items:center; }
.billing-completion-title > div { display:flex; align-items:center; gap:7px; }
.billing-completion-title > span { color:#718097; font-size:10px; }
.billing-completion-table-wrap { overflow:auto; max-height:430px; border:1px solid var(--ei-border); border-radius:12px; }
.billing-completion-table { width:100%; border-collapse:collapse; min-width:760px; font-size:10.5px; }
.billing-completion-table th { position:sticky; top:0; z-index:1; text-align:left; padding:10px 11px; background:#101824; color:#7E8CA2; font-size:9px; letter-spacing:.05em; text-transform:uppercase; border-bottom:1px solid var(--ei-border); }
.billing-completion-table td { padding:10px 11px; color:#9AA7B9; border-bottom:1px solid rgba(143,164,204,.08); vertical-align:top; }
.billing-completion-table td strong { color:#DCE6E0; }
.billing-completion-table tbody tr:hover { background:rgba(44,108,64,.035); }
.pulse-theme-light .billing-completion-hero strong,.pulse-theme-light .billing-completion-table td strong { color:#203127; }
.pulse-theme-light .billing-completion-table th { background:#F0F4F1; color:#596A60; }
.pulse-theme-light .billing-completion-table td { color:#56675C; }

/* ---------- Guided demo: stale pending / AI data trust ---------- */
.demo-data-trust {
    margin: 6px 0 17px;
    padding: 15px;
    border-radius: 14px;
    border: 1px solid rgba(120, 153, 255, .18);
    background: linear-gradient(145deg, rgba(81, 110, 201, .075), rgba(22, 165, 151, .045));
}

.demo-data-trust-live {
    display: grid;
    gap: 5px;
    margin-bottom: 13px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(143, 164, 204, .12);
}

.demo-data-trust-live > span,
.demo-data-trust-label {
    color: #78C8FF;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .1em;
}

.demo-data-trust-live > strong {
    color: #E8EDF8;
    font-size: 13px;
    line-height: 1.45;
}

.demo-data-trust-live > small {
    color: #91A0B9;
    font-size: 10.5px;
    line-height: 1.45;
}

.demo-data-trust-grid {
    display: grid;
    grid-template-columns: 1fr 30px 1fr;
    gap: 10px;
    align-items: stretch;
}

.demo-data-trust-side {
    padding: 12px;
    border-radius: 12px;
    border: 1px solid rgba(143, 164, 204, .12);
    background: rgba(8, 15, 30, .42);
}

.demo-data-trust-side.naive {
    border-color: rgba(255, 122, 143, .18);
}

.demo-data-trust-side.trusted {
    border-color: rgba(78, 210, 168, .22);
    background: rgba(24, 82, 67, .12);
}

.demo-data-trust-side.naive .demo-data-trust-label {
    color: #FF91A5;
}

.demo-data-trust-side.trusted .demo-data-trust-label {
    color: #66D8BD;
}

.demo-data-trust-side strong {
    display: block;
    margin: 7px 0 5px;
    color: #F0F3FA;
    font-size: 14px;
}

.demo-data-trust-side p {
    margin: 0 0 7px;
    color: #C6CFDE;
    font-size: 11.5px;
    line-height: 1.5;
}

.demo-data-trust-side small {
    color: #8492AA;
    font-size: 10px;
    line-height: 1.45;
}

.demo-data-trust-arrow {
    display: grid;
    place-items: center;
    color: #6FD3BE;
    font-size: 22px;
    font-weight: 900;
}

.pulse-theme-light .demo-data-trust {
    background: linear-gradient(145deg, rgba(80, 111, 205, .05), rgba(30, 151, 136, .035));
}

.pulse-theme-light .demo-data-trust-live > strong,
.pulse-theme-light .demo-data-trust-side strong {
    color: #172136;
}

.pulse-theme-light .demo-data-trust-side p {
    color: #53617A;
}

@media (max-width: 720px) {
    .demo-data-trust-grid {
        grid-template-columns: 1fr;
    }

    .demo-data-trust-arrow {
        transform: rotate(90deg);
    }
}
.demo-data-trust-specimen {
    margin-top: 3px;
    padding: 7px 9px;
    border-radius: 9px;
    background: rgba(255, 181, 71, .055);
    border: 1px solid rgba(255, 181, 71, .12);
    color: #BFC9D9 !important;
}

.demo-data-trust-specimen strong {
    color: #FFD08A;
}

/* v0.14 - hybrid sign-in */
.signin-layout{min-height:100vh;background:radial-gradient(circle at 50% 10%,#13233a 0,#080d17 45%,#05080e 100%);display:grid;place-items:center;padding:28px;color:#f7f9ff}
.signin-shell{width:min(520px,100%)}
.signin-card{background:#0d1421;border:1px solid #263247;border-radius:24px;padding:38px;box-shadow:0 28px 80px rgba(0,0,0,.4);text-align:center}
.signin-brand-mark{width:64px;height:64px;border-radius:18px;margin:0 auto 18px;display:grid;place-items:center;background:#2c6c40;font-weight:900;font-size:24px;letter-spacing:-1px}
.signin-kicker{font-size:.72rem;letter-spacing:.18em;color:#77d1aa;font-weight:800}.signin-card h1{font-size:2rem;margin:8px 0 18px}.signin-copy{color:#aeb9cc;line-height:1.55;margin:0 0 24px}
.signin-probe{display:flex;gap:16px;align-items:center;text-align:left;padding:18px;border:1px solid #263247;border-radius:16px;background:#101a2a}.signin-probe strong,.signin-probe span{display:block}.signin-probe span{font-size:.86rem;color:#8f9db4;margin-top:4px}
.signin-microsoft-button{display:flex;align-items:center;justify-content:center;gap:12px;text-decoration:none;color:#f7f9ff;background:#1c2636;border:1px solid #39475d;border-radius:12px;padding:13px 18px;font-weight:800}.signin-microsoft-button:hover{background:#263349}
.signin-ms-grid{display:grid;grid-template-columns:repeat(2,8px);grid-template-rows:repeat(2,8px);gap:2px}.signin-ms-grid i{display:block;background:currentColor;opacity:.9}
.signin-secondary-button{margin-top:14px;border:0;background:transparent;color:#9fb0c8;cursor:pointer;display:inline-flex;align-items:center;gap:7px;padding:8px}.signin-config-warning{display:flex;gap:12px;text-align:left;background:#231c12;border:1px solid #5d4825;border-radius:14px;padding:14px;color:#f3c778}.signin-config-warning span,.signin-config-warning strong{display:block}.signin-config-warning span{font-size:.84rem;margin-top:3px;color:#c8ad78}
.signin-footnote{margin-top:28px;padding-top:18px;border-top:1px solid #202b3d;font-size:.78rem;color:#6f7f98}

/* v0.14 - Signal routing / acknowledgment */
.signal-recipient-strip{display:flex;align-items:center;gap:9px;margin-top:12px;padding-top:10px;border-top:1px solid var(--mud-palette-lines-default)}
.signal-recipient-label{font-size:.68rem;letter-spacing:.11em;text-transform:uppercase;font-weight:800;color:var(--mud-palette-text-secondary)}
.signal-recipient-avatars{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.signal-person-avatar{--signal-avatar-hue:145;width:28px;height:28px;border-radius:50%;display:inline-grid;place-items:center;font-size:.68rem;font-weight:900;letter-spacing:.02em;border:2px solid hsl(var(--signal-avatar-hue) 62% 60%);background:hsl(var(--signal-avatar-hue) 48% 34%);color:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.035)}
.signal-person-avatar.waiting{filter:saturate(.2);opacity:.42;border-style:dashed}.signal-person-avatar.acknowledged{opacity:1}
.signal-send-action{font-weight:800}.signal-send-panel .assignment-panel-icon{background:rgba(73,183,155,.14);color:#60d0b1}
.signal-request-badge{font-size:.66rem;letter-spacing:.06em;font-weight:900;border-radius:999px;padding:5px 8px}.signal-request-badge.waiting{background:rgba(255,184,77,.12);color:#f4bd67;border:1px solid rgba(255,184,77,.24)}.signal-request-badge.done{background:rgba(62,203,139,.12);color:#5bd5a0;border:1px solid rgba(62,203,139,.24)}
.my-signals-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:18px 0 20px;flex-wrap:wrap}.signal-status-tabs{display:flex;gap:6px;padding:5px;background:var(--mud-palette-surface);border:1px solid var(--mud-palette-lines-default);border-radius:14px}.signal-status-tabs button{border:0;background:transparent;color:var(--mud-palette-text-secondary);padding:9px 13px;border-radius:10px;font-weight:800;cursor:pointer}.signal-status-tabs button.active{background:rgba(73,183,155,.13);color:var(--mud-palette-text-primary)}.signal-status-tabs button span{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:5px;border-radius:999px;background:rgba(255,255,255,.07);font-size:.7rem}.signal-date-filters{display:flex;gap:10px;min-width:min(100%,380px)}
.my-signal-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.my-signal-card{background:var(--mud-palette-surface);border:1px solid var(--mud-palette-lines-default);border-radius:18px;padding:20px;box-shadow:0 10px 30px rgba(0,0,0,.08)}.my-signal-card.pending{border-left:4px solid #ffb84d}.my-signal-card.acknowledged{border-left:4px solid #3ecb8b}.my-signal-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.my-signal-card h2{font-size:1.08rem;margin:14px 0 5px}.my-signal-context-amount{margin:12px 0;font-size:1.2rem;font-weight:900}.my-signal-context-amount span{font-size:.68rem;text-transform:uppercase;color:var(--mud-palette-text-secondary);margin-left:7px;letter-spacing:.08em}.source-cleared-strip{display:flex;gap:8px;align-items:center;margin:12px 0;padding:9px 11px;border-radius:10px;background:rgba(62,203,139,.08);color:var(--mud-palette-text-secondary);font-size:.8rem}
.signal-ack-box{margin-top:18px;border:1px solid var(--mud-palette-lines-default);border-radius:15px;background:rgba(89,109,144,.045);padding:16px}.signal-ack-head{display:flex;align-items:center;gap:11px}.signal-ack-head>div:last-child{display:grid}.signal-ack-head span{font-size:.64rem;letter-spacing:.1em;color:var(--mud-palette-text-secondary);font-weight:900}.signal-ack-head strong{font-size:.9rem}.signal-ack-head small{color:var(--mud-palette-text-secondary)}.signal-sender-avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#2c6c40;color:white;font-weight:900}.signal-sender-message{margin:13px 0;padding:12px 13px;border-left:3px solid #49b79b;background:rgba(73,183,155,.065);font-size:.9rem}.signal-response-field{margin-top:14px}.signal-response-field textarea{resize:vertical;min-height:76px}.signal-ack-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;flex-wrap:wrap}.signal-ack-check{display:flex;gap:9px;align-items:center;font-size:.88rem;font-weight:700}.signal-ack-check input{width:18px;height:18px;accent-color:#49b79b}.signal-ack-complete{display:flex;gap:10px;align-items:flex-start;margin-top:13px;padding:10px 12px;border-radius:10px;background:rgba(62,203,139,.09);color:#61d5a3}.signal-ack-complete div{display:grid}.signal-ack-complete span{margin-top:4px;color:var(--mud-palette-text-secondary)}.signal-inline-error{color:#ff8293;font-size:.82rem;margin-top:8px}.my-signal-ai-row{display:flex;justify-content:flex-end;margin-top:10px}
.signal-sent-row{grid-template-columns:120px minmax(280px,1fr) minmax(180px,.55fr) 150px minmax(170px,.45fr)!important}.signal-response-summary{display:grid;gap:3px}.signal-response-summary span{font-size:.78rem;font-weight:800}.signal-response-summary small{color:var(--mud-palette-text-secondary);white-space:normal;line-height:1.35}
@media(max-width:960px){.my-signal-list{grid-template-columns:1fr}}
@media(max-width:900px){.signal-sent-row{grid-template-columns:1fr!important}.signal-date-filters{width:100%}.my-signal-card-top{flex-direction:column}}
.late-response-field{margin-top:12px}.late-response-actions>span{font-size:10px;color:#75859a;max-width:520px}.pulse-theme-light .late-response-actions>span{color:#697970}


/* ---------- v0.15 · Executive Tour ---------- */
.executive-tour-page { max-width: 1540px; }
.executive-tour-shell { border:1px solid var(--ei-border); border-radius:22px; background:linear-gradient(160deg,rgba(17,25,39,.96),rgba(8,12,20,.98)); box-shadow:var(--ei-shadow); overflow:hidden; }
.executive-tour-head { display:flex; align-items:flex-start; justify-content:space-between; gap:22px; padding:28px 30px 22px; border-bottom:1px solid var(--ei-border); }
.executive-tour-head h1 { margin:5px 0 6px; font-size:clamp(28px,3vw,42px); line-height:1.04; color:#F7F9FF; }
.executive-tour-head p { margin:0; max-width:780px; color:#8F9CB1; font-size:13px; line-height:1.65; }
.executive-tour-progress { display:grid; grid-template-columns:repeat(7,1fr); gap:6px; padding:0 30px; transform:translateY(-2px); }
.executive-tour-progress span { height:3px; border-radius:99px; background:rgba(143,164,204,.11); transition:.2s ease; }
.executive-tour-progress span.active { background:linear-gradient(90deg,#2C6C40,#49B79B); box-shadow:0 0 18px rgba(73,183,155,.22); }
.executive-tour-layout { display:grid; grid-template-columns:250px minmax(0,1fr); min-height:590px; }
.executive-tour-rail { padding:22px 16px 22px 22px; border-right:1px solid var(--ei-border); background:rgba(5,9,15,.32); display:flex; flex-direction:column; gap:7px; }
.executive-tour-rail-step { appearance:none; width:100%; display:grid; grid-template-columns:30px 1fr; gap:11px; align-items:center; text-align:left; border:1px solid transparent; border-radius:12px; padding:10px; color:#78859A; background:transparent; cursor:pointer; transition:.15s ease; }
.executive-tour-rail-step:hover { background:rgba(255,255,255,.025); color:#A8B5C7; }
.executive-tour-rail-step > span { width:28px; height:28px; display:grid; place-items:center; border-radius:50%; border:1px solid rgba(143,164,204,.18); font-size:10px; font-weight:800; }
.executive-tour-rail-step strong,.executive-tour-rail-step small { display:block; }
.executive-tour-rail-step strong { font-size:11px; color:inherit; }
.executive-tour-rail-step small { margin-top:3px; font-size:9px; color:#59667B; line-height:1.25; }
.executive-tour-rail-step.active { border-color:rgba(73,183,155,.22); background:linear-gradient(90deg,rgba(44,108,64,.14),rgba(73,183,155,.035)); color:#DDE8E2; }
.executive-tour-rail-step.active > span { background:#2C6C40; border-color:#4F9563; color:#fff; box-shadow:0 0 18px rgba(44,108,64,.25); }
.executive-tour-rail-step.complete > span { border-color:rgba(62,203,139,.3); color:#7EE0AB; }
.executive-tour-stage { padding:38px clamp(28px,5vw,68px) 34px; position:relative; overflow:hidden; }
.executive-tour-stage::before { content:""; position:absolute; width:520px; height:520px; border-radius:50%; right:-230px; top:-260px; background:radial-gradient(circle,rgba(44,108,64,.12),transparent 65%); pointer-events:none; }
.executive-tour-stage-kicker { color:#69C48A; font-size:10px; font-weight:850; letter-spacing:.12em; }
.executive-tour-stage h2 { margin:9px 0 9px; max-width:900px; color:#F7F9FF; font-size:clamp(27px,3vw,42px); line-height:1.07; letter-spacing:-.035em; }
.executive-tour-stage-copy { margin:0 0 26px; max-width:900px; color:#9AA7BA; font-size:14px; line-height:1.7; }
.executive-tour-bottom-line { margin-top:22px; padding-top:17px; border-top:1px solid rgba(143,164,204,.1); color:#BCD0C3; font-size:11.5px; font-weight:650; }
.executive-tour-actions { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:15px 22px; border-top:1px solid var(--ei-border); background:rgba(5,9,15,.38); }
.executive-tour-actions > span { color:#65728C; font-size:10px; letter-spacing:.08em; }

.tour-pulse-visual { border:1px solid rgba(143,164,204,.14); border-radius:16px; padding:18px; background:linear-gradient(145deg,rgba(13,19,32,.96),rgba(16,24,38,.75)); box-shadow:0 18px 46px rgba(0,0,0,.22); }
.tour-pulse-visual-head { display:flex; justify-content:space-between; align-items:center; gap:16px; padding-bottom:14px; border-bottom:1px solid rgba(143,164,204,.1); }
.tour-pulse-visual-head span,.tour-pulse-visual-head strong { display:block; }
.tour-pulse-visual-head span { color:#6DA97B; font-size:9px; font-weight:850; letter-spacing:.13em; }
.tour-pulse-visual-head strong { margin-top:4px; color:#E8EEF7; font-size:18px; }
.tour-live-chip { display:flex; align-items:center; gap:7px; padding:6px 9px; border:1px solid rgba(62,203,139,.18); border-radius:999px; color:#74D8A2; font-size:8.5px; font-weight:800; letter-spacing:.1em; }
.tour-live-chip i { width:6px; height:6px; border-radius:50%; background:#3ECB8B; box-shadow:0 0 10px #3ECB8B; }
.tour-pulse-kpis { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin:13px 0; }
.tour-pulse-kpis > div { padding:12px; border:1px solid rgba(143,164,204,.1); border-radius:11px; background:rgba(255,255,255,.015); }
.tour-pulse-kpis small,.tour-pulse-kpis strong { display:block; }
.tour-pulse-kpis small { color:#67758B; font-size:8px; letter-spacing:.09em; }
.tour-pulse-kpis strong { margin-top:5px; color:#DCE7F0; font-size:20px; }
.tour-mini-signal-list { display:grid; gap:7px; }
.tour-mini-signal-list > div { display:grid; grid-template-columns:27px minmax(180px,.8fr) 1.3fr; align-items:center; gap:10px; padding:9px 10px; border:1px solid rgba(143,164,204,.08); border-radius:9px; }
.tour-rank { width:23px; height:23px; display:grid; place-items:center; border-radius:7px; background:rgba(44,108,64,.17); color:#91C89E; font-size:9px; font-weight:850; }
.tour-mini-signal-list b { color:#C7D2DE; font-size:10.5px; }
.tour-mini-signal-list em { color:#67758B; font-size:9.5px; font-style:normal; }
.executive-tour-callout { display:flex; align-items:flex-start; gap:11px; margin-top:18px; padding:13px 15px; border:1px solid rgba(96,157,179,.18); border-radius:12px; background:rgba(96,157,179,.055); color:#92A7B1; font-size:11px; line-height:1.55; }
.executive-tour-callout .mud-icon-root { color:#78AFC2; }
.executive-tour-callout strong { color:#C7D6DD; }
.executive-tour-callout.accent { border-color:rgba(73,183,155,.18); background:rgba(73,183,155,.05); }
.executive-tour-callout.accent .mud-icon-root { color:#69C5AB; }
.executive-tour-quote { margin-top:20px; padding:17px 20px; border-left:3px solid #2C6C40; background:linear-gradient(90deg,rgba(44,108,64,.10),transparent); color:#C5D0DD; font-size:14px; line-height:1.55; font-weight:600; }

.tour-concept-flow { display:grid; grid-template-columns:1fr 42px 1fr 42px 1fr; align-items:stretch; gap:8px; }
.tour-concept-arrow,.tour-route-arrow,.tour-lens-divider { display:grid; place-items:center; color:#536178; font-size:24px; font-weight:300; }
.tour-concept-node { position:relative; padding:19px 18px 17px; min-height:190px; border:1px solid rgba(143,164,204,.13); border-radius:14px; background:rgba(255,255,255,.015); }
.tour-concept-node > span { position:absolute; right:13px; top:12px; width:25px; height:25px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.035); color:#6C788B; font-size:9px; font-weight:800; }
.tour-concept-node small,.tour-concept-node strong { display:block; }
.tour-concept-node small { color:#65728C; font-size:8.5px; letter-spacing:.12em; font-weight:800; }
.tour-concept-node strong { margin-top:11px; color:#E6EDF5; font-size:21px; }
.tour-concept-node p { margin:9px 0 0; color:#7D8A9E; font-size:10.5px; line-height:1.55; }
.tour-concept-node.signal { border-color:rgba(73,183,155,.24); background:linear-gradient(145deg,rgba(44,108,64,.10),rgba(73,183,155,.035)); }
.tour-concept-node.signal strong { color:#9BD7AE; }
.tour-concept-node.pulse { border-color:rgba(96,157,179,.22); }

.tour-signal-routing { display:grid; grid-template-columns:minmax(0,1.45fr) 54px minmax(250px,.75fr); gap:8px; align-items:stretch; }
.tour-routing-signal,.tour-recipient-card { border:1px solid rgba(143,164,204,.14); border-radius:15px; background:rgba(255,255,255,.018); padding:18px; }
.tour-signal-chip { display:inline-block; padding:5px 8px; border-radius:999px; border:1px solid rgba(255,184,77,.18); color:#D7AA65; background:rgba(255,184,77,.055); font-size:8px; font-weight:800; letter-spacing:.09em; }
.tour-routing-signal h3 { margin:12px 0 7px; color:#DDE5EE; font-size:18px; }
.tour-routing-signal p { margin:0; color:#7D899C; font-size:10.5px; line-height:1.6; }
.tour-signal-actions { display:flex; flex-wrap:wrap; gap:7px; margin-top:17px; }
.tour-signal-actions span,.tour-signal-actions b { padding:7px 9px; border:1px solid rgba(143,164,204,.11); border-radius:8px; color:#79869A; font-size:9px; font-weight:650; }
.tour-signal-actions b { margin-left:auto; color:#A3D8B1; border-color:rgba(44,108,64,.3); background:rgba(44,108,64,.1); }
.tour-recipient-card > small { color:#6AA97A; font-size:8.5px; font-weight:850; letter-spacing:.1em; }
.tour-person-row { display:flex; align-items:center; gap:10px; margin:14px 0; }
.tour-person-row strong,.tour-person-row span { display:block; }
.tour-person-row strong { color:#D9E2EC; font-size:11px; }
.tour-person-row span { margin-top:2px; color:#68768A; font-size:9px; }
.tour-response-mode,.tour-message { padding:9px 10px; border:1px solid rgba(143,164,204,.09); border-radius:9px; color:#8290A4; font-size:9.5px; }
.tour-message { margin-top:7px; min-height:54px; font-style:italic; }
.tour-recipient-card button { width:100%; margin-top:10px; padding:9px; border:0; border-radius:9px; background:#2C6C40; color:#fff; font-weight:750; font-size:9.5px; }

.tour-avatar { width:38px; height:38px; display:grid; place-items:center; flex:0 0 auto; border-radius:50%; background:#31576A; border:1px solid rgba(255,255,255,.08); color:#E8F3F7; font-size:10px; font-weight:850; box-shadow:0 7px 18px rgba(0,0,0,.2); }
.tour-avatar.teal { background:#246B60; }
.tour-avatar.green { background:#355F3E; }
.tour-avatar.muted { background:#1A2230; color:#68758A; filter:saturate(.35); }
.tour-avatar.checked { box-shadow:0 0 0 2px rgba(62,203,139,.15),0 7px 18px rgba(0,0,0,.2); }
.tour-ack-layout { display:grid; grid-template-columns:1.25fr .75fr; gap:14px; }
.tour-ack-card,.tour-ack-history { padding:20px; border:1px solid rgba(143,164,204,.14); border-radius:15px; background:rgba(255,255,255,.018); }
.tour-ack-card > small,.tour-ack-history > span { color:#6AA97A; font-size:8px; font-weight:850; letter-spacing:.1em; }
.tour-ack-card h3 { margin:10px 0 5px; color:#DDE6EF; font-size:18px; }
.tour-ack-card p { color:#7D899C; font-size:10px; font-style:italic; }
.tour-ack-card label { display:flex; align-items:center; gap:9px; margin:15px 0 9px; color:#B7C6D0; font-size:10.5px; }
.tour-check { width:22px; height:22px; display:grid; place-items:center; border-radius:6px; background:#2C6C40; color:#fff; font-weight:900; }
.tour-response-box { min-height:58px; padding:10px; border:1px solid rgba(143,164,204,.12); border-radius:9px; color:#59677B; font-size:9px; }
.tour-avatar-line { display:flex; gap:9px; margin:19px 0 13px; }
.tour-ack-history strong { color:#C9D5DF; font-size:12px; }
.tour-ack-history p { color:#728094; font-size:10px; line-height:1.55; }

.tour-view-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.tour-view-card { padding:19px; min-height:220px; border:1px solid rgba(143,164,204,.13); border-radius:15px; background:rgba(255,255,255,.015); }
.tour-view-card .mud-icon-root { color:#6D7D93; font-size:28px; }
.tour-view-card > span,.tour-view-card > strong { display:block; }
.tour-view-card > span { margin-top:18px; color:#6AA97A; font-size:8px; letter-spacing:.1em; font-weight:850; }
.tour-view-card > strong { margin-top:8px; color:#DCE5EF; font-size:16px; line-height:1.25; }
.tour-view-card p { color:#748196; font-size:10.5px; line-height:1.55; }
.tour-view-card.pulse { border-color:rgba(44,108,64,.27); background:linear-gradient(145deg,rgba(44,108,64,.10),rgba(255,255,255,.012)); }
.tour-view-card.all { border-color:rgba(96,157,179,.2); }
.tour-view-card.mine { border-color:rgba(73,183,155,.18); }

.tour-two-lenses { display:grid; grid-template-columns:1fr 52px 1fr; gap:8px; align-items:stretch; }
.tour-lens-card { padding:22px; border:1px solid rgba(143,164,204,.14); border-radius:16px; background:rgba(255,255,255,.016); }
.tour-lens-card.ai { border-color:rgba(73,183,155,.22); background:linear-gradient(145deg,rgba(44,108,64,.08),rgba(73,183,155,.025)); }
.tour-lens-icon { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; background:rgba(96,157,179,.08); color:#77A9BA; }
.tour-lens-card.ai .tour-lens-icon { background:rgba(44,108,64,.16); color:#82C894; }
.tour-lens-card > small { display:block; margin-top:17px; color:#66758B; font-size:8.5px; font-weight:850; letter-spacing:.1em; }
.tour-lens-card h3 { margin:8px 0; color:#E0E8F1; font-size:19px; }
.tour-lens-card p { margin:0; color:#77859A; font-size:10.5px; line-height:1.6; }
.tour-lens-tag { display:inline-block; margin-top:18px; padding:6px 8px; border-radius:999px; background:rgba(255,255,255,.035); color:#7D8DA2; font-size:8.5px; }

.tour-finish-mark { width:66px; height:66px; margin:16px auto 24px; display:grid; place-items:center; border-radius:20px; background:linear-gradient(145deg,#4F9563 0%,#265F37 53%,#2F63E8 100%); box-shadow:0 18px 48px rgba(44,108,64,.28); color:#fff; font-weight:900; letter-spacing:.08em; }
.tour-finish-flow { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:10px; margin:0 auto 24px; }
.tour-finish-flow span { padding:8px 11px; border:1px solid rgba(73,183,155,.16); border-radius:999px; background:rgba(73,183,155,.04); color:#89C8B1; font-size:9px; font-weight:850; letter-spacing:.08em; }
.tour-finish-flow b { color:#4F5D71; font-weight:400; }
.tour-finish-statement { max-width:880px; margin:0 auto !important; text-align:center; color:#DDE6EF !important; font-size:clamp(19px,2.2vw,29px) !important; line-height:1.35 !important; font-weight:590; }
.tour-finish-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; margin-top:27px; }

/* ---------- v0.15 · AI Knowledge explanation ---------- */
.ai-knowledge-explainer { margin:18px 0 24px; padding:22px; border:1px solid rgba(73,183,155,.16); border-radius:17px; background:linear-gradient(145deg,rgba(44,108,64,.075),rgba(13,19,32,.65)); }
.ai-knowledge-eyebrow { color:#6FB584; font-size:9px; font-weight:850; letter-spacing:.12em; }
.ai-knowledge-explainer-copy h2 { margin:7px 0 7px; color:#E7EDF5; font-size:21px; }
.ai-knowledge-explainer-copy p { max-width:960px; margin:0; color:#8390A4; font-size:11.5px; line-height:1.65; }
.ai-knowledge-explainer-copy p strong { color:#B8C9BE; }
.ai-knowledge-class-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:18px; }
.ai-knowledge-class-card { padding:15px; border:1px solid rgba(143,164,204,.11); border-radius:12px; background:rgba(255,255,255,.014); }
.ai-knowledge-class-icon { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; margin-bottom:10px; background:rgba(96,157,179,.08); color:#7BA9B8; }
.ai-knowledge-class-card.approved .ai-knowledge-class-icon { background:rgba(44,108,64,.14); color:#83C393; }
.ai-knowledge-class-card.proposed .ai-knowledge-class-icon { background:rgba(255,184,77,.08); color:#DDB36F; }
.ai-knowledge-class-card strong,.ai-knowledge-class-card span { display:block; }
.ai-knowledge-class-card strong { color:#CFD9E3; font-size:11px; }
.ai-knowledge-class-card span { margin-top:5px; color:#6E7C90; font-size:9.6px; line-height:1.55; }
.ai-knowledge-flowline { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:9px; margin-top:15px; padding-top:14px; border-top:1px solid rgba(143,164,204,.09); color:#68768B; font-size:8px; font-weight:800; letter-spacing:.08em; }
.ai-knowledge-flowline b { color:#456651; font-size:13px; font-weight:400; }

.pulse-theme-light .executive-tour-shell { background:linear-gradient(160deg,#FFFFFF,#F5F8F6); }
.pulse-theme-light .executive-tour-head h1,.pulse-theme-light .executive-tour-stage h2,.pulse-theme-light .tour-finish-statement { color:#213028 !important; }
.pulse-theme-light .executive-tour-head p,.pulse-theme-light .executive-tour-stage-copy { color:#68776D; }
.pulse-theme-light .executive-tour-rail { background:#F5F8F6; }
.pulse-theme-light .tour-pulse-visual,.pulse-theme-light .tour-routing-signal,.pulse-theme-light .tour-recipient-card,.pulse-theme-light .tour-ack-card,.pulse-theme-light .tour-ack-history,.pulse-theme-light .tour-view-card,.pulse-theme-light .tour-lens-card,.pulse-theme-light .tour-concept-node { background:#FFFFFF; }
.pulse-theme-light .tour-pulse-visual-head strong,.pulse-theme-light .tour-mini-signal-list b,.pulse-theme-light .tour-concept-node strong,.pulse-theme-light .tour-routing-signal h3,.pulse-theme-light .tour-person-row strong,.pulse-theme-light .tour-ack-card h3,.pulse-theme-light .tour-ack-history strong,.pulse-theme-light .tour-view-card > strong,.pulse-theme-light .tour-lens-card h3 { color:#2B3930; }
.pulse-theme-light .ai-knowledge-explainer { background:linear-gradient(145deg,#F3F8F4,#FFFFFF); }
.pulse-theme-light .ai-knowledge-explainer-copy h2,.pulse-theme-light .ai-knowledge-class-card strong { color:#29372E; }
.pulse-theme-light .ai-knowledge-class-card { background:#FFFFFF; }

@media (max-width: 980px) {
    .executive-tour-layout { grid-template-columns:1fr; }
    .executive-tour-rail { display:grid; grid-template-columns:repeat(7,minmax(120px,1fr)); overflow-x:auto; border-right:0; border-bottom:1px solid var(--ei-border); padding:13px 16px; }
    .executive-tour-rail-step { min-width:130px; }
    .tour-concept-flow,.tour-signal-routing,.tour-two-lenses { grid-template-columns:1fr; }
    .tour-concept-arrow,.tour-route-arrow,.tour-lens-divider { transform:rotate(90deg); min-height:28px; }
    .tour-view-grid,.ai-knowledge-class-grid { grid-template-columns:1fr; }
    .tour-ack-layout { grid-template-columns:1fr; }
}
@media (max-width: 680px) {
    .executive-tour-head { padding:22px 18px 18px; }
    .executive-tour-head > .mud-button-root { display:none; }
    .executive-tour-progress { padding:0 18px; }
    .executive-tour-stage { padding:28px 18px 26px; }
    .tour-pulse-kpis { grid-template-columns:1fr; }
    .tour-mini-signal-list > div { grid-template-columns:27px 1fr; }
    .tour-mini-signal-list em { grid-column:2; }
    .executive-tour-actions { padding:12px 14px; }
}


/* v0.16 Intelligence Thresholds */
.threshold-page-head p { max-width: 860px; }
.threshold-principle-strip { display:flex; align-items:center; gap:14px; padding:16px 18px; margin-bottom:22px; border:1px solid rgba(99,156,255,.22); border-radius:14px; background:linear-gradient(135deg,rgba(34,88,160,.14),rgba(14,25,45,.08)); }
.threshold-principle-strip .mud-icon-root { color:#78aef7; }
.threshold-principle-strip div { display:flex; flex-direction:column; gap:3px; }
.threshold-principle-strip span { opacity:.74; font-size:.9rem; }
.threshold-grid { display:grid; gap:18px; }
.threshold-card { border:1px solid rgba(130,160,205,.18); border-radius:16px; padding:20px; background:var(--mud-palette-surface); box-shadow:0 12px 30px rgba(0,0,0,.08); }
.threshold-card-pending { border-color:rgba(247,183,72,.48); }
.threshold-card-head { display:flex; justify-content:space-between; gap:24px; align-items:flex-start; margin-bottom:16px; }
.threshold-card-head h2 { margin:2px 0 6px; font-size:1.24rem; }
.threshold-card-head p { margin:0; opacity:.72; max-width:760px; }
.threshold-category { font-size:.72rem; letter-spacing:.13em; font-weight:800; opacity:.58; }
.threshold-version-block { text-align:right; min-width:220px; display:flex; flex-direction:column; align-items:flex-end; gap:5px; }
.threshold-version-block small { opacity:.62; }
.threshold-status { padding:5px 9px; border-radius:999px; font-size:.73rem; font-weight:800; letter-spacing:.04em; }
.threshold-status-applied { background:rgba(54,179,126,.13); color:#68d7a6; }
.threshold-status-pending { background:rgba(247,183,72,.14); color:#f0be61; }
.threshold-status-building { background:rgba(91,153,255,.16); color:#83b7ff; }
.threshold-value-list { border-top:1px solid rgba(130,160,205,.12); }
.threshold-value-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px; padding:14px 0; border-bottom:1px solid rgba(130,160,205,.10); }
.threshold-value-row > div:first-child { display:flex; flex-direction:column; gap:3px; }
.threshold-value-row span { opacity:.65; font-size:.86rem; }
.threshold-value-number { min-width:130px; text-align:right; font-size:1.2rem; font-weight:800; }
.threshold-value-number small { display:block; opacity:.5; font-size:.67rem; letter-spacing:.08em; }
.threshold-card-actions,.threshold-edit-actions { display:flex; gap:10px; justify-content:flex-end; margin-top:16px; flex-wrap:wrap; }
.threshold-edit-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:14px; padding-top:4px; }
.threshold-edit-field { display:flex; flex-direction:column; gap:6px; }
.threshold-edit-field label { font-weight:750; }
.threshold-edit-field small { opacity:.62; line-height:1.3; }
.threshold-preview { margin-top:18px; padding:16px; border-radius:14px; background:rgba(75,132,214,.08); border:1px solid rgba(94,153,239,.2); }
.threshold-preview-head { display:flex; gap:10px; align-items:flex-start; margin-bottom:12px; }
.threshold-preview-head > div { display:flex; flex-direction:column; gap:2px; }
.threshold-preview-head span { opacity:.7; font-size:.86rem; }
.threshold-preview-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:10px; }
.threshold-preview-metric { padding:12px; border-radius:10px; background:rgba(0,0,0,.09); display:flex; flex-direction:column; gap:4px; }
.threshold-preview-metric span { opacity:.67; font-size:.8rem; }
.threshold-preview-metric strong { font-size:.98rem; }
.threshold-preview-metric small { opacity:.72; }
.delta-up { color:#f0be61; } .delta-down { color:#68d7a6; }
.threshold-history { margin-top:18px; padding-top:14px; border-top:1px solid rgba(130,160,205,.14); }
.threshold-history-head { display:flex; justify-content:space-between; gap:15px; margin-bottom:8px; }
.threshold-history-head span { opacity:.62; font-size:.82rem; }
.threshold-history-row { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:10px 0; border-bottom:1px solid rgba(130,160,205,.08); }
.threshold-history-row > div { display:flex; flex-direction:column; }
.threshold-history-row span { opacity:.64; font-size:.8rem; }
.threshold-current-version { font-size:.69rem!important; letter-spacing:.08em; font-weight:800; opacity:.7!important; }
.threshold-message { margin-bottom:16px; padding:12px 15px; border-radius:10px; font-weight:650; }
.threshold-message-ok { background:rgba(54,179,126,.12); border:1px solid rgba(54,179,126,.28); }
.threshold-message-error { background:rgba(220,76,91,.11); border:1px solid rgba(220,76,91,.3); }
@media (max-width:780px){.threshold-card-head{flex-direction:column}.threshold-version-block{align-items:flex-start;text-align:left;min-width:0}.threshold-value-row{grid-template-columns:1fr}.threshold-value-number{text-align:left}.threshold-history-head{flex-direction:column}}

.threshold-value-number em { display:block; margin-top:4px; font-size:.72rem; font-style:normal; font-weight:650; color:#f0be61; }

.threshold-history-copy { min-width: 0; flex: 1; }
.threshold-history-values { display: flex; flex-wrap: wrap; gap: .35rem .6rem; margin-top: .55rem; }
.threshold-history-values span { font-size: .72rem; color: var(--mud-palette-text-secondary); background: rgba(100,116,139,.08); border: 1px solid rgba(100,116,139,.18); border-radius: 999px; padding: .18rem .48rem; }
.threshold-history-values b { font-weight: 700; color: var(--mud-palette-text-primary); }

/* ========================================================================== */
/* v0.17 · Aging Replay                                                     */
/* ========================================================================== */
.aging-replay-page {
    max-width: 1680px !important;
    width: min(1680px, calc(100% - 44px)) !important;
    padding-top: 26px;
}

.aging-replay-loading,
.aging-empty-state {
    min-height: 58vh;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    text-align: center;
}

.aging-replay-loading {
    flex-direction: column;
    color: var(--ei-muted);
}
.aging-replay-loading strong { color: var(--ei-text); font-size: 18px; }
.aging-replay-loading span { font-size: 12px; }
.aging-loading-pulse {
    width: 58px; height: 58px; border-radius: 18px;
    display:grid; place-items:center;
    background: linear-gradient(145deg, rgba(24,201,189,.16), rgba(67,142,255,.10));
    border: 1px solid rgba(24,201,189,.24);
    color:#62DED5;
    box-shadow:0 16px 44px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.05);
}
.aging-empty-state {
    justify-content:flex-start; text-align:left; padding:52px;
    border:1px solid var(--ei-border); border-radius:20px;
    background:linear-gradient(145deg,rgba(17,25,39,.92),rgba(10,15,25,.76));
}
.aging-empty-state > .mud-icon-root { font-size:64px; color:#61708B; }
.aging-empty-state h1 { margin:4px 0 8px; font-size:31px; }
.aging-empty-state p { max-width:760px; color:var(--ei-muted); }

.aging-page-header {
    display:flex; align-items:flex-end; justify-content:space-between; gap:28px;
    margin-bottom:18px;
}
.aging-page-header h1 {
    margin:4px 0 1px; font-size:31px; line-height:1.06; font-weight:790; letter-spacing:-.035em;
    color:#F7F9FF;
}
.aging-page-header p { margin:7px 0 0; color:#8D99AE; font-size:13.5px; }
.aging-eyebrow,
.aging-side-eyebrow {
    color:#6E7D96; font-size:9px; font-weight:850; letter-spacing:.145em;
}
.aging-eyebrow { display:flex; align-items:center; gap:7px; color:#6F8E9B; }
.aging-live-dot {
    width:7px; height:7px; border-radius:50%; display:inline-block;
    background:#536078; transition:.2s ease;
}
.aging-live-dot.is-live {
    background:#35E6A4;
    box-shadow:0 0 0 4px rgba(53,230,164,.08), 0 0 16px rgba(53,230,164,.55);
}

.aging-header-controls { display:flex; align-items:flex-end; justify-content:flex-end; gap:10px; flex-wrap:wrap; }
.aging-mode-control { display:flex; align-items:center; gap:9px; color:#8793A7; font-size:10px; }
.aging-segmented-control {
    display:flex; padding:3px; border-radius:11px;
    border:1px solid rgba(126,151,194,.24); background:rgba(7,11,19,.72);
}
.aging-segmented-control button {
    border:0; min-width:64px; height:34px; border-radius:8px;
    background:transparent; color:#7D899D; font:inherit; font-size:11px; font-weight:760; cursor:pointer;
    display:flex; align-items:center; justify-content:center; gap:6px;
}
.aging-segmented-control button.active {
    color:#F4F7FF; background:linear-gradient(145deg,#1D70E8,#1E89FF);
    box-shadow:0 5px 16px rgba(29,112,232,.35), inset 0 1px 0 rgba(255,255,255,.25);
}
.aging-segmented-control button.active.live { background:linear-gradient(145deg,#176951,#239A6F); box-shadow:0 5px 16px rgba(35,154,111,.28); }
.aging-segmented-control button.active.live .aging-live-dot { background:#9CFFD8; box-shadow:0 0 12px rgba(156,255,216,.7); }

.aging-date-picker,
.aging-export-button {
    height:40px; border-radius:10px; border:1px solid rgba(126,151,194,.24);
    background:rgba(11,16,27,.82); color:#E9EEF8;
}
.aging-date-picker { display:flex; align-items:center; gap:7px; padding:0 10px; }
.aging-date-picker .mud-icon-root { color:#8796AF; font-size:17px; }
.aging-date-picker input {
    border:0; outline:0; background:transparent; color:inherit; font:inherit; font-size:11px; font-weight:720;
    color-scheme:dark;
}
.aging-date-picker input:disabled { opacity:.58; }
.aging-export-button {
    display:flex; align-items:center; gap:7px; padding:0 13px; cursor:pointer; font:inherit; font-size:11px; font-weight:760;
    transition:.16s ease;
}
.aging-export-button:hover { border-color:rgba(67,142,255,.46); background:rgba(67,142,255,.07); }

.aging-kpi-grid {
    display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:14px;
}
.aging-kpi-card {
    position:relative; min-height:112px; display:flex; align-items:center; gap:15px; overflow:hidden;
    padding:17px 18px; border-radius:14px; border:1px solid rgba(105,133,178,.2);
    background:linear-gradient(145deg,rgba(15,24,39,.96),rgba(10,16,28,.94));
    box-shadow:0 12px 28px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.022);
}
.aging-kpi-card::after {
    content:""; position:absolute; inset:-70% 30% auto -20%; height:150%; transform:rotate(14deg); pointer-events:none;
    background:radial-gradient(circle,rgba(255,255,255,.05),transparent 62%);
}
.aging-kpi-card.total-card { border-color:rgba(46,123,224,.40); background:linear-gradient(140deg,rgba(12,46,90,.68),rgba(11,20,35,.95)); }
.aging-kpi-card.current-card { border-color:rgba(24,201,189,.32); background:linear-gradient(140deg,rgba(8,68,69,.56),rgba(9,24,31,.95)); }
.aging-kpi-card.pastdue-card { border-color:rgba(230,154,36,.35); background:linear-gradient(140deg,rgba(86,52,13,.52),rgba(27,22,17,.96)); }
.aging-kpi-card.ninety-card { border-color:rgba(241,80,114,.40); background:linear-gradient(140deg,rgba(82,25,40,.56),rgba(29,16,25,.96)); }
.aging-kpi-icon {
    flex:0 0 auto; width:48px; height:48px; border-radius:50%; display:grid; place-items:center;
    border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.035);
}
.total-card .aging-kpi-icon { color:#77B6FF; border-color:rgba(67,142,255,.35); background:rgba(67,142,255,.09); }
.current-card .aging-kpi-icon { color:#4BE6D9; border-color:rgba(24,201,189,.30); background:rgba(24,201,189,.08); }
.pastdue-card .aging-kpi-icon { color:#F5AD2B; border-color:rgba(244,185,30,.34); background:rgba(244,185,30,.08); }
.ninety-card .aging-kpi-icon { color:#FF8298; border-color:rgba(241,80,114,.36); background:rgba(241,80,114,.09); }
.aging-kpi-copy { min-width:0; display:flex; flex-direction:column; gap:3px; position:relative; z-index:1; }
.aging-kpi-copy > span { color:#D8E0ED; font-size:11px; font-weight:680; }
.aging-kpi-copy > span em { color:#74819A; font-style:normal; font-weight:600; }
.aging-kpi-copy > strong { color:#F8FAFF; font-size:24px; line-height:1.12; letter-spacing:-.025em; font-variant-numeric:tabular-nums; }
.aging-kpi-copy > small { margin-top:3px; font-size:9.5px; font-weight:700; }
.aging-delta-good { color:#41D992 !important; }
.aging-delta-bad { color:#FF7487 !important; }
.aging-delta-neutral { color:#77849A !important; }

.aging-dashboard-grid { display:grid; grid-template-columns:minmax(0,3.15fr) minmax(300px,1fr); gap:14px; align-items:start; }
.aging-main-card,
.aging-side-card {
    border:1px solid rgba(126,151,194,.17); border-radius:15px;
    background:linear-gradient(145deg,rgba(13,20,33,.97),rgba(8,13,23,.96));
    box-shadow:0 16px 36px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.018);
}
.aging-main-card { padding:13px 14px 14px; overflow:hidden; }
.aging-selected-date-row { display:flex; align-items:center; justify-content:center; gap:13px; min-height:54px; padding:1px 0 10px; }
.aging-selected-date-row > div { min-width:260px; text-align:center; display:flex; flex-direction:column; }
.aging-selected-date-row strong { color:#F3F6FD; font-size:21px; font-weight:780; line-height:1.15; letter-spacing:-.025em; font-variant-numeric:tabular-nums; }
.aging-selected-date-row span { margin-top:4px; color:#7F8A9D; font-size:10px; }
.aging-date-arrow {
    width:31px; height:31px; display:grid; place-items:center; border:0; border-radius:50%; cursor:pointer;
    background:transparent; color:#AFB8C8; transition:.14s ease;
}
.aging-date-arrow:hover:not(:disabled) { background:rgba(255,255,255,.055); color:white; }
.aging-date-arrow:disabled { opacity:.22; cursor:default; }

.aging-bucket-grid { display:grid; grid-template-columns:repeat(6,minmax(105px,1fr)); gap:10px; padding:0 7px 13px; }
.aging-bucket-card {
    --aging-fill:0%; position:relative; isolation:isolate; height:260px; overflow:hidden;
    border-radius:11px; border:1px solid rgba(126,151,194,.22);
    background:linear-gradient(180deg,rgba(26,37,55,.78),rgba(12,18,29,.9));
    transition:border-color .2s ease, transform .2s ease;
}
.aging-bucket-card:hover { transform:translateY(-2px); border-color:rgba(126,151,194,.38); }
.aging-bucket-card::after {
    content:""; position:absolute; z-index:0; inset:0; pointer-events:none;
    background:linear-gradient(90deg,rgba(255,255,255,.025),transparent 35%,rgba(255,255,255,.012));
}
.aging-bucket-fill {
    position:absolute; z-index:-1; left:0; right:0; bottom:0; height:max(2px,var(--aging-fill));
    transition:height .15s cubic-bezier(.22,.9,.35,1);
    opacity:.94;
}
.aging-bucket-fill::before {
    content:""; position:absolute; left:-4%; top:-5px; width:108%; height:10px; border-radius:50%;
    background:rgba(255,255,255,.16); filter:blur(.4px); opacity:.6;
}
.tone-current .aging-bucket-fill { background:linear-gradient(180deg,rgba(24,201,189,.96),rgba(24,201,189,.42)); box-shadow:0 -8px 24px rgba(24,201,189,.18); }
.tone-blue .aging-bucket-fill { background:linear-gradient(180deg,rgba(67,142,255,.94),rgba(40,84,167,.47)); box-shadow:0 -8px 24px rgba(67,142,255,.16); }
.tone-coral .aging-bucket-fill { background:linear-gradient(180deg,rgba(255,108,103,.95),rgba(137,52,55,.47)); box-shadow:0 -8px 24px rgba(255,108,103,.16); }
.tone-amber .aging-bucket-fill { background:linear-gradient(180deg,rgba(244,185,30,.95),rgba(132,83,12,.48)); box-shadow:0 -8px 24px rgba(244,185,30,.15); }
.tone-violet .aging-bucket-fill { background:linear-gradient(180deg,rgba(146,112,244,.94),rgba(77,54,139,.50)); box-shadow:0 -8px 24px rgba(146,112,244,.15); }
.tone-red .aging-bucket-fill { background:linear-gradient(180deg,rgba(241,80,114,.96),rgba(126,37,63,.49)); box-shadow:0 -8px 24px rgba(241,80,114,.17); }
.aging-bucket-content { height:100%; padding:14px 11px 12px; display:flex; align-items:center; flex-direction:column; position:relative; z-index:2; }
.aging-bucket-label { color:#EEF2FA; font-size:13px; font-weight:760; }
.aging-bucket-pct { margin-top:5px; font-size:18px; font-weight:830; font-variant-numeric:tabular-nums; }
.tone-current .aging-bucket-pct { color:#37DDD0; }
.tone-blue .aging-bucket-pct { color:#62A4FF; }
.tone-coral .aging-bucket-pct { color:#FF7772; }
.tone-amber .aging-bucket-pct { color:#F8C83E; }
.tone-violet .aging-bucket-pct { color:#AA8AFB; }
.tone-red .aging-bucket-pct { color:#FF6B8C; }
.aging-bucket-bottom { margin-top:auto; width:100%; text-align:center; display:flex; flex-direction:column; gap:2px; text-shadow:0 2px 10px rgba(0,0,0,.55); }
.aging-bucket-bottom strong { color:#F8FAFF; font-size:16px; font-variant-numeric:tabular-nums; }
.aging-bucket-bottom span { color:#C3CBD7; font-size:9px; }

.aging-history-chart-card { padding:2px 7px 0; }
.aging-chart-title-row { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:1px 0 5px; color:#79869B; font-size:9.5px; }
.aging-chart-title-row > span { flex:0 0 auto; font-weight:650; color:#8895AA; }
.aging-chart-toolbar { min-width:0; display:flex; align-items:center; justify-content:flex-end; gap:9px; }
.aging-chart-title-row small { font-size:8.7px; white-space:nowrap; }
.aging-chart-window-control { display:flex; align-items:center; gap:2px; padding:2px; border:1px solid rgba(126,151,194,.13); border-radius:7px; background:rgba(8,13,22,.44); }
.aging-chart-window-control button {
    min-width:31px; height:22px; padding:0 6px; border:0; border-radius:5px; cursor:pointer;
    background:transparent; color:#657389; font:inherit; font-size:7.8px; font-weight:800; letter-spacing:.02em; transition:.13s ease;
}
.aging-chart-window-control button:hover { color:#B9C7DA; background:rgba(67,142,255,.055); }
.aging-chart-window-control button.active { color:#DDEBFF; background:rgba(45,139,255,.18); box-shadow:inset 0 0 0 1px rgba(67,142,255,.30); }
.aging-history-chart-wrap { position:relative; height:204px; margin-left:34px; margin-bottom:25px; }
#aging-history-svg { width:100%; height:100%; overflow:visible; display:block; }
.aging-chart-gridline { stroke:rgba(135,152,180,.15); stroke-width:1; stroke-dasharray:4 4; vector-effect:non-scaling-stroke; }
.aging-chart-baseline { stroke:rgba(135,152,180,.22); stroke-width:1; vector-effect:non-scaling-stroke; }
.aging-chart-marker { stroke:rgba(244,247,255,.9); stroke-width:1.2; vector-effect:non-scaling-stroke; filter:drop-shadow(0 0 4px rgba(255,255,255,.25)); }
.aging-chart-marker-dot { fill:#FAFCFF; stroke:#0B1422; stroke-width:2; vector-effect:non-scaling-stroke; }
.aging-chart-y-labels { position:absolute; z-index:3; right:calc(100% + 7px); top:0; bottom:0; width:38px; display:flex; flex-direction:column; justify-content:space-between; align-items:flex-end; color:#6D7A8F; font-size:8.5px; font-variant-numeric:tabular-nums; }
.aging-chart-date-bubble {
    position:absolute; z-index:5; top:-12px; transform:translateX(-50%); padding:4px 7px;
    border-radius:6px; background:#F7F9FD; color:#172234; font-size:8px; font-weight:800; white-space:nowrap;
    box-shadow:0 5px 14px rgba(0,0,0,.28);
}
.aging-chart-date-bubble::after { content:""; position:absolute; left:50%; top:100%; border:4px solid transparent; border-top-color:#F7F9FD; transform:translateX(-50%); }
.aging-chart-x-axis { position:absolute; left:0; right:0; top:calc(100% + 5px); height:18px; color:#657389; font-size:8px; }
.aging-chart-x-axis span { position:absolute; transform:translateX(-50%); }
.aging-chart-x-axis span:first-child { transform:none; }
.aging-chart-x-axis span:last-child { transform:translateX(-100%); }

.aging-replay-controls {
    display:grid; grid-template-columns:48px minmax(0,1fr) 56px; gap:10px; align-items:center;
    margin-top:4px; padding:12px 9px 7px; border-top:1px solid rgba(126,151,194,.10);
}
.aging-play-button {
    width:44px; height:38px; border:0; border-radius:9px; cursor:pointer;
    color:white; background:linear-gradient(145deg,#1C72E9,#1A8FFF); font-size:13px; font-weight:850;
    box-shadow:0 7px 18px rgba(29,112,232,.28), inset 0 1px 0 rgba(255,255,255,.2);
}
.aging-play-button:disabled { opacity:.36; cursor:default; box-shadow:none; }
.aging-slider-block { min-width:0; }
.aging-slider-labels { display:flex; justify-content:space-between; margin:0 0 2px; color:#9AA6B8; font-size:8.5px; }
.aging-replay-slider { width:100%; accent-color:#2D8BFF; cursor:ew-resize; }
.aging-replay-slider:disabled { opacity:.33; cursor:default; }
.aging-speed-button {
    height:34px; border-radius:8px; cursor:pointer; border:1px solid rgba(126,151,194,.20); background:rgba(8,13,22,.68); color:#DBE3EF; font-size:10px; font-weight:780;
}
.aging-speed-button span { color:#6F7D92; }
.aging-speed-button:disabled { opacity:.3; cursor:default; }
.aging-quick-jumps { grid-column:2; display:flex; justify-content:center; gap:8px; flex-wrap:wrap; }
.aging-quick-jumps button {
    min-width:74px; padding:6px 12px 5px; border-radius:8px; cursor:pointer;
    border:1px solid rgba(126,151,194,.16); background:rgba(8,13,22,.48); color:#C9D2E0;
    display:flex; flex-direction:column; align-items:center; font:inherit; transition:.14s ease;
}
.aging-quick-jumps button:hover:not(:disabled) { border-color:rgba(67,142,255,.38); background:rgba(67,142,255,.06); color:white; }
.aging-quick-jumps button strong { font-size:9.5px; }
.aging-quick-jumps button span { margin-top:1px; color:#69768B; font-size:7.3px; }
.aging-quick-jumps button:disabled { opacity:.25; cursor:default; }

.aging-side-column { display:grid; gap:14px; }
.aging-side-card { padding:17px 17px 14px; }
.aging-side-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:13px; }
.aging-side-card-head h2 { margin:3px 0 0; color:#EDF2FA; font-size:15px; font-weight:760; letter-spacing:-.02em; }
.aging-info-pill { width:16px; height:16px; display:grid; place-items:center; border-radius:50%; border:1px solid #607089; color:#8C9BB1; font-size:8px; font-weight:800; }
.aging-customer-headings { display:grid; grid-template-columns:1fr 72px 62px; padding:0 0 7px 31px; border-bottom:1px solid rgba(126,151,194,.12); color:#68758A; font-size:8px; }
.aging-customer-headings span:nth-child(n+2) { text-align:right; }
.aging-customer-list { min-height:250px; }
.aging-customer-row {
    display:grid; grid-template-columns:24px minmax(0,1fr) 72px 62px; align-items:center; gap:7px;
    min-height:52px; border-bottom:1px solid rgba(126,151,194,.09);
}
.aging-rank { width:19px; height:19px; border-radius:50%; display:grid; place-items:center; background:#2386F4; color:white; font-size:8px; font-weight:850; box-shadow:0 4px 10px rgba(35,134,244,.22); }
.aging-customer-name { min-width:0; display:flex; flex-direction:column; }
.aging-customer-name strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#DDE4EF; font-size:9.5px; font-weight:670; }
.aging-customer-name span { margin-top:2px; color:#657287; font-size:7.5px; }
.aging-customer-total { color:#EDF2F8; text-align:right; font-size:9.5px; font-variant-numeric:tabular-nums; }
.aging-customer-90 { text-align:right; display:flex; flex-direction:column; font-variant-numeric:tabular-nums; }
.aging-customer-90 strong { color:#FF7087; font-size:8.8px; }
.aging-customer-90 span { margin-top:2px; color:#C95369; font-size:7.5px; }
.aging-customer-loading,
.aging-customer-empty { min-height:250px; display:flex; align-items:center; justify-content:center; gap:8px; color:#718098; font-size:10px; }
.aging-view-customers {
    margin-top:11px; width:100%; height:37px; border-radius:9px; cursor:pointer;
    display:flex; align-items:center; justify-content:center; gap:7px; border:1px solid rgba(67,142,255,.16);
    background:rgba(67,142,255,.025); color:#4A9AFF; font:inherit; font-size:9.5px; font-weight:720;
}
.aging-view-customers:hover { background:rgba(67,142,255,.07); border-color:rgba(67,142,255,.30); }

.aging-insight-head-icon { color:#35CFC6; }
.aging-insight-list { display:grid; gap:5px; }
.aging-insight-item { display:grid; grid-template-columns:32px 1fr; gap:9px; align-items:center; padding:9px 0; border-bottom:1px solid rgba(126,151,194,.09); }
.aging-insight-item:last-child { border-bottom:0; }
.aging-insight-icon { width:28px; height:28px; display:grid; place-items:center; border-radius:50%; border:1px solid rgba(126,151,194,.16); background:rgba(126,151,194,.04); color:#8090A8; }
.aging-insight-icon .mud-icon-root { font-size:16px; }
.aging-insight-icon.good { color:#3ED394; border-color:rgba(62,211,148,.24); background:rgba(62,211,148,.07); }
.aging-insight-icon.bad { color:#FF6E84; border-color:rgba(255,110,132,.24); background:rgba(255,110,132,.07); }
.aging-insight-icon.neutral { color:#5FB9C8; border-color:rgba(95,185,200,.22); background:rgba(95,185,200,.06); }
.aging-insight-item > div { min-width:0; display:flex; flex-direction:column; gap:3px; }
.aging-insight-item strong { color:#C9D5E2; font-size:9.5px; font-weight:670; line-height:1.35; }
.aging-insight-item span:not(.aging-insight-icon) { color:#6B788E; font-size:8px; line-height:1.45; }
.peak-insight strong { color:#96C2CC; }

.aging-live-card { display:flex; gap:10px; align-items:center; border-color:rgba(77,101,139,.15); }
.aging-live-card.active { border-color:rgba(53,230,164,.22); background:linear-gradient(145deg,rgba(17,56,48,.37),rgba(8,18,23,.95)); }
.aging-live-card-icon { flex:0 0 auto; width:32px; height:32px; border-radius:10px; display:grid; place-items:center; color:#658099; background:rgba(96,157,179,.055); }
.aging-live-card.active .aging-live-card-icon { color:#42E1A3; background:rgba(53,230,164,.075); }
.aging-live-card > div:last-child { display:flex; flex-direction:column; gap:3px; }
.aging-live-card strong { color:#D5DFE9; font-size:9.5px; }
.aging-live-card span { color:#6E7B8E; font-size:8px; line-height:1.5; }

/* Light mode stays usable, while the dark mode remains the intended executive-demo surface. */
.pulse-theme-light .aging-page-header h1,
.pulse-theme-light .aging-selected-date-row strong,
.pulse-theme-light .aging-side-card-head h2,
.pulse-theme-light .aging-bucket-label,
.pulse-theme-light .aging-bucket-bottom strong { color:#1D2A22; }
.pulse-theme-light .aging-main-card,
.pulse-theme-light .aging-side-card,
.pulse-theme-light .aging-kpi-card { background:#FFFFFF; box-shadow:0 12px 28px rgba(44,61,83,.08); }
.pulse-theme-light .aging-bucket-card { background:linear-gradient(180deg,#F6F8FC,#EDF2F7); }
.pulse-theme-light .aging-kpi-copy > strong { color:#16241B; }
.pulse-theme-light .aging-kpi-copy > span { color:#4F5D53; }
.pulse-theme-light .aging-date-picker,
.pulse-theme-light .aging-export-button,
.pulse-theme-light .aging-segmented-control,
.pulse-theme-light .aging-speed-button,
.pulse-theme-light .aging-quick-jumps button,
.pulse-theme-light .aging-chart-window-control { background:#FFFFFF; color:#33423A; }
.pulse-theme-light .aging-chart-window-control button.active { color:#205FAF; background:#EAF3FF; box-shadow:inset 0 0 0 1px rgba(45,139,255,.22); }
.pulse-theme-light .aging-bucket-bottom { text-shadow:none; }

@media (max-width: 1250px) {
    .aging-dashboard-grid { grid-template-columns:1fr; }
    .aging-side-column { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); }
    .aging-live-card { grid-column:1 / -1; }
}
@media (max-width: 1050px) {
    .aging-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .aging-page-header { align-items:flex-start; flex-direction:column; }
    .aging-header-controls { width:100%; justify-content:flex-start; }
}
@media (max-width: 780px) {
    .aging-replay-page { width:calc(100% - 22px) !important; }
    .aging-bucket-grid { grid-template-columns:repeat(3,minmax(90px,1fr)); }
    .aging-bucket-card { height:210px; }
    .aging-history-chart-wrap { height:170px; }
    .aging-chart-title-row { align-items:flex-start; }
    .aging-chart-toolbar { flex-wrap:wrap; gap:5px; }
    .aging-chart-window-control { order:2; }
    .aging-side-column { grid-template-columns:1fr; }
    .aging-replay-controls { grid-template-columns:44px minmax(0,1fr); }
    .aging-speed-button { display:none; }
    .aging-quick-jumps { grid-column:1 / -1; }
}
@media (max-width: 560px) {
    .aging-kpi-grid { grid-template-columns:1fr; }
    .aging-bucket-grid { grid-template-columns:repeat(2,minmax(90px,1fr)); }
    .aging-mode-control { width:100%; justify-content:space-between; }
    .aging-date-picker { flex:1; }
    .aging-export-button { width:100%; justify-content:center; }
    .aging-selected-date-row > div { min-width:0; flex:1; }
    .aging-chart-title-row { flex-direction:column; gap:5px; }
    .aging-chart-toolbar { width:100%; justify-content:space-between; }
    .aging-chart-window-control { max-width:100%; }
    .aging-chart-window-control button { min-width:28px; padding:0 4px; }
}

/* ========================================================================== */
/* v0.18.0 · Cloud / Microsoft Entra front door                               */
/* ========================================================================== */
.cloud-landing-shell{
    position:relative;min-height:100vh;overflow:hidden;color:#f7f9ff;
    background:
        radial-gradient(circle at 74% 33%,rgba(42,135,87,.20),transparent 31%),
        radial-gradient(circle at 18% 13%,rgba(74,154,112,.10),transparent 28%),
        linear-gradient(145deg,#07100d 0%,#071019 47%,#05080e 100%);
    padding:0 clamp(24px,5vw,82px);font-family:inherit
}
.cloud-landing-shell::before{
    content:"";position:absolute;inset:0;pointer-events:none;opacity:.42;
    background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
    background-size:62px 62px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),transparent 82%)
}
.cloud-landing-glow{position:absolute;border-radius:999px;filter:blur(90px);pointer-events:none}
.cloud-landing-glow-one{width:360px;height:360px;right:9%;top:20%;background:rgba(49,161,101,.10)}
.cloud-landing-glow-two{width:280px;height:280px;left:-90px;bottom:4%;background:rgba(55,113,142,.08)}
.cloud-landing-road-grid{position:absolute;right:-8%;bottom:-18%;width:62%;height:72%;opacity:.22;transform:perspective(700px) rotateX(63deg) rotateZ(-17deg);transform-origin:center bottom;background:repeating-linear-gradient(90deg,transparent 0 86px,rgba(104,200,144,.13) 87px 88px),repeating-linear-gradient(0deg,transparent 0 70px,rgba(104,200,144,.08) 71px 72px);mask-image:linear-gradient(to top,#000,transparent 90%)}
.cloud-landing-header{position:relative;z-index:2;height:108px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(177,214,194,.12)}
.cloud-action-lockup{display:flex;align-items:center;gap:14px}.cloud-action-lockup strong,.cloud-action-lockup span{display:block}.cloud-action-lockup strong{font-size:.86rem;letter-spacing:.15em}.cloud-action-lockup span{margin-top:3px;color:#7d8d9e;font-size:.74rem}
.cloud-action-mark{width:42px;height:42px;border:1px solid rgba(95,205,139,.35);background:linear-gradient(145deg,#214a31,#0b2318);border-radius:13px;display:grid;place-items:center;font-weight:950;font-size:1.1rem;color:#dff7e8;box-shadow:inset 0 0 24px rgba(70,209,129,.07),0 10px 35px rgba(0,0,0,.22)}
.cloud-private-pill{display:flex;align-items:center;gap:9px;border:1px solid rgba(138,166,151,.16);border-radius:999px;padding:9px 13px;color:#8fa097;font-size:.68rem;font-weight:850;letter-spacing:.12em;background:rgba(9,19,17,.58);backdrop-filter:blur(14px)}
.cloud-private-pill span{width:7px;height:7px;border-radius:50%;background:#42d58c;box-shadow:0 0 0 5px rgba(66,213,140,.08),0 0 16px rgba(66,213,140,.5)}
.cloud-landing-main{position:relative;z-index:2;min-height:calc(100vh - 178px);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(470px,.95fr);align-items:center;gap:clamp(42px,7vw,116px);max-width:1500px;margin:0 auto;padding:64px 0 74px}
.cloud-landing-copy{max-width:760px}.cloud-ei-kicker{display:flex;align-items:center;gap:13px;margin-bottom:26px;color:#8bd8ad;font-size:.74rem;font-weight:900;letter-spacing:.18em}.cloud-ei-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#28683f;color:#f4fff7;letter-spacing:0;box-shadow:0 10px 30px rgba(31,121,72,.22)}
.cloud-landing-copy h1{margin:0;max-width:760px;font-size:clamp(3.25rem,6.5vw,6.7rem);line-height:.93;letter-spacing:-.067em;font-weight:900;color:#f5f7f6;text-wrap:balance}.cloud-landing-copy h1 em{display:block;font-style:normal;color:#73d69c;text-shadow:0 0 44px rgba(74,201,128,.10)}
.cloud-landing-lead{max-width:690px;margin:30px 0 32px;color:#a0adad;font-size:clamp(1.02rem,1.45vw,1.25rem);line-height:1.7}
.cloud-login-button{width:fit-content;min-width:285px;display:inline-flex;align-items:center;justify-content:center;gap:13px;padding:15px 18px;border-radius:13px;text-decoration:none;color:#07110c;background:linear-gradient(135deg,#8ae3ae,#62ca8d);border:1px solid #a4ebbf;font-weight:900;box-shadow:0 17px 40px rgba(53,181,105,.18);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.cloud-login-button:hover{transform:translateY(-2px);box-shadow:0 22px 48px rgba(53,181,105,.25);filter:brightness(1.03)}.cloud-login-button .mud-icon-root{margin-left:auto}
.cloud-ms-grid{display:grid;grid-template-columns:repeat(2,7px);grid-template-rows:repeat(2,7px);gap:2px;margin-right:1px}.cloud-ms-grid i{display:block;background:#092016;border-radius:1px}
.cloud-login-note{margin:11px 0 0 4px;color:#667a72;font-size:.77rem}
.cloud-trust-row{display:flex;flex-wrap:wrap;gap:11px 20px;margin-top:46px;padding-top:26px;border-top:1px solid rgba(151,187,168,.11)}.cloud-trust-row>div{display:flex;align-items:center;gap:8px;color:#70837a;font-size:.78rem}.cloud-trust-row .mud-icon-root{font-size:1rem;color:#68b789}
.cloud-landing-visual{position:relative;min-height:590px;display:grid;place-items:center;isolation:isolate}.cloud-landing-visual::before{content:"";position:absolute;width:430px;height:430px;border-radius:50%;background:radial-gradient(circle,rgba(53,160,97,.12),rgba(53,160,97,.02) 46%,transparent 70%);filter:blur(2px)}
.cloud-orbit{position:absolute;border:1px solid rgba(112,187,143,.14);border-radius:50%;box-shadow:inset 0 0 80px rgba(67,147,100,.025)}.orbit-one{width:390px;height:390px}.orbit-two{width:520px;height:520px;border-style:dashed;opacity:.58;animation:cloudOrbitSpin 60s linear infinite}
@keyframes cloudOrbitSpin{to{transform:rotate(360deg)}}
.cloud-visual-core{position:relative;z-index:3;width:222px;height:222px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(145deg,rgba(18,43,31,.96),rgba(8,18,22,.97));border:1px solid rgba(105,213,151,.25);box-shadow:0 35px 90px rgba(0,0,0,.38),inset 0 0 60px rgba(74,190,122,.07)}.cloud-core-pulse{position:absolute;inset:-17px;border:1px solid rgba(76,203,129,.18);border-radius:50%;animation:cloudPulse 3.6s ease-in-out infinite}.cloud-core-pulse::after{content:"";position:absolute;inset:-19px;border:1px solid rgba(76,203,129,.07);border-radius:50%}@keyframes cloudPulse{0%,100%{transform:scale(.97);opacity:.45}50%{transform:scale(1.03);opacity:1}}
.cloud-core-mark{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(145deg,#3e9560,#1e5938);font-size:1.32rem;font-weight:950;margin-bottom:15px}.cloud-visual-core strong{font-size:1rem}.cloud-visual-core span{font-size:.67rem;color:#6f8d7c;margin-top:5px;letter-spacing:.04em}
.cloud-signal-card{position:absolute;z-index:4;width:230px;min-height:78px;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;padding:13px;border:1px solid rgba(139,186,160,.17);border-radius:16px;background:rgba(9,18,25,.82);backdrop-filter:blur(18px);box-shadow:0 22px 55px rgba(0,0,0,.32)}.cloud-signal-card small,.cloud-signal-card strong{display:block}.cloud-signal-card small{color:#67b586;font-size:.56rem;font-weight:900;letter-spacing:.12em;margin-bottom:4px}.cloud-signal-card strong{font-size:.82rem;color:#dce7e1}.cloud-signal-card b{color:#40574a;font-size:.7rem}.cloud-signal-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:rgba(47,123,78,.15);color:#72d79e;border:1px solid rgba(88,190,130,.13)}
.cloud-signal-one{left:0;top:108px}.cloud-signal-two{right:-16px;top:232px}.cloud-signal-three{left:24px;bottom:84px}
.cloud-landing-footer{position:relative;z-index:2;min-height:70px;display:flex;align-items:center;gap:13px;border-top:1px solid rgba(177,214,194,.10);color:#596d64;font-size:.69rem;letter-spacing:.06em}.cloud-footer-separator{width:4px;height:4px;background:#3f7053;border-radius:50%}.cloud-footer-spacer{flex:1}
.cloud-signin-card{box-shadow:0 28px 90px rgba(0,0,0,.48)}.cloud-signin-home-link{display:block;margin-top:16px;color:#748c80;text-decoration:none;font-size:.8rem}.cloud-signin-home-link:hover{color:#9bd8b4}.cloud-signout-button{color:#6f7f98!important}.cloud-signout-button:hover{color:#d7e2dc!important;background:rgba(255,255,255,.05)!important}

/* Entra diagnostics */
.auth-diagnostics-page{max-width:1260px}.auth-diag-status-card{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:22px 24px;border:1px solid rgba(73,183,155,.22);border-radius:18px;background:linear-gradient(135deg,rgba(31,89,60,.12),rgba(11,20,31,.72));margin:22px 0}.auth-diag-status-icon{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;background:rgba(62,203,139,.11);color:#5ed39a}.auth-diag-status-card span,.auth-diag-status-card strong,.auth-diag-status-card small{display:block}.auth-diag-status-card span{font-size:.62rem;letter-spacing:.13em;color:#6fb491;font-weight:900}.auth-diag-status-card strong{font-size:1.12rem;margin:3px 0}.auth-diag-status-card small{color:#77879d}.auth-diag-status-pill{font-size:.62rem;font-weight:950;letter-spacing:.12em;border-radius:999px;padding:8px 11px}.auth-diag-status-pill.ok{color:#64dca0;background:rgba(50,188,119,.10);border:1px solid rgba(50,188,119,.20)}.auth-diag-status-pill.warn{color:#ffc56d;background:rgba(255,184,77,.10);border:1px solid rgba(255,184,77,.20)}
.auth-diag-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.auth-diag-card{padding:19px 20px;border:1px solid var(--mud-palette-lines-default);border-radius:16px;background:var(--mud-palette-surface)}.auth-diag-card span,.auth-diag-card strong,.auth-diag-card small{display:block}.auth-diag-card span{color:var(--mud-palette-text-secondary);font-size:.68rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.auth-diag-card strong{margin:8px 0 6px;overflow-wrap:anywhere}.auth-diag-card small{color:var(--mud-palette-text-secondary);line-height:1.45}.auth-diag-config-section{margin-top:30px}.auth-diag-config-table{border:1px solid var(--mud-palette-lines-default);border-radius:16px;overflow:hidden;background:var(--mud-palette-surface)}.auth-diag-config-table>div{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;padding:14px 18px;border-bottom:1px solid var(--mud-palette-lines-default)}.auth-diag-config-table>div:last-child{border-bottom:0}.auth-diag-config-table span{color:var(--mud-palette-text-secondary)}.auth-diag-config-table code{overflow-wrap:anywhere;color:var(--mud-palette-text-primary)}

@media(max-width:1050px){.cloud-landing-main{grid-template-columns:1fr;padding-top:54px}.cloud-landing-visual{min-height:500px;max-width:680px;width:100%;margin:0 auto}.cloud-landing-copy{max-width:820px}.cloud-signal-one{left:5%}.cloud-signal-two{right:5%}.cloud-signal-three{left:12%}}
@media(max-width:680px){.cloud-landing-shell{padding:0 20px}.cloud-landing-header{height:88px}.cloud-private-pill{display:none}.cloud-action-lockup span{display:none}.cloud-landing-main{padding:46px 0 54px;gap:25px}.cloud-landing-copy h1{font-size:clamp(3rem,16vw,4.7rem)}.cloud-landing-lead{margin-top:22px}.cloud-login-button{width:100%;min-width:0}.cloud-trust-row{gap:10px}.cloud-trust-row>div{width:100%}.cloud-landing-visual{min-height:420px;transform:scale(.86);margin:-25px -7% -35px;width:114%}.cloud-landing-footer{flex-wrap:wrap;padding:18px 0}.cloud-footer-spacer{display:none}.auth-diag-grid{grid-template-columns:1fr}.auth-diag-config-table>div{grid-template-columns:1fr;gap:7px}}

/* v0.18 public layout replaces the old centered intranet sign-in wrapper. */
.public-auth-layout{min-height:100vh;background:#05080e;color:#f7f9ff}
.public-auth-layout>.signin-shell{min-height:100vh;width:min(576px,100%);margin:0 auto;padding:28px;display:grid;place-items:center}
