/* GaugePrime — AI Customer Health Platform / Mission control dashboard */

:root {
 --bg: #F2F5F1;
 --paper: #FFFFFF;
 --border: #D9E2DA;
 --ink: #475569;
 --heading: #0F172A;
 --primary: #0F766E;
 --primary-dark: #0D6B63;
 --primary-darker: #115E59;
 --slate: #334155;
 --slate-dark: #1E293B;
 --alert: #F97316;
 --success: #059669;
 --danger: #DC2626;
 --muted: #64748B;
 --display: "DM Sans", system-ui, sans-serif;
 --sans: "DM Sans", system-ui, sans-serif;
 --mono: "JetBrains Mono", monospace;
 --radius: 6px;
 --radius-lg: 10px;
 --shadow: 0 4px 24px rgba(15, 23, 42, 0.06);
 --shadow-panel: 0 8px 32px rgba(15, 23, 42, 0.12);
 --max: 1280px;
 --announce-h: 36px;
 --header-h: 64px;
 --healthy: #059669;
 --watch: #F97316;
 --critical: #DC2626;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
 font-family: var(--sans);
 font-size: 0.9375rem;
 line-height: 1.65;
 color: var(--ink);
 background: var(--bg);
 -webkit-font-smoothing: antialiased;
}
img, svg { display: block; max-width: 100%; }
button { font: inherit; cursor: pointer; border: none; background: none; }
ul, ol { list-style: none; }
a { color: var(--primary); text-decoration: none; transition: color 0.15s; }
a:not(.btn):not(.nav-link):not(.announce-cta):hover { color: var(--primary-darker); }

.site-shell { display: flex; flex-direction: column; min-height: 100dvh; }
main { flex: 1; }
.container { width: min(var(--max), 96vw); margin: 0 auto; }
.container.narrow { max-width: 720px; }

h1, h2, h3, h4 { color: var(--heading); font-family: var(--display); line-height: 1.2; }
.kicker {
 font-family: var(--mono);
 font-size: 0.68rem;
 font-weight: 500;
 letter-spacing: 0.1em;
 text-transform: uppercase;
 color: var(--primary);
 margin-bottom: 10px;
}
.section { padding: 64px 0; }
.section--tight { padding: 48px 0; }
.section-head-row {
 display: flex;
 justify-content: space-between;
 align-items: flex-end;
 gap: 16px;
 margin-bottom: 28px;
 flex-wrap: wrap;
}
.section-head-row h2 { font-size: 1.35rem; margin-bottom: 0; }
.section-sub { color: var(--muted); margin-top: 10px; line-height: 1.75; max-width: 640px; font-size: 0.92rem; }
.check-list { list-style: none; margin: 16px 0; }
.check-list li { padding: 6px 0; font-size: 0.88rem; }
.check-list li::before { content: "✓ "; color: var(--success); font-weight: 700; }
.reveal { opacity: 0; transform: translateY(12px); transition: opacity 0.5s, transform 0.5s; }
.reveal.is-visible { opacity: 1; transform: none; }

/* Buttons — explicit hover colors (SignalOpal fix) */
.btn {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 gap: 6px;
 padding: 10px 18px;
 border-radius: var(--radius);
 font-family: var(--sans);
 font-size: 0.84rem;
 font-weight: 600;
 border: 1px solid transparent;
 cursor: pointer;
 transition: transform 0.15s, box-shadow 0.15s, background 0.15s, color 0.15s, border-color 0.15s;
 text-decoration: none;
 white-space: nowrap;
}
.btn:hover { transform: translateY(-1px); }
a.btn { text-decoration: none; }
.btn-sm { padding: 7px 14px; font-size: 0.78rem; }
.btn-lg { padding: 13px 24px; font-size: 0.92rem; }
.btn-full { width: 100%; }
.btn-row { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }

