:root {
  color-scheme: light;
  --ink: #171a17;
  --charcoal: #111411;
  --black: #090b09;
  --ivory: #f5f1e7;
  --ivory-muted: #e8e1d2;
  --gold: #d8a928;
  --gold-dark: #9a7415;
  --sage: #76907a;
  --sage-light: #dfe8df;
  --canvas: #f3f4ef;
  --surface: #ffffff;
  --surface-warm: #faf8f1;
  --muted: #697067;
  --muted-dark: #3f463f;
  --line: rgba(23, 26, 23, 0.12);
  --line-dark: rgba(245, 241, 231, 0.14);
  --danger: #a84835;
  --shadow-sm: 0 1px 2px rgba(9, 11, 9, 0.04);
  --shadow-md: 0 14px 38px rgba(9, 11, 9, 0.08);
  --sidebar-width: 256px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-height: 100dvh; color: var(--ink); font-family: "DM Sans", ui-sans-serif, system-ui, sans-serif; line-height: 1.5; }
a { color: inherit; }
button, input { font: inherit; }
button, summary, a { touch-action: manipulation; }
svg { display: block; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
p { margin: 0; text-wrap: pretty; }
h1, h2, h3 { margin: 0; text-wrap: balance; }

.skip-link { background: var(--gold); color: var(--black); left: 1rem; padding: .75rem 1rem; position: fixed; top: -10rem; z-index: 50; }
.skip-link:focus { top: 1rem; }
:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }

