@import url("./bootstrap-5.3.8.min.css");

:root {
    --cadence-charcoal: #24272a;
    --cadence-crimson: #a61932;
    --cadence-crimson-dark: #851328;
    --cadence-warm-white: #f8f7f4;
    --cadence-stone: #e7e3dc;
    --cadence-mid-grey: #74787c;
    --cadence-white: #ffffff;
    --cadence-success: #327357;
    --cadence-warning: #8a651f;
    --cadence-error: #b13a2f;
    --cadence-info: #35647a;
    --cadence-font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html { scroll-behavior: smooth; }
body { min-width: 320px; color: var(--cadence-charcoal); background: var(--cadence-warm-white); font-family: var(--cadence-font); line-height: 1.6; -webkit-font-smoothing: antialiased; }
a { text-underline-offset: .2em; }
.skip-link { position: fixed; z-index: 1100; top: .75rem; left: .75rem; padding: .65rem 1rem; color: var(--cadence-white); background: var(--cadence-charcoal); transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
.public-header { background: var(--cadence-charcoal); border-color: transparent !important; }
.cadence-wordmark { color: var(--cadence-charcoal); font-size: 1.5rem; font-weight: 750; letter-spacing: -.05em; text-decoration: none; }
.cadence-wordmark span { color: var(--cadence-crimson); }
.cadence-login-link { color: var(--cadence-charcoal); font-weight: 650; text-decoration: none; }
.cadence-login-link:hover, .cadence-login-link:focus-visible { color: var(--cadence-crimson); }
.landing-page .public-header .cadence-wordmark { color: var(--cadence-white); }
.landing-page .public-header .cadence-login-link { color: #e4e3df; }
.landing-page .public-header .cadence-login-link:hover,
.landing-page .public-header .cadence-login-link:focus-visible { color: var(--cadence-white); }
.btn { border-radius: .25rem; font-weight: 700; }
.btn-cadence { --bs-btn-color: #fff; --bs-btn-bg: var(--cadence-crimson); --bs-btn-border-color: var(--cadence-crimson); --bs-btn-hover-color: #fff; --bs-btn-hover-bg: var(--cadence-crimson-dark); --bs-btn-hover-border-color: var(--cadence-crimson-dark); --bs-btn-active-bg: var(--cadence-crimson-dark); --bs-btn-active-border-color: var(--cadence-crimson-dark); --bs-btn-disabled-color: #fff; --bs-btn-disabled-bg: var(--cadence-crimson); --bs-btn-disabled-border-color: var(--cadence-crimson); padding-inline: 1.35rem; }
.btn-outline-cadence { --bs-btn-color: var(--cadence-charcoal); --bs-btn-border-color: rgba(36,39,42,.35); --bs-btn-hover-color: var(--cadence-charcoal); --bs-btn-hover-bg: #fff; --bs-btn-hover-border-color: var(--cadence-charcoal); padding-inline: 1.35rem; }
.btn:focus-visible, a:focus-visible, .form-control:focus { outline: .2rem solid rgba(166, 25, 50, .28); outline-offset: .15rem; box-shadow: none; }
.hero-section { padding: clamp(4.5rem, 9vw, 8rem) 0; overflow: hidden; color: var(--cadence-white); background: var(--cadence-charcoal); }
.eyebrow { margin-bottom: 1.1rem; color: var(--cadence-crimson); font-size: .75rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.hero-section .eyebrow,
.capabilities-section .eyebrow { display: flex; align-items: center; gap: .65rem; color: #dededa; }
.hero-section .eyebrow::before,
.capabilities-section .eyebrow::before { width: 1.5rem; height: .18rem; flex: 0 0 auto; background: var(--cadence-crimson); content: ""; }
.display-cadence { color: var(--cadence-white); font-size: clamp(4.5rem, 10vw, 7.75rem); font-weight: 750; line-height: .9; letter-spacing: -.075em; }
.hero-lead { max-width: 45rem; font-size: clamp(1.6rem, 3vw, 2.35rem); font-weight: 650; line-height: 1.25; letter-spacing: -.035em; }
.hero-copy { max-width: 43rem; color: #c7c8c6; font-size: 1.08rem; }
.hero-section .btn-outline-cadence { --bs-btn-color: var(--cadence-warm-white); --bs-btn-border-color: rgba(248,247,244,.48); --bs-btn-hover-color: var(--cadence-charcoal); --bs-btn-hover-bg: var(--cadence-warm-white); --bs-btn-hover-border-color: var(--cadence-warm-white); }
.planning-preview { position: relative; padding: 1.4rem; color: var(--cadence-white); background: #2d3134; border: 1px solid #44484b; border-radius: .5rem; box-shadow: 0 2rem 4rem rgba(0,0,0,.2); }
.planning-preview::after { position: absolute; z-index: 0; top: -3rem; right: -3rem; width: 10rem; height: 10rem; border: 1px solid rgba(231,227,220,.2); border-radius: 50%; content: ""; pointer-events: none; }
.planning-preview > * { position: relative; z-index: 1; }
.preview-label { color: #b5b7b7; font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.preview-status { color: #d0d1d1; font-size: .72rem; }
.preview-status span { display: inline-block; width: .45rem; height: .45rem; margin-right: .3rem; background: #ca5269; border-radius: 50%; }
.preview-focus { padding: 1.5rem; background: #303438; border: 1px solid #45494c; border-radius: .3rem; }
.preview-focus h2 { margin: .75rem 0 1.25rem; font-size: 1.45rem; line-height: 1.3; }
.preview-focus small { color: #b5b7b7; }
.cadence-progress { height: .3rem; margin-bottom: .75rem; background: #505457; }
.cadence-progress .progress-bar { background: var(--cadence-crimson); }
.preview-detail { display: flex; min-height: 7rem; padding: 1.2rem; flex-direction: column; gap: .75rem; background: #2b2f32; border-radius: .3rem; }
.preview-detail strong { font-size: .9rem; line-height: 1.45; }
.section-space { padding: clamp(4.75rem, 9vw, 7rem) 0; }
.concept-section { background: var(--cadence-white); }
.section-title { max-width: 48rem; font-size: clamp(2.25rem, 5vw, 3.6rem); font-weight: 720; line-height: 1.1; letter-spacing: -.05em; }
.section-intro { color: var(--cadence-mid-grey); font-size: 1.08rem; }
.strategy-flow { border-top: 1px solid var(--cadence-stone); }
.strategy-flow li { position: relative; display: flex; padding: 1.75rem 2rem 0 0; flex-direction: column; }
.strategy-flow li::before { position: absolute; top: -.3rem; width: .6rem; height: .6rem; background: var(--cadence-crimson); border-radius: 50%; content: ""; }
.strategy-flow li:not(:last-child)::after { position: absolute; top: 1.6rem; right: 2rem; color: #aaa7a1; content: "→"; }
.flow-number, .capability-item > span { color: var(--cadence-crimson); font-size: .72rem; font-weight: 800; }
.strategy-flow strong { margin: .7rem 0 .1rem; font-size: 1.05rem; }
.strategy-flow small { color: var(--cadence-mid-grey); }
.capability-heading { max-width: 46rem; }
.capabilities-section { color: var(--cadence-white); background: var(--cadence-charcoal); }
.capability-grid { border-top: 1px solid #484c4f; border-left: 1px solid #484c4f; }
.capability-item { padding: clamp(1.75rem, 4vw, 2.5rem); background: rgba(255,255,255,.018); border-right: 1px solid #484c4f; border-bottom: 1px solid #484c4f; }
.capability-item h3 { margin: 1.4rem 0 .65rem; font-size: 1.5rem; font-weight: 700; letter-spacing: -.025em; }
.capability-item p { max-width: 28rem; margin: 0; color: #c3c5c4; }
.cta-section { color: var(--cadence-white); background: var(--cadence-charcoal); }
.cta-section .section-title { color: var(--cadence-white); }
.cta-login { color: #d5d6d6; font-size: .9rem; }
.cta-login:hover, .cta-login:focus-visible { color: var(--cadence-white); }
.site-footer { color: #aeb0b0; background: var(--cadence-charcoal); border-top: 1px solid #3e4245; font-size: .88rem; }
.cadence-wordmark-light { color: var(--cadence-white); }
.auth-page { display: flex; min-height: 100vh; flex-direction: column; background: var(--cadence-white); }
.auth-page .public-header { background: var(--cadence-warm-white); border-bottom: 1px solid rgba(36,39,42,.1) !important; }
.auth-main { display: flex; padding: clamp(3.5rem, 8vw, 6.5rem) 0; flex: 1; align-items: center; }
.auth-card { padding: clamp(1.5rem, 4vw, 2.5rem); background: var(--cadence-white); border: 1px solid var(--cadence-stone); border-radius: .4rem; box-shadow: 0 1.25rem 3.5rem rgba(36,39,42,.07); }
.auth-card h1 { margin-bottom: .6rem; font-size: clamp(2.1rem, 5vw, 2.75rem); font-weight: 720; letter-spacing: -.045em; }
.auth-intro { margin-bottom: 2rem; color: var(--cadence-mid-grey); }
.form-label { margin-bottom: .4rem; font-size: .88rem; font-weight: 700; }
.form-control { min-height: 3.1rem; border-color: #cbc7c0; border-radius: .25rem; background: var(--cadence-warm-white); }
.form-control:focus { border-color: var(--cadence-crimson); background: var(--cadence-white); }
.form-note { margin: .85rem 0 0; padding: .7rem .85rem; color: #626669; background: var(--cadence-warm-white); border-left: .2rem solid var(--cadence-stone); font-size: .78rem; line-height: 1.45; }
.development-login-helper { margin: 0 0 1.5rem; padding: 1rem; background: var(--cadence-warm-white); border: 1px solid var(--cadence-stone); border-left: .2rem solid var(--cadence-crimson); border-radius: .25rem; }
.development-login-helper h2 { margin: .35rem 0 .35rem; font-size: 1rem; font-weight: 750; letter-spacing: -.015em; }
.development-login-helper p { margin-bottom: .85rem; color: var(--cadence-mid-grey); font-size: .78rem; }
.development-login-label { color: var(--cadence-crimson); font-size: .65rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.auth-switch { margin: 1.75rem 0 1rem; text-align: center; }
.auth-switch a { color: var(--cadence-crimson); font-weight: 700; }
.back-link { display: block; color: var(--cadence-mid-grey); font-size: .86rem; text-align: center; }
.form-section-title { width: auto; margin-bottom: 1rem; color: var(--cadence-charcoal); font-size: .82rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.auth-field { clear: both; padding-top: .25rem; }
.application-page { min-height: 100vh; background: var(--cadence-warm-white); }
.app-header { min-height: 4.5rem; display: flex; align-items: center; color: var(--cadence-white); background: var(--cadence-charcoal); }
.app-user { color: #d7d8d6; font-size: .88rem; }
.app-nav { display: flex; align-self: stretch; align-items: stretch; gap: .25rem; }
.app-nav a { display: flex; padding: 0 1rem; align-items: center; color: #c6c8c7; border-bottom: .18rem solid transparent; font-size: .86rem; font-weight: 650; text-decoration: none; }
.app-nav a:hover, .app-nav a:focus-visible, .app-nav a.active { color: var(--cadence-white); border-bottom-color: var(--cadence-crimson); }
.mobile-app-nav { display: none; padding: .65rem 1rem; gap: 1.1rem; overflow-x: auto; background: #303438; }
.mobile-app-nav a { flex: 0 0 auto; color: #e3e3df; border-bottom: .12rem solid transparent; font-size: .78rem; text-decoration: none; }
.mobile-app-nav a:hover, .mobile-app-nav a:focus-visible, .mobile-app-nav a.active { color: var(--cadence-white); border-bottom-color: var(--cadence-crimson); }
@media (max-width: 767.98px) { .app-header .app-nav { display: none; } .mobile-app-nav { display: flex; } }
.app-workspace { min-height: calc(100vh - 4.5rem); }
.app-title { margin-bottom: .55rem; font-size: clamp(2.4rem, 5vw, 4rem); font-weight: 740; line-height: 1.05; letter-spacing: -.055em; }
.app-intro { color: var(--cadence-mid-grey); font-size: 1.05rem; }
.role-badge { display: inline-block; padding: .45rem .75rem; color: var(--cadence-charcoal); background: var(--cadence-stone); border-radius: 2rem; font-size: .78rem; font-weight: 750; }
.setup-callout { display: flex; padding: clamp(1.5rem, 4vw, 2.25rem); align-items: center; justify-content: space-between; gap: 2rem; background: var(--cadence-white); border: 1px solid var(--cadence-stone); border-left: .3rem solid var(--cadence-crimson); border-radius: .35rem; }
.setup-callout h2 { margin-bottom: .55rem; font-size: 1.6rem; font-weight: 720; letter-spacing: -.03em; }
.setup-callout p:last-child { max-width: 48rem; color: var(--cadence-mid-grey); }
.dashboard-card { min-height: 15rem; padding: 1.6rem; background: var(--cadence-white); border: 1px solid var(--cadence-stone); border-radius: .35rem; }
.dashboard-card-label { color: var(--cadence-crimson); font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.dashboard-card h3 { margin: 1.1rem 0 .65rem; font-size: 1.3rem; font-weight: 700; letter-spacing: -.025em; }
.dashboard-card p { color: var(--cadence-mid-grey); }
.placeholder-tag { display: inline-block; padding: .25rem .55rem; color: #626669; background: var(--cadence-warm-white); border: 1px solid var(--cadence-stone); border-radius: 2rem; font-size: .7rem; font-weight: 700; }
.lms-empty-state { min-height: 18rem; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.lms-empty-state h2 { margin: 1rem 0 .6rem; font-size: clamp(1.55rem,3vw,2.15rem); font-weight: 720; letter-spacing: -.035em; }
.lms-empty-state p { max-width: 42rem; color: var(--cadence-mid-grey); }
.lms-filter-panel { padding: 1.35rem; }
.lms-summary-card { display: flex; min-height: 10.5rem; padding: 1.25rem; flex-direction: column; justify-content: space-between; background: var(--cadence-white); border: 1px solid var(--cadence-stone); border-top: .22rem solid var(--cadence-charcoal); border-radius: .35rem; }
.lms-summary-card span { color: var(--cadence-mid-grey); font-size: .76rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.lms-summary-card span em { display: block; margin-top: .2rem; color: var(--cadence-crimson); font-size: .65rem; font-style: normal; letter-spacing: .06em; }
.lms-summary-card strong { color: var(--cadence-charcoal); font-size: clamp(2rem,4vw,3rem); line-height: 1; }
.lms-summary-card small { color: var(--cadence-mid-grey); font-weight: 650; }
.lms-summary-card.state-quoted, .lms-summary-card.state-sold { border-top-color: var(--cadence-crimson); }
.lms-zero-state { display: flex; padding: 1rem 1.2rem; flex-direction: column; background: var(--cadence-stone); border-radius: .3rem; }
.lms-zero-state span { color: var(--cadence-mid-grey); }
/* Operational LMS dashboard only; shared layouts retain their existing appearance. */
.lms-dashboard .setup-panel { border: 1px solid var(--cadence-stone); border-radius: .65rem; padding: 1.15rem 1.3rem; box-shadow: none; }
.lms-dashboard .lms-dashboard-heading, .lms-dashboard .lms-reminder-heading { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; }
.lms-dashboard .app-title { font-size: clamp(1.8rem,3vw,2.5rem); margin-bottom: .35rem; }
.lms-dashboard .app-intro { font-size: .9rem; }
.lms-dashboard time { color: var(--cadence-mid-grey); font-size: .8rem; }
.lms-dashboard .lms-filter-panel .form-label { font-size: .75rem; margin-bottom: .25rem; }
.lms-dashboard .lms-filter-panel :is(.form-select,.btn) { font-size: .85rem; min-height: 2.3rem; padding-block: .4rem; }
.lms-dashboard .lms-summary-card { min-height: 10rem; border-top: 1px solid var(--cadence-stone); border-left: 3px solid var(--cadence-charcoal); border-radius: .65rem; padding: 1rem; gap: .35rem; }
.lms-dashboard .lms-summary-card:is(.state-quoted,.state-sold) { border-left-color: var(--cadence-crimson); }
.lms-dashboard .lms-summary-card span { text-transform: none; letter-spacing: 0; font-size: .85rem; }
.lms-dashboard .lms-summary-card strong { font-size: 2rem; }
.lms-dashboard .lms-summary-card small { font-size: .8rem; }
.lms-dashboard .lms-reminder-heading { margin-bottom: 1rem; }
.lms-dashboard .lms-reminder-heading h2 { font-size: 1.15rem; margin: .25rem 0 0; }
.lms-dashboard .lms-reminder-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; }
.lms-dashboard .lms-reminder-list { min-width: 0; }
.lms-dashboard .lms-reminder-list > header { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding-bottom: .6rem; border-bottom: 1px solid var(--cadence-stone); }
.lms-dashboard .lms-reminder-list h3 { font-size: .95rem; margin: 0; }
.lms-dashboard .lms-reminder-overdue h3 { color: var(--cadence-crimson); }
.lms-dashboard .lms-reminder-count { font-size: .8rem; color: var(--cadence-mid-grey); }
.lms-dashboard .lms-reminder-row { padding: .7rem 0; border-bottom: 1px solid var(--cadence-stone); overflow-wrap: anywhere; }
.lms-dashboard .lms-reminder-row:last-child { border-bottom: 0; padding-bottom: 0; }
.lms-dashboard .lms-reminder-row-heading { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: .3rem .75rem; }
.lms-dashboard .lms-reminder-row a { font-weight: 600; font-size: .9rem; }
.lms-dashboard .lms-reminder-row-heading span, .lms-dashboard .lms-reminder-row small { font-size: .75rem; color: var(--cadence-mid-grey); }
.lms-dashboard .lms-reminder-row p { font-size: .85rem; margin: .3rem 0 0; white-space: pre-wrap; }
.lms-dashboard .lms-reminder-empty { color: var(--cadence-mid-grey); font-size: .85rem; margin: .8rem 0 0; }
@media (max-width: 767.98px) { .lms-dashboard .lms-reminder-columns { grid-template-columns: 1fr; } }
.lms-dashboard-table { min-width: 880px; }
.lms-dashboard-table thead th { color: var(--cadence-mid-grey); font-size: .72rem; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
.lms-dashboard-table tbody td { font-variant-numeric: tabular-nums; }
.lms-pipeline-layout{width:min(100%,58rem);margin-inline:auto}.lms-sentiment-funnel{display:block;width:100%;height:auto;max-height:27rem;overflow:visible}.lms-funnel-stage{cursor:pointer;text-decoration:none}.lms-funnel-shape{fill:#f7f4f0;stroke:#c9c3bc;stroke-width:2;vector-effect:non-scaling-stroke;transition:fill .15s ease,stroke .15s ease}.lms-funnel-stage:nth-of-type(2) .lms-funnel-shape{fill:#f4f0eb}.lms-funnel-stage:nth-of-type(3) .lms-funnel-shape{fill:#f1ece6}.lms-funnel-stage:nth-of-type(4) .lms-funnel-shape{fill:#eee8e1}.lms-funnel-stage:nth-of-type(5) .lms-funnel-shape{fill:#eae2db}.lms-funnel-stage:hover .lms-funnel-shape,.lms-funnel-stage:focus .lms-funnel-shape{fill:#fff;stroke:var(--cadence-crimson)}.lms-funnel-stage:focus{outline:none}.lms-funnel-stage:focus-visible .lms-funnel-shape{stroke-width:4}.lms-funnel-label,.lms-funnel-count{fill:var(--cadence-charcoal);text-anchor:middle;pointer-events:none}.lms-funnel-label{font-size:17px;font-weight:750;letter-spacing:.045em;text-transform:uppercase}.lms-funnel-count{font-size:25px;font-weight:800}@media(max-width:767.98px){.lms-pipeline-layout{width:100%}.lms-sentiment-funnel{max-height:none}.lms-funnel-label{font-size:15px}.lms-funnel-count{font-size:23px}}
.lms-card-link { color: var(--cadence-charcoal); font-size: .82rem; font-weight: 700; text-decoration-color: var(--cadence-crimson); text-underline-offset: .2rem; }
.lms-card-link:hover, .lms-card-link:focus { color: var(--cadence-crimson); }
.lms-period-stat { display: flex; min-height: 8rem; padding: 1rem 1.15rem; flex-direction: column; justify-content: center; background: var(--cadence-white); border: 1px solid var(--cadence-stone); border-radius: .35rem; }
.lms-period-stat span { color: var(--cadence-mid-grey); font-size: .74rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.lms-period-stat strong { color: var(--cadence-charcoal); font-size: 2rem; line-height: 1.25; }
.lms-period-stat small { color: var(--cadence-mid-grey); font-weight: 650; }
.lms-outcome-table { min-width: 980px; }
.lms-section-nav { position: sticky; top: 1.25rem; display: grid; padding: 1rem; gap: .3rem; background: var(--cadence-charcoal); border-radius: .35rem; }
.lms-section-nav .eyebrow { margin: 0 0 .55rem; color: #bdbbb6; }
.lms-section-nav a { padding: .65rem .75rem; color: #e5e3de; border-left: .18rem solid transparent; text-decoration: none; font-weight: 700; }
.lms-section-nav a:hover, .lms-section-nav a:focus-visible { color: var(--cadence-white); background: rgba(255,255,255,.06); }
.lms-section-nav a.active { color: var(--cadence-white); border-left-color: var(--cadence-crimson); background: rgba(255,255,255,.08); }
.lms-leads-table { min-width: 1240px; }
.lms-leads-table thead th { color: var(--cadence-mid-grey); font-size: .7rem; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
.lms-leads-page .lms-leads-header .eyebrow { margin-bottom: .15rem; }
.lms-leads-page .lms-leads-header .app-title { margin-bottom: .2rem; font-size: clamp(2rem,4vw,3rem); }
.lms-leads-page .lms-leads-header .app-intro { font-size: .95rem; }
.lms-leads-page .lms-section-nav { padding: .75rem; gap: .15rem; }
.lms-leads-page .lms-section-nav .eyebrow { margin-bottom: .3rem; }
.lms-leads-page .lms-section-nav a { padding: .5rem .65rem; }
.lms-leads-page .lms-filter-panel { padding: 1rem 1.1rem; }
.lms-leads-page .lms-filter-panel h2 { font-size: 1.15rem; }
.lms-leads-page .lms-filter-panel p { font-size: .85rem; }
.lms-leads-page .lms-filter-panel .form-label { margin-bottom: .2rem; font-size: .78rem; }
.lms-leads-page .lms-filter-panel .form-control,
.lms-leads-page .lms-filter-panel .form-select { min-height: 2.25rem; padding-top: .35rem; padding-bottom: .35rem; font-size: .86rem; }
.lms-leads-page .lms-filter-panel .btn { padding: .35rem .7rem; font-size: .8rem; }
.lms-leads-page .lms-filter-actions { align-items: center; flex-wrap: nowrap; }
.lms-leads-page .setup-panel:last-child { padding: 1rem 1.1rem .65rem; }
.lms-leads-page .lms-leads-table { margin-bottom: 0; font-size: .86rem; }
.lms-leads-page .lms-leads-table > :not(caption) > * > * { padding: .48rem .55rem; }
.lms-leads-page .lms-state-pill { padding: .15rem .38rem; font-size: .67rem; }
@media (max-width: 767.98px) {
    .lms-leads-page .lms-leads-header .app-title { font-size: 2rem; }
    .lms-leads-page .lms-filter-panel, .lms-leads-page .setup-panel:last-child { padding: .9rem; }
}
.lms-state-pill { display: inline-flex; padding: .2rem .45rem; border-radius: 2rem; background: var(--cadence-stone); font-size: .72rem; font-weight: 750; }
.lms-state-pill.state-quoted, .lms-state-pill.state-sold { color: var(--cadence-white); background: var(--cadence-charcoal); }
.lms-state-pill.state-lost { color: #7b2922; background: #f2deda; }
.lms-add-form { max-width: 920px; }
.lead-detail-list { display: grid; margin: 1rem 0 0; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .85rem; }
.lead-detail-list div { padding: .8rem; background: var(--cadence-warm-white); border: 1px solid var(--cadence-stone); }
.lead-detail-list dt { color: var(--cadence-mid-grey); font-size: .7rem; letter-spacing: .05em; text-transform: uppercase; }
.lead-detail-list dd { margin: .2rem 0 0; font-weight: 650; }
.compact-detail-list { display: grid; gap: .45rem; margin: 0; }
.compact-detail-list div { display: flex; gap: .65rem; align-items: baseline; min-width: 0; }
.compact-detail-list dt { color: var(--cadence-mid-grey); font-size: .72rem; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
.compact-detail-list dd { margin: 0; font-weight: 650; overflow-wrap: anywhere; }
.compact-detail-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.contact-card-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.contact-card { padding: 1rem; background: var(--cadence-warm-white); border: 1px solid var(--cadence-stone); border-radius: .35rem; }
@media (min-width: 992px) { .border-start-lg { border-left: 1px solid var(--cadence-stone); padding-left: 1.5rem; } }
@media (max-width: 767.98px) { .lead-detail-list { grid-template-columns: 1fr; } }
@media (max-width: 767.98px) { .compact-detail-grid, .contact-card-grid { grid-template-columns: 1fr; } }
@media (max-width: 991.98px) { .lms-section-nav { position: static; display: flex; align-items: center; overflow-x: auto; } .lms-section-nav .eyebrow { margin: 0 .5rem 0 0; white-space: nowrap; } .lms-section-nav a { border-left: 0; border-bottom: .18rem solid transparent; white-space: nowrap; } .lms-section-nav a.active { border-bottom-color: var(--cadence-crimson); } }
.development-reference { --reference-panel: #fff; }
.reference-hero { display: flex; padding: clamp(1.5rem,3vw,2.5rem); align-items: flex-start; justify-content: space-between; gap: 2rem; background: var(--cadence-charcoal); color: var(--cadence-white); border-radius: .4rem; }
.reference-hero .app-title { color: var(--cadence-white); }
.reference-hero .app-intro, .reference-hero p { max-width: 62rem; color: #d7d5d0; }
.reference-status { display: inline-flex; padding: .22rem .55rem; align-items: center; width: max-content; border-radius: 2rem; font-size: .67rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.status-agreed { color: #235844; background: #dcece5; }
.status-review { color: #73531b; background: #f3e7c7; }
.status-future { color: #4e5960; background: #e3e6e7; }
.status-error { color: #842029; background: #f8d7da; }
.reference-toc { padding: 1.2rem 1.35rem; }
.reference-toc div { display: flex; margin-top: .65rem; flex-wrap: wrap; gap: .45rem 1.25rem; }
.reference-toc a { color: var(--cadence-charcoal); font-weight: 650; }
.reference-legend { display: flex; gap: .5rem; flex-wrap: wrap; }
.reference-section { padding-block: 2.25rem; scroll-margin-top: 5rem; border-top: 1px solid var(--cadence-stone); }
.reference-section-featured { margin-inline: calc(var(--bs-gutter-x) * -.5); padding-inline: calc(var(--bs-gutter-x) * .5); background: #f0eee9; }
.reference-heading { display: flex; margin-bottom: 1.25rem; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.reference-heading h2 { margin: 0; font-size: clamp(1.5rem,3vw,2rem); letter-spacing: -.03em; }
.reference-card { padding: 1.25rem; background: var(--reference-panel); border: 1px solid var(--cadence-stone); border-radius: .35rem; }
.reference-card h3 { font-size: 1.05rem; }
.reference-definition-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .8rem; }
.reference-definition-grid article { padding: 1rem; background: var(--reference-panel); border-top: .2rem solid var(--cadence-charcoal); }
.reference-definition-grid p { margin: .35rem 0 0; color: var(--cadence-mid-grey); }
.reference-flow { display: flex; margin-block: 1rem; align-items: center; flex-wrap: wrap; gap: .5rem; }
.reference-flow span { padding: .45rem .7rem; background: var(--cadence-stone); border-radius: .25rem; font-weight: 700; }
.reference-flow span:not(:last-child)::after { content: "→"; margin-left: 1rem; color: var(--cadence-crimson); }
.reference-callout, .reference-warning { padding: 1rem 1.15rem; background: var(--cadence-stone); border-left: .22rem solid var(--cadence-charcoal); }
.reference-warning { background: #f6e8e6; border-left-color: var(--cadence-error); }
.reference-callout p, .reference-warning p, .reference-warning ol { margin: .35rem 0 0; }
.reference-equation { display: flex; margin-block: 1rem; align-items: center; gap: 1rem; font-size: 1.2rem; }
.reference-equation span { padding: .6rem .9rem; background: var(--cadence-stone); font-weight: 750; }
.reference-equation b { color: var(--cadence-crimson); font-size: 1.6rem; }
.reference-table { margin: 0; background: var(--reference-panel); border: 1px solid var(--cadence-stone); }
.reference-table thead th { color: var(--cadence-mid-grey); background: #efede8; font-size: .72rem; letter-spacing: .05em; text-transform: uppercase; }
.reference-state-list { display: flex; margin-block: 1rem; gap: .5rem; flex-wrap: wrap; }
.reference-state-list span { padding: .45rem .75rem; color: var(--cadence-white); background: var(--cadence-charcoal); border-radius: .2rem; font-weight: 750; }
.reference-example { margin-bottom: 0; padding: .75rem; background: var(--cadence-warm-white); border-left: .18rem solid var(--cadence-crimson); }
.reference-summary { display: flex; padding: 1rem; justify-content: space-between; flex-wrap: wrap; gap: .75rem 1.5rem; background: var(--cadence-charcoal); color: var(--cadence-white); }
.reference-timeline { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; }
.reference-timeline div { padding: .75rem; background: var(--cadence-warm-white); }
.reference-timeline dd { margin: 0; }
@media (max-width: 767.98px) { .reference-hero { flex-direction: column; } .reference-definition-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .reference-timeline { grid-template-columns: 1fr; } }
@media (max-width: 479.98px) { .reference-definition-grid { grid-template-columns: 1fr; } .reference-flow span:not(:last-child)::after { content: ""; margin: 0; } }
.setup-shell { max-width: 1600px; }
.setup-sidebar { position: sticky; top: 1.5rem; padding: 1.35rem; background: var(--cadence-charcoal); color: var(--cadence-white); border-radius: .4rem; }
.setup-sidebar h1 { margin-bottom: .7rem; font-size: 1.65rem; font-weight: 720; letter-spacing: -.04em; }
.setup-sidebar > p:not(.eyebrow) { color: #bfc1c0; font-size: .86rem; }
.setup-sidebar nav { display: flex; margin-top: 1.5rem; flex-direction: column; gap: .25rem; }
.setup-sidebar nav a { display: flex; padding: .65rem .7rem; align-items: center; gap: .75rem; color: #c8c9c8; border-radius: .25rem; font-size: .82rem; font-weight: 650; text-decoration: none; }
.setup-sidebar nav a span { color: #929594; font-size: .66rem; }
.setup-sidebar nav a:hover, .setup-sidebar nav a:focus-visible, .setup-sidebar nav a.active { color: var(--cadence-white); background: #34383b; }
.setup-sidebar nav a.active { box-shadow: inset .2rem 0 var(--cadence-crimson); }
.setup-content { max-width: 1100px; }
.setup-content > h2 { margin-bottom: .75rem; font-size: clamp(2.15rem, 5vw, 3.25rem); font-weight: 730; letter-spacing: -.05em; }
.setup-lead { max-width: 48rem; margin-bottom: 2rem; color: var(--cadence-mid-grey); font-size: 1.04rem; }
.setup-form, .setup-panel { padding: clamp(1.25rem, 3vw, 2rem); background: var(--cadence-white); border: 1px solid var(--cadence-stone); border-radius: .4rem; }
.setup-panel h3 { margin-bottom: 1.25rem; font-size: 1.15rem; font-weight: 720; letter-spacing: -.02em; }
.setup-continue { display: flex; margin-top: 2rem; justify-content: flex-end; }
.org-tree { margin: 0; padding-left: 1rem; list-style: none; border-left: 1px solid var(--cadence-stone); }
.org-tree .org-tree { margin: .5rem 0 0 1rem; }
.org-tree li { margin-bottom: .5rem; }
.org-node { display: flex; padding: .75rem .85rem; align-items: center; justify-content: space-between; gap: 1rem; background: var(--cadence-warm-white); border: 1px solid var(--cadence-stone); border-radius: .25rem; }
.org-node span { display: flex; flex-direction: column; }
.org-node small { color: var(--cadence-mid-grey); }
.org-node a { color: var(--cadence-crimson); font-size: .8rem; font-weight: 700; }
.org-actions { flex-direction: row !important; gap: .85rem; white-space: nowrap; }
.guided-note { padding: 1.2rem 1.35rem; background: var(--cadence-stone); border-radius: .35rem; }
.guided-note p { margin: .35rem 0; }
.guided-note small { color: #5d6265; }
.setup-panel table small { display: block; color: var(--cadence-mid-grey); }

/* Individual Company Account: compact read-only business record. */
.crm-company-page .crm-company-details-grid { display: grid; margin: 0; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 2rem; }
.crm-company-page .crm-company-details-grid > div { display: grid; min-width: 0; padding: .5rem 0; grid-template-columns: minmax(7.5rem,.8fr) minmax(0,1.4fr); gap: .75rem; border-top: 1px solid var(--cadence-stone); }
.crm-company-page .crm-company-details-grid dt { color: var(--cadence-mid-grey); font-size: .78rem; font-weight: 650; }
.crm-company-page .crm-company-details-grid dd { min-width: 0; margin: 0; color: var(--cadence-charcoal); font-weight: 650; overflow-wrap: anywhere; }
.crm-company-page .crm-company-details-grid dd a { margin-left: .35rem; white-space: nowrap; }
.crm-company-page .crm-company-details-grid .crm-company-address { grid-column: 1 / -1; grid-template-columns: minmax(7.5rem,.37fr) minmax(0,1.63fr); }
.crm-company-page .crm-company-summary { padding: 1.25rem 1.5rem; }
.crm-company-page .crm-company-summary-grid { display: grid; margin-bottom: 0; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .75rem 1.5rem; }
.crm-company-page .crm-company-summary-grid dt { color: var(--cadence-mid-grey); font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.crm-company-page .crm-company-summary-grid dd { margin: .1rem 0 0; color: var(--cadence-charcoal); font-weight: 650; overflow-wrap: anywhere; }
.crm-company-page details.crm-disclosure { padding: 0; overflow: hidden; }
.crm-company-page .crm-disclosure > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.5rem; cursor: pointer; list-style: none; }
.crm-company-page .crm-disclosure > summary::-webkit-details-marker { display: none; }
.crm-company-page .crm-disclosure > summary strong { display: block; color: var(--cadence-charcoal); font-size: 1.1rem; }
.crm-company-page .crm-disclosure > summary small { display: block; margin-top: .2rem; color: var(--cadence-mid-grey); }
.crm-company-page .crm-disclosure > summary:hover { background: var(--cadence-warm-white); }
.crm-company-page .crm-disclosure > summary:focus-visible { outline: 3px solid rgba(175,18,49,.25); outline-offset: -3px; }
.crm-company-page .crm-disclosure-indicator { width: .65rem; height: .65rem; flex: 0 0 auto; border-right: 2px solid var(--cadence-mid-grey); border-bottom: 2px solid var(--cadence-mid-grey); transform: rotate(45deg); transition: transform .15s ease; }
.crm-company-page .crm-disclosure[open] .crm-disclosure-indicator { transform: rotate(225deg); }
.crm-company-page .crm-disclosure-content { padding: .5rem 1.5rem 1.25rem; border-top: 1px solid var(--cadence-stone); }
@media (max-width: 767.98px) {
  .crm-company-page .crm-company-details-grid { grid-template-columns: 1fr; }
  .crm-company-page .crm-company-details-grid .crm-company-address { grid-column: auto; grid-template-columns: minmax(7.5rem,.8fr) minmax(0,1.4fr); }
  .crm-company-page .crm-company-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 575.98px) {
  .crm-company-page .crm-company-details-grid > div,
  .crm-company-page .crm-company-details-grid .crm-company-address { grid-template-columns: 1fr; gap: .15rem; }
  .crm-company-page .crm-company-summary,
  .crm-company-page .crm-disclosure > summary,
  .crm-company-page .crm-disclosure-content { padding-left: 1rem; padding-right: 1rem; }
  .crm-company-page .crm-company-summary-grid { grid-template-columns: 1fr; }
}

/* Permanent Administration */
.administration-content { max-width: 1120px; }
.administration-summary-card { display: flex; min-height: 100%; flex-direction: column; justify-content: space-between; gap: 1.5rem; border-top: .22rem solid var(--cadence-charcoal); }
.administration-summary-card .eyebrow { color: var(--cadence-crimson); }
.administration-facts { margin: 0; }
.administration-facts div, .review-list div { display: grid; padding: .65rem 0; grid-template-columns: minmax(8rem, 1fr) minmax(0, 1.35fr); gap: 1rem; border-top: 1px solid var(--cadence-stone); }
.administration-facts dt, .review-list dt { color: var(--cadence-mid-grey); font-size: .78rem; font-weight: 650; }
.administration-facts dd, .review-list dd { margin: 0; color: var(--cadence-charcoal); font-weight: 650; overflow-wrap: anywhere; }
.administration-add-panel { margin-bottom: 1rem; padding-block: 1rem; }
.administration-add-summary { color: var(--cadence-crimson); font-weight: 700; cursor: pointer; }
.administration-add-summary:focus-visible { outline: .18rem solid rgba(166,25,50,.3); outline-offset: .2rem; }
.administration-inactive-section { margin-top: .75rem; border-top: 1px solid var(--cadence-stone); }
.administration-inactive-summary { padding: .85rem .15rem; color: var(--cadence-mid-grey); font-size: .88rem; font-weight: 700; cursor: pointer; }
.administration-inactive-summary:hover { color: var(--cadence-charcoal); }
.administration-inactive-summary:focus-visible { outline: .18rem solid rgba(166,25,50,.3); outline-offset: .2rem; }
.administration-inactive-section[open] .administration-inactive-summary { color: var(--cadence-charcoal); }
.administration-inactive-section .table-responsive { margin-top: .25rem; }
.administration-inactive-section .table { margin-bottom: .25rem; }
.administration-content .table { min-width: 650px; }
.administration-content { scroll-margin-top: 1rem; }
.administration-users-table { min-width: 1080px !important; }
.administration-users-table th, .administration-users-table td { padding-right: 1rem; vertical-align: middle; }
.administration-users-table th:nth-child(2), .administration-users-table td:nth-child(2) { min-width: 14rem; overflow-wrap: anywhere; }
.administration-users-table th:last-child, .administration-users-table td:last-child { min-width: 11rem; white-space: nowrap; }
#company-details-edit { scroll-margin-top: 1.25rem; }
.permission-module-group { padding-top: 1rem; border-top: 1px solid var(--cadence-stone); }
.permission-module-group + .permission-module-group { margin-top: 1rem; }
.permission-module-group h4 { font-size: .9rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.lms-system-states { padding-top: 1.1rem; padding-bottom: 1.1rem; }
.lms-system-states h3 { margin-bottom: .35rem; }
.lms-system-states p { margin-bottom: .8rem; }
.lms-state-list { display: flex; flex-wrap: wrap; gap: .45rem; }
.lms-administration-table { width: 100%; table-layout: auto; }
.lms-status-table { min-width: 880px !important; }
.lms-administration-table th, .lms-administration-table td { padding-right: 1rem; vertical-align: middle; }
.lms-administration-table th:last-child, .lms-administration-table td:last-child { min-width: 12rem; padding-right: .5rem; }
.lms-status-table th:first-child, .lms-status-table td:first-child { min-width: 12rem; }
.lms-status-table th:nth-child(2), .lms-status-table td:nth-child(2) { min-width: 10rem; }
.lms-row-actions { display: flex; align-items: center; justify-content: flex-end; gap: .45rem; white-space: nowrap; }
.lms-row-actions form { margin: 0; }
.lms-required-indicator { display: inline-flex; padding: .3rem .55rem; align-items: center; color: #626669; background: var(--cadence-warm-white); border: 1px solid var(--cadence-stone); border-radius: 2rem; font-size: .7rem; font-weight: 700; line-height: 1; }
.lms-edit-form, #add-lead-status, #add-lead-source, #campaign-form { scroll-margin-top: 1.25rem; }
.lms-edit-form { margin-top: .25rem; padding-top: 1rem; border-top: 1px solid var(--cadence-stone); }
.administration-add-panel[id] { margin-top: .65rem; }

@media (max-width: 991.98px) {
  .administration-sidebar { position: static; }
  .administration-sidebar nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 575.98px) {
  .administration-sidebar nav { grid-template-columns: 1fr; }
  .administration-facts div, .review-list div { grid-template-columns: 1fr; gap: .2rem; }
  .administration-summary-card { min-height: auto; }
}
.access-list { margin: 0; padding-left: 1.15rem; color: #53575a; }
.access-list li { margin-bottom: .55rem; }
.access-summary { padding: 1rem 0; border-bottom: 1px solid var(--cadence-stone); }
.access-summary:first-of-type { padding-top: 0; }
.access-summary:last-child { border-bottom: 0; }
.access-summary p { margin: .3rem 0; color: #55595c; }
.access-summary small { color: var(--cadence-mid-grey); }
.structure-choice { display: grid; gap: .75rem; }
.choice-card { display: flex; padding: 1rem; gap: .85rem; cursor: pointer; background: var(--cadence-warm-white); border: 1px solid var(--cadence-stone); border-radius: .3rem; }
.choice-card:has(input:checked) { border-color: var(--cadence-crimson); box-shadow: inset .2rem 0 var(--cadence-crimson); }
.choice-card input { margin-top: .25rem; }
.choice-card span { display: flex; flex-direction: column; }
.choice-card small, .advanced-access summary span, .tenant-root small { color: var(--cadence-mid-grey); }
.tenant-root { display: flex; padding: .9rem; flex-direction: column; background: var(--cadence-stone); border-radius: .25rem; }
.advanced-access summary { display: flex; justify-content: space-between; gap: 1rem; cursor: pointer; }
.choice-card em { display: inline-block; margin-left: .45rem; padding: .1rem .4rem; color: var(--cadence-white); background: var(--cadence-crimson); border-radius: 1rem; font-size: .65rem; font-style: normal; text-transform: uppercase; }
.interview-progress { display: flex; margin-bottom: 1.5rem; justify-content: space-between; color: var(--cadence-mid-grey); font-size: .82rem; }
.interview-progress span { color: var(--cadence-crimson); font-weight: 750; text-transform: uppercase; letter-spacing: .08em; }
.interview-card { display: grid; gap: .75rem; }
.interview-actions { display: flex; margin-top: 1.25rem; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: .65rem; }
.simple-preview .tenant-root { margin-bottom: 1rem; }
.core-structure-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; overflow: hidden; background: var(--cadence-stone); border: 1px solid var(--cadence-stone); border-radius: .35rem; }
.core-structure-summary div { display: flex; padding: 1rem 1.2rem; flex-direction: column; background: var(--cadence-white); }
.core-structure-summary span { color: var(--cadence-mid-grey); font-size: .85rem; }
.user-review-list { display: grid; gap: .8rem; }
.user-review { padding: 1rem; background: var(--cadence-warm-white); border: 1px solid var(--cadence-stone); border-radius: .3rem; }
.user-review > div:first-child { display: flex; flex-direction: column; }
.user-review small { color: var(--cadence-mid-grey); }
.user-review dl { display: grid; margin: .85rem 0; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; }
.user-review dl div { min-width: 0; }
.user-review dt { color: var(--cadence-mid-grey); font-size: .7rem; letter-spacing: .05em; text-transform: uppercase; }
.user-review dd { margin: 0; font-weight: 650; }
.sales-responsibility, .sales-summary { padding: 1rem; background: #fff; border-left: .2rem solid var(--cadence-crimson); }
.sales-responsibility h4 { font-size: 1rem; }
.sales-summary { display: flex; flex-direction: column; }
.review-checks { display: grid; margin: 0; padding: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; list-style: none; }
.review-checks li { display: flex; padding: .75rem; align-items: center; gap: .65rem; background: var(--cadence-warm-white); border-radius: .25rem; }
.review-checks li span { display: grid; width: 1.5rem; height: 1.5rem; flex: 0 0 auto; place-items: center; border-radius: 50%; font-weight: 800; }
.review-checks .passed span { color: var(--cadence-white); background: var(--cadence-success); }
.review-checks .missing span { color: var(--cadence-white); background: var(--cadence-error); }

@media (max-width: 991.98px) {
    .planning-preview { max-width: 38rem; }
    .strategy-flow li:nth-child(2)::after { content: ""; }
}
@media (max-width: 575.98px) {
    .public-header .container { padding-inline: 1rem; }
    .cadence-login-link { padding-inline: .45rem; font-size: .9rem; }
    .public-header .btn-cadence { padding-inline: .75rem; }
    .hero-section .btn { width: 100%; }
    .planning-preview { padding: 1rem; }
    .strategy-flow { border-top: 0; }
    .strategy-flow li { padding: 1.25rem 0; border-top: 1px solid var(--cadence-stone); }
    .strategy-flow li::before { top: -.3rem; }
    .strategy-flow li::after { content: "" !important; }
    .auth-card { padding: 1.4rem; }
    .setup-callout { align-items: flex-start; flex-direction: column; }
    .review-checks { grid-template-columns: 1fr; }
    .core-structure-summary { grid-template-columns: 1fr; }
    .user-review dl { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
}
:where(#structure-management, #manage-record, #edit-record, #existing-users) {
    scroll-margin-top: 6rem;
}

.structure-management-panel:target {
    box-shadow: 0 0 0 3px rgba(166, 25, 50, 0.14);
}

/* Lead Company only: preserve the rest of the application's shared layouts. */
.lead-company-page :where(#contacts, #notes, #follow-up, #lead-progress) { scroll-margin-top: 6rem; }
.lead-company-page .setup-panel { padding: 1.35rem 1.5rem; border: 1px solid var(--cadence-stone); border-radius: .65rem; background: var(--cadence-white); box-shadow: 0 2px 10px rgba(36,39,42,.025); }
.lead-company-page .setup-panel h2 { font-size: 1.15rem; font-weight: 600; letter-spacing: -.02em; margin-bottom: .9rem; }
.lead-company-page .setup-panel h3 { font-size: 1rem; font-weight: 600; margin-bottom: .65rem; }
.lead-company-page .dashboard-card-label { margin-bottom: .3rem; font-size: .65rem; }
.lead-company-page .app-title { font-size: clamp(1.8rem,3vw,2.5rem); font-weight: 600; }
.lead-company-page .app-intro { font-size: .9rem; }
.lead-company-page .lead-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; padding: .8rem 1rem; margin: 0 0 1.1rem; border-bottom: 1px solid var(--cadence-stone); border-radius: .35rem .35rem 0 0; background: var(--cadence-warm-white); }
.lead-company-page .lead-section-heading h2 { margin: 0; }
.lead-company-page .lead-section-heading p { margin: .25rem 0 0; color: var(--cadence-mid-grey); font-size: .85rem; }
.lead-company-page .lead-section-actions { display: flex; align-items: center; gap: .75rem; }
.lead-company-page .lead-count { display: inline-flex; align-items: center; justify-content: center; min-width: 2rem; height: 2rem; padding: .25rem; border-radius: 50%; background: var(--cadence-warm-white); color: var(--cadence-charcoal); font-size: .85rem; font-weight: 600; }
.lead-company-page .lead-data-grid { display: grid; gap: .6rem 1.25rem; margin: 0; }
.lead-company-page .lead-data-grid-two { grid-template-columns: repeat(2,minmax(0,1fr)); }
.lead-company-page .lead-data-grid dt { font-size: .72rem; color: var(--cadence-mid-grey); font-weight: 500; }
.lead-company-page .lead-data-grid dd { margin: .1rem 0 0; font-size: .9rem; overflow-wrap: anywhere; }
.lead-company-page .lead-person-name { font-weight: 600; margin: 0 0 .65rem; }
.lead-company-page .lead-contact-record { padding: 1rem; border-top: 1px solid var(--cadence-stone); margin-top: .75rem; }
.lead-company-page .lead-contact-record:first-child { margin-top: 0; }
.lead-company-page .lead-contact-primary { border: 1px solid var(--cadence-stone); border-radius: .5rem; background: var(--cadence-warm-white); }
.lead-company-page .lead-contact-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; flex-wrap: wrap; margin-bottom: .8rem; }
.lead-company-page .lead-contact-heading h3 { margin: 0; overflow-wrap: anywhere; }
.lead-company-page .lead-primary-badge { padding: .2rem .6rem; border-radius: 1rem; color: var(--cadence-charcoal); background: var(--cadence-stone); font-size: .7rem; font-weight: 600; }
.lead-company-page .form-label { font-size: .8rem; margin-bottom: .35rem; }
.lead-company-page :is(.form-control,.form-select) { min-height: 2.6rem; border-radius: .4rem; background-color: var(--cadence-white); }
.lead-company-page .btn { border-radius: .4rem; font-size: .85rem; padding: .55rem .9rem; }
.lead-company-page #follow-up .compact-detail-list dt { white-space: normal; }
.lead-company-page #follow-up .compact-detail-list dd { font-weight: 500; font-size: .9rem; }
.lead-company-page #follow-up details { border-top: 1px solid var(--cadence-stone); padding-top: .75rem; font-size: .85rem; }
.lead-company-page #follow-up summary { font-weight: 500 !important; }
.lead-company-page .lead-note-text { white-space: pre-wrap; overflow-wrap: anywhere; font-size: .95rem; }
.lead-company-page #notes button { display: block; margin-left: auto; }
.lead-company-page .lead-action-panels > div { min-width: 0; }
.lead-company-page .lead-company-summary { padding-block: .85rem; }
.lead-company-page .lead-company-summary .lead-subheading { margin-bottom: .5rem; }
.lead-company-page .lead-company-summary .lead-data-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .25rem 2rem; }
.lead-company-page .lead-company-summary .lead-data-grid > div { display: grid; grid-template-columns: 7rem minmax(0,1fr); gap: .65rem; align-items: baseline; }
.lead-company-page .lead-company-summary .lead-data-grid dd { margin: 0; font-weight: 500; }
@media (max-width: 767.98px) {
    .lead-company-page .lead-company-summary .lead-data-grid { grid-template-columns: 1fr; }
}
.lead-company-page .lead-company-summary .lead-person-name { margin-bottom: .3rem; }
.lead-company-page details.lead-disclosure { padding: 0; overflow: hidden; }
.lead-company-page .lead-disclosure > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1.5rem; cursor: pointer; list-style: none; }
.lead-company-page .lead-disclosure > summary::-webkit-details-marker { display: none; }
.lead-company-page .lead-disclosure > summary strong { display: block; color: var(--cadence-charcoal); font-size: 1.05rem; }
.lead-company-page .lead-disclosure > summary small { display: block; margin-top: .15rem; color: var(--cadence-mid-grey); }
.lead-company-page .lead-disclosure > summary:hover { background: var(--cadence-warm-white); }
.lead-company-page .lead-disclosure > summary:focus-visible { outline: 3px solid rgba(175,18,49,.25); outline-offset: -3px; }
.lead-company-page .lead-disclosure-indicator { width: .65rem; height: .65rem; flex: 0 0 auto; border-right: 2px solid var(--cadence-mid-grey); border-bottom: 2px solid var(--cadence-mid-grey); transform: rotate(45deg); transition: transform .15s ease; }
.lead-company-page .lead-disclosure[open] .lead-disclosure-indicator { transform: rotate(225deg); }
.lead-company-page .lead-disclosure-content { padding: .75rem 1.5rem 1.25rem; border-top: 1px solid var(--cadence-stone); }
.lead-company-page .lead-contact-add { margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--cadence-stone); }
.lead-company-page .lead-functional-section { margin: 1.5rem 0 0; padding: 1.35rem 1.5rem; border: 1px solid var(--cadence-stone); border-radius: .65rem; background: var(--cadence-white); box-shadow: 0 2px 10px rgba(36,39,42,.025); }
.lead-company-page .lead-functional-section h2 { font-size: 1.15rem; font-weight: 600; letter-spacing: -.02em; }
.lead-company-page .lead-operation-heading { margin: 0 0 1rem; padding: .7rem .85rem; border-bottom: 1px solid var(--cadence-stone); border-radius: .35rem .35rem 0 0; background: var(--cadence-warm-white); }
.lead-company-page .lead-operation-heading h2 { margin: 0; }
.lead-company-page .lead-operations #lead-status-form { max-width: 22rem; }
.lead-company-page .lead-operations .lead-follow-up-current .compact-detail-list { grid-template-columns: 1fr; gap: .35rem; }
.lead-company-page .lead-operations .lead-follow-up-current .compact-detail-list > div { display: grid; grid-template-columns: 8rem minmax(0,1fr); gap: .65rem; }
.lead-company-page .lead-follow-up-actions { display: flex; align-items: center; gap: .55rem; flex-wrap: wrap; }
.lead-company-page .lead-follow-up-action { display: inline-flex; min-width: 7.25rem; min-height: 2.6rem; align-items: center; justify-content: center; }
.lead-company-page .lead-follow-up-form { width: 100%; }
.lead-company-page .lead-follow-up-form textarea { width: 100%; }
@media (min-width: 992px) {
    .lead-company-page .lead-follow-up-column { border-left: 1px solid var(--cadence-stone); padding-left: 1.5rem; }
}
@media (max-width: 991.98px) {
    .lead-company-page .lead-follow-up-column { border-top: 1px solid var(--cadence-stone); padding-top: 1rem; }
}
@media (max-width: 575.98px) {
    .lead-company-page .setup-panel { padding: 1rem; }
    .lead-company-page .lead-functional-section { padding: 1rem; }
    .lead-company-page details.lead-disclosure { padding: 0; }
    .lead-company-page .lead-disclosure > summary,
    .lead-company-page .lead-disclosure-content { padding-left: 1rem; padding-right: 1rem; }
    .lead-company-page .lead-data-grid-two { grid-template-columns: 1fr; }
    .lead-company-page .lead-contact-record { padding: .8rem; }
    .lead-company-page .lead-section-actions { flex-wrap: wrap; }
}

.completion-shell {
    max-width: 760px;
}

.completion-mark {
    display: inline-grid;
    place-items: center;
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    background: var(--cadence-crimson);
    color: #fff;
    font-size: 2rem;
    font-weight: 700;
}

/* Shared module overview layout, established by PLM and reused by IMS. */
.plm-overview-groups,
.module-overview-groups {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
}
.plm-overview-group,
.module-overview-group {
    display: grid;
    align-content: start;
    gap: 1rem;
    padding-right: 1.5rem;
}
.plm-overview-group + .plm-overview-group,
.module-overview-group + .module-overview-group {
    border-left: 1px solid var(--cadence-stone);
    padding-left: 1.5rem;
    padding-right: 0;
}
.plm-overview-group .setup-panel,
.module-overview-group .setup-panel { margin: 0; }
.plm-overview-control-divider {
    height: 0;
    border-top: 1px solid var(--cadence-stone);
}
.plm-product-content { max-width: 1500px; }
.plm-page .setup-content { width: 100%; max-width: 1500px; }
.plm-context-panel .admin-summary-list > div { padding-block: .35rem; }
.plm-context-panel .admin-summary-list dd { text-align: right; }
.plm-workspace-divider { margin: 1.75rem 0; border-color: var(--cadence-stone); opacity: 1; }
.plm-profit-toggle {
    display: inline-flex;
    padding: .2rem;
    border: 1px solid var(--cadence-stone);
    border-radius: .45rem;
    background: var(--cadence-warm-white);
}
.plm-profit-toggle button {
    border: 0;
    border-radius: .3rem;
    padding: .4rem .75rem;
    background: transparent;
    color: var(--cadence-mid-grey);
    font-size: .82rem;
    font-weight: 600;
}
.plm-profit-toggle button.active {
    background: var(--cadence-charcoal);
    color: var(--cadence-white);
}
.plm-workspace-block {
    margin-bottom: 1.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--cadence-stone);
}
.plm-price-matrix { width: 100%; min-width: 38rem; margin: .75rem 0 0; }
.plm-price-matrix th,
.plm-price-matrix td { padding: .7rem; vertical-align: top; }
.plm-price-matrix td strong,
.plm-price-matrix td small { display: block; }
.plm-price-matrix td small { margin-top: .2rem; color: var(--cadence-mid-grey); }
.plm-price-matrix td.plm-price-variance { background: #fff8e6; box-shadow: inset 3px 0 0 #c58a19; }
.plm-price-matrix .plm-price-variance-detail { margin-top: .45rem; padding-top: .4rem; border-top: 1px solid rgba(197,138,25,.3); color: var(--cadence-charcoal); }
.plm-bulk-matrix td { min-width: 12rem; }
.plm-bulk-cell > strong { font-size: .92rem; }
.plm-bulk-summary-list { display: grid; gap: .35rem; margin: .55rem 0 0; }
.plm-bulk-summary-list div { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .5rem; align-items: baseline; }
.plm-bulk-summary-list dt { color: var(--cadence-mid-grey); font-size: .72rem; font-weight: 600; }
.plm-bulk-summary-list dd { margin: 0; font-size: .82rem; font-weight: 600; text-align: right; }
.plm-bulk-actions { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .65rem; }
.plm-bulk-actions .btn-link { padding-inline: .2rem; font-size: .75rem; }
.plm-bulk-override-editor { margin-top: .25rem; }
.plm-bulk-override-editor .input-group { max-width: 9rem; }
.plm-bulk-override-editor { display: grid; gap: .35rem; }
.plm-bulk-override-editor > .text-secondary { font-size: .75rem; }
.plm-bulk-override-editor [data-bulk-fields] { display: grid; gap: .15rem; }
.plm-bulk-cell [data-bulk-view] > small { display: block; margin-top: .3rem; }
.plm-bulk-preview,
.plm-published-bulk { display: block; margin-top: .6rem; padding-top: .5rem; border-top: 1px solid var(--cadence-stone); }
.plm-published-bulk small { margin-top: .2rem; }
.published-price-matrix-wrap { margin-top: .75rem; }
.plm-price-difference {
    margin-top: 1rem;
    padding: .75rem 1rem;
    border-left: 3px solid var(--cadence-crimson);
    background: var(--cadence-warm-white);
}
.plm-section-break {
    margin: -1.5rem -1.5rem 1.5rem;
    padding: 1.5rem;
    border-top: 3px solid var(--cadence-charcoal);
    background: var(--cadence-warm-white);
}
.plm-policy-chain {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1.25rem;
    padding: 1rem;
    border: 1px solid var(--cadence-stone);
    border-radius: .5rem;
    background: var(--cadence-warm-white);
}
.plm-policy-chain span,
.plm-policy-chain strong { display: block; }
.plm-policy-chain span {
    margin-bottom: .3rem;
    color: var(--cadence-mid-grey);
    font-size: .72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.plm-policy-summary {
    margin-bottom: 1.5rem;
    padding: 1rem 0;
    border-top: 1px solid var(--cadence-stone);
    border-bottom: 1px solid var(--cadence-stone);
}
.plm-policy-summary > strong { display: block; margin-bottom: .45rem; }
.plm-policy-summary > div { color: var(--cadence-mid-grey); }
.plm-policy-summary > div span { font-weight: 600; color: var(--cadence-charcoal); }
.plm-matrix-heading {
    margin: 0 0 .5rem;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.plm-policy-matrix .plm-base-price-cell {
    background: transparent;
    box-shadow: none;
}
.plm-base-price-summary {
    padding-left: .55rem;
    border-left: 2px solid rgba(166, 25, 50, .55);
    line-height: 1.25;
}
.plm-base-price-summary strong { color: var(--cadence-crimson); }
.plm-base-quantity { margin-top: .55rem; line-height: 1.2; }
.plm-base-quantity span,
.plm-base-quantity strong { display: inline; }
.plm-base-quantity span { color: var(--cadence-mid-grey); font-size: .78rem; }
.plm-base-quantity strong { margin-left: .2rem; font-size: .9rem; }
.plm-editable-matrix td { min-width: 11rem; vertical-align: top; }
.plm-editable-discount { display: grid; gap: .5rem; }
.plm-editable-discount .form-check-label { font-size: .82rem; font-weight: 600; }
.plm-editable-discount .input-group { max-width: 9rem; }
.plm-editable-matrix input[name$="[qty_from]"] { max-width: 7rem; }
.plm-criteria-bulk { margin-top: .65rem; padding-top: .6rem; border-top: 1px solid var(--cadence-stone); }
.plm-criteria-bulk .form-check-label { font-size: .82rem; font-weight: 600; }
.plm-criteria-bulk-fields { display: grid; gap: .45rem; margin-top: .5rem; }
.plm-criteria-bulk-fields label { margin: 0; color: var(--cadence-mid-grey); }
.plm-criteria-bulk-fields .form-control { max-width: 8rem; margin-top: .15rem; }
.plm-criteria-bulk-readonly { display: block; margin-top: .55rem; padding-top: .5rem; border-top: 1px solid var(--cadence-stone); }
.plm-pricing-rule-form {
    display: grid;
    grid-template-columns: 12rem 17rem 16rem 6.5rem max-content;
    gap: 1rem;
    align-items: start;
    width: max-content;
    max-width: 100%;
}
.plm-rule-field { display: flex; min-width: 0; flex-direction: column; }
.plm-policy-selector { width: min(100%, 42rem); }
.plm-override-summary { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; padding: .9rem 1rem; border: 1px solid var(--cadence-stone); border-radius: .6rem; background: var(--cadence-warm-white); }
.plm-override-summary div { display: grid; gap: .2rem; }
.plm-override-summary span { color: var(--cadence-mid-grey); font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; }
@media (max-width: 575.98px) { .plm-override-summary { grid-template-columns: 1fr; } }
.plm-rule-field .form-label { min-height: 1.5rem; margin-bottom: .5rem; }
.plm-rule-action .btn { width: max-content; white-space: nowrap; }
.plm-criteria-table { table-layout: auto; }
.plm-criteria-table th:nth-child(2),
.plm-criteria-table td:nth-child(2) { width: 30%; }
.plm-criteria-table th:nth-child(3),
.plm-criteria-table td:nth-child(3) { width: 22%; }
.plm-criteria-table th:nth-child(4),
.plm-criteria-table td:nth-child(4),
.plm-criteria-table th:nth-child(5),
.plm-criteria-table td:nth-child(5),
.plm-criteria-table th:nth-child(6),
.plm-criteria-table td:nth-child(6) { white-space: nowrap; }
.plm-order-input { width: 5.5rem; }
.plm-page input[type="number"] { appearance: textfield; -moz-appearance: textfield; }
.plm-page input[type="number"]::-webkit-inner-spin-button,
.plm-page input[type="number"]::-webkit-outer-spin-button { margin: 0; -webkit-appearance: none; }
@media (max-width: 991.98px) {
    .plm-overview-groups,
    .module-overview-groups { grid-template-columns: 1fr; gap: 1.5rem; }
    .plm-overview-group,
    .module-overview-group { padding-right: 0; }
    .plm-overview-group + .plm-overview-group,
    .module-overview-group + .module-overview-group {
        border-top: 1px solid var(--cadence-stone);
        border-left: 0;
        padding-top: 1.5rem;
        padding-left: 0;
    }
    .plm-policy-chain { grid-template-columns: 1fr; }
    .plm-product-content { max-width: 1100px; }
}
@media (max-width: 1199.98px) {
    .plm-pricing-rule-form { grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
    .plm-rule-action { width: max-content; }
}
@media (max-width: 575.98px) {
    .plm-pricing-rule-form { grid-template-columns: 1fr; }
}

/* The setup wizard uses the consolidated #existing-users table. Hide the
   legacy summary column while retaining the separate Add User form. */
.setup-content:has(#existing-users) .row.g-4 > .col-xl-7:has(.user-review-list) {
    display: none;
}