.btn-primary { background: var(--primary); color: #fff; border-color: var(--primary); }
a.btn-primary, a.btn-primary:hover, a.btn-primary:focus-visible { color: #fff !important; }
.btn-primary:hover { background: var(--primary-darker); border-color: var(--primary-darker); color: #fff; }

.btn-outline { background: var(--paper); border-color: var(--border); color: var(--heading); }
a.btn-outline, a.btn-outline:hover, a.btn-outline:focus-visible { color: var(--heading); }
.btn-outline:hover { border-color: var(--primary); color: var(--primary); background: rgba(15, 118, 110, 0.04); }

.btn-soft { background: rgba(15, 118, 110, 0.08); border-color: rgba(15, 118, 110, 0.2); color: var(--primary); }
a.btn-soft, a.btn-soft:hover { color: var(--primary); }
.btn-soft:hover { background: rgba(15, 118, 110, 0.14); color: var(--primary-darker); }

.btn-ghost { background: transparent; border-color: transparent; color: var(--ink); }
a.btn-ghost, a.btn-ghost:hover { color: var(--ink); }
.btn-ghost:hover { background: rgba(15, 118, 110, 0.06); color: var(--heading); }

.btn-social { background: var(--bg); border: 1px solid var(--border); color: var(--heading); }
.btn-social:hover { border-color: var(--primary); color: var(--heading); background: var(--paper); }

/* Announce bar & header */
.site-top { position: sticky; top: 0; z-index: 100; }
.announce-bar {
 background: var(--slate-dark);
 color: rgba(255, 255, 255, 0.88);
 border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.announce-bar-inner {
 display: flex;
 align-items: center;
 justify-content: space-between;
 flex-wrap: wrap;
 gap: 12px;
 min-height: var(--announce-h);
 padding: 6px 0;
 font-size: 0.72rem;
}
.announce-primary { display: flex; align-items: center; gap: 10px; }
.announce-badge {
 font-family: var(--mono);
 font-size: 0.62rem;
 text-transform: uppercase;
 letter-spacing: 0.06em;
 color: var(--success);
 padding: 2px 8px;
 background: rgba(5, 150, 105, 0.15);
 border-radius: 999px;
}
.announce-slogan { color: #fff; font-weight: 600; }
.announce-detail { color: rgba(255, 255, 255, 0.55); font-family: var(--mono); font-size: 0.65rem; }
.announce-cta { color: #5EEAD4; font-weight: 600; }
.announce-cta:hover { color: #99F6E4; }

.site-header {
 background: rgba(255, 255, 255, 0.92);
 backdrop-filter: blur(12px);
 border-bottom: 1px solid var(--border);
}
.header-inner {
 display: flex;
 align-items: center;
 gap: 24px;
 padding: 12px 0;
 min-height: var(--header-h);
}
.brand { display: flex; align-items: center; gap: 10px; color: var(--heading); flex-shrink: 0; }
.brand:hover { color: var(--primary); }
.logo-mark { width: 32px; height: 32px; color: var(--primary); flex-shrink: 0; }
.logo-mark svg { width: 100%; height: 100%; }
.brand-text { display: flex; flex-direction: column; line-height: 1.2; }
.brand-text strong { font-size: 0.95rem; }
.brand-text span { font-family: var(--mono); font-size: 0.58rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--muted); }
.nav-main { display: flex; gap: 4px; flex: 1; justify-content: center; flex-wrap: wrap; }
.nav-link {
 padding: 8px 12px;
 font-size: 0.82rem;
 font-weight: 500;
 color: var(--ink);
 border-radius: var(--radius);
}
.nav-link:hover { background: rgba(15, 118, 110, 0.06); color: var(--primary); }
.nav-link--muted { color: var(--muted); }
.header-actions { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.nav-toggle { display: none; background: none; border: none; font-size: 1.2rem; cursor: pointer; color: var(--heading); }

/* Command hero */
.command-hero {
 position: relative;
 padding: 28px 0 48px;
 overflow: hidden;
 border-bottom: 1px solid var(--border);
 background: var(--paper);
}
.command-grid-bg {
 position: absolute;
 inset: 0;
 opacity: 0.45;
 background-image:
 linear-gradient(rgba(51, 65, 85, 0.04) 1px, transparent 1px),
 linear-gradient(90deg, rgba(51, 65, 85, 0.04) 1px, transparent 1px);
 background-size: 20px 20px;
 pointer-events: none;
}
.command-hero-split {
 position: relative;
 display: grid;
 grid-template-columns: minmax(0, 1fr) minmax(320px, 460px);
 gap: clamp(24px, 4vw, 48px);
 align-items: start;
}
.command-kicker {
 font-family: var(--mono);
 font-size: 0.68rem;
 text-transform: uppercase;
 letter-spacing: 0.08em;
 color: var(--muted);
 margin-bottom: 12px;
}
.command-hero h1 {
 font-size: clamp(2rem, 4.5vw, 2.85rem);
 line-height: 1.08;
 letter-spacing: -0.03em;
 margin-bottom: 12px;
}
.command-brand-line {
 font-family: var(--display);
 font-size: 0.92rem;
 font-weight: 700;
 color: var(--primary);
 margin: 0 0 14px;
 letter-spacing: 0.01em;
}
.command-tagline {
 font-family: var(--mono);
 font-size: 0.76rem;
 letter-spacing: 0.04em;
 text-transform: uppercase;
 color: var(--primary);
 margin-bottom: 14px;
}
.command-dek, .command-position {
 font-size: 0.95rem;
 line-height: 1.7;
 color: var(--muted);
 margin-bottom: 12px;
 max-width: 540px;
}
.command-position strong { color: var(--heading); }
.command-actions { margin-bottom: 12px; }
.command-secondary-links { font-size: 0.86rem; color: var(--muted); }
.command-secondary-links span { margin: 0 10px; color: var(--border); }

/* Portfolio monitor — Grafana-style widget board (light, not dark card) */
.portfolio-monitor {
 border: 1px solid var(--border);
 border-radius: var(--radius-lg);
 background: var(--bg);
 box-shadow: var(--shadow);
 overflow: hidden;
}
.pm-frame-head {
 display: flex;
 justify-content: space-between;
 align-items: flex-start;
 gap: 12px;
 padding: 12px 14px;
 background: var(--paper);
 border-bottom: 1px solid var(--border);
}
.pm-frame-kicker {
 display: block;
 font-family: var(--mono);
 font-size: 0.58rem;
 text-transform: uppercase;
 letter-spacing: 0.08em;
 color: var(--muted);
 margin-bottom: 2px;
}
.pm-frame-title strong {
 font-size: 0.88rem;
 font-weight: 700;
 color: var(--heading);
}
.pm-frame-meta {
 display: flex;
 flex-direction: column;
 align-items: flex-end;
 gap: 4px;
 font-family: var(--mono);
 font-size: 0.58rem;
 text-transform: uppercase;
 letter-spacing: 0.06em;
 color: var(--muted);
}
.pm-live {
 display: inline-flex;
 align-items: center;
 gap: 6px;
 color: var(--success);
 font-weight: 600;
}
.pm-live i {
 width: 7px;
 height: 7px;
 border-radius: 50%;
 background: var(--success);
 box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.15);
 animation: pulse 1.5s infinite;
}
@keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.45; } }
.pm-grid {
 display: grid;
 grid-template-columns: repeat(2, 1fr);
 gap: 1px;
 background: var(--border);
 padding: 1px;
}
.pm-panel {
 padding: 12px 14px;
 background: var(--paper);
 min-height: 0;
}
.pm-panel-label {
 font-family: var(--mono);
 font-size: 0.58rem;
 text-transform: uppercase;
 letter-spacing: 0.06em;
 color: var(--muted);
 margin-bottom: 8px;
}
.pm-panel--score { grid-column: span 2; }
.pm-score-display {
 display: flex;
 align-items: baseline;
 gap: 4px;
 margin-bottom: 10px;
}
.pm-score-display strong {
 font-family: var(--display);
 font-size: 2rem;
 line-height: 1;
 color: var(--primary);
 letter-spacing: -0.03em;
}
.pm-score-display span { font-size: 0.72rem; color: var(--muted); }
.pm-gauge-track {
 position: relative;
 height: 10px;
 background: linear-gradient(90deg, rgba(220, 38, 38, 0.15) 0%, rgba(220, 38, 38, 0.15) 60%, rgba(249, 115, 22, 0.18) 60%, rgba(249, 115, 22, 0.18) 80%, rgba(5, 150, 105, 0.2) 80%, rgba(5, 150, 105, 0.2) 100%);
 border-radius: 999px;
 overflow: visible;
 margin-bottom: 8px;
}
.pm-gauge-fill {
 position: absolute;
 inset: 0 auto 0 0;
 width: 0;
 background: linear-gradient(90deg, var(--danger), var(--alert), var(--success));
 border-radius: 999px;
 opacity: 0.35;
 transition: width 1.2s ease;
}
.pm-gauge-marker {
 position: absolute;
 top: 50%;
 width: 3px;
 height: 18px;
 background: var(--slate-dark);
 border-radius: 2px;
 transform: translate(-50%, -50%);
 box-shadow: 0 0 0 2px var(--paper);
}
.pm-gauge-zones {
 display: flex;
 justify-content: space-between;
 gap: 8px;
 list-style: none;
 font-size: 0.58rem;
 color: var(--muted);
}
.pm-mini-val {
 display: block;
 font-family: var(--display);
 font-size: 1.35rem;
 line-height: 1;
 margin-bottom: 6px;
}
.pm-panel--risk .pm-mini-val { color: var(--alert); }
.pm-panel--expansion .pm-mini-val { color: var(--primary); }
.pm-spark { width: 100%; height: 24px; display: block; margin-bottom: 6px; }
.pm-mini-note { font-size: 0.62rem; color: var(--muted); }
.pm-stack-bar {
 display: flex;
 height: 12px;
 border-radius: 4px;
 overflow: hidden;
 background: var(--bg);
 margin-bottom: 10px;
}
.pm-seg { display: block; height: 100%; }
.pm-seg--healthy { background: var(--success); }
.pm-seg--watch { background: var(--alert); }
.pm-seg--critical { background: var(--danger); }
.pm-stack-legend {
 display: flex;
 flex-wrap: wrap;
 gap: 8px 14px;
 list-style: none;
 font-size: 0.62rem;
 color: var(--muted);
}
.pm-stack-legend strong { color: var(--heading); font-weight: 700; }
.pm-panel--stack,
.pm-panel--table { grid-column: span 2; }
.pm-table {
 width: 100%;
 border-collapse: collapse;
 font-size: 0.68rem;
}
.pm-table th {
 text-align: left;
 font-family: var(--mono);
 font-size: 0.55rem;
 text-transform: uppercase;
 letter-spacing: 0.06em;
 color: var(--muted);
 padding: 0 0 8px;
 border-bottom: 1px solid var(--border);
}
.pm-table td {
 padding: 7px 0;
 border-bottom: 1px solid rgba(217, 226, 218, 0.6);
 vertical-align: middle;
}
.pm-table tr:last-child td { border-bottom: none; }
.pm-table td:first-child { font-weight: 600; color: var(--heading); width: 42%; }
.pm-table td:nth-child(2) {
 display: grid;
 grid-template-columns: 1fr auto;
 gap: 8px;
 align-items: center;
}
.pm-bar {
 height: 6px;
 background: var(--bg);
 border-radius: 999px;
 overflow: hidden;
}
.pm-bar i { display: block; height: 100%; background: var(--success); border-radius: 999px; }
.pm-bar--warn i { background: var(--alert); }
.pm-bar--critical i { background: var(--danger); }
.pm-table em { font-style: normal; font-family: var(--mono); font-weight: 700; color: var(--ink); }
.pm-trend {
 font-family: var(--mono);
 font-size: 0.62rem;
 font-weight: 700;
 text-align: right;
 color: var(--muted);
}
.pm-trend--down { color: var(--danger); }
.pm-trend--up { color: var(--success); }
.pm-row--critical td:first-child { color: var(--danger); }
.pm-row--warning td:first-child { color: var(--alert); }
.pm-ticker {
 display: grid;
 grid-template-columns: auto 1fr;
 gap: 10px;
 align-items: center;
 padding: 10px 14px;
 background: var(--slate-dark);
 color: rgba(255, 255, 255, 0.88);
}
.pm-ticker-tag {
 font-family: var(--mono);
 font-size: 0.55rem;
 font-weight: 700;
 text-transform: uppercase;
 letter-spacing: 0.08em;
 padding: 4px 8px;
 border-radius: 4px;
 background: rgba(249, 115, 22, 0.2);
 color: #FDBA74;
 white-space: nowrap;
}
.pm-ticker-msgs { list-style: none; min-height: 1.2em; position: relative; }
.pm-ticker-msg {
 font-size: 0.68rem;
 line-height: 1.45;
 color: rgba(255, 255, 255, 0.75);
 opacity: 0;
 transform: translateY(6px);
 transition: opacity 0.35s, transform 0.35s;
 position: absolute;
 inset: 0;
}
.pm-ticker-msg.is-active { opacity: 1; transform: translateY(0); position: relative; }

.dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 4px; vertical-align: middle; }
.dot--healthy { background: var(--success); }
.dot--warning { background: var(--alert); }
.dot--critical { background: var(--danger); }

/* Monitoring screens */
.monitoring-screens { background: var(--bg); }
.data-screen-nav {
 display: flex;
 flex-wrap: wrap;
 gap: 4px;
 margin-bottom: 20px;
 padding: 4px;
 background: var(--paper);
 border: 1px solid var(--border);
 border-radius: var(--radius-lg);
 position: sticky;
 top: calc(var(--announce-h) + var(--header-h));
 z-index: 20;
}
.screen-tab {
 padding: 8px 14px;
 font-size: 0.78rem;
 font-weight: 500;
 color: var(--muted);
 border-radius: var(--radius);
 transition: background 0.15s, color 0.15s;
}
.screen-tab:hover { color: var(--heading); background: var(--bg); }
.screen-tab.is-active { background: var(--slate-dark); color: #fff; }

.data-screen-panels {
 display: flex;
 flex-direction: column;
 gap: 0;
}
.screen-intro {
 font-size: 0.88rem;
 color: var(--muted);
 margin: 0 0 18px;
 max-width: 72ch;
 line-height: 1.55;
}
.data-screen {
 display: block;
 min-height: min(82vh, 820px);
 padding: 8px 0 56px;
 scroll-margin-top: calc(var(--announce-h) + var(--header-h) + 72px);
 border-bottom: 1px solid var(--border);
}
.data-screen:last-child { border-bottom: none; padding-bottom: 24px; }
.data-screen.is-active .panel { animation: screenIn 0.25s ease; }
@keyframes screenIn { from { opacity: 0; } to { opacity: 1; } }

.panel {
 padding: 18px;
 background: var(--paper);
 border: 1px solid var(--border);
 border-radius: var(--radius-lg);
}
.panel--dark {
 background: var(--slate-dark);
 border-color: rgba(255, 255, 255, 0.08);
 color: rgba(255, 255, 255, 0.9);
}
.panel--dark h3 { color: #fff; }
.panel--alert { border-top: 3px solid var(--alert); }
.panel-head {
 display: flex;
 justify-content: space-between;
 align-items: center;
 margin-bottom: 14px;
 gap: 10px;
}
.panel-head h3 { font-size: 0.82rem; font-weight: 600; margin: 0; }
.panel-meta { font-family: var(--mono); font-size: 0.65rem; color: var(--muted); }
.panel--dark .panel-meta { color: rgba(255, 255, 255, 0.45); }
.pulse-live {
 display: inline-flex;
 align-items: center;
 gap: 6px;
 color: var(--success);
 font-weight: 600;
}
.pulse-live i {
 width: 7px;
 height: 7px;
 border-radius: 50%;
 background: var(--success);
 animation: pulse 1.5s infinite;
}

/* Monitoring wall */
.monitoring-wall-grid {
 display: grid;
 grid-template-columns: 220px 1fr 280px;
 gap: 16px;
 align-items: start;
}
.health-distribution { text-align: center; }
.health-distribution h3 { font-size: 0.78rem; margin-bottom: 12px; text-transform: uppercase; letter-spacing: 0.04em; }
.distribution-donut { width: 120px; height: 120px; margin: 0 auto 12px; transform: rotate(-90deg); }
.donut-segment--healthy { stroke: var(--success); }
.donut-segment--warning { stroke: var(--alert); }
.donut-segment--critical { stroke: var(--danger); }
.distribution-legend { text-align: left; font-size: 0.72rem; }
.distribution-legend li {
 display: flex;
 justify-content: space-between;
 padding: 5px 0;
 border-bottom: 1px dashed rgba(255, 255, 255, 0.1);
 color: rgba(255, 255, 255, 0.65);
}
.distribution-legend strong { color: #fff; font-family: var(--mono); }

.heatmap-grid {
 display: grid;
 gap: 4px;
}
.heatmap-grid--6x4 { grid-template-columns: repeat(6, 1fr); }
.heatmap-cell {
 aspect-ratio: 1;
 display: flex;
 align-items: center;
 justify-content: center;
 border-radius: 4px;
 font-family: var(--mono);
 font-size: 0.62rem;
 font-weight: 600;
 color: #fff;
 cursor: default;
 transition: transform 0.12s;
}
.heatmap-cell:hover { transform: scale(1.08); z-index: 1; }
.heatmap-cell--healthy { background: var(--success); }
.heatmap-cell--warning { background: var(--alert); }
.heatmap-cell--critical { background: var(--danger); }

.alert-stream-list { max-height: 320px; overflow-y: auto; }
.alert-item {
 padding: 10px 0;
 border-bottom: 1px dashed var(--border);
 font-size: 0.74rem;
}
.alert-item:last-child { border-bottom: none; }
.alert-item time {
 display: block;
 font-family: var(--mono);
 font-size: 0.6rem;
 color: var(--muted);
 margin-bottom: 4px;
}
.alert-item strong { display: block; color: var(--heading); margin-bottom: 3px; }
.alert-item p { color: var(--muted); line-height: 1.5; }
.alert-item--critical { border-left: 3px solid var(--danger); padding-left: 10px; }
.alert-item--warn { border-left: 3px solid var(--alert); padding-left: 10px; }

/* Churn radar */
.churn-radar-layout {
 display: grid;
 grid-template-columns: 1.4fr 0.8fr;
 gap: 16px;
}
.churn-table, .expansion-table, .health-table, .compare-table, .team-table, .expansion-opportunity-table {
 width: 100%;
 border-collapse: collapse;
 font-size: 0.78rem;
}
.churn-table th, .expansion-table th, .health-table th, .compare-table th, .team-table th, .expansion-opportunity-table th {
 text-align: left;
 padding: 10px 12px;
 background: var(--bg);
 font-family: var(--mono);
 font-size: 0.65rem;
 text-transform: uppercase;
 letter-spacing: 0.04em;
 color: var(--muted);
 border-bottom: 1px solid var(--border);
}
.churn-table td, .expansion-table td, .health-table td, .compare-table td, .team-table td, .expansion-opportunity-table td {
 padding: 10px 12px;
 border-bottom: 1px solid var(--border);
 vertical-align: middle;
}
.churn-table td span, .expansion-table td span { display: block; font-size: 0.68rem; color: var(--muted); margin-top: 2px; }
.churn-row--critical { background: rgba(220, 38, 38, 0.04); }
.risk-badge {
 display: inline-block;
 padding: 3px 8px;
 font-family: var(--mono);
 font-size: 0.72rem;
 font-weight: 700;
 background: var(--bg);
 border-radius: 4px;
 color: var(--ink);
}
.risk-badge--critical { background: rgba(220, 38, 38, 0.12); color: var(--danger); }
.risk-badge--warn { background: rgba(249, 115, 22, 0.12); color: var(--alert); }
.trend { font-family: var(--mono); font-size: 0.72rem; font-weight: 600; }
.trend--down { color: var(--danger); }
.trend--up { color: var(--success); }
.trend--flat { color: var(--muted); }

.trend-bar-row {
 display: grid;
 grid-template-columns: 120px 1fr 36px;
 gap: 10px;
 align-items: center;
 padding: 8px 0;
 border-bottom: 1px dashed rgba(255, 255, 255, 0.1);
 font-size: 0.76rem;
 color: rgba(255, 255, 255, 0.75);
}
.trend-bar-row:last-of-type { border-bottom: none; }
.trend-bar {
 height: 8px;
 background: rgba(255, 255, 255, 0.1);
 border-radius: 999px;
 overflow: hidden;
}
.trend-bar i { display: block; height: 100%; background: var(--danger); border-radius: 999px; }
.trend-bar--warn i { background: var(--alert); }
.trend-bar--up i { background: #5EEAD4; }
.trend-bar--healthy i { background: var(--success); }
.trend-bar-row em { font-style: normal; font-family: var(--mono); font-weight: 700; color: #fff; text-align: right; }
.trend-footnote { margin-top: 12px; font-size: 0.68rem; color: rgba(255, 255, 255, 0.4); }

/* Expansion screen */
.expansion-row--hot { background: rgba(15, 118, 110, 0.04); }
.expansion-score {
 display: inline-block;
 padding: 4px 10px;
 font-family: var(--mono);
 font-weight: 700;
 background: rgba(15, 118, 110, 0.1);
 color: var(--primary);
 border-radius: 4px;
}

/* Relationship screen */
.sentiment-events { display: flex; flex-direction: column; gap: 0; }
.sentiment-event {
 display: grid;
 grid-template-columns: 72px 52px 1fr auto;
 gap: 12px;
 align-items: start;
 padding: 14px 0;
 border-bottom: 1px solid var(--border);
 font-size: 0.78rem;
}
.sentiment-event:last-child { border-bottom: none; }
.event-type {
 font-family: var(--mono);
 font-size: 0.6rem;
 text-transform: uppercase;
 color: var(--muted);
 padding-top: 2px;
}
.sentiment-event time { font-family: var(--mono); font-size: 0.65rem; color: var(--muted); }
.sentiment-event strong { display: block; color: var(--heading); margin-bottom: 3px; }
.sentiment-event p { color: var(--muted); line-height: 1.5; }
.sentiment-event--positive { border-left: 3px solid var(--success); padding-left: 12px; }
.sentiment-event--negative { border-left: 3px solid var(--danger); padding-left: 12px; }
.sentiment-delta {
 font-family: var(--mono);
 font-size: 0.78rem;
 font-weight: 700;
 color: var(--muted);
 padding: 4px 8px;
 background: var(--bg);
 border-radius: 4px;
}
.sentiment-delta--up { color: var(--success); background: rgba(5, 150, 105, 0.08); }
.sentiment-delta--down { color: var(--danger); background: rgba(220, 38, 38, 0.08); }

/* Executive board */
.kpi-strip {
 display: grid;
 grid-template-columns: repeat(4, 1fr);
 gap: 12px;
 margin-bottom: 16px;
}
.kpi-tile {
 padding: 16px;
 text-align: center;
 background: var(--paper);
 border: 1px solid var(--border);
 border-radius: var(--radius-lg);
}
.kpi-tile strong {
 display: block;
 font-family: var(--display);
 font-size: 1.5rem;
 color: var(--primary);
 line-height: 1;
}
.kpi-tile span {
 display: block;
 font-size: 0.68rem;
 text-transform: uppercase;
 letter-spacing: 0.04em;
 color: var(--muted);
 margin-top: 6px;
}
.kpi-tile em { display: block; font-style: normal; font-size: 0.65rem; color: var(--muted); margin-top: 4px; }
.kpi-tile--alert strong { color: var(--danger); }
.kpi-tile--alert { border-color: rgba(220, 38, 38, 0.25); }

.exec-summary { margin-top: 0; }
.exec-summary-head {
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
 gap: 8px;
 margin-bottom: 14px;
 padding-bottom: 12px;
 border-bottom: 1px solid var(--border);
 font-size: 0.72rem;
}
.exec-edition { font-family: var(--mono); text-transform: uppercase; letter-spacing: 0.04em; color: var(--muted); }
.exec-summary-head em { font-style: normal; color: var(--muted); }
.exec-kicker {
 font-family: var(--mono);
 font-size: 0.68rem;
 text-transform: uppercase;
 color: var(--primary);
 margin-bottom: 8px;
}
.exec-summary h3 { font-size: 1.05rem; margin-bottom: 10px; }
.exec-lede { font-size: 0.86rem; line-height: 1.7; color: var(--ink); margin-bottom: 16px; }
.exec-section h4 { font-size: 0.78rem; color: var(--primary); margin-bottom: 8px; }
.exec-bullets { font-size: 0.82rem; }
.exec-bullets li { padding: 6px 0; border-bottom: 1px dashed var(--border); line-height: 1.55; }

/* Source strip */
.source-strip { border-bottom: 1px solid var(--border); background: var(--paper); }
.strip-label {
 font-family: var(--mono);
 font-size: 0.62rem;
 text-transform: uppercase;
 letter-spacing: 0.08em;
 color: var(--muted);
 margin-bottom: 12px;
 text-align: center;
}
.source-types {
 display: grid;
 grid-template-columns: repeat(6, 1fr);
 gap: 10px;
}
.source-types li {
 padding: 14px 10px;
 text-align: center;
 background: var(--bg);
 border: 1px solid var(--border);
 border-radius: var(--radius);
 border-top: 3px solid var(--primary);
}
.source-types strong { display: block; font-size: 0.82rem; color: var(--heading); margin-bottom: 4px; }
.source-types span { font-size: 0.68rem; color: var(--muted); line-height: 1.4; }

.monitor-dimensions { background: var(--paper); border-bottom: 1px solid var(--border); }
.dimension-pills {
 display: grid;
 grid-template-columns: repeat(4, 1fr);
 gap: 12px;
 list-style: none;
}
.dimension-pills li {
 padding: 14px 16px;
 background: var(--bg);
 border: 1px solid var(--border);
 border-left: 3px solid var(--primary);
 border-radius: var(--radius);
}
.dimension-pills strong { display: block; font-size: 0.82rem; color: var(--heading); margin-bottom: 4px; }
.dimension-pills span { font-size: 0.72rem; color: var(--muted); line-height: 1.45; }

/* Page hero & actions */
.page-hero {
 padding: 24px 0 36px;
 border-bottom: 1px solid var(--border);
 background: var(--paper);
}
.page-hero h1 {
 font-size: clamp(1.8rem, 4vw, 2.5rem);
 line-height: 1.1;
 margin-bottom: 14px;
}
.page-lead { font-size: 1rem; color: var(--muted); line-height: 1.7; max-width: 720px; }
.page-actions {
 padding-bottom: 32px;
 border-bottom: 1px solid var(--border);
 background: var(--paper);
}
.page-actions .btn-row {
 width: min(var(--max), 96vw);
 margin: 0 auto;
 padding: 0 2vw;
}

/* CTA band — dark slate */
.cta-band {
 padding: 56px 0;
 background: var(--slate-dark);
 color: rgba(255, 255, 255, 0.88);
 text-align: center;
 border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.cta-band h2 { font-size: 1.6rem; color: #fff; margin-bottom: 10px; }
.cta-band p { max-width: 560px; margin: 0 auto 20px; color: rgba(255, 255, 255, 0.65); line-height: 1.65; }
.cta-band .btn-row { justify-content: center; }
.cta-band .btn-outline {
 border-color: rgba(255, 255, 255, 0.35);
 color: #fff;
 background: transparent;
}
.cta-band a.btn-outline, .cta-band a.btn-outline:hover, .cta-band a.btn-outline:focus-visible { color: #fff !important; }
.cta-band .btn-outline:hover { border-color: rgba(255, 255, 255, 0.6); background: rgba(255, 255, 255, 0.08); }

/* Platform control room */
.platform-control-room { background: var(--paper); border-top: 1px solid var(--border); }
.control-room-intro {
 font-size: 0.95rem;
 color: var(--muted);
 line-height: 1.7;
 max-width: 720px;
 margin-bottom: 28px;
}
.data-flow-diagram {
 padding: 24px;
 background: var(--bg);
 border: 1px solid var(--border);
 border-radius: var(--radius-lg);
 margin-bottom: 28px;
}
.flow-source-row, .flow-engine-row, .flow-output-row {
 display: grid;
 gap: 12px;
}
.flow-source-row { grid-template-columns: repeat(5, 1fr); }
.flow-engine-row { grid-template-columns: repeat(3, 1fr); }
.flow-output-row { grid-template-columns: 1fr; }
.flow-connector {
 display: flex;
 justify-content: center;
 padding: 8px 0;
}
.flow-line {
 display: block;
 width: 2px;
 height: 24px;
 background: linear-gradient(180deg, var(--primary), var(--slate));
 border-radius: 999px;
}
.pipeline-node {
 padding: 14px;
 background: var(--paper);
 border: 1px solid var(--border);
 border-radius: var(--radius);
 text-align: center;
 font-size: 0.76rem;
}
.pipeline-node span, .pipeline-node strong {
 display: block;
 font-size: 0.78rem;
 font-weight: 600;
 color: var(--heading);
 margin-bottom: 4px;
}
.pipeline-node p { color: var(--muted); font-size: 0.68rem; line-height: 1.45; }
.pipeline-node--source { border-top: 3px solid var(--primary); }
.pipeline-node--engine { border-top: 3px solid var(--slate); background: var(--slate-dark); color: rgba(255,255,255,0.9); }
.pipeline-node--engine span { color: #fff; }
.pipeline-node--engine p { color: rgba(255,255,255,0.55); }
.pipeline-node--hub {
 border: 2px solid var(--primary);
 background: rgba(15, 118, 110, 0.06);
 padding: 18px;
}
.control-room-features {
 display: grid;
 grid-template-columns: repeat(3, 1fr);
 gap: 16px;
}
.control-feature {
 padding: 18px;
 background: var(--bg);
 border: 1px solid var(--border);
 border-radius: var(--radius-lg);
 border-left: 3px solid var(--primary);
}
.control-feature h3 { font-size: 0.9rem; margin-bottom: 8px; }
.control-feature p { font-size: 0.82rem; color: var(--muted); line-height: 1.6; }

/* Health score grid */
.score-filter-bar {
 display: flex;
 flex-wrap: wrap;
 gap: 20px;
 margin-bottom: 24px;
 padding: 16px;
 background: var(--paper);
 border: 1px solid var(--border);
 border-radius: var(--radius-lg);
}
.filter-group label {
 display: block;
 font-size: 0.68rem;
 font-weight: 600;
 margin-bottom: 6px;
 color: var(--heading);
 text-transform: uppercase;
 letter-spacing: 0.04em;
}
.filter-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.filter-chip {
 padding: 5px 12px;
 font-size: 0.72rem;
 border: 1px solid var(--border);
 border-radius: 999px;
 background: var(--bg);
 color: var(--ink);
 cursor: pointer;
 transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.filter-chip:hover { border-color: var(--primary); color: var(--primary); }
.filter-chip.is-active { background: var(--primary); color: #fff; border-color: var(--primary); }
.filter-select, .filter-group input[type="search"] {
 padding: 8px 12px;
 border: 1px solid var(--border);
 border-radius: var(--radius);
 font-family: var(--sans);
 font-size: 0.82rem;
 background: var(--paper);
 color: var(--ink);
 min-width: 160px;
}
.filter-group--search input { min-width: 200px; }
.health-table-wrap {
 overflow-x: auto;
 border: 1px solid var(--border);
 border-radius: var(--radius-lg);
 background: var(--paper);
}
.health-bar {
 display: inline-block;
 width: 80px;
 height: 6px;
 background: var(--border);
 border-radius: 999px;
 overflow: hidden;
 vertical-align: middle;
 margin-right: 8px;
}
.health-bar i { display: block; height: 100%; background: var(--success); border-radius: 999px; }
.health-bar--warn i { background: var(--alert); }
.health-bar--critical i { background: var(--danger); }
.health-row--warning { background: rgba(249, 115, 22, 0.03); }
.health-row--critical { background: rgba(220, 38, 38, 0.04); }
.factor {
 display: inline-block;
 padding: 2px 6px;
 margin: 2px 4px 2px 0;
 font-size: 0.65rem;
 font-family: var(--mono);
 background: var(--bg);
 border-radius: 4px;
 color: var(--muted);
}
.factor--up { color: var(--success); background: rgba(5, 150, 105, 0.08); }
.factor--down { color: var(--danger); background: rgba(220, 38, 38, 0.08); }
.factor--warn { color: var(--alert); background: rgba(249, 115, 22, 0.1); }
.health-footnote { margin-top: 14px; font-size: 0.72rem; color: var(--muted); text-align: center; }

.health-evolution { margin-top: 28px; }
.health-evolution h3 { font-size: 0.9rem; margin-bottom: 8px; }
.score-evolution-chart { display: flex; flex-direction: column; gap: 12px; margin-top: 16px; }
.evo-row {
 display: grid;
 grid-template-columns: 120px 1fr 48px;
 gap: 12px;
 align-items: center;
 font-size: 0.78rem;
}
.evo-label { font-weight: 600; color: var(--heading); }
.evo-track {
 height: 32px;
 background: var(--bg);
 border-radius: var(--radius);
 overflow: hidden;
}
.evo-svg { width: 100%; height: 100%; display: block; }
.evo-delta { font-family: var(--mono); font-size: 0.72rem; text-align: right; }
.evo-delta--down { color: var(--danger); }
.evo-delta--up { color: var(--success); }
.evo-legend {
 display: flex;
 justify-content: space-between;
 margin-top: 12px;
 padding-top: 10px;
 border-top: 1px dashed var(--border);
 font-family: var(--mono);
 font-size: 0.62rem;
 color: var(--muted);
}

/* Risk center */
.risk-summary-row {
 display: grid;
 grid-template-columns: repeat(4, 1fr);
 gap: 12px;
 margin-bottom: 28px;
}
.risk-stat {
 padding: 18px;
 text-align: center;
 background: var(--paper);
 border: 1px solid var(--border);
 border-radius: var(--radius-lg);
}
.risk-stat strong {
 display: block;
 font-family: var(--display);
 font-size: 1.4rem;
 color: var(--primary);
}
.risk-stat span { font-size: 0.68rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.04em; }
.risk-stat--alert strong { color: var(--danger); }
.risk-stat--alert { border-color: rgba(220, 38, 38, 0.2); }
.risk-layout {
 display: grid;
 grid-template-columns: 1.2fr 0.8fr;
 gap: 24px;
 align-items: start;
}
.risk-rank-list { counter-reset: risk; }
.risk-rank {
 display: grid;
 grid-template-columns: 36px 1fr auto;
 gap: 14px;
 align-items: start;
 padding: 14px 0;
 border-bottom: 1px solid var(--border);
 font-size: 0.78rem;
}
.rank-num {
 font-family: var(--mono);
 font-size: 0.72rem;
 font-weight: 700;
 color: var(--muted);
 padding-top: 2px;
}
.risk-rank strong { display: block; color: var(--heading); margin-bottom: 4px; }
.risk-rank p { color: var(--muted); line-height: 1.5; margin-bottom: 4px; }
.risk-arr { font-family: var(--mono); font-size: 0.65rem; color: var(--primary); }
.risk-score {
 font-family: var(--display);
 font-size: 1.2rem;
 font-weight: 700;
 color: var(--ink);
 padding: 6px 10px;
 background: var(--bg);
 border-radius: var(--radius);
}
.risk-rank--critical { border-left: 3px solid var(--danger); padding-left: 12px; }
.risk-rank--critical .risk-score { color: var(--danger); background: rgba(220, 38, 38, 0.08); }
.risk-panel {
 padding: 18px;
 background: var(--paper);
 border: 1px solid var(--border);
 border-radius: var(--radius-lg);
 margin-bottom: 14px;
}
.risk-panel h3 { font-size: 0.82rem; margin-bottom: 12px; }
.risk-panel--action { background: rgba(15, 118, 110, 0.04); border-color: rgba(15, 118, 110, 0.2); }
.risk-panel--action p { font-size: 0.82rem; color: var(--muted); margin-bottom: 12px; }
.risk-chart-rows { display: flex; flex-direction: column; gap: 8px; }
.risk-chart-row {
 display: grid;
 grid-template-columns: 72px 1fr 32px;
 gap: 10px;
 align-items: center;
 font-size: 0.76rem;
}
.risk-chart-bar {
 height: 8px;
 background: var(--bg);
 border-radius: 999px;
 overflow: hidden;
}
.risk-chart-bar i { display: block; height: 100%; border-radius: 999px; }
.risk-chart-bar--critical i { background: var(--danger); }
.risk-chart-bar--warn i { background: var(--alert); }
.risk-chart-bar--up i { background: #5EEAD4; }
.risk-chart-bar--healthy i { background: var(--success); }
.risk-chart-row em { font-style: normal; font-family: var(--mono); font-weight: 700; text-align: right; }

.risk-event-timeline { font-size: 0.76rem; }
.risk-event-timeline li {
 padding: 10px 0;
 border-bottom: 1px dashed var(--border);
 border-left: 2px solid var(--border);
 padding-left: 12px;
 margin-left: 4px;
}
.risk-event-timeline li:last-child { border-bottom: none; }
.risk-event-timeline time {
 display: block;
 font-family: var(--mono);
 font-size: 0.62rem;
 color: var(--muted);
 margin-bottom: 3px;
}
.risk-event-timeline strong { display: block; color: var(--heading); margin-bottom: 3px; }
.risk-event-timeline p { color: var(--muted); line-height: 1.5; }

.risk-panel--actions { border-top: 3px solid var(--primary); }
.ai-action-list { font-size: 0.78rem; margin-bottom: 14px; }
.ai-action-list li {
 padding: 10px 0;
 border-bottom: 1px dashed var(--border);
}
.ai-action-list li:last-child { border-bottom: none; }
.ai-action-list strong { display: block; color: var(--heading); margin-bottom: 4px; }
.ai-action-list p { color: var(--muted); line-height: 1.5; margin: 0; }

/* Accounts hub */
.accounts-intro { margin-bottom: 24px; }
.accounts-intro h2 { font-size: 1.1rem; margin-bottom: 8px; }
.ai-summary-strip {
 display: grid;
 grid-template-columns: repeat(2, 1fr);
 gap: 12px;
 margin-top: 16px;
}
.ai-summary-strip article {
 padding: 12px 14px;
 background: var(--bg);
 border: 1px solid var(--border);
 border-radius: var(--radius);
 font-size: 0.78rem;
}
.ai-summary-strip strong { display: block; color: var(--heading); margin-bottom: 4px; }
.ai-summary-strip p { color: var(--muted); line-height: 1.5; margin: 0; }

.accounts-grid {
 display: grid;
 grid-template-columns: repeat(2, 1fr);
 gap: 16px;
}
.account-card {
 padding: 18px;
 background: var(--paper);
 border: 1px solid var(--border);
 border-radius: var(--radius-lg);
}
.account-card--featured {
 grid-column: span 2;
 border-color: var(--primary);
 box-shadow: var(--shadow);
}
.account-card-head {
 display: flex;
 justify-content: space-between;
 align-items: flex-start;
 margin-bottom: 14px;
 padding-bottom: 12px;
 border-bottom: 1px solid var(--border);
}
.account-card-head strong { display: block; font-size: 0.95rem; color: var(--heading); }
.account-card-head span { font-size: 0.72rem; color: var(--muted); }
.health-badge {
 padding: 6px 12px;
 font-family: var(--mono);
 font-size: 0.85rem;
 font-weight: 700;
 border-radius: var(--radius);
}
.health-badge--healthy { background: rgba(5, 150, 105, 0.1); color: var(--success); }
.health-badge--warning { background: rgba(249, 115, 22, 0.1); color: var(--alert); }
.health-badge--critical { background: rgba(220, 38, 38, 0.1); color: var(--danger); }

.account-tabs {
 display: flex;
 gap: 4px;
 margin-bottom: 14px;
 flex-wrap: wrap;
}
.account-tab {
 padding: 5px 12px;
 font-size: 0.72rem;
 font-weight: 500;
 color: var(--muted);
 border: 1px solid var(--border);
 border-radius: var(--radius);
 background: var(--bg);
 transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.account-tab:hover { color: var(--heading); border-color: var(--primary); }
.account-tab.is-active { background: var(--slate-dark); color: #fff; border-color: var(--slate-dark); }
.account-tab-panel { display: none; font-size: 0.78rem; }
.account-tab-panel.is-active { display: block; }
.account-mini-list li {
 padding: 10px 0;
 border-bottom: 1px dashed var(--border);
}
.account-mini-list time { font-family: var(--mono); font-size: 0.62rem; color: var(--muted); }
.account-mini-list strong { display: block; color: var(--heading); margin: 4px 0; }
.account-mini-list p { color: var(--muted); line-height: 1.5; }
.usage-spark {
 padding: 14px;
 background: var(--bg);
 border-radius: var(--radius);
 font-family: var(--mono);
 font-size: 0.72rem;
 color: var(--primary);
}

/* Playbooks board */
.playbooks-intro, .expansion-intro, .integration-intro, .hub-intro {
 font-size: 0.92rem;
 color: var(--muted);
 margin-bottom: 24px;
 max-width: 720px;
 line-height: 1.7;
}
.playbook-cards {
 display: grid;
 grid-template-columns: repeat(3, 1fr);
 gap: 16px;
}
.playbook-card {
 padding: 20px;
 background: var(--paper);
 border: 1px solid var(--border);
 border-radius: var(--radius-lg);
 border-top: 3px solid var(--primary);
}
.playbook-card--recovery { border-top-color: var(--danger); }
.playbook-card--expansion { border-top-color: var(--success); }
.playbook-type {
 display: inline-block;
 font-family: var(--mono);
 font-size: 0.6rem;
 text-transform: uppercase;
 letter-spacing: 0.06em;
 color: var(--primary);
 margin-bottom: 8px;
}
.playbook-card h3 { font-size: 0.95rem; margin-bottom: 10px; }
.playbook-meta {
 display: flex;
 flex-wrap: wrap;
 gap: 8px;
 font-size: 0.68rem;
 color: var(--muted);
 margin-bottom: 14px;
 padding-bottom: 12px;
 border-bottom: 1px solid var(--border);
}
.playbook-meta span { font-family: var(--mono); }
.playbook-section { margin-bottom: 14px; }
.playbook-section h4 { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--heading); margin-bottom: 6px; }
.playbook-section ul, .playbook-section ol { font-size: 0.78rem; color: var(--ink); padding-left: 18px; }
.playbook-section li { padding: 3px 0; line-height: 1.5; }
.milestone-list { list-style: none; padding-left: 0 !important; }
.milestone {
 display: grid;
 grid-template-columns: 64px 1fr;
 gap: 10px;
 padding: 8px 0;
 border-bottom: 1px dashed var(--border);
 font-size: 0.76rem;
}
.milestone span {
 font-family: var(--mono);
 font-size: 0.62rem;
 color: var(--muted);
 text-transform: uppercase;
}
.milestone--done { color: var(--success); }
.milestone--done span { color: var(--success); }

/* Relationship signals */
.signals-layout {
 display: grid;
 grid-template-columns: 1.3fr 0.7fr;
 gap: 24px;
 align-items: start;
}
.signal-feed-list { display: flex; flex-direction: column; }
.signal-item {
 display: grid;
 grid-template-columns: 100px 52px 1fr auto;
 gap: 12px;
 align-items: start;
 padding: 14px 0;
 border-bottom: 1px solid var(--border);
 font-size: 0.78rem;
}
.signal-source {
 font-family: var(--mono);
 font-size: 0.6rem;
 text-transform: uppercase;
 color: var(--muted);
}
.signal-item time { font-family: var(--mono); font-size: 0.65rem; color: var(--muted); }
.signal-item strong { display: block; color: var(--heading); margin-bottom: 3px; }
.signal-item p { color: var(--muted); line-height: 1.5; }
.signal-item--positive { border-left: 3px solid var(--success); padding-left: 12px; }
.signal-item--negative { border-left: 3px solid var(--danger); padding-left: 12px; }
.signal-sentiment {
 font-family: var(--mono);
 font-size: 0.78rem;
 font-weight: 700;
 padding: 4px 8px;
 border-radius: 4px;
 background: var(--bg);
 color: var(--muted);
}
.signal-sentiment--up { color: var(--success); background: rgba(5, 150, 105, 0.08); }
.signal-sentiment--down { color: var(--danger); background: rgba(220, 38, 38, 0.08); }
.signals-panel {
 padding: 18px;
 background: var(--paper);
 border: 1px solid var(--border);
 border-radius: var(--radius-lg);
 margin-bottom: 14px;
}
.signals-panel h3 { font-size: 0.82rem; margin-bottom: 12px; }
.channel-sentiment li {
 display: grid;
 grid-template-columns: 72px 1fr auto;
 gap: 10px;
 align-items: center;
 padding: 8px 0;
 font-size: 0.76rem;
 border-bottom: 1px dashed var(--border);
}
.sentiment-bar {
 height: 6px;
 background: var(--bg);
 border-radius: 999px;
 overflow: hidden;
}
.sentiment-bar i { display: block; height: 100%; border-radius: 999px; }
.sentiment-bar--up i { background: var(--success); }
.sentiment-bar--down i { background: var(--danger); }
.channel-sentiment em { font-style: normal; font-family: var(--mono); font-size: 0.68rem; }
.outreach-list { font-size: 0.78rem; padding-left: 18px; color: var(--ink); }
.outreach-list li { padding: 6px 0; border-bottom: 1px dashed var(--border); }

/* Expansion finder */
.expansion-table-wrap {
 overflow-x: auto;
 margin-bottom: 28px;
 border: 1px solid var(--border);
 border-radius: var(--radius-lg);
 background: var(--paper);
}
.exp-row--hot { background: rgba(15, 118, 110, 0.04); }
.exp-score {
 display: inline-block;
 padding: 4px 10px;
 font-family: var(--mono);
 font-weight: 700;
 background: rgba(15, 118, 110, 0.1);
 color: var(--primary);
 border-radius: 4px;
}
.expansion-opportunity-table td p { font-size: 0.68rem; color: var(--muted); margin-top: 4px; max-width: 240px; }
.expansion-cards {
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 16px;
}
.exp-card {
 padding: 20px;
 background: var(--paper);
 border: 1px solid var(--border);
 border-radius: var(--radius-lg);
}
.exp-card--featured { border-color: var(--primary); box-shadow: var(--shadow); }
.exp-rank {
 font-family: var(--mono);
 font-size: 0.68rem;
 color: var(--primary);
 margin-bottom: 8px;
 display: block;
}
.exp-card h3 { font-size: 0.95rem; margin-bottom: 10px; }
.exp-card p { font-size: 0.82rem; color: var(--muted); line-height: 1.6; margin-bottom: 14px; }

/* Meetings intel */
.meetings-layout {
 display: grid;
 grid-template-columns: 1fr 1.2fr 280px;
 gap: 20px;
 align-items: start;
}
.upload-zone {
 padding: 32px 20px;
 text-align: center;
 border: 2px dashed var(--border);
 border-radius: var(--radius-lg);
 background: var(--bg);
 margin: 16px 0;
}
.upload-icon {
 display: block;
 font-size: 1.5rem;
 color: var(--primary);
 margin-bottom: 8px;
}
.upload-zone p { font-size: 0.82rem; color: var(--muted); margin-bottom: 12px; }
.meeting-connect-list {
 font-size: 0.76rem;
 color: var(--muted);
}
.meeting-connect-list li { padding: 4px 0; }
.meeting-summary {
 padding: 16px;
 background: var(--paper);
 border: 1px solid var(--border);
 border-radius: var(--radius-lg);
 margin-bottom: 12px;
 font-size: 0.78rem;
}
.meeting-summary header {
 display: flex;
 flex-wrap: wrap;
 align-items: center;
 gap: 10px;
 margin-bottom: 10px;
 padding-bottom: 10px;
 border-bottom: 1px solid var(--border);
}
.meeting-summary strong { color: var(--heading); }
.meeting-summary time { font-family: var(--mono); font-size: 0.65rem; color: var(--muted); }
.sentiment-tag {
 margin-left: auto;
 font-family: var(--mono);
 font-size: 0.72rem;
 font-weight: 700;
 padding: 3px 8px;
 border-radius: 4px;
 background: var(--bg);
 color: var(--muted);
}
.sentiment-tag--up { color: var(--success); background: rgba(5, 150, 105, 0.08); }
.sentiment-tag--down { color: var(--danger); background: rgba(220, 38, 38, 0.08); }
.meeting-summary--positive { border-left: 3px solid var(--success); }
.meeting-summary--negative { border-left: 3px solid var(--danger); }
.meeting-summary p { color: var(--muted); line-height: 1.6; margin-bottom: 10px; }
.meeting-actions { font-size: 0.72rem; color: var(--ink); padding-left: 16px; }
.meeting-actions li { padding: 3px 0; }
.task-list { font-size: 0.78rem; }
.task {
 display: grid;
 grid-template-columns: auto 1fr;
 gap: 10px;
 align-items: start;
 padding: 10px 0;
 border-bottom: 1px dashed rgba(255, 255, 255, 0.1);
}
.task strong { display: block; color: #fff; }
.task span { font-size: 0.68rem; color: rgba(255, 255, 255, 0.5); }
.task--overdue strong { color: var(--alert); }

/* Renewals center */
.renewals-summary {
 display: grid;
 grid-template-columns: repeat(4, 1fr);
 gap: 12px;
 margin-bottom: 28px;
}
.renewal-stat {
 padding: 18px;
 text-align: center;
 background: var(--paper);
 border: 1px solid var(--border);
 border-radius: var(--radius-lg);
}
.renewal-stat strong {
 display: block;
 font-family: var(--display);
 font-size: 1.4rem;
 color: var(--primary);
}
.renewal-stat span { font-size: 0.68rem; color: var(--muted); text-transform: uppercase; }
.renewal-stat--alert strong { color: var(--danger); }
.renewals-layout {
 display: grid;
 grid-template-columns: 1.2fr 0.8fr;
 gap: 24px;
}
.renewal-list { font-size: 0.78rem; }
.renewal-item {
 display: grid;
 grid-template-columns: 72px 1fr 80px 36px;
 gap: 12px;
 align-items: center;
 padding: 12px 0;
 border-bottom: 1px solid var(--border);
}
.renewal-item time { font-family: var(--mono); font-size: 0.65rem; color: var(--muted); }
.renewal-item strong { display: block; color: var(--heading); }
.renewal-item span { font-size: 0.68rem; color: var(--muted); }
.renewal-prob {
 height: 6px;
 background: var(--bg);
 border-radius: 999px;
 overflow: hidden;
}
.renewal-prob i { display: block; height: 100%; background: var(--primary); border-radius: 999px; }
.renewal-prob--critical i { background: var(--danger); }
.renewal-prob--warn i { background: var(--alert); }
.renewal-prob--high i { background: var(--success); }
.renewal-item em { font-style: normal; font-family: var(--mono); font-weight: 700; text-align: right; }
.renewal-item--critical { border-left: 3px solid var(--danger); padding-left: 10px; }
.renewal-item--warn { border-left: 3px solid var(--alert); padding-left: 10px; }
.renewals-panel {
 padding: 18px;
 background: var(--paper);
 border: 1px solid var(--border);
 border-radius: var(--radius-lg);
 margin-bottom: 14px;
}
.renewals-panel h3 { font-size: 0.82rem; margin-bottom: 12px; }
.prob-bar-row {
 display: grid;
 grid-template-columns: 100px 1fr 28px;
 gap: 10px;
 align-items: center;
 padding: 6px 0;
 font-size: 0.76rem;
}
.prob-bar {
 height: 8px;
 background: var(--bg);
 border-radius: 999px;
 overflow: hidden;
}
.prob-bar i { display: block; height: 100%; background: var(--primary); border-radius: 999px; }
.prob-bar--high i { background: var(--success); }
.prob-bar--low i { background: var(--danger); }
.prob-bar-row em { font-style: normal; font-family: var(--mono); font-weight: 700; text-align: right; }
.renewal-actions { font-size: 0.78rem; }
.renewal-actions li { padding: 6px 0; border-bottom: 1px dashed var(--border); line-height: 1.5; }
.followup-timing-list { font-size: 0.78rem; }
.followup-timing-list li {
 padding: 10px 0;
 border-bottom: 1px dashed var(--border);
}
.followup-timing-list li:last-child { border-bottom: none; }
.followup-timing-list div {
 display: flex;
 justify-content: space-between;
 align-items: center;
 gap: 10px;
 margin-bottom: 4px;
}
.followup-timing-list strong { color: var(--heading); }
.followup-timing-list p { color: var(--muted); line-height: 1.5; margin: 0; }
.timing-badge {
 font-family: var(--mono);
 font-size: 0.62rem;
 font-weight: 600;
 padding: 3px 8px;
 border-radius: 999px;
 background: var(--bg);
 color: var(--muted);
 white-space: nowrap;
}
.timing-badge--urgent { background: rgba(220, 38, 38, 0.1); color: var(--danger); }

/* Executive dashboard */
.exec-kpi-tiles {
 display: grid;
 grid-template-columns: repeat(5, 1fr);
 gap: 12px;
 margin-bottom: 24px;
}
.exec-kpi {
 padding: 16px;
 text-align: center;
 background: var(--paper);
 border: 1px solid var(--border);
 border-radius: var(--radius-lg);
}
.exec-kpi strong {
 display: block;
 font-family: var(--display);
 font-size: 1.4rem;
 color: var(--primary);
 line-height: 1;
}
.exec-kpi span {
 display: block;
 font-size: 0.65rem;
 text-transform: uppercase;
 letter-spacing: 0.04em;
 color: var(--muted);
 margin-top: 6px;
}
.exec-kpi em { display: block; font-style: normal; font-size: 0.62rem; color: var(--muted); margin-top: 4px; }
.exec-kpi--primary { border-color: var(--primary); background: rgba(15, 118, 110, 0.04); }
.exec-kpi--alert strong { color: var(--danger); }
.exec-kpi--up strong { color: var(--success); }
.exec-charts-row {
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 16px;
 margin-bottom: 24px;
}
.exec-chart-panel h3 { font-size: 0.82rem; margin-bottom: 14px; }
.chart-description-rows { display: flex; flex-direction: column; gap: 8px; }
.chart-desc-row {
 display: grid;
 grid-template-columns: 120px 1fr auto;
 gap: 10px;
 align-items: center;
 font-size: 0.76rem;
}
.desc-bar {
 height: 8px;
 background: var(--bg);
 border-radius: 999px;
 overflow: hidden;
}
.desc-bar i { display: block; height: 100%; border-radius: 999px; }
.desc-bar--healthy i { background: var(--success); }
.desc-bar--warn i { background: var(--alert); }
.desc-bar--critical i { background: var(--danger); }
.chart-desc-row em { font-style: normal; font-family: var(--mono); font-weight: 700; }
.team-performance h3 { font-size: 0.9rem; margin-bottom: 14px; }

/* Integrations */
.integration-grid {
 display: grid;
 grid-template-columns: repeat(3, 1fr);
 gap: 16px;
 margin-bottom: 32px;
}
.integration-card {
 padding: 20px;
 background: var(--paper);
 border: 1px solid var(--border);
 border-radius: var(--radius-lg);
 display: flex;
 flex-direction: column;
 gap: 10px;
}
.integration-card strong { font-size: 0.95rem; color: var(--heading); }
.integration-card p { font-size: 0.78rem; color: var(--muted); line-height: 1.55; flex: 1; }
.integration-card--connected { border-color: rgba(5, 150, 105, 0.3); border-top: 3px solid var(--success); }
.integration-status {
 display: inline-block;
 font-family: var(--mono);
 font-size: 0.58rem;
 text-transform: uppercase;
 color: var(--success);
 font-weight: 600;
}
.integration-flow, .setup-steps {
 margin-top: 32px;
 padding-top: 24px;
 border-top: 1px solid var(--border);
}
.integration-flow h2, .setup-steps h2 { font-size: 1.15rem; margin-bottom: 12px; }
.flow-steps {
 list-style: none;
 display: grid;
 grid-template-columns: repeat(4, 1fr);
 gap: 12px;
 margin-top: 16px;
}
.flow-steps li {
 padding: 16px;
 background: var(--paper);
 border: 1px solid var(--border);
 border-radius: var(--radius-lg);
 font-size: 0.76rem;
 border-left: 3px solid var(--primary);
}
.flow-steps li span {
 display: block;
 font-family: var(--mono);
 font-size: 0.68rem;
 color: var(--primary);
 margin-bottom: 8px;
 font-weight: 700;
}
.flow-steps li strong { display: block; color: var(--heading); margin-bottom: 4px; }
.flow-steps li p { color: var(--muted); line-height: 1.5; }
.setup-steps ol { margin: 12px 0 0 20px; font-size: 0.82rem; color: var(--ink); line-height: 1.7; }

/* API */
.api-split {
 display: grid;
 grid-template-columns: 1fr 1.2fr;
 gap: 32px;
 align-items: start;
}
.api-copy h2 { font-size: 1.35rem; margin-bottom: 12px; }
.api-copy p { font-size: 0.9rem; color: var(--muted); line-height: 1.7; margin-bottom: 16px; }
.endpoint-grid {
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 12px;
}
.endpoint-card {
 padding: 16px;
 background: var(--paper);
 border: 1px solid var(--border);
 border-radius: var(--radius);
 border-left: 3px solid var(--primary);
}
.endpoint-card code {
 font-family: var(--mono);
 font-size: 0.68rem;
 color: var(--primary);
 display: block;
 margin-bottom: 6px;
 font-weight: 500;
}
.endpoint-card p { font-size: 0.74rem; color: var(--muted); line-height: 1.5; }

/* Pricing */
.pricing-dimensions { margin-bottom: 28px; }
.dimension-row {
 display: grid;
 grid-template-columns: repeat(4, 1fr);
 gap: 12px;
 margin-top: 16px;
}
.dimension-card {
 padding: 16px;
 text-align: center;
 background: var(--paper);
 border: 1px solid var(--border);
 border-radius: var(--radius);
 border-top: 3px solid var(--primary);
}
.dimension-card strong { display: block; font-size: 0.85rem; color: var(--heading); margin-bottom: 6px; }
.dimension-card p { font-size: 0.72rem; color: var(--muted); line-height: 1.45; }
.pricing-tiers {
 display: grid;
 grid-template-columns: repeat(3, 1fr);
 gap: 16px;
 margin-bottom: 32px;
}
.tier-card {
 padding: 24px;
 background: var(--paper);
 border: 1px solid var(--border);
 border-radius: var(--radius-lg);
 display: flex;
 flex-direction: column;
}
.tier-card--featured {
 border-color: var(--primary);
 box-shadow: var(--shadow);
 position: relative;
}
.tier-badge {
 display: inline-block;
 font-family: var(--mono);
 font-size: 0.58rem;
 text-transform: uppercase;
 background: var(--primary);
 color: #fff;
 padding: 3px 8px;
 border-radius: 999px;
 margin-bottom: 8px;
 align-self: flex-start;
}
.tier-card h3 { font-size: 1.15rem; margin-bottom: 4px; }
.tier-price { font-size: 1.1rem; font-weight: 700; color: var(--primary); margin: 8px 0; }
.tier-desc { font-size: 0.78rem; color: var(--muted); margin-bottom: 12px; }
.tier-card ul { list-style: none; margin: 16px 0; font-size: 0.82rem; flex: 1; }
.tier-card li { padding: 5px 0; border-bottom: 1px solid var(--border); line-height: 1.45; }
.tier-card li::before { content: "✓ "; color: var(--success); font-weight: 700; }
.plan-comparison {
 margin-top: 32px;
 padding-top: 24px;
 border-top: 1px solid var(--border);
}
.plan-comparison h2 { font-size: 1.15rem; margin-bottom: 16px; }
.compare-table { overflow-x: auto; display: block; width: 100%; }

/* Live command console */
.live-command-console, .live_command_console { background: var(--bg); }
.console-header {
 display: flex;
 justify-content: space-between;
 align-items: flex-start;
 gap: 16px;
 margin-bottom: 20px;
 flex-wrap: wrap;
}
.console-header h2 { font-size: 1.25rem; margin-bottom: 8px; }
.console-header p { font-size: 0.88rem; color: var(--muted); max-width: 560px; line-height: 1.6; }
.console-status { text-align: right; font-size: 0.78rem; color: var(--muted); }
.status-live {
 display: inline-flex;
 align-items: center;
 gap: 6px;
 color: var(--success);
 font-weight: 600;
 margin-right: 12px;
}
.status-live i {
 width: 8px;
 height: 8px;
 border-radius: 50%;
 background: var(--success);
 animation: pulse 1.5s infinite;
}
.console-layout {
 display: grid;
 grid-template-columns: 1fr 300px;
 gap: 20px;
}
.console-stream {
 border: 1px solid var(--border);
 border-radius: var(--radius-lg);
 background: var(--paper);
 max-height: 520px;
 overflow: hidden;
 display: flex;
 flex-direction: column;
}
.stream-toolbar {
 display: flex;
 flex-wrap: wrap;
 gap: 6px;
 padding: 10px 12px;
 border-bottom: 1px solid var(--border);
 background: var(--bg);
 flex-shrink: 0;
}
.console-feed {
 overflow-y: auto;
 flex: 1;
}
.console-item {
 display: grid;
 grid-template-columns: 70px 72px 1fr;
 gap: 10px;
 padding: 12px 16px;
 border-bottom: 1px solid var(--border);
 font-size: 0.76rem;
 align-items: start;
}
.console-item time { font-family: var(--mono); font-size: 0.62rem; color: var(--muted); }
.console-type {
 font-family: var(--mono);
 font-size: 0.58rem;
 text-transform: uppercase;
 color: var(--primary);
 padding-top: 2px;
}
.console-item strong { display: block; color: var(--heading); margin-bottom: 3px; }
.console-item p { color: var(--muted); line-height: 1.5; }
.console-item--critical { background: rgba(220, 38, 38, 0.04); border-left: 3px solid var(--danger); }
.console-item--new { background: rgba(15, 118, 110, 0.04); border-left: 3px solid var(--success); }
.console-panel {
 padding: 16px;
 margin-bottom: 14px;
 background: var(--paper);
 border: 1px solid var(--border);
 border-radius: var(--radius);
}
.console-panel h3 { font-size: 0.78rem; margin-bottom: 10px; }
.sector-heat-list li {
 display: grid;
 grid-template-columns: 1fr 1fr auto;
 gap: 8px;
 align-items: center;
 padding: 6px 0;
 font-size: 0.72rem;
 border-bottom: 1px dashed var(--border);
}
.sector-heat-list i {
 display: block;
 height: 4px;
 background: linear-gradient(90deg, var(--primary), var(--success));
 border-radius: 999px;
}
.cluster-now-list {
 padding-left: 18px;
 font-size: 0.76rem;
 color: var(--ink);
}
.cluster-now-list li { padding: 4px 0; }
.console-cta {
 padding-top: 12px;
 border-top: 1px solid var(--border);
 display: flex;
 flex-direction: column;
 gap: 8px;
}
.console-cta p { font-size: 0.76rem; color: var(--muted); margin-bottom: 4px; }

/* About mission */
.about-split {
 display: grid;
 grid-template-columns: 1.1fr 0.9fr;
 gap: 40px;
 align-items: start;
}
.about-story p { font-size: 0.9rem; color: var(--muted); line-height: 1.7; margin-bottom: 12px; }
.about-story h2 { font-size: 1.5rem; margin-bottom: 14px; }
.station-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.station-tag {
 padding: 6px 12px;
 font-family: var(--mono);
 font-size: 0.62rem;
 text-transform: uppercase;
 background: rgba(15, 118, 110, 0.08);
 border: 1px solid var(--border);
 border-radius: 999px;
 color: var(--primary);
}
.about-values article {
 padding: 16px 0;
 border-bottom: 1px solid var(--border);
}
.about-values h3 { font-size: 0.95rem; margin-bottom: 8px; }
.about-values p { font-size: 0.86rem; color: var(--muted); line-height: 1.6; }
.about-positioning {
 margin-top: 48px;
 padding-top: 32px;
 border-top: 1px solid var(--border);
}
.about-positioning h2 { font-size: 1.25rem; margin-bottom: 16px; }
.position-grid {
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 16px;
 margin-top: 16px;
}
.position-card {
 padding: 20px;
 background: var(--paper);
 border: 1px solid var(--border);
 border-radius: var(--radius-lg);
}
.position-card--is { border-top: 3px solid var(--success); }
.position-card--not { border-top: 3px solid var(--muted); opacity: 0.85; }
.position-card h3 { font-size: 0.9rem; margin-bottom: 10px; }
.position-card ul { font-size: 0.82rem; }
.position-card li { padding: 5px 0; border-bottom: 1px dashed var(--border); line-height: 1.5; }

/* Contact */
.contact-split {
 display: grid;
 grid-template-columns: 1fr 0.8fr;
 gap: 40px;
 align-items: start;
}
.contact-form { display: flex; flex-direction: column; gap: 0; }
.contact-aside {
 padding: 24px;
 background: var(--paper);
 border: 1px solid var(--border);
 border-radius: var(--radius-lg);
}
.contact-aside h3 { font-size: 0.95rem; margin-bottom: 12px; }
.contact-aside p { font-size: 0.86rem; color: var(--muted); margin-bottom: 8px; }

/* Auth, modal, toast */
.auth-page { min-height: 100vh; background: var(--bg); }
.auth-shell { min-height: 100vh; display: flex; flex-direction: column; }
.auth-header {
 padding: 20px 24px;
 border-bottom: 1px solid var(--border);
 background: var(--paper);
}
.auth-main {
 flex: 1;
 display: flex;
 align-items: center;
 justify-content: center;
 padding: 24px;
}
.auth-card {
 width: min(400px, 96vw);
 padding: 36px;
 background: var(--paper);
 border: 1px solid var(--border);
 border-radius: var(--radius-lg);
 box-shadow: var(--shadow);
}
.auth-card h1 { font-size: 1.5rem; margin-bottom: 8px; }
.auth-lead, .auth-note { font-size: 0.86rem; color: var(--muted); margin-bottom: 16px; }
.auth-check { display: flex; align-items: center; gap: 6px; font-size: 0.78rem; }
.auth-form-row {
 display: flex;
 justify-content: space-between;
 align-items: center;
 font-size: 0.78rem;
 margin-bottom: 16px;
}
.auth-divider {
 text-align: center;
 margin: 20px 0;
 font-size: 0.72rem;
 color: var(--muted);
}
.auth-social { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }

.form-field { margin-bottom: 16px; }
.form-field label {
 display: block;
 font-size: 0.78rem;
 font-weight: 600;
 margin-bottom: 6px;
 color: var(--heading);
}
.form-field input, .form-field textarea, .form-field select {
 width: 100%;
 padding: 10px 12px;
 border: 1px solid var(--border);
 border-radius: var(--radius);
 font-family: var(--sans);
 font-size: 0.88rem;
 background: var(--paper);
 color: var(--ink);
 transition: border-color 0.15s;
}
.form-field input:focus, .form-field textarea:focus {
 outline: none;
 border-color: var(--primary);
 box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.12);
}

.gp-modal-overlay {
 position: fixed;
 inset: 0;
 background: rgba(15, 23, 42, 0.55);
 display: flex;
 align-items: center;
 justify-content: center;
 padding: 24px;
 z-index: 200;
}
.gp-modal-overlay[hidden] { display: none; }
.gp-modal {
 position: relative;
 width: min(420px, 96vw);
 padding: 28px;
 background: var(--paper);
 border: 1px solid var(--border);
 border-radius: var(--radius-lg);
 box-shadow: var(--shadow-panel);
}
.gp-modal h2 { font-size: 1.25rem; margin-bottom: 8px; }
.gp-modal-lead { font-size: 0.86rem; color: var(--muted); margin-bottom: 20px; line-height: 1.6; }
.gp-modal-close {
 position: absolute;
 top: 12px;
 right: 16px;
 font-size: 1.4rem;
 background: none;
 border: none;
 cursor: pointer;
 color: var(--muted);
 line-height: 1;
}
.gp-modal-close:hover { color: var(--heading); }

.gp-toast {
 position: fixed;
 bottom: 24px;
 left: 50%;
 transform: translateX(-50%);
 padding: 12px 20px;
 background: var(--slate-dark);
 color: #fff;
 border-radius: var(--radius);
 font-size: 0.84rem;
 opacity: 0;
 transition: opacity 0.3s;
 z-index: 300;
 pointer-events: none;
 box-shadow: var(--shadow-panel);
 max-width: 90vw;
 text-align: center;
}
.gp-toast.is-show { opacity: 1; }

/* Legal */
.legal-page h1 { font-size: 1.8rem; margin-bottom: 24px; }
.legal-page h2 { font-size: 1rem; margin: 24px 0 8px; color: var(--heading); }
.legal-page p { font-size: 0.88rem; color: var(--muted); line-height: 1.75; }

/* Footer */
.site-footer {
 border-top: 1px solid var(--border);
 background: var(--paper);
 margin-top: auto;
}
.footer-grid {
 display: grid;
 grid-template-columns: 1.4fr repeat(4, 1fr);
 gap: 28px;
 padding: 48px 0 32px;
}
.footer-brand p {
 font-size: 0.82rem;
 color: var(--muted);
 margin-top: 14px;
 max-width: 280px;
 line-height: 1.65;
}
.footer-col h4 {
 font-size: 0.72rem;
 text-transform: uppercase;
 letter-spacing: 0.06em;
 margin-bottom: 12px;
 color: var(--heading);
}
.footer-col a {
 font-size: 0.82rem;
 color: var(--muted);
 display: block;
 padding: 4px 0;
}
.footer-col a:hover { color: var(--primary); }
.footer-bottom {
 padding: 16px 0;
 border-top: 1px solid var(--border);
 font-size: 0.78rem;
 color: var(--muted);
}
.footer-bottom .container {
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
 gap: 12px;
}
.footer-legal { display: flex; gap: 16px; }
.footer-legal a { color: var(--muted); }
.footer-legal a:hover { color: var(--primary); }

/* Responsive — 1024px */
@media (max-width: 1024px) {
 .command-hero-split,
 .monitoring-wall-grid,
 .churn-radar-layout,
 .kpi-strip,
 .flow-source-row,
 .flow-engine-row,
 .control-room-features,
 .risk-layout,
 .accounts-grid,
 .playbook-cards,
 .signals-layout,
 .expansion-cards,
 .meetings-layout,
 .renewals-layout,
 .exec-kpi-tiles,
 .exec-charts-row,
 .api-split,
 .about-split,
 .contact-split,
 .console-layout,
 .position-grid { grid-template-columns: 1fr; }

 .account-card--featured { grid-column: span 1; }
 .source-types,
 .dimension-row,
 .pricing-tiers,
 .integration-grid,
 .risk-summary-row,
 .renewals-summary,
 .flow-steps,
 .endpoint-grid { grid-template-columns: repeat(2, 1fr); }

 .heatmap-grid--6x4 { grid-template-columns: repeat(4, 1fr); }
}

/* Responsive — 768px */
@media (max-width: 768px) {
 .nav-main {
 display: none;
 position: fixed;
 top: calc(var(--announce-h) + var(--header-h));
 left: 0;
 right: 0;
 background: var(--paper);
 flex-direction: column;
 padding: 16px;
 z-index: 99;
 border-bottom: 1px solid var(--border);
 box-shadow: var(--shadow);
 }
 .nav-main.is-open { display: flex; }
 .nav-toggle { display: block; }
 .announce-detail { display: none; }
 .header-actions .nav-link--muted { display: none; }

 .command-hero-split { grid-template-columns: 1fr; }
 .pm-grid { grid-template-columns: 1fr; }
 .pm-panel--score,
 .pm-panel--stack,
 .pm-panel--table { grid-column: span 1; }
 .data-screen-nav {
 position: sticky;
 top: calc(var(--announce-h) + var(--header-h));
 z-index: 20;
 overflow-x: auto;
 flex-wrap: nowrap;
 }
 .screen-tab { flex-shrink: 0; }
 .data-screen { min-height: auto; padding-bottom: 40px; }

 .monitoring-wall-grid,
 .source-types,
 .dimension-pills,
 .ai-summary-strip,
 .dimension-row,
 .pricing-tiers,
 .integration-grid,
 .risk-summary-row,
 .renewals-summary,
 .kpi-strip,
 .exec-kpi-tiles,
 .flow-source-row,
 .flow-engine-row,
 .flow-steps,
 .endpoint-grid,
 .footer-grid,
 .playbook-cards,
 .expansion-cards { grid-template-columns: 1fr; }

 .heatmap-grid--6x4 { grid-template-columns: repeat(3, 1fr); }
 .sentiment-event,
 .signal-item { grid-template-columns: 1fr; gap: 6px; }
 .churn-table, .expansion-table, .health-table { font-size: 0.72rem; }
 .renewal-item { grid-template-columns: 1fr; gap: 6px; }
 .console-item { grid-template-columns: 1fr; }
 .evo-row { grid-template-columns: 1fr; gap: 6px; }
 .evo-delta { text-align: left; }
 .section { padding: 48px 0; }
}