.brand { align-items: center; display: inline-flex; font-size: .98rem; font-weight: 700; gap: .7rem; text-decoration: none; }
.brand-mark { align-items: center; background: var(--charcoal); color: var(--ivory); display: inline-flex; justify-content: center; size: 2.25rem; width: 2.25rem; height: 2.25rem; }
.brand-mark svg { width: 1.35rem; }
.button { align-items: center; border: 1px solid transparent; cursor: pointer; display: inline-flex; font-size: .9rem; font-weight: 650; gap: .55rem; justify-content: center; min-height: 44px; padding: .7rem 1.1rem; text-decoration: none; transition: background-color 160ms ease-out, border-color 160ms ease-out, color 160ms ease-out, opacity 160ms ease-out; }
.button svg { width: 1rem; }
.button-dark { background: var(--charcoal); color: var(--ivory); }
.button-dark:hover { background: var(--black); }
.button-gold { background: var(--gold); color: var(--black); }
.button-gold:hover { background: #e3b73e; }
.button-light { background: var(--ivory); color: var(--black); }
.button-light:hover { background: #fff; }
.button-ghost-dark { border-color: var(--line-dark); color: var(--ivory); }
.button-ghost-dark:hover { background: rgba(245, 241, 231, .08); }
.button-outline { background: var(--surface); border-color: var(--line); color: var(--ink); }
.button-outline:hover { background: var(--surface-warm); }
.eyebrow { color: var(--gold-dark); font-size: .72rem; font-weight: 700; margin: 0 0 .75rem; text-transform: uppercase; }
.eyebrow-light { color: var(--gold); }

/* Marketing */
.marketing-body { background: var(--ivory); }
.marketing-header { background: rgba(245, 241, 231, .96); border-bottom: 1px solid var(--line); left: 0; position: sticky; right: 0; top: 0; z-index: 30; }
.marketing-nav { align-items: center; display: flex; height: 72px; justify-content: space-between; margin: 0 auto; max-width: 1240px; padding: 0 1.5rem; }
.desktop-nav { align-items: center; display: flex; gap: 1.9rem; }
.desktop-nav a, .text-link { color: var(--muted-dark); font-size: .84rem; font-weight: 600; text-decoration: none; }
.desktop-nav a:hover, .text-link:hover { color: var(--black); }
.nav-actions { align-items: center; display: flex; gap: 1.15rem; }
.nav-button { min-height: 40px; padding: .55rem .9rem; }
.mobile-menu { display: none; position: relative; }
.mobile-menu summary { align-items: center; cursor: pointer; display: flex; height: 44px; justify-content: center; list-style: none; width: 44px; }
.mobile-menu summary::-webkit-details-marker { display: none; }
.mobile-menu summary svg { width: 1.4rem; }
.mobile-menu nav { background: var(--surface); border: 1px solid var(--line); box-shadow: var(--shadow-md); display: grid; min-width: 230px; padding: .65rem; position: absolute; right: 0; top: 48px; }
.mobile-menu nav a { padding: .8rem; text-decoration: none; }

.marketing-hero { background: var(--charcoal); color: var(--ivory); min-height: 800px; overflow: hidden; padding: 7.5rem max(1.5rem, calc((100vw - 1160px) / 2)) 0; text-align: center; }
.hero-kicker { align-items: center; color: #bebfb8; display: flex; font-size: .78rem; gap: .8rem; justify-content: center; }
.status-pill { align-items: center; display: inline-flex; font-size: .75rem; font-weight: 650; gap: .45rem; min-height: 30px; padding: .3rem .65rem; }
.status-paper { background: rgba(216, 169, 40, .1); border: 1px solid rgba(216, 169, 40, .34); color: #efd071; }
.status-dot { background: currentColor; border-radius: 50%; display: inline-block; height: 7px; width: 7px; }
.marketing-hero h1 { font-family: "Newsreader", Georgia, serif; font-size: clamp(4rem, 9vw, 7.6rem); font-weight: 500; letter-spacing: -.055em; line-height: .9; margin: 2.4rem auto 1.7rem; max-width: 1000px; }
.hero-lede { color: #c6c7bf; font-size: clamp(1.05rem, 2vw, 1.25rem); line-height: 1.65; margin: 0 auto; max-width: 760px; }
.hero-actions { align-items: center; display: flex; flex-wrap: wrap; gap: .8rem; justify-content: center; margin: 2.1rem 0 1rem; }
.hero-note { color: #8e928a; font-size: .78rem; }

.product-window { background: #f6f6f2; border: 1px solid rgba(245, 241, 231, .18); box-shadow: 0 28px 80px rgba(0, 0, 0, .3); color: var(--ink); display: grid; grid-template-columns: 185px minmax(0, 1fr); margin: 5.5rem auto -1px; max-width: 1080px; min-height: 470px; text-align: left; }
.window-sidebar { background: #151815; color: #aeb2aa; padding: 1.4rem 1rem; }
.mini-brand { align-items: center; color: var(--ivory); display: flex; font-size: .68rem; font-weight: 700; gap: .5rem; margin-bottom: 2rem; }
.mini-brand span { background: var(--gold); display: inline-block; height: 22px; width: 22px; }
.mini-nav { align-items: center; display: flex; font-size: .65rem; gap: .6rem; margin: .25rem 0; padding: .55rem .6rem; }
.mini-nav i { border: 1px solid currentColor; display: block; height: 10px; width: 10px; }
.mini-nav.active { background: rgba(245, 241, 231, .09); color: var(--ivory); }
.window-main { padding: 1.7rem; }
.window-topbar { align-items: center; display: flex; justify-content: space-between; margin-bottom: 1.5rem; }
.window-topbar div { display: grid; }
.window-topbar small { color: var(--muted); font-size: .58rem; }
.window-topbar strong { font-size: 1.1rem; }
.status-quiet { background: var(--sage-light); color: #49634e; }
.window-metrics { display: grid; gap: .75rem; grid-template-columns: repeat(3, 1fr); }
.window-metrics article, .window-feature { background: var(--surface); border: 1px solid var(--line); box-shadow: var(--shadow-sm); padding: 1rem; }
.window-metrics article { display: grid; gap: .25rem; }
.window-metrics small, .window-feature small { color: var(--muted); font-size: .58rem; }
.window-metrics strong { font-size: .95rem; }
.window-metrics span { color: var(--muted); font-size: .58rem; }
.window-grid { display: grid; gap: .75rem; grid-template-columns: 1.45fr .75fr; margin-top: .75rem; }
.window-card-head, .pipeline-row { align-items: center; display: flex; justify-content: space-between; }
.window-card-head { border-bottom: 1px solid var(--line); font-size: .7rem; margin-bottom: .55rem; padding-bottom: .65rem; }
.window-card-head b { color: var(--muted); font-size: .56rem; }
.pipeline-row { color: var(--muted); font-size: .6rem; gap: .5rem; padding: .4rem 0; }
.pipeline-row i { border: 1px solid #aeb4ad; border-radius: 50%; height: 8px; width: 8px; }
.pipeline-row i.complete { background: var(--sage); border-color: var(--sage); }
.pipeline-row span { flex: 1; }
.pipeline-row em { font-style: normal; }
.receipt-card { display: flex; flex-direction: column; }
.receipt-card strong { color: var(--gold-dark); font-size: 1.4rem; margin: .7rem 0 .4rem; }
.receipt-card p { color: var(--muted); font-size: .65rem; }
.receipt-card > span { border-top: 1px solid var(--line); color: var(--muted); font-size: .55rem; margin-top: auto; padding-top: .7rem; }

.proof-strip { background: var(--surface); border-bottom: 1px solid var(--line); display: grid; grid-template-columns: repeat(4, 1fr); padding: 0 max(1.5rem, calc((100vw - 1160px) / 2)); }
.proof-strip div { display: grid; gap: .15rem; padding: 1.6rem; }
.proof-strip div + div { border-left: 1px solid var(--line); }
.proof-strip strong { font-size: .85rem; }
.proof-strip span { color: var(--muted); font-size: .72rem; }
.marketing-section { margin: 0 auto; max-width: 1160px; padding: 8rem 1.5rem; }
.section-heading { max-width: 640px; }
.section-heading h2, .methodology-card h2 { font-family: "Newsreader", Georgia, serif; font-size: clamp(2.8rem, 5vw, 4.8rem); font-weight: 500; letter-spacing: -.045em; line-height: .98; }
.section-heading > p:last-child, .methodology-card > div > p:last-child { color: var(--muted); font-size: 1rem; margin-top: 1.2rem; max-width: 580px; }
.centered-heading { margin: 0 auto 3.5rem; text-align: center; }
.process-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.process-grid article { border: 1px solid var(--line); min-height: 330px; padding: 2rem; position: relative; }
.process-grid article + article { border-left: 0; }
.process-number { color: #9da097; font-size: .7rem; position: absolute; right: 1.3rem; top: 1.3rem; }
.icon-box { align-items: center; background: var(--charcoal); color: var(--ivory); display: flex; height: 46px; justify-content: center; margin-bottom: 4.2rem; width: 46px; }
.icon-box svg { width: 1.35rem; }
.process-grid h3 { font-size: 1.15rem; margin-bottom: .7rem; }
.process-grid p { color: var(--muted); font-size: .9rem; line-height: 1.7; }

.split-section { border-top: 1px solid var(--line); }
.split-section > .section-heading { margin-bottom: 3.5rem; }
.audience-grid { display: grid; gap: 1rem; grid-template-columns: 1fr 1fr; }
.audience-card { min-height: 410px; padding: 2.5rem; }
.audience-card h3 { font-family: "Newsreader", Georgia, serif; font-size: clamp(2.2rem, 4vw, 3.8rem); font-weight: 500; letter-spacing: -.04em; line-height: 1; margin: 4rem 0 3rem; max-width: 500px; }
.audience-label { font-size: .72rem; font-weight: 700; text-transform: uppercase; }
.dark-card { background: var(--charcoal); color: var(--ivory); }
.light-card { background: var(--surface); border: 1px solid var(--line); }
.audience-card ul { border-top: 1px solid currentColor; list-style: none; margin: 0; opacity: .9; padding: 1rem 0 0; }
.audience-card li { font-size: .86rem; padding: .38rem 0 .38rem 1.25rem; position: relative; }
.audience-card li::before { content: ""; background: var(--gold); height: 6px; left: 0; position: absolute; top: .86rem; width: 6px; }

.lifecycle-section { display: grid; gap: 5rem; grid-template-columns: .7fr 1.3fr; }
.compact-heading { position: sticky; top: 120px; }
.lifecycle-track { list-style: none; margin: 0; padding: 0; }
.lifecycle-track li { border-top: 1px solid var(--line); display: grid; gap: 1rem; grid-template-columns: 42px 150px 1fr; padding: 1.55rem 0; }
.lifecycle-track li > span { align-items: center; border: 1px solid var(--line); display: flex; font-size: .72rem; height: 30px; justify-content: center; width: 30px; }
.lifecycle-track strong { font-size: .95rem; }
.lifecycle-track p { color: var(--muted); font-size: .86rem; }

.trust-section { background: var(--charcoal); color: var(--ivory); display: grid; gap: 7rem; grid-template-columns: .85fr 1.15fr; padding: 8rem max(1.5rem, calc((100vw - 1160px) / 2)); }
.trust-copy { align-self: start; position: sticky; top: 120px; }
.trust-copy h2, .final-cta h2 { font-family: "Newsreader", Georgia, serif; font-size: clamp(3.2rem, 6vw, 5.7rem); font-weight: 500; letter-spacing: -.05em; line-height: .92; }
.trust-copy > p:nth-of-type(2) { color: #b7bbb3; margin: 1.5rem 0 2rem; max-width: 500px; }
.trust-list article { border-top: 1px solid var(--line-dark); display: grid; gap: 1.5rem; grid-template-columns: 45px 1fr; padding: 1.75rem 0; }
.trust-list article > span { color: var(--gold); font-size: .7rem; }
.trust-list h3 { font-size: 1.2rem; margin-bottom: .5rem; }
.trust-list p { color: #aeb2aa; font-size: .88rem; max-width: 520px; }

.methodology-section { padding-bottom: 9rem; }
.methodology-card { background: var(--surface); border: 1px solid var(--line); display: grid; gap: 5rem; grid-template-columns: .9fr 1.1fr; padding: 3.5rem; }
.methodology-grid { display: grid; }
.methodology-grid article { border-top: 1px solid var(--line); display: grid; gap: .4rem; padding: 1.2rem 0; }
.methodology-grid span { color: var(--gold-dark); font-size: .7rem; font-weight: 700; text-transform: uppercase; }
.methodology-grid strong { font-size: .98rem; }
.methodology-grid p { color: var(--muted); font-size: .82rem; }
.final-cta { background: var(--black); color: var(--ivory); padding: 8rem 1.5rem; text-align: center; }
.final-cta p:not(.eyebrow) { color: #aeb2aa; margin: 1.4rem auto 2rem; max-width: 580px; }
.marketing-footer { align-items: center; background: var(--black); border-top: 1px solid var(--line-dark); color: #aeb2aa; display: flex; justify-content: space-between; padding: 2rem max(1.5rem, calc((100vw - 1160px) / 2)); }
.footer-brand { color: var(--ivory); }
.marketing-footer p { font-size: .78rem; }
.marketing-footer div { display: flex; gap: 1.2rem; }
.marketing-footer div a { font-size: .78rem; text-decoration: none; }

/* App shell */
.app-body { background: var(--canvas); overflow-x: hidden; }
.app-shell { min-height: 100dvh; }
.app-sidebar { background: var(--charcoal); bottom: 0; color: #b7bbb3; display: flex; flex-direction: column; left: 0; padding: 1.15rem .9rem max(1rem, env(safe-area-inset-bottom)); position: fixed; top: 0; width: var(--sidebar-width); z-index: 40; }
.sidebar-header { align-items: center; display: flex; justify-content: space-between; padding: 0 .45rem 1.1rem; }
.app-brand { color: var(--ivory); }
.app-brand .brand-mark { background: var(--gold); color: var(--black); }
.icon-button { align-items: center; background: transparent; border: 1px solid var(--line); color: var(--muted-dark); cursor: pointer; display: inline-flex; height: 44px; justify-content: center; padding: 0; width: 44px; }
.icon-button svg { width: 1.2rem; }
.sidebar-close { border-color: var(--line-dark); color: var(--ivory); display: none; }
.workspace-switcher { align-items: center; background: rgba(245, 241, 231, .06); border: 1px solid var(--line-dark); display: grid; gap: .55rem; grid-template-columns: 32px 1fr 16px; margin: .2rem 0 1.4rem; padding: .75rem; }
.workspace-avatar, .user-avatar { align-items: center; background: var(--ivory); color: var(--black); display: inline-flex; font-size: .67rem; font-weight: 700; justify-content: center; }
.workspace-avatar { height: 32px; width: 32px; }
.workspace-switcher > span:nth-child(2) { display: grid; overflow: hidden; }
.workspace-switcher strong { color: var(--ivory); font-size: .72rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workspace-switcher small { color: #8f958d; font-size: .62rem; }
.workspace-switcher svg { width: .9rem; }
.app-nav { display: grid; gap: .18rem; }
.app-nav p { color: #696f68; font-size: .58rem; font-weight: 700; margin: 1rem .65rem .35rem; text-transform: uppercase; }
.app-nav a { align-items: center; color: #9ea39b; display: grid; font-size: .78rem; gap: .7rem; grid-template-columns: 19px 1fr 8px; min-height: 40px; padding: .55rem .65rem; text-decoration: none; }
.app-nav a svg { width: 1.05rem; }
.app-nav a:hover { background: rgba(245, 241, 231, .05); color: var(--ivory); }
.app-nav a.active { background: rgba(245, 241, 231, .1); color: var(--ivory); }
.app-nav a i { background: var(--gold); border-radius: 50%; display: block; height: 6px; opacity: 0; width: 6px; }
.app-nav a i.live { opacity: 1; }
.sidebar-footer { border-top: 1px solid var(--line-dark); margin-top: auto; padding-top: 1rem; }
.paper-lock { align-items: center; display: grid; gap: .65rem; grid-template-columns: 28px 1fr; padding: .65rem; }
.paper-lock svg { color: var(--gold); width: 1.1rem; }
.paper-lock span { display: grid; }
.paper-lock strong { color: var(--ivory); font-size: .68rem; }
.paper-lock small { color: #7f857d; font-size: .58rem; }
.back-link { align-items: center; color: #8f958d; display: flex; font-size: .68rem; justify-content: space-between; padding: .7rem; text-decoration: none; }
.back-link svg { width: .9rem; }
.sidebar-overlay { display: none; }
.app-content { margin-left: var(--sidebar-width); min-height: 100dvh; }
.app-topbar { align-items: center; background: rgba(243, 244, 239, .96); border-bottom: 1px solid var(--line); display: flex; height: 64px; justify-content: space-between; padding: 0 1.75rem; position: sticky; top: 0; z-index: 20; }
.topbar-left, .topbar-actions, .breadcrumb { align-items: center; display: flex; }
.breadcrumb { color: var(--muted); font-size: .72rem; gap: .4rem; }
.breadcrumb svg { width: .75rem; }
.breadcrumb strong { color: var(--ink); }
.topbar-actions { gap: .65rem; }
.environment-badge { align-items: center; background: var(--sage-light); color: #405745; display: inline-flex; font-size: .68rem; font-weight: 700; gap: .4rem; min-height: 30px; padding: .35rem .65rem; }
.environment-badge span { background: #51785a; border-radius: 50%; height: 6px; width: 6px; }
.user-avatar { height: 36px; width: 36px; }
.nav-toggle { display: none; margin-right: .65rem; }
.dashboard-main { margin: 0 auto; max-width: 1520px; padding: 2.2rem 2rem 5rem; }
.page-intro { align-items: flex-end; display: flex; justify-content: space-between; margin-bottom: 1.5rem; }
.page-intro h1 { font-size: clamp(1.8rem, 3vw, 2.5rem); letter-spacing: -.04em; }
.page-intro > div > p:last-child { color: var(--muted); font-size: .84rem; margin-top: .35rem; }
.page-actions { display: flex; gap: .65rem; }
.notice-banner { align-items: center; background: #f4edd6; border: 1px solid #dfcd8f; display: grid; gap: .8rem; grid-template-columns: 26px 1fr auto; margin-bottom: 1rem; padding: .85rem 1rem; }
.notice-banner > svg { color: var(--gold-dark); width: 1.15rem; }
.notice-banner div { display: grid; }
.notice-banner strong { font-size: .76rem; }
.notice-banner p { color: #716648; font-size: .68rem; }
.notice-banner > span { color: #716648; font-family: ui-monospace, monospace; font-size: .62rem; }
.notice-banner.ready { background: var(--sage-light); border-color: #b8cbb9; }
.notice-banner.error { background: #f7e5e1; border-color: #d8aaa0; }

.metric-cards { display: grid; gap: .8rem; grid-template-columns: repeat(4, 1fr); margin-bottom: .8rem; }
.metric-cards > article, .dashboard-panel { background: var(--surface); border: 1px solid var(--line); box-shadow: var(--shadow-sm); }
.metric-cards > article { min-height: 155px; padding: 1rem; }
.metric-heading { align-items: center; color: var(--muted); display: flex; font-size: .67rem; justify-content: space-between; }
.metric-icon { align-items: center; display: flex; height: 30px; justify-content: center; width: 30px; }
.metric-icon svg { width: .95rem; }
.metric-icon.sage { background: var(--sage-light); color: #52705a; }
.metric-icon.gold { background: #f4ead0; color: var(--gold-dark); }
.metric-icon.ink { background: #e7e9e4; color: var(--ink); }
.metric-icon.neutral { background: #efefec; color: #777d75; }
.metric-cards article > strong { display: block; font-size: 1.25rem; letter-spacing: -.03em; margin: .9rem 0 .12rem; }
.metric-cards article > p { color: var(--muted); font-size: .72rem; }
.metric-foot { align-items: center; color: var(--muted); display: flex; font-size: .62rem; gap: .38rem; margin-top: .8rem; }
.tiny-dot { background: var(--sage); border-radius: 50%; height: 6px; width: 6px; }
.dashboard-layout { display: grid; gap: .8rem; grid-template-columns: minmax(0, 1.65fr) minmax(310px, .75fr); }
.dashboard-primary, .dashboard-secondary { align-content: start; display: grid; gap: .8rem; min-width: 0; }
.dashboard-panel { min-width: 0; padding: 1.2rem; scroll-margin-top: 80px; }
.panel-title { align-items: flex-start; display: flex; justify-content: space-between; margin-bottom: 1rem; }
.panel-title .eyebrow { margin-bottom: .28rem; }
.panel-title h2 { font-size: 1.05rem; letter-spacing: -.02em; }
.state-badge, .soft-badge { align-items: center; display: inline-flex; font-size: .62rem; font-weight: 650; gap: .4rem; min-height: 27px; padding: .28rem .55rem; }
.state-badge { background: #eeeae0; color: #655f50; }
.state-badge span { background: currentColor; border-radius: 50%; height: 6px; width: 6px; }
.state-badge.ready { background: var(--sage-light); color: #49634e; }
.state-badge.error { background: #f7e5e1; color: var(--danger); }
.soft-badge { background: #f0f1ec; color: var(--muted); }
.agent-summary { border: 1px solid var(--line); display: grid; grid-template-columns: repeat(4, 1fr); }
.agent-summary > div { display: grid; gap: .3rem; padding: .85rem; }
.agent-summary > div + div { border-left: 1px solid var(--line); }
.agent-summary span { color: var(--muted); font-size: .59rem; }
.agent-summary strong { font-size: .72rem; }
.pipeline { margin-top: 1.2rem; }
.pipeline-head { align-items: center; display: flex; justify-content: space-between; margin-bottom: .8rem; }
.pipeline-head strong { font-size: .74rem; }
.pipeline-head span { color: var(--muted); font-size: .62rem; }
.pipeline ol { display: grid; grid-template-columns: repeat(5, 1fr); list-style: none; margin: 0; padding: 0; }
.pipeline li { align-items: center; display: flex; gap: .55rem; min-width: 0; position: relative; }
.pipeline li:not(:last-child)::after { background: var(--line); content: ""; height: 1px; left: calc(100% - 1.1rem); position: absolute; right: .3rem; top: 15px; }
.pipeline li > span { align-items: center; border: 1px solid var(--line); color: var(--muted); display: flex; flex: 0 0 30px; font-size: .62rem; height: 30px; justify-content: center; }
.pipeline li.complete > span { background: var(--sage); border-color: var(--sage); color: white; }
.pipeline li div { display: grid; min-width: 0; }
.pipeline li strong { font-size: .65rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pipeline li small { color: var(--muted); font-size: .54rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.text-button { background: none; border: 0; color: var(--muted); font-size: .65rem; }
.text-button:disabled { cursor: not-allowed; opacity: .55; }
.table-wrap { overflow-x: auto; }
table { border-collapse: collapse; min-width: 620px; width: 100%; }
th { border-bottom: 1px solid var(--line); color: var(--muted); font-size: .59rem; font-weight: 600; padding: .65rem; text-align: left; }
td { font-size: .68rem; padding: .65rem; }
.empty-row td { padding: 0; }
.empty-state { align-items: center; display: flex; flex-direction: column; padding: 2rem 1rem; text-align: center; }
.empty-icon { align-items: center; background: #f0f1ec; color: var(--muted); display: flex; height: 38px; justify-content: center; margin-bottom: .7rem; width: 38px; }
.empty-icon svg { width: 1.1rem; }
.empty-state strong { font-size: .74rem; }
.empty-state p { color: var(--muted); font-size: .65rem; margin: .25rem auto .6rem; max-width: 410px; }
.empty-state a { color: var(--gold-dark); font-size: .64rem; font-weight: 650; }
.mandate-cards { display: grid; gap: .7rem; grid-template-columns: repeat(3, 1fr); }
.mandate-cards > article { border: 1px solid var(--line); padding: .9rem; }
.mandate-top { align-items: center; display: flex; justify-content: space-between; }
.mandate-icon { align-items: center; color: white; display: flex; font-size: .7rem; font-weight: 700; height: 30px; justify-content: center; width: 30px; }
.mandate-icon.catalyst { background: var(--gold-dark); }
.mandate-icon.swing { background: var(--sage); }
.mandate-icon.thematic { background: var(--ink); }
.mandate-cards h3 { font-size: .85rem; margin: .8rem 0 .35rem; }
.mandate-cards p { color: var(--muted); font-size: .65rem; min-height: 48px; }
.mandate-cards dl { border-top: 1px solid var(--line); margin: .8rem 0 0; padding-top: .65rem; }
.mandate-cards dl div { display: flex; justify-content: space-between; padding: .18rem 0; }
.mandate-cards dt { color: var(--muted); font-size: .58rem; }
.mandate-cards dd { font-size: .6rem; font-weight: 650; margin: 0; }
.compact-panel { padding: 1rem; }
.evidence-empty { background: var(--surface-warm); border: 1px solid var(--line); padding: 1rem; }
.evidence-empty strong { font-size: .74rem; }
.evidence-empty p { color: var(--muted); font-size: .64rem; margin: .35rem 0 .7rem; }
.shield-icon { align-items: center; background: var(--sage-light); color: #52705a; display: flex; height: 30px; justify-content: center; width: 30px; }
.shield-icon svg { width: 1rem; }
.gate-list, .health-list { list-style: none; margin: 0; padding: 0; }
.gate-list li { align-items: center; border-top: 1px solid var(--line); display: flex; justify-content: space-between; padding: .65rem 0; }
.gate-list li span { align-items: center; display: flex; font-size: .65rem; gap: .5rem; }
.gate-list li i { background: var(--sage); border-radius: 50%; height: 6px; width: 6px; }
.gate-list li strong { color: var(--muted); font-size: .58rem; }
.panel-note { color: var(--muted); font-size: .6rem; margin-top: .7rem; }
.health-list li { align-items: center; border-top: 1px solid var(--line); display: grid; gap: .6rem; grid-template-columns: 32px 1fr auto; padding: .72rem 0; }
.integration-logo { align-items: center; color: white; display: flex; font-size: .58rem; font-weight: 700; height: 30px; justify-content: center; width: 30px; }
.integration-logo.alpaca { background: #f6c944; color: var(--black); }
.integration-logo.ai { background: var(--ink); }
.integration-logo.worker { background: var(--sage); }
.health-list li div { display: grid; }
.health-list strong { font-size: .65rem; }
.health-list small { color: var(--muted); font-size: .55rem; }
.health-state { color: var(--muted); font-size: .56rem; font-weight: 650; text-align: right; }
.research-card { background: var(--charcoal); color: var(--ivory); }
.research-card .eyebrow { color: var(--gold); }
.research-card > p:not(.eyebrow) { color: #9ea39b; font-size: .65rem; margin: .5rem 0 1rem; }
.stage-row { display: flex; gap: .3rem; }
.stage-row span { border: 1px solid var(--line-dark); color: #81877f; font-size: .54rem; padding: .35rem .45rem; }
.stage-row span.done { background: rgba(216, 169, 40, .14); border-color: rgba(216, 169, 40, .35); color: #e8c868; }
.position-list { display: grid; gap: .55rem; }
.position-item { align-items: center; border-top: 1px solid var(--line); display: flex; justify-content: space-between; padding: .7rem 0; }
.position-item div { display: grid; gap: .2rem; }
.position-item strong { font-size: .68rem; }
.position-item small { color: var(--muted); font-size: .58rem; }
.decision-outcome { font-weight: 700; }
.decision-outcome.approved, .decision-outcome.submitted { color: #49634e; }
.decision-outcome.denied, .decision-outcome.abstained { color: var(--danger); }
.compact-empty { min-height: 135px; }
.control-dialog { background: var(--surface); border: 1px solid var(--line); box-shadow: 0 24px 80px rgba(13, 16, 13, .24); color: var(--ink); max-width: min(520px, calc(100vw - 2rem)); padding: 0; width: 100%; }
.control-dialog::backdrop { background: rgba(10, 12, 10, .62); backdrop-filter: blur(3px); }
.control-dialog form { display: grid; gap: 1rem; padding: 1.35rem; }
.dialog-heading { align-items: flex-start; display: flex; justify-content: space-between; }
.dialog-heading h2 { font-size: 1.2rem; }
.dialog-copy { color: var(--muted); font-size: .76rem; line-height: 1.55; }
.control-dialog label { font-size: .68rem; font-weight: 700; }
.control-dialog input { background: var(--canvas); border: 1px solid var(--line); color: var(--ink); font: inherit; min-height: 46px; padding: .7rem .8rem; width: 100%; }
.control-dialog input:focus { border-color: var(--gold-dark); outline: 2px solid rgba(170, 127, 23, .18); }
.action-feedback { background: var(--surface-warm); border-left: 3px solid var(--gold); color: var(--muted); font-size: .68rem; line-height: 1.45; padding: .7rem .8rem; }
.action-feedback.working { color: var(--ink); }
.action-feedback.success { background: var(--sage-light); border-color: var(--sage); color: #405745; }
.action-feedback.error { background: #f7e5e1; border-color: var(--danger); color: var(--danger); }
.dialog-actions { display: flex; gap: .65rem; justify-content: flex-end; }

@media (max-width: 1100px) {
  .desktop-nav { display: none; }
  .mobile-menu { display: block; }
  .desktop-action { display: none; }
  .product-window { grid-template-columns: 150px 1fr; }
  .marketing-section { padding: 6rem 1.5rem; }
  .trust-section { gap: 4rem; }
  .metric-cards { grid-template-columns: repeat(2, 1fr); }
  .dashboard-layout { grid-template-columns: 1fr; }
  .dashboard-secondary { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 820px) {
  .marketing-nav { height: 64px; padding: 0 1rem; }
  .nav-button { display: none; }
  .marketing-hero { min-height: 700px; padding-top: 5rem; }
  .hero-kicker > span:last-child { display: none; }
  .product-window { grid-template-columns: 1fr; margin-top: 4rem; min-width: 720px; transform: translateX(calc((100vw - 720px) / 2)); width: 720px; }
  .window-sidebar { display: none; }
  .proof-strip { grid-template-columns: repeat(2, 1fr); }
  .proof-strip div:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .proof-strip div:nth-child(4) { border-top: 1px solid var(--line); }
  .process-grid { grid-template-columns: 1fr; }
  .process-grid article + article { border-left: 1px solid var(--line); border-top: 0; }
  .process-grid article { min-height: 250px; }
  .icon-box { margin-bottom: 2rem; }
  .audience-grid, .lifecycle-section, .trust-section, .methodology-card { grid-template-columns: 1fr; }
  .compact-heading, .trust-copy { position: static; }
  .trust-section { padding-bottom: 6rem; padding-top: 6rem; }
  .lifecycle-track li { grid-template-columns: 38px 120px 1fr; }
  .marketing-footer { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .app-sidebar { transform: translateX(-100%); transition: transform 180ms ease-out; }
  .app-sidebar.open { transform: translateX(0); }
  .sidebar-close { display: inline-flex; }
  .sidebar-overlay { background: rgba(9, 11, 9, .55); border: 0; bottom: 0; display: block; left: 0; opacity: 0; pointer-events: none; position: fixed; right: 0; top: 0; transition: opacity 180ms ease-out; z-index: 35; }
  .sidebar-overlay.open { opacity: 1; pointer-events: auto; }
  .app-content { margin-left: 0; }
  .nav-toggle { display: inline-flex; }
  .app-topbar { padding: 0 1rem; }
  .dashboard-main { padding: 1.5rem 1rem 4rem; }
  .agent-summary { grid-template-columns: repeat(2, 1fr); }
  .agent-summary > div:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .agent-summary > div:nth-child(4) { border-top: 1px solid var(--line); }
  .pipeline ol { gap: .6rem; grid-template-columns: 1fr; }
  .pipeline li:not(:last-child)::after { bottom: -.6rem; height: .6rem; left: 15px; right: auto; top: 30px; width: 1px; }
  .mandate-cards { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .marketing-hero { padding-left: 1rem; padding-right: 1rem; }
  .marketing-hero h1 { font-size: clamp(3.5rem, 18vw, 5rem); }
  .hero-lede { font-size: 1rem; }
  .hero-actions .button { width: 100%; }
  .product-window { min-width: 620px; transform: translateX(calc((100vw - 620px) / 2)); width: 620px; }
  .proof-strip { padding: 0; }
  .proof-strip div { padding: 1.1rem; }
  .marketing-section { padding: 5rem 1rem; }
  .section-heading h2, .methodology-card h2 { font-size: 2.8rem; }
  .audience-card { min-height: 360px; padding: 1.5rem; }
  .audience-card h3 { margin: 3rem 0 2rem; }
  .lifecycle-section { gap: 3rem; }
  .lifecycle-track li { gap: .6rem; grid-template-columns: 32px 1fr; }
  .lifecycle-track li p { grid-column: 2; }
  .trust-section { padding-left: 1rem; padding-right: 1rem; }
  .methodology-card { gap: 3rem; padding: 1.5rem; }
  .final-cta { padding: 6rem 1rem; }
  .metric-cards, .dashboard-secondary { grid-template-columns: 1fr; }
  .page-intro { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .page-actions { width: 100%; }
  .page-actions .button { flex: 1; }
  .notice-banner { grid-template-columns: 22px 1fr; }
  .notice-banner > span { display: none; }
  .breadcrumb span, .breadcrumb svg { display: none; }
  .topbar-actions { gap: .35rem; }
  .topbar-actions .icon-button { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
