/* SessionOS — editorial practice workspace */
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../assets/fonts/manrope-cyrillic-ext.woff2") format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../assets/fonts/manrope-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../assets/fonts/manrope-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Onest";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../assets/fonts/onest-cyrillic-ext.woff2") format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: "Onest";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../assets/fonts/onest-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: "Onest";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../assets/fonts/onest-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --paper: #ebe4d9;
  --paper-strong: #fffdfa;
  --paper-muted: #ddd2c3;
  --ink: #242522;
  --ink-soft: #4e504b;
  --ink-faint: #62645e;
  --line: #c4b6a3;
  --line-strong: #8f8475;
  --graphite: #242621;
  --graphite-soft: #343631;
  --accent: #a94f3d;
  --accent-dark: #813829;
  --accent-pale: #f0d9d1;
  --success: #35694f;
  --danger: #9e392d;
  --display: "Manrope", "Onest", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --serif: var(--display);
  --sans: "Onest", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --shadow: 0 18px 45px rgb(53 44 31 / 13%);
  --radius: 3px;
  --sidebar: 248px;
  --content-width: 1380px;
}

* { box-sizing: border-box; }

html {
  min-width: 320px;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  scroll-behavior: smooth;
}

body { min-width: 320px; min-height: 100vh; margin: 0; background: var(--paper); font-size: 1rem; line-height: 1.6; }
button, input, select, textarea { font: inherit; }
button, select { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .48; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
svg { display: block; }
button { border: 0; }

:focus { outline: none; }
:focus-visible {
  outline: 3px solid #245d86;
  outline-offset: 3px;
  border-radius: 2px;
}

.skip-link {
  position: fixed;
  z-index: 100;
  top: 12px;
  left: 12px;
  min-height: 44px;
  align-items: center;
  padding: 10px 16px;
  color: #fffdf9;
  background: var(--graphite);
  font-size: .88rem;
  font-weight: 700;
  transform: translateY(-160%);
  transition: transform .18s ease;
}

.skip-link:focus-visible { transform: translateY(0); }

::selection { background: var(--accent-pale); color: var(--ink); }

.icon { width: 19px; height: 19px; flex: 0 0 auto; }
.shell { min-height: 100vh; }

.sidebar {
  position: fixed;
  z-index: 5;
  inset: 0 auto 0 0;
  display: flex;
  width: var(--sidebar);
  padding: 30px 18px 22px;
  flex-direction: column;
  background: var(--graphite);
  color: #f8f4e9;
  border-right: 1px solid #454641;
}

.brandmark { display: inline-flex; align-items: center; gap: 11px; min-height: 48px; padding: 3px 8px; }
.brandmark__symbol {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid #e6d8c5;
  border-radius: 50%;
  font-family: var(--serif);
  font-size: 1.38rem;
  line-height: 1;
}
.brandmark strong { display: block; font-size: 1rem; font-weight: 650; letter-spacing: -.025em; }
.brandmark small, .profile-mini small, .privacy-note small { display: block; margin-top: 2px; color: #c9c8c0; font-size: .75rem; line-height: 1.35; }

.quick-search-trigger { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; width: 100%; min-height: 44px; align-items: center; gap: 9px; padding: 0 12px; margin-top: 18px; color: #e2ddd2; background: rgb(255 255 255 / 6%); border: 1px solid #4d4e48; border-radius: 4px; text-align: left; font-size: .78rem; font-weight: 620; }
.quick-search-trigger:hover { color: #fffdf7; background: rgb(255 255 255 / 11%); }
.quick-search-trigger .icon { width: 17px; }
.quick-search-trigger kbd, .quick-search-input kbd { padding: 2px 5px; color: inherit; background: rgb(255 255 255 / 10%); border: 1px solid currentColor; border-radius: 3px; font-family: var(--sans); font-size: .68rem; line-height: 1.1; }
.nav-list { display: grid; gap: 4px; margin-top: 18px; }
.nav-link {
  position: relative;
  display: flex;
  min-height: 48px;
  align-items: center;
  gap: 13px;
  padding: 0 12px;
  color: #c8c7c0;
  border-radius: var(--radius);
  font-size: .91rem;
  font-weight: 530;
  transition: color .18s ease, background-color .18s ease;
}
.nav-link:hover { background: rgb(255 255 255 / 7%); color: #fffdf7; }
.nav-link.active { background: #f7f1e5; color: var(--graphite); }
.nav-link.active i { position: absolute; right: 10px; width: 5px; height: 5px; border-radius: 50%; background: var(--accent); }
.sidebar__bottom { display: grid; gap: 6px; margin-top: auto; }
.privacy-note { display: flex; gap: 10px; padding: 16px 12px 18px; color: #ddd8cc; border-bottom: 1px solid #474842; }
.privacy-note .icon { width: 17px; color: #ddb8a2; }
.privacy-note strong { display: block; font-size: .78rem; font-weight: 650; }
.profile-mini { display: flex; align-items: center; gap: 10px; padding: 14px 10px 0; }
.profile-mini strong { display: block; font-size: .81rem; font-weight: 600; }

.avatar { display: grid; width: 34px; height: 34px; flex: 0 0 34px; overflow: hidden; place-items: center; color: var(--accent-dark); background: #ead9c8; border-radius: 50%; font-size: .7rem; font-weight: 700; letter-spacing: .04em; }
.avatar img { width: 100%; height: 100%; object-fit: cover; }
.avatar--large { width: 46px; height: 46px; flex-basis: 46px; font-size: .8rem; }

.workspace { min-height: 100vh; margin-left: var(--sidebar); padding: clamp(35px, 4.4vw, 78px) clamp(30px, 5vw, 100px); }
#main-content:focus-visible { outline: none; }
.page { width: min(100%, var(--content-width)); margin: 0 auto; }
.narrow-page { max-width: 920px; }

.page-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding-bottom: clamp(24px, 3vw, 34px); margin-bottom: clamp(38px, 5vw, 72px); border-bottom: 1px solid var(--line-strong); }
.page-header > div { max-width: 760px; }
.eyebrow, .kicker, .mini-label, .meta-label {
  display: block;
  margin: 0 0 10px;
  color: var(--ink-soft);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .075em;
  line-height: 1.2;
  text-transform: uppercase;
}
.kicker { color: var(--accent-dark); }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { color: var(--ink); }
h1 { margin-bottom: 0; font-family: var(--serif); font-size: clamp(2.35rem, 4vw, 4.65rem); font-weight: 400; letter-spacing: -.045em; line-height: 1.06; text-wrap: balance; }
h1 em { color: var(--accent); font-weight: inherit; }
h2 { margin-bottom: 0; font-family: var(--serif); font-size: clamp(1.6rem, 2.4vw, 2.55rem); font-weight: 400; letter-spacing: -.035em; line-height: 1.14; text-wrap: balance; }
h3 { margin-bottom: 0; font-size: 1rem; letter-spacing: -.02em; line-height: 1.35; }
.page-subtitle { max-width: 680px; margin: 18px 0 0; color: var(--ink-soft); font-size: 1rem; line-height: 1.65; }

.button {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 10px 18px;
  border: 1px solid transparent;
  border-radius: var(--radius);
  font-size: .88rem;
  font-weight: 650;
  line-height: 1.2;
  transition: transform .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease;
}
.button .icon, .text-link .icon, .back-link .icon, .nav-link .icon { display: block; flex: 0 0 auto; width: 1.05em; height: 1.05em; }
.button:hover { transform: translateY(-1px); }
.button--primary { color: #fffdf9; background: var(--accent); border-color: var(--accent); }
.button--primary:hover { background: var(--accent-dark); border-color: var(--accent-dark); }
.button--quiet { color: var(--ink); background: transparent; border-color: var(--line-strong); }
.button--quiet:hover { background: var(--paper-strong); border-color: var(--ink-soft); }
.button--danger { color: #fff; background: var(--danger); border-color: var(--danger); }
.button--full { width: 100%; }
.integration-list { display: grid; gap: 0; border-top: 1px solid var(--line-strong); }
.integration-list > .integration-list { border-top: 0; }
.integration-disclosure { min-width: 0; border-bottom: 1px solid var(--line); background: var(--paper-strong); }
.integration-disclosure > summary { display: grid; grid-template-columns: minmax(0, 1fr) auto 18px; min-height: 82px; align-items: center; gap: 18px; padding: 15px 20px; cursor: pointer; list-style: none; }
.integration-disclosure > summary::-webkit-details-marker { display: none; }
.integration-disclosure > summary:hover { background: #f7f1e7; }
.integration-disclosure > summary:focus-visible { outline: none; box-shadow: inset 0 0 0 2px #245d86; }
.integration-disclosure__copy { display: grid; gap: 2px; min-width: 0; }
.integration-disclosure__copy strong { font-family: var(--serif); font-size: 1.25rem; font-weight: 400; line-height: 1.2; }
.integration-disclosure__copy small { color: var(--ink-soft); font-size: .78rem; line-height: 1.45; }
.connection-state { display: inline-flex; min-height: 28px; align-items: center; padding: 4px 9px; color: var(--ink-soft); background: var(--paper-muted); border-radius: 999px; font-size: .68rem; font-weight: 750; white-space: nowrap; }
.connection-state--ready { color: #fff; background: var(--success); }
.integration-disclosure__chevron { width: 10px; height: 10px; border-right: 2px solid var(--ink-soft); border-bottom: 2px solid var(--ink-soft); transform: rotate(45deg) translateY(-2px); transition: transform .18s ease; }
.integration-disclosure[open] .integration-disclosure__chevron { transform: rotate(225deg) translate(-2px, -2px); }
.integration-disclosure__body { padding: 8px 20px 28px; border-top: 1px solid var(--line); }
.integration-disclosure__body > h3 { margin: 24px 0 10px; font-family: var(--serif); font-size: 1.25rem; font-weight: 400; }
.connection-explainer { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, .72fr); gap: 24px; padding: 23px 0 4px; }
.connection-explainer p, .integration-panel__ownership { margin: 0; color: var(--ink-soft); font-size: .84rem; line-height: 1.58; }
.integration-panel__ownership { padding: 13px 14px; border-left: 3px solid var(--accent); background: var(--paper-muted); }
.connection-requirement { margin-top: 20px; padding: 14px 16px; background: #f2eadf; border: 1px solid var(--line); }
.connection-requirement strong { font-size: .8rem; }
.connection-requirement p { margin: 4px 0 0; color: var(--ink-soft); font-size: .8rem; line-height: 1.55; }
.setup-steps { display: grid; gap: 0; padding: 0; margin: 0 0 10px; list-style: none; counter-reset: setup-step; }
.setup-steps li { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 12px; align-items: center; min-height: 47px; padding: 10px 0; color: var(--ink-soft); border-bottom: 1px solid var(--line); counter-increment: setup-step; font-size: .84rem; line-height: 1.5; }
.setup-steps li::before { display: grid; width: 28px; height: 28px; place-items: center; color: #fff; background: var(--graphite); border-radius: 50%; content: counter(setup-step); font-size: .7rem; font-weight: 750; line-height: 1; }
.official-links { display: flex; flex-wrap: wrap; gap: 8px 22px; }
.connection-result { display: grid; gap: 10px; margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--line); }
.connection-result p { margin: 0; color: var(--ink-soft); font-size: .84rem; }
.connection-result .actions-row { margin-top: 6px; }
.connections-locked { padding: 22px; background: var(--paper-muted); border: 1px solid var(--line); }
.connections-locked h3,
.connections-locked h4 { margin: 0; font-family: var(--display); font-size: 1.08rem; font-weight: 600; letter-spacing: -.02em; }
.connections-locked p { margin: 8px 0 0; color: var(--ink-soft); font-size: .84rem; }
.integration-form small { color: var(--ink-soft); font-size: .75rem; line-height: 1.45; }
.integration-form { display: grid; gap: 14px; margin-top: 18px; }
.integration-form label { display: grid; gap: 7px; }
.integration-form label > span { color: var(--ink-soft); font-size: .8rem; font-weight: 700; }
.integration-form .button { width: fit-content; }
.integration-disclosure .button { max-width: 100%; white-space: nowrap; }
.integration-panel__ownership strong { display: block; margin-bottom: 4px; color: var(--ink); font-size: .78rem; }
.genapi-media-generator { margin: 24px 0; }
.genapi-generation-result { display: grid; gap: 12px; margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
.genapi-generation-result img, .genapi-generation-result video { width: min(100%, 520px); max-height: 420px; object-fit: cover; background: var(--paper-muted); }
.genapi-generation-result audio { width: min(100%, 520px); }
.release-telemost { display: grid; gap: 7px; padding: 8px 0; }
.release-telemost a { color: var(--accent-dark); font-size: .8rem; font-weight: 700; overflow-wrap: anywhere; }
.release-meeting-create { display: inline-flex; align-items: center; gap: 8px; padding: 8px 0; }
.release-meeting-create select { min-height: 44px; }
.icon-button { display: inline-grid; width: 44px; min-width: 44px; height: 44px; place-items: center; padding: 0; color: var(--ink-soft); background: transparent; border: 1px solid transparent; border-radius: 50%; transition: color .18s ease, background-color .18s ease, border-color .18s ease; }
.icon-button:hover { color: var(--ink); background: var(--paper-muted); border-color: var(--line); }
.text-link { display: inline-flex; min-height: 44px; align-items: center; gap: 9px; padding: 5px 0; color: var(--accent-dark); background: transparent; font-size: .88rem; font-weight: 700; text-align: left; }
.text-link:hover { color: var(--accent); }
.text-link .icon { transition: transform .18s ease; }
.text-link:hover .icon { transform: translateX(3px); }

.focus-card { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(180px, .45fr); gap: clamp(28px, 5vw, 80px); align-items: center; padding: clamp(28px, 4vw, 56px); background: var(--paper-strong); border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line-strong); }
.focus-card__copy { max-width: 720px; }
.focus-card h2 { max-width: 650px; margin: 9px 0 18px; }
.focus-card p { max-width: 640px; margin-bottom: 19px; color: var(--ink-soft); line-height: 1.65; }
.progress-orbit { display: grid; width: clamp(132px, 13vw, 182px); aspect-ratio: 1; justify-self: end; place-items: center; border-radius: 50%; background: conic-gradient(var(--accent) var(--progress), var(--paper-muted) 0); }
.progress-orbit::before { content: ""; grid-area: 1 / 1; width: calc(100% - 13px); height: calc(100% - 13px); border-radius: inherit; background: var(--paper-strong); }
.progress-orbit > div { position: relative; z-index: 1; display: grid; gap: 4px; text-align: center; }
.progress-orbit strong { font-family: var(--serif); font-size: 2rem; font-weight: 400; }
.progress-orbit span { color: var(--ink-soft); font-size: .75rem; }

.dashboard-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(24px, 3vw, 48px); margin-top: clamp(34px, 5vw, 70px); }
.panel { min-width: 0; padding: 0 0 24px; border-bottom: 1px solid var(--line-strong); }
.panel__head, .section-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding-bottom: 21px; border-bottom: 1px solid var(--line); }
.panel__head .kicker, .section-head .kicker { margin-bottom: 6px; }
.panel__head > a { min-height: 44px; padding: 7px 0; color: var(--accent-dark); font-size: .82rem; font-weight: 700; }
.panel__head > span, .section-head > span { color: var(--ink-soft); font-family: var(--serif); font-size: 1.25rem; }
.next-session { display: grid; grid-template-columns: 57px 1fr; gap: 18px; align-items: center; padding: 25px 0; border-bottom: 1px solid var(--line); }
.date-block { display: grid; min-height: 58px; place-content: center; color: #fffaf4; background: var(--graphite); text-align: center; }
.date-block strong { font-family: var(--serif); font-size: 1.55rem; font-weight: 400; line-height: .9; }
.date-block span { margin-top: 5px; font-size: .75rem; letter-spacing: .04em; text-transform: uppercase; }
.next-session p, .client-row p { margin: 5px 0 8px; color: var(--ink-soft); font-size: .84rem; line-height: 1.45; }
.status { display: inline-flex; min-height: 28px; align-items: center; padding: 4px 9px; color: var(--ink-soft); background: var(--paper-muted); border: 1px solid var(--line); border-radius: 999px; font-size: .75rem; font-weight: 700; line-height: 1.15; }
.status--active { color: #1d5039; background: #d8e9d8; }
.stat-row { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; padding-top: 23px; }
.stat-row > div + div { padding-left: 16px; border-left: 1px solid var(--line); }
.stat-row strong { display: block; font-family: var(--serif); font-size: 2rem; font-weight: 400; letter-spacing: -.04em; }
.stat-row span { display: block; max-width: 115px; margin-top: 3px; color: var(--ink-soft); font-size: .73rem; line-height: 1.35; }
.empty-inline { padding: 35px 0; color: var(--ink-soft); border-bottom: 1px solid var(--line); font-size: .9rem; }
.onboarding-card__intro { max-width: 65ch; margin: 17px 0 10px; color: var(--ink-soft); font-size: .86rem; line-height: 1.55; }
.practice-rule-list { display: grid; }
.practice-rule { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; gap: 15px; align-items: center; min-height: 108px; padding: 17px 0; border-bottom: 1px solid var(--line); }
.practice-rule__icon { display: grid; width: 42px; height: 42px; place-items: center; color: var(--accent-dark); background: var(--accent-pale); border-radius: 13px; }
.practice-rule__icon .icon { width: 20px; height: 20px; }
.practice-rule h3 { margin: 7px 0 4px; font-size: .98rem; }
.practice-rule p { max-width: 62ch; margin: 0; color: var(--ink-soft); font-size: .8rem; line-height: 1.45; }
.practice-rule__actions { display: grid; justify-items: end; gap: 3px; min-width: 180px; }
.practice-rule__actions .text-link { min-height: 32px; font-size: .74rem; }
.practice-rule.is-done .practice-rule__icon { color: #fff; background: var(--success); }
.practice-rules-editor { width: 100%; }
.practice-rules-editor form { display: grid; gap: 16px; margin-top: 22px; }
.practice-rules-editor label { display: grid; gap: 7px; }
.practice-rules-editor label > span { color: var(--ink-soft); font-size: .78rem; font-weight: 700; }
.practice-paths { padding: clamp(24px, 4vw, 38px); margin-bottom: 26px; background: var(--paper-strong); border: 1px solid var(--line); border-radius: var(--radius-surface); box-shadow: var(--shadow); }
.practice-paths > header { max-width: 760px; }
.practice-paths > header h2 { margin: 7px 0 10px; }
.practice-paths > header p { margin: 0; color: var(--ink-soft); font-size: .84rem; line-height: 1.6; }
.practice-paths > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 26px; }
.practice-paths article { display: grid; grid-template-columns: 42px minmax(0, 1fr); align-content: start; gap: 14px; min-height: 250px; padding: 20px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-surface); }
.practice-paths article.is-current { background: #eef2ff; border-color: #d8e0ff; }
.practice-paths article > span { display: grid; width: 42px; height: 42px; place-items: center; color: var(--accent-dark); background: var(--accent-pale); border-radius: var(--radius-control); }
.practice-paths article > span .icon { width: 19px; }
.practice-paths article small { color: var(--accent-dark); font-size: .68rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.practice-paths article h3 { margin: 6px 0 8px; font-size: 1.05rem; }
.practice-paths article p { margin: 0; color: var(--ink-soft); font-size: .78rem; line-height: 1.5; }
.practice-paths article .button { grid-column: 1 / -1; align-self: end; width: 100%; margin-top: 12px; }
.own-documents-note { display: grid; grid-template-columns: 46px minmax(0, 1fr) auto; align-items: center; gap: 18px; padding: 22px; margin: 20px 0 26px; background: #eef2ff; border: 1px solid #d8e0ff; border-radius: var(--radius-surface); }
.own-documents-note > span { display: grid; width: 46px; height: 46px; place-items: center; color: var(--accent-dark); background: #fff; border-radius: var(--radius-control); }
.own-documents-note small { color: var(--accent-dark); font-size: .68rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.own-documents-note h2 { margin: 5px 0 7px; font-size: 1.15rem; }
.own-documents-note p { margin: 0; color: var(--ink-soft); font-size: .78rem; line-height: 1.5; }
.brand-strip { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: clamp(45px, 7vw, 105px); padding: 31px 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.brand-strip blockquote { max-width: 980px; margin: 0; font-family: var(--serif); font-size: clamp(1.35rem, 2.1vw, 2.1rem); letter-spacing: -.035em; line-height: 1.2; }
.round-link { display: grid; width: 48px; height: 48px; flex: 0 0 48px; place-items: center; color: #fff; background: var(--graphite); border-radius: 50%; }
.round-link:hover { background: var(--accent); }

.interview-page { max-width: 1000px; padding-top: clamp(5px, 2vw, 24px); }
.interview-head { display: grid; grid-template-columns: 1fr minmax(190px, 320px) 1fr; align-items: center; margin-bottom: clamp(35px, 5vw, 70px); }
.back-link, .autosave { display: inline-flex; min-height: 44px; align-items: center; gap: 8px; color: var(--ink-soft); font-size: .8rem; font-weight: 650; }
.back-link:hover { color: var(--accent-dark); }
.autosave { justify-self: end; color: var(--success); }
.autosave .icon { width: 15px; }
.step-counter { color: var(--ink-soft); font-size: .75rem; font-weight: 700; letter-spacing: .045em; text-align: center; text-transform: uppercase; }
.step-counter > div { height: 3px; margin-top: 10px; overflow: hidden; background: var(--paper-muted); border-radius: 99px; }
.step-counter i { display: block; height: 100%; background: var(--accent); transition: width .25s ease; }
.interview-card { padding: clamp(30px, 5vw, 72px); background: var(--paper-strong); border-top: 1px solid var(--ink); box-shadow: var(--shadow); }
.interview-card h1 { max-width: 730px; margin: 9px 0 18px; font-size: clamp(2rem, 3.5vw, 3.45rem); }
.interview-card > p { max-width: 650px; margin-bottom: 28px; color: var(--ink-soft); line-height: 1.6; }
textarea, input, select { width: 100%; color: var(--ink); background: #fffefa; border: 1px solid var(--line-strong); border-radius: 0; font-size: .94rem; line-height: 1.55; transition: border-color .18s ease, box-shadow .18s ease; }
textarea { display: block; min-height: 110px; padding: 14px 15px; resize: vertical; }
input, select { min-height: 46px; padding: 9px 12px; }
select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--ink-soft) 50%), linear-gradient(135deg, var(--ink-soft) 50%, transparent 50%); background-position: calc(100% - 18px) 19px, calc(100% - 13px) 19px; background-repeat: no-repeat; background-size: 5px 5px; padding-right: 38px; }
textarea::placeholder, input::placeholder { color: var(--ink-faint); opacity: 1; }
textarea:focus, input:focus, select:focus, textarea:focus-visible, input:focus-visible, select:focus-visible { outline: none; border-color: var(--accent-dark); box-shadow: inset 0 0 0 1px var(--accent), inset 0 -3px 0 var(--accent); }
input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus { -webkit-text-fill-color: var(--ink); box-shadow: 0 0 0 1000px #fffefa inset, inset 0 -3px 0 var(--accent); transition: background-color 9999s ease-out; caret-color: var(--ink); }
.interview-card__foot { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 16px; margin-top: 25px; }
.interview-card__foot > span { color: var(--ink-faint); font-size: .76rem; text-align: center; }
.interview-card__actions { display: flex; justify-content: flex-end; gap: 9px; }
.interview-assurance, .form-assurance { display: flex; align-items: flex-start; gap: 8px; margin: 21px 0 0; color: var(--ink-soft); font-size: .76rem; line-height: 1.5; }
.interview-assurance .icon, .form-assurance .icon { width: 15px; margin-top: 1px; color: var(--success); }

.interview-overview-page { max-width: 1180px; }
.interview-overview-progress { display: grid; min-width: 170px; align-self: end; justify-items: end; }
.interview-overview-progress strong { color: var(--accent-dark); font-family: var(--serif); font-size: clamp(2rem, 4vw, 3.2rem); font-weight: 500; line-height: 1; }
.interview-overview-progress span { margin-top: 7px; color: var(--ink-soft); font-size: .78rem; }
.interview-overview-guide { display: grid; grid-template-columns: repeat(3, 1fr); margin-bottom: 28px; background: var(--paper-strong); border: 1px solid var(--line); border-radius: var(--radius-surface); box-shadow: var(--shadow); }
.interview-overview-guide article { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 12px; min-height: 112px; padding: 22px; }
.interview-overview-guide article + article { border-left: 1px solid var(--line); }
.interview-overview-guide article > span { color: var(--accent-dark); font-family: var(--serif); font-size: 1rem; }
.interview-overview-guide h2 { margin: 0 0 6px; font-size: 1rem; }
.interview-overview-guide p { margin: 0; color: var(--ink-soft); font-size: .79rem; line-height: 1.5; }
.interview-block-list { display: grid; gap: 14px; }
.interview-block { overflow: hidden; background: var(--paper-strong); border: 1px solid var(--line); border-radius: var(--radius-surface); box-shadow: var(--shadow); }
.interview-block > summary { display: grid; grid-template-columns: 46px minmax(0, 1fr) 24px; align-items: center; gap: 15px; min-height: 86px; padding: 17px 22px; cursor: pointer; list-style: none; }
.interview-block > summary::-webkit-details-marker { display: none; }
.interview-block > summary > span { color: var(--accent-dark); font-family: var(--serif); font-size: 1.25rem; }
.interview-block > summary small { display: block; margin-bottom: 3px; color: var(--ink-soft); font-size: .72rem; }
.interview-block > summary h2 { margin: 0; font-size: 1.2rem; }
.interview-block > summary > b { display: grid; place-items: center; color: var(--ink-soft); transition: transform .18s ease; }
.interview-block[open] > summary > b { transform: rotate(90deg); }
.interview-question-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line); }
.interview-question-list button { display: grid; grid-template-columns: 36px minmax(0, 1fr) 20px; align-items: start; gap: 11px; min-height: 112px; padding: 18px 20px; color: var(--ink); background: #fff; border: 0; text-align: left; }
.interview-question-list button:nth-child(even) { border-left: 1px solid var(--line); }
.interview-question-list button:nth-child(n + 3) { border-top: 1px solid var(--line); }
.interview-question-list button:hover { background: var(--paper-muted); }
.interview-question-list button > span { color: var(--ink-faint); font-family: var(--serif); font-size: .92rem; }
.interview-question-list button strong, .interview-question-list button small { display: block; }
.interview-question-list button strong { font-size: .86rem; line-height: 1.45; }
.interview-question-list button small { margin-top: 7px; color: var(--ink-soft); font-size: .72rem; line-height: 1.35; }
.interview-question-list button > .icon { width: 17px; color: var(--ink-faint); }
.interview-question-list button.is-ready > .icon { color: var(--success); }
.interview-overview-actions { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 28px; margin-top: 26px; background: #eef2ff; border: 1px solid #dbe2ff; border-radius: var(--radius-surface); }
.interview-overview-actions h2 { margin: 6px 0 8px; font-size: 1.35rem; }
.interview-overview-actions p { margin: 0; color: var(--ink-soft); font-size: .8rem; }
.interview-overview-actions > div:last-child { display: grid; justify-items: end; gap: 8px; flex: 0 0 auto; }

.result-hero { display: flex; gap: clamp(20px, 4vw, 48px); align-items: flex-start; padding: clamp(30px, 4vw, 55px) 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line-strong); }
.result-hero__mark { display: grid; width: 46px; height: 46px; flex: 0 0 46px; place-items: center; color: #fff; background: var(--success); border-radius: 50%; }
.result-hero__mark .icon { width: 23px; height: 23px; }
.result-hero h2 { max-width: 680px; margin: 7px 0 13px; }
.result-hero p { max-width: 680px; margin: 0; color: var(--ink-soft); line-height: 1.65; }
.result-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 34px; border-top: 1px solid var(--line-strong); }
.result-card { min-height: 160px; padding: 21px 22px 21px 0; border-bottom: 1px solid var(--line-strong); }
.result-card + .result-card { padding-left: 22px; border-left: 1px solid var(--line-strong); }
.result-card span { display: block; color: var(--accent-dark); font-size: .75rem; font-weight: 700; }
.result-card p { margin: 13px 0 0; font-family: var(--serif); font-size: 1.15rem; letter-spacing: -.02em; line-height: 1.35; }
.actions-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }

.demo-info-steps { display: grid; gap: 12px; margin: 22px 0; padding: 0; list-style: none; }
.demo-info-steps li { display: grid; grid-template-columns: 32px 1fr; gap: 10px; align-items: center; min-height: 48px; padding: 10px 0; border-bottom: 1px solid var(--line); color: var(--ink-soft); font-size: .86rem; line-height: 1.45; }
.demo-info-steps b { color: var(--accent-dark); font-family: var(--serif); font-size: 1.08rem; font-weight: 400; }

.editor-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 370px); gap: clamp(35px, 7vw, 110px); align-items: start; }
.editor-stack { display: grid; gap: 27px; }
.editor-field, .settings-card label, .content-generator label, .dialog__form label { display: grid; gap: 8px; }
.editor-field > span, .settings-card label > span, .content-generator label > span, .dialog__form label > span { color: var(--ink-soft); font-size: .8rem; font-weight: 700; line-height: 1.4; }
.editor-field textarea { min-height: 102px; }
.brand-preview { position: sticky; top: 30px; padding: 26px; background: var(--graphite); color: #f7f1e7; }
.brand-preview .kicker, .brand-preview .mini-label { color: #d7bca8; }
.portrait-placeholder { display: grid; width: 86px; height: 86px; margin: 26px 0 18px; place-items: center; color: var(--accent-dark); background: #e8d4be; border-radius: 50%; font-family: var(--serif); font-size: 2rem; }
.brand-preview h2 { margin-bottom: 10px; color: #fffaf1; font-size: 2rem; }
.brand-preview p { color: #d5d1c8; font-size: .9rem; line-height: 1.6; }
.visual-guidance { padding: 17px 0; margin-top: 20px; border-top: 1px solid #4c4d47; border-bottom: 1px solid #4c4d47; }
.visual-guidance p { margin: 7px 0; }
.visual-guidance small { color: #c9c7bf; font-size: .75rem; line-height: 1.5; }
.color-field { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 0; margin-top: 24px; border-top: 1px solid #4c4d47; }
.color-field label { color: #e7e0d4; font-size: .78rem; font-weight: 700; }
.color-field input { width: 44px; height: 36px; min-height: 36px; padding: 3px; cursor: pointer; background: transparent; border-color: #76766e; }

.site-studio { display: grid; grid-template-columns: minmax(0, 1fr) minmax(440px, 1.2fr); gap: 28px; padding: clamp(28px, 4vw, 48px); color: #fffaf1; background: var(--graphite); border-top: 3px solid var(--accent); }
.site-studio__status h2 { margin: 14px 0 9px; color: #fffaf1; font-size: clamp(1.8rem, 3vw, 3rem); }
.site-studio__status p { max-width: 520px; margin: 0; color: #c9c5bc; font-size: .78rem; line-height: 1.55; }
.site-readiness { display: grid; grid-template-columns: repeat(3, 1fr); align-self: stretch; border-left: 1px solid #50514b; }
.site-readiness article { display: grid; align-content: center; gap: 9px; padding: 18px 25px; border-right: 1px solid #50514b; }
.site-readiness b { color: #f1c6b5; font-family: var(--serif); font-size: clamp(1.8rem, 3vw, 2.8rem); font-weight: 400; }
.site-readiness span { color: #c9c5bc; font-size: .7rem; line-height: 1.45; }
.domain-card { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(310px, .8fr); gap: clamp(30px, 5vw, 70px); padding: clamp(28px, 4vw, 48px); margin-top: 24px; background: #e7dbc8; border: 1px solid #d2c2aa; }
.domain-card h2 { margin: 7px 0 12px; }
.domain-card p { max-width: 680px; margin: 0; color: var(--ink-soft); font-size: .84rem; line-height: 1.65; }
.data-home-note { display: flex; gap: 9px; align-items: flex-start; margin-top: 20px; color: #4d5b4d; font-size: .73rem; font-weight: 650; line-height: 1.45; }
.data-home-note .icon { width: 18px; min-width: 18px; }
.domain-form { display: grid; align-content: center; gap: 12px; }
.domain-form label { display: grid; gap: 7px; }
.domain-form label span { color: var(--ink-soft); font-size: .78rem; font-weight: 700; }
.domain-form small { color: var(--ink-soft); font-size: .75rem; line-height: 1.45; }
.site-copy-summary { padding: 28px 0 8px; }
.site-copy-summary > div { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 16px; border-top: 1px solid var(--line-strong); }
.site-copy-summary article { display: flex; min-height: 68px; align-items: center; gap: 10px; padding: 12px 16px; border-right: 1px solid var(--line); }
.site-copy-summary article:last-child { border-right: 0; }
.site-copy-summary article b { color: var(--success); }
.site-copy-summary article .icon { width: 18px; }
.site-copy-summary article span { font-size: .78rem; line-height: 1.45; }
.site-preview-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin: clamp(45px, 6vw, 75px) 0 22px; }
.site-preview-head h2 { margin-top: 7px; }
.preview-switch { display: flex; padding: 4px; background: var(--paper-strong); border: 1px solid var(--line-strong); }
.preview-switch button { min-height: 44px; padding: 7px 13px; color: var(--ink-soft); background: transparent; font-size: .75rem; font-weight: 700; }
.preview-switch button.is-active { color: #fff; background: var(--graphite); }
.browser-frame { overflow: hidden; background: #fff; border: 1px solid var(--line-strong); box-shadow: var(--shadow); transition: width .28s ease; }
.browser-frame--mobile { width: min(430px, 100%); margin-inline: auto; }
.browser-frame--mobile .public-site nav { min-height: 58px; padding: 0 21px; }
.browser-frame--mobile .public-site nav span { display: none; }
.browser-frame--mobile .public-hero { grid-template-columns: 1fr; padding: 49px 22px; }
.browser-frame--mobile .public-portrait { grid-row: 1; }
.browser-frame--mobile .public-portrait-art { width: 190px; }
.browser-frame--mobile .public-portrait p { display: none; }
.browser-frame--mobile .public-values, .browser-frame--mobile .public-cards, .browser-frame--mobile .public-process, .browser-frame--mobile .public-themes > div { grid-template-columns: 1fr; }
.browser-frame--mobile .public-values span { padding: 13px 22px; }
.browser-frame--mobile .public-values span + span { border-top: 1px solid #d8d0c2; border-left: 0; }
.browser-frame--mobile .public-section { padding: 44px 22px; }
.browser-frame--mobile .public-cards article, .browser-frame--mobile .public-process article { min-height: auto; padding: 20px 0; border-bottom: 1px solid #d8d0c2; }
.browser-frame--mobile .public-cards article + article, .browser-frame--mobile .public-process article + article { padding-left: 0; border-left: 0; }
.browser-frame--mobile .public-themes article { min-height: auto; }
.browser-frame--mobile .public-approach { grid-template-columns: 1fr; padding: 44px 22px; }
.browser-frame--mobile .public-cta { display: grid; padding: 36px 22px; }
.browser-frame--mobile .public-footer { grid-template-columns: 1fr; gap: 8px; padding: 25px 22px; }
.browser-bar { display: flex; min-height: 45px; align-items: center; gap: 7px; padding: 0 15px; background: #ece9e2; border-bottom: 1px solid #d7d3cb; }
.browser-bar > span { width: 9px; height: 9px; border: 1px solid #bcb7ad; border-radius: 50%; }
.browser-bar > div { min-width: 0; max-width: 460px; margin-left: 12px; overflow: hidden; color: #5f5e57; font-size: .75rem; text-overflow: ellipsis; white-space: nowrap; }
.public-site { color: #2e2d29; background: #f8f5ed; font-family: var(--sans); }
.public-site nav { display: flex; min-height: 72px; align-items: center; justify-content: space-between; gap: 18px; max-width: 1160px; padding: 0 42px; margin: auto; border-bottom: 1px solid #d8d0c2; }
.public-site nav strong { font-family: var(--serif); font-size: 1.25rem; font-weight: 400; }
.public-site nav span { margin-left: auto; color: #625e55; font-size: .75rem; }
.public-site button { min-height: 44px; padding: 7px 14px; color: #fffaf5; background: var(--accent); font-size: .75rem; font-weight: 700; }
.public-hero { display: grid; grid-template-columns: 1.1fr .72fr; gap: clamp(30px, 6vw, 100px); max-width: 1160px; padding: clamp(45px, 8vw, 105px) 42px; margin: auto; }
.public-hero__copy > span { color: var(--accent-dark); font-size: .75rem; font-weight: 700; }
.public-hero h2 { max-width: 640px; margin: 15px 0 22px; font-size: clamp(2rem, 4.1vw, 4.5rem); }
.public-hero__copy > p { max-width: 570px; color: #625e55; font-size: .95rem; line-height: 1.7; }
.public-hero__copy > div { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; margin-top: 27px; }
.public-hero small { color: #69645b; font-size: .75rem; }
.public-portrait { display: grid; align-content: center; }
.public-portrait-art { position: relative; display: grid; width: min(100%, 320px); aspect-ratio: .82; place-items: center; overflow: hidden; background: linear-gradient(145deg, #d9c9b2 0 58%, #bd6f5a 58%); }
.public-portrait-art::before { content: ""; position: absolute; width: 67%; aspect-ratio: 1; background: #efe6d7; border-radius: 50% 50% 42% 42%; transform: translateY(25%); }
.public-portrait-art i { position: absolute; z-index: 1; width: 38%; aspect-ratio: .78; background: #62544a; border-radius: 50% 50% 45% 45%; transform: translateY(-25%); }
.public-portrait-art span { position: relative; z-index: 2; display: grid; width: 38%; aspect-ratio: 1; place-items: center; color: #fff8ef; background: rgb(47 48 44 / 82%); border-radius: 50%; font-family: var(--serif); font-size: 2.25rem; }
.public-portrait-art small { position: absolute; z-index: 3; right: 14px; bottom: 14px; padding: 7px 9px; color: #3c332d; background: #f8f1e6; font-size: .62rem; font-weight: 700; }
.public-portrait p { max-width: 280px; margin: 17px 0 0; color: #625e55; font-family: var(--serif); font-size: 1.05rem; line-height: 1.35; }
.public-values { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #d8d0c2; }
.public-values span { padding: 22px 42px; color: #625e55; font-size: .75rem; text-align: center; }
.public-values span + span { border-left: 1px solid #d8d0c2; }
.public-section { max-width: 1160px; padding: clamp(48px, 7vw, 90px) 42px; margin: auto; border-top: 1px solid #d8d0c2; }
.public-section > h3 { max-width: 760px; margin: 11px 0 17px; font-family: var(--serif); font-size: clamp(1.8rem, 3vw, 3rem); font-weight: 400; }
.public-section > p { max-width: 800px; color: #625e55; line-height: 1.75; }
.public-themes > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 28px; }
.public-themes article { min-height: 210px; padding: 24px; background: #eee7dc; }
.public-themes article:nth-child(2) { background: #dcc7b8; }
.public-themes article:nth-child(3) { background: #d9ddcf; }
.public-themes article:nth-child(2) p { color: #4a4038; }
.public-themes b { color: var(--accent-dark); font-family: var(--serif); font-size: 1.35rem; font-weight: 400; }
.public-themes h3 { margin: 32px 0 10px; font-family: var(--serif); font-size: 1.35rem; font-weight: 400; }
.public-themes p { margin: 0; color: #625e55; font-size: .82rem; line-height: 1.6; }
.public-cards, .public-process { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 28px; border-top: 1px solid #d8d0c2; }
.public-cards article, .public-process article { min-height: 180px; padding: 24px 22px 24px 0; }
.public-cards article + article, .public-process article + article { padding-left: 22px; border-left: 1px solid #d8d0c2; }
.public-cards h3, .public-process h3, .public-cta h3 { font-family: var(--serif); font-size: 1.25rem; font-weight: 400; }
.public-cards p, .public-process p { color: #625e55; font-size: .76rem; line-height: 1.6; }
.public-cards small { color: var(--accent-dark); font-size: .75rem; font-weight: 700; }
.public-process { grid-template-columns: repeat(4, 1fr); }
.public-process b { display: block; margin-bottom: 18px; color: var(--accent); font-family: var(--serif); font-size: 1.45rem; font-weight: 400; }
.public-approach { display: grid; grid-template-columns: 140px minmax(0, 1fr) 220px; gap: 30px; align-items: start; padding: clamp(45px, 7vw, 88px) 42px; color: #fff8ef; background: #9a4c3c; }
.public-approach > span { font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.public-approach blockquote { margin: 0; font-family: var(--serif); font-size: clamp(1.55rem, 3vw, 2.9rem); line-height: 1.18; }
.public-approach p { margin: 0; color: #fff1e5; font-size: .82rem; line-height: 1.6; }
.public-faq { border-top: 1px solid #d8d0c2; }
.public-faq details { border-bottom: 1px solid #d8d0c2; }
.public-faq summary { padding: 19px 0; cursor: pointer; font-family: var(--serif); font-size: 1.05rem; }
.public-faq p { max-width: 780px; padding-bottom: 19px; margin: 0; color: #625e55; font-size: .8rem; line-height: 1.65; }
.public-cta { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: clamp(35px, 5vw, 65px) 42px; color: #fffaf5; background: #2f302c; }
.public-cta h3 { margin: 8px 0; color: #fffaf5; font-size: clamp(1.5rem, 2.5vw, 2.4rem); }
.public-cta p { max-width: 620px; margin: 0; color: #ccc7bd; font-size: .78rem; line-height: 1.6; }
.public-cta .kicker { color: #efc7b7; }
.public-footer { display: grid; grid-template-columns: 1fr auto auto; gap: 24px; align-items: center; min-height: 90px; padding: 25px 42px; color: #c9c5bc; background: #262722; font-size: .7rem; }
.public-footer strong { color: #fff8ef; font-family: var(--serif); font-size: 1rem; font-weight: 400; }

.content-generator { display: grid; grid-template-columns: minmax(220px, 1.5fr) minmax(220px, 1fr) minmax(160px, .6fr) auto; gap: 18px; align-items: end; padding: 28px; background: var(--paper-strong); border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line-strong); }
.content-generator h2 { margin-top: 5px; font-size: 1.45rem; }
.section-head { margin-top: clamp(45px, 6vw, 82px); }
.content-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 24px; }
.content-card { display: flex; min-width: 0; min-height: 270px; flex-direction: column; padding: 25px 0; border-bottom: 1px solid var(--line-strong); }
.content-card > div, .content-card footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.content-card .icon-button { width: 38px; min-width: 38px; height: 38px; }
.channel { color: var(--accent-dark); font-size: .75rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.content-card h3 { margin: 17px 0 10px; font-family: var(--serif); font-size: 1.4rem; font-weight: 400; line-height: 1.18; }
.content-card > p { display: -webkit-box; overflow: hidden; margin-bottom: 18px; color: var(--ink-soft); font-size: .84rem; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.content-card footer { margin-top: auto; }
.content-card footer button { min-height: 44px; padding: 7px 0; color: var(--ink-soft); background: transparent; font-size: .78rem; text-decoration: underline; text-underline-offset: 3px; }
.content-card footer button:hover { color: var(--danger); }
.calendar-strip { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 20px; border-top: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-strong); }
.calendar-strip > div { display: grid; gap: 6px; min-height: 116px; align-content: center; padding: 18px; }
.calendar-strip > div + div { border-left: 1px solid var(--line); }
.calendar-strip span, .calendar-strip small { color: var(--ink-soft); font-size: .69rem; }
.calendar-strip strong { font-family: var(--serif); font-size: 1.1rem; font-weight: 400; }

.client-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(200px, 1.3fr); align-items: stretch; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line-strong); }
.client-summary > div { display: grid; align-content: center; min-height: 130px; padding: 23px; }
.client-summary > div + div, .client-summary p { border-left: 1px solid var(--line-strong); }
.client-summary span { color: var(--ink-soft); font-size: .72rem; }
.client-summary strong { margin-top: 7px; font-family: var(--serif); font-size: 2.6rem; font-weight: 400; }
.client-summary p { display: flex; align-items: center; gap: 9px; padding: 20px 23px; margin: 0; color: var(--ink-soft); font-size: .79rem; line-height: 1.45; }
.client-summary p .icon { width: 17px; flex: 0 0 17px; color: var(--success); }
.client-list { margin-top: 25px; }
.client-row { display: grid; grid-template-columns: 46px minmax(150px, 1.2fr) minmax(150px, 1fr) minmax(90px, .65fr) minmax(150px, 1.2fr) 132px; gap: 18px; align-items: center; padding: 18px 0; border-bottom: 1px solid var(--line); }
.client-row__name h2 { font-family: var(--serif); font-size: 1.22rem; font-weight: 400; }
.client-row > div > strong { display: block; font-size: .82rem; line-height: 1.35; }
.meta-label { margin-bottom: 5px; color: #53554d; font-size: .75rem; }
.client-row__note { margin: 0 !important; font-size: .78rem !important; }
.client-row__actions, .session-row__actions { display: flex; align-items: center; justify-content: flex-end; gap: 2px; }
.session-list { border-top: 1px solid var(--line-strong); }
.session-row { display: grid; grid-template-columns: minmax(180px, 1.3fr) minmax(110px, .5fr) minmax(100px, .5fr) minmax(260px, 1.2fr); gap: 18px; align-items: center; min-height: 92px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.session-row h3 { font-family: var(--serif); font-size: 1.08rem; font-weight: 400; }
.session-row p { margin: 5px 0 0; color: var(--ink-soft); font-size: .76rem; }
.session-row__actions .button { min-height: 38px; padding: 7px 10px; font-size: .72rem; }

.practice-grid, .supervision-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(24px, 4vw, 52px); align-items: start; }
.practice-grid .settings-card { height: 100%; margin: 0; }
.onboarding-card .panel__head > strong { font-family: var(--serif); font-size: 1.6rem; font-weight: 400; }
.reminder-list { display: grid; gap: 14px; margin-top: 24px; }
.reminder-list article { padding: 16px 0; border-top: 1px solid var(--line); }
.reminder-list article > span, .reminder-list article > small { color: var(--ink-soft); font-size: .75rem; font-weight: 650; }
.reminder-list article > p { margin: 8px 0; color: var(--ink); font-size: .82rem; line-height: 1.55; }
.legal-notice { display: flex; align-items: flex-start; gap: 9px; padding: 14px 0; color: var(--ink-soft); font-size: .77rem; line-height: 1.5; }
.legal-notice .icon { width: 16px; flex: 0 0 16px; color: var(--success); }
.document-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; }
.document-card { display: grid; grid-template-columns: 35px 1fr 44px; gap: 14px; align-items: center; min-height: 92px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.document-card > span { display: grid; width: 35px; height: 35px; place-items: center; color: var(--accent-dark); background: var(--accent-pale); border-radius: 50%; }
.document-card > span .icon { width: 17px; }
.document-card h3 { font-family: var(--serif); font-size: 1.05rem; font-weight: 400; }
.document-card p { margin: 4px 0 0; color: var(--danger); font-size: .75rem; }
.request-list { border-top: 1px solid var(--line-strong); }
.request-card { display: grid; grid-template-columns: minmax(220px, 1fr) auto auto; gap: 20px; align-items: center; padding: 19px 0; border-bottom: 1px solid var(--line); }
.request-card p { margin: 6px 0 0; color: var(--ink-soft); font-size: .78rem; line-height: 1.5; }
.request-card .actions-row { margin-top: 0; }
.generated-document { margin-top: 30px; }

.metrics-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); background: var(--paper-strong); border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line-strong); box-shadow: 0 12px 30px rgb(53 44 31 / 6%); }
.metric-card { display: grid; min-height: 155px; align-content: center; padding: 23px; }
.metric-card + .metric-card { border-left: 1px solid var(--line); }
.metric-card > span, .metric-card > small { color: var(--ink-soft); font-size: .78rem; line-height: 1.45; }
.metric-card > strong { margin: 10px 0 7px; font-family: var(--serif); font-size: clamp(1.65rem, 2.6vw, 2.75rem); font-weight: 400; letter-spacing: -.045em; }
.finance-advice { align-items: flex-start; }
.finance-advice > .icon { width: 42px; height: 42px; color: var(--accent); }
.finance-advice p { max-width: 68ch; margin: 14px 0 0; color: var(--ink-soft); font-size: .82rem; line-height: 1.55; }
.supervision-layout { margin-top: clamp(42px, 6vw, 82px); }
.reflection-form { display: grid; gap: 17px; }
.reflection-form > p { margin-bottom: 4px; }
.reflection-result { position: sticky; top: 28px; }
.reflection-result section { padding: 17px 0; border-bottom: 1px solid var(--line); }
.reflection-result ul { display: grid; gap: 7px; padding-left: 18px; margin: 0; color: var(--ink-soft); font-size: .82rem; line-height: 1.5; }

.consent-row { display: flex !important; min-height: 44px; align-items: flex-start; grid-template-columns: none !important; gap: 10px !important; color: var(--ink-soft); font-size: .78rem; line-height: 1.4; cursor: pointer; }
.consent-row input { width: 21px; min-width: 21px; height: 21px; min-height: 21px; margin: 0; accent-color: var(--accent); }
.capability-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 24px; margin-top: 25px; }
.capability-list > div { display: grid; grid-template-columns: 10px 1fr auto; gap: 10px; align-items: center; min-height: 50px; border-bottom: 1px solid var(--line); }
.capability-list strong { font-size: .81rem; }
.capability-list small { color: var(--ink-soft); font-size: .75rem; }
.capability-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--line-strong); }
.capability-dot--local { background: var(--success); }
.capability-dot--demo { background: #ad762b; }
.capability-dot--remote { background: var(--accent); }
.capability-dot--planned { background: var(--ink-faint); }
.page-header .actions-row { margin-top: 0; }

.settings-card { padding: clamp(25px, 4vw, 46px); margin-bottom: 22px; background: var(--paper-strong); border: 1px solid var(--line); border-top: 2px solid var(--ink); box-shadow: 0 12px 30px rgb(53 44 31 / 6%); }
.settings-card h2 { margin: 6px 0 12px; }
.settings-card > p { max-width: 690px; margin: 0; color: var(--ink-soft); font-size: .91rem; line-height: 1.65; }
.settings-card > .button { margin-top: 27px; }
.settings-page { max-width: 1040px; }
.settings-page .page-header { margin-bottom: 30px; }
.settings-path { display: grid; grid-template-columns: repeat(3, 1fr); padding: 0; margin: 0 0 30px; list-style: none; border-top: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-strong); }
.settings-path li { display: flex; min-height: 64px; align-items: center; gap: 11px; padding: 10px 15px; color: var(--ink-soft); font-size: .78rem; font-weight: 650; }
.settings-path li + li { border-left: 1px solid var(--line); }
.settings-path b { display: grid; width: 27px; height: 27px; flex: 0 0 27px; place-items: center; color: #fff; background: var(--graphite); border-radius: 50%; font-family: var(--serif); font-weight: 400; }
.settings-sections { display: grid; gap: 14px; }
.settings-section { border: 1px solid var(--line-strong); background: var(--paper-strong); box-shadow: 0 12px 30px rgb(53 44 31 / 5%); }
.settings-section > summary { display: grid; grid-template-columns: minmax(0, 1fr) auto 20px; min-height: 94px; align-items: center; gap: 20px; padding: 18px 24px; cursor: pointer; list-style: none; }
.settings-section > summary::-webkit-details-marker { display: none; }
.settings-section > summary:hover { background: #f6efe4; }
.settings-section > summary:focus-visible { outline: none; box-shadow: inset 0 0 0 2px #245d86; }
.settings-section__copy { display: grid; gap: 3px; }
.settings-section__copy strong { font-family: var(--serif); font-size: clamp(1.35rem, 2vw, 1.7rem); font-weight: 400; letter-spacing: -.02em; line-height: 1.2; }
.settings-section__copy small { color: var(--ink-soft); font-size: .79rem; line-height: 1.45; }
.settings-section__meta { color: var(--ink-soft); font-size: .71rem; font-weight: 750; white-space: nowrap; }
.settings-section__chevron { width: 12px; height: 12px; border-right: 2px solid var(--ink-soft); border-bottom: 2px solid var(--ink-soft); transform: rotate(45deg) translateY(-2px); transition: transform .18s ease; }
.settings-section[open] .settings-section__chevron { transform: rotate(225deg) translate(-2px, -2px); }
.settings-section__body { padding: 0 24px 24px; border-top: 1px solid var(--line); }
.settings-section__body > .settings-card { padding: 27px 0; margin: 0; border: 0; border-bottom: 1px solid var(--line); box-shadow: none; }
.settings-section__body > .settings-card:last-child { border-bottom: 0; }
.connections-intro { padding: 27px 0 24px; }
.connections-intro h2 { margin: 6px 0 10px; font-size: clamp(1.55rem, 2.6vw, 2.2rem); }
.connections-intro p { max-width: 760px; margin: 0; color: var(--ink-soft); font-size: .9rem; line-height: 1.6; }
.profile-avatar-editor { display: grid; grid-template-columns: 116px minmax(0, 1fr); gap: 24px; align-items: center; padding-bottom: 27px; border-bottom: 1px solid var(--line); }
.profile-avatar-preview { width: 116px; height: 116px; flex-basis: 116px; font-family: var(--serif); font-size: 1.65rem; font-weight: 400; }
.profile-avatar-editor h2 { font-size: clamp(1.45rem, 2.2vw, 1.9rem); }
.profile-avatar-editor p { max-width: 650px; margin: 0; color: var(--ink-soft); font-size: .82rem; line-height: 1.55; }
.profile-avatar-editor .actions-row { margin-top: 15px; }
.profile-settings-card > .button { margin-top: 24px; }
.admin-invite-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; padding: 0; margin: 26px 0; list-style: none; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.admin-invite-steps li { display: grid; align-content: start; gap: 9px; min-height: 128px; padding: 17px; color: var(--ink-soft); font-size: .77rem; line-height: 1.45; }
.admin-invite-steps li + li { border-left: 1px solid var(--line); }
.admin-invite-steps b { display: grid; width: 27px; height: 27px; place-items: center; color: #fff; background: var(--graphite); border-radius: 50%; }
.admin-invite-form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(170px, .45fr) auto; gap: 14px; align-items: end; }
.admin-invite-form label { display: grid; gap: 8px; }
.admin-invite-form label small { color: var(--ink-faint); font-size: .72rem; line-height: 1.4; }
.admin-invite-list { margin-top: 30px; padding-top: 22px; border-top: 1px solid var(--line); }
.admin-invite-list > div { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.admin-invite-list h3 { font-family: var(--serif); font-size: 1.25rem; font-weight: 400; }
.release-security-card, .release-sessions-card { display: grid; gap: 16px; }
.release-security-card > p, .release-sessions-card > p { margin: 0; }
.form-note { margin: 0; color: var(--ink-soft); font-size: .8rem; line-height: 1.55; }
.mfa-enrollment, .mfa-recovery-codes { display: grid; gap: 14px; padding: 20px; background: var(--paper-muted); border: 1px solid var(--line); }
.mfa-enrollment h3, .mfa-recovery-codes h3 { margin: 0; font-family: var(--serif); font-size: 1.35rem; font-weight: 400; }
.mfa-enrollment p, .mfa-recovery-codes p { margin: 0; color: var(--ink-soft); font-size: .86rem; line-height: 1.55; }
.mfa-steps { display: grid; gap: 7px; padding-left: 21px; margin: 0; color: var(--ink-soft); font-size: .84rem; line-height: 1.5; }
.mfa-confirm-form, .mfa-danger-form { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: end; gap: 12px; }
.mfa-danger-form { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; padding-top: 6px; }
.mfa-confirm-form label, .mfa-danger-form label { display: grid; gap: 8px; }
.mfa-confirm-form label > span, .mfa-danger-form label > span { color: var(--ink-soft); font-size: .8rem; font-weight: 700; line-height: 1.4; }
.mfa-recovery-codes ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; padding: 0; margin: 0; list-style: none; }
.mfa-recovery-codes li { padding: 10px; background: var(--paper-strong); border: 1px solid var(--line); }
.mfa-recovery-codes code { font-size: .83rem; letter-spacing: .04em; overflow-wrap: anywhere; }
.mfa-enrollment__setup { display: grid; grid-template-columns: 260px minmax(0, 1fr); align-items: start; gap: 22px; }
.mfa-qr-card { display: grid; gap: 10px; padding: 10px; margin: 0; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-surface); }
.mfa-qr-card img { display: block; width: 100%; height: auto; aspect-ratio: 1; }
.mfa-qr-card figcaption { padding: 0 5px 5px; color: var(--ink-soft); font-size: .74rem; line-height: 1.45; }
.mfa-manual-setup { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); }
.mfa-manual-setup summary { color: var(--ink); cursor: pointer; font-size: .8rem; font-weight: 700; }
.mfa-manual-setup p { margin: 10px 0; }
.mfa-manual-setup label { display: grid; gap: 7px; margin-top: 10px; }
.mfa-manual-setup label > span { color: var(--ink-soft); font-size: .76rem; font-weight: 700; }
.auth-session-list { display: grid; gap: 0; padding: 0; margin: 0; list-style: none; border-top: 1px solid var(--line); }
.auth-session-list li { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 0; border-bottom: 1px solid var(--line); }
.auth-session-list li > div { display: grid; gap: 4px; }
.auth-session-list small { color: var(--ink-soft); font-size: .76rem; line-height: 1.45; }
.owner-vault-card { display: grid; gap: 16px; }
.owner-vault-card > p { margin: 0; }
.vault-warning { padding: 13px 15px; color: #792c22 !important; background: #f8e5de; border-left: 3px solid var(--danger); font-size: .84rem !important; line-height: 1.55 !important; }
.owner-vault-setup, .owner-vault-delete { padding: 16px 0 0; border-top: 1px solid var(--line); }
.owner-vault-setup summary, .owner-vault-delete summary { cursor: pointer; font-weight: 750; }
.owner-vault-setup > p, .owner-vault-delete > p { margin: 12px 0; color: var(--ink-soft); font-size: .84rem; line-height: 1.55; }
.owner-vault-setup form, .owner-vault-unlock, .owner-vault-delete form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: end; gap: 14px; margin-top: 15px; }
.owner-vault-setup label, .owner-vault-unlock label, .owner-vault-delete label { display: grid; gap: 8px; }
.owner-vault-setup label > span, .owner-vault-unlock label > span, .owner-vault-delete label > span { color: var(--ink-soft); font-size: .8rem; font-weight: 700; }
.owner-vault-unlock { grid-template-columns: minmax(0, 1fr) auto; }
.owner-vault-setup form .button { width: fit-content; }
.owner-vault-recovery { display: grid; gap: 12px; padding: 18px; background: var(--paper-muted); border: 1px solid var(--line); }
.owner-vault-recovery h3 { margin: 0; font-family: var(--serif); font-size: 1.3rem; font-weight: 400; }
.owner-vault-recovery p { margin: 0; color: var(--ink-soft); font-size: .84rem; line-height: 1.55; }
.owner-vault-recovery code { display: block; padding: 12px; overflow-wrap: anywhere; background: var(--paper-strong); border: 1px solid var(--line); font-size: .8rem; line-height: 1.5; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 25px; }
.danger-zone { background: #f6e2dc; border-color: #d3a198; border-top: 4px solid var(--danger); }
.danger-zone .kicker { color: var(--danger); }
.file-button { position: relative; overflow: hidden; }
.file-button input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }

.dialog { width: min(calc(100% - 32px), 610px); max-height: min(760px, calc(100vh - 32px)); padding: 0; color: var(--ink); background: var(--paper-strong); border: 1px solid var(--line-strong); box-shadow: 0 24px 80px rgb(26 23 17 / 32%); }
.dialog::backdrop { background: rgb(31 31 28 / 62%); backdrop-filter: blur(3px); }
.dialog__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 27px 29px 20px; border-bottom: 1px solid var(--line); }
.dialog__head h2 { margin-top: 6px; font-size: 2rem; }
.quick-search-dialog { width: min(calc(100% - 32px), 760px); overflow: hidden; }
.quick-search-input { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 19px 29px 13px; }
.quick-search-input > .icon { width: 21px; color: var(--accent-dark); }
.quick-search-input input { min-width: 0; border: 0; box-shadow: none; font-size: 1.05rem; }
.quick-search-input input:focus { border: 0; box-shadow: none; }
.quick-search-input kbd { color: var(--ink-soft); background: var(--paper-muted); border-color: var(--line); }
.quick-search-assurance { display: flex; align-items: center; gap: 8px; padding: 0 29px 14px; margin: 0; color: var(--ink-soft); font-size: .74rem; line-height: 1.4; }
.quick-search-assurance .icon { width: 15px; color: var(--success); }
.quick-search-results { display: grid; max-height: min(420px, 48vh); overflow-y: auto; padding: 0 14px 14px; border-top: 1px solid var(--line); }
.quick-search-result { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; gap: 12px; align-items: center; min-height: 72px; padding: 11px 14px; color: var(--ink); border-bottom: 1px solid var(--line); }
.quick-search-result:hover { background: var(--paper); }
.quick-search-result > span { display: grid; width: 38px; height: 38px; place-items: center; color: var(--accent-dark); background: var(--accent-pale); border-radius: 10px; }
.quick-search-result > .icon { width: 17px; color: var(--ink-soft); }
.quick-search-result small, .quick-search-result strong, .quick-search-result p { display: block; }
.quick-search-result small { color: var(--ink-soft); font-size: .67rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.quick-search-result strong { margin-top: 1px; font-size: .91rem; line-height: 1.35; }
.quick-search-result p { margin: 1px 0 0; color: var(--ink-soft); font-size: .74rem; line-height: 1.35; }
.quick-search-empty { padding: 28px 15px; margin: 0; color: var(--ink-soft); line-height: 1.55; }
.dialog__form { display: grid; gap: 19px; padding: 25px 29px 30px; }
.dialog__form .form-grid { margin-top: 0; }
.dialog .form-assurance { margin: -3px 0 0; }
.ai-cost-confirm-dialog { width: min(calc(100% - 32px), 560px); }
.ai-cost-confirm-dialog__summary { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 15px; align-items: start; padding: 18px; color: var(--ink); background: var(--paper-soft); border: 1px solid var(--line); border-radius: var(--radius-control); }
.ai-cost-confirm-dialog__summary > span { display: grid; place-items: center; width: 44px; height: 44px; color: var(--accent); background: var(--accent-pale); border-radius: 12px; }
.ai-cost-confirm-dialog__summary .icon { width: 21px; height: 21px; }
.ai-cost-confirm-dialog__summary strong { display: block; line-height: 1.45; }
.ai-cost-confirm-dialog__summary p { margin: 7px 0 0; color: var(--ink-soft); font-size: .82rem; line-height: 1.55; }
.ai-cost-confirm-dialog .actions-row { justify-content: flex-end; margin-top: 0; }
.session-datetime { display: grid; gap: 9px; padding: 0; margin: 0; border: 0; }
.session-datetime > legend { margin-bottom: 8px; color: var(--ink-soft); font-size: .8rem; font-weight: 700; }
.session-datetime > small { color: var(--ink-faint); font-size: .72rem; line-height: 1.45; }
.session-datetime__fields { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(120px, .55fr); align-items: start; gap: 12px; }
.session-date-picker { position: relative; min-width: 0; }
.session-date-trigger { display: flex; width: 100%; min-height: 58px; align-items: center; justify-content: space-between; gap: 12px; padding: 0 15px; color: var(--ink); background: var(--paper-muted); border: 1px solid var(--line-strong); border-radius: var(--radius-control); text-align: left; }
.session-date-trigger > span { display: grid; grid-template-columns: 18px minmax(0, 1fr); align-items: center; gap: 2px 9px; min-width: 0; }
.session-date-trigger > span .icon { grid-row: 1 / 3; width: 18px; color: var(--accent-dark); }
.session-date-trigger small { color: var(--ink-soft); font-size: .67rem; }
.session-date-trigger strong { overflow: hidden; font-size: .82rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.session-date-trigger > .icon { width: 16px; color: var(--ink-soft); transform: rotate(90deg); }
.session-date-trigger[aria-expanded="true"] { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); }
.session-calendar { display: grid; gap: 10px; padding: 13px; margin-top: 8px; background: var(--paper-strong); border: 1px solid var(--line-strong); border-radius: var(--radius-control); box-shadow: 0 16px 34px rgb(20 28 45 / 18%); }
.session-calendar[hidden] { display: none; }
.session-calendar > header { display: grid; grid-template-columns: 36px minmax(0, 1fr) 36px; align-items: center; gap: 8px; }
.session-calendar > header strong { font-size: .78rem; text-align: center; }
.session-calendar > header button { display: grid; width: 36px; height: 36px; place-items: center; padding: 0; color: var(--ink-soft); background: transparent; border: 1px solid transparent; border-radius: 9px; }
.session-calendar > header button:hover { color: var(--accent-dark); background: var(--accent-pale); }
.session-calendar > header .icon { width: 16px; }
.session-calendar__weekdays, .session-calendar__days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 3px; }
.session-calendar__weekdays span { color: var(--ink-faint); font-size: .61rem; text-align: center; }
.session-calendar__days button { display: grid; min-width: 32px; min-height: 32px; place-items: center; padding: 0; color: var(--ink); background: transparent; border: 1px solid transparent; border-radius: 9px; font-size: .72rem; }
.session-calendar__days button:hover { color: var(--accent-dark); background: var(--accent-pale); }
.session-calendar__days button.is-outside { color: var(--ink-faint); opacity: .55; }
.session-calendar__days button.is-selected { color: #fff; background: var(--accent); border-color: var(--accent); opacity: 1; }
.session-date-trigger:focus-visible, .session-calendar button:focus-visible { outline: 3px solid color-mix(in srgb, var(--accent) 38%, transparent); outline-offset: 2px; }
.session-time-field { min-width: 0; }
.session-time-field select { min-height: 58px; }
.recording-import-dialog { width: min(calc(100% - 32px), 650px); }
.recording-import-intro { margin: 0; color: var(--ink-soft); font-size: .82rem; line-height: 1.55; }
.recording-file-field { padding: 16px; background: var(--accent-pale); border: 1px solid color-mix(in srgb, var(--accent) 30%, var(--line)); border-radius: var(--radius-control); }
.recording-file-field > span { display: inline-flex; align-items: center; gap: 8px; color: var(--ink) !important; }
.recording-file-field > span .icon { width: 18px; color: var(--accent-dark); }
.recording-file-field input { min-height: 52px; padding: 6px; color: var(--ink-soft); background: var(--paper-strong); border-color: var(--line-strong); }
.recording-file-field input::file-selector-button { min-height: 38px; padding: 0 14px; margin-right: 10px; color: var(--ink); background: var(--paper-muted); border: 1px solid var(--line-strong); border-radius: 8px; font: inherit; font-weight: 600; cursor: pointer; }
.recording-file-field input::file-selector-button:hover { color: var(--accent-dark); border-color: var(--accent); }
.recording-import-form .transcript-consents { padding: 15px; }
.recording-history-fields { display: grid; gap: 16px; padding: 17px; background: var(--paper-muted); border: 1px solid var(--line); border-radius: var(--radius-control); }
.recording-history-fields[hidden] { display: none; }
.recording-history-fields > div:first-child h3 { margin: 5px 0 7px; font-size: 1rem; }
.recording-history-fields > div:first-child p { margin: 0; color: var(--ink-soft); font-size: .76rem; line-height: 1.5; }
.recording-history-fields .form-grid { margin: 0; }
.recording-import-empty { justify-items: start; }
.recording-import-empty > span { display: grid; width: 48px; height: 48px; place-items: center; color: var(--accent-dark); background: var(--accent-pale); border-radius: var(--radius-control); }
.recording-import-empty > span .icon { width: 22px; }
.recording-import-empty h3, .recording-import-empty p { margin: 0; }
.recording-import-empty p, .recording-import-empty small { color: var(--ink-soft); line-height: 1.55; }
.dialog--wide { width: min(calc(100% - 32px), 820px); }
.document-form { border-bottom: 1px solid var(--line); }
.document-editor { display: grid; gap: 12px; padding: 25px 29px 30px; }
.document-editor textarea { min-height: 360px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .76rem; }
.document-editor .actions-row { margin-top: 0; }

.genapi-panel { padding: clamp(26px, 4vw, 50px); background: var(--graphite); color: #f8f4e9; border-top: 3px solid var(--accent); }
.genapi-panel h2 { margin: 6px 0 12px; color: #fffaf2; }
.genapi-panel p { color: #c8c4bb; line-height: 1.6; }
.genapi-panel--ready { display: flex; align-items: center; justify-content: space-between; gap: 28px; background: #284b3c; }
.genapi-panel--ready .actions-row { margin-top: 0; }
.genapi-panel--ready .button { color: #fff; border-color: #91ad9d; }
.genapi-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; }
.genapi-steps article { min-height: 185px; padding: 0 28px 22px 0; }
.genapi-steps article + article { padding-left: 28px; border-left: 1px solid #50514b; }
.genapi-steps b { display: block; margin-bottom: 22px; color: #df9c87; font-family: var(--serif); font-size: 1.65rem; font-weight: 400; }
.genapi-steps span { display: block; font-family: var(--serif); font-size: 1.35rem; }
.genapi-steps p { min-height: 52px; margin: 9px 0 0; font-size: .78rem; }
.genapi-steps .text-link { color: #efb6a4; }
.genapi-connect-form { display: grid; grid-template-columns: 1fr auto; gap: 14px; align-items: end; padding-top: 24px; border-top: 1px solid #50514b; }
.genapi-connect-form label { display: grid; gap: 7px; }
.genapi-connect-form label span { color: #dedbd2; font-size: .78rem; font-weight: 700; }
.ai-runs { display: grid; gap: 24px; }
.ai-run-card { padding: 28px; background: var(--paper-strong); border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line-strong); }
.ai-run-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.ai-run-card h3 { font-family: var(--serif); font-size: 1.65rem; font-weight: 400; }
.quality-score { display: flex; align-items: baseline; gap: 12px; padding: 18px 0 0; }
.quality-score strong { color: var(--success); font-family: var(--serif); font-size: 2rem; font-weight: 400; }
.quality-score span { color: var(--ink-soft); font-size: .76rem; }
.run-artifacts details { border-top: 1px solid var(--line); }
.run-artifacts summary { padding: 15px 0; cursor: pointer; font-weight: 650; }
.run-artifacts summary small { color: var(--ink-soft); font-weight: 400; }
.run-artifacts pre { max-height: 420px; overflow: auto; padding: 18px; background: var(--paper-muted); white-space: pre-wrap; font-family: var(--sans); font-size: .78rem; line-height: 1.6; }
.ai-run-card > footer { display: flex; gap: 20px; padding-top: 17px; color: var(--ink-soft); font-size: .75rem; }

.crm-summary { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line-strong); }
.crm-summary .metric-card { min-height: 135px; }
.case-guide { display: grid; grid-template-columns: repeat(3, 1fr); margin-bottom: 34px; background: var(--paper-strong); border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line-strong); }
.case-guide > div { display: grid; grid-template-columns: 34px 1fr; gap: 13px; align-items: center; min-height: 88px; padding: 16px 20px; }
.case-guide > div + div { border-left: 1px solid var(--line); }
.case-guide b { display: grid; width: 30px; height: 30px; place-items: center; color: #fff; background: var(--accent); border-radius: 50%; font-family: var(--serif); font-weight: 400; }
.case-guide strong, .case-guide small { display: block; }
.case-guide strong { font-family: var(--serif); font-size: .95rem; font-weight: 400; }
.case-guide small { margin-top: 4px; color: var(--ink-soft); font-size: .64rem; line-height: 1.35; }
.week-calendar { margin-top: 38px; }
.week-calendar > div:last-child { display: grid; grid-template-columns: repeat(7, 1fr); border-bottom: 1px solid var(--line-strong); }
.week-calendar article { display: grid; min-height: 105px; align-content: center; gap: 5px; padding: 14px; border-right: 1px solid var(--line); }
.week-calendar article:last-child { border-right: 0; }
.week-calendar article span, .week-calendar article small { color: var(--ink-soft); font-size: .65rem; }
.week-calendar article strong { font-family: var(--serif); font-size: 1.8rem; font-weight: 400; }
.crm-workspace { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: clamp(28px, 4vw, 60px); margin-top: 50px; align-items: start; }
.crm-client-index { position: sticky; top: 25px; border-top: 1px solid var(--ink); }
.crm-search { display: grid; gap: 5px; padding: 18px 0; }
.crm-client-button { display: grid; grid-template-columns: 38px 1fr; width: 100%; min-height: 68px; align-items: center; gap: 12px; padding: 10px 8px; color: var(--ink); background: transparent; border-top: 1px solid var(--line); text-align: left; }
.crm-client-button:hover, .crm-client-button.is-active { background: var(--paper-strong); }
.crm-client-button.is-active { border-left: 3px solid var(--accent); }
.crm-client-button strong, .crm-client-button small { display: block; }
.crm-client-button strong { font-size: .82rem; }
.crm-client-button small { margin-top: 3px; color: var(--ink-soft); font-size: .66rem; }
.crm-client-button em { display: -webkit-box; margin-top: 5px; overflow: hidden; color: var(--accent-dark); font-size: .61rem; font-style: normal; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 1; }
.crm-case { min-width: 0; }
.crm-case-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 0 0 25px; border-bottom: 1px solid var(--ink); }
.crm-case-head h2 { font-size: clamp(2rem, 4vw, 3.6rem); }
.crm-case-head p { margin: 10px 0 0; color: var(--ink-soft); }
.crm-case-stats { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid var(--line-strong); }
.crm-case-stats span { padding: 18px; color: var(--ink-soft); font-size: .7rem; border-right: 1px solid var(--line); }
.crm-case-stats span:last-child { border-right: 0; }
.crm-case-stats b { display: block; margin-bottom: 4px; color: var(--ink); font-family: var(--serif); font-size: 1.3rem; font-weight: 400; }
.case-overview { display: grid; grid-template-columns: repeat(3, 1fr); margin: 28px 0 0; border: 1px solid var(--line-strong); }
.case-overview article { min-height: 170px; padding: 22px; background: var(--paper-strong); }
.case-overview article + article { border-left: 1px solid var(--line); }
.case-overview article:nth-child(2) { background: #eee4d7; }
.case-overview h3 { margin: 20px 0 9px; font-family: var(--serif); font-size: 1.12rem; font-weight: 400; line-height: 1.25; }
.case-overview p { margin: 0; color: var(--ink-soft); font-size: .72rem; line-height: 1.5; }
.progress-glance { display: grid; grid-template-columns: 1fr minmax(180px, .65fr); gap: 26px; align-items: end; min-height: 145px; padding: 24px; margin: 18px 0 8px; color: #fffaf2; background: var(--graphite); }
.progress-glance h3 { max-width: 560px; margin: 9px 0 0; color: #fffaf2; font-family: var(--serif); font-size: 1.2rem; font-weight: 400; line-height: 1.35; }
.progress-glance .meta-label { color: #d8b8a8; }
.progress-glance__bars { display: flex; height: 85px; align-items: end; justify-content: flex-end; gap: 9px; }
.progress-glance__bars > span { display: grid; width: 29px; height: 100%; align-items: end; justify-items: center; gap: 5px; }
.progress-glance__bars i { width: 100%; min-height: 8px; background: #d58b72; }
.progress-glance__bars small { color: #c9c5bc; font-size: .58rem; }
.crm-module { border-bottom: 1px solid var(--line-strong); }
.crm-module > summary { display: flex; min-height: 66px; align-items: center; justify-content: space-between; gap: 18px; cursor: pointer; font-family: var(--serif); font-size: 1.2rem; }
.crm-module > summary b { color: var(--accent-dark); font-family: var(--sans); font-size: .72rem; }
.crm-module__body { padding: 0 0 25px; }
.crm-module__body > article { padding: 16px 0; border-top: 1px solid var(--line); }
.crm-module__body article h3 { margin: 6px 0; font-family: var(--serif); font-size: 1.05rem; font-weight: 400; }
.crm-module__body article p { margin: 0; color: var(--ink-soft); font-size: .76rem; line-height: 1.5; }
.crm-inline-form { display: grid; gap: 12px; padding: 20px; margin-top: 14px; background: var(--paper-strong); border-left: 3px solid var(--line-strong); }
.crm-inline-form .form-grid { margin: 0; }
.crm-inline-form .button { justify-self: start; }

.supervisor-intro { display: grid; grid-template-columns: 1fr auto; gap: 30px; align-items: center; padding: 28px 32px; margin-bottom: 34px; color: #fffaf2; background: var(--graphite); border-top: 3px solid var(--accent); }
.supervisor-intro h2 { margin: 7px 0 10px; color: #fffaf2; }
.supervisor-intro p { max-width: 700px; margin: 0; color: #c9c5bc; font-size: .78rem; line-height: 1.55; }
.supervisor-intro > div:last-child { display: grid; min-width: 110px; justify-items: center; padding-left: 28px; border-left: 1px solid #50514b; }
.supervisor-intro b { color: #efb7a2; font-family: var(--serif); font-size: 2.8rem; font-weight: 400; }
.supervisor-intro > div:last-child span { color: #d7d3ca; font-size: .75rem; }
.supervisor-flow { display: grid; max-width: 960px; gap: 28px; margin-inline: auto; }
.supervisor-flow .settings-card { margin-bottom: 0; }
.supervisor-journal__list { display: grid; }
.supervisor-journal__item { display: grid; gap: 5px; min-width: 0; padding: 15px 12px; color: var(--ink); background: transparent; border-top: 1px solid var(--line); text-align: left; }
.supervisor-journal__item:hover, .supervisor-journal__item.is-active { background: var(--paper-strong); }
.supervisor-journal__item.is-active { border-left: 3px solid var(--accent); }
.supervisor-journal__item span { color: var(--accent-dark); font-size: .75rem; font-weight: 700; }
.supervisor-journal__item strong { overflow: hidden; font-family: var(--serif); font-size: .9rem; font-weight: 400; line-height: 1.3; text-overflow: ellipsis; }
.supervisor-journal__item small { color: var(--ink-soft); font-size: .75rem; }
.supervisor-form { display: grid; gap: 26px; }
.supervisor-form__head h2 { margin: 6px 0 10px; }
.supervisor-form__head p { max-width: 690px; margin: 0; color: var(--ink-soft); font-size: .85rem; line-height: 1.6; }
.supervisor-steps { display: grid; gap: 0; padding: 0; margin: 0; list-style: none; border-top: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-strong); }
.supervisor-steps li { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 14px; align-items: center; min-height: 68px; padding: 13px 0; }
.supervisor-steps li + li { border-top: 1px solid var(--line); }
.supervisor-steps b { color: var(--accent-dark); font-family: var(--serif); font-size: 1.25rem; font-weight: 400; }
.supervisor-steps strong, .supervisor-steps span { display: block; }
.supervisor-steps strong { font-size: .86rem; }
.supervisor-steps span { margin-top: 3px; color: var(--ink-soft); font-size: .875rem; line-height: 1.5; }
.supervisor-fieldset { display: grid; gap: 16px; min-width: 0; padding: 0; margin: 0; border: 0; }
.supervisor-fieldset legend { width: 100%; padding: 0; margin: 0 0 2px; color: var(--accent-dark); font-size: .75rem; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.supervisor-fieldset--check { gap: 14px; padding: 20px; background: var(--paper-muted); border-top: 2px solid var(--ink); }
.supervisor-fieldset--check legend { padding-bottom: 2px; }
.supervisor-examples { display: grid; gap: 8px; padding: 16px; background: var(--paper-muted); border-left: 3px solid var(--accent); }
.supervisor-examples > span { color: var(--ink-soft); font-size: .75rem; font-weight: 700; }
.supervisor-examples > div { display: flex; flex-wrap: wrap; gap: 7px; }
.supervisor-examples button { min-height: 44px; padding: 8px 12px; color: var(--accent-dark); background: var(--paper-strong); border: 1px solid var(--line-strong); font-size: .75rem; font-weight: 700; }
.supervisor-output { scroll-margin-top: 28px; }
.supervisor-output > header { padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid var(--line); }
.supervisor-output > header h2 { margin: 6px 0 0; font-size: clamp(1.6rem, 3vw, 2.25rem); }
.supervisor-output > p { max-width: 690px; margin: 0; color: var(--ink-soft); font-size: .86rem; line-height: 1.6; }
.supervisor-history { background: var(--paper-strong); border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line-strong); }
.supervisor-history > summary { display: flex; min-height: 74px; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 22px; cursor: pointer; list-style: none; }
.supervisor-history > summary::-webkit-details-marker { display: none; }
.supervisor-history > summary small, .supervisor-history > summary strong { display: block; }
.supervisor-history > summary small { color: var(--accent-dark); font-size: .75rem; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.supervisor-history > summary strong { margin-top: 3px; font-family: var(--serif); font-size: 1.18rem; font-weight: 400; }
.supervisor-history > summary b { display: grid; min-width: 32px; height: 32px; place-items: center; color: var(--accent-dark); background: var(--paper-muted); border-radius: 50%; font-family: var(--serif); font-size: 1rem; font-weight: 400; }
.supervisor-history[open] > summary { border-bottom: 1px solid var(--line); }
.supervisor-history .supervisor-journal__list { padding: 0 10px 10px; }
.supervisor-analysis > h2 { margin-bottom: 20px; }
.supervisor-approach-context { display: grid; gap: 5px; padding: 15px 17px; margin-bottom: 20px; background: var(--paper-muted); border-left: 3px solid var(--accent); }
.supervisor-approach-context span, .supervisor-approach-context small { color: var(--ink-soft); font-size: .75rem; }
.supervisor-approach-context strong { font-family: var(--serif); font-size: 1.08rem; font-weight: 400; }
.supervisor-analysis section { padding: 16px 0; border-top: 1px solid var(--line); }
.supervisor-analysis ul, .supervisor-escalation ul { display: grid; gap: 8px; padding-left: 18px; color: var(--ink-soft); font-size: .78rem; line-height: 1.55; }
.supervisor-escalation { padding: 20px; background: #f3ded8; border-left: 4px solid var(--danger); }
.supervisor-escalation h2 { color: var(--danger); }

.toast { position: fixed; z-index: 20; left: 50%; bottom: 28px; max-width: calc(100vw - 32px); padding: 12px 17px; color: #fffdf9; background: var(--graphite); box-shadow: 0 7px 22px rgb(0 0 0 / 23%); font-size: .84rem; font-weight: 600; opacity: 0; pointer-events: none; transform: translate(-50%, 20px); transition: opacity .2s ease, transform .2s ease; }
.toast.is-visible { opacity: 1; transform: translate(-50%, 0); }
.mobile-header, .mobile-nav { display: none; }

.reveal { animation: rise-in .55s both cubic-bezier(.22, .75, .25, 1); }
.delay-1 { animation-delay: .08s; }
.delay-2 { animation-delay: .16s; }
.delay-3 { animation-delay: .24s; }
@keyframes rise-in { from { opacity: 0; transform: translateY(13px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 1250px) {
  :root { --sidebar: 236px; }
  .workspace { padding-inline: clamp(26px, 4vw, 54px); }
  .client-row { grid-template-columns: 46px minmax(130px, 1fr) minmax(135px, 1fr) minmax(90px, .6fr) 132px; }
  .client-row__note { display: none; }
  .content-generator { grid-template-columns: 1fr 1fr auto; }
  .content-generator > div { grid-column: 1 / -1; }
}

@media (max-width: 1050px) {
  .sidebar { display: none; }
  .workspace { margin-left: 0; padding: 95px clamp(25px, 5vw, 62px) calc(148px + env(safe-area-inset-bottom)); }
  .mobile-header { position: fixed; z-index: 10; inset: 0 0 auto; display: flex; height: 68px; align-items: center; justify-content: space-between; padding: 9px clamp(16px, 4vw, 28px); color: var(--ink); background: rgb(235 228 217 / 95%); border-bottom: 1px solid var(--line-strong); backdrop-filter: blur(12px); }
  .mobile-header .brandmark { padding-left: 0; }
  .mobile-header .brandmark__symbol { width: 31px; height: 31px; border-color: var(--ink); }
  .mobile-header .brandmark strong { font-size: .95rem; }
  .mobile-header .icon-button { color: var(--ink); }
  .mobile-nav { position: fixed; z-index: 10; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: repeat(5, 1fr); min-height: 70px; padding: 5px max(8px, env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left)); background: rgb(255 253 248 / 96%); border-top: 1px solid var(--line); backdrop-filter: blur(12px); }
  .mobile-nav a { display: grid; min-width: 44px; min-height: 56px; place-content: center; justify-items: center; gap: 3px; color: var(--ink-soft); font-size: .75rem; font-weight: 650; line-height: 1.15; text-align: center; }
  .mobile-nav a.active { color: var(--accent-dark); }
  .mobile-nav .mobile-extra { display: none; }
  .mobile-nav .icon { width: 19px; height: 19px; }
  body.nav-open::after { content: ""; position: fixed; z-index: 7; inset: 68px 0 0; background: rgb(31 31 28 / 48%); }
  body.nav-open .mobile-nav { z-index: 12; top: 68px; bottom: auto; grid-template-columns: 1fr; min-height: auto; padding: 10px 16px 20px; border-bottom: 1px solid var(--line); }
  body.nav-open .mobile-nav a { grid-template-columns: 25px 1fr; place-content: stretch; justify-items: start; align-items: center; gap: 12px; min-height: 48px; padding: 0 10px; font-size: .88rem; }
  body.nav-open .mobile-nav .mobile-extra { display: grid; }
  .toast { bottom: calc(94px + env(safe-area-inset-bottom)); }
  .editor-layout { gap: 38px; }
  .brand-preview { position: static; }
  .crm-client-index, .supervisor-output, .supervisor-journal { position: static; }
  .supervisor-workspace { grid-template-columns: 230px minmax(0, 1fr); }
  .supervisor-output { grid-column: 1 / -1; max-height: none; }
}

@media (max-width: 760px) {
  .mfa-confirm-form, .mfa-danger-form { grid-template-columns: 1fr; align-items: stretch; }
  .mfa-confirm-form .button, .mfa-danger-form .button { width: 100%; }
  .mfa-enrollment__setup { grid-template-columns: 1fr; }
  .mfa-qr-card { width: min(100%, 280px); justify-self: center; }
  .auth-session-list li { align-items: stretch; flex-direction: column; }
  .auth-session-list .button { width: 100%; }
  .owner-vault-setup form, .owner-vault-unlock, .owner-vault-delete form { grid-template-columns: 1fr; }
  .owner-vault-setup form .button, .owner-vault-unlock .button, .owner-vault-delete .button { width: 100%; }
  .settings-path { grid-template-columns: 1fr; }
  .settings-path li { min-height: 50px; }
  .settings-path li + li { border-top: 1px solid var(--line); border-left: 0; }
  .settings-section > summary { grid-template-columns: minmax(0, 1fr) 16px; min-height: 84px; gap: 13px; padding: 16px; }
  .settings-section__meta { grid-column: 1; grid-row: 2; }
  .settings-section__chevron { grid-column: 2; grid-row: 1 / 3; }
  .settings-section__body { padding: 0 16px 18px; }
  .profile-avatar-editor { grid-template-columns: 82px minmax(0, 1fr); gap: 16px; align-items: start; }
  .profile-avatar-preview { width: 82px; height: 82px; flex-basis: 82px; }
  .profile-avatar-editor .actions-row { align-items: stretch; flex-direction: column; }
  .profile-avatar-editor .button { width: 100%; }
  .admin-invite-steps { grid-template-columns: 1fr; }
  .admin-invite-steps li { grid-template-columns: 30px minmax(0, 1fr); min-height: 0; align-items: center; }
  .admin-invite-steps li + li { border-top: 1px solid var(--line); border-left: 0; }
  .admin-invite-form { grid-template-columns: 1fr; }
  .admin-invite-form .button { width: 100%; }
  .integration-disclosure > summary { grid-template-columns: minmax(0, 1fr) 16px; min-height: 80px; gap: 12px; padding: 14px 12px; }
  .connection-state { grid-column: 1; grid-row: 2; justify-self: start; }
  .integration-disclosure__chevron { grid-column: 2; grid-row: 1 / 3; }
  .integration-disclosure__body { padding: 5px 12px 22px; }
  .connection-explainer { grid-template-columns: 1fr; gap: 14px; }
  .integration-form .button { width: 100%; }
  .workspace { padding: 96px 18px 98px; }
  .page-header { display: grid; align-items: start; margin-bottom: 38px; }
  .page-header .button { width: fit-content; }
  h1 { font-size: clamp(2.2rem, 10vw, 3.25rem); }
  .focus-card { grid-template-columns: 1fr; gap: 28px; padding: 26px; }
  .progress-orbit { justify-self: start; width: 130px; }
  .dashboard-grid, .result-grid, .editor-layout, .content-grid, .practice-grid, .supervision-layout, .document-grid { grid-template-columns: 1fr; }
  .dashboard-grid { gap: 34px; }
  .result-card + .result-card { padding-left: 0; border-left: 0; }
  .result-card { min-height: auto; padding: 20px 0; }
  .interview-head { grid-template-columns: 1fr auto; gap: 15px; }
  .step-counter { grid-column: 1 / -1; grid-row: 1; }
  .back-link { grid-column: 1; grid-row: 2; }
  .autosave { grid-column: 2; grid-row: 2; }
  .interview-card { padding: 27px 22px; }
  .interview-card__foot { grid-template-columns: 1fr 1fr; }
  .interview-card__foot > span { display: none; }
  .interview-card__actions { display: grid; grid-column: 2; gap: 8px; }
  .interview-card__foot .button { width: 100%; padding-inline: 10px; }
  .interview-overview-guide { grid-template-columns: 1fr; }
  .interview-overview-guide article { min-height: auto; }
  .interview-overview-guide article + article { border-top: 1px solid var(--line); border-left: 0; }
  .interview-question-list { grid-template-columns: 1fr; }
  .interview-question-list button:nth-child(even) { border-left: 0; }
  .interview-question-list button + button { border-top: 1px solid var(--line); }
  .interview-overview-actions { align-items: stretch; flex-direction: column; }
  .interview-overview-actions > div:last-child { justify-items: stretch; }
  .practice-paths > div { grid-template-columns: 1fr; }
  .practice-paths article { min-height: auto; }
  .own-documents-note { grid-template-columns: 42px minmax(0, 1fr); align-items: start; }
  .own-documents-note > .button { grid-column: 1 / -1; width: 100%; }
  .result-hero { gap: 16px; }
  .content-generator { grid-template-columns: 1fr; padding: 24px; }
  .content-generator > div { grid-column: auto; }
  .content-generator .button { width: 100%; }
  .client-summary { grid-template-columns: repeat(3, 1fr); }
  .client-summary > div { min-height: 104px; padding: 15px; }
  .client-summary p { grid-column: 1 / -1; border-top: 1px solid var(--line-strong); border-left: 0; }
  .client-summary strong { font-size: 2rem; }
  .client-row { grid-template-columns: 46px 1fr 132px; gap: 12px; }
  .client-row > div:not(.client-row__name), .client-row__note { display: none; }
  .client-row__actions { display: flex !important; }
  .session-row { grid-template-columns: 1fr auto; gap: 10px; padding: 18px 0; }
  .session-row > .status { justify-self: end; }
  .session-row__actions { grid-column: 1 / -1; justify-content: flex-start; }
  .calendar-strip { grid-template-columns: repeat(2, 1fr); }
  .calendar-strip > div:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .calendar-strip > div:nth-child(4) { border-top: 1px solid var(--line); }
  .metrics-grid { grid-template-columns: repeat(2, 1fr); }
  .metric-card:nth-child(3) { border-top: 1px solid var(--line); border-left: 0; }
  .metric-card:nth-child(4) { border-top: 1px solid var(--line); }
  .reflection-result { position: static; }
  .capability-list { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .site-studio, .domain-card { grid-template-columns: 1fr; }
  .site-readiness { border-top: 1px solid #50514b; border-left: 0; }
  .site-copy-summary > div { grid-template-columns: repeat(2, 1fr); }
  .site-copy-summary article:nth-child(2) { border-right: 0; }
  .site-copy-summary article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .site-preview-head { display: grid; }
  .public-site nav { min-height: 58px; padding: 0 21px; }
  .public-site nav span { display: none; }
  .public-site nav button { min-height: 44px; }
  .public-hero { grid-template-columns: 1fr; padding: 49px 22px; }
  .public-portrait { grid-row: 1; }
  .public-portrait > div { width: 160px; }
  .public-portrait p { display: none; }
  .public-values { grid-template-columns: 1fr; }
  .public-values span { padding: 13px 22px; }
  .public-values span + span { border-top: 1px solid #d8d0c2; border-left: 0; }
  .public-section { padding: 44px 22px; }
  .public-cards, .public-process, .public-themes > div { grid-template-columns: 1fr; }
  .public-cards article, .public-process article { min-height: auto; padding: 20px 0; border-bottom: 1px solid #d8d0c2; }
  .public-cards article + article, .public-process article + article { padding-left: 0; border-left: 0; }
  .public-themes article { min-height: auto; }
  .public-themes h3 { margin-top: 16px; }
  .public-approach { grid-template-columns: 1fr; padding: 44px 22px; }
  .public-cta { display: grid; padding: 36px 22px; }
  .public-footer { grid-template-columns: 1fr; gap: 8px; padding: 25px 22px; }
  .request-card { grid-template-columns: 1fr auto; }
  .request-card .actions-row { grid-column: 1 / -1; }
  .dialog__head, .dialog__form { padding-right: 21px; padding-left: 21px; }
  .genapi-panel--ready, .public-cta { display: grid; }
  .genapi-steps, .crm-workspace, .supervisor-workspace { grid-template-columns: 1fr; }
  .genapi-steps article { min-height: auto; padding: 20px 0; border-bottom: 1px solid #50514b; }
  .genapi-steps article + article { padding-left: 0; border-left: 0; }
  .genapi-connect-form { grid-template-columns: 1fr; }
  .crm-summary { grid-template-columns: repeat(2, 1fr); }
  .case-guide, .case-overview { grid-template-columns: 1fr; }
  .case-guide > div + div, .case-overview article + article { border-top: 1px solid var(--line); border-left: 0; }
  .progress-glance { grid-template-columns: 1fr; }
  .crm-summary .metric-card:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .week-calendar > div:last-child { grid-template-columns: repeat(2, 1fr); }
  .week-calendar article { border-bottom: 1px solid var(--line); }
  .crm-client-index { max-height: 330px; overflow: auto; }
  .crm-case-stats { grid-template-columns: repeat(2, 1fr); }
  .crm-case-stats span:nth-child(2) { border-right: 0; }
  .crm-case-stats span:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .supervisor-intro { grid-template-columns: 1fr; }
  .supervisor-intro > div:last-child { justify-items: start; padding: 18px 0 0; border-top: 1px solid #50514b; border-left: 0; }
}

@media (max-width: 430px) {
  .workspace { padding-right: 15px; padding-left: 15px; }
  .mobile-header { padding-inline: 15px; }
  .page-header .button { width: 100%; }
  .page--home .page-header .button { width: 100%; }
  .focus-card { padding: 22px; }
  .focus-card h2 { font-size: 1.78rem; }
  .stat-row { gap: 9px; }
  .stat-row > div + div { padding-left: 10px; }
  .interview-card { padding: 25px 17px; }
  .interview-card__foot .button { min-height: 49px; font-size: .78rem; }
  .interview-card__foot .icon { display: none; }
  .interview-card__foot { grid-template-columns: 1fr; }
  .interview-card__foot > .button, .interview-card__actions { grid-column: 1; }
  .interview-block > summary { grid-template-columns: 36px minmax(0, 1fr) 20px; padding-inline: 15px; }
  .interview-question-list button { min-height: 104px; padding: 16px 14px; }
  .interview-overview-actions { padding: 22px 17px; }
  .settings-card { padding: 24px 19px; }
  .client-summary > div { padding: 14px 10px; }
  .client-summary span { font-size: .65rem; }
  .client-summary p { padding: 15px 10px; }
  .browser-bar > div { margin-left: 5px; }
  .site-readiness { grid-template-columns: 1fr; }
  .site-readiness article { min-height: 90px; border-right: 0; border-bottom: 1px solid #50514b; }
  .site-copy-summary > div { grid-template-columns: 1fr; }
  .site-copy-summary article { border-right: 0; border-bottom: 1px solid var(--line); }
  .dialog { width: min(calc(100% - 20px), 610px); }
}

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

/* Product rebuild: clear result-first dashboards and a dedicated client workspace. */
.dashboard-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line-strong); }
.dashboard-metrics .metric-card { min-height: 145px; }
.dashboard-workspace { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(28px, 5vw, 72px); margin-top: clamp(34px, 5vw, 68px); }
.dashboard-column { min-width: 0; }
.agenda-list { display: grid; }
.agenda-item { display: grid; grid-template-columns: 86px 1fr auto; gap: 15px; align-items: center; min-height: 78px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.agenda-item time { display: grid; gap: 3px; color: var(--ink-soft); font-size: .75rem; line-height: 1.3; }
.agenda-item time b { color: var(--accent-dark); font-size: .95rem; }
.agenda-item strong, .agenda-item small { display: block; }
.agenda-item strong { font-family: var(--serif); font-size: 1.22rem; font-weight: 400; }
.agenda-item small { margin-top: 4px; color: var(--ink-soft); font-size: .8rem; line-height: 1.45; }
.agenda-item > .icon { color: var(--accent-dark); }
.dashboard-launchpad { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-top: clamp(42px, 7vw, 98px); background: #e9dfd0; border-top: 1px solid #cbbba7; border-bottom: 1px solid #cbbba7; }
.dashboard-launchpad article { min-height: 230px; padding: clamp(23px, 3vw, 38px); }
.dashboard-launchpad article + article { border-left: 1px solid #cbbba7; }
.dashboard-launchpad h3 { margin: 15px 0 9px; font-family: var(--serif); font-size: 1.6rem; font-weight: 400; }
.dashboard-launchpad p { min-height: 63px; margin: 0; color: var(--ink-soft); font-size: .82rem; line-height: 1.55; }
.dashboard-launchpad .text-link { margin-top: 16px; }

.unpacking-map { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding-inline: clamp(16px, 2.5vw, 28px); margin-top: 35px; background: var(--paper-strong); border: 1px solid var(--line); border-top: 2px solid var(--ink); }
.unpacking-card { min-height: 170px; padding: 24px 28px 24px 0; border-bottom: 1px solid var(--line-strong); }
.unpacking-card:nth-child(even) { padding-right: 0; padding-left: 28px; border-left: 1px solid var(--line-strong); }
.unpacking-card span { display: block; color: var(--accent-dark); font-size: .75rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.unpacking-card h3 { margin: 11px 0 8px; font-family: var(--serif); font-size: 1.35rem; font-weight: 400; }
.unpacking-card p, .unpacking-card small { color: var(--ink-soft); font-size: .8rem; line-height: 1.55; }
.unpacking-card p { margin: 0 0 10px; }

.brand-purpose { display: grid; grid-template-columns: repeat(3, 1fr); margin-bottom: 28px; background: var(--paper-strong); border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line-strong); }
.brand-purpose article { min-height: 182px; padding: 25px 26px; }
.brand-purpose article + article { border-left: 1px solid var(--line); }
.brand-purpose h3 { margin: 10px 0 8px; font-family: var(--serif); font-size: 1.35rem; font-weight: 400; }
.brand-purpose p { margin: 0; color: var(--ink-soft); font-size: .79rem; line-height: 1.55; }
.theme-panel { margin: 32px 0; background: var(--paper-strong); border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line-strong); }
.theme-panel__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 26px; padding: clamp(24px, 4vw, 42px); border-bottom: 1px solid var(--line); }
.theme-panel__head h2 { margin: 7px 0 10px; font-size: clamp(1.75rem, 3vw, 2.8rem); }
.theme-panel__head p { max-width: 720px; margin: 0; color: var(--ink-soft); font-size: .88rem; line-height: 1.6; }
.theme-panel__scope { flex: 0 0 auto; padding: 7px 9px; color: var(--accent-dark); background: var(--accent-pale); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.theme-panel__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.theme-card { display: grid; grid-template-rows: 1fr auto auto; gap: 20px; min-height: 250px; padding: clamp(24px, 3.4vw, 40px); }
.theme-card + .theme-card { border-left: 1px solid var(--line); }
.theme-card--suggested { background: var(--paper-muted); }
.theme-card .mini-label { color: var(--accent-dark); font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.theme-card h3 { margin: 7px 0 8px; font-family: var(--serif); font-size: clamp(1.45rem, 2.3vw, 2rem); font-weight: 400; }
.theme-card p { max-width: 52ch; margin: 0; color: var(--ink-soft); font-size: .82rem; line-height: 1.58; }
.theme-card > small { color: var(--ink-faint); font-size: .73rem; line-height: 1.45; }
.theme-swatches { display: flex; min-height: 34px; overflow: hidden; border: 1px solid var(--line-strong); }
.theme-swatches span { display: block; flex: 1; min-width: 0; }
.theme-card .button { justify-self: start; }
.theme-panel__custom { padding: 0 clamp(24px, 4vw, 42px) clamp(24px, 4vw, 38px); background: var(--paper); border-top: 1px solid var(--line); }
.theme-panel__custom summary { min-height: 62px; display: flex; align-items: center; color: var(--ink); cursor: pointer; font-family: var(--serif); font-size: 1.15rem; }
.theme-panel__custom summary:focus-visible { outline: 3px solid #245d86; outline-offset: 3px; }
.theme-panel__custom > p { max-width: 700px; margin: 0 0 16px; color: var(--ink-soft); font-size: .8rem; line-height: 1.55; }
.theme-panel__custom form { display: grid; max-width: 760px; gap: 14px; }
.theme-panel__custom label { display: grid; gap: 8px; }
.theme-panel__custom label > span { color: var(--ink-soft); font-size: .78rem; font-weight: 750; }
.theme-panel__custom textarea { min-height: 86px; }
.theme-panel__custom .button { justify-self: start; }
.theme-panel__assurance { margin: 0; padding: 14px clamp(24px, 4vw, 42px); color: var(--ink-faint); background: var(--paper-strong); border-top: 1px solid var(--line); font-size: .73rem; line-height: 1.5; }
.portrait-placeholder--editor { overflow: hidden; width: 100%; height: 230px; margin: 24px 0 18px; border-radius: 0; background: center / cover no-repeat url("/assets/generated/psychologist-portrait.jpg"); }
.portrait-placeholder--editor span { display: none; }

.site-address { display: flex; align-items: baseline; flex-wrap: wrap; gap: 0; }
.site-address strong { font-family: var(--serif); font-size: inherit; font-weight: 400; letter-spacing: -.045em; }
.site-address small { color: #d4bca9; font-family: var(--sans); font-size: .42em; font-weight: 650; letter-spacing: 0; }
.public-portrait img { display: block; width: min(100%, 345px); aspect-ratio: .78; object-fit: cover; object-position: 50% 28%; box-shadow: 18px 18px 0 #d9c7b3; }
.public-about { display: grid; grid-template-columns: 1fr minmax(260px, .72fr); gap: clamp(30px, 6vw, 90px); align-items: center; }
.public-about > div > h3 { max-width: 760px; margin: 11px 0 17px; font-family: var(--serif); font-size: clamp(1.8rem, 3vw, 3rem); font-weight: 400; }
.public-about > div > p { max-width: 800px; margin: 0; color: #625e55; line-height: 1.75; }
.public-about > img { width: 100%; min-height: 230px; object-fit: cover; }
.browser-frame--mobile { max-height: 760px; overflow: auto; border-radius: 22px 22px 0 0; box-shadow: 0 22px 48px rgb(35 27 20 / 18%); }
.browser-frame--mobile { scrollbar-width: none; }
.browser-frame--mobile::-webkit-scrollbar { display: none; }
.browser-frame--mobile .public-portrait img { width: 100%; max-width: none; aspect-ratio: 1.08; box-shadow: none; object-position: 50% 25%; }
.browser-frame--mobile .public-hero h2 { max-width: 100%; font-size: clamp(2.05rem, 7.4vw, 2.7rem); overflow-wrap: anywhere; }
.browser-frame--mobile .public-hero__copy > p { font-size: .88rem; }
.browser-frame--mobile .public-about { grid-template-columns: 1fr; }
.browser-frame--mobile .public-about > img { min-height: 170px; }

.content-explainer { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, .8fr) auto; gap: 34px; align-items: end; margin-top: 29px; padding: 29px clamp(18px, 2.5vw, 30px); background: var(--paper-muted); border-top: 2px solid var(--ink); border-bottom: 1px solid var(--ink); }
.content-explainer h2 { margin-top: 7px; }
.content-explainer p { margin: 0; color: var(--ink-soft); font-size: .84rem; line-height: 1.55; }
.content-suite-list { display: grid; gap: 30px; }
.content-suite { overflow: hidden; background: var(--paper-strong); border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line-strong); }
.content-suite > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 22px; padding: clamp(24px, 4vw, 42px); background: #e6d9c8; }
.content-suite > header h2 { margin: 7px 0 9px; }
.content-suite > header p { max-width: 620px; margin: 0; color: #5e594f; font-size: .82rem; line-height: 1.55; }
.content-suite__items { display: grid; grid-template-columns: repeat(6, 1fr); }
.content-suite__items article:first-child { grid-column: span 2; }
.content-suite__items article { position: relative; min-width: 0; min-height: 290px; overflow: hidden; background: #272824; }
.content-suite__items article::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgb(20 20 18 / 0%) 22%, rgb(20 20 18 / 78%) 100%); pointer-events: none; }
.content-suite__items article + article { border-left: 1px solid rgb(255 255 255 / 25%); }
.content-suite__items img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.content-suite__items > article:nth-child(2) img, .content-suite__items > article:nth-child(3) img { object-position: center top; }
.content-suite__items article > div { position: relative; z-index: 1; display: grid; align-content: end; min-height: 290px; padding: 20px; color: #fffaf2; }
.content-suite__items span { color: #f2c4ae; font-size: .75rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.content-suite__items h3 { margin: 8px 0 7px; color: #fffaf2; font-family: var(--serif); font-size: 1.12rem; font-weight: 400; line-height: 1.08; }
.content-suite__items article:first-child h3 { max-width: 15ch; font-size: clamp(1.5rem, 2.4vw, 2.15rem); line-height: 1.12; }
.content-suite__items p { display: -webkit-box; overflow: hidden; margin: 0; color: #f2eee7; font-size: .8rem; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.content-suite__ready { position: absolute; z-index: 2; top: 13px; right: 13px; padding: 6px 8px; color: #fff5eb; background: rgb(25 25 22 / 72%); font-size: .75rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }

.client-directory { margin-top: 30px; }
.client-directory .crm-search { max-width: 420px; margin-bottom: 16px; }
.client-directory__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.client-directory-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; gap: 13px; align-items: start; width: 100%; min-height: 190px; padding: 20px; color: var(--ink); background: var(--paper-strong); border-top: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-strong); text-align: left; transition: transform .18s ease, border-color .18s ease, background-color .18s ease; }
.client-directory-card:hover { background: #fffdf8; border-top-color: var(--accent); transform: translateY(-2px); }
.client-directory-card__copy h2 { margin: 10px 0 7px; font-family: var(--serif); font-size: 1.3rem; font-weight: 400; }
.client-directory-card__copy p { min-height: 40px; margin: 0 0 8px; color: var(--ink-soft); font-size: .76rem; line-height: 1.45; }
.client-directory-card__copy small { color: var(--accent-dark); font-size: .68rem; line-height: 1.35; }
.client-directory-card__meta { display: grid; justify-items: end; gap: 2px; text-align: right; }
.client-directory-card__meta b { font-family: var(--serif); font-size: 1.4rem; font-weight: 400; }
.client-directory-card__meta small, .client-directory-card__meta em { color: var(--ink-soft); font-size: .64rem; font-style: normal; white-space: nowrap; }
.client-directory-card__meta em { margin-top: 12px; color: var(--accent-dark); }
.client-directory-card > .icon { align-self: center; color: var(--accent-dark); }

.client-page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 25px; padding-bottom: 29px; border-bottom: 1px solid var(--ink); }
.client-page-head h1 { margin: 5px 0 10px; }
.client-page-head p { margin: 0; color: var(--ink-soft); font-size: .82rem; }
.client-quick-stats { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid var(--line-strong); }
.client-quick-stats span { display: grid; gap: 5px; min-height: 102px; align-content: center; padding: 18px; color: var(--ink-soft); font-size: .75rem; }
.client-quick-stats span + span { border-left: 1px solid var(--line); }
.client-quick-stats b { color: var(--ink); font-family: var(--serif); font-size: 1.75rem; font-weight: 400; }
.client-section-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 29px; }
.client-summary-card, .client-calendar-card, .client-record-panel { padding: 25px; background: var(--paper-strong); border-top: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-strong); }
.client-summary-card h2 { margin: 8px 0 11px; font-family: var(--serif); font-size: 1.48rem; font-weight: 400; }
.client-summary-card p { min-height: 73px; margin: 0; color: var(--ink-soft); font-size: .78rem; line-height: 1.55; }
.client-summary-card .button { margin-top: 17px; }
.client-next-step { display: grid; gap: 6px; padding-top: 17px; margin-top: 17px; border-top: 1px solid var(--line); }
.client-next-step span, .client-next-step small { color: var(--ink-soft); font-size: .75rem; }
.client-next-step strong { font-size: .88rem; }
.client-calendar-card { grid-column: 1 / -1; }
.client-calendar { display: grid; grid-template-columns: repeat(7, 1fr); margin-top: 16px; border-top: 1px solid var(--line); }
.client-calendar article { display: grid; min-height: 105px; align-content: start; gap: 6px; padding: 12px; border-bottom: 1px solid var(--line); }
.client-calendar article + article { border-left: 1px solid var(--line); }
.client-calendar span, .client-calendar small { color: var(--ink-soft); font-size: .75rem; }
.client-calendar b { font-family: var(--serif); font-size: 1.3rem; font-weight: 400; }
.client-calendar small:not(:last-child) { color: var(--accent-dark); }
.client-section-stack { display: grid; gap: 23px; margin-top: 29px; }
.client-record-panel { margin-top: 29px; }
.client-section-stack .client-record-panel { margin-top: 0; }
.client-record-panel .panel__head { align-items: center; }
.client-record { padding: 17px 0; border-bottom: 1px solid var(--line); }
.client-record span { color: var(--accent-dark); font-size: .75rem; font-weight: 700; }
.client-record h3 { margin: 7px 0 6px; font-family: var(--serif); font-size: 1.17rem; font-weight: 400; }
.client-record p { margin: 0; color: var(--ink-soft); font-size: .78rem; line-height: 1.5; }
.client-inline-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding-top: 20px; margin-top: 19px; border-top: 1px solid var(--ink); }
.client-inline-form textarea { min-height: 46px; grid-column: span 2; }
.client-inline-form .button { align-self: end; }
.client-inline-form .form-grid { grid-column: 1 / -1; margin: 0; }
.progress-timeline, .session-history { display: grid; }
.progress-timeline article, .session-history article { display: grid; grid-template-columns: 130px 1fr; gap: 20px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.progress-timeline time, .session-history time { color: var(--accent-dark); font-size: .75rem; font-weight: 700; }
.progress-timeline strong, .session-history strong { font-family: var(--serif); font-size: 1.15rem; font-weight: 400; }
.progress-timeline p, .session-history p { margin: 6px 0 0; color: var(--ink-soft); font-size: .78rem; line-height: 1.5; }
.session-history__actions { display: flex; align-items: center; justify-content: flex-end; gap: 14px; }
.session-history__actions > small { max-width: 190px; color: var(--ink-soft); font-size: .75rem; line-height: 1.45; text-align: right; }
.materials-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; margin-top: 18px; }
.material-card { display: grid; grid-template-columns: auto 1fr auto; gap: 13px; align-items: center; padding: 16px; color: var(--ink); background: #eee6da; border: 1px solid #d9cabc; text-align: left; }
.material-card:hover { border-color: var(--accent); }
.material-card > span { display: grid; width: 39px; height: 39px; place-items: center; color: var(--accent-dark); background: #fffaf2; }
.material-card small, .material-card strong, .material-card p { display: block; }
.material-card small { color: var(--accent-dark); font-size: .75rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.material-card strong { margin-top: 4px; font-family: var(--serif); font-size: 1rem; font-weight: 400; }
.material-card p { margin: 4px 0 0; color: var(--ink-soft); font-size: .82rem; line-height: 1.45; }
.material-card > .icon { color: var(--accent-dark); }
.waitlist-note { padding-top: 20px; margin-top: 20px; border-top: 1px solid var(--line); }
.waitlist-note p { margin: 0; color: var(--ink-soft); font-size: .78rem; }
.attachment-preview { padding: 29px; }
.document-preview { max-width: 630px; padding: clamp(24px, 5vw, 54px); margin: auto; background: #fffefa; box-shadow: 0 12px 30px rgb(32 28 21 / 14%); }
.document-preview header { display: flex; justify-content: space-between; padding-bottom: 17px; border-bottom: 1px solid #ded6ca; color: var(--accent-dark); font-family: var(--serif); }
.document-preview header small { color: var(--ink-soft); font-family: var(--sans); font-size: .75rem; }
.document-preview h3 { margin: 34px 0 13px; font-family: var(--serif); font-size: 2rem; font-weight: 400; }
.document-preview > p, .document-preview__text { color: var(--ink-soft); font-size: .86rem; line-height: 1.7; }
.document-preview__text { padding-top: 18px; margin-top: 22px; border-top: 1px solid #ded6ca; }
.audio-preview { display: grid; grid-template-columns: minmax(180px, .5fr) 1fr; gap: 30px; align-items: center; }
.audio-preview__cover { overflow: hidden; aspect-ratio: 1; }
.audio-preview__cover img { width: 100%; height: 100%; object-fit: cover; }
.audio-preview h3 { margin: 8px 0 10px; font-family: var(--serif); font-size: 1.65rem; font-weight: 400; }
.audio-preview p { color: var(--ink-soft); font-size: .82rem; line-height: 1.55; }
.audio-preview__controls { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; }
.audio-preview__controls > span { display: flex; align-items: center; gap: 8px; color: var(--ink-soft); font-size: .7rem; }
.audio-preview__controls i { display: block; width: 100px; height: 3px; background: linear-gradient(90deg, var(--accent) 36%, var(--line-strong) 36%); }

@media (max-width: 1150px) {
  .client-directory__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .content-suite__items { grid-template-columns: repeat(3, 1fr); }
  .content-suite__items article:nth-child(4), .content-suite__items article:nth-child(5) { border-top: 1px solid rgb(255 255 255 / 25%); }
}
@media (max-width: 1050px) {
  .dashboard-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-metrics .metric-card:nth-child(3) { border-top: 1px solid var(--line); border-left: 0; }
  .client-section-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .dashboard-workspace, .dashboard-launchpad, .brand-purpose, .unpacking-map, .content-explainer, .theme-panel__grid { grid-template-columns: 1fr; }
  .dashboard-launchpad article + article, .brand-purpose article + article, .unpacking-card:nth-child(even) { padding-left: 0; border-top: 1px solid #cbbba7; border-left: 0; }
  .dashboard-launchpad article, .brand-purpose article, .unpacking-card { min-height: auto; padding: 23px 0; }
  .dashboard-launchpad p { min-height: 0; }
  .unpacking-card:nth-child(even) { border-top-color: var(--line-strong); }
  .theme-panel__head { display: grid; align-items: start; }
  .theme-panel__scope { justify-self: start; }
  .theme-card + .theme-card { border-top: 1px solid var(--line); border-left: 0; }
  .content-explainer { gap: 18px; }
  .content-suite > header { display: grid; }
  .content-suite__items { grid-template-columns: repeat(2, 1fr); }
  .content-suite__items article { min-height: 242px; border-top: 1px solid rgb(255 255 255 / 25%); }
  .content-suite__items article > div { min-height: 242px; }
  .content-suite__items article:nth-child(odd) { border-left: 0; }
  .client-directory__grid, .client-section-grid, .materials-grid { grid-template-columns: 1fr; }
  .client-page-head { display: grid; align-items: start; }
  .client-quick-stats { grid-template-columns: repeat(2, 1fr); }
  .client-quick-stats span:nth-child(3) { border-top: 1px solid var(--line); border-left: 0; }
  .client-quick-stats span:nth-child(4) { border-top: 1px solid var(--line); }
  .client-calendar { grid-template-columns: repeat(2, 1fr); }
  .client-calendar article:nth-child(odd) { border-left: 0; }
  .client-inline-form { grid-template-columns: 1fr; }
  .client-inline-form textarea { grid-column: auto; }
  .progress-timeline article, .session-history article, .audio-preview { grid-template-columns: 1fr; gap: 9px; }
  .session-history__actions { align-items: stretch; flex-direction: column; }
  .session-history__actions .button { width: 100%; }
  .session-history__actions > small { max-width: none; text-align: left; }
  .public-about { grid-template-columns: 1fr; }
  .public-about > img { min-height: 180px; }
}
@media (max-width: 430px) {
  .dashboard-metrics .metric-card { min-height: 126px; padding: 16px 12px; }
  .content-suite__items { grid-template-columns: 1fr; }
  .content-suite__items article { grid-column: auto; border-left: 0 !important; }
  .client-directory-card { grid-template-columns: auto minmax(0, 1fr) auto; }
  .client-directory-card__meta { display: none; }
  .client-calendar { grid-template-columns: 1fr; }
  .client-calendar article { min-height: 74px; grid-template-columns: 55px 35px 1fr; align-items: center; }
  .client-calendar article + article { border-left: 0; }
  .attachment-preview { padding: 18px; }
}

/* Global redesign 2026-07-13 — Quiet Practice Desk */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.reveal { animation-duration: .22s; }
.delay-1 { animation-delay: .03s; }
.delay-2 { animation-delay: .06s; }
.delay-3 { animation-delay: .09s; }

.sidebar { padding-top: 25px; background: var(--graphite); }
.nav-list { margin-top: 34px; }
.nav-group-label { display: block; padding: 22px 12px 8px; color: #b7b8b0; font-size: .75rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.nav-group-label:first-child { padding-top: 0; }
.nav-link { border-radius: 0; border-left: 2px solid transparent; }
.nav-link.active { color: #fffaf1; background: #33352f; border-left-color: #d68468; }
.nav-link.active i { display: none; }
.nav-link:hover { background: #33352f; }
.privacy-note { margin-top: 10px; border-top: 1px solid #454641; }
.workspace { padding-top: clamp(42px, 4.2vw, 68px); }

.capability-label { display: inline-flex; min-height: 28px; align-items: center; padding: 4px 8px; color: #514b42; background: #e6d9c8; border: 1px solid #b7a58f; font-size: .75rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.capability-note { padding-top: 20px; margin-top: 20px; border-top: 1px solid #585a54; }
.capability-note p { margin: 9px 0 0; color: #d7d8d1; font-size: .78rem; line-height: 1.5; }
.section-title-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding-bottom: 22px; border-bottom: 1px solid var(--ink); }
.section-title-row .kicker { margin-bottom: 7px; }

/* First run */
.first-run { min-height: 100vh; padding: 30px clamp(24px, 7vw, 112px) 54px; background: var(--paper); }
.first-run__brand { display: inline-flex; align-items: center; gap: 12px; min-height: 48px; }
.first-run__brand .brandmark__symbol { color: #fffaf1; background: var(--graphite); border-color: var(--graphite); }
.first-run__brand strong, .first-run__brand small { display: block; }
.first-run__brand small { margin-top: 2px; color: var(--ink-soft); font-size: .75rem; }
.first-run__intro { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(300px, .65fr); gap: clamp(40px, 8vw, 120px); align-items: end; max-width: 1320px; margin: clamp(42px, 7vh, 76px) auto 0; padding-bottom: clamp(30px, 5vw, 54px); border-bottom: 1px solid var(--ink); }
.first-run__intro .eyebrow, .first-run__intro h1 { grid-column: 1; }
.first-run__intro h1 { font-size: clamp(3.3rem, 6.4vw, 6.2rem); }
.first-run__intro > p:last-child { grid-column: 2; align-self: end; margin: 0; color: var(--ink-soft); font-size: 1.03rem; line-height: 1.75; }
.first-run__choices { display: grid; max-width: 1320px; margin: 0 auto; }
.start-choice { display: grid; grid-template-columns: 78px minmax(0, 1fr) auto; gap: clamp(22px, 4vw, 60px); align-items: center; padding: clamp(24px, 3vw, 38px) clamp(18px, 2.5vw, 32px); border-bottom: 1px solid var(--line-strong); }
.start-choice__number { color: var(--accent-dark); font-family: var(--serif); font-size: 2rem; }
.start-choice h2 { margin: 5px 0 10px; font-size: clamp(1.9rem, 3vw, 3.1rem); }
.start-choice p:not(.kicker) { max-width: 710px; margin: 0; color: var(--ink-soft); line-height: 1.6; }
.start-choice--primary { background: var(--paper-strong); border-top: 3px solid var(--accent); box-shadow: var(--shadow); }
.first-run__assurance { display: flex; max-width: 1320px; align-items: center; gap: 10px; margin: 26px auto 0; color: var(--ink-soft); font-size: .76rem; }
.first-run__assurance .icon { color: var(--success); }

/* Today */
.today-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; padding-bottom: clamp(32px, 5vw, 62px); }
.today-header > div { max-width: 820px; }
.today-header h1 { font-size: clamp(3rem, 4.7vw, 5.35rem); }
.section-hub { margin: 0 0 clamp(38px, 5vw, 70px); }
.section-hub .section-title-row { align-items: end; margin-bottom: 17px; }
.section-hub .section-title-row h2 { margin-bottom: 0; }
.section-hub .section-title-row > p { max-width: 360px; margin: 0; color: var(--ink-soft); font-size: .84rem; line-height: 1.5; text-align: right; }
.section-hub__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.section-hub__tile { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; gap: 12px; align-items: center; min-height: 112px; padding: 17px; border: 1px solid var(--line-strong); border-radius: 16px; color: var(--ink); text-decoration: none; box-shadow: 0 9px 22px rgb(53 44 31 / 5%); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.section-hub__tile:hover { transform: translateY(-2px); border-color: var(--accent); box-shadow: 0 16px 28px rgb(53 44 31 / 10%); }
.section-hub__tile > span { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 12px; }
.section-hub__tile > .icon { width: 18px; color: var(--ink-soft); }
.section-hub__tile h3 { margin: 0; font-family: var(--serif); font-size: 1.22rem; font-weight: 400; }
.section-hub__tile p { margin: 4px 0 0; color: var(--ink-soft); font-size: .76rem; line-height: 1.38; }
.section-hub__tile--people { background: #e6f0e6; }.section-hub__tile--people > span { background: #c9e0ca; color: #255d43; }
.section-hub__tile--calendar { background: #f4ece0; }.section-hub__tile--calendar > span { background: #e9d7bf; color: #81582c; }
.section-hub__tile--finance { background: #e2eef4; }.section-hub__tile--finance > span { background: #c7dfe8; color: #285e73; }
.section-hub__tile--groups { background: #e8f3ff; }.section-hub__tile--groups > span { background: #c7e1fb; color: #245f9b; }
.section-hub__tile--practice { background: #f1eee6; }.section-hub__tile--practice > span { background: #ddd6c7; color: #545449; }
.section-hub__tile--supervisor { background: #eef2ff; }.section-hub__tile--supervisor > span { background: #dce4ff; color: #354dd0; }
.section-hub__tile--growth { background: #e9f0e6; }.section-hub__tile--growth > span { background: #d5e2cf; color: #4a6e3f; }
.section-hub__tile--site { background: #f3e9e3; }.section-hub__tile--site > span { background: #e8d3c5; color: #805744; }
.demo-guide-page { max-width: 1120px; }
.demo-guide-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .38fr); gap: clamp(30px, 6vw, 88px); align-items: end; padding-bottom: clamp(34px, 5vw, 60px); border-bottom: 1px solid var(--ink); }
.demo-guide-hero > div { max-width: 700px; }
.demo-guide-hero aside { display: grid; gap: 12px; padding: 24px; background: var(--paper-strong); border: 1px solid var(--line-strong); box-shadow: 0 12px 30px rgb(53 44 31 / 6%); }
.demo-guide-hero aside strong { font-family: var(--serif); font-size: 1.7rem; font-weight: 400; }
.demo-guide-hero aside p { margin: 0; color: var(--ink-soft); font-size: .82rem; line-height: 1.5; }
.demo-capabilities { margin-top: clamp(42px, 6vw, 74px); }
.demo-capabilities .section-title-row { align-items: end; margin-bottom: 18px; }
.demo-capabilities .section-title-row > p { max-width: 320px; margin: 0; color: var(--ink-soft); font-size: .82rem; line-height: 1.5; text-align: right; }
.demo-capabilities__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.demo-capabilities__grid article { padding: clamp(24px, 3vw, 36px); background: var(--paper-strong); border: 1px solid var(--line); box-shadow: 0 10px 25px rgb(53 44 31 / 5%); }
.product-contour-card { display: grid; align-content: start; gap: 16px; min-height: 440px; }
.product-contour-card header { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 14px; align-items: start; }
.product-contour-card header > span { color: var(--accent-dark); font-family: var(--serif); font-size: 1.55rem; line-height: 1; }
.product-contour-card header small { display: block; margin-bottom: 6px; color: var(--accent-dark); font-size: .7rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.demo-capabilities__grid h3 { margin: 0; font-family: var(--serif); font-size: clamp(1.35rem, 2vw, 1.8rem); font-weight: 400; line-height: 1.1; }
.product-contour-card > p { margin: 0; color: var(--ink-soft); font-size: .88rem; line-height: 1.58; }
.product-contour-card > strong { display: block; padding: 12px 14px; color: var(--accent-dark); background: var(--accent-pale); font-size: .8rem; line-height: 1.45; }
.demo-capabilities__grid ul { display: grid; gap: 10px; padding: 0; margin: 0; list-style: none; }
.demo-capabilities__grid li { position: relative; padding-left: 18px; color: var(--ink-soft); font-size: .84rem; line-height: 1.5; }
.demo-capabilities__grid li::before { position: absolute; left: 0; color: var(--accent); content: "•"; }
.product-contour-card .text-link { align-self: end; margin-top: auto; }
.demo-scenarios { margin-top: clamp(64px, 9vw, 116px); }
.demo-scenarios .section-title-row { align-items: end; }
.demo-scenarios .section-title-row > p { max-width: 350px; margin: 0; color: var(--ink-soft); font-size: .84rem; line-height: 1.5; text-align: right; }
.demo-guide-steps { display: grid; padding: 0; margin: clamp(34px, 5vw, 64px) 0; list-style: none; border-top: 1px solid var(--line-strong); }
.demo-guide-step { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: clamp(18px, 3vw, 34px); align-items: center; min-height: 150px; padding: 25px 0; border-bottom: 1px solid var(--line); }
.demo-guide-step__number { color: var(--accent-dark); font-family: var(--serif); font-size: 1.75rem; }
.demo-guide-step h2 { font-size: clamp(1.4rem, 2.2vw, 2rem); }
.demo-guide-step p { max-width: 670px; margin: 9px 0; color: var(--ink-soft); line-height: 1.55; }
.demo-guide-step small { display: block; max-width: 690px; color: var(--accent-dark); font-size: .79rem; font-weight: 650; line-height: 1.45; }
.demo-feedback { display: grid; gap: clamp(28px, 4vw, 46px); margin-top: clamp(68px, 10vw, 128px); padding: clamp(26px, 5vw, 58px); background: var(--paper-strong); border-top: 4px solid var(--accent); box-shadow: 0 16px 40px rgb(53 44 31 / 9%); }
.demo-feedback > header { max-width: 760px; }
.demo-feedback h2 { margin: 8px 0 14px; font-size: clamp(2rem, 3.5vw, 3.4rem); }
.demo-feedback > header p { margin: 0; color: var(--ink-soft); line-height: 1.65; }
.tester-feedback-form { display: grid; gap: 20px; max-width: 820px; }
.tester-feedback-form fieldset { display: grid; gap: 16px; padding: 22px; margin: 0; border: 1px solid var(--line); }
.tester-feedback-form legend { padding: 0 7px; color: var(--accent-dark); font-size: .76rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.tester-feedback-form label { display: grid; gap: 7px; }
.tester-feedback-form label > span { color: var(--ink); font-size: .87rem; font-weight: 700; }
.tester-feedback-form textarea, .tester-feedback-form select { width: 100%; color: var(--ink); background: #fffdf8; border: 1px solid var(--line-strong); border-radius: 2px; }
.tester-feedback-form textarea { min-height: 92px; padding: 11px; resize: vertical; }
.tester-feedback-form select { min-height: 46px; padding: 0 11px; }
.tester-feedback-form .consent-row { grid-template-columns: auto 1fr; align-items: start; color: var(--ink-soft); line-height: 1.45; }
.tester-feedback-form .consent-row input { width: 20px; height: 20px; margin-top: 1px; accent-color: var(--accent); }
.tester-feedback-form .consent-row span { color: inherit; font-size: .8rem; font-weight: 500; }
.tester-feedback-form__foot { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-top: 8px; border-top: 1px solid var(--line); }
.tester-feedback-form__foot p { max-width: 500px; margin: 0; color: var(--ink-soft); font-size: .78rem; line-height: 1.5; }
.group-flow { display: flex; flex-wrap: wrap; gap: 9px; margin: -24px 0 32px; color: var(--ink-soft); font-size: .76rem; font-weight: 800; }
.group-flow span { padding: 9px 12px; border: 1px solid var(--line); border-radius: 999px; background: var(--paper-strong); }
.group-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 22px; }
.group-card, .group-create-card, .portal-preview, .portal-control { border: 1px solid var(--line-strong); background: var(--paper-strong); box-shadow: 0 12px 30px rgb(53 44 31 / 6%); }
.group-promo-page { max-width: 1180px; margin: -20px auto 0; overflow: hidden; color: #292822; background: #fbf7f0; border: 1px solid #d8cebf; border-radius: 24px; box-shadow: 0 20px 50px rgb(53 44 31 / 12%); }
.group-promo-nav { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 68px; padding: 0 clamp(22px, 4vw, 58px); border-bottom: 1px solid #d8cebf; }
.group-promo-nav a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: #75402f; font-size: .82rem; font-weight: 750; }
.group-promo-nav > span { color: #797369; font-size: .74rem; }
.group-promo-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(270px, .38fr); gap: clamp(30px, 7vw, 105px); padding: clamp(42px, 8vw, 104px) clamp(22px, 7vw, 94px); color: #fbf7f0; background: #343b35; }
.group-promo-eyebrow { display: inline-flex; padding: 7px 10px; color: #dbdcca; border: 1px solid #6a7569; border-radius: 999px; font-size: .72rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.group-promo-hero h1 { max-width: 12ch; margin: 20px 0 18px; color: #fffaf1; font-size: clamp(2.7rem, 5vw, 5.5rem); }
.group-promo-hero p { max-width: 60ch; margin: 0; color: #e5e1d6; font-size: 1rem; line-height: 1.7; }
.group-promo-hero__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.group-promo-hero__actions .button--quiet { color: #fffaf1; background: transparent; border-color: #899084; }
.group-promo-hero > div > small { display: block; max-width: 60ch; margin-top: 20px; color: #bfc5b9; font-size: .76rem; line-height: 1.5; }
.group-promo-hero aside { align-self: end; padding: 22px; border: 1px solid #687266; background: rgb(255 255 255 / 5%); }
.group-promo-hero aside > span { display: block; color: #c9d0c0; font-size: .73rem; font-weight: 750; text-transform: uppercase; }
.group-promo-hero aside > strong { display: block; margin: 8px 0 24px; color: #fffaf1; font-family: var(--serif); font-size: 1.5rem; font-weight: 400; line-height: 1.2; }
.group-promo-hero aside dl { display: grid; gap: 14px; margin: 0; }
.group-promo-hero aside dl div { padding-top: 13px; border-top: 1px solid #687266; }
.group-promo-hero aside dt { color: #bfc5b9; font-size: .68rem; font-weight: 750; text-transform: uppercase; }
.group-promo-hero aside dd { margin: 4px 0 0; color: #fffaf1; font-size: .85rem; }
.group-promo-facts { display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid #d8cebf; background: #efe6d8; }
.group-promo-facts article { display: grid; align-content: center; min-height: 145px; padding: 22px clamp(18px, 4vw, 52px); }
.group-promo-facts article + article { border-left: 1px solid #d8cebf; }
.group-promo-facts b { color: #75402f; font-family: var(--serif); font-size: clamp(1.7rem, 3vw, 2.6rem); font-weight: 400; }
.group-promo-facts span { margin-top: 6px; color: #625d54; font-size: .8rem; line-height: 1.4; }
.group-promo-section { padding: clamp(42px, 7vw, 94px); }
.group-promo-section--split { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(250px, .65fr); gap: clamp(35px, 9vw, 140px); }
.group-promo-section h2, .group-promo-program h2, .group-promo-cta h2 { margin: 10px 0 18px; font-size: clamp(2rem, 3.6vw, 3.45rem); }
.group-promo-section p { max-width: 58ch; color: #625d54; line-height: 1.7; }
.group-promo-note { align-self: start; padding: 25px; background: #e7eee4; border-radius: 16px; }
.group-promo-note ul { display: grid; gap: 12px; padding: 0; margin: 17px 0 0; list-style: none; }
.group-promo-note li { padding-left: 20px; color: #465544; font-size: .87rem; line-height: 1.5; position: relative; }
.group-promo-note li::before { content: ""; position: absolute; top: .55em; left: 0; width: 7px; height: 7px; border-radius: 50%; background: #668064; }
.group-promo-program { padding: clamp(42px, 7vw, 94px); background: #f0ebe1; }
.group-promo-program header { max-width: 650px; }
.group-promo-program ol { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; padding: 0; margin: 40px 0 0; list-style: none; border-top: 1px solid #c9c0b3; }
.group-promo-program li { min-height: 180px; padding: 22px 20px 0 0; }
.group-promo-program li + li { padding-left: 20px; border-left: 1px solid #c9c0b3; }
.group-promo-program li span { color: #75402f; font-family: var(--serif); font-size: 1.55rem; }
.group-promo-program li p { margin: 16px 0 0; color: #625d54; font-size: .86rem; line-height: 1.55; }
.group-promo-conditions { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1fr); gap: clamp(30px, 8vw, 110px); border-bottom: 1px solid #d8cebf; }
.group-promo-conditions dl { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; margin: 0; border-top: 1px solid #d8cebf; }
.group-promo-conditions dl div { min-height: 100px; padding: 17px 14px 17px 0; border-bottom: 1px solid #d8cebf; }
.group-promo-conditions dl div:nth-child(even) { padding-left: 18px; border-left: 1px solid #d8cebf; }
.group-promo-conditions dt { color: #7b756c; font-size: .68rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.group-promo-conditions dd { margin: 7px 0 0; color: #38362f; font-size: .86rem; line-height: 1.45; }
.group-promo-cta { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: clamp(35px, 6vw, 72px) clamp(22px, 7vw, 94px); color: #f9f4eb; background: #7b4535; }
.group-promo-cta .kicker, .group-promo-cta h2 { color: #f9f4eb; }.group-promo-cta h2 { max-width: 16ch; }.group-promo-cta p { max-width: 56ch; margin: 0; color: #f1d9c7; line-height: 1.55; }.group-promo-cta .button--primary { color: #4b281e; background: #f3d5be; border-color: #f3d5be; }
.group-card { padding: 25px; border-radius: 20px; }
.group-card header { display: grid; grid-template-columns: 48px 1fr; gap: 15px; }
.group-card h2, .group-create-card h2, .portal-preview h2 { margin: 8px 0; font-size: 1.8rem; }
.group-card p, .group-create-card p, .telemost-note p, .portal-safety p { color: var(--ink-soft); line-height: 1.55; }
.group-card__symbol { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 15px; color: #245f9b; background: #c7e1fb; }
.group-card dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 23px 0; padding: 16px 0; border-block: 1px solid var(--line); }
.group-card dt { color: var(--ink-soft); font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.group-card dd { margin: 6px 0 0; font-size: .86rem; line-height: 1.45; }
.group-card__promo { padding: 15px; border-radius: 12px; background: #f6eff9; }
.group-card__promo p { margin: 7px 0; font-size: .9rem; }
.telemost-note { display: grid; grid-template-columns: auto 1fr auto; gap: 11px; align-items: start; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); }
.telemost-note > span { color: #285e73; }
.telemost-note p { margin: 4px 0 0; font-size: .82rem; }
.group-create-card { display: grid; grid-template-columns: minmax(220px, .75fr) minmax(0, 1.25fr); gap: 35px; margin-top: 32px; padding: clamp(24px, 4vw, 48px); border-radius: 22px; background: linear-gradient(135deg, #e9f0e6, #f9f3eb); }
.group-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; align-content: start; }
.group-form label, .group-form .field-span { display: grid; gap: 7px; }
.group-form label span { font-weight: 750; font-size: .82rem; }
.group-form .field-span, .group-form .button { grid-column: 1 / -1; }
.portal-safety { display: flex; align-items: center; gap: 14px; margin: -22px 0 30px; padding: 16px 18px; border: 1px solid #aac4ce; border-radius: 14px; background: #e7f1f4; }
.portal-safety > .icon { color: #285e73; flex: 0 0 auto; }
.portal-safety p { margin: 3px 0 0; font-size: .85rem; }
.portal-safety .capability-label { margin-left: auto; }
.portal-preview { padding: clamp(22px, 4vw, 48px); border-radius: 22px; }
.portal-preview > header { display: flex; align-items: center; gap: 15px; padding-bottom: 23px; border-bottom: 1px solid var(--line); }
.portal-preview > header p { margin: 0; color: var(--ink-soft); }
.portal-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 24px 0; background: var(--line); border: 1px solid var(--line); }
.portal-summary article { display: grid; gap: 8px; min-height: 100px; padding: 17px; background: #fffdf8; }
.portal-summary span { color: var(--ink-soft); font-size: .76rem; font-weight: 750; }
.portal-summary strong { font-family: var(--serif); font-size: 1.28rem; font-weight: 400; }
.portal-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.portal-columns--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.portal-columns h3 { margin: 7px 0 13px; font-size: 1.35rem; }
.portal-item { margin-top: 10px; padding: 15px; border: 1px solid var(--line); border-radius: 12px; background: #fffdf8; }
.portal-item p { margin: 6px 0; color: var(--ink-soft); line-height: 1.5; }
.portal-item small { color: var(--accent-dark); font-size: .76rem; }
.portal-exercise summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; }
.portal-exercise summary::-webkit-details-marker { display: none; }
.portal-exercise summary > span { display: grid; gap: 5px; }
.portal-exercise summary > .icon { width: 16px; flex: 0 0 auto; color: var(--accent-dark); transition: transform .18s ease; }
.portal-exercise[open] summary > .icon { transform: rotate(90deg); }
.portal-exercise__body { padding-top: 15px; margin-top: 13px; border-top: 1px solid var(--line); }
.portal-exercise__body ol { display: grid; gap: 7px; padding-left: 20px; margin: 9px 0 14px; color: var(--ink-soft); font-size: .83rem; line-height: 1.5; }
.portal-exercise__body p { font-size: .8rem; }
.portal-control { display: grid; grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr); gap: 32px; margin-top: 28px; padding: 28px; border-radius: 20px; }
.portal-control h2 { margin: 7px 0; font-size: 1.45rem; }
.portal-control p { color: var(--ink-soft); line-height: 1.5; }
.portal-visibility-lists { display: grid; gap: 16px; }
.portal-visibility-lists section + section { padding-top: 13px; border-top: 1px solid var(--line); }
.portal-visibility-lists h3 { margin: 0; font-size: .85rem; }
.share-toggle { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; min-height: 50px; padding: 10px 0; border-bottom: 1px solid var(--line); cursor: pointer; }
.share-toggle input { width: 20px; height: 20px; accent-color: var(--accent); }
.share-toggle small { color: var(--ink-soft); }
.recording-settings > .recording-guide { margin: 0; }
.recording-guide { display: grid; grid-template-columns: minmax(220px, .75fr) minmax(0, 1.25fr); gap: 26px; margin: 24px 0; padding: 20px; border: 1px solid #aac4ce; border-radius: 14px; background: #eef5f5; }
.recording-guide h3 { margin: 7px 0; font-size: 1.3rem; }
.recording-guide > div > p { margin: 0; color: var(--ink-soft); font-size: .82rem; line-height: 1.55; }
.recording-guide__options { display: grid; gap: 8px; }
.recording-guide__options article { padding: 12px; border: 1px solid #c9dadd; border-radius: 10px; background: #fffdf8; }
.recording-guide__options strong { font-size: .86rem; }
.recording-guide__options p { margin: 5px 0 0; color: var(--ink-soft); font-size: .78rem; line-height: 1.45; }
.legal-profile-card > h2, .legal-packets-card h2, .legal-packet-preview h2, .legal-sign-form h2 { margin: 7px 0; }
.legal-profile-card > p, .legal-packets-card p, .legal-packet-preview p, .legal-sign-form p { color: var(--ink-soft); line-height: 1.55; }
.legal-packets-card { display: grid; grid-template-columns: minmax(250px, .9fr) minmax(280px, 1fr) minmax(220px, .7fr); gap: 26px; align-items: start; margin: 26px 0; padding: 25px; border: 1px solid var(--line-strong); border-radius: 18px; background: var(--paper-strong); box-shadow: 0 12px 30px rgb(53 44 31 / 5%); }
.legal-packet-form { display: grid; gap: 12px; }
.legal-packet-form label { display: grid; gap: 7px; }
.legal-packet-form label > span { font-size: .8rem; font-weight: 750; }
.legal-packet-form p { margin: 0; font-size: .8rem; }
.legal-packet-status { padding: 16px; border-radius: 12px; background: #eef5f5; }
.legal-packet-status h3 { margin: 10px 0 4px; font-size: 1.1rem; }
.legal-packet-status p { margin: 0 0 14px; font-size: .8rem; }
.legal-packet-preview { padding: clamp(22px, 4vw, 42px); border: 1px solid var(--line-strong); border-radius: 20px; background: var(--paper-strong); }
.legal-sign-form { display: grid; gap: 14px; margin-top: 24px; }
.legal-sign-form > label:not(.consent-row) { display: grid; gap: 7px; }
.legal-sign-form > label > span { font-size: .82rem; font-weight: 750; }
.legal-packet-confirmed { margin-top: 24px; }
.today-status-line { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; align-items: stretch; background: var(--paper-strong); border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line-strong); box-shadow: 0 10px 28px rgb(53 44 31 / 6%); }
.today-status-line > span { display: flex; min-height: 72px; align-items: center; gap: 8px; padding: 13px 20px; color: var(--ink-soft); font-size: .82rem; line-height: 1.4; }
.today-status-line > span + span { border-left: 1px solid var(--line); }
.today-status-line b { color: var(--ink); font-family: var(--serif); font-size: 1.5rem; font-weight: 400; }
.today-status-line .capability-label { align-self: center; min-height: 26px; margin: 0 15px; padding-block: 4px; }
.today-layout { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(300px, .72fr); gap: clamp(30px, 5vw, 74px); margin-top: clamp(40px, 6vw, 76px); }
.day-rhythm { min-width: 0; }
.day-timeline { display: grid; padding: 0; margin: 0; list-style: none; }
.day-timeline li { display: grid; grid-template-columns: 70px 18px minmax(0, 1fr) auto; gap: 15px; align-items: center; min-height: 112px; border-bottom: 1px solid var(--line); }
.day-timeline time { color: var(--accent-dark); font-size: .83rem; font-weight: 750; }
.timeline-mark { width: 9px; height: 9px; background: var(--paper-strong); border: 2px solid var(--accent); border-radius: 50%; }
.day-timeline small, .day-timeline strong, .day-timeline p { display: block; }
.day-timeline small { color: var(--ink-soft); font-size: .75rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.day-timeline strong { margin-top: 5px; font-family: var(--serif); font-size: 1.5rem; font-weight: 400; }
.day-timeline p { max-width: 62ch; margin: 5px 0 0; color: var(--ink-soft); font-size: .9rem; line-height: 1.5; }
.calm-empty { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; gap: 20px; align-items: center; min-height: 142px; padding: 26px 0; border-bottom: 1px solid var(--line); }
.calm-empty > span { display: grid; width: 48px; height: 48px; place-items: center; color: var(--accent-dark); background: #e9ddcf; }
.calm-empty h3 { margin-bottom: 7px; font-family: var(--serif); font-size: 1.45rem; font-weight: 400; }
.calm-empty p { margin: 0; color: var(--ink-soft); font-size: .82rem; line-height: 1.55; }
.calm-empty--compact { min-height: 105px; }
.next-decision { align-self: start; padding: clamp(28px, 3.5vw, 44px); color: #f8f3e9; background: var(--graphite); border-top: 4px solid var(--accent); }
.next-decision .kicker { color: #e0a990; }
.next-decision h2 { color: #fffaf1; font-size: clamp(1.9rem, 2.8vw, 3rem); }
.next-decision > p { margin: 15px 0 24px; color: #c9cbc3; line-height: 1.65; }
.next-decision .button--primary { background: var(--accent); border-color: var(--accent); }
.next-session-note { display: grid; gap: 5px; padding-top: 24px; margin-top: 28px; border-top: 1px solid #565850; }
.next-session-note span { color: #c5c7bf; font-size: .75rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.next-session-note strong { font-family: var(--serif); font-size: 1.35rem; font-weight: 400; }
.next-session-note small { color: #c9cbc3; line-height: 1.5; }
.attention-section { margin-top: clamp(58px, 8vw, 112px); }
.attention-list { display: grid; padding-inline: clamp(16px, 2.5vw, 30px); background: var(--paper-strong); border: 1px solid var(--line); box-shadow: 0 12px 30px rgb(53 44 31 / 6%); }
.attention-row { display: grid; grid-template-columns: 62px minmax(0, 1fr) auto; gap: 22px; align-items: center; min-height: 108px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.attention-row__index { color: var(--accent-dark); font-family: var(--serif); font-size: 1.5rem; }
.attention-row small { color: var(--accent-dark); font-size: .75rem; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.attention-row h3 { margin: 6px 0 4px; font-family: var(--serif); font-size: 1.35rem; font-weight: 400; }
.attention-row p { margin: 0; color: var(--ink-soft); font-size: .9rem; line-height: 1.5; }
.attention-check { display: inline-flex; min-height: 44px; align-items: center; gap: 9px; cursor: pointer; }
.attention-check input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.attention-check > span { display: grid; width: 26px; height: 26px; place-items: center; color: transparent; border: 1px solid var(--line-strong); border-radius: 50%; }
.attention-check input:focus-visible + span { outline: 3px solid #245d86; outline-offset: 3px; }
.attention-check input:checked + span { color: #fff; background: var(--success); }
.attention-check b { font-size: .82rem; }
.week-ribbon { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 34px; align-items: end; margin-top: clamp(60px, 8vw, 110px); padding: 28px clamp(18px, 2.5vw, 30px); background: var(--paper-muted); border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.week-ribbon h2 { font-size: 1.65rem; }
.week-ribbon__days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.week-ribbon__days a { display: grid; min-height: 92px; align-content: center; justify-items: center; gap: 4px; padding: 8px; border-left: 1px solid var(--line); }
.week-ribbon__days a:hover { background: var(--paper-strong); }
.week-ribbon__days span, .week-ribbon__days small { color: var(--ink-soft); font-size: .75rem; }
.week-ribbon__days b { font-family: var(--serif); font-size: 1.55rem; font-weight: 400; }

.setup-path { display: grid; padding: 0 clamp(16px, 2.5vw, 30px); margin: 0; list-style: none; background: var(--paper-strong); border: 1px solid var(--line); border-top: 3px solid var(--accent); box-shadow: 0 12px 30px rgb(53 44 31 / 6%); }
.setup-path li { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 24px; align-items: center; min-height: 122px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.setup-path li > span { display: grid; width: 42px; height: 42px; place-items: center; color: var(--accent-dark); border: 1px solid var(--line-strong); font-family: var(--serif); }
.setup-path li.is-current > span { color: #fff; background: var(--accent); border-color: var(--accent); }
.setup-path li.is-done { opacity: .65; }
.setup-path h2 { margin-bottom: 7px; font-size: 1.55rem; }
.setup-path p { margin: 0; color: var(--ink-soft); font-size: .82rem; }
.setup-path small { color: var(--success); font-weight: 750; }
.empty-practice-note, .development-assurance { display: flex; align-items: center; gap: 10px; margin-top: 28px; padding: 18px 0; color: var(--ink-soft); border-bottom: 1px solid var(--line); font-size: .78rem; }

/* Calendar */
.calendar-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line-strong); }
.calendar-toolbar > span { color: var(--ink-soft); font-size: .75rem; }
.segmented-control { display: flex; gap: 4px; }
.segmented-control button { min-height: 44px; padding: 8px 14px; color: var(--ink-soft); background: transparent; border: 1px solid transparent; font-size: .8rem; font-weight: 700; }
.segmented-control button:hover { background: var(--paper-strong); }
.segmented-control button.is-active { color: #fff; background: var(--graphite); }
.calendar-layout { display: grid; grid-template-columns: minmax(0, 1fr) 270px; gap: clamp(28px, 4vw, 56px); margin-top: 34px; }
.calendar-surface { min-width: 0; background: var(--paper-strong); border: 1px solid var(--line); }
.calendar-week { display: grid; grid-template-columns: repeat(7, minmax(92px, 1fr)); min-width: 700px; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line-strong); }
.calendar-surface:has(.calendar-week) { overflow-x: auto; scrollbar-color: var(--accent) var(--paper-muted); scrollbar-width: thin; }
.calendar-scroll-hint { display: none; align-items: center; gap: 8px; padding: 10px 12px; margin: 0; color: var(--ink-soft); background: var(--paper-muted); border-bottom: 1px solid var(--line); font-size: .78rem; }
.calendar-day { min-height: 430px; border-left: 1px solid var(--line); }
.calendar-day:last-child { border-right: 1px solid var(--line); }
.calendar-day.is-today { background: #f2dfcf; box-shadow: inset 0 4px var(--accent); }
.calendar-day > header { display: grid; min-height: 76px; align-content: center; justify-items: start; gap: 3px; padding: 12px; border-bottom: 1px solid var(--line); }
.calendar-day > header span { max-width: 100%; overflow: hidden; color: var(--ink-soft); font-size: .75rem; letter-spacing: .04em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.calendar-day > header b { font-family: var(--serif); font-size: 1.45rem; font-weight: 400; }
.calendar-day > div { display: grid; gap: 8px; padding: 10px; }
.calendar-day > div > p { color: var(--ink-faint); font-size: .78rem; line-height: 1.45; }
.calendar-session { display: grid; gap: 4px; min-height: 92px; padding: 11px; color: var(--ink); background: #dfcfba; border: 1px solid #c4ad90; border-left: 4px solid var(--accent); }
.calendar-session:hover { background: #dfcfbd; }
.calendar-session time { color: var(--accent-dark); font-size: .7rem; font-weight: 750; }
.calendar-session strong { font-family: var(--serif); font-size: 1.03rem; font-weight: 400; }
.calendar-session small { color: var(--ink-soft); font-size: .75rem; }
.calendar-context { align-self: start; padding: 26px 24px; color: #f8f3e9; background: var(--graphite); }
.calendar-context .kicker { color: #e0a990; }
.calendar-context h2 { color: #fffaf1; }
.calendar-context__list { display: grid; margin-top: 18px; }
.calendar-context__list a { display: grid; gap: 5px; padding: 17px 0; border-top: 1px solid #565850; }
.calendar-context__list a:hover strong { color: #efb59d; }
.calendar-context__list small { color: #e5b29b; font-size: .75rem; letter-spacing: .04em; text-transform: uppercase; }
.calendar-context__list strong { font-family: var(--serif); font-size: 1.25rem; font-weight: 400; }
.calendar-context__list span, .calendar-context__list p { color: #d7d8d1; font-size: .82rem; line-height: 1.5; }
.calendar-agenda { padding-inline: clamp(16px, 2.5vw, 28px); background: var(--paper-strong); border: 1px solid var(--line); border-top: 2px solid var(--ink); }
.calendar-agenda article { display: grid; grid-template-columns: 125px minmax(0, 1fr) auto; gap: 24px; align-items: center; min-height: 112px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.calendar-agenda time { display: grid; gap: 6px; }
.calendar-agenda time b { font-family: var(--serif); font-size: 1.15rem; font-weight: 400; }
.calendar-agenda time span, .calendar-agenda small { color: var(--accent-dark); font-size: .75rem; font-weight: 700; }
.calendar-agenda h3 { margin: 5px 0; font-family: var(--serif); font-size: 1.3rem; font-weight: 400; }
.calendar-agenda p { margin: 0; color: var(--ink-soft); font-size: .88rem; line-height: 1.5; }

/* Client index and dossier */
.client-index-bar { display: grid; grid-template-columns: 110px 150px 170px minmax(240px, 1fr); align-items: stretch; background: var(--paper-strong); border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line-strong); }
.client-index-bar > div { display: grid; align-content: center; min-height: 92px; padding: 14px 18px; border-right: 1px solid var(--line); }
.client-index-bar b { font-family: var(--serif); font-size: 1.7rem; font-weight: 400; }
.client-index-bar span { color: var(--ink-soft); font-size: .75rem; }
.client-search { display: grid; align-content: center; gap: 7px; padding: 13px 0 13px 24px; }
.client-search > span { display: flex; align-items: center; gap: 7px; color: var(--ink-soft); font-size: .75rem; font-weight: 700; }
.client-search .icon { width: 15px; }
.client-search input { min-height: 42px; padding: 7px 0; background: transparent; border: 0; border-bottom: 1px solid var(--line-strong); border-radius: 0; }
.client-directory { margin-top: 48px; }
.client-list-head, .client-directory-row { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(220px, 1.3fr) minmax(150px, .8fr) minmax(130px, .65fr) 24px; gap: 22px; align-items: center; }
.client-list-head { min-height: 46px; padding-inline: 18px; color: var(--ink-soft); background: var(--paper-muted); border-bottom: 1px solid var(--ink); font-size: .75rem; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.client-directory__list { display: grid; padding-inline: 18px; background: var(--paper-strong); border: 1px solid var(--line); border-top: 0; }
.client-directory-row { width: 100%; min-height: 104px; padding: 16px 0; color: var(--ink); background: transparent; border-bottom: 1px solid var(--line); text-align: left; }
.client-directory-row:hover { background: #fffaf2; box-shadow: -14px 0 0 #fffaf2, 14px 0 0 #fffaf2; }
.client-directory-row__person { display: flex; align-items: center; gap: 12px; }
.client-directory-row strong, .client-directory-row small { display: block; }
.client-directory-row strong { font-family: var(--serif); font-size: 1.15rem; font-weight: 400; }
.client-directory-row small { margin-top: 5px; color: var(--ink-soft); font-size: .78rem; line-height: 1.45; }
.client-directory-row__focus strong { font-family: var(--sans); font-size: .82rem; font-weight: 650; }
.client-directory-row__focus small { color: var(--accent-dark); }
.client-directory-row__payment strong { font-size: 1rem; }
.client-directory-row > .icon { color: var(--accent-dark); }

.case-header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .55fr); gap: clamp(35px, 7vw, 100px); align-items: end; padding-bottom: 34px; border-bottom: 1px solid var(--ink); }
.case-header__identity .back-link { margin-bottom: 28px; }
.case-header__identity .status { margin-bottom: 12px; }
.case-header__identity p { margin: 13px 0 0; color: var(--ink-soft); font-size: 1rem; }
.case-header__action { padding: 24px 0 0 28px; border-left: 1px solid var(--line-strong); }
.case-header__action h2 { font-size: 1.7rem; }
.case-header__action p { margin: 12px 0 18px; color: var(--ink-soft); font-size: .78rem; line-height: 1.5; }
.case-summary-strip { display: grid; grid-template-columns: 1.2fr 1fr .7fr 1fr; border-bottom: 1px solid var(--line-strong); }
.case-summary-strip > span { display: grid; min-height: 98px; align-content: center; gap: 7px; padding: 16px 20px; }
.case-summary-strip > span + span { border-left: 1px solid var(--line); }
.case-summary-strip small { color: var(--ink-soft); font-size: .75rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.case-summary-strip strong { font-family: var(--serif); font-size: 1.13rem; font-weight: 400; line-height: 1.3; }
.case-workspace { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, .62fr); gap: clamp(30px, 5vw, 70px); margin-top: 42px; }
.case-timeline { padding: 0; margin: 0; list-style: none; }
.case-timeline li { display: grid; grid-template-columns: 92px 14px minmax(0, 1fr); gap: 16px; min-height: 118px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.case-timeline time { color: var(--ink-soft); font-size: .75rem; }
.case-timeline__mark { width: 10px; height: 10px; margin-top: 3px; background: var(--paper); border: 2px solid var(--accent); border-radius: 50%; }
.case-timeline small { color: var(--accent-dark); font-size: .75rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.case-timeline h3 { margin: 6px 0; font-family: var(--serif); font-size: 1.3rem; font-weight: 400; }
.case-timeline p { margin: 0; color: var(--ink-soft); font-size: .76rem; line-height: 1.5; }
.case-decisions { align-self: start; background: #e7ddcf; border-top: 3px solid var(--accent); }
.case-decisions section { padding: 26px; }
.case-decisions section + section { border-top: 1px solid #c8bba9; }
.case-decisions h2 { font-size: 1.65rem; }
.case-decisions h3 { font-family: var(--serif); font-size: 1.2rem; font-weight: 400; }
.case-decisions p { margin: 10px 0 15px; color: var(--ink-soft); font-size: .77rem; line-height: 1.5; }

/* Development, AI review and practice */
.development-ledger { padding: 0 clamp(16px, 2.5vw, 30px); margin: 0; list-style: none; background: var(--paper-strong); border: 1px solid var(--line); border-top: 2px solid var(--ink); }
.development-ledger li { display: grid; grid-template-columns: 74px minmax(0, 1fr) auto; gap: clamp(22px, 4vw, 56px); align-items: center; min-height: 150px; padding: 25px 0; border-bottom: 1px solid var(--line); }
.development-ledger li.is-current { margin-inline: calc(clamp(16px, 2.5vw, 30px) * -1); padding-inline: clamp(16px, 2.5vw, 30px); background: #f0dfd1; border-left: 4px solid var(--accent); }
.development-ledger li > span { color: var(--accent-dark); font-family: var(--serif); font-size: 2rem; }
.development-ledger small { color: var(--accent-dark); font-size: .75rem; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.development-ledger h2 { margin: 7px 0 9px; font-size: 1.8rem; }
.development-ledger p { max-width: 68ch; margin: 0; color: var(--ink-soft); font-size: .92rem; line-height: 1.55; }
.development-tile-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.development-tile { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 17px; min-height: 192px; padding: 23px; color: var(--ink); border: 1px solid var(--line-strong); border-radius: 18px; transition: transform .18s ease, box-shadow .18s ease; }
.development-tile:hover { color: var(--ink); transform: translateY(-2px); box-shadow: 0 16px 32px rgb(53 44 31 / 12%); }
.development-tile__icon { display: grid; width: 56px; height: 56px; place-items: center; border-radius: 17px; }
.development-tile__icon .icon { width: 27px; height: 27px; }
.development-tile small { display: block; font-size: .71rem; font-weight: 750; letter-spacing: .045em; text-transform: uppercase; }
.development-tile h2 { margin: 7px 0 8px; font-size: 1.5rem; }
.development-tile p { margin: 0; color: var(--ink-soft); font-size: .84rem; line-height: 1.5; }
.development-tile__cta { grid-column: 2; display: inline-flex; align-items: center; gap: 8px; align-self: end; margin-top: 7px; color: var(--accent-dark); font-size: .82rem; font-weight: 750; }
.development-tile--plum { background: #e8f3ff; }.development-tile--plum .development-tile__icon { color: #245f9b; background: #c7e1fb; }
.development-tile--peach { background: #fbebe2; }.development-tile--peach .development-tile__icon { color: #943f29; background: #f2c9b8; }
.development-tile--blue { background: #e7f0f5; }.development-tile--blue .development-tile__icon { color: #245e7c; background: #bed9e8; }
.development-tile--gold { background: #f7f0df; }.development-tile--gold .development-tile__icon { color: #795914; background: #e9d598; }
.development-tile--green { background: #e7f1e8; }.development-tile--green .development-tile__icon { color: #275b40; background: #bedcc6; }
.development-assurance .icon { color: var(--accent-dark); }
.practice-flow { display: grid; grid-template-columns: repeat(4, 1fr); margin-bottom: 40px; background: var(--paper-strong); border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line-strong); }
.practice-flow span { display: flex; min-height: 74px; align-items: center; gap: 9px; padding: 13px 18px; color: var(--ink-soft); font-size: .8rem; }
.practice-flow span + span { border-left: 1px solid var(--line); }
.practice-flow b { color: var(--accent-dark); font-family: var(--serif); font-size: 1rem; font-weight: 400; }
.supervisor-gate-panel { display: grid; grid-template-columns: repeat(3, 1fr); background: var(--paper-muted); border-top: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-strong); }
.supervisor-gate-panel span { display: flex; min-height: 62px; align-items: center; gap: 7px; padding: 10px; color: var(--ink-soft); font-size: .75rem; font-weight: 700; }
.supervisor-gate-panel span + span { border-left: 1px solid var(--line); }
.supervisor-gate-panel .icon { width: 16px; color: var(--accent-dark); }

.ai-review-sheet { background: var(--paper-strong); border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line-strong); }
.ai-review-sheet > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 28px; }
.ai-review-sheet > header h3 { margin: 5px 0 8px; font-family: var(--serif); font-size: 1.65rem; font-weight: 400; }
.ai-review-sheet > header p { max-width: 720px; margin: 0; color: var(--ink-soft); font-size: .78rem; line-height: 1.5; }
.ai-review-steps { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.ai-review-steps span { min-height: 48px; padding: 15px; color: var(--ink-soft); font-size: .75rem; font-weight: 700; }
.ai-review-steps span + span { border-left: 1px solid var(--line); }
.ai-review-steps .is-done { color: var(--success); }
.ai-review-steps .is-current { color: #fff; background: var(--graphite); }
.ai-review-meta { display: grid; grid-template-columns: repeat(3, 1fr); padding: 0 28px; }
.ai-review-meta > span { display: grid; gap: 6px; padding: 20px 0; }
.ai-review-meta > span + span { padding-left: 20px; border-left: 1px solid var(--line); }
.ai-review-meta small { color: var(--ink-soft); font-size: .75rem; letter-spacing: .04em; text-transform: uppercase; }
.ai-review-meta strong { font-size: .82rem; }
.ai-review-sheet .run-artifacts { padding: 0 28px; }
.ai-review-sheet .run-artifacts details { border-top: 1px solid var(--line); }
.ai-review-sheet .run-artifacts summary { display: flex; min-height: 54px; align-items: center; justify-content: space-between; gap: 16px; cursor: pointer; }
.ai-review-sheet .run-artifacts summary small { color: var(--accent-dark); }
.ai-review-sheet > footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 24px 28px; background: #e9dfd1; }
.ai-review-sheet > footer p { display: flex; align-items: center; gap: 8px; margin: 0; color: var(--ink-soft); font-size: .7rem; }

.closeout-dialog { max-width: 820px; }
.closeout-steps { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.closeout-steps span { min-height: 46px; padding: 14px; color: var(--ink-soft); font-size: .75rem; font-weight: 700; }
.closeout-steps span + span { border-left: 1px solid var(--line); }
.closeout-steps .is-active { color: #fff; background: var(--graphite); }
.dialog label > small { display: block; margin-top: 6px; color: var(--ink-soft); font-size: .75rem; line-height: 1.45; }

.ai-preflight-dialog { max-width: 900px; }
.ai-preflight-form { gap: 22px; }
.ai-transfer-summary { display: grid; grid-template-columns: 42px 1fr; gap: 15px; align-items: start; padding: 18px; background: #e9dfd1; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.ai-transfer-summary > span { display: grid; width: 38px; height: 38px; place-items: center; color: var(--success); background: var(--paper-strong); }
.ai-transfer-summary strong { font-family: var(--serif); font-size: 1.1rem; font-weight: 400; }
.ai-transfer-summary p { margin: 5px 0 0; color: var(--ink-soft); font-size: .78rem; line-height: 1.5; }
.ai-transfer-fields { border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line); }
.ai-transfer-fields > summary { display: flex; min-height: 54px; align-items: center; justify-content: space-between; gap: 16px; cursor: pointer; font-weight: 750; }
.ai-transfer-fields > summary small { color: var(--accent-dark); font-size: .75rem; }
.ai-transfer-fields > div { display: grid; gap: 16px; padding: 4px 0 22px; }

@media (max-width: 1399px) {
  .supervisor-workspace { grid-template-columns: 230px minmax(0, 1fr); }
  .supervisor-output { position: static; grid-column: 1 / -1; max-height: none; }
  .calendar-scroll-hint { display: flex; }
}

@media (max-width: 1180px) {
  .today-layout, .case-workspace { grid-template-columns: minmax(0, 1.35fr) minmax(270px, .7fr); gap: 34px; }
  .section-hub__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .client-list-head, .client-directory-row { grid-template-columns: minmax(170px, 1fr) minmax(190px, 1.1fr) minmax(130px, .75fr) minmax(110px, .6fr) 20px; gap: 14px; }
  .calendar-layout { grid-template-columns: 1fr; }
  .calendar-context { display: grid; grid-template-columns: 180px 1fr; gap: 20px; }
  .calendar-context__list { grid-template-columns: repeat(2, 1fr); margin-top: 0; }
  .calendar-context .capability-note { grid-column: 1 / -1; }
}

@media (max-width: 1050px) {
  .today-status-line { grid-template-columns: repeat(3, 1fr); }
  .today-status-line .capability-label { display: none; }
  .case-header { grid-template-columns: 1fr .7fr; }
}

@media (max-width: 900px) {
  .first-run__intro { display: block; margin-top: 50px; padding-bottom: 34px; }
  .first-run__intro > p:last-child { margin-top: 24px; }
  .today-layout, .site-studio, .domain-card, .supervisor-workspace, .group-create-card, .portal-control { grid-template-columns: 1fr; }
  .section-hub__grid, .portal-columns, .portal-columns--three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .demo-guide-hero { grid-template-columns: 1fr; }
  .demo-capabilities__grid { grid-template-columns: 1fr; }
  .recording-guide { grid-template-columns: 1fr; }
  .legal-packets-card { grid-template-columns: 1fr; }
  .group-promo-hero, .group-promo-section--split, .group-promo-conditions { grid-template-columns: 1fr; }
  .group-promo-hero aside { max-width: 440px; }
  .group-promo-program ol { grid-template-columns: repeat(2, 1fr); }
  .group-promo-program li:nth-child(3) { padding-left: 0; border-top: 1px solid #c9c0b3; border-left: 0; }
  .next-decision { order: -1; }
  .site-readiness { border-top: 1px solid #50514b; border-left: 0; }
  .supervisor-output, .supervisor-journal { position: static; max-height: none; }
}

@media (max-width: 760px) {
  .first-run { padding: 20px 18px 36px; }
  .first-run__intro { display: block; margin-top: 58px; padding-bottom: 36px; }
  .first-run__intro h1 { font-size: clamp(3rem, 15vw, 4.7rem); }
  .first-run__intro > p:last-child { margin-top: 25px; }
  .start-choice { grid-template-columns: 46px 1fr; gap: 14px; }
  .start-choice .button { grid-column: 2; width: 100%; }
  .start-choice--primary { box-shadow: var(--shadow); }
  .today-header { display: grid; }
  .today-header h1 { font-size: clamp(2.9rem, 14vw, 4.6rem); }
  .today-status-line { grid-template-columns: 1fr; }
  .section-hub .section-title-row > p { margin-top: 8px; text-align: left; }
  .section-hub__grid { gap: 9px; }
  .section-hub__tile { grid-template-columns: 36px minmax(0, 1fr); min-height: 96px; padding: 13px; }
  .section-hub__tile > span { width: 36px; height: 36px; border-radius: 11px; }
  .section-hub__tile > .icon { display: none; }
  .section-hub__tile h3 { font-size: 1.08rem; }
  .section-hub__tile p { font-size: .72rem; }
  .demo-guide-step { grid-template-columns: 48px minmax(0, 1fr); gap: 14px; min-height: 0; }
  .demo-guide-step .text-link { grid-column: 2; justify-self: start; }
  .demo-feedback { grid-template-columns: 1fr; }
  .demo-capabilities .section-title-row > p { margin-top: 8px; text-align: left; }
  .demo-scenarios .section-title-row > p { margin-top: 8px; text-align: left; }
  .tester-feedback-form__foot { display: grid; align-items: start; }
  .group-card dl, .portal-summary, .portal-columns--three { grid-template-columns: 1fr; }
  .telemost-note { grid-template-columns: auto 1fr; }
  .telemost-note .button { grid-column: 1 / -1; }
  .portal-safety { align-items: start; }
  .portal-safety .capability-label { display: none; }
  .group-form { grid-template-columns: 1fr; }
  .group-form .field-span, .group-form .button { grid-column: auto; }
  .group-promo-page { margin-top: 0; border-right: 0; border-left: 0; border-radius: 0; }
  .group-promo-nav { align-items: flex-start; flex-direction: column; gap: 0; padding-top: 12px; padding-bottom: 12px; }
  .group-promo-hero h1 { max-width: 100%; }
  .group-promo-facts, .group-promo-program ol, .group-promo-conditions dl { grid-template-columns: 1fr; }
  .group-promo-facts article + article, .group-promo-program li + li, .group-promo-conditions dl div:nth-child(even) { padding-left: 0; border-top: 1px solid #d8cebf; border-left: 0; }
  .group-promo-facts article { min-height: 100px; }
  .group-promo-program li { min-height: 0; padding: 20px 0; border-top: 1px solid #c9c0b3; border-left: 0; }
  .group-promo-program li:first-child { border-top: 0; }
  .group-promo-conditions dl div { min-height: 0; padding: 18px 0; }
  .group-promo-cta { display: grid; }
  .group-promo-cta .button { width: 100%; }
  .today-status-line > span { min-height: 49px; padding: 9px 0; }
  .today-status-line > span + span { border-top: 1px solid var(--line); border-left: 0; }
  .today-layout, .case-workspace, .case-header { grid-template-columns: 1fr; }
  .next-decision { order: -1; }
  .section-title-row { display: grid; align-items: start; }
  .day-timeline li { grid-template-columns: 55px 14px minmax(0, 1fr); padding: 16px 0; }
  .day-timeline li > :last-child { grid-column: 3; justify-self: start; }
  .calm-empty { grid-template-columns: 46px 1fr; }
  .calm-empty > :last-child { grid-column: 2; justify-self: start; }
  .attention-row { grid-template-columns: 46px 1fr; gap: 12px; }
  .attention-row > :last-child { grid-column: 2; justify-self: start; }
  .week-ribbon { grid-template-columns: 1fr; }
  .week-ribbon__days { overflow-x: auto; grid-template-columns: repeat(7, minmax(82px, 1fr)); }
  .setup-path li, .development-ledger li { grid-template-columns: 46px 1fr; gap: 14px; }
  .setup-path li > :last-child, .development-ledger li > :last-child { grid-column: 2; justify-self: start; }
  .calendar-toolbar { align-items: flex-start; flex-direction: column; }
  .calendar-layout { margin-top: 24px; }
  .calendar-context { display: block; }
  .calendar-context__list { display: grid; grid-template-columns: 1fr; }
  .calendar-agenda article { grid-template-columns: 85px 1fr; gap: 14px; }
  .calendar-agenda article > :last-child { grid-column: 2; }
  .client-index-bar { grid-template-columns: repeat(3, 1fr); }
  .client-index-bar > div { min-height: 76px; padding: 10px; }
  .client-search { grid-column: 1 / -1; padding: 15px 0; border-top: 1px solid var(--line); }
  .client-list-head { display: none; }
  .client-directory-row { grid-template-columns: minmax(0, 1fr) auto; gap: 12px; min-height: 126px; }
  .client-directory-row__person { grid-column: 1; }
  .client-directory-row__focus { grid-column: 1; }
  .client-directory-row > span:not(.client-directory-row__person):not(.client-directory-row__focus) { display: none; }
  .client-directory-row > .icon { grid-column: 2; grid-row: 1 / span 2; }
  .case-header__action { padding: 24px 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .case-summary-strip { grid-template-columns: repeat(2, 1fr); }
  .case-summary-strip > span:nth-child(3) { border-top: 1px solid var(--line); border-left: 0; }
  .case-summary-strip > span:nth-child(4) { border-top: 1px solid var(--line); }
  .practice-flow { grid-template-columns: repeat(2, 1fr); }
  .practice-flow span:nth-child(3) { border-top: 1px solid var(--line); border-left: 0; }
  .practice-flow span:nth-child(4) { border-top: 1px solid var(--line); }
  .supervisor-gate-panel, .ai-review-steps, .ai-review-meta { grid-template-columns: 1fr; }
  .supervisor-gate-panel span + span, .ai-review-steps span + span, .ai-review-meta > span + span { padding-left: 0; border-top: 1px solid var(--line); border-left: 0; }
  .ai-review-sheet > header, .ai-review-sheet > footer { display: grid; }
  .ai-review-sheet > footer .button { width: 100%; }
  .closeout-steps { grid-template-columns: 1fr; }
  .closeout-steps span + span { border-top: 1px solid var(--line); border-left: 0; }
}

@media (max-width: 430px) {
  .first-run__brand small { display: none; }
  .today-header .button, .start-choice .button { width: 100%; }
  .next-decision { padding: 25px 20px; }
  .case-summary-strip { grid-template-columns: 1fr; }
  .case-summary-strip > span + span { border-top: 1px solid var(--line); border-left: 0; }
  .case-timeline li { grid-template-columns: 70px 10px 1fr; gap: 10px; }
  .development-ledger li { min-height: 180px; }
  .segmented-control { width: 100%; }
  .segmented-control button { flex: 1; }
}

/* Client workspace v2 — one app navigation, one session package. */
.client-workspace-v2 { --client-surface: var(--paper-strong); --client-warm: var(--paper-muted); --client-dark: var(--graphite); }
.client-context-header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .5fr); gap: clamp(32px, 6vw, 86px); align-items: end; padding-bottom: 30px; border-bottom: 1px solid var(--ink); }
.client-context-header__title { display: flex; align-items: flex-start; gap: 18px; margin-top: 24px; }
.client-context-header__title .avatar { margin-top: 7px; }
.client-context-header__title h1 { margin-top: 9px; font-size: clamp(2.6rem, 4.8vw, 4.2rem); }
.client-context-header__title p { margin: 9px 0 0; color: var(--ink-soft); font-size: .9rem; line-height: 1.5; }
.client-next-action { padding: 4px 0 3px 28px; border-left: 1px solid var(--line-strong); }
.client-next-action h2 { font-size: clamp(1.55rem, 2.2vw, 2.25rem); }
.client-next-action p { max-width: 430px; margin: 10px 0 18px; color: var(--ink-soft); font-size: .76rem; line-height: 1.55; }
.client-next-action__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 11px; }
.client-next-action__links { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 20px; margin-top: 13px; }
.client-next-action__links .text-link { width: fit-content; }
.client-section-tiles { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin: 18px 0 28px; }
.client-section-tile { display: grid; grid-template-columns: 40px minmax(0, 1fr) 16px; gap: 10px; align-items: center; min-height: 88px; padding: 11px 12px; color: var(--ink); border: 1px solid var(--line-strong); border-radius: 15px; text-align: left; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.client-section-tile > .icon { grid-column: 3; grid-row: 1; justify-self: end; width: 16px; color: var(--ink-soft); }
.client-section-tile:hover, .client-section-tile.is-active { color: var(--ink); border-color: var(--ink); transform: translateY(-1px); box-shadow: 0 10px 20px rgb(53 44 31 / 9%); }
.client-section-tile__icon { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 13px; }
.client-section-tile__icon .icon { width: 21px; height: 21px; }
.client-section-tile__copy { display: grid; gap: 3px; min-width: 0; }
.client-section-tile__copy small { color: var(--ink-soft); font-size: .66rem; font-weight: 750; letter-spacing: .06em; }
.client-section-tile__copy strong { font-size: .82rem; line-height: 1.2; }
.client-section-tile__copy em { display: -webkit-box; overflow: hidden; color: var(--ink-soft); font-size: .68rem; font-style: normal; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.client-section-tile--orange { background: #fbede4; }.client-section-tile--orange .client-section-tile__icon { color: #93432d; background: #f0cdbd; }
.client-section-tile--violet { background: #eef2ff; }.client-section-tile--violet .client-section-tile__icon { color: #354dd0; background: #dce4ff; }
.client-section-tile--blue { background: #eaf2f6; }.client-section-tile--blue .client-section-tile__icon { color: #2e6580; background: #c7dfea; }
.client-section-tile--green { background: #e9f2ea; }.client-section-tile--green .client-section-tile__icon { color: #2e6544; background: #c6dfca; }
.client-section-tile--gold { background: #f8f1e2; }.client-section-tile--gold .client-section-tile__icon { color: #765912; background: #ead69d; }
.client-state-line { display: grid; grid-template-columns: 1.2fr 1fr .9fr .8fr .7fr; margin-bottom: 42px; background: var(--paper-strong); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line-strong); }
.client-state-line > span { display: grid; min-height: 82px; align-content: center; gap: 6px; padding: 14px 18px; }
.client-state-line > span + span { border-left: 1px solid var(--line); }
.client-state-line small { color: var(--ink-soft); font-size: .75rem; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.client-state-line strong { font-family: var(--serif); font-size: 1rem; font-weight: 400; line-height: 1.35; }

.client-overview-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, .58fr); gap: 40px clamp(30px, 5vw, 72px); }
.session-package-ledger { min-width: 0; }
.session-package-ledger > header { display: flex; align-items: flex-end; justify-content: space-between; gap: 22px; padding-bottom: 21px; border-bottom: 1px solid var(--ink); }
.session-package-ledger > header h2 { font-size: clamp(1.9rem, 3vw, 3rem); }
.session-package-ledger > header p { max-width: 62ch; margin: 9px 0 0; color: var(--ink-soft); font-size: .88rem; line-height: 1.5; }
.session-package-ledger > ol { padding: 0; margin: 0; list-style: none; }
.session-package-ledger > ol > li { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto 44px; gap: 14px; align-items: center; min-height: 104px; border-bottom: 1px solid var(--line); }
.package-ledger__number { color: var(--accent-dark); font-family: var(--serif); font-size: 1.35rem; }
.session-package-ledger h3 { font-family: var(--serif); font-size: 1.2rem; font-weight: 400; }
.session-package-ledger li p { margin: 5px 0 0; color: var(--ink-soft); font-size: .85rem; line-height: 1.5; }
.package-ledger__status { color: var(--ink-soft); font-size: .75rem; font-weight: 750; }
.package-ledger__status::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 7px; background: var(--line-strong); border-radius: 50%; }
.package-ledger__status.is-ready { color: var(--success); }
.package-ledger__status.is-ready::before { background: var(--success); }
.client-compass { align-self: start; background: var(--client-warm); border-top: 3px solid var(--accent); }
.client-compass section { padding: 25px; }
.client-compass section + section { border-top: 1px solid var(--line); }
.client-compass h2 { font-size: 1.55rem; }
.client-compass h3 { font-family: var(--serif); font-size: 1.15rem; font-weight: 400; }
.client-compass p { margin: 9px 0 15px; color: var(--ink-soft); font-size: .86rem; line-height: 1.55; }
.client-recent-thread { grid-column: 1 / -1; max-width: 920px; padding-top: 18px; }
.client-recent-thread .case-timeline li { min-height: 104px; }

.package-empty { display: grid; grid-template-columns: 54px minmax(0, 1fr) auto; gap: 22px; align-items: center; min-height: 260px; padding: clamp(28px, 5vw, 56px); background: var(--paper-strong); border-top: 2px solid var(--accent); border-bottom: 1px solid var(--line-strong); }
.package-empty > span { display: grid; width: 50px; height: 50px; place-items: center; color: var(--accent-dark); background: var(--accent-pale); border-radius: 50%; }
.package-empty h2 { max-width: 760px; font-size: clamp(1.8rem, 3.3vw, 3.2rem); }
.package-empty p { max-width: 720px; margin: 13px 0 0; color: var(--ink-soft); line-height: 1.6; }
.session-package-workspace { display: grid; gap: 0; }
.session-package-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 25px; align-items: end; padding: clamp(24px, 4vw, 42px); color: #fffaf1; background: var(--client-dark); border-top: 3px solid var(--accent); }
.session-package-header h2 { color: #fffaf1; font-size: clamp(2rem, 3.7vw, 3.7rem); }
.session-package-header p { max-width: 62ch; margin: 12px 0 0; color: #dedbd2; font-size: .9rem; line-height: 1.6; }
.session-package-header .kicker { color: #efb9a8; }
.package-context { display: flex; flex-wrap: wrap; gap: 12px 22px; margin: 18px 0 0; }
.package-context div { display: grid; gap: 3px; }
.package-context dt { color: #bfc0b8; font-size: .66rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.package-context dd { margin: 0; color: #fffaf1; font-size: .8rem; line-height: 1.4; }
.package-readiness { display: grid; min-width: 105px; justify-items: end; gap: 5px; }
.package-readiness strong { color: #f1c0ad; font-family: var(--serif); font-size: 2.7rem; font-weight: 400; }
.package-readiness span { color: #dedbd2; font-size: .75rem; font-weight: 700; }
.package-readiness small { max-width: 145px; color: #c9c6bd; font-size: .7rem; line-height: 1.4; text-align: right; }
.package-history { display: flex; gap: 0; overflow-x: auto; background: var(--paper-muted); border-bottom: 1px solid var(--line-strong); scrollbar-width: thin; }
.package-history button { display: grid; min-width: 155px; min-height: 78px; align-content: center; gap: 3px; padding: 12px 18px; color: var(--ink-soft); background: transparent; border-right: 1px solid var(--line-strong); text-align: left; }
.package-history button.is-active { color: var(--ink); background: var(--paper-strong); box-shadow: inset 0 -3px var(--accent); }
.package-history span, .package-history small { font-size: .75rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.package-history strong { font-family: var(--serif); font-size: 1rem; font-weight: 400; }

.package-module { scroll-margin-top: 82px; overflow: clip; margin-top: clamp(38px, 5vw, 66px); background: var(--paper-strong); border: 1px solid var(--line); border-top: 3px solid var(--ink); box-shadow: 0 14px 34px rgb(53 44 31 / 7%); }
.package-module__head { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 20px; align-items: start; padding: 26px clamp(20px, 3vw, 38px); background: var(--paper-muted); border-bottom: 1px solid var(--line); }
.package-module__head > span:first-child { color: var(--accent-dark); font-family: var(--serif); font-size: 2rem; }
.package-module__head small { display: block; margin-bottom: 5px; color: var(--accent-dark); font-size: .75rem; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.package-module__head h2 { font-size: clamp(1.9rem, 3vw, 3rem); }
.package-module__head p { max-width: 62ch; margin: 7px 0 0; color: var(--ink-soft); font-size: .88rem; line-height: 1.55; }
.package-module__actions { display: grid; justify-items: end; gap: 10px; }
.package-module__actions .button { min-height: 40px; padding-inline: 12px; font-size: .76rem; }
.package-module--transcript { border-top-color: var(--accent); }
.transcript-workflow { display: grid; grid-template-columns: minmax(220px, .72fr) minmax(0, 1.28fr); border-bottom: 1px solid var(--line); background: var(--paper-strong); }
.transcript-statuses { display: grid; gap: 0; padding: 0; margin: 0; list-style: none; background: var(--client-dark); }
.transcript-statuses li { display: flex; min-height: 48px; align-items: center; gap: 10px; padding: 10px 20px; color: #c9c6bd; border-bottom: 1px solid #50524c; font-size: .78rem; font-weight: 700; }
.transcript-statuses li:last-child { border-bottom: 0; }
.transcript-statuses li span { width: 9px; height: 9px; flex: 0 0 auto; background: #777970; border-radius: 50%; }
.transcript-statuses li.is-current { color: #fffaf1; }
.transcript-statuses li.is-current span { background: #eab49f; box-shadow: 0 0 0 4px rgb(234 180 159 / 18%); }
.transcript-workflow__copy { padding: clamp(22px, 4vw, 38px); }
.transcript-workflow__copy p { max-width: 58ch; margin: 0; color: var(--ink-soft); font-family: var(--serif); font-size: 1.25rem; line-height: 1.42; }
.transcript-workflow__copy small { display: block; max-width: 68ch; margin-top: 14px; color: var(--ink-faint); font-size: .76rem; line-height: 1.55; }
.transcript-preview { padding: clamp(22px, 4vw, 38px); background: #eee7dc; border-bottom: 1px solid var(--line); }
.transcript-preview p { max-width: 78ch; max-height: 12em; margin: 8px 0 18px; overflow: auto; color: var(--ink-soft); font-size: .9rem; line-height: 1.65; white-space: pre-wrap; }
.transcript-preview > .button { margin: 12px 10px 0 0; }
.speaker-assignment { display: grid; gap: 14px; max-width: 900px; padding: 18px; margin: 18px 0; background: var(--paper-strong); border: 1px solid var(--line); }
.speaker-assignment fieldset { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 0; margin: 0; border: 0; }
.speaker-assignment legend { grid-column: 1 / -1; padding: 0; color: var(--ink); font-family: var(--serif); font-size: 1.25rem; }
.speaker-assignment fieldset > p { grid-column: 1 / -1; max-height: none; margin: 0; overflow: visible; }
.speaker-assignment label { display: grid; gap: 7px; color: var(--ink-soft); font-size: .82rem; font-weight: 700; }
.speaker-assignment textarea { width: 100%; resize: vertical; }
.speaker-assignment .button { justify-self: start; min-height: 44px; align-items: center; }
.transcript-ai-draft { max-width: 72ch; padding: 15px 17px; margin-top: 18px; background: #e1eadf; border-left: 3px solid var(--success); }
.transcript-ai-draft p { max-height: none; margin: 4px 0 0; overflow: visible; font-size: .8rem; }
.analysis-draft-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin-top: 20px; border: 1px solid var(--line); background: var(--paper-strong); }
.analysis-draft-grid > header { grid-column: 1 / -1; padding: 20px 22px; background: var(--paper-muted); border-bottom: 1px solid var(--line); }
.analysis-draft-grid h3 { font-family: var(--serif); font-size: 1.5rem; font-weight: 400; }
.analysis-draft-grid header p { max-width: 68ch; margin: 6px 0 0; color: var(--ink-soft); font-size: .8rem; line-height: 1.5; }
.analysis-draft-grid article { display: grid; align-content: start; gap: 10px; min-height: 190px; padding: 21px; border-bottom: 1px solid var(--line); }
.analysis-draft-grid article:nth-child(odd) { border-left: 1px solid var(--line); }
.analysis-draft-grid article h4 { margin: 0; font-family: var(--serif); font-size: 1.25rem; font-weight: 400; }
.analysis-draft-grid article p { display: -webkit-box; margin: 0; overflow: hidden; color: var(--ink-soft); font-size: .82rem; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.analysis-draft-grid article .button { align-self: end; width: fit-content; margin-top: auto; }
.release-supervisor { margin-top: 20px; background: var(--paper-strong); border: 1px solid var(--line-strong); }
.release-supervisor > summary { display: flex; min-height: 54px; align-items: center; gap: 10px; padding: 12px 16px; cursor: pointer; font-weight: 750; }
.release-supervisor > summary small { margin-left: auto; color: var(--ink-soft); font-weight: 500; }
.release-supervisor > form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding: 18px; border-top: 1px solid var(--line); }
.release-supervisor > form label { display: grid; gap: 7px; color: var(--ink-soft); font-size: .82rem; font-weight: 700; }
.release-supervisor > form label:first-of-type, .release-supervisor__context, .release-supervisor > form .button { grid-column: 1 / -1; }
.release-supervisor__context { margin: 0; color: var(--ink-soft); font-size: .8rem; line-height: 1.55; }
.release-supervisor__result { padding: 18px; border-top: 1px solid var(--line); }
.icd-reference { display: grid; gap: 14px; margin-top: 20px; padding: 20px; background: var(--paper-strong); border: 1px solid var(--line-strong); }
.icd-reference > h3, .icd-reference h4, .icd-reference p { margin: 0; }
.icd-reference > p, .icd-reference small { color: var(--ink-soft); line-height: 1.55; }
.icd-reference__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.icd-reference__grid > section, .icd-reference__candidate { display: grid; gap: 8px; padding: 14px; background: var(--paper); border: 1px solid var(--line); }
.icd-reference__grid .package-list { margin: 0; }
.icd-reference__candidate { grid-template-columns: 1fr; }
.icd-reference--blocked { border-color: #b88362; background: #fff3ea; }
.approach-selector { display: grid; gap: 13px; padding: 16px; margin: 0; border: 1px solid var(--line); }
.approach-selector > p { margin: 0; color: var(--ink-soft); font-size: .78rem; line-height: 1.5; }
.approach-selector > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 14px; }
.approach-selector > label { display: grid; gap: 7px; }
.transcript-consents { display: grid; gap: 10px; padding: 16px; margin: 0; border: 1px solid var(--line); }
.transcript-consents legend { padding: 0 5px; color: var(--ink-soft); font-size: .8rem; font-weight: 700; }
@media (max-width: 680px) { .speaker-assignment fieldset, .release-supervisor > form, .approach-selector > div, .icd-reference__grid { grid-template-columns: 1fr; } .release-supervisor > summary { align-items: flex-start; flex-wrap: wrap; } .release-supervisor > summary small { width: 100%; margin-left: 26px; } }

.client-portal-body { min-height: 100vh; margin: 0; background: var(--paper); color: var(--ink); }
.client-portal-app { width: min(1080px, calc(100% - 32px)); margin: 0 auto; padding: clamp(28px, 6vw, 72px) 0; }
.client-login-card { display: grid; gap: 20px; width: min(560px, 100%); padding: clamp(28px, 6vw, 54px); margin: 6vh auto 0; background: var(--paper-strong); border: 1px solid var(--line); }
.client-login-card h1, .client-portal-head h1 { margin: 0; font-family: var(--serif); font-size: clamp(2rem, 6vw, 4.4rem); font-weight: 400; line-height: 1.02; }
.client-login-card > p, .client-portal-head p { max-width: 62ch; margin: 0; color: var(--ink-soft); line-height: 1.6; }
.client-login-card form { display: grid; gap: 14px; }
.client-login-card label { display: grid; gap: 7px; color: var(--ink-soft); font-size: .85rem; font-weight: 700; }
.client-login-card .button { justify-self: start; min-height: 44px; align-items: center; }
.client-portal-error { padding: 12px 14px; color: var(--danger); background: rgb(168 70 57 / 8%); border-left: 3px solid var(--danger); }
.assessment-consent-card ul { display: grid; gap: 9px; padding-left: 20px; margin: 0; color: var(--ink-soft); line-height: 1.55; }
.assessment-consent-card form { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.assessment-consent-card a.button { width: fit-content; min-height: 44px; align-items: center; text-decoration: none; }
.assessment-panel { display: grid; gap: 18px; }
.assessment-one-time { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 14px; background: var(--accent-pale); border: 1px solid var(--line); }
.assessment-one-time small { grid-column: 1 / -1; color: var(--ink-soft); }
.assessment-list { display: grid; gap: 12px; }
.assessment-card { display: grid; gap: 14px; padding: 16px; background: var(--paper-muted); border: 1px solid var(--line); }
.assessment-card h3, .assessment-card p { margin: 7px 0 0; }
.assessment-card p { color: var(--ink-soft); overflow-wrap: anywhere; }
@media (max-width: 680px) { .assessment-one-time { grid-template-columns: 1fr; } .assessment-one-time small { grid-column: auto; } }
.client-portal-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding-bottom: 28px; border-bottom: 1px solid var(--line); }
.client-artifact-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; padding-top: 28px; }
.client-artifact { display: grid; gap: 14px; min-width: 0; padding: clamp(22px, 4vw, 34px); background: var(--paper-strong); border: 1px solid var(--line); }
.client-artifact > span { color: var(--accent-dark); font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.client-artifact h2 { margin: 0; font-family: var(--serif); font-size: clamp(1.55rem, 3vw, 2.25rem); font-weight: 400; }
.client-artifact p { margin: 0; white-space: pre-wrap; color: var(--ink-soft); line-height: 1.65; }
.client-artifact dl { display: grid; grid-template-columns: auto 1fr; gap: 7px 14px; margin: 0; }
.client-artifact dt { color: var(--ink-soft); }
.client-artifact dd { margin: 0; }
.client-artifact > small { padding-top: 14px; color: var(--ink-faint); border-top: 1px solid var(--line); }
.client-portal-empty { grid-column: 1 / -1; padding: 48px; text-align: center; background: var(--paper-strong); border: 1px solid var(--line); }
@media (max-width: 680px) { .client-portal-head { align-items: flex-start; flex-direction: column; } .client-artifact-list { grid-template-columns: 1fr; } }
.package-editor__form label > small { color: var(--ink-faint); font-size: .72rem; line-height: 1.45; }
.session-dashboard-layout { display: grid; grid-template-columns: 1.05fr .95fr; background: var(--paper-strong); border-top: 1px solid var(--line); }
.session-dashboard-layout > div { min-width: 0; padding: clamp(24px, 4vw, 42px); }
.session-dashboard-summary { background: var(--paper-muted); }
.session-dashboard-summary p { margin: 18px 0 0; font-family: var(--serif); font-size: clamp(1.35rem, 2.3vw, 2.25rem); line-height: 1.25; }
.session-dashboard-moments { border-left: 1px solid var(--line); }
.session-dashboard-columns, .session-dashboard-hypotheses { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, 1fr); padding: 0 !important; border-top: 1px solid var(--line); }
.session-dashboard-columns section, .session-dashboard-hypotheses section { padding: clamp(24px, 4vw, 40px); }
.session-dashboard-columns section + section, .session-dashboard-hypotheses section + section { border-left: 1px solid var(--line); }
.session-dashboard-hypotheses { background: var(--paper); }
.package-list { display: grid; gap: 10px; padding: 0; margin: 17px 0 0; list-style: none; }
.package-list li { position: relative; padding-left: 18px; color: var(--ink-soft); font-size: .92rem; line-height: 1.6; }
.package-list li::before { content: ""; position: absolute; top: .62em; left: 0; width: 7px; height: 7px; background: var(--accent); border-radius: 50%; }
.package-numbered-list { display: grid; gap: 0; padding: 0; margin: 16px 0 0; list-style: none; }
.package-numbered-list li { display: grid; grid-template-columns: 38px 1fr; gap: 10px; padding: 13px 0; border-top: 1px solid var(--line); }
.package-numbered-list span { color: var(--accent-dark); font-family: var(--serif); }
.package-numbered-list p { margin: 0; color: var(--ink-soft); font-size: .9rem; line-height: 1.55; }
.package-empty-copy { margin: 16px 0 0; color: var(--ink-faint); font-size: .88rem; font-style: italic; line-height: 1.5; }

.review-score-ledger { display: grid; grid-template-columns: repeat(4, 1fr); background: var(--client-dark); color: #fffaf1; }
.review-score-ledger > div { display: grid; gap: 9px; min-height: 130px; align-content: center; padding: 22px; }
.review-score-ledger > div + div { border-left: 1px solid #50524c; }
.review-score-ledger span { color: #e0ddd5; font-size: .75rem; font-weight: 700; }
.review-score-ledger i { display: block; height: 3px; background: #575951; }
.review-score-ledger i b { display: block; height: 100%; background: #eab49f; }
.review-score-ledger strong { color: #fffaf1; font-family: var(--serif); font-size: 1.8rem; font-weight: 400; }
.review-score-ledger strong small { margin-left: 3px; color: #c5c6bf; font-family: var(--sans); font-size: .75rem; }
.review-score-ledger > div > small { color: #bfc0b8; font-size: .66rem; line-height: 1.35; }
.review-score-ledger > div > p { margin: 0; color: #f1dfd4; font-size: .74rem; line-height: 1.45; }
.review-reflection-grid { display: grid; grid-template-columns: repeat(2, 1fr); background: var(--paper-strong); }
.review-reflection-grid section { min-height: 220px; padding: clamp(24px, 4vw, 40px); border-bottom: 1px solid var(--line); }
.review-reflection-grid section:nth-child(even) { border-left: 1px solid var(--line); }
.review-reflection-grid .is-positive { background: #e1eadf; }
.review-reflection-grid .is-question { background: #eee2d5; }
.review-next-experiment { padding: clamp(22px, 3vw, 34px) clamp(24px, 4vw, 40px); background: #ece5d7; border-top: 1px solid var(--line); }
.review-next-experiment p { max-width: 72ch; margin: 9px 0 0; color: var(--ink-soft); font-family: var(--serif); font-size: 1.2rem; line-height: 1.4; }

.package-module--brief { color: #fffaf1; background: var(--client-dark); border-top-color: var(--accent); }
.package-module--brief .package-module__head { padding-inline: clamp(24px, 4vw, 42px); background: transparent; border-bottom-color: #50524c; }
.package-module--brief .package-module__head h2 { color: #fffaf1; }
.package-module--brief .package-module__head p { color: #c9c6bd; }
.package-module--brief .package-module__head > span:first-child, .package-module--brief .package-module__head small { color: #eeb5a0; }
.brief-primary-focus { padding: clamp(28px, 5vw, 56px); color: var(--ink); background: #ddb7a7; }
.brief-primary-focus > span { display: block; margin-bottom: 13px; font-size: .75rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.brief-primary-focus h3 { max-width: 980px; color: var(--ink); font-family: var(--serif); font-size: clamp(1.8rem, 3.3vw, 3.3rem); font-weight: 400; line-height: 1.15; }
.brief-grid { display: grid; grid-template-columns: repeat(2, 1fr); }
.brief-grid section { min-height: 240px; padding: clamp(24px, 4vw, 42px); border-bottom: 1px solid #50524c; }
.brief-grid section:nth-child(even) { border-left: 1px solid #50524c; }
.brief-grid .kicker, .brief-closing .kicker { color: #e9b29d; }
.brief-grid .package-list li, .brief-grid .package-numbered-list p, .brief-grid .package-empty-copy, .brief-closing .package-list li, .brief-closing .package-empty-copy { color: #d3d0c7; }
.brief-grid .package-numbered-list li { border-top-color: #50524c; }
.brief-grid .package-numbered-list span { color: #e9b29d; }
.brief-stop { background: #3a302d; }
.brief-closing { padding: clamp(24px, 4vw, 42px); }
.package-module--brief .package-editor { color: var(--ink); background: var(--paper-strong); }

.exercise-studio { display: grid; grid-template-columns: minmax(230px, .82fr) minmax(0, 1.18fr); border-bottom: 1px solid var(--line); }
.exercise-studio__intro { padding: clamp(26px, 4vw, 42px); background: var(--paper-muted); }
.exercise-studio__intro h3 { max-width: 13ch; margin: 7px 0 12px; font-family: var(--serif); font-size: clamp(1.55rem, 2.6vw, 2.35rem); font-weight: 400; line-height: 1.1; }
.exercise-studio__intro p { max-width: 40ch; margin: 0; color: var(--ink-soft); font-size: .82rem; line-height: 1.6; }
.exercise-studio__flow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 0; margin: 0; list-style: none; background: var(--paper-strong); }
.exercise-studio__flow li { display: grid; align-content: center; gap: 12px; min-height: 165px; padding: 24px; }
.exercise-studio__flow li + li { border-left: 1px solid var(--line); }
.exercise-studio__flow span { color: var(--accent-dark); font-family: var(--serif); font-size: 1.4rem; }
.exercise-studio__flow p { max-width: 18ch; margin: 0; color: var(--ink-soft); font-size: .8rem; line-height: 1.55; }
.exercise-generator { border-bottom: 1px solid var(--line-strong); background: #f8f1e7; }
.exercise-generator > summary { display: flex; min-height: 68px; align-items: center; gap: 9px; padding: 0 clamp(20px, 3vw, 38px); cursor: pointer; color: var(--accent-dark); font-size: .86rem; font-weight: 750; }
.exercise-generator > summary:hover { background: #fffdf8; }
.exercise-generator > summary .icon { width: 17px; }
.exercise-generator > summary small { max-width: 480px; margin-left: auto; color: var(--ink-soft); font-size: .72rem; font-weight: 600; line-height: 1.45; text-align: right; }
.exercise-generator .package-editor__form { border-top-color: var(--line); }
.exercise-generator .package-editor__form label > small { color: var(--ink-faint); font-size: .73rem; font-weight: 500; line-height: 1.45; }
.exercise-ledger { padding-inline: clamp(20px, 3vw, 38px); background: var(--paper-strong); }
.exercise-ledger article { display: grid; grid-template-columns: 58px minmax(0, 1fr) minmax(160px, .22fr); gap: 24px; align-items: start; padding: clamp(25px, 4vw, 42px) 0; border-top: 1px solid var(--line); }
.exercise-ledger article:first-child { border-top: 0; }
.exercise-ledger__number { color: var(--accent-dark); font-family: var(--serif); font-size: 1.65rem; text-align: center; }
.exercise-preview__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 9px; }
.exercise-preview__head small { color: var(--accent-dark); font-size: .72rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.exercise-preview__head > span { padding: 4px 7px; color: var(--ink-soft); background: var(--paper); font-size: .68rem; font-weight: 750; }
.exercise-preview h3 { margin-top: 8px; font-family: var(--serif); font-size: clamp(1.45rem, 2vw, 1.75rem); font-weight: 400; line-height: 1.15; }
.exercise-preview p { max-width: 58ch; margin: 8px 0 0; color: var(--ink-soft); font-size: .9rem; line-height: 1.58; }
.exercise-preview__meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; padding: 17px 0; margin: 18px 0 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.exercise-preview__meta div { min-width: 0; padding: 0 14px; }
.exercise-preview__meta div:first-child { padding-left: 0; }
.exercise-preview__meta div + div { border-left: 1px solid var(--line); }
.exercise-preview__meta dt, .exercise-contract dt { color: var(--ink-faint); font-size: .66rem; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.exercise-preview__meta dd, .exercise-contract dd { margin: 5px 0 0; color: var(--ink-soft); font-size: .78rem; line-height: 1.45; }
.exercise-preview__details { margin-top: 15px; }
.exercise-preview__details > summary { color: var(--accent-dark); cursor: pointer; font-size: .78rem; font-weight: 750; }
.exercise-preview__details > ol { display: grid; gap: 7px; padding-left: 20px; margin: 15px 0 0; color: var(--ink-soft); font-size: .86rem; line-height: 1.55; }
.exercise-ledger__actions { display: grid; justify-items: stretch; gap: 9px; padding-top: 2px; }
.exercise-ledger__actions .button { width: 100%; min-height: 42px; padding-inline: 11px; font-size: .74rem; }
.exercise-ledger__actions > small { color: var(--ink-faint); font-size: .7rem; line-height: 1.45; }
.exercise-ledger__notice { padding-top: 3px; border-top: 2px solid var(--accent-pale); }
.exercise-contract { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 20px; padding: 18px 0 0; margin: 18px 0 0; border-top: 1px solid var(--line); }
.exercise-contract div { min-width: 0; }

.package-editor { border-top: 1px solid var(--line-strong); }
.package-editor > summary { display: flex; min-height: 60px; align-items: center; gap: 9px; padding: 0 20px; cursor: pointer; color: var(--accent-dark); background: #f4ece1; font-size: .82rem; font-weight: 750; }
.package-editor > summary:hover { background: var(--paper-strong); }
.package-editor > summary .icon { width: 17px; }
.package-editor > summary small { margin-left: auto; color: var(--ink-soft); font-size: .7rem; font-weight: 600; text-align: right; }
.package-editor__form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; padding: clamp(22px, 4vw, 38px); background: var(--paper-strong); border-top: 1px solid var(--line); }
.package-editor__form label { display: grid; align-content: start; gap: 8px; }
.package-editor__form label > span { color: var(--ink-soft); font-size: .8rem; font-weight: 700; }
.package-editor__form .field-span { grid-column: 1 / -1; }
.package-editor__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px; padding-top: 16px; border-top: 1px solid var(--line); }
.package-editor__actions > span { margin-right: auto; color: var(--ink-soft); font-size: .76rem; line-height: 1.45; }
.review-score-inputs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.client-progress-workspace, .client-admin-workspace { gap: 28px; margin-top: 0; }
.client-progress-workspace > .client-section-stack { margin-top: 0; }
.client-progress-workspace .client-record-panel, .client-admin-workspace .client-record-panel { margin-top: 0; }
.client-session-ledger { margin-top: 0; }
.session-package-state { display: block; width: fit-content; margin-top: 10px; padding: 5px 8px; color: var(--accent-dark); background: var(--accent-pale); font-size: .75rem; font-weight: 750; }
.session-package-state.is-ready { color: var(--success); background: #e1eadf; }

@media (max-width: 1180px) {
  .client-context-header { grid-template-columns: minmax(0, 1fr) minmax(280px, .58fr); gap: 34px; }
  .client-section-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .client-overview-layout { grid-template-columns: minmax(0, 1.25fr) minmax(250px, .65fr); gap: 34px; }
  .session-package-ledger > ol > li { grid-template-columns: 42px minmax(0, 1fr) 44px; }
  .package-ledger__status { grid-column: 2; }
  .session-package-ledger > ol > li .icon-button { grid-column: 3; grid-row: 1 / span 2; }
}

@media (max-width: 1050px) {
  html { scroll-padding-top: 140px; scroll-padding-bottom: calc(92px + env(safe-area-inset-bottom)); }
  :focus { scroll-margin-top: 140px; scroll-margin-bottom: calc(92px + env(safe-area-inset-bottom)); }
  .workspace { padding-bottom: calc(148px + env(safe-area-inset-bottom)); }
  .workspace > .page { margin-bottom: 180px; }
  .client-context-header { grid-template-columns: 1fr; align-items: start; }
  .client-next-action { padding: 23px 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .client-state-line { grid-template-columns: repeat(2, 1fr); }
  .client-state-line > span:nth-child(3) { border-top: 1px solid var(--line); border-left: 0; }
  .client-state-line > span:nth-child(4) { border-top: 1px solid var(--line); }
  .client-state-line > span:nth-child(5) { border-top: 1px solid var(--line); border-left: 0; }
  .client-overview-layout { grid-template-columns: 1fr; }
  .client-compass { display: grid; grid-template-columns: repeat(3, 1fr); }
  .client-compass section + section { border-top: 0; border-left: 1px solid var(--line); }
  .client-recent-thread { max-width: none; }
  .package-module { scroll-margin-top: 145px; }
}

@media (max-width: 760px) {
  .client-context-header__title { gap: 12px; margin-top: 18px; }
  .client-context-header__title h1 { font-size: clamp(2.35rem, 12vw, 3.5rem); }
  .client-next-action .button { width: 100%; }
  .development-tile-grid, .client-section-tiles { grid-template-columns: 1fr; }
  .development-tile { min-height: 0; }
  .client-section-tile { min-height: 88px; }
  .practice-rule { grid-template-columns: 40px minmax(0, 1fr); }
  .practice-rule__actions { grid-column: 2; justify-items: start; min-width: 0; }
  .client-state-line { margin-bottom: 30px; }
  .client-overview-layout { gap: 30px; }
  .session-package-ledger > header { display: grid; align-items: start; }
  .session-package-ledger > header .button { width: 100%; }
  .session-package-ledger > ol > li { grid-template-columns: 38px minmax(0, 1fr) 44px; min-height: 118px; }
  .client-compass { display: block; }
  .client-compass section + section { border-top: 1px solid var(--line); border-left: 0; }
  .package-empty { grid-template-columns: 46px 1fr; gap: 15px; }
  .package-empty > :last-child { grid-column: 2; width: 100%; }
  .session-package-header { grid-template-columns: 1fr; }
  .package-readiness { justify-items: start; }
  .package-module__head { grid-template-columns: 45px minmax(0, 1fr); gap: 12px; }
  .package-module__actions { grid-column: 2; justify-items: start; }
  .session-dashboard-layout, .session-dashboard-columns, .session-dashboard-hypotheses, .review-reflection-grid, .brief-grid { grid-template-columns: 1fr; }
  .transcript-workflow { grid-template-columns: 1fr; }
  .analysis-draft-grid { grid-template-columns: 1fr; }
  .analysis-draft-grid article:nth-child(odd) { border-left: 0; }
  .transcript-statuses { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .transcript-statuses li:nth-child(odd) { border-right: 1px solid #50524c; }
  .transcript-statuses li:nth-last-child(-n + 2) { border-bottom: 0; }
  .session-dashboard-moments, .session-dashboard-columns section + section, .session-dashboard-hypotheses section + section, .review-reflection-grid section:nth-child(even), .brief-grid section:nth-child(even) { border-top: 1px solid var(--line); border-left: 0; }
  .review-score-ledger { grid-template-columns: repeat(2, 1fr); }
  .review-score-ledger > div:nth-child(3) { border-top: 1px solid #50524c; border-left: 0; }
  .review-score-ledger > div:nth-child(4) { border-top: 1px solid #50524c; }
  .brief-grid section:nth-child(even) { border-top-color: #50524c; }
  .exercise-studio { grid-template-columns: 1fr; }
  .exercise-studio__flow { grid-template-columns: 1fr; }
  .exercise-studio__flow li { grid-template-columns: 34px minmax(0, 1fr); gap: 12px; min-height: auto; padding: 18px; }
  .exercise-studio__flow li + li { border-top: 1px solid var(--line); border-left: 0; }
  .exercise-studio__flow p { max-width: 42ch; }
  .exercise-generator > summary { align-items: flex-start; padding: 18px; }
  .exercise-generator > summary small { margin-left: 0; text-align: left; }
  .exercise-ledger article { grid-template-columns: 42px minmax(0, 1fr); gap: 12px; }
  .exercise-ledger__actions { grid-column: 2; }
  .exercise-preview__meta { grid-template-columns: 1fr; gap: 12px; }
  .exercise-preview__meta div, .exercise-preview__meta div:first-child { padding: 0; }
  .exercise-preview__meta div + div { padding-top: 12px; border-top: 1px solid var(--line); border-left: 0; }
  .exercise-contract { grid-template-columns: 1fr; }
  .package-editor__form { grid-template-columns: 1fr; padding-inline: 18px; }
  .package-editor__form .field-span { grid-column: auto; }
  .review-score-inputs { grid-template-columns: repeat(2, 1fr); }
  .client-session-ledger .session-history article { grid-template-columns: 1fr; }
}

@media (max-width: 430px) {
  .client-state-line { grid-template-columns: 1fr; }
  .client-state-line > span + span { border-top: 1px solid var(--line); border-left: 0; }
  .package-ledger__status { font-size: .75rem; }
  .review-score-ledger, .review-score-inputs { grid-template-columns: 1fr; }
  .transcript-statuses { grid-template-columns: 1fr; }
  .transcript-statuses li, .transcript-statuses li:nth-child(odd) { border-right: 0; border-bottom: 1px solid #50524c; }
  .transcript-statuses li:last-child { border-bottom: 0; }
  .review-score-ledger > div + div { border-top: 1px solid #50524c; border-left: 0; }
}

@media (max-width: 900px) {
  .today-header h1 { font-size: clamp(2.6rem, 13vw, 3.25rem); }
}

/* Public preview v2 — editorial hierarchy and honest local capability. */
.page--site .site-preview-head > div:first-child { max-width: 780px; }
.page--site .site-preview-head p { margin: 9px 0 0; color: var(--ink-soft); font-size: .76rem; line-height: 1.5; }
.public-site-v2 { --public-ink: #292b27; --public-paper: #f8f4eb; --public-muted: #69645b; }
.public-site-v2 nav { border-top: 3px solid var(--brand-accent); }
.public-site-v2 .public-site-nav { display: flex; gap: 14px; align-items: center; }
.public-site-v2 .public-site-nav button { min-height: 44px; padding: 0 2px; color: inherit; background: transparent; font-size: inherit; font-weight: 650; }
.public-site-v2 .public-site-nav button:hover { color: var(--brand-accent-dark); text-decoration: underline; text-underline-offset: 4px; }
.public-site-v2 .public-hero { position: relative; align-items: center; }
.public-site-v2 .public-hero::after { content: "01"; position: absolute; right: 42px; bottom: 18px; color: #d9d0c2; font-family: var(--serif); font-size: 1rem; }
.public-site-v2 .public-portrait img { aspect-ratio: .82; object-fit: cover; object-position: 50% 26%; filter: saturate(.74) contrast(.96); }
.public-site-v2 .public-portrait p { max-width: 290px; margin: -34px 0 0 -34px; padding: 20px 23px; color: #fffaf1; background: var(--public-ink); font-family: var(--serif); font-size: 1.05rem; line-height: 1.35; }
.public-site-v2 .public-values { border-bottom: 1px solid #d8d0c2; }
.public-site-v2 .public-values span { display: grid; grid-template-columns: 34px 1fr; gap: 12px; align-items: center; text-align: left; }
.public-site-v2 .public-values b { color: var(--brand-accent-dark); font-family: var(--serif); font-size: 1rem; font-weight: 400; }
.public-site-v2 .public-themes { display: grid; grid-template-columns: minmax(210px, .45fr) minmax(0, 1.55fr); gap: clamp(30px, 6vw, 90px); }
.public-site-v2 .public-themes > header p { max-width: 250px; margin: 16px 0 0; color: var(--public-muted); font-size: .76rem; line-height: 1.65; }
.public-site-v2 .public-themes > div { display: block; margin: 0; border-top: 1px solid #d8d0c2; }
.public-site-v2 .public-themes article { display: grid; grid-template-columns: 54px minmax(150px, .7fr) minmax(0, 1.3fr); gap: 18px; min-height: 0; align-items: start; padding: 24px 0; background: transparent; border-bottom: 1px solid #d8d0c2; }
.public-site-v2 .public-themes article:nth-child(2), .public-site-v2 .public-themes article:nth-child(3) { background: transparent; }
.public-site-v2 .public-themes h3 { margin: 0; }
.public-site-v2 .public-themes p { max-width: 430px; }
.public-site-v2 .public-services { display: grid; grid-template-columns: minmax(210px, .45fr) minmax(0, 1.55fr); gap: clamp(30px, 6vw, 90px); background: #e5dac9; }
.public-site-v2 .public-services > header h3 { max-width: 260px; margin-top: 14px; font-family: var(--serif); font-size: clamp(1.7rem, 2.6vw, 2.5rem); font-weight: 400; }
.public-site-v2 .public-services .public-cards { display: block; margin: 0; border-top: 1px solid #c9bba8; }
.public-site-v2 .public-services .public-cards article { display: grid; grid-template-columns: 42px minmax(0, 1fr) minmax(105px, auto); gap: 20px; min-height: 0; align-items: start; padding: 23px 0; border-bottom: 1px solid #c9bba8; }
.public-site-v2 .public-services .public-cards article + article { padding-left: 0; border-left: 0; }
.public-site-v2 .public-services .public-cards article > b { color: var(--brand-accent-dark); font-family: var(--serif); font-size: 1.2rem; font-weight: 400; }
.public-site-v2 .public-services .public-cards h3 { margin: 0 0 7px; }
.public-site-v2 .public-services .public-cards p { max-width: 470px; margin: 0; }
.public-site-v2 .public-services .public-cards small { text-align: right; line-height: 1.55; }
.public-site-v2 .public-process article { position: relative; }
.public-site-v2 .public-process article::after { content: ""; position: absolute; top: 29px; right: 18px; width: 30px; height: 1px; background: #d0c4b5; }
.public-site-v2 .public-process article:last-child::after { display: none; }
.public-boundary { display: grid; grid-template-columns: minmax(160px, .38fr) minmax(0, 1.62fr); gap: clamp(25px, 5vw, 70px); padding: clamp(34px, 5vw, 62px) 42px; color: #f8f4eb; background: var(--public-ink); border-top: 1px solid #4b4d47; }
.public-boundary .kicker { color: #eab49f; }
.public-boundary h3 { margin: 0 0 11px; color: #fffaf1; font-family: var(--serif); font-size: clamp(1.5rem, 2.5vw, 2.35rem); font-weight: 400; }
.public-boundary p { max-width: 760px; margin: 0; color: #c9c6bd; font-size: .78rem; line-height: 1.65; }

/* Public demo v3 — a client-facing therapist site, not a CRM-shaped landing page. */
.public-site-v3 { --site-ink: var(--brand-ink); --site-paper: var(--brand-paper-strong); --site-warm: var(--brand-paper-muted); --site-line: var(--brand-line); --site-muted: var(--brand-ink-soft); --site-accent: var(--brand-accent); --site-accent-deep: var(--brand-accent-dark); color: var(--site-ink); background: var(--site-paper); font-family: var(--sans); container-type: inline-size; container-name: public-site; }
.public-site-v3, .public-site-v3 * { box-sizing: border-box; }
.public-site-v3 .public-v3-nav { display: grid; grid-template-columns: minmax(180px, 1fr) auto minmax(180px, 1fr); min-height: 82px; max-width: none; align-items: center; gap: 22px; padding: 0 clamp(24px, 4.2vw, 62px); margin: 0; border-top: 4px solid var(--site-accent); border-bottom: 1px solid var(--site-line); }
.public-site-v3 .public-v3-brand { display: grid; gap: 3px; min-width: 0; }
.public-site-v3 .public-v3-brand strong { color: var(--site-ink); font-family: var(--serif); font-size: 1.35rem; font-weight: 400; letter-spacing: -.025em; }
.public-site-v3 .public-v3-brand small { color: var(--site-muted); font-size: .63rem; line-height: 1.25; }
.public-site-v3 .public-v3-nav__links { display: flex; align-items: center; gap: clamp(10px, 2vw, 26px); }
.public-site-v3 .public-v3-nav__links button { min-height: 44px; padding: 8px 0; color: #494a44; background: transparent; font-size: .72rem; font-weight: 680; white-space: nowrap; }
.public-site-v3 .public-v3-nav__links button:hover { color: var(--site-accent-deep); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.public-site-v3 .public-v3-nav__cta { justify-self: end; min-height: 44px; padding: 10px 17px; color: #fffaf5; background: var(--site-ink); border: 1px solid var(--site-ink); font-size: .72rem; font-weight: 750; }
.public-site-v3 .public-v3-nav__cta:hover { color: var(--site-ink); background: transparent; }
.public-site-v3 button:focus-visible, .public-site-v3 summary:focus-visible { outline: 3px solid #3165a3; outline-offset: 3px; }
.public-v3-main { overflow: hidden; }
.public-site-v3 .public-v3-kicker { margin: 0; color: var(--site-accent-deep); font-size: .67rem; font-weight: 800; letter-spacing: .1em; line-height: 1.35; text-transform: uppercase; }
.public-v3-hero { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(310px, .7fr); gap: clamp(32px, 6vw, 104px); max-width: 1240px; min-height: 610px; align-items: center; padding: clamp(48px, 8vw, 116px) clamp(24px, 5.2vw, 72px) clamp(52px, 7vw, 92px); margin: auto; }
.public-v3-hero__copy { min-width: 0; }
.public-v3-hero h2 { max-width: 710px; margin: 16px 0 20px; color: var(--site-ink); font-family: var(--serif); font-size: clamp(2.8rem, 5.15vw, 5.15rem); font-weight: 400; letter-spacing: -.058em; line-height: .99; }
.public-v3-lead { max-width: 570px; margin: 0; color: var(--site-muted); font-size: clamp(.92rem, 1.3vw, 1.08rem); line-height: 1.67; }
.public-v3-hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 19px; margin-top: 31px; }
.public-site-v3 .public-v3-hero__actions > button, .public-site-v3 .public-v3-format > button, .public-site-v3 .public-v3-closing > button { min-height: 54px; padding: 13px 21px; color: #fffaf5; background: var(--site-accent); border: 1px solid var(--site-accent); font-size: .76rem; font-weight: 760; }
.public-site-v3 .public-v3-hero__actions > button:hover, .public-site-v3 .public-v3-format > button:hover, .public-site-v3 .public-v3-closing > button:hover { color: var(--site-accent-deep); background: transparent; }
.public-v3-hero__actions > p { display: grid; gap: 3px; min-width: 98px; padding-left: 18px; margin: 0; border-left: 1px solid var(--site-line); color: var(--site-muted); font-size: .72rem; }
.public-v3-hero__actions b { color: var(--site-ink); font-size: .76rem; }
.public-v3-hero__note { display: grid; grid-template-columns: 103px minmax(0, 1fr); gap: 15px; max-width: 544px; padding-top: 24px; margin-top: clamp(33px, 5vw, 61px); border-top: 1px solid var(--site-line); }
.public-v3-hero__note > span { color: var(--site-ink); font-family: var(--serif); font-size: 1rem; }
.public-v3-hero__note p { margin: 0; color: var(--site-muted); font-size: .76rem; line-height: 1.58; }
.public-v3-portrait { position: relative; align-self: stretch; min-height: 410px; margin: 0; background: #d9c9b7; }
.public-v3-portrait::before { position: absolute; z-index: 1; top: 18px; left: -18px; width: 72px; height: 72px; content: ""; background: var(--site-accent); border-radius: 50%; }
.public-v3-portrait img { display: block; width: 100%; height: 100%; min-height: 410px; object-fit: cover; object-position: 50% 24%; filter: saturate(.76) contrast(.98); }
.public-v3-portrait figcaption { position: absolute; z-index: 2; right: -1px; bottom: 0; display: grid; gap: 4px; max-width: 245px; padding: 17px 20px; color: #faf5ed; background: var(--site-ink); }
.public-v3-portrait figcaption strong { font-family: var(--serif); font-size: 1.12rem; font-weight: 400; }
.public-v3-portrait figcaption span { color: #d1c9bd; font-size: .69rem; line-height: 1.35; }
.public-v3-arrival { display: grid; grid-template-columns: minmax(255px, .82fr) minmax(0, 1.18fr); gap: clamp(42px, 8vw, 130px); max-width: 1240px; padding: clamp(60px, 8vw, 110px) clamp(24px, 5.2vw, 72px); margin: auto; border-top: 1px solid var(--site-line); }
.public-v3-arrival > header { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 16px; align-content: start; }
.public-v3-arrival > header > span { color: var(--site-accent-deep); font-family: var(--serif); font-size: 1.32rem; }
.public-v3-arrival h3, .public-v3-first h3, .public-v3-specialist h3, .public-v3-format h3, .public-v3-questions h3, .public-v3-closing h3 { margin: 12px 0 15px; color: var(--site-ink); font-family: var(--serif); font-size: clamp(1.85rem, 3.2vw, 3.25rem); font-weight: 400; letter-spacing: -.04em; line-height: 1.07; }
.public-v3-arrival > header > div > p:last-child { max-width: 360px; margin: 0; color: var(--site-muted); font-size: .84rem; line-height: 1.67; }
.public-v3-arrival__list { border-top: 1px solid var(--site-line); }
.public-v3-arrival__list article { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 16px; align-items: start; padding: 24px 0 25px; border-bottom: 1px solid var(--site-line); }
.public-v3-arrival__list article > span { color: var(--site-accent-deep); font-family: var(--serif); font-size: 1.05rem; }
.public-v3-arrival h4 { margin: 0 0 7px; color: var(--site-ink); font-family: var(--serif); font-size: 1.28rem; font-weight: 400; }
.public-v3-arrival__list p { max-width: 520px; margin: 0; color: var(--site-muted); font-size: .82rem; line-height: 1.6; }
.public-v3-first { display: grid; grid-template-columns: minmax(0, .82fr) minmax(300px, 1.18fr); gap: clamp(30px, 5vw, 80px); padding: clamp(58px, 7.5vw, 100px) clamp(24px, 5.2vw, 72px); color: #f9f3ea; background: var(--site-ink); }
.public-v3-first__intro { align-self: center; max-width: 430px; }
.public-site-v3 .public-v3-first .public-v3-kicker { color: #e9ae99; }
.public-v3-first h3 { color: #fbf7f0; }
.public-v3-first__intro > p:last-child { margin: 0; color: #c7c5bd; font-size: .83rem; line-height: 1.67; }
.public-v3-first figure { position: relative; min-height: 310px; margin: 0; overflow: hidden; }
.public-v3-first figure::after { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg, rgb(24 27 24 / 10%), rgb(24 27 24 / 46%)); }
.public-v3-first img { display: block; width: 100%; height: 100%; min-height: 310px; object-fit: cover; filter: saturate(.62); }
.public-v3-first figcaption { position: absolute; z-index: 1; right: 18px; bottom: 16px; color: #fffaf2; font-family: var(--serif); font-size: 1.18rem; }
.public-v3-steps { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(3, 1fr); padding: 0; margin: clamp(28px, 4vw, 52px) 0 0; list-style: none; border-top: 1px solid #555950; }
.public-v3-steps li { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 13px; min-height: 130px; padding: 23px 22px 0 0; }
.public-v3-steps li + li { padding-left: 22px; border-left: 1px solid #555950; }
.public-v3-steps span { color: #e9ae99; font-family: var(--serif); font-size: 1rem; }
.public-v3-steps h4 { margin: 0 0 6px; color: #fbf7f0; font-family: var(--serif); font-size: 1.15rem; font-weight: 400; }
.public-v3-steps p { margin: 0; color: #c7c5bd; font-size: .76rem; line-height: 1.57; }
.public-v3-specialist { display: grid; grid-template-columns: minmax(320px, .95fr) minmax(0, 1.05fr); gap: clamp(42px, 7vw, 114px); align-items: center; max-width: 1240px; padding: clamp(60px, 8vw, 112px) clamp(24px, 5.2vw, 72px); margin: auto; }
.public-v3-specialist figure { position: relative; min-height: 360px; margin: 0; }
.public-v3-specialist figure::after { position: absolute; right: -14px; bottom: -14px; width: 82%; height: 73%; content: ""; background: var(--site-warm); z-index: 0; }
.public-v3-specialist img { position: relative; z-index: 1; display: block; width: 100%; height: 100%; min-height: 360px; object-fit: cover; filter: saturate(.78); }
.public-v3-specialist figcaption { position: absolute; z-index: 2; bottom: 0; left: 0; padding: 12px 15px; color: #f9f3ea; background: var(--site-accent); font-size: .7rem; font-weight: 700; }
.public-v3-specialist > div { min-width: 0; }
.public-v3-specialist > div > p:not(.public-v3-kicker) { max-width: 580px; margin: 0 0 13px; color: var(--site-muted); font-size: .86rem; line-height: 1.68; }
.public-v3-specialist dl { margin: 26px 0 0; border-top: 1px solid var(--site-line); }
.public-v3-specialist dl > div { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 15px; padding: 15px 0; border-bottom: 1px solid var(--site-line); }
.public-v3-specialist dt { color: var(--site-accent-deep); font-size: .71rem; font-weight: 800; }
.public-v3-specialist dd { margin: 0; color: var(--site-muted); font-size: .75rem; line-height: 1.5; }
.public-v3-format { display: grid; grid-template-columns: minmax(240px, .85fr) minmax(0, 1.15fr) auto; gap: clamp(24px, 4vw, 58px); align-items: end; padding: clamp(52px, 6.7vw, 88px) clamp(24px, 5.2vw, 72px); color: #fdf9f1; background: var(--site-accent); }
.public-site-v3 .public-v3-format .public-v3-kicker { color: #f6d2c4; }
.public-v3-format h3 { max-width: 360px; color: #fffaf4; }
.public-v3-format dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; border-top: 1px solid rgb(255 250 244 / 48%); border-bottom: 1px solid rgb(255 250 244 / 48%); }
.public-v3-format dl > div { min-height: 85px; padding: 14px 12px 14px 0; }
.public-v3-format dl > div + div { padding-left: 12px; border-left: 1px solid rgb(255 250 244 / 48%); }
.public-v3-format dt { margin-bottom: 8px; color: #f5d3c8; font-size: .67rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.public-v3-format dd { margin: 0; color: #fffaf4; font-family: var(--serif); font-size: 1rem; line-height: 1.32; }
.public-site-v3 .public-v3-format > button { min-width: 178px; color: var(--site-accent-deep); background: #fffaf4; border-color: #fffaf4; }
.public-site-v3 .public-v3-format > button:hover { color: #fffaf4; background: transparent; }
.public-v3-questions { display: grid; grid-template-columns: minmax(235px, .7fr) minmax(0, 1.3fr); gap: clamp(38px, 8vw, 132px); max-width: 1240px; padding: clamp(60px, 8vw, 110px) clamp(24px, 5.2vw, 72px); margin: auto; }
.public-v3-questions h3 { margin-bottom: 0; }
.public-v3-faq { border-top: 1px solid var(--site-line); }
.public-v3-faq details { border-bottom: 1px solid var(--site-line); }
.public-v3-faq summary { min-height: 62px; padding: 18px 28px 18px 0; color: var(--site-ink); cursor: pointer; font-family: var(--serif); font-size: 1.17rem; line-height: 1.25; }
.public-v3-faq p { max-width: 610px; padding: 0 0 20px; margin: 0; color: var(--site-muted); font-size: .8rem; line-height: 1.62; }
.public-v3-closing { display: flex; align-items: end; justify-content: space-between; gap: 32px; padding: clamp(52px, 7vw, 94px) clamp(24px, 5.2vw, 72px); color: #f8f2e8; background: #30352e; }
.public-site-v3 .public-v3-closing .public-v3-kicker { color: #eeb4a0; }
.public-v3-closing h3 { max-width: 700px; color: #fffaf3; }
.public-v3-closing p:not(.public-v3-kicker) { max-width: 580px; margin: 0; color: #d1d0c8; font-size: .82rem; line-height: 1.6; }
.public-site-v3 .public-v3-closing > button { flex: 0 0 auto; color: #fffaf3; background: var(--site-accent); border-color: var(--site-accent); }
.public-v3-footer { display: flex; align-items: center; justify-content: space-between; gap: 22px; min-height: 96px; padding: 21px clamp(24px, 5.2vw, 72px); color: #cbc8be; background: #20241f; }
.public-v3-footer > div { display: grid; gap: 4px; }
.public-v3-footer strong { color: #fffaf3; font-family: var(--serif); font-size: 1.08rem; font-weight: 400; }
.public-v3-footer span, .public-v3-footer small { color: #b9b8af; font-size: .66rem; }

@container public-site (max-width: 760px) {
  .public-site-v3 .public-v3-nav { grid-template-columns: minmax(0, 1fr) auto; min-height: 68px; gap: 14px; padding: 0 20px; }
  .public-site-v3 .public-v3-nav__links { display: none; }
  .public-site-v3 .public-v3-brand strong { font-size: 1.16rem; }
  .public-site-v3 .public-v3-nav__cta { min-height: 44px; padding: 9px 13px; font-size: .69rem; }
  .public-v3-hero { grid-template-columns: 1fr; gap: 32px; min-height: 0; padding: 42px 20px 54px; }
  .public-v3-hero h2 { max-width: 100%; margin-top: 13px; font-size: clamp(2.38rem, 10vw, 3.2rem); letter-spacing: -.055em; }
  .public-v3-lead { font-size: .9rem; }
  .public-v3-hero__actions { display: grid; grid-template-columns: 1fr; gap: 14px; margin-top: 25px; }
  .public-site-v3 .public-v3-hero__actions > button { width: 100%; }
  .public-v3-hero__actions > p { display: flex; align-items: center; gap: 9px; padding-left: 0; border-left: 0; }
  .public-v3-hero__note { grid-template-columns: 1fr; gap: 7px; padding-top: 20px; margin-top: 30px; }
  .public-v3-portrait { min-height: 370px; }
  .public-v3-portrait::before { top: 14px; left: -10px; width: 52px; height: 52px; }
  .public-v3-portrait img { min-height: 370px; }
  .public-v3-portrait figcaption { right: 0; padding: 14px 16px; }
  .public-v3-arrival, .public-v3-specialist, .public-v3-questions { grid-template-columns: 1fr; gap: 34px; padding: 56px 20px; }
  .public-v3-arrival > header { grid-template-columns: 34px minmax(0, 1fr); gap: 12px; }
  .public-v3-arrival h3, .public-v3-first h3, .public-v3-specialist h3, .public-v3-format h3, .public-v3-questions h3, .public-v3-closing h3 { font-size: clamp(1.92rem, 8.2vw, 2.55rem); }
  .public-v3-arrival__list article { grid-template-columns: 34px minmax(0, 1fr); gap: 11px; padding: 19px 0; }
  .public-v3-first { grid-template-columns: 1fr; gap: 28px; padding: 56px 20px; }
  .public-v3-first figure, .public-v3-first img { min-height: 230px; }
  .public-v3-steps { grid-template-columns: 1fr; margin-top: 8px; }
  .public-v3-steps li, .public-v3-steps li + li { min-height: auto; padding: 20px 0; border-left: 0; border-bottom: 1px solid #555950; }
  .public-v3-steps li:last-child { border-bottom: 0; }
  .public-v3-specialist figure, .public-v3-specialist img { min-height: 260px; }
  .public-v3-specialist figure::after { right: -8px; bottom: -8px; }
  .public-v3-specialist dl > div { grid-template-columns: 78px minmax(0, 1fr); gap: 10px; }
  .public-v3-format { grid-template-columns: 1fr; gap: 28px; padding: 54px 20px; }
  .public-v3-format dl { grid-template-columns: 1fr; }
  .public-v3-format dl > div, .public-v3-format dl > div + div { min-height: auto; padding: 14px 0; border-left: 0; }
  .public-site-v3 .public-v3-format > button, .public-site-v3 .public-v3-closing > button { width: 100%; }
  .public-v3-questions { gap: 27px; }
  .public-v3-faq summary { min-height: 0; padding: 18px 20px 18px 0; font-size: 1.05rem; }
  .public-v3-closing { display: grid; gap: 27px; padding: 55px 20px; }
  .public-v3-footer { align-items: flex-start; min-height: 115px; flex-direction: column; gap: 15px; padding: 23px 20px; }
}

.browser-frame--mobile .public-site-v3 .public-v3-nav { min-height: 68px; padding: 0 20px; }

/* Local section navigation — one pattern for the second level of the product. */
.section-subnav { display: grid; grid-template-columns: repeat(auto-fit, minmax(165px, 1fr)); margin: 28px 0 34px; background: var(--paper-strong); border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line-strong); }
.section-subnav a { display: flex; min-width: 0; min-height: 62px; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 18px; color: var(--ink-soft); border-bottom: 3px solid transparent; font-size: .78rem; font-weight: 750; text-decoration: none; }
.section-subnav a + a { border-left: 1px solid var(--line); }
.section-subnav a:hover { color: var(--ink); background: var(--paper-muted); }
.section-subnav a.is-active { color: var(--ink); background: #fffdf8; border-bottom-color: var(--accent); }
.section-subnav b { display: grid; min-width: 25px; height: 25px; place-items: center; color: var(--accent-dark); background: var(--accent-pale); border-radius: 50%; font-family: var(--serif); font-size: .9rem; font-weight: 400; }
.section-subnav a:focus-visible { outline: 3px solid #3165a3; outline-offset: -3px; }

/* Organization keeps each operational job in its own calm, direct section. */
.organization-overview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); background: var(--paper-strong); border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line-strong); }
.organization-overview a { display: grid; gap: 9px; min-height: 224px; padding: clamp(22px, 3vw, 34px); color: var(--ink); text-decoration: none; }
.organization-overview a + a { border-left: 1px solid var(--line); }
.organization-overview a:hover { background: var(--paper-muted); }
.organization-overview h2, .organization-aside h2 { margin: 0; font-family: var(--serif); font-size: clamp(1.35rem, 2vw, 1.75rem); font-weight: 400; }
.organization-overview p, .organization-aside p { max-width: 38ch; margin: 0; color: var(--ink-soft); font-size: .84rem; line-height: 1.6; }
.organization-aside { display: grid; align-content: start; gap: 12px; min-height: 100%; padding: clamp(24px, 4vw, 42px); color: #f8f2e9; background: var(--graphite); border-top: 2px solid var(--accent); }
.organization-aside .kicker { color: #efb7a2; }
.organization-aside p { color: #d7d3ca; }

/* Supervisor: wide sequential work area with separate, findable history. */
.supervisor-flow { max-width: none; gap: 34px; margin-inline: 0; }
.supervisor-flow[hidden] { display: none; }
.supervisor-history-page { background: var(--paper-strong); border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line-strong); }
.supervisor-history-page > header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding: clamp(24px, 4vw, 42px); border-bottom: 1px solid var(--line); }
.supervisor-history-page > header h2 { max-width: 680px; margin: 7px 0 0; }
.supervisor-history-page > header p { max-width: 720px; margin: 10px 0 0; color: var(--ink-soft); font-size: .9rem; line-height: 1.55; }
.supervisor-history-page > header > span { color: var(--accent-dark); font-family: var(--serif); font-size: 2.2rem; }
.supervisor-history-page__body { display: grid; grid-template-columns: minmax(255px, .42fr) minmax(0, 1.58fr); align-items: start; }
.supervisor-history-page__body > .supervisor-journal__list { padding: 0 16px 16px; border-right: 1px solid var(--line); }
.supervisor-history-page__body .supervisor-journal__item { width: 100%; }
.supervisor-history-page__body .supervisor-output { margin: 0; border-top: 0; border-bottom: 0; }
.supervisor-guide { padding: clamp(28px, 5vw, 62px); background: var(--paper-strong); border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line-strong); }
.supervisor-guide > header { max-width: 760px; }
.supervisor-guide > header h2 { margin: 8px 0 12px; }
.supervisor-guide > header p { margin: 0; color: var(--ink-soft); font-size: .86rem; line-height: 1.65; }
.supervisor-guide > ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 0; margin: 38px 0 0; list-style: none; border-top: 1px solid var(--line-strong); }
.supervisor-guide li { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 13px; min-height: 160px; padding: 23px 20px 0 0; }
.supervisor-guide li + li { padding-left: 20px; border-left: 1px solid var(--line); }
.supervisor-guide li > span { color: var(--accent-dark); font-family: var(--serif); font-size: 1.2rem; }
.supervisor-guide h3 { margin: 0 0 8px; font-family: var(--serif); font-size: 1.25rem; font-weight: 400; }
.supervisor-guide li p { margin: 0; color: var(--ink-soft); font-size: .78rem; line-height: 1.58; }
.supervisor-analysis__summary { max-width: 68ch; margin: 0 0 22px; color: var(--ink); font-family: var(--serif); font-size: clamp(1.05rem, 1.8vw, 1.35rem); line-height: 1.58; }

/* Archiving is a reversible lifecycle action, not a delete affordance. */
.client-lifecycle-panel { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; padding: clamp(23px, 3vw, 34px); background: var(--paper-muted); border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line-strong); }
.client-lifecycle-panel h2 { margin: 6px 0 8px; font-family: var(--serif); font-size: 1.65rem; font-weight: 400; }
.client-lifecycle-panel p { max-width: 660px; margin: 0; color: var(--ink-soft); font-size: .8rem; line-height: 1.55; }
.client-lifecycle-panel__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
.package-module__actions .button--quiet { color: #fffdf8; background: var(--graphite); border-color: var(--graphite); }
.package-module__actions .button--quiet:hover { color: var(--ink); background: var(--paper-strong); border-color: var(--ink-soft); }

@media (max-width: 760px) {
  .section-subnav { grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 22px 0 26px; }
  .section-subnav a { min-height: 56px; padding: 11px 13px; font-size: .74rem; }
  .section-subnav a:nth-child(odd) { border-left: 0; }
  .section-subnav a:nth-child(n + 3) { border-top: 1px solid var(--line); }
  .section-subnav a:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .organization-overview { grid-template-columns: 1fr; }
  .organization-overview a { min-height: auto; padding: 23px 18px; }
  .organization-overview a + a { border-top: 1px solid var(--line); border-left: 0; }
  .supervisor-history-page > header, .client-lifecycle-panel { align-items: flex-start; flex-direction: column; gap: 18px; padding: 22px 18px; }
  .supervisor-history-page__body { grid-template-columns: 1fr; }
  .supervisor-history-page__body > .supervisor-journal__list { padding: 0 12px 12px; border-right: 0; border-bottom: 1px solid var(--line); }
  .supervisor-guide { padding: 26px 18px; }
  .supervisor-guide > ol { grid-template-columns: 1fr; margin-top: 26px; }
  .supervisor-guide li, .supervisor-guide li + li { min-height: auto; padding: 19px 0; border-left: 0; border-bottom: 1px solid var(--line); }
  .supervisor-guide li:last-child { border-bottom: 0; }
  .client-lifecycle-panel__actions { width: 100%; justify-content: stretch; }
  .client-lifecycle-panel__actions .button { flex: 1 1 180px; }
}

@media (max-width: 760px) {
  .public-site-v2 .public-hero::after { right: 22px; }
  .public-site-v2 .public-portrait p { margin: -22px 16px 0; }
  .public-site-v2 .public-themes, .public-site-v2 .public-services { grid-template-columns: 1fr; gap: 28px; }
  .public-site-v2 .public-themes > header p, .public-site-v2 .public-services > header h3 { max-width: none; }
  .public-site-v2 .public-themes article { grid-template-columns: 42px 1fr; }
  .public-site-v2 .public-themes article p { grid-column: 2; }
  .public-site-v2 .public-services .public-cards article { grid-template-columns: 34px 1fr; }
  .public-site-v2 .public-services .public-cards small { grid-column: 2; text-align: left; }
  .public-site-v2 .public-process article::after { display: none; }
  .public-boundary { grid-template-columns: 1fr; padding: 38px 22px; }
}

/* Application shell v3 — fluid SaaS workspace. Kept late to safely restyle legacy views. */
:root { --paper: #f7f9fc !important; --paper-strong: #fff !important; --paper-muted: #f4f7fb !important; --ink: #172033 !important; --ink-soft: #667085 !important; --ink-faint: #667085 !important; --line: #dde3ec !important; --line-strong: #c9d3e1 !important; --graphite: #172033 !important; --graphite-soft: #27344a !important; --accent: #315fc7 !important; --accent-dark: #244a9e !important; --accent-pale: #e8efff !important; --success: #2b8f7b !important; --danger: #b42318 !important; --brand-paper: #f7f9fc; --brand-paper-strong: #fff; --brand-paper-muted: #f4f7fb; --brand-ink: #172033; --brand-ink-soft: #667085; --brand-ink-faint: #667085; --brand-line: #dde3ec; --brand-line-strong: #c9d3e1; --brand-graphite: #172033; --brand-graphite-soft: #27344a; --brand-accent: #315fc7; --brand-accent-dark: #244a9e; --brand-accent-pale: #e8efff; --brand-success: #2b8f7b; --brand-danger: #b42318; --serif: var(--display); --shadow: 0 8px 24px rgb(23 32 51 / 6%); --radius: 12px; --sidebar: 0px; --content-width: none; }
html, body { background: var(--paper); color: var(--ink); }
body { line-height: 1.5; }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; border-radius: 6px; scroll-margin-top: 132px; scroll-margin-bottom: 82px; }
.shell { min-width: 0; }
.sidebar, .mobile-header { display: none !important; }
.app-header { position: sticky; z-index: 15; top: 0; background: rgb(255 255 255 / 96%); border-bottom: 1px solid var(--line); backdrop-filter: blur(16px); }
.app-header__primary { display: flex; height: 64px; align-items: center; gap: clamp(18px, 2.4vw, 42px); padding: 0 clamp(24px, 2.5vw, 40px); }
.brandmark { min-width: max-content; min-height: 44px; padding: 0; color: var(--ink); }
.brandmark__symbol { width: 32px; height: 32px; color: #fff; background: var(--accent); border: 0; border-radius: 9px; font-family: var(--sans); font-size: 1rem; font-weight: 800; }
.brandmark strong { font-size: 1rem; font-weight: 760; letter-spacing: -.03em; }
.top-nav { display: flex; height: 100%; align-items: stretch; gap: 4px; }
.top-nav a { position: relative; display: inline-flex; min-height: 44px; align-items: center; gap: 8px; padding: 0 12px; color: var(--ink-soft); font-size: .86rem; font-weight: 680; white-space: nowrap; }
.top-nav a .icon { width: 17px; height: 17px; }
.top-nav a:hover { color: var(--ink); background: var(--paper-muted); border-radius: 8px; }
.top-nav a.active { color: var(--accent); }
.top-nav a.active::after { position: absolute; right: 12px; bottom: 0; left: 12px; height: 3px; background: var(--accent); border-radius: 3px 3px 0 0; content: ""; }
.app-header__actions { display: flex; min-width: 0; align-items: center; gap: 12px; margin-left: auto; }
.header-search { display: inline-grid; grid-template-columns: 17px auto auto; min-width: 180px; height: 38px; align-items: center; gap: 8px; padding: 0 10px; color: var(--ink-soft); background: var(--paper-muted); border: 1px solid var(--line); border-radius: 9px; font-size: .78rem; text-align: left; }
.header-search:hover { color: var(--ink); border-color: var(--line-strong); }
.header-search .icon { width: 16px; height: 16px; }.header-search kbd { justify-self: end; padding: 2px 5px; color: var(--ink-faint); background: #fff; border: 1px solid var(--line); border-radius: 4px; font-family: var(--sans); font-size: .65rem; }
.sync-status { display: inline-flex; align-items: center; gap: 6px; color: var(--ink-soft); font-size: .73rem; white-space: nowrap; }.sync-status i { width: 7px; height: 7px; background: var(--success); border-radius: 50%; }
.profile-trigger { display: inline-flex; min-height: 44px; align-items: center; gap: 8px; color: var(--ink); font-size: .78rem; font-weight: 680; }.profile-trigger .avatar { width: 30px; height: 30px; flex-basis: 30px; color: var(--accent-dark); background: var(--accent-pale); }.profile-trigger .icon { width: 16px; height: 16px; color: var(--ink-soft); }
.app-header__mobile-actions { display: none; margin-left: auto; }
.context-nav { display: flex; height: 48px; align-items: center; gap: 4px; padding: 0 clamp(24px, 2.5vw, 40px); overflow-x: auto; overscroll-behavior-inline: contain; background: var(--paper-muted); border-top: 1px solid #edf1f6; scrollbar-width: none; }.context-nav::-webkit-scrollbar { display: none; }
.context-nav a { display: inline-flex; min-height: 36px; align-items: center; padding: 0 12px; color: var(--ink-soft); border-radius: 7px; font-size: .79rem; font-weight: 680; white-space: nowrap; }.context-nav a:hover { color: var(--ink); background: #fff; }.context-nav a.active { color: var(--accent); background: #fff; box-shadow: 0 1px 2px rgb(23 32 51 / 6%); }
.workspace { min-height: calc(100vh - 64px); margin-left: 0; padding: clamp(30px, 3.1vw, 48px) clamp(32px, 2.6vw, 40px) 64px; }.app-header:has(.context-nav) + .workspace { min-height: calc(100vh - 112px); }
.page { width: 100%; max-width: none; margin: 0; }.narrow-page { max-width: 920px; margin-inline: auto; }
.page-header { align-items: flex-start; padding-bottom: 24px; margin-bottom: 32px; border-bottom-color: var(--line); }.page-header > div { max-width: 780px; }.eyebrow, .kicker, .mini-label, .meta-label { color: var(--accent); font-size: .7rem; letter-spacing: .08em; }.page-subtitle { margin-top: 10px; color: var(--ink-soft); line-height: 1.55; }
h1, h2, h3 { font-family: var(--display); }h1 { font-size: clamp(2rem, 2.4vw, 2.5rem); font-weight: 600; letter-spacing: -.045em; line-height: 1.12; text-wrap: pretty; }h2 { font-size: clamp(1.35rem, 1.65vw, 1.75rem); font-weight: 600; letter-spacing: -.035em; }h3 { font-weight: 600; }h1 em { color: var(--accent); font-style: normal; }
.button { min-height: 44px; border-radius: 10px; font-weight: 720; }.button--primary { background: var(--accent); border-color: var(--accent); }.button--primary:hover { background: var(--accent-dark); border-color: var(--accent-dark); }.button--quiet { color: var(--ink); background: #fff; border-color: var(--line-strong); }.button--quiet:hover { background: var(--paper-muted); border-color: var(--accent); }.icon-button { border-radius: 10px; }.icon-button:hover { background: var(--accent-pale); border-color: #cbd9fb; color: var(--accent); }
.focus-card, .integration-disclosure, .supervisor-history-page, .supervisor-guide, .organization-overview, .client-lifecycle-panel { border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow); }.focus-card { background: #fff; }.panel { border-bottom-color: var(--line); }.panel__head, .section-head { border-bottom-color: var(--line); }.metric-card, .result-card { background: #fff; }.dashboard-metrics, .organization-overview { border-color: var(--line); }.dashboard-metrics .metric-card + .metric-card { border-left-color: var(--line); }
.section-subnav { background: #fff; border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 2px 7px rgb(23 32 51 / 3%); }.section-subnav a { border-bottom-width: 2px; }.section-subnav a.is-active { color: var(--accent); background: var(--accent-pale); border-bottom-color: var(--accent); }.section-subnav b { color: var(--accent); background: #dce8ff; }
.toast { background: var(--graphite); border-radius: 10px; }.avatar { color: var(--accent-dark); background: var(--accent-pale); }
@media (max-width: 1050px) { .app-header__primary { padding-inline: 24px; }.top-nav a { padding-inline: 8px; }.top-nav a .icon { display: none; }.header-search { min-width: 42px; grid-template-columns: 17px; justify-content: center; }.header-search span, .header-search kbd, .sync-status, .profile-trigger > span, .profile-trigger > .icon { display: none; }.workspace { padding-inline: 24px; } }
@media (max-width: 760px) { .app-header { position: sticky; }.app-header__primary { height: 60px; padding-inline: 16px; }.top-nav, .app-header__actions { display: none; }.app-header__mobile-actions { display: flex; gap: 4px; }.brandmark__symbol { width: 30px; height: 30px; }.context-nav { height: 44px; padding-inline: 12px; }.context-nav a { min-height: 36px; padding-inline: 10px; font-size: .75rem; }.workspace { min-height: calc(100vh - 60px); padding: 24px 16px calc(88px + env(safe-area-inset-bottom)); }.app-header:has(.context-nav) + .workspace { min-height: calc(100vh - 104px); }.page-header { gap: 16px; padding-bottom: 20px; margin-bottom: 24px; }.page-subtitle { font-size: .92rem; }h1 { font-size: clamp(1.8rem, 8vw, 2.2rem); }.mobile-nav { z-index: 20; background: rgb(255 255 255 / 97%); border-top-color: var(--line); }.mobile-nav a { color: var(--ink-soft); font-size: .75rem; }.mobile-nav a.active { color: var(--accent); }.mobile-nav a.active .icon { color: var(--accent); }.section-subnav { display: flex; overflow-x: auto; margin: 20px 0 24px; }.section-subnav a, .section-subnav a:last-child:nth-child(odd) { min-width: max-content; min-height: 48px; border-top: 0; border-left: 0; }.section-subnav a + a { border-left: 1px solid var(--line); }.dashboard-metrics .metric-card + .metric-card { border-left-color: var(--line); } }

/* Final dashboard hierarchy: today is an operational summary, not an editorial landing page. */
.today-header { align-items: flex-start; gap: 28px; padding-bottom: 24px; margin-bottom: 28px; border-bottom-color: var(--line); }
.today-header h1 { max-width: 720px; font-family: var(--display); font-size: clamp(2rem, 2.65vw, 2.55rem); font-weight: 600; letter-spacing: -.05em; line-height: 1.1; }
.section-hub { margin-bottom: 34px; }.section-hub__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }.section-hub__tile { min-height: 96px; padding: 16px; border-color: var(--line); border-radius: 12px; box-shadow: 0 4px 14px rgb(23 32 51 / 4%); }.section-hub__tile h3 { font-family: var(--display); font-size: .9rem; font-weight: 600; }.section-hub__tile p { font-size: .72rem; }
@media (max-width: 760px) { .today-header h1 { font-size: clamp(1.85rem, 8.5vw, 2.25rem); }.section-hub__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.section-hub__tile { min-height: 82px; padding: 12px; }.section-hub__tile p { display: none; } }

/* Tablet uses the compact top bar; bottom navigation and its drawer are phone-only. */
@media (min-width: 761px) and (max-width: 1050px) { .mobile-nav { display: none !important; } body.nav-open::after { display: none; } .profile-trigger { min-width: 44px; justify-content: center; } }
@media (min-width: 761px) and (max-width: 820px) { .app-header__actions .header-search, .app-header__actions .header-help { display: none; } }

/* Keep all header controls within the viewport before switching to phone navigation. */
.app-header__primary, .top-nav, .app-header__actions { min-width: 0; }
@media (max-width: 1320px) { .app-header__primary { gap: 16px; }.top-nav { gap: 0; }.top-nav a { padding-inline: 8px; }.sync-status, .profile-trigger > span, .profile-trigger > .icon { display: none; }.header-search { min-width: 42px; grid-template-columns: 17px; justify-content: center; }.header-search span, .header-search kbd { display: none; }.profile-trigger { min-width: 44px; justify-content: center; } }

/* Development is a connected path: foundation → brand → website and content in parallel. */
.development-flow { display: grid; grid-template-columns: minmax(0, .9fr) 32px minmax(0, .9fr) 32px minmax(0, 1.2fr); align-items: stretch; gap: 12px; }.development-flow__stage, .development-flow__branch { min-width: 0; }.development-flow__branch { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }.development-flow__arrow { display: grid; place-items: center; color: var(--accent); }.development-flow__arrow .icon { width: 20px; height: 20px; }
.development-flow__card { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 14px; height: 100%; padding: 20px; background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 4px 14px rgb(23 32 51 / 4%); }.development-flow__icon { display: grid; width: 42px; height: 42px; place-items: center; color: var(--accent); background: var(--accent-pale); border-radius: 10px; }.development-flow__icon .icon { width: 21px; height: 21px; }.development-flow__card small { display: block; color: var(--ink-soft); font-size: .68rem; font-weight: 720; letter-spacing: .04em; text-transform: uppercase; }.development-flow__card h2 { margin: 6px 0 7px; font-size: 1.08rem; }.development-flow__card h2 a { color: var(--ink); }.development-flow__card h2 a:hover { color: var(--accent); }.development-flow__card p { margin: 0; color: var(--ink-soft); font-size: .8rem; line-height: 1.5; }.development-flow__card--peach .development-flow__icon { color: #a65339; background: #fff0ea; }.development-flow__card--blue .development-flow__icon { color: #256a9a; background: #eaf5fc; }.development-flow__card--gold .development-flow__icon { color: #956900; background: #fff7db; }
.development-current { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 22px 24px; margin-top: 18px; background: var(--graphite); border-radius: 12px; }.development-current .kicker { color: #a9c3ff; }.development-current h2 { margin: 4px 0 5px; color: #fff; font-size: 1.2rem; }.development-current p { max-width: 780px; margin: 0; color: #d0d8e8; font-size: .83rem; line-height: 1.5; }.development-current .button { flex: 0 0 auto; }
@media (max-width: 900px) { .development-flow { grid-template-columns: 1fr; gap: 0; }.development-flow__arrow { width: 1px; height: 24px; margin-left: 20px; background: var(--line-strong); overflow: visible; }.development-flow__arrow .icon { display: none; }.development-flow__branch { grid-template-columns: 1fr; gap: 12px; }.development-flow__card { min-height: 0; }.development-current { align-items: flex-start; flex-direction: column; }.development-current .button { width: 100%; } }

/* Full-width dashboards may spread; settings and long forms retain a readable measure. */
.settings-page { max-width: 1240px; margin-inline: auto; }

/* When the calendar sidebar drops below the grid, it becomes a compact summary strip. */
@media (max-width: 1180px) { .calendar-context { grid-template-columns: minmax(150px, .55fr) minmax(0, 1.45fr) auto; align-items: center; padding: 17px 20px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--accent); border-radius: 12px; box-shadow: var(--shadow); }.calendar-context .kicker, .calendar-context h2 { color: var(--ink); }.calendar-context h2 { margin: 3px 0 0; font-size: 1.1rem; }.calendar-context__list { display: flex; gap: 12px; margin: 0; }.calendar-context__list a { flex: 1 1 0; gap: 3px; padding: 0 12px; border-top: 0; border-left: 1px solid var(--line); }.calendar-context__list a:hover strong { color: var(--accent); }.calendar-context__list small { color: var(--accent); }.calendar-context__list strong { font-family: var(--sans); font-size: .85rem; font-weight: 720; }.calendar-context__list span, .calendar-context__list p { color: var(--ink-soft); font-size: .74rem; }.calendar-context .capability-note { grid-column: auto; min-width: 152px; padding-left: 12px; border-left: 1px solid var(--line); }.calendar-context .capability-note p { margin: 5px 0 0; color: var(--ink-soft); font-size: .7rem; } }
@media (max-width: 760px) { .calendar-context { grid-template-columns: 1fr; align-items: start; gap: 12px; }.calendar-context__list { display: grid; grid-template-columns: 1fr; gap: 0; width: 100%; }.calendar-context__list a { padding: 10px 0; border-top: 1px solid var(--line); border-left: 0; }.calendar-context .capability-note { min-width: 0; padding: 10px 0 0; border-top: 1px solid var(--line); border-left: 0; } }

/* The parallel branch needs room for readable card copy before the phone breakpoint. */
@media (max-width: 1180px) { .development-flow { grid-template-columns: 1fr; gap: 0; }.development-flow__arrow { width: 1px; height: 24px; margin-left: 20px; background: var(--line-strong); overflow: visible; }.development-flow__arrow .icon { display: none; }.development-flow__branch { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 12px; }.development-flow__card { min-height: 0; } }
@media (max-width: 760px) { .development-flow__branch { grid-template-columns: 1fr; } }

/* Composition pass: quiet product surfaces with one shared geometry. */
:root { --line: #e4eaf2 !important; --line-strong: #d6e0ec !important; --shadow: 0 8px 30px rgb(23 32 51 / 6%); }
:focus { outline: none; }
:focus-visible { outline: 0; box-shadow: 0 0 0 2px rgb(49 95 199 / 72%); }
#main-content:focus-visible { box-shadow: none; }
input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { border-color: var(--accent); box-shadow: 0 0 0 2px rgb(49 95 199 / 20%); }
.header-search { width: auto; min-width: 44px; height: 44px; grid-template-columns: 18px auto; justify-content: center; gap: 7px; padding: 0 10px; background: transparent; border: 0; border-radius: 10px; }.header-search kbd { display: none; }.header-search:hover { color: var(--accent); background: var(--accent-pale); border: 0; }
.today-layout { align-items: start; gap: clamp(20px, 2.4vw, 34px); margin-top: 28px; }.day-rhythm { padding: clamp(20px, 2.5vw, 30px); background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); overflow: clip; }.day-rhythm .section-title-row { padding-bottom: 17px; margin-bottom: 0; border-bottom: 1px solid var(--line); }
.next-decision { padding: 24px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-top: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); overflow: clip; }.next-decision .kicker { color: var(--accent); }.next-decision h2 { margin: 7px 0 8px; color: var(--ink); font-family: var(--display); font-size: clamp(1.25rem, 1.7vw, 1.65rem); font-weight: 600; line-height: 1.18; }.next-decision > p { margin: 0 0 16px; color: var(--ink-soft); font-size: .85rem; line-height: 1.5; }.next-decision .button--primary { color: #fff; background: var(--accent); border-color: var(--accent); }.next-session-note { padding: 15px 0 0; margin-top: 18px; border-top: 1px solid var(--line); }.next-session-note span { color: var(--ink-soft); }.next-session-note strong { color: var(--ink); }
.today-status-line { gap: 12px; padding: 0; margin-top: 24px; background: transparent; border: 0; box-shadow: none; }.today-status-line > span { min-height: 82px; padding: 16px 18px; background: #fff; border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 5px 18px rgb(23 32 51 / 4%); }.today-status-line > span + span { border-left: 1px solid var(--line); }.today-status-line b { color: var(--accent); font-family: var(--sans); font-size: 1.45rem; font-weight: 760; }.today-status-line .capability-label { display: none; }
.attention-list, .week-ribbon, .calendar-surface, .calendar-context, .settings-card, .settings-section, .development-flow__card, .development-current, .focus-card, .integration-disclosure { background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); overflow: clip; }.attention-list, .week-ribbon { border-top: 1px solid var(--line); }.week-ribbon { margin-top: 26px; }.calendar-surface { overflow: auto; }.calendar-context { border-top: 1px solid var(--line); }.settings-card, .settings-section { border-top: 1px solid var(--line); }.integration-disclosure { border-bottom: 1px solid var(--line); }
.panel, .calendar-context, .integration-disclosure, .settings-card, .settings-section, .focus-card { box-shadow: var(--shadow); }.panel { border-color: var(--line); border-radius: 18px; overflow: clip; background: #fff; }.section-subnav { border-color: var(--line); border-radius: 14px; overflow: clip; }.section-hub__tile { border-radius: 14px; }
@media (max-width: 760px) { .workspace { padding-bottom: calc(98px + env(safe-area-inset-bottom)); }.today-layout { gap: 16px; margin-top: 20px; }.day-rhythm, .next-decision { padding: 18px; border-radius: 16px; }.today-status-line { grid-template-columns: 1fr; gap: 10px; margin-top: 16px; }.today-status-line > span, .today-status-line > span + span { min-height: 64px; border: 1px solid var(--line); }.attention-list, .week-ribbon, .calendar-surface, .calendar-context, .settings-card, .settings-section, .development-flow__card, .development-current, .focus-card, .integration-disclosure { border-radius: 16px; }.mobile-nav { right: 10px; bottom: 10px; left: 10px; width: auto; border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 8px 30px rgb(23 32 51 / 12%); overflow: clip; } }

/* Final softness pass: remove sharp joins from production paths. */
.section-title-row { border-bottom-color: var(--line); }
.attention-section { margin-top: clamp(34px, 4vw, 56px); }
.first-run__intro { border-bottom: 0; }
.first-run__intro h1 { font-size: clamp(3rem, 5.5vw, 5.4rem); }
.first-run__choices { margin-top: 24px; }
.start-choice,
.start-choice--primary {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: var(--shadow);
  overflow: clip;
}
.start-choice--primary { border-top: 1px solid var(--line); }
.setup-path {
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: var(--shadow);
  overflow: clip;
}
.setup-path li:last-child { border-bottom: 0; }
.setup-path li > span { border-radius: 12px; }
.empty-practice-note {
  padding: 16px 18px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: 0 5px 18px rgb(23 32 51 / 4%);
}
@media (max-width: 760px) {
  .first-run__intro h1 { font-size: clamp(2.6rem, 13vw, 4rem); }
  .start-choice, .setup-path { border-radius: 16px; }
  .toast { bottom: calc(112px + env(safe-area-inset-bottom)); }
}

/* Reference-fidelity system: Doctor Sem structure, G-med colour rhythm, Stratus density. */
:root {
  --paper: #ffffff !important;
  --paper-strong: #ffffff !important;
  --paper-muted: #f7f8fa !important;
  --ink: #1e2230 !important;
  --ink-soft: #69717e !important;
  --ink-faint: #9299a5 !important;
  --line: #e7e9ee !important;
  --line-strong: #d8dce4 !important;
  --graphite: #181c28 !important;
  --graphite-soft: #252a38 !important;
  --accent: #4c68f2 !important;
  --accent-dark: #354dd0 !important;
  --accent-pale: #eef2ff !important;
  --success: #2f9d68 !important;
  --danger: #e3584f !important;
  --shadow: 0 10px 30px rgb(27 35 48 / 6%);
  --radius: 10px;
  --radius-control: 8px;
  --radius-surface: 12px;
}

html, body, .workspace { background: var(--paper); }
html, body, button, input, select, textarea { font-family: var(--sans); font-synthesis: none; }
body { letter-spacing: 0; font-weight: 400; }
.icon { display: block; align-self: center; stroke-width: 1.75; }
.button, .icon-button, .top-nav a, .context-nav a, .profile-trigger, .mobile-nav a, .text-link {
  line-height: 1;
}
.button, .icon-button, .profile-trigger, .top-nav a, .context-nav a { isolation: isolate; }
.button {
  min-height: 48px;
  padding: 0 18px;
  border-radius: var(--radius-control);
  font-size: .84rem;
  font-weight: 500;
  letter-spacing: 0;
  transform: none;
}
.button:hover { transform: none; }
.button .icon { width: 18px; height: 18px; }
.button--primary { box-shadow: none; }
.button--quiet { background: #fff; border-color: var(--line-strong); box-shadow: none; }
.icon-button {
  display: inline-grid;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  place-items: center;
  border-radius: var(--radius-control);
}
.file-button { display: inline-flex !important; width: max-content; align-items: center !important; justify-content: center; }
.file-button .icon { align-self: center; }
.avatar {
  display: grid;
  padding: 0;
  place-items: center;
  line-height: 1;
  letter-spacing: 0;
}
.avatar img { display: block; }
.start-choice__number, .setup-path li > span, .settings-path b, .attention-row__index {
  display: grid;
  align-self: center;
  place-items: center;
  line-height: 1;
}

input, select, textarea {
  min-height: 48px;
  color: var(--ink);
  background: #f8f9fc;
  border-color: var(--line-strong);
  border-radius: 12px;
}
textarea { min-height: 112px; padding-block: 13px; }
input:hover, select:hover, textarea:hover { border-color: #bec5d2; }
button:focus:not(:focus-visible), a:focus:not(:focus-visible), input:focus:not(:focus-visible), select:focus:not(:focus-visible), textarea:focus:not(:focus-visible), summary:focus:not(:focus-visible) {
  outline: 0;
  box-shadow: none;
}
:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 3px rgb(76 104 242 / 22%);
  border-radius: 12px;
}
input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgb(76 104 242 / 16%);
}

.app-header {
  background: rgb(255 255 255 / 96%);
  border-bottom-color: var(--line);
  box-shadow: 0 1px 0 rgb(23 25 31 / 2%);
}
.app-header__primary {
  height: 76px;
  gap: clamp(18px, 2.2vw, 38px);
  padding-inline: clamp(24px, 2.7vw, 46px);
}
.brandmark { gap: 10px; }
.brandmark__symbol {
  width: 38px;
  height: 38px;
  color: #fff;
  background: var(--graphite);
  border-radius: var(--radius-control);
  font-size: .94rem;
  font-weight: 600;
  padding: 0;
  box-shadow: inset 0 0 0 1px rgb(255 255 255 / 10%);
}
.brandmark strong { font-size: 1.02rem; font-weight: 600; letter-spacing: -.02em; }
.top-nav { height: auto; align-items: center; gap: 4px; }
.top-nav a {
  min-height: 42px;
  padding: 0 13px;
  color: #747b88;
  border-radius: var(--radius-control);
  font-size: .69rem;
  font-weight: 500;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.top-nav a .icon { width: 18px; height: 18px; }
.top-nav a:hover { color: var(--ink); background: var(--paper-muted); border-radius: var(--radius-control); }
.top-nav a.active { color: var(--ink); background: transparent; box-shadow: none; }
.top-nav a.active::after { display: block; right: 13px; bottom: -17px; left: 13px; height: 2px; background: var(--accent); border-radius: 2px 2px 0 0; }
.app-header__actions { gap: 8px; }
.header-search {
  width: 44px;
  min-width: 44px;
  height: 44px;
  padding: 0;
  grid-template-columns: 18px;
  place-items: center;
  border-radius: var(--radius-control);
}
.header-search span { display: none; }
.sync-status { min-height: 32px; padding: 0 10px; background: #f6f8fb; border-radius: 999px; }
.profile-trigger {
  min-height: 48px;
  gap: 9px;
  padding: 0 8px 0 5px;
  border-radius: var(--radius-control);
  font-size: .76rem;
  font-weight: 500;
}
.profile-trigger:hover { background: var(--paper-muted); }
.profile-trigger .avatar { width: 36px; height: 36px; flex-basis: 36px; }
.profile-trigger > .icon { width: 17px; height: 17px; }
.context-nav {
  height: 50px;
  padding-inline: clamp(24px, 2.7vw, 46px);
  background: #fff;
  border-top: 1px solid #f0f1f4;
  border-bottom: 1px solid var(--line);
}
.context-nav a {
  min-height: 34px;
  padding: 0 12px;
  color: #747b88;
  border-radius: var(--radius-control);
  font-size: .77rem;
  font-weight: 500;
}
.context-nav a.active { color: var(--ink); background: var(--paper-muted); box-shadow: none; }

.workspace {
  min-height: calc(100vh - 76px);
  padding: clamp(34px, 3.6vw, 58px) clamp(28px, 3.2vw, 52px) 72px;
}
.app-header:has(.context-nav) + .workspace { min-height: calc(100vh - 126px); }
.page-header { padding-bottom: 26px; margin-bottom: 28px; border-bottom-color: var(--line); }
.page-header > div { max-width: 820px; }
.eyebrow, .kicker, .mini-label, .meta-label {
  margin-bottom: 9px;
  color: var(--accent);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .085em;
}
h1 { font-size: clamp(2.15rem, 2.8vw, 3rem); font-weight: 600; letter-spacing: -.035em; line-height: 1.08; }
h2 { font-weight: 600; }
h3 { font-weight: 600; }
.page-subtitle { color: #757c89; font-size: .96rem; line-height: 1.6; }
.page-header h1 em, .today-header h1 em, .settings-hero h1 em { color: var(--ink); }

.section-hub__grid { gap: 14px; }
.section-hub__tile {
  min-height: 108px;
  grid-template-columns: 46px minmax(0, 1fr) 32px;
  gap: 14px;
  padding: 17px;
  border: 0;
  border-radius: var(--radius-surface);
  box-shadow: none;
}
.section-hub__tile > span:first-child { width: 46px; height: 46px; border: 0; border-radius: var(--radius-control); }
.section-hub__tile > .icon:last-child { width: 32px; height: 32px; padding: 8px; color: #fff; background: var(--graphite); border-radius: 50%; }
.section-hub__tile h3 { font-size: .86rem; font-weight: 600; }
.section-hub__tile p { margin-top: 5px; color: #7a818e; font-size: .7rem; }
.section-hub__tile--sand { background: #fff1ec; }
.section-hub__tile--sand > span:first-child { color: #ad4936; background: #ffd0c3; }
.section-hub__tile--sage { background: #f2f9dd; }
.section-hub__tile--sage > span:first-child { color: #4a6928; background: #dff29e; }
.section-hub__tile--plum { background: #e8f3ff; }
.section-hub__tile--plum > span:first-child { color: #245f9b; background: #c7e1fb; }
.section-hub__tile--blue { background: #eaf8f6; }
.section-hub__tile--blue > span:first-child { color: #246d67; background: #cdece7; }
.day-rhythm, .next-decision, .attention-list, .week-ribbon, .panel, .calendar-surface, .calendar-context {
  border-color: var(--line);
  border-radius: var(--radius-surface);
  box-shadow: var(--shadow);
}
.next-decision {
  color: #fff;
  background: var(--graphite);
  border-color: var(--graphite);
}
.next-decision .kicker { color: #aebcff; }
.next-decision h2, .next-decision strong { color: #fff; }
.next-decision > p, .next-decision .next-session-note span { color: #aeb2bc; }
.next-decision .button--primary { color: var(--graphite); background: #fff; border-color: #fff; box-shadow: none; }
.next-decision .next-session-note { border-top-color: #34363d; }
.today-status-line > span { border: 1px solid var(--line); border-radius: var(--radius-surface); box-shadow: none; }
.today-status-line > span:nth-child(1) { background: #f0f3ff; }
.today-status-line > span:nth-child(2) { background: #f1f8e8; }
.today-status-line > span:nth-child(3) { background: #fff2eb; }
.attention-row__index { min-height: 44px; margin: 0; padding: 0; }

.settings-page { max-width: 1480px; }
.settings-hero { align-items: flex-end; }
.settings-hero h1 { max-width: 680px; }
.settings-hero__progress {
  display: grid;
  width: min(320px, 28vw);
  gap: 7px;
  padding: 19px 20px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-surface);
  box-shadow: var(--shadow);
}
.settings-hero__progress span { color: var(--ink-soft); font-size: .72rem; }
.settings-hero__progress strong { font-size: 1.65rem; font-weight: 600; letter-spacing: -.025em; line-height: 1; }
.settings-hero__progress i { display: block; height: 7px; overflow: hidden; background: #eaedf3; border-radius: 99px; }
.settings-hero__progress i b { display: block; height: 100%; background: var(--accent); border-radius: inherit; }
.settings-hero__progress small { color: var(--ink-faint); font-size: .68rem; }
.settings-overview {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
  margin: 0 0 22px;
}
.settings-overview__card {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) 30px;
  min-width: 0;
  min-height: 118px;
  align-items: start;
  gap: 13px;
  padding: 16px;
  color: var(--ink);
  border-radius: var(--radius-surface);
  text-align: left;
}
.settings-overview__card { background: #fff; border: 1px solid var(--line); }
.settings-overview__card--blue .settings-overview__icon { color: #3856c7; background: #e2e8ff; }
.settings-overview__card--lime .settings-overview__icon { color: #486922; background: #e1f3aa; }
.settings-overview__card--lilac .settings-overview__icon { color: #a84734; background: #ffd8ce; }
.settings-overview__card--peach .settings-overview__icon { color: #246d67; background: #d3efeb; }
.settings-overview__card--mint .settings-overview__icon { color: #286d58; background: #d9f2e8; }
.settings-overview__card:hover { transform: translateY(-2px); }
.settings-overview__card.is-active { background: #f4f6ff; border-color: #aebcff; box-shadow: none; }
.settings-overview__card.is-active .settings-overview__arrow { background: var(--accent); }
.settings-overview__icon {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  color: var(--ink);
  background: rgb(255 255 255 / 58%);
  border-radius: var(--radius-control);
}
.settings-overview__icon .icon { width: 22px; height: 22px; }
.settings-overview__copy { display: grid; min-width: 0; gap: 3px; }
.settings-overview__copy small { color: #717784; font-size: .67rem; font-style: normal; text-transform: uppercase; letter-spacing: .07em; }
.settings-overview__copy strong { overflow: hidden; font-size: 1.05rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.settings-overview__copy em { color: #747b88; font-size: .68rem; font-style: normal; }
.settings-overview__arrow {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  color: #fff;
  background: var(--graphite);
  border-radius: 50%;
}
.settings-overview__arrow .icon { width: 15px; height: 15px; }
.settings-sections { gap: 14px; }
.settings-panel {
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-surface);
  box-shadow: var(--shadow);
}
.settings-panel__head {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  align-items: center;
  gap: 17px;
  min-height: 112px;
  padding: 22px 24px;
  border-bottom: 1px solid var(--line);
}
.settings-panel__icon {
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  color: var(--accent);
  background: var(--accent-pale);
  border-radius: var(--radius-control);
}
.settings-panel__icon .icon { width: 24px; height: 24px; }
.pwa-install-card { display: grid; gap: 28px; }
.pwa-install-card__intro { display: grid; grid-template-columns: 72px minmax(0, 1fr); align-items: start; gap: 20px; }
.pwa-install-card__intro h2 { margin: 5px 0 10px; }
.pwa-install-card__intro p { max-width: 680px; margin: 0; color: var(--ink-soft); line-height: 1.65; }
.pwa-install-card__icon { display: grid; width: 72px; height: 72px; place-items: center; overflow: hidden; background: var(--graphite); border-radius: 18px; }
.pwa-install-card__icon .brandmark__symbol { width: 100%; height: 100%; border-radius: inherit; }
.pwa-install-card > .button { width: max-content; margin: 0; }
.pwa-install-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 0; margin: 0; list-style: none; counter-reset: install-step; }
.pwa-install-steps li { position: relative; display: grid; align-content: start; gap: 7px; min-height: 150px; padding: 50px 18px 18px; background: var(--paper-muted); border: 1px solid var(--line); border-radius: var(--radius-surface); counter-increment: install-step; }
.pwa-install-steps li::before { position: absolute; top: 16px; left: 18px; display: grid; width: 24px; height: 24px; place-items: center; color: #fff; background: var(--graphite); border-radius: 8px; font-size: .68rem; content: counter(install-step, decimal-leading-zero); }
.pwa-install-steps b { font-size: .9rem; }
.pwa-install-steps span { color: var(--ink-soft); font-size: .78rem; line-height: 1.55; }
.pwa-install-card__note { max-width: 760px; margin: -10px 0 0; color: var(--ink-faint); font-size: .75rem; line-height: 1.55; }
.pwa-install-state { display: inline-grid; grid-template-columns: 40px minmax(0, 1fr); align-items: center; gap: 12px; width: max-content; min-width: 270px; padding: 12px 16px; color: #256149; background: #e8f6ef; border: 1px solid #c4e6d5; border-radius: var(--radius-control); }
.pwa-install-state > .icon { width: 22px; height: 22px; }
.pwa-install-state span { display: grid; gap: 2px; }
.pwa-install-state small { color: #537668; }
@media (max-width: 760px) {
  .pwa-install-card__intro { grid-template-columns: 54px minmax(0, 1fr); gap: 14px; }
  .pwa-install-card__icon { width: 54px; height: 54px; border-radius: 14px; }
  .pwa-install-card > .button, .pwa-install-state { width: 100%; }
  .pwa-install-steps { grid-template-columns: 1fr; }
  .pwa-install-steps li { min-height: 0; }
}
.settings-panel__head .kicker { margin-bottom: 4px; }
.settings-panel__head h2 { font-size: 1.24rem; }
.settings-panel__head p { max-width: 720px; margin: 5px 0 0; color: var(--ink-soft); font-size: .78rem; }
.settings-panel__status { display: inline-flex; min-height: 32px; align-items: center; padding: 0 11px; color: var(--ink-soft); background: #f3f5f8; border-radius: 999px; font-size: .68rem; font-weight: 620; }
.settings-panel__body { padding: 0 24px 24px; }
.settings-panel__body > .settings-card { padding: 26px 0; margin: 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; box-shadow: none; }
.settings-panel__body > .settings-card:last-child { border-bottom: 0; }
.settings-panel__body > .profile-settings-card { overflow: visible; background: transparent; }
.settings-section {
  border: 1px solid var(--line);
  border-radius: var(--radius-surface);
  box-shadow: var(--shadow);
  scroll-margin-top: 148px;
}
.settings-section > summary {
  grid-template-columns: 48px minmax(0, 1fr) auto 22px;
  min-height: 92px;
  gap: 16px;
  padding: 18px 22px;
}
.settings-section > summary:hover { background: #fafbfc; }
.settings-section__icon {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  color: var(--accent);
  background: var(--accent-pale);
  border-radius: var(--radius-control);
}
.settings-section__icon .icon { width: 22px; height: 22px; }
.settings-section__copy { gap: 4px; }
.settings-section__copy strong { font-family: var(--sans); font-size: 1.06rem; font-weight: 600; letter-spacing: -.01em; }
.settings-section__copy small { color: #777e8b; font-size: .75rem; }
.settings-section__meta {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  padding: 0 10px;
  color: #707784;
  background: #f3f5f8;
  border-radius: 999px;
  font-size: .66rem;
  font-weight: 620;
}
.settings-section__chevron { width: 10px; height: 10px; border-width: 1.5px; }
.settings-section__body { padding: 0 22px 22px; border-top-color: var(--line); }
.settings-section__body > .settings-card { padding: 24px 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; box-shadow: none; }
.settings-section__body > .settings-card:last-child { border-bottom: 0; }
.release-auth-card {
  display: grid;
  grid-template-columns: minmax(180px, .7fr) minmax(0, 1.3fr);
  align-items: center;
  gap: 5px 30px;
  padding: 20px 22px !important;
  margin: 18px 0 0 !important;
  background: #f6f8ff !important;
  border: 1px solid #e3e7ff !important;
  border-radius: var(--radius-surface) !important;
}
.release-auth-card .kicker, .release-auth-card h2 { grid-column: 1; }
.release-auth-card h2 { font-size: 1.15rem; }
.release-auth-card > p { grid-column: 2; grid-row: 1 / span 2; margin: 0; }
.release-auth-card > .button { grid-column: 2; justify-self: start; }
.release-auth-card--form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.release-auth-card--form > p, .release-auth-card--form > label, .release-auth-card--form > .actions-row, .release-auth-card--form > .button { grid-column: 1 / -1; }
.release-auth-card--form > .release-login-error { grid-column: 1 / -1; }
.release-auth-card--form > .release-login-actions { grid-column: 1 / -1; }
.release-auth-card--form > .release-password-recovery { grid-column: 1 / -1; }
.release-password-form { display: grid; max-width: 620px; gap: 16px; margin-top: 20px; }
.release-password-form label { display: grid; gap: 7px; }
.release-password-form .button { width: fit-content; min-height: 46px; }
.release-password-notice { max-width: 620px; padding: 13px 15px; margin: 18px 0 0; border: 1px solid; border-radius: var(--radius-control); font-size: .82rem; line-height: 1.5; }
.release-password-notice--error { color: #842b35; background: #fff1f2; border-color: #f0b8bf; }
.release-password-notice--success { color: #176044; background: #eefaf4; border-color: #b9e5cf; }
.profile-settings-card {
  display: grid;
  grid-template-columns: minmax(230px, .32fr) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 62px);
  padding: 30px 0 8px !important;
}
.profile-identity-card {
  display: flex;
  min-width: 0;
  align-items: center;
  flex-direction: column;
  padding: 26px 22px;
  background: var(--graphite);
  border-radius: var(--radius-surface);
  text-align: center;
}
.profile-identity-card__label {
  align-self: flex-start;
  color: #adb2bd;
  font-size: .66rem;
  font-weight: 620;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.profile-identity-card .profile-avatar-preview {
  width: 112px;
  height: 112px;
  flex: 0 0 112px;
  margin: 26px 0 18px;
  color: #fff;
  background: var(--accent);
  font-size: 1.45rem;
  font-weight: 600;
}
.profile-identity-card__copy h2 { color: #fff; font-size: 1.35rem; }
.profile-identity-card__copy p { margin: 6px 0 4px; color: #c3c7d0; font-size: .82rem; }
.profile-identity-card__copy small { color: #8f959f; font-size: .72rem; }
.profile-avatar-actions { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 22px; }
.profile-avatar-actions .button { min-height: 44px; color: #fff; background: #2a2c32; border-color: #3c3f47; }
.profile-avatar-actions .file-button,
.profile-quiz-avatar-actions .file-button {
  width: max-content;
  max-width: 100%;
  min-width: 174px;
  height: 44px;
  min-height: 44px;
  flex-wrap: nowrap;
  gap: 8px;
  padding: 0 18px;
  white-space: nowrap;
}
.profile-avatar-actions .file-button {
  color: var(--graphite);
  background: #fff;
  border-color: #fff;
}
.profile-avatar-actions .file-button:hover {
  color: var(--accent-dark);
  background: var(--accent-pale);
  border-color: var(--accent-pale);
}
.profile-avatar-actions .file-button > span,
.profile-quiz-avatar-actions .file-button > span { display: block; line-height: 1; }
.profile-avatar-actions .text-link { color: #b9bec7; }
.profile-avatar-note { margin: 14px 0 0; color: #858b95; font-size: .65rem; line-height: 1.5; }
.profile-form-panel { min-width: 0; padding: 4px 0; }
.profile-form-panel > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.profile-form-panel h2 { font-size: 1.35rem; }
.profile-form-panel__state { color: var(--ink-faint); font-size: .67rem; white-space: nowrap; }
.profile-form-panel .form-grid { margin: 24px 0; }
.profile-form-panel .form-grid label { display: grid; align-content: start; gap: 8px; }
.profile-form-panel__footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 20px; border-top: 1px solid var(--line); }
.profile-form-panel__footer p { display: flex; max-width: none; align-items: center; gap: 8px; margin: 0; color: var(--ink-soft); font-size: .71rem; white-space: nowrap; }
.profile-form-panel__footer p .icon { width: 17px; height: 17px; color: var(--success); }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.profile-form-panel > header p { max-width: 62ch; margin: 8px 0 0; color: var(--ink-soft); font-size: .82rem; line-height: 1.55; }
.profile-editor-section { padding: 28px 0; border-top: 1px solid var(--line); }
.profile-form-panel > header + .profile-editor-section { border-top: 0; }
.profile-editor-section > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 18px; }
.profile-editor-section > header > div { display: flex; align-items: center; gap: 11px; }
.profile-editor-section > header > div > span { display: grid; width: 30px; height: 30px; place-items: center; flex: 0 0 30px; color: var(--accent-dark); background: var(--accent-pale); border-radius: 50%; font-size: .68rem; font-weight: 700; }
.profile-editor-section h3 { margin: 0; font-size: 1.04rem; }
.profile-editor-section > header p { max-width: 44ch; margin: 4px 0 0; color: var(--ink-soft); font-size: .75rem; line-height: 1.45; text-align: right; }
.profile-repeat-list, .profile-services-list { display: grid; gap: 12px; }
.profile-repeat-row { display: grid; grid-template-columns: minmax(0, 1fr) 44px; gap: 10px; align-items: center; }
.profile-repeat-row label { min-width: 0; }
.profile-repeat-row .icon-button { width: 44px; height: 44px; }
.profile-add-row { margin-top: 14px; }
.profile-choice-group { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 0; margin: 18px 0 0; border: 0; }
.profile-choice-group > legend, .profile-service-formats legend { margin-bottom: 9px; color: var(--ink-soft); font-size: .76rem; font-weight: 600; }
.profile-choice-group > label { display: flex; min-height: 58px; align-items: center; gap: 11px; padding: 12px 14px; background: var(--paper-strong); border: 1px solid var(--line); border-radius: var(--radius-control); cursor: pointer; }
.profile-choice-group > label:has(input:checked) { background: var(--accent-pale); border-color: color-mix(in srgb, var(--accent) 38%, var(--line)); }
.profile-choice-group input, .profile-service-formats input { width: 18px; height: 18px; flex: 0 0 18px; margin: 0; accent-color: var(--accent); }
.profile-choice-group label span { display: grid; gap: 2px; }
.profile-choice-group label small { color: var(--ink-soft); font-size: .7rem; }
.profile-service-row { padding: 18px; background: var(--paper-strong); border: 1px solid var(--line); border-radius: var(--radius-surface); }
.profile-service-row > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.profile-service-row > header span { display: block; color: var(--ink-faint); font-size: .66rem; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; }
.profile-service-row h4 { margin: 3px 0 0; font-size: .95rem; }
.profile-service-grid { display: grid; grid-template-columns: minmax(210px, 1.2fr) minmax(180px, .9fr) minmax(120px, .55fr) minmax(140px, .6fr); gap: 12px; align-items: end; }
.profile-service-grid > label { display: grid; gap: 8px; min-width: 0; }
.profile-service-formats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; padding: 0; margin: 0; border: 0; }
.profile-service-formats legend { grid-column: 1 / -1; }
.profile-service-formats label { display: flex; min-height: 44px; align-items: center; justify-content: center; gap: 7px; padding: 8px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-control); cursor: pointer; }
.profile-service-formats label:has(input:checked) { background: var(--accent-pale); border-color: color-mix(in srgb, var(--accent) 38%, var(--line)); }

@media (max-width: 1180px) {
  .top-nav a { padding-inline: 10px; }
  .top-nav a .icon { display: block; width: 16px; height: 16px; }
  .sync-status, .profile-trigger > span, .profile-trigger > .icon { display: none; }
  .profile-trigger { min-width: 48px; justify-content: center; padding: 0 5px; }
  .settings-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .app-header__primary { height: 64px; padding-inline: 15px; }
  .brandmark__symbol { width: 36px; height: 36px; }
  .workspace { min-height: calc(100vh - 64px); padding: 26px 15px calc(104px + env(safe-area-inset-bottom)); }
  .app-header:has(.context-nav) + .workspace { min-height: calc(100vh - 112px); }
  .page-header, .settings-hero { align-items: stretch; flex-direction: column; }
  .settings-hero__progress { width: 100%; }
  .settings-overview { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(220px, 78vw); gap: 10px; padding: 2px 1px 10px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x proximity; scrollbar-width: none; }
  .settings-overview::-webkit-scrollbar { display: none; }
  .settings-overview__card { min-height: 94px; scroll-snap-align: start; }
  .settings-panel { border-radius: var(--radius-surface); }
  .settings-panel__head { grid-template-columns: 46px minmax(0, 1fr); min-height: 98px; gap: 13px; padding: 17px; }
  .settings-panel__icon { width: 46px; height: 46px; border-radius: var(--radius-control); }
  .settings-panel__status { grid-column: 2; width: max-content; }
  .settings-panel__body { padding: 0 10px 18px; }
  .settings-section { border-radius: var(--radius-surface); scroll-margin-top: 78px; }
  .settings-section > summary { grid-template-columns: 44px minmax(0, 1fr) 18px; min-height: 84px; gap: 13px; padding: 15px; }
  .settings-section__icon { width: 44px; height: 44px; border-radius: var(--radius-control); }
  .settings-section__meta { grid-column: 2; grid-row: 2; width: max-content; margin-top: 3px; }
  .settings-section__chevron { grid-column: 3; grid-row: 1 / span 2; }
  .settings-section__body { padding: 0 15px 18px; }
  .release-auth-card, .release-auth-card--form { grid-template-columns: 1fr; gap: 8px; padding: 18px !important; }
  .release-auth-card .kicker, .release-auth-card h2, .release-auth-card > p, .release-auth-card > .button { grid-column: 1; grid-row: auto; }
  .profile-settings-card { grid-template-columns: 1fr; gap: 24px; }
  .profile-identity-card { padding: 22px 18px; }
  .profile-form-panel > header, .profile-form-panel__footer { align-items: stretch; flex-direction: column; }
  .profile-form-panel__state { white-space: normal; }
  .profile-form-panel__footer p { white-space: normal; }
  .profile-form-panel__footer .button { width: 100%; }
  .profile-editor-section > header { align-items: flex-start; flex-direction: column; gap: 6px; }
  .profile-editor-section > header p { text-align: left; }
  .profile-service-grid { grid-template-columns: 1fr 1fr; }
  .profile-service-grid > label:first-child { grid-column: 1 / -1; }
  .profile-service-formats { grid-column: 1 / -1; }
  .section-hub__grid { grid-template-columns: 1fr; }
  .section-hub__tile { min-height: 96px; }
  .section-hub__tile p { display: block; }
  .today-status-line { grid-template-columns: 1fr; }
  .attention-row__index { grid-row: 1 / span 2; align-self: center; }
}

@media (max-width: 520px) {
  .profile-choice-group, .profile-service-grid { grid-template-columns: 1fr; }
  .profile-service-grid > label:first-child, .profile-service-formats { grid-column: auto; }
}

/* Profile onboarding — a focused first-run quiz, separate from full settings. */
.workspace:has(.onboarding-page) {
  background: #f5f6f8;
}
.onboarding-page { width: 100%; max-width: 1180px; margin-inline: auto; }
.profile-quiz-layout {
  display: grid;
  grid-template-columns: minmax(240px, 300px) minmax(0, 760px);
  justify-content: center;
  gap: clamp(22px, 4vw, 52px);
  align-items: stretch;
}
.profile-quiz-progress {
  display: flex;
  min-height: 650px;
  flex-direction: column;
  padding: 28px 26px;
  color: #fff;
  background: var(--graphite);
  border-radius: var(--radius-surface);
  box-shadow: 0 12px 32px rgb(27 35 48 / 10%);
}
.profile-quiz-progress__brand {
  display: flex;
  min-height: 48px;
  align-items: center;
  gap: 12px;
  color: #fff;
}
.profile-quiz-progress__brand .brandmark__symbol { color: #fff; background: var(--accent); }
.profile-quiz-progress__brand > span:last-child { display: grid; gap: 2px; }
.profile-quiz-progress__brand strong { font-size: .88rem; font-weight: 600; }
.profile-quiz-progress__brand small { color: #8f96a5; font-size: .66rem; }
.profile-quiz-progress ol { display: grid; gap: 0; padding: 0; margin: 54px 0 32px; list-style: none; }
.profile-quiz-progress li {
  position: relative;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  min-height: 76px;
  align-items: center;
  gap: 14px;
}
.profile-quiz-progress li:not(:last-child)::after {
  position: absolute;
  top: 39px;
  bottom: 3px;
  left: 20px;
  width: 1px;
  background: #454a55;
  content: "";
}
.profile-quiz-progress li.is-done:not(:last-child)::after { background: #9fbb35; }
.profile-quiz-progress li > span {
  z-index: 1;
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  color: #777e8b;
  background: #2b2e35;
  border: 1px solid #454a55;
  border-radius: var(--radius-control);
  font-size: .65rem;
  font-weight: 600;
}
.profile-quiz-progress li > span .icon { width: 17px; height: 17px; }
.profile-quiz-progress li.is-current > span { color: #fff; background: var(--accent); border-color: var(--accent); }
.profile-quiz-progress li.is-done > span { color: #aebcf2; background: #2d3545; border-color: #536388; }
.profile-quiz-progress li > div { display: grid; gap: 4px; padding-top: 0; }
.profile-quiz-progress li strong { color: #8b919d; font-size: .8rem; font-weight: 620; }
.profile-quiz-progress li.is-current strong, .profile-quiz-progress li.is-done strong { color: #fff; }
.profile-quiz-progress li small { color: #696f7b; font-size: .64rem; }
.profile-quiz-progress li.is-current small { color: #aebcf2; }
.profile-quiz-progress > p {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  padding-top: 20px;
  margin: auto 0 0;
  color: #89909e;
  border-top: 1px solid #393d46;
  font-size: .68rem;
  line-height: 1.55;
}
.profile-quiz-progress > p .icon { width: 17px; height: 17px; flex: 0 0 17px; color: #aebcf2; }
.profile-quiz-card {
  display: flex;
  min-width: 0;
  min-height: 650px;
  flex-direction: column;
  padding: clamp(28px, 4.2vw, 54px);
  background: #fff;
  border: 1px solid #e1e5ec;
  border-radius: var(--radius-surface);
  box-shadow: 0 12px 32px rgb(27 35 48 / 7%);
}
.profile-quiz-card__meta { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.profile-quiz-card__meta span { color: var(--accent-dark); font-size: .68rem; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
.profile-quiz-card__meta b { color: var(--ink-faint); font-size: .68rem; font-weight: 620; }
.profile-quiz-meter { height: 5px; margin: 14px 0 34px; overflow: hidden; background: #edf0f4; border-radius: 999px; }
.profile-quiz-meter i { display: block; width: var(--progress); height: 100%; background: var(--accent); border-radius: inherit; transition: width .25s ease; }
.profile-quiz-card h1 { max-width: 18ch; margin: 0; font-family: var(--display); font-size: clamp(2rem, 3.4vw, 3rem); font-weight: 600; line-height: 1.08; letter-spacing: -.035em; }
.profile-quiz-card > header > p { max-width: 60ch; margin: 16px 0 0; color: var(--ink-soft); font-size: .91rem; line-height: 1.62; }
.profile-quiz-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 42px 0 36px; }
.profile-quiz-field { display: grid; align-content: start; gap: 9px; }
.profile-quiz-field > span { color: var(--ink); font-size: .77rem; font-weight: 600; }
.profile-quiz-field input { min-height: 54px; padding: 0 16px; background: #f8f9fb; border-color: #e0e4ea; border-radius: var(--radius-control); font-size: .92rem; line-height: 1.2; }
.profile-quiz-field input::placeholder { color: #a8aeb8; }
.profile-quiz-field small { color: var(--ink-faint); font-size: .66rem; line-height: 1.45; }
.profile-quiz-actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-top: 24px; margin-top: auto; border-top: 1px solid var(--line); }
.profile-quiz-actions > div { display: flex; min-height: 44px; align-items: center; }
.profile-quiz-actions .button { min-height: 48px; border-radius: var(--radius-control); }
.profile-quiz-later { align-self: center; min-height: 32px; padding: 10px 8px 0; color: var(--ink-faint); font-size: .68rem; text-decoration: underline; text-underline-offset: 3px; }
.profile-quiz-review { margin: 34px 0 30px; }
.profile-quiz-review__identity { display: flex; align-items: center; gap: 18px; padding: 20px; background: #f2f4f9; border-radius: var(--radius-surface); }
.profile-quiz-review__identity .profile-quiz-avatar { width: 68px; height: 68px; flex: 0 0 68px; color: #fff; background: var(--accent); font-size: 1.05rem; }
.profile-quiz-review__identity > div { min-width: 0; }
.profile-quiz-review__identity span { color: var(--accent-dark); font-size: .62rem; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
.profile-quiz-review__identity h2 { margin: 5px 0 3px; font-family: var(--display); font-size: 1.25rem; font-weight: 600; }
.profile-quiz-review__identity p { margin: 0; color: var(--ink-soft); font-size: .76rem; }
.profile-quiz-review dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; margin: 18px 0 0; }
.profile-quiz-review dl > div { display: grid; grid-template-columns: minmax(100px, .8fr) minmax(0, 1.2fr); gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.profile-quiz-review dt { color: var(--ink-faint); font-size: .66rem; }
.profile-quiz-review dd { min-width: 0; margin: 0; color: var(--ink); font-size: .73rem; font-weight: 620; overflow-wrap: anywhere; }
.profile-quiz-avatar-actions { display: flex; align-items: center; gap: 14px; margin-top: 20px; }
.profile-quiz-avatar-actions small { color: var(--ink-faint); font-size: .65rem; }
body.using-pointer button:focus-visible,
body.using-pointer a:focus-visible,
body.using-pointer input:focus-visible,
body.using-pointer select:focus-visible,
body.using-pointer textarea:focus-visible,
body.using-pointer summary:focus-visible { outline: 0; box-shadow: none; }

@media (max-width: 940px) {
  .profile-quiz-layout { grid-template-columns: 1fr; max-width: 760px; margin-inline: auto; }
  .profile-quiz-progress { min-height: 0; padding: 20px 22px; }
  .profile-quiz-progress ol { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 24px 0 0; }
  .profile-quiz-progress li { display: grid; grid-template-columns: 34px minmax(0, 1fr); min-height: 42px; gap: 9px; }
  .profile-quiz-progress li:not(:last-child)::after { display: none; }
  .profile-quiz-progress li > span { width: 34px; height: 34px; border-radius: 11px; }
  .profile-quiz-progress li > div { padding-top: 0; }
  .profile-quiz-progress > p { display: none; }
  .profile-quiz-card { min-height: 560px; }
}

@media (max-width: 620px) {
  .shell:has(.onboarding-page) .mobile-nav,
  .shell:has(.onboarding-page) .app-header__mobile-actions { display: none !important; }
  .shell:has(.onboarding-page) .workspace { padding-bottom: 32px; }
  .profile-quiz-layout { gap: 12px; }
  .profile-quiz-progress { min-height: 4px; padding: 0; background: transparent; border-radius: 0; box-shadow: none; }
  .profile-quiz-progress__brand, .profile-quiz-progress > p { display: none; }
  .profile-quiz-progress ol { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; margin: 0; }
  .profile-quiz-progress li { display: block; min-height: 4px; }
  .profile-quiz-progress li > span,
  .profile-quiz-progress li.is-current > span,
  .profile-quiz-progress li.is-done > span { display: block; width: 100%; height: 4px; min-height: 4px; padding: 0; color: transparent; background: #dfe3e9; border: 0; border-radius: 2px; font-size: 0; }
  .profile-quiz-progress li.is-current > span, .profile-quiz-progress li.is-done > span { background: var(--accent); }
  .profile-quiz-progress li > span .icon, .profile-quiz-progress li > span .optical-glyph, .profile-quiz-progress li > div { display: none; }
  .profile-quiz-card { min-height: 530px; padding: 24px 19px; border-radius: var(--radius-surface); }
  .profile-quiz-meter { margin-bottom: 27px; }
  .profile-quiz-card h1 { font-size: clamp(1.75rem, 9vw, 2.25rem); }
  .profile-quiz-card > header > p { font-size: .82rem; }
  .profile-quiz-fields { grid-template-columns: 1fr; gap: 20px; margin: 30px 0; }
  .profile-quiz-review { margin-top: 26px; }
  .profile-quiz-review dl { grid-template-columns: 1fr; }
  .profile-quiz-avatar-actions { align-items: stretch; flex-direction: column; }
  .profile-quiz-avatar-actions .button { width: 100%; }
  .profile-quiz-actions { align-items: stretch; flex-direction: column-reverse; gap: 8px; }
  .profile-quiz-actions > div { width: 100%; justify-content: center; }
  .profile-quiz-actions .button { width: 100%; }
}

/* Core UI contract: Manrope for headings, Onest for interface copy, and optical centring by default. */
.optical-glyph {
  display: block;
  min-width: 0;
  line-height: 1;
  transform: translateY(.045em);
  transform-origin: center;
}
.setup-path li > span > .optical-glyph,
.profile-quiz-progress li > span > .optical-glyph { transform: none; }
:where(.app-header, .workspace, .first-run, dialog) :where(strong, b) { font-weight: 600 !important; }
:where(.app-header, .workspace, .first-run, dialog) :where(h1, h2, h3) { font-weight: 500 !important; }
:where(.app-header, .workspace, .first-run, dialog) :where(.button, .text-link) { font-weight: 500 !important; }
:where(.app-header, .workspace, .first-run, dialog) :where(.eyebrow, .kicker, .mini-label, .meta-label, label > span, legend) { font-weight: 600 !important; }
.button,
.icon-button,
.header-search,
.top-nav a,
.context-nav a,
.profile-trigger,
.mobile-nav a,
.text-link,
.file-button,
.segmented-control button {
  align-items: center;
  padding-block: 0;
  line-height: 1;
}
.button, .icon-button, .header-search, .file-button, .segmented-control button { justify-content: center; }
.text-link { justify-content: flex-start; }
.button > .icon,
.icon-button > .icon,
.header-search > .icon,
.top-nav a > .icon,
.context-nav a > .icon,
.profile-trigger > .icon,
.mobile-nav a > .icon,
.text-link > .icon,
.file-button > .icon {
  display: block;
  align-self: center;
  margin-block: 0;
  transform: none;
}
.top-nav a > span,
.context-nav a > span,
.mobile-nav a > span,
.profile-trigger > span {
  display: inline-flex;
  min-height: 1em;
  align-items: center;
  align-self: center;
  line-height: 1;
}
.brandmark__symbol,
.start-choice__number,
.setup-path li > span,
.settings-path b,
.attention-row__index,
.profile-quiz-progress li > span {
  padding: 0;
  line-height: 1;
}
.avatar:not(:has(img)) { padding: 0; place-items: center; line-height: 1; }

/* Calendar uses a light decision rail; all inherited dark-mode text is reset here. */
.calendar-context { color: var(--ink); background: #fff; }
.calendar-context .kicker, .calendar-context h2 { color: var(--ink); }
.calendar-context__list a { border-color: var(--line); }
.calendar-context__list small { color: var(--accent-dark); }
.calendar-context__list strong { color: var(--ink); }
.calendar-context__list span,
.calendar-context__list p,
.calendar-context .capability-note p { color: var(--ink-soft); }
.calendar-context .capability-note { border-color: var(--line); }
input:not([type="checkbox"]):not([type="radio"]), select { padding-block: 0; line-height: 1.2; }
.button, .icon-button, .header-search, .profile-trigger, input, select, textarea { border-radius: var(--radius-control); }
.start-choice, .setup-path, .empty-practice-note, .section-hub__tile, .day-rhythm, .next-decision, .attention-list, .week-ribbon, .panel, .calendar-surface, .calendar-context, .settings-card, .settings-section, .settings-panel, .settings-overview__card, .profile-identity-card, .mobile-nav { border-radius: var(--radius-surface); }

@media (min-width: 761px) and (max-width: 820px) {
  .app-header__primary { gap: 10px; padding-inline: 16px; }
  .top-nav { gap: 0; }
  .top-nav a { padding-inline: 7px; font-size: .64rem; letter-spacing: .035em; }
  .top-nav a > .icon { display: none; }
  .top-nav a.active::after { right: 7px; left: 7px; }
}

@media (max-width: 760px) {
  .settings-overview {
    grid-template-columns: 1fr;
    grid-auto-flow: row;
    grid-auto-columns: auto;
    padding-bottom: 0;
    overflow: visible;
    scroll-snap-type: none;
  }
  .settings-overview__card { min-height: 82px; }
}

/* Practice workspace consistency: one quiet geometry for clients, groups and calendar. */
.clients-page .section-subnav {
  display: inline-flex;
  width: auto;
  max-width: 100%;
  margin: 0 0 28px;
  padding: 4px;
  background: var(--paper-muted);
  border: 1px solid var(--line);
  border-radius: var(--radius-control);
  box-shadow: none;
}
.clients-page .section-subnav a {
  min-width: 126px;
  min-height: 44px;
  justify-content: center;
  gap: 9px;
  padding: 0 14px;
  color: var(--ink-soft);
  background: transparent;
  border: 0;
  border-radius: 6px;
  font-size: .78rem;
  font-weight: 500;
}
.clients-page .section-subnav a + a { border: 0; }
.clients-page .section-subnav a:hover { color: var(--ink); background: rgb(255 255 255 / 65%); }
.clients-page .section-subnav a.is-active {
  color: var(--ink);
  background: #fff;
  border: 0;
  box-shadow: 0 1px 3px rgb(27 35 48 / 8%);
}
.clients-page .section-subnav b {
  display: inline-grid;
  min-width: 22px;
  height: 22px;
  padding-inline: 5px;
  place-items: center;
  color: var(--ink-soft);
  background: var(--paper-muted);
  border-radius: 6px;
  font-family: var(--sans);
  font-size: .68rem;
  font-weight: 500;
}
.clients-page .section-subnav a.is-active b { color: var(--accent-dark); background: var(--accent-pale); }
.client-index-bar {
  overflow: clip;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-surface);
}
.client-search { padding: 13px 16px; }
.client-search input {
  min-height: 42px;
  padding: 0 12px;
  background: var(--paper-muted);
  border: 1px solid transparent;
  border-radius: var(--radius-control);
}
.client-search input:hover { border-color: var(--line-strong); }
.client-directory__list { border-radius: 0 0 var(--radius-surface) var(--radius-surface); }
.calm-empty > span,
.group-card__symbol,
.calendar-context__icon {
  display: grid;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  place-items: center;
  color: var(--accent-dark);
  background: var(--accent-pale);
  border: 0;
  border-radius: var(--radius-control);
}
.calm-empty > span .icon,
.group-card__symbol .icon,
.calendar-context__icon .icon { width: 20px; height: 20px; }

.group-flow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  padding: 0;
  margin: 0 0 28px;
  color: var(--ink-soft);
  list-style: none;
}
.group-flow li {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  min-height: 64px;
  align-items: center;
  gap: 11px;
  padding: 10px 12px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-surface);
}
.group-flow li > span {
  display: grid;
  width: 40px;
  height: 40px;
  padding: 0;
  place-items: center;
  color: var(--accent-dark);
  background: var(--accent-pale);
  border: 0;
  border-radius: var(--radius-control);
  font-size: .7rem;
  font-weight: 500;
}
.group-flow li b { color: var(--ink); font-size: .78rem; font-weight: 500; line-height: 1.35; }
.group-card,
.group-create-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-surface); box-shadow: var(--shadow); }
.group-card { padding: 24px; }
.group-card header { align-items: start; grid-template-columns: 44px minmax(0, 1fr); gap: 14px; }
.group-card__promo { background: var(--paper-muted); border-radius: var(--radius-control); }
.group-create-card { margin-top: 28px; background: #fff; }

.calendar-toolbar {
  min-height: 58px;
  padding: 7px 10px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-surface);
}
.calendar-toolbar .segmented-control { padding: 3px; background: var(--paper-muted); border: 0; border-radius: var(--radius-control); }
.calendar-toolbar .segmented-control button { min-height: 44px; border: 0; border-radius: 6px; }
.calendar-toolbar .segmented-control button.is-active { color: var(--ink); background: #fff; box-shadow: 0 1px 3px rgb(27 35 48 / 8%); }
.calendar-layout { grid-template-columns: minmax(0, 1fr) 300px; gap: 24px; margin-top: 24px; }
.calendar-surface { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-surface); box-shadow: none; }
.calendar-week { border: 0; }
.calendar-day { border-left: 1px solid var(--line); }
.calendar-day:first-child { border-left: 0; }
.calendar-day:last-child { border-right: 0; }
.calendar-day.is-today { background: #f7f8fa; box-shadow: inset 0 3px var(--accent); }
.calendar-session {
  min-height: 104px;
  padding: 10px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-control);
}
.calendar-session:hover { background: var(--paper-muted); border-color: var(--line-strong); }
.calendar-session time { color: var(--accent-dark); font-weight: 500; }
.calendar-session__action {
  min-height: 30px;
  margin-top: 4px;
  padding: 0 7px;
  color: var(--ink);
  background: var(--paper-muted);
  border-radius: 6px;
  font-size: .64rem;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
}
.calendar-session__action:hover { color: var(--accent-dark); background: var(--accent-pale); }
.calendar-agenda { border: 0; border-radius: inherit; }
.calendar-context {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-self: start;
  gap: 14px;
  padding: 20px;
  color: var(--ink);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-surface);
  box-shadow: none;
}
.calendar-context .kicker { color: var(--accent-dark); }
.calendar-context h2 { margin: 3px 0 7px; color: var(--ink); font-size: 1.08rem; }
.calendar-context > div > p { margin: 0; color: var(--ink-soft); font-size: .78rem; line-height: 1.5; }
.calendar-context__list { display: grid; grid-column: 1 / -1; gap: 8px; margin: 4px 0 0; }
.calendar-context__list button {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 18px;
  gap: 3px 8px;
  min-height: 82px;
  padding: 12px;
  color: var(--ink);
  background: var(--paper-muted);
  border: 1px solid transparent;
  border-radius: var(--radius-control);
  text-align: left;
}
.calendar-context__list button:hover { background: #fff; border-color: var(--line-strong); }
.calendar-context__list button span,
.calendar-context__list button strong,
.calendar-context__list button small { grid-column: 1; }
.calendar-context__list button span { color: var(--accent-dark); font-size: .68rem; }
.calendar-context__list button strong { color: var(--ink); font-size: .82rem; font-weight: 500; }
.calendar-context__list button small { color: var(--ink-soft); font-size: .7rem; line-height: 1.35; }
.calendar-context__list button .icon { grid-column: 2; grid-row: 1 / span 3; align-self: center; width: 17px; }
.calendar-context .capability-note { grid-column: 1 / -1; padding: 12px 0 0; border-top: 1px solid var(--line); border-left: 0; }
.calendar-context .capability-note p { margin: 4px 0 0; color: var(--ink-soft); font-size: .7rem; }

@media (max-width: 1180px) {
  .calendar-layout { grid-template-columns: 1fr; }
  .calendar-context { grid-template-columns: 44px minmax(180px, .6fr) minmax(0, 1.4fr); align-items: center; }
  .calendar-context__list { grid-column: 3; grid-row: 1; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; }
  .calendar-context .capability-note { grid-column: 1 / -1; grid-row: 2; min-width: 0; }
}

@media (max-width: 760px) {
  .clients-page .section-subnav { display: flex; width: 100%; margin: 0 0 22px; padding: 4px; overflow-x: auto; }
  .clients-page .section-subnav a,
  .clients-page .section-subnav a:last-child:nth-child(odd) { min-width: 112px; min-height: 44px; border: 0; }
  .client-index-bar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .group-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .group-flow li { min-height: 60px; padding: 8px; }
  .group-flow li > span { width: 36px; height: 36px; }
  .calendar-toolbar { align-items: stretch; padding: 8px; }
  .calendar-toolbar .segmented-control { width: 100%; }
  .calendar-toolbar .segmented-control button { flex: 1 1 0; }
  .calendar-layout { margin-top: 16px; }
  .calendar-context { grid-template-columns: 44px minmax(0, 1fr); align-items: start; }
  .calendar-context__list { grid-column: 1 / -1; grid-row: auto; grid-template-columns: 1fr; }
  .calendar-context .capability-note { grid-row: auto; }
  .calendar-agenda article { grid-template-columns: 72px minmax(0, 1fr); }
  .calendar-agenda article > :last-child { grid-column: 1 / -1; }
  .calendar-agenda article .button { width: 100%; }
}

@media (max-width: 430px) {
  .group-flow { grid-template-columns: 1fr; }
  .group-flow li { min-height: 56px; }
}

/* Cross-route application system. Public site/group previews keep their own brand language. */
.dialog,
.settings-card,
.settings-section,
.settings-panel,
.focus-card,
.panel,
.integration-disclosure,
.organization-overview,
.practice-flow,
.supervisor-history-page,
.supervisor-guide,
.portal-preview,
.portal-control,
.legal-packets-card,
.legal-packet-preview,
.client-lifecycle-panel,
.client-compass,
.package-module,
.package-empty,
.unpacking-map,
.brand-purpose,
.theme-panel,
.development-ledger,
.content-explainer {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-surface);
  box-shadow: var(--shadow);
  overflow: clip;
}
.dialog { border-color: var(--line); }
.dialog::backdrop { background: rgb(24 28 40 / 48%); backdrop-filter: blur(3px); }
.settings-card,
.settings-section,
.focus-card,
.integration-disclosure,
.supervisor-history-page,
.supervisor-guide,
.client-lifecycle-panel,
.client-compass,
.package-module,
.package-empty,
.unpacking-map,
.brand-purpose,
.theme-panel,
.development-ledger,
.content-explainer { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }

.section-hub__tile,
.development-flow__card,
.development-tile,
.settings-overview__card,
.client-section-tile {
  color: var(--ink);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-surface);
  box-shadow: none;
}
.section-hub__tile {
  text-align: left;
}
.section-hub__tile > div {
  min-width: 0;
  text-align: left;
}
.today-layout {
  align-items: stretch;
}
.next-decision {
  align-self: stretch;
}
.section-hub__tile:hover,
.development-tile:hover,
.settings-overview__card:hover,
.client-section-tile:hover { background: var(--paper-muted); border-color: var(--line-strong); box-shadow: none; transform: none; }
.settings-overview__card.is-active,
.client-section-tile.is-active { color: var(--ink); background: #fff; border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); transform: none; }
.settings-overview__card.is-active { box-shadow: none; }

.section-hub__tile > span:first-child,
.development-flow__icon,
.development-tile__icon,
.settings-overview__icon,
.settings-panel__icon,
.settings-section__icon,
.practice-rule__icon,
.client-section-tile__icon,
.result-hero__mark,
.document-card > span:first-child,
.material-card > span:first-child,
.package-empty > span:first-child {
  display: grid;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  place-items: center;
  color: var(--accent-dark) !important;
  background: var(--accent-pale) !important;
  border: 0;
  border-radius: var(--radius-control);
}
.section-hub__tile > span:first-child .icon,
.development-flow__icon .icon,
.development-tile__icon .icon,
.settings-overview__icon .icon,
.settings-panel__icon .icon,
.settings-section__icon .icon,
.practice-rule__icon .icon,
.client-section-tile__icon .icon,
.result-hero__mark .icon,
.document-card > span:first-child .icon,
.material-card > span:first-child .icon,
.package-empty > span:first-child .icon { width: 20px; height: 20px; }

.section-hub__tile--sand,
.section-hub__tile--sage,
.section-hub__tile--plum,
.section-hub__tile--blue,
.section-hub__tile--people,
.section-hub__tile--calendar,
.section-hub__tile--finance,
.section-hub__tile--groups,
.section-hub__tile--practice,
.section-hub__tile--supervisor,
.section-hub__tile--growth,
.section-hub__tile--site,
.development-flow__card--peach,
.development-flow__card--blue,
.development-flow__card--gold,
.development-tile--plum,
.development-tile--peach,
.development-tile--blue,
.development-tile--gold,
.development-tile--green,
.client-section-tile--orange,
.client-section-tile--violet,
.client-section-tile--blue,
.client-section-tile--green,
.client-section-tile--gold { background: #fff; }

.client-context-header { border-bottom-color: var(--line); }
.client-next-action { padding: 18px; background: var(--paper-muted); border: 0; border-radius: var(--radius-surface); }
.client-section-tile { min-height: 88px; border-radius: var(--radius-surface); }
.client-section-tile__icon { border-radius: var(--radius-control); }
.client-state-line { overflow: clip; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-surface); }
.session-package-ledger > header { border-bottom-color: var(--line); }
.client-compass { align-self: start; }
.client-compass section:first-child { border-top: 0; }
.session-package-header {
  color: var(--ink);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-surface);
}
.session-package-header .kicker,
.session-package-header h2,
.session-package-header dt,
.session-package-header dd { color: var(--ink); }
.session-package-header p,
.session-package-header small { color: var(--ink-soft); }
.package-module { border-top: 1px solid var(--line); }
.transcript-preview,
.review-reflection-grid .is-positive,
.review-reflection-grid .is-question,
.review-next-experiment,
.brief-primary-focus,
.brief-stop,
.exercise-generator,
.package-editor > summary { color: var(--ink); background: var(--paper-muted); }
.brief-stop h3,
.brief-stop p { color: var(--ink); }

.supervisor-intro,
.organization-aside,
.genapi-panel,
.genapi-panel--ready {
  color: var(--ink);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-surface);
  box-shadow: var(--shadow);
}
.supervisor-intro .kicker,
.supervisor-intro h2,
.organization-aside .kicker,
.organization-aside h2,
.genapi-panel .kicker,
.genapi-panel h2,
.genapi-panel strong { color: var(--ink); }
.supervisor-intro p,
.organization-aside p,
.genapi-panel p,
.genapi-panel small { color: var(--ink-soft); }
.supervisor-fieldset--check { background: var(--paper-muted); border-top: 1px solid var(--line); border-radius: var(--radius-control); }
.portal-safety,
.recording-guide,
.legal-packet-status,
.connection-requirement { background: var(--accent-pale); border: 1px solid #d9e1ff; border-radius: var(--radius-control); }
.danger-zone { border: 1px solid #f1b8b3; border-radius: var(--radius-surface); }
.status { border-radius: 6px; }

@media (max-width: 760px) {
  .dialog { width: min(calc(100% - 20px), 610px); border-radius: var(--radius-surface); }
  .client-next-action { padding: 16px; }
  .client-next-action__actions { align-items: stretch; flex-direction: column; }
  .client-next-action__links { align-items: flex-start; flex-direction: column; }
  .client-section-tiles { grid-auto-columns: minmax(190px, 74vw); }
  .session-datetime__fields { grid-template-columns: 1fr; }
  .session-calendar__days button { min-height: 44px; }
}

/* Final route audit: legacy app chrome may divide content, but never reintroduce old colour blocks. */
.dialog { overflow-x: hidden; overflow-y: auto; }
.quick-search-dialog { overflow: hidden; }
.today-status-line > span,
.today-status-line > span:nth-child(1),
.today-status-line > span:nth-child(2),
.today-status-line > span:nth-child(3) { background: #fff; border-radius: var(--radius-surface); }
.material-card,
.domain-card,
.content-generator,
.content-suite,
.content-suite > header,
.metrics-grid,
.interview-card,
.supervisor-history,
.calendar-strip,
.demo-guide-hero aside,
.demo-capabilities__grid article,
.demo-feedback,
.client-login-card,
.client-artifact-list article,
.client-portal-empty {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-surface);
  box-shadow: var(--shadow);
  overflow: clip;
}

.client-consent-card { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); gap: 32px; padding: clamp(24px, 4vw, 40px); margin-top: 28px; background: var(--surface, #fff); border: 1px solid var(--line, #dce2ee); border-radius: var(--radius-surface, 24px); }
.client-consent-card h2 { margin: 7px 0 12px; font-family: var(--display); font-size: clamp(1.55rem, 3vw, 2.3rem); font-weight: 500; letter-spacing: -.04em; }
.client-consent-card p, .client-consent-card li, .client-consent-card small { color: var(--ink-soft); line-height: 1.6; }
.client-consent-card ul { display: grid; gap: 7px; padding-left: 20px; }
.client-consent-card form { display: flex; align-items: stretch; flex-direction: column; justify-content: center; gap: 16px; padding: 22px; background: var(--surface-soft, #f4f6fb); border: 1px solid var(--line, #dce2ee); border-radius: 18px; }
.client-consent-card .consent-row { align-items: start; }

.practice-insights-page { display: grid; gap: 22px; }
.practice-insights-page > header { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding: clamp(24px, 4vw, 38px); color: var(--ink); background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-surface); }
.practice-insights-page > header h2 { margin: 6px 0 10px; font-family: var(--display); font-size: clamp(2rem, 4vw, 3.4rem); font-weight: 500; letter-spacing: -.055em; }
.practice-insights-page > header p { max-width: 760px; margin: 0; color: var(--ink-soft); line-height: 1.62; }
.practice-insights-empty { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 24px; min-height: 230px; padding: clamp(28px, 5vw, 54px); background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-surface); }
.practice-insights-empty h2 { margin: 0 0 9px; font-family: var(--display); font-size: clamp(1.55rem, 3vw, 2.4rem); font-weight: 500; letter-spacing: -.04em; }
.practice-insights-empty p { max-width: 760px; margin: 0; color: var(--ink-soft); line-height: 1.65; }
.practice-insights-empty__count { display: grid; width: 86px; height: 86px; place-items: center; color: var(--accent); background: var(--accent-soft); border-radius: 24px; font-family: var(--display); font-size: 2.2rem; font-weight: 600; }
.practice-insights-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 18px; }
.practice-insight-card { padding: 26px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-surface); }
.practice-insight-card > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--accent); font-size: .72rem; font-weight: 700; text-transform: uppercase; }
.practice-insight-card h3 { margin: 20px 0 10px; font-family: var(--display); font-size: 1.7rem; font-weight: 500; letter-spacing: -.04em; }
.practice-insight-card p { color: var(--ink-soft); line-height: 1.55; }
.practice-insight-meter { height: 8px; margin: 20px 0; overflow: hidden; background: var(--surface-soft); border-radius: 99px; }
.practice-insight-meter i { display: block; height: 100%; background: var(--accent); border-radius: inherit; }
.practice-insight-card dl { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0 0 20px; border: 1px solid var(--line); border-radius: 14px; }
.practice-insight-card dl div { display: grid; gap: 5px; padding: 13px; }
.practice-insight-card dl div + div { border-left: 1px solid var(--line); }
.practice-insight-card dt, .practice-insight-card > small { color: var(--ink-soft); font-size: .68rem; line-height: 1.45; }
.practice-insight-card dd { margin: 0; font-size: 1.15rem; font-weight: 700; }
.practice-insights-boundary { padding: 20px 24px; color: var(--ink); background: var(--surface-soft); border: 1px solid var(--line); border-radius: var(--radius-surface); }
.practice-insights-boundary p { margin: 6px 0 0; color: var(--ink-soft); font-size: .78rem; line-height: 1.6; }

@media (max-width: 760px) {
  .client-consent-card { grid-template-columns: 1fr; gap: 18px; }
  .practice-insights-page > header { align-items: start; flex-direction: column; }
  .practice-insights-empty { grid-template-columns: 1fr; }
  .practice-insight-card dl { grid-template-columns: 1fr; }
  .practice-insight-card dl div + div { border-top: 1px solid var(--line); border-left: 0; }
}
.material-card:hover { background: var(--paper-muted); border-color: var(--line-strong); }
.domain-card { border-color: var(--line); }
.content-generator,
.metrics-grid,
.interview-card,
.supervisor-history,
.calendar-strip { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.content-suite > header { border: 0; border-bottom: 1px solid var(--line); border-radius: 0; box-shadow: none; }
.content-suite > header p { color: var(--ink-soft); }
.section-title-row { border-bottom: 1px solid var(--line); }
.calendar-strip > div + div,
.metric-card + .metric-card,
.organization-overview a + a { border-color: var(--line); }

.portal-preview,
.portal-control,
.portal-item,
.portal-summary,
.portal-summary article,
.product-contour-card,
.tester-feedback-form fieldset { border-radius: var(--radius-surface); }
.portal-summary { overflow: clip; background: var(--line); border: 1px solid var(--line); }
.portal-summary article,
.portal-item { background: #fff; }
.demo-capabilities__grid article,
.demo-feedback { border-color: var(--line); }
.demo-feedback { border-top: 1px solid var(--line); }
.tester-feedback-form textarea,
.tester-feedback-form select { background: #fff; border-color: var(--line-strong); border-radius: var(--radius-control); }

.supervisor-history,
.supervisor-history-page { border-top: 1px solid var(--line); }
.supervisor-examples,
.supervisor-approach-context,
.crm-inline-form,
.integration-panel__ownership {
  background: var(--paper-muted);
  border: 1px solid var(--line);
  border-left: 1px solid var(--line);
  border-radius: var(--radius-control);
}
.supervisor-examples button { color: var(--ink); background: #fff; border-color: var(--line); border-radius: var(--radius-control); font-weight: 500; }
.supervisor-journal__item.is-active,
.crm-client-button.is-active { background: var(--accent-pale); border-left: 1px solid var(--accent); box-shadow: inset 3px 0 var(--accent); }

.integration-disclosure > summary:hover,
.settings-section > summary:hover { background: var(--paper-muted); }
.capability-label {
  min-height: 28px;
  color: var(--ink-soft);
  background: var(--paper-muted);
  border: 1px solid var(--line);
  border-radius: 6px;
  font-weight: 500;
}
.organization-overview,
.practice-flow { border-top: 1px solid var(--line); }
.organization-overview a:first-child { border-left: 0; }
.practice-flow span:first-child { border-left: 0; }
.request-list,
.session-list,
.crm-client-index { border-top-color: var(--line); }

@media (max-width: 760px) {
  .today-status-line > span,
  .today-status-line > span + span { background: #fff; border: 1px solid var(--line); }
  .calendar-strip { border-radius: var(--radius-surface); }
}

/* Final route audit: one control language across every internal workspace route. */
.section-subnav {
  display: flex;
  width: 100%;
  gap: 4px;
  padding: 4px;
  margin: 24px 0 30px;
  overflow-x: auto;
  background: var(--paper-muted);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: none;
}
.section-subnav a,
.section-subnav a:last-child:nth-child(odd) {
  flex: 1 1 auto;
  min-width: max-content;
  min-height: 44px;
  justify-content: center;
  gap: 9px;
  padding: 0 14px;
  color: var(--ink-soft);
  background: transparent;
  border: 0;
  border-radius: 6px;
  font-size: .76rem;
  font-weight: 500;
}
.section-subnav a + a { border: 0; }
.section-subnav a:hover { color: var(--ink); background: rgb(255 255 255 / 62%); }
.section-subnav a.is-active {
  color: var(--ink);
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 1px 3px rgb(27 35 48 / 7%);
}
.section-subnav b {
  display: grid;
  min-width: 24px;
  height: 24px;
  padding-inline: 5px;
  place-items: center;
  color: var(--ink-soft);
  background: var(--paper-muted);
  border-radius: 6px;
  font-family: var(--sans);
  font-size: .7rem;
  font-weight: 500;
}
.section-subnav a.is-active b { color: var(--accent-dark); background: var(--accent-pale); }
.client-list-head { border-bottom: 1px solid var(--line); }
.content-explainer > .button { justify-self: end; white-space: nowrap; }

/* These are application controls; public-site and group-promo preview themes stay untouched. */
.brand-preview,
.site-studio,
.brand-strip.finance-advice {
  color: var(--ink);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-surface);
  box-shadow: var(--shadow);
  overflow: clip;
}
.brand-preview .kicker,
.brand-preview .mini-label,
.brand-preview h2,
.site-studio__status h2,
.brand-strip.finance-advice blockquote { color: var(--ink); }
.brand-preview p,
.site-studio__status p,
.brand-strip.finance-advice p { color: var(--ink-soft); }
.site-studio { border-top: 1px solid var(--line); }
.site-readiness { border-left-color: var(--line); }
.site-readiness article { border-right-color: var(--line); }
.site-readiness b { color: var(--accent-dark); font-family: var(--display); }
.site-readiness span { color: var(--ink-soft); }
.brand-strip.finance-advice { padding: clamp(24px, 3vw, 34px); border-block-color: var(--line); }

.supervisor-steps,
.supervisor-guide > ol {
  gap: 8px;
  border: 0;
}
.supervisor-steps li,
.supervisor-guide li,
.supervisor-guide li + li {
  min-height: 0;
  padding: 16px;
  background: var(--paper-muted);
  border: 1px solid var(--line);
  border-radius: var(--radius-control);
}
.supervisor-steps li + li { border-top: 1px solid var(--line); }
.supervisor-steps b,
.supervisor-guide li > span { color: var(--accent-dark); font-family: var(--sans); font-weight: 500; }

.development-current {
  color: var(--ink);
  background: #fff;
  border: 1px solid var(--line);
}
.development-current .kicker { color: var(--accent); }
.development-current h2 { color: var(--ink); }
.development-current p { color: var(--ink-soft); }

/* All pointer targets on operational paths meet the 44px touch target. */
.calendar-session__action,
.session-row__actions .button,
.package-module__actions .button,
.exercise-ledger__actions .button,
.practice-rule__actions .text-link,
.profile-quiz-later,
.context-nav a { min-height: 44px; }
.profile-quiz-later { display: inline-flex; align-items: center; padding-top: 0; }
.dialog {
  max-height: min(760px, calc(100vh - 32px));
  max-height: min(760px, calc(100dvh - 32px));
}

@media (min-width: 761px) and (max-width: 820px) {
  .top-nav a { font-size: .74rem; letter-spacing: .015em; }
}

@media (max-width: 940px) {
  .profile-quiz-progress ol { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  body.nav-open::after { inset: 65px 0 0; }
  body.nav-open:has(.context-nav)::after { inset: 115px 0 0; }
  body.nav-open .mobile-nav { top: 65px; }
  body.nav-open .shell:has(.context-nav) .mobile-nav { top: 115px; }
  .section-subnav { margin: 20px 0 24px; }
  .section-subnav a,
  .section-subnav a:last-child:nth-child(odd) { flex: 0 0 auto; min-height: 44px; }
  .content-explainer > .button { width: 100%; justify-self: stretch; }
}

@media (max-width: 620px) {
  .profile-quiz-progress ol { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

/* Tablet does not render bottom navigation, so it must not inherit its legacy spacer. */
.workspace > .page { margin-bottom: 0; }
@media (max-width: 760px) {
  .workspace { padding-bottom: calc(112px + env(safe-area-inset-bottom)); }
  .workspace > .page { margin-bottom: 0; }
  .section-hub__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .section-hub__tile { min-height: 82px; padding: 12px; }
  .section-hub__tile p { display: none; }
  .settings-overview {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: minmax(210px, 76vw);
    gap: 10px;
    padding: 2px 1px 10px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline mandatory;
    scrollbar-width: thin;
  }
  .settings-overview__card { min-height: 82px; scroll-snap-align: start; }
  .client-section-tiles {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: minmax(190px, 74vw);
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline mandatory;
    scrollbar-width: thin;
  }
  .client-section-tile { scroll-snap-align: start; }
}

@media (min-width: 761px) and (max-width: 1050px) {
  .client-state-line { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .client-state-line > span:nth-child(5) { grid-column: 1 / -1; }
}

/* Second full-site UX refinement: shared geometry, forms and operational hierarchy. */
.avatar > .optical-glyph {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  font-size: inherit;
  letter-spacing: 0;
  line-height: 1;
  text-align: center;
  text-overflow: clip;
  white-space: nowrap;
  transform: none;
}

.profile-quiz-progress li:not(:last-child)::after {
  top: 42px;
  bottom: -21px;
}

.profile-tag-editor { display: grid; gap: 12px; }
.profile-tag-list { display: flex; min-height: 34px; align-items: center; flex-wrap: wrap; gap: 8px; }
.profile-tag-list:empty::before { color: var(--ink-faint); content: "Пока ничего не добавлено"; font-size: .73rem; }
.profile-tag {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  gap: 7px;
  padding: 0 7px 0 12px;
  color: var(--accent-dark);
  background: var(--accent-pale);
  border: 1px solid #cad8fb;
  border-radius: 999px;
  font-size: .76rem;
  font-weight: 500;
}
.profile-tag > button { display: grid; width: 26px; height: 26px; place-items: center; color: var(--accent-dark); background: rgb(255 255 255 / 68%); border-radius: 50%; }
.profile-tag > button:hover { color: #fff; background: var(--accent); }
.profile-tag > button .icon { width: 14px; height: 14px; }
.profile-tag-entry { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: center; }
.profile-tag-entry label { min-width: 0; }
.profile-tag-entry input { width: 100%; }
.profile-tag-entry .button { min-width: 120px; }
.profile-tag-limit { color: var(--ink-faint); font-size: .68rem; line-height: 1.45; }
.profile-tag-editor--compact { margin-top: 18px; }

:where(.consent-row, .share-toggle, .profile-choice-group > label, .profile-service-formats label, .approach-selector label:has(input[type="checkbox"])) {
  align-items: center !important;
}
:where(.consent-row, .share-toggle, .profile-choice-group, .profile-service-formats, .approach-selector) input[type="checkbox"] {
  width: 20px;
  min-width: 20px;
  height: 20px;
  min-height: 20px;
  align-self: center;
  flex: 0 0 20px;
  margin: 0;
  vertical-align: middle;
}
.consent-row > span { align-self: center; }
.profile-choice-group > label { min-height: 52px; padding: 9px 13px; }
.profile-service-formats label { min-height: 48px; justify-content: flex-start; padding: 0 11px; }

@media (max-width: 760px) {
  html.is-installed-pwa .brandmark strong { display: none; }
}

.dialog { --dialog-close-offset: 10px; }
.dialog__head {
  position: sticky;
  z-index: 4;
  top: 0;
  background: rgb(255 255 255 / 98%);
  backdrop-filter: blur(12px);
}
.dialog__head > .icon-button {
  position: sticky;
  z-index: 5;
  top: var(--dialog-close-offset);
  flex: 0 0 44px;
  color: var(--ink);
  background: #fff;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-control);
  box-shadow: 0 8px 20px rgb(23 32 51 / 13%);
  transform: translate(12px, -12px);
}
.dialog__head > .icon-button:hover { color: var(--accent); background: var(--accent-pale); }

.avatar-crop-dialog { width: min(calc(100% - 32px), 720px); }
.avatar-crop-body { display: grid; grid-template-columns: minmax(220px, 320px) minmax(0, 1fr); gap: 28px; padding: 28px; }
.avatar-crop-preview-wrap { display: grid; align-content: start; justify-items: center; gap: 18px; }
#avatar-crop-preview { display: block; width: 100%; max-width: 320px; aspect-ratio: 1; background: var(--paper-muted); border: 1px solid var(--line); border-radius: 50%; box-shadow: 0 0 0 10px var(--paper-muted); cursor: grab; touch-action: none; user-select: none; }
#avatar-crop-preview.is-dragging { cursor: grabbing; }
.avatar-crop-preview-wrap > span { display: inline-flex; min-height: 34px; align-items: center; gap: 7px; color: var(--ink-soft); font-size: .72rem; line-height: 1.35; text-align: center; }
.avatar-crop-preview-wrap > span .icon { width: 16px; color: var(--accent-dark); }
.avatar-crop-controls { display: grid; align-content: start; gap: 18px; }
.avatar-crop-controls label { display: grid; gap: 8px; }
.avatar-crop-controls label > span { color: var(--ink); font-size: .76rem; font-weight: 600; }
.avatar-crop-controls input[type="range"] { width: 100%; accent-color: var(--accent); }
.avatar-crop-controls p { margin: 2px 0 0; color: var(--ink-soft); font-size: .72rem; line-height: 1.5; }
.avatar-crop-actions { display: flex; grid-column: 1 / -1; justify-content: flex-end; gap: 10px; padding-top: 20px; border-top: 1px solid var(--line); }

.practice-rule { align-items: start; padding: 20px 0; }
.practice-rule__icon { align-self: start; margin-top: 1px; }
.practice-rule__actions { align-self: start; padding-top: 0; }
.practice-rule h3 { margin-top: 9px; }

.settings-overview__card { min-height: 104px; align-items: start; padding: 15px 16px; }
.settings-overview__icon, .settings-overview__arrow { align-self: start; }
.settings-overview__copy { align-self: start; padding-top: 1px; }
.settings-panel__head { align-items: start; }
.settings-panel__icon { align-self: start; }

.group-flow li { grid-template-columns: 30px minmax(0, 1fr); min-height: 62px; padding: 12px 14px; }
.group-flow li > span {
  width: auto;
  height: auto;
  justify-content: start;
  padding: 0;
  color: var(--accent-dark);
  background: transparent;
  border: 0;
  border-radius: 0;
  font-size: .74rem;
  font-weight: 600;
}

.context-nav a { position: relative; z-index: 0; min-height: 44px; padding-inline: 17px; background: transparent !important; }
.context-nav a::before { position: absolute; z-index: -1; inset: 6px -2px; border: 1px solid transparent; border-radius: 8px; content: ""; }
.context-nav a:hover::before { background: var(--paper-muted); }
.context-nav a.active::before { background: var(--paper-muted); border-color: var(--line); }

.site-address { align-items: baseline; gap: 2px; }
.site-address strong { color: var(--ink); font-family: var(--display); font-weight: 500; letter-spacing: -.035em; }
.site-address small { color: var(--ink-soft); font-size: .48em; font-weight: 500; }
.data-home-note { align-items: center; color: var(--ink-soft); background: var(--paper-muted); border: 1px solid var(--line); border-radius: var(--radius-control); padding: 11px 13px; }
.browser-bar { background: #f5f7fa; border-color: var(--line); }
.browser-bar > div { color: var(--ink-soft); }

.content-generator { display: grid; grid-template-columns: 1fr; gap: 22px; align-items: stretch; padding: 26px; }
.content-generator > header { padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.content-generator > header h2 { margin: 4px 0 7px; }
.content-generator > header p { margin: 0; color: var(--ink-soft); font-size: .78rem; }
.content-generator__fields { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(220px, .8fr) auto; gap: 14px; align-items: end; }
.content-explainer { display: grid; grid-template-columns: 1fr; gap: 18px; align-items: stretch; }
.content-explainer > header { padding-bottom: 17px; border-bottom: 1px solid var(--line); }
.content-explainer > header h2 { margin: 5px 0 0; }
.content-explainer__body { display: grid; gap: 16px; }
.content-explainer__body > p { max-width: 760px; }
.content-explainer__body .actions-row { justify-content: space-between; }
.content-explainer__product { color: var(--ink-soft); font-size: .76rem; line-height: 1.45; }

.connections-intro { padding-bottom: 20px; }
.integration-list { display: grid; gap: 18px; padding-top: 2px; border-top: 0; }
.integration-list > .integration-list { gap: 18px; }
.integration-group { display: grid; gap: 16px; padding: 22px; background: #f7f8fb; border: 1px solid var(--line); border-radius: var(--radius-surface); }
.integration-group__head { display: grid; grid-template-columns: 42px minmax(0, 1fr); align-items: start; gap: 14px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.integration-group__number { display: grid; width: 40px; height: 40px; place-items: center; color: var(--accent); background: var(--accent-pale); border-radius: var(--radius-control); font-size: .68rem; font-weight: 650; line-height: 1; }
.integration-group__head .kicker { display: block; margin-bottom: 5px; }
.integration-group__head h3 { margin: 0; font-family: var(--display); font-size: 1.22rem; font-weight: 600; letter-spacing: -.025em; line-height: 1.25; }
.integration-group__head p { max-width: 720px; margin: 6px 0 0; color: var(--ink-soft); font-size: .78rem; line-height: 1.5; }
.integration-group__items { display: grid; gap: 9px; }
.integration-disclosure { border: 1px solid var(--line); border-radius: var(--radius-surface); }
.integration-group .integration-disclosure { background: #fff; box-shadow: none; }
.integration-disclosure > summary { min-height: 76px; padding: 15px 18px; }
.integration-disclosure__title { display: flex; min-width: 0; align-items: center; flex-wrap: wrap; gap: 8px; }
.integration-disclosure__title strong { min-width: 0; }
.integration-disclosure__badge { display: inline-flex; min-height: 26px; align-items: center; justify-content: center; padding: 0 9px; border: 1px solid transparent; border-radius: 99px; font-size: .62rem; font-weight: 650; line-height: 1; white-space: nowrap; }
.integration-disclosure__badge--free { color: #246547; background: #eaf7ef; border-color: #cee9d8; }
.integration-disclosure__badge--subscription { color: #79521f; background: #fff4df; border-color: #efdcb9; }
.integration-disclosure__body { padding: 22px 18px 26px; }

.vault-warning {
  width: fit-content;
  max-width: 100%;
  padding: 11px 13px;
  color: var(--ink) !important;
  background: #eef3ff;
  border: 1px solid #d8e2fb;
  border-left: 1px solid #d8e2fb;
  border-radius: var(--radius-control);
  font-size: .76rem !important;
  line-height: 1.45 !important;
}

.admin-invite-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 24px 0; border: 0; }
.admin-invite-steps li { grid-template-columns: 30px minmax(0, 1fr); min-height: 54px; align-items: center; gap: 10px; padding: 9px 12px; background: var(--paper-muted); border: 1px solid var(--line); border-radius: var(--radius-control); }
.admin-invite-steps li + li { border-left: 1px solid var(--line); }
.admin-invite-steps b { width: 28px; height: 28px; color: var(--accent-dark); background: var(--accent-pale); border-radius: 8px; }
.admin-invite-form { align-items: start; padding: 20px; background: var(--paper-muted); border: 1px solid var(--line); border-radius: var(--radius-surface); }
.admin-invite-action { display: grid; gap: 8px; }
.admin-invite-action > span { color: var(--ink-soft); font-size: .8rem; font-weight: 600; line-height: 1.4; }
.admin-invite-action small { color: var(--ink-faint); font-size: .72rem; line-height: 1.4; }
.admin-invite-list { margin-top: 24px; padding: 22px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-surface); }
.admin-invite-list > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.admin-invite-list .auth-session-list, .admin-invite-list > .form-note { margin-top: 16px; }
.admin-invite-notice { padding: 14px 16px; margin: 0 0 18px; border: 1px solid; border-radius: var(--radius-control); font-size: .82rem; font-weight: 650; line-height: 1.5; }
.admin-invite-notice--success { color: #185c42; background: #eaf7ef; border-color: #b9dfc8; }
.admin-invite-notice--error { color: #8f2525; background: #fff0f0; border-color: #efb5b5; }
.platform-account-list { display: grid; padding: 0; margin: 16px 0 0; list-style: none; }
.platform-account-list > li { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.platform-account-copy { display: grid; min-width: 0; gap: 3px; }
.platform-account-copy strong, .platform-account-copy span { overflow-wrap: anywhere; }
.platform-account-copy span { color: var(--ink-soft); font-size: .8rem; }
.platform-account-copy small { color: var(--ink-faint); font-size: .72rem; line-height: 1.45; }
.platform-account-actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.platform-account-actions .button { min-height: 40px; padding-inline: 13px; font-size: .72rem; }
.platform-account-delete-dialog { width: min(620px, calc(100vw - 32px)); }
.platform-account-delete-dialog .dialog__form { display: grid; gap: 18px; }
.platform-account-delete-dialog .dialog__form > p:first-child { margin: 0; color: var(--ink-soft); line-height: 1.6; }
.platform-account-delete-dialog label { display: grid; gap: 8px; }
.platform-account-delete-dialog [data-delete-account-notice]:empty { display: none; }
.toast { color: #fff; background: #172033; border: 1px solid rgb(255 255 255 / 14%); }
.toast.toast--error { color: #fff; background: #9f2d36; border-color: #d65d68; }

@media (max-width: 760px) {
  .profile-tag-entry { grid-template-columns: 1fr; }
  .profile-tag-entry .button { width: 100%; }
  .dialog__head > .icon-button { transform: none; }
  .avatar-crop-dialog { overflow: hidden; }
  .avatar-crop-body { grid-template-columns: 1fr; max-height: calc(100dvh - 132px); gap: 18px; padding: 17px 21px 0; overflow-y: auto; }
  .avatar-crop-preview-wrap { position: sticky; z-index: 2; top: 0; padding: 10px 0 5px; background: var(--paper-strong); }
  #avatar-crop-preview { width: min(60dvh, 100%, 270px); margin-inline: auto; }
  .avatar-crop-actions { position: sticky; z-index: 3; bottom: 0; align-items: stretch; flex-direction: row; margin-inline: -21px; padding: 14px 21px calc(14px + env(safe-area-inset-bottom)); background: rgb(255 255 255 / 98%); box-shadow: 0 -10px 24px rgb(23 32 51 / 8%); }
  .avatar-crop-actions .button { width: 100%; }
  .content-generator__fields { grid-template-columns: 1fr; }
  .content-generator__fields .button { width: 100%; }
  .content-explainer__body .actions-row { align-items: stretch; flex-direction: column; }
  .integration-list { gap: 14px; }
  .integration-group { gap: 13px; padding: 15px; }
  .integration-group__head { grid-template-columns: 36px minmax(0, 1fr); gap: 11px; padding-bottom: 14px; }
  .integration-group__number { width: 34px; height: 34px; }
  .integration-group__head h3 { font-size: 1.08rem; }
  .integration-disclosure__title { align-items: flex-start; flex-direction: column; gap: 6px; }
  .integration-disclosure__badge { min-height: 25px; }
  .admin-invite-steps { grid-template-columns: 1fr; }
  .admin-invite-steps li + li { border-top: 1px solid var(--line); }
  .admin-invite-form { padding: 16px; }
  .admin-invite-list { padding: 17px; }
  .admin-invite-list > header { align-items: stretch; flex-direction: column; }
  .admin-invite-list > header .button { width: 100%; }
  .platform-account-list > li { align-items: stretch; flex-direction: column; }
  .platform-account-actions { display: grid; grid-template-columns: 1fr; width: 100%; }
  .platform-account-actions .button { width: 100%; }
}

/* Native guidance system: SessionOS spotlight tours and contextual help. */
.header-help {
  display: inline-grid;
  width: 44px;
  min-width: 44px;
  height: 44px;
  place-items: center;
  padding: 0;
  color: var(--ink-soft);
  background: transparent;
  border: 0;
  border-radius: var(--radius-control);
}
.header-help .icon { display: block; width: 19px; height: 19px; margin: 0; transform: none; }
.header-help:hover { color: var(--accent); background: var(--accent-pale); }
.header-help[aria-pressed="true"] { color: #fff; background: var(--accent); }
.header-help:focus-visible { outline: 3px solid color-mix(in srgb, var(--accent) 38%, transparent); outline-offset: 2px; }

.help-tour { position: fixed; z-index: 9000; inset: 0; font-family: var(--sans); }
.help-tour[hidden] { display: none; }
.help-tour__shade {
  position: fixed;
  z-index: 9000;
  background: rgb(16 23 38 / 72%);
  backdrop-filter: blur(1.5px);
  transition: top 220ms cubic-bezier(.2, .8, .2, 1), left 220ms cubic-bezier(.2, .8, .2, 1), width 220ms cubic-bezier(.2, .8, .2, 1), height 220ms cubic-bezier(.2, .8, .2, 1);
}
.help-tour__spotlight {
  position: fixed;
  z-index: 9001;
  pointer-events: none;
  border: 1px solid rgb(132 149 255 / 92%);
  outline: 0;
  box-shadow: 0 0 0 6px rgb(78 100 242 / 13%), 0 18px 52px rgb(6 13 28 / 22%);
  transition: top 220ms cubic-bezier(.2, .8, .2, 1), left 220ms cubic-bezier(.2, .8, .2, 1), width 220ms cubic-bezier(.2, .8, .2, 1), height 220ms cubic-bezier(.2, .8, .2, 1);
}
.help-tour__popover {
  position: fixed;
  z-index: 9002;
  display: grid;
  width: min(390px, calc(100vw - 32px));
  overflow: hidden;
  color: var(--ink);
  background: #fff;
  border: 1px solid rgb(215 221 233 / 92%);
  border-radius: var(--radius-surface);
  box-shadow: 0 26px 80px rgb(7 14 31 / 27%);
  animation: help-tour-popover-in 180ms cubic-bezier(.2, .8, .2, 1) both;
}
.help-tour__popover:focus { outline: 0; }
.help-tour__popover > header {
  display: flex;
  min-height: 52px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 8px 10px 8px 22px;
  border-bottom: 1px solid var(--line);
}
.help-tour__section { color: var(--accent); font-size: .66rem; font-weight: 600; letter-spacing: .095em; text-transform: uppercase; }
.help-tour__popover > header button {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  padding: 0;
  color: var(--ink-soft);
  background: transparent;
  border-radius: var(--radius-control);
}
.help-tour__popover > header button:hover { color: var(--ink); background: var(--paper-muted); }
.help-tour__popover > header button .icon { width: 17px; height: 17px; }
.help-tour__copy { display: grid; gap: 12px; padding: 24px 22px 22px; }
.help-tour__copy h2 { margin: 0; font-family: var(--display); font-size: 1.65rem; font-weight: 500; letter-spacing: -.035em; line-height: 1.08; }
.help-tour__copy > p { margin: 0; color: var(--ink-soft); font-size: .82rem; line-height: 1.58; }
.help-tour__result {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  padding: 12px 13px;
  color: #344263;
  background: #f0f4ff;
  border: 1px solid #dce5ff;
  border-radius: var(--radius-control);
  font-size: .74rem;
  line-height: 1.5;
}
.help-tour__result .icon { width: 17px; height: 17px; margin-top: 1px; color: var(--accent); }
.help-tour__popover > footer {
  display: grid;
  grid-template-columns: auto minmax(88px, 1fr) auto;
  min-height: 68px;
  align-items: center;
  gap: 15px;
  padding: 10px 14px 10px 22px;
  background: #fafbfc;
  border-top: 1px solid var(--line);
}
.help-tour__skip { min-height: 40px; padding: 0; color: var(--ink-soft); background: transparent; font-size: .72rem; }
.help-tour__skip:hover { color: var(--ink); }
.help-tour__progress { display: grid; gap: 7px; color: var(--ink-faint); font-size: .65rem; text-align: center; }
.help-tour__progress i { display: block; height: 3px; overflow: hidden; background: #e6e9ef; border-radius: 99px; }
.help-tour__progress b { display: block; height: 100%; background: var(--accent); border-radius: inherit; transition: width 220ms ease; }
.help-tour__controls { display: flex; align-items: center; gap: 7px; }
.help-tour__controls button {
  display: inline-flex;
  min-width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 13px;
  color: var(--ink-soft);
  background: #fff;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-control);
  font-size: .73rem;
  line-height: 1;
}
.help-tour__controls button:last-child { min-width: 104px; color: #fff; background: var(--accent); border-color: var(--accent); }
.help-tour__controls button:hover:not(:disabled) { color: var(--accent); border-color: var(--accent); }
.help-tour__controls button:last-child:hover { color: #fff; background: var(--accent-dark); }
.help-tour__controls button:disabled { opacity: .38; }
.help-tour__controls .icon { display: block; width: 16px; height: 16px; }
.help-tour__popover button:focus-visible { outline: 3px solid color-mix(in srgb, var(--accent) 38%, transparent); outline-offset: 2px; }

.help-welcome {
  width: min(980px, calc(100% - 32px));
  max-height: min(720px, calc(100vh - 32px));
  padding: 0;
  overflow: hidden;
  color: var(--ink);
  background: #fff;
  border: 1px solid rgb(218 223 233 / 92%);
  border-radius: var(--radius-surface);
  box-shadow: 0 34px 110px rgb(10 17 32 / 32%);
}
.help-welcome::backdrop { background: rgb(16 23 38 / 66%); backdrop-filter: blur(4px); }
.help-welcome[open] { display: grid; grid-template-columns: minmax(360px, .94fr) minmax(420px, 1.06fr); animation: help-welcome-in 220ms cubic-bezier(.2, .8, .2, 1) both; }
.help-welcome__close { position: absolute; z-index: 3; top: 14px; right: 14px; }
.help-welcome__close button { display: grid; width: 40px; height: 40px; place-items: center; color: var(--ink-soft); background: rgb(255 255 255 / 92%); border: 1px solid var(--line); border-radius: var(--radius-control); box-shadow: 0 8px 24px rgb(10 17 32 / 10%); }
.help-welcome__close .icon { width: 17px; height: 17px; }
.help-welcome__visual { position: relative; display: grid; min-height: 560px; place-items: center; overflow: hidden; padding: 54px 40px; background: #171d2a; }
.help-welcome__visual::before { position: absolute; width: 320px; height: 320px; background: #5269ff; border-radius: 50%; filter: blur(110px); content: ""; opacity: .34; transform: translate(-35%, -34%); }
.help-welcome__visual::after { position: absolute; right: -90px; bottom: -110px; width: 300px; height: 300px; background: #cfe6d7; border-radius: 50%; filter: blur(105px); content: ""; opacity: .17; }
.help-welcome__mockup { position: relative; z-index: 1; display: grid; grid-template-columns: 48px minmax(0, 1fr); width: min(100%, 390px); min-height: 330px; overflow: hidden; background: #fff; border: 1px solid rgb(255 255 255 / 20%); border-radius: var(--radius-surface); box-shadow: 0 26px 70px rgb(3 8 19 / 38%); transform: rotate(-1.5deg); }
.help-welcome__mockup > aside { display: grid; grid-template-rows: 38px repeat(4, 22px); justify-items: center; align-content: start; gap: 19px; padding-top: 16px; background: #f5f7fb; border-right: 1px solid #e8ebf1; }
.help-welcome__mockup > aside b { display: grid; width: 28px; height: 28px; place-items: center; color: #fff; background: #171d2a; border-radius: 8px; font-size: .7rem; }
.help-welcome__mockup > aside i { width: 18px; height: 4px; background: #d8dde8; border-radius: 4px; }
.help-welcome__mockup > section { padding: 15px 16px; }
.help-welcome__mockup > section header { display: grid; grid-template-columns: 1fr 52px 28px; align-items: center; gap: 8px; padding-bottom: 16px; border-bottom: 1px solid #e9ecf2; }
.help-welcome__mockup > section header span { width: 66px; height: 8px; background: #dce1eb; border-radius: 8px; }
.help-welcome__mockup > section header em { height: 18px; background: #eef1f6; border-radius: 9px; }
.help-welcome__mockup > section header b { display: grid; width: 28px; height: 28px; place-items: center; color: #fff; background: var(--accent); border-radius: 9px; font-size: .7rem; font-style: normal; box-shadow: 0 0 0 4px rgb(78 100 242 / 17%); animation: help-beacon 1.8s ease-in-out infinite; }
.help-welcome__mockup-title { width: 76%; height: 17px; margin: 29px 0 22px; background: #202636; border-radius: 7px; }
.help-welcome__mockup-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.help-welcome__mockup-grid i { height: 118px; background: linear-gradient(180deg, #f4f6fa, #ebeff8); border: 1px solid #e3e7ef; border-radius: 9px; }
.help-welcome__focus { position: absolute; z-index: 2; top: 84px; right: 12px; width: 205px; padding: 12px 14px; color: #fff; background: var(--accent); border-radius: var(--radius-control); box-shadow: 0 18px 38px rgb(17 30 83 / 36%); font-size: .68rem; line-height: 1.4; animation: help-callout-float 2.8s ease-in-out infinite; }
.help-welcome__focus::before { position: absolute; top: 16px; left: -7px; width: 14px; height: 14px; background: inherit; content: ""; transform: rotate(45deg); }
.help-welcome__focus span { position: relative; z-index: 1; }
.help-welcome__content { display: grid; align-content: center; padding: 64px clamp(38px, 5vw, 66px) 54px; }
.help-welcome__kicker { margin-bottom: 16px; color: var(--accent); font-size: .68rem; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; }
.help-welcome__content h2 { margin: 0; font-family: var(--display); font-size: clamp(2.25rem, 4.3vw, 3.45rem); font-weight: 500; letter-spacing: -.052em; line-height: .98; }
.help-welcome__content > p { max-width: 510px; margin: 23px 0 0; color: var(--ink-soft); font-size: .88rem; line-height: 1.65; }
.help-welcome__content ul { display: grid; gap: 12px; padding: 22px 0; margin: 24px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); list-style: none; }
.help-welcome__content li { display: grid; grid-template-columns: 23px minmax(0, 1fr); align-items: center; gap: 10px; color: #49536a; font-size: .76rem; }
.help-welcome__content li .icon { width: 17px; height: 17px; color: var(--success); }
.help-welcome__actions { display: flex; align-items: center; gap: 10px; }
.help-welcome__actions .button { min-height: 48px; }

@keyframes help-tour-popover-in { from { opacity: 0; transform: translateY(8px) scale(.985); } to { opacity: 1; transform: none; } }
@keyframes help-welcome-in { from { opacity: 0; transform: translateY(12px) scale(.985); } to { opacity: 1; transform: none; } }
@keyframes help-beacon { 0%, 100% { box-shadow: 0 0 0 4px rgb(78 100 242 / 17%); } 50% { box-shadow: 0 0 0 9px rgb(78 100 242 / 5%); } }
@keyframes help-callout-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }

@media (max-width: 760px) {
  .help-tour__shade { backdrop-filter: none; }
  .help-tour__popover { right: 10px; bottom: calc(82px + env(safe-area-inset-bottom)); left: 10px !important; width: auto; max-height: min(52vh, 440px); overflow-y: auto; }
  .help-tour__copy { padding: 20px 18px 18px; }
  .help-tour__copy h2 { font-size: 1.45rem; }
  .help-tour__popover > footer { position: sticky; bottom: 0; grid-template-columns: minmax(76px, auto) 1fr auto; gap: 9px; padding: 9px 10px 9px 17px; }
  .help-tour__controls button:last-child { min-width: 92px; }
  .help-tour__progress { min-width: 64px; }
  .help-welcome { width: min(calc(100% - 20px), 520px); max-height: calc(100vh - 20px); overflow-y: auto; }
  .help-welcome[open] { display: block; }
  .help-welcome__visual { min-height: 230px; padding: 36px 24px 26px; }
  .help-welcome__mockup { width: min(100%, 310px); min-height: 195px; grid-template-columns: 38px minmax(0, 1fr); }
  .help-welcome__mockup > aside { grid-template-rows: 30px repeat(4, 16px); gap: 10px; padding-top: 10px; }
  .help-welcome__mockup > aside b { width: 23px; height: 23px; }
  .help-welcome__mockup > aside i { width: 14px; height: 3px; }
  .help-welcome__mockup > section { padding: 10px; }
  .help-welcome__mockup > section header { padding-bottom: 10px; }
  .help-welcome__mockup-title { height: 12px; margin: 18px 0 13px; }
  .help-welcome__mockup-grid { gap: 6px; }
  .help-welcome__mockup-grid i { height: 72px; }
  .help-welcome__focus { top: 55px; right: 8px; width: 168px; font-size: .6rem; }
  .help-welcome__content { padding: 34px 24px 28px; }
  .help-welcome__content h2 { font-size: clamp(2.05rem, 10vw, 2.7rem); }
  .help-welcome__content > p { margin-top: 18px; }
  .help-welcome__content ul { margin: 20px 0; padding: 18px 0; }
  .help-welcome__actions { align-items: stretch; flex-direction: column; }
  .help-welcome__actions .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .help-tour__shade,
  .help-tour__spotlight,
  .help-tour__progress b { transition: none !important; }
  .help-tour__popover,
  .help-welcome[open],
  .help-welcome__mockup > section header b,
  .help-welcome__focus { animation: none !important; }
}

/* Product release center. */
.release-beacon {
  position: relative;
  display: grid;
  grid-template-columns: minmax(220px, .72fr) minmax(300px, 1.28fr) auto;
  min-height: 88px;
  align-items: center;
  gap: 24px;
  overflow: hidden;
  padding: 16px 18px 16px 22px;
  margin: -4px 0 30px;
  color: #fff;
  background: linear-gradient(112deg, #171d2a 0%, #20283a 63%, #26345d 100%);
  border: 1px solid rgb(255 255 255 / 10%);
  border-radius: var(--radius-surface);
  box-shadow: 0 18px 38px rgb(16 23 38 / 16%);
  text-decoration: none;
  transition: transform 180ms ease, box-shadow 180ms ease;
}
.release-beacon::before { position: absolute; top: -90px; right: 12%; width: 210px; height: 210px; background: #5269ff; border-radius: 50%; content: ""; filter: blur(72px); opacity: .28; }
.release-beacon:hover { color: #fff; box-shadow: 0 23px 48px rgb(16 23 38 / 22%); transform: translateY(-2px); }
.release-beacon:focus-visible { outline: 3px solid color-mix(in srgb, var(--accent) 42%, transparent); outline-offset: 3px; }
.release-beacon__version, .release-beacon__copy, .release-beacon__actions { position: relative; z-index: 1; }
.release-beacon__version { display: grid; gap: 4px; }
.release-beacon__version small, .release-beacon__copy small { color: rgb(255 255 255 / 62%); font-size: .66rem; line-height: 1.35; }
.release-beacon__version small { font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.release-beacon__version strong { font-family: var(--display); font-size: 1.15rem; font-weight: 600; letter-spacing: -.025em; }
.release-beacon__copy { display: grid; gap: 4px; padding-left: 22px; border-left: 1px solid rgb(255 255 255 / 16%); }
.release-beacon__copy b { font-size: .8rem; font-weight: 600; }
.release-beacon__actions { display: grid; justify-items: stretch; gap: 7px; }
.release-beacon__action { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; gap: 9px; padding: 0 17px; color: var(--graphite); background: #fff; border-radius: var(--radius-control); font-size: .72rem; font-weight: 600; }
.release-beacon__action .icon { width: 16px; height: 16px; }
.release-beacon__feedback { display: inline-flex; min-height: 32px; align-items: center; justify-content: center; color: rgb(255 255 255 / 82%); font-size: .68rem; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.release-beacon__feedback:hover { color: #fff; }

.public-release-view { min-width: 320px; background: var(--paper); }
.public-release-shell {
  min-height: 100vh;
  padding: clamp(18px, 3.2vw, 52px);
  color: var(--ink);
  background: var(--paper);
}
.public-release-shell > .release-page { width: min(1760px, 100%); margin: 0 auto; }
.release-back { width: fit-content; }
.release-page { display: grid; gap: 34px; }
.release-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
  gap: clamp(34px, 6vw, 86px);
  overflow: hidden;
  padding: clamp(34px, 5vw, 70px);
  color: #fff;
  background: #171d2a;
  border-radius: var(--radius-surface);
  box-shadow: 0 25px 62px rgb(16 23 38 / 20%);
}
.release-hero::before { position: absolute; top: -180px; right: 19%; width: 410px; height: 410px; background: #5269ff; border-radius: 50%; content: ""; filter: blur(135px); opacity: .26; }
.release-hero > * { position: relative; z-index: 1; }
.release-hero__stage { display: inline-flex; width: fit-content; min-height: 28px; align-items: center; padding: 0 11px; margin-bottom: 24px; color: #c8d3ff; background: rgb(82 105 255 / 16%); border: 1px solid rgb(138 154 255 / 24%); border-radius: 99px; font-size: .62rem; font-weight: 600; letter-spacing: .085em; text-transform: uppercase; }
.release-hero .eyebrow { color: rgb(255 255 255 / 56%); }
.release-hero h1 { max-width: 780px; margin: 10px 0 20px; color: #fff; font-family: var(--display); font-size: clamp(3rem, 6vw, 6.2rem); font-weight: 500; letter-spacing: -.065em; line-height: .9; }
.release-hero h1 em { display: block; color: #96a8ff; font-style: normal; }
.release-hero .page-subtitle { max-width: 720px; color: rgb(255 255 255 / 70%); }
.release-hero .actions-row { margin-top: 28px; }
.release-hero .button--quiet { color: #fff; background: rgb(255 255 255 / 6%); border-color: rgb(255 255 255 / 18%); }
.release-hero > aside { align-self: end; padding: 28px; color: var(--graphite); background: #f3f5ff; border-radius: var(--radius-surface); }
.release-hero > aside .kicker { color: #354cc4; font-size: .72rem; }
.release-hero > aside dl { display: grid; grid-template-columns: repeat(3, 1fr); margin: 24px 0; border-top: 1px solid #dce2f4; border-bottom: 1px solid #dce2f4; }
.release-hero > aside dl div { display: grid; grid-template-rows: 2.7em auto; align-content: center; gap: 8px; min-height: 104px; padding: 18px 10px; }
.release-hero > aside dl div + div { border-left: 1px solid #dce2f4; }
.release-hero > aside dt { align-self: start; color: #59657d; font-size: .72rem; line-height: 1.35; }
.release-hero > aside dd { margin: 0; font-family: var(--display); font-size: 2.35rem; font-weight: 600; line-height: .95; }
.release-hero > aside p { margin: 0; color: #5f6980; font-size: .82rem; line-height: 1.58; }

.release-section { scroll-margin-top: 118px; padding: clamp(26px, 4vw, 46px); background: #fff; border: 1px solid var(--line); border-radius: var(--radius-surface); box-shadow: var(--shadow); }
.release-section__head { display: flex; align-items: end; justify-content: space-between; gap: 32px; padding-bottom: 24px; margin-bottom: 24px; border-bottom: 1px solid var(--line); }
.release-section__head h2 { max-width: 740px; margin: 6px 0 0; font-family: var(--display); font-size: clamp(1.7rem, 3vw, 2.65rem); font-weight: 500; letter-spacing: -.045em; line-height: 1.05; }
.release-section__head > p { max-width: 460px; margin: 0; color: var(--ink-soft); font-size: .86rem; line-height: 1.62; text-align: right; }
.release-highlights { padding: clamp(26px, 4vw, 46px); color: #f4f7ff; background: #121a2a; border: 1px solid #29354b; border-radius: var(--radius-surface); box-shadow: var(--shadow); }
.release-highlights .release-section__head { border-color: rgb(255 255 255 / 12%); }
.release-highlights .release-section__head h2,
.release-highlights article h3 { color: #f4f7ff; }
.release-highlights .kicker,
.release-highlights article span { color: #aebcff; }
.release-highlights .release-section__head > p { color: rgb(255 255 255 / 58%); }
.release-highlights > div { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 14px; }
.release-highlights article { min-height: 210px; padding: 24px; background: rgb(255 255 255 / 4%); border: 1px solid rgb(255 255 255 / 10%); border-radius: 18px; }
.release-highlights article span { color: #96a8ff; font-size: .64rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.release-highlights article h3 { margin: 28px 0 10px; font-family: var(--display); font-size: 1.45rem; font-weight: 500; letter-spacing: -.035em; }
.release-highlights article p { margin: 0; color: rgb(255 255 255 / 62%); font-size: .78rem; line-height: 1.6; }
.release-feature-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.release-feature { display: grid; grid-template-columns: 42px minmax(0, 1fr); align-items: start; gap: 16px; min-height: 230px; padding: 22px; background: #fafbfc; border: 1px solid var(--line); border-radius: var(--radius-surface); }
.release-feature__number { display: grid; width: 38px; height: 38px; place-items: center; color: #354cc4; background: var(--accent-pale); border-radius: var(--radius-control); font-size: .68rem; font-weight: 600; }
.release-feature__area { display: block; margin: 1px 0 7px; color: #354cc4; font-size: .67rem; font-weight: 650; letter-spacing: .075em; line-height: 1.2; text-transform: uppercase; }
.release-feature h3, .release-connection-list h3, .release-limit-grid h3, .release-roadmap h3 { margin: 2px 0 12px; font-family: var(--display); font-size: 1.25rem; font-weight: 600; letter-spacing: -.025em; line-height: 1.25; }
.release-feature p, .release-connection-list p, .release-limit-grid p { margin: 0; color: var(--ink-soft); font-size: .84rem; line-height: 1.62; }
.release-feature ul { display: grid; gap: 8px; padding: 14px 0 0; margin: 16px 0 0; border-top: 1px solid var(--line); list-style: none; }
.release-feature li { display: grid; grid-template-columns: 18px minmax(0, 1fr); align-items: start; gap: 8px; color: #4f586a; font-size: .8rem; line-height: 1.5; }
.release-feature li .icon { width: 15px; height: 15px; margin-top: 1px; color: var(--success); }
.release-connection-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.release-connection-list article { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 15px; min-height: 150px; padding: 20px; background: #f2f5ff; border: 1px solid #dde5ff; border-radius: var(--radius-surface); }
.release-connection-list article > span { display: grid; width: 42px; height: 42px; place-items: center; color: var(--accent); background: #fff; border-radius: var(--radius-control); }
.release-connection-list article > span .icon { width: 19px; height: 19px; }
.release-connection-list small { color: #354cc4; font-size: .72rem; font-weight: 600; }
.release-limit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.release-limit-grid article { padding: 24px; background: #fff9f1; border: 1px solid #f0dfc9; border-radius: var(--radius-surface); }
.release-limit-grid article > header { display: flex; min-height: 34px; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.release-limit-grid article > header h3 { margin: 0; }
.release-limit-grid__status { display: inline-flex; min-height: 32px; flex: none; align-items: center; justify-content: center; padding: 0 13px; color: #8a5b22; background: #fae8ce; border-radius: 99px; font-size: .68rem; font-weight: 650; letter-spacing: .065em; line-height: 1; text-transform: uppercase; }
.release-limit-grid p + p { margin-top: 14px; }
.release-limit-grid p b { color: var(--ink); font-weight: 600; }
.release-roadmap > ol { display: grid; padding: 0; margin: 0; list-style: none; }
.release-roadmap > ol > li { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 18px; min-height: 180px; }
.release-roadmap__rail { display: grid; grid-template-rows: 42px 1fr; justify-items: center; }
.release-roadmap__rail b { display: grid; width: 42px; height: 42px; place-items: center; color: #fff; background: var(--graphite); border-radius: var(--radius-control); font-size: .66rem; }
.release-roadmap__rail i { width: 1px; height: 100%; background: var(--line-strong); }
.release-roadmap > ol > li:last-child .release-roadmap__rail i { display: none; }
.release-roadmap article { padding: 0 0 34px; }
.release-roadmap article > small { color: #354cc4; font-size: .72rem; font-weight: 650; letter-spacing: .075em; text-transform: uppercase; }
.release-roadmap article h3 { margin-top: 7px; margin-bottom: 14px; }
.release-roadmap__outcome { max-width: 900px; margin: -2px 0 18px; color: var(--ink); font-size: .86rem; line-height: 1.6; }
.release-roadmap article ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 28px; padding: 0; margin: 0; list-style: none; }
.release-roadmap article li { position: relative; padding-left: 17px; color: var(--ink-soft); font-size: .82rem; line-height: 1.55; }
.release-roadmap article li::before { position: absolute; top: .775em; left: 0; width: 6px; height: 6px; background: var(--accent); border-radius: 50%; content: ""; transform: translateY(-50%); }
.release-update-note { display: grid; grid-template-columns: 42px minmax(0, 1fr); align-items: start; gap: 14px; padding: 20px 22px; color: #33415e; background: #eef3ff; border: 1px solid #dce5ff; border-radius: var(--radius-surface); }
.release-update-note > .icon { width: 22px; height: 22px; color: var(--accent); }
.release-update-note strong { display: block; margin-bottom: 4px; font-size: .76rem; }
.release-update-note p { margin: 0; color: #59657d; font-size: .7rem; line-height: 1.5; }
.release-feedback-note { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 20px 22px; color: var(--ink); background: var(--paper-strong); border: 1px solid var(--line-strong); border-radius: var(--radius-surface); }
.release-feedback-note > .icon { width: 22px; height: 22px; color: var(--accent); }
.release-feedback-note strong { display: block; margin-bottom: 4px; font-size: .82rem; }
.release-feedback-note p { margin: 0; color: var(--ink-soft); font-size: .74rem; line-height: 1.5; }
.feedback-page { display: grid; gap: clamp(24px, 4vw, 44px); }
.feedback-page__header { padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.feedback-page__header .page-subtitle { color: var(--ink); }
.feedback-page .demo-feedback { margin-top: 0; }
.feedback-standalone { width: min(100% - 32px, 1180px); min-height: 100vh; margin: 0 auto; padding-block: clamp(24px, 5vw, 64px); }

@media (max-width: 900px) {
  .release-beacon { grid-template-columns: 1fr auto; }
  .release-beacon__copy { grid-column: 1; grid-row: 2; padding: 12px 0 0; border-top: 1px solid rgb(255 255 255 / 16%); border-left: 0; }
  .release-beacon__actions { grid-column: 2; grid-row: 1 / span 2; }
  .release-hero { grid-template-columns: 1fr; }
  .release-hero > aside { align-self: auto; }
}

@media (max-width: 760px) {
  .public-release-shell { padding: 14px; }
  .release-beacon { grid-template-columns: 1fr; gap: 12px; min-height: 0; padding: 18px; margin: 0 0 24px; }
  .release-beacon__copy { grid-column: 1; grid-row: auto; }
  .release-beacon__actions { grid-column: 1; grid-row: auto; width: 100%; }
  .release-beacon__action { width: 100%; }
  .release-feedback-note { grid-template-columns: 32px minmax(0, 1fr); }
  .release-feedback-note .button { grid-column: 1 / -1; width: 100%; }
  .release-page { gap: 18px; }
  .release-hero { gap: 28px; padding: 28px 20px; }
  .release-hero h1 { font-size: clamp(3.2rem, 17vw, 4.4rem); }
  .release-hero h1 em { margin-top: 6px; }
  .release-hero .actions-row { align-items: stretch; flex-direction: column; }
  .release-hero .button { width: 100%; }
  .release-hero > aside { padding: 20px; }
  .release-hero > aside dl { margin: 20px 0; }
  .release-hero > aside dl div { min-height: 92px; padding: 15px 7px; }
  .release-hero > aside dt { font-size: .72rem; }
  .release-hero > aside dd { font-size: 2.05rem; }
  .release-hero > aside p { font-size: .78rem; }
  .release-section { padding: 22px 16px; }
  .release-section__head { align-items: start; flex-direction: column; gap: 12px; }
  .release-section__head > p { text-align: left; }
  .release-feature-grid, .release-connection-list, .release-limit-grid { grid-template-columns: 1fr; }
  .release-limit-grid article { padding: 20px; }
  .release-limit-grid article > header { align-items: flex-start; gap: 12px; }
  .release-feature { grid-template-columns: 36px minmax(0, 1fr); min-height: 0; padding: 18px 14px; }
  .release-feature__number { width: 34px; height: 34px; }
  .release-roadmap > ol > li { grid-template-columns: 42px minmax(0, 1fr); gap: 12px; }
  .release-roadmap__rail b { width: 38px; height: 38px; }
  .release-roadmap article ul { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .release-beacon { transition: none; }
  .release-beacon:hover { transform: none; }
}

/* Authentication and invite completion: one permanent route after a one-time link. */
.release-login-page { display: grid; min-height: 100vh; padding: clamp(20px, 4vw, 52px); place-items: center; background: #f4f6fa; }
.release-gate-page { display: grid; min-height: 100vh; padding: clamp(20px, 4vw, 52px); place-items: center; background: var(--paper); }
.release-gate-card { display: grid; width: min(760px, 100%); gap: 20px; padding: clamp(28px, 6vw, 64px); background: var(--paper-strong); border: 1px solid var(--line); border-radius: var(--radius-surface); box-shadow: 0 24px 70px rgb(22 31 50 / 10%); }
.release-gate-card h1 { max-width: 680px; margin: 0; font-family: var(--display); font-size: clamp(2.5rem, 7vw, 4.8rem); font-weight: 500; letter-spacing: -.055em; line-height: .96; }
.release-gate-card > p { max-width: 680px; margin: 0; color: var(--ink-soft); font-size: clamp(.94rem, 1.5vw, 1.06rem); line-height: 1.65; }
.release-gate-card__icon { display: grid; width: 48px; height: 48px; place-items: center; color: var(--accent); background: var(--accent-soft); border-radius: var(--radius-control); }
.release-gate-card__icon .icon { width: 22px; height: 22px; }
.pilot-acceptance-list { display: grid; gap: 10px; padding: 0; margin: 4px 0; list-style: none; }
.pilot-acceptance-list li { display: grid; grid-template-columns: 22px minmax(0, 1fr); align-items: start; gap: 12px; color: var(--ink-soft); line-height: 1.5; }
.pilot-acceptance-list .icon { width: 18px; height: 18px; margin-top: 2px; color: #35a572; }
.pilot-acceptance-form { display: grid; gap: 18px; padding-top: 20px; border-top: 1px solid var(--line); }
.pilot-acceptance-form .consent-row { min-height: 0; align-items: flex-start !important; font-size: .86rem; line-height: 1.55; }
.pilot-acceptance-form .consent-row > input { align-self: flex-start; margin-top: 2px; }
.pilot-acceptance-form .consent-row > span { align-self: start; }
.release-login-card { display: grid; grid-template-columns: minmax(0, .92fr) minmax(340px, .68fr); width: min(1120px, 100%); min-height: 620px; overflow: hidden; margin: 0 auto; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-surface); box-shadow: 0 24px 70px rgb(22 31 50 / 10%); }
.release-login-card--reset { grid-template-columns: 1fr; width: min(640px, 100%); min-height: 0; }
.release-login-card__main { display: grid; align-content: center; gap: 18px; padding: clamp(32px, 6vw, 76px); }
.release-login-card__form { display: grid; gap: 18px; max-width: 480px; }
.release-login-card__form h1 { margin: 0; font-family: var(--display); font-size: clamp(2.6rem, 5vw, 4.8rem); font-weight: 500; letter-spacing: -.06em; line-height: .95; }
.release-login-card__form > p { margin: 0 0 8px; color: var(--ink-soft); line-height: 1.65; }
.release-login-card__form > p strong { color: var(--ink); font-weight: 600; }
.release-login-error { display: grid; grid-template-columns: 42px minmax(0, 1fr); align-items: start; gap: 13px; padding: 15px 16px; color: #722832; background: #fff0f2; border: 1px solid #eaaeb7; border-left: 5px solid #c74452; border-radius: var(--radius-control); box-shadow: 0 8px 24px rgb(112 29 42 / 8%); }
.release-login-error__icon { display: grid; width: 38px; height: 38px; place-items: center; color: #fff; background: #b93646; border-radius: 11px; }
.release-login-error__icon .icon { width: 19px; height: 19px; }
.release-login-error strong { display: block; margin-bottom: 3px; color: #681f2a; font-size: .9rem; }
.release-login-error p { margin: 0; color: #842f3b; font-size: .82rem; line-height: 1.5; }
.release-login-card__form label { display: grid; gap: 8px; color: var(--ink-soft); font-size: .82rem; font-weight: 600; }
.release-login-card__form input { min-height: 52px; }
.release-login-card__form input[aria-invalid="true"] { border-color: #c74452; box-shadow: 0 0 0 3px rgb(199 68 82 / 10%); }
.release-login-actions { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 16px; margin-top: 4px; }
.release-login-actions > .button { width: fit-content; min-height: 48px; }
.release-password-recovery-link { display: inline-flex; min-height: 44px; align-items: center; flex: 0 0 auto; padding: 0 2px; color: #4058dc; background: transparent; border: 0; cursor: pointer; font: inherit; font-size: .82rem; font-weight: 650; text-decoration: underline; text-underline-offset: 3px; }
.release-password-recovery-link:hover { color: #2f45c7; }
.release-password-recovery-link:focus { outline: none; }
.release-password-recovery-link:focus-visible { border-radius: 6px; outline: 3px solid rgb(82 105 255 / 28%); outline-offset: 2px; }
.release-password-recovery { display: grid; width: 100%; max-width: 480px; gap: 9px; padding: 16px; margin-top: -4px; color: var(--ink-soft); background: #f4f6ff; border: 1px solid #dfe4ff; border-radius: var(--radius-control); font-size: .8rem; line-height: 1.55; }
.release-password-recovery[hidden] { display: none; }
.release-password-recovery strong { color: var(--ink); }
.release-password-recovery p { margin: 0; }
.release-password-recovery form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 12px; margin-top: 3px; }
.release-password-recovery label { display: grid; gap: 6px; font-weight: 600; }
.release-password-recovery input { width: 100%; min-height: 48px; }
.release-password-recovery .button { min-height: 48px; }
.release-password-recovery__notice { padding: 10px 12px; border-radius: 9px; }
.release-password-recovery__notice--success { color: #145c3f; background: #e8f7ef; }
.release-password-recovery__notice--error { color: #722832; background: #fff0f2; }
.release-login-card--reset .release-login-card__form { max-width: none; }
.release-login-card--reset .release-login-card__form > .button { width: fit-content; min-height: 48px; }
.release-login-card--reset .form-notice { padding: 12px 14px; margin: 0; border-radius: var(--radius-control); font-size: .84rem; line-height: 1.5; }
.release-login-card--reset .form-notice--error { color: #722832; background: #fff0f2; border: 1px solid #eaaeb7; }
.release-login-card__aside { display: grid; align-content: center; gap: 24px; padding: clamp(30px, 5vw, 60px); color: #fff; background: #171d2a; }
.release-login-card__aside .kicker { color: #96a8ff; }
.release-login-card__aside h2 { max-width: 390px; margin: 6px 0 12px; color: #fff; font-family: var(--display); font-size: clamp(1.8rem, 3.2vw, 2.8rem); font-weight: 500; letter-spacing: -.04em; line-height: 1.05; }
.release-login-card__aside p { margin: 0; color: rgb(255 255 255 / 68%); line-height: 1.65; }
.release-login-card__icon { display: grid; width: 48px; height: 48px; place-items: center; color: #fff; background: #5269ff; border-radius: var(--radius-control); }
.release-login-card__icon .icon { width: 21px; height: 21px; }
.release-login-card__aside ol { display: grid; gap: 10px; padding: 0; margin: 0; list-style: none; }
.release-login-card__aside li { display: grid; grid-template-columns: 34px minmax(0, 1fr); align-items: center; gap: 12px; min-height: 50px; padding: 8px 12px; background: rgb(255 255 255 / 6%); border: 1px solid rgb(255 255 255 / 10%); border-radius: var(--radius-control); }
.release-login-card__aside li b { display: grid; width: 30px; height: 30px; place-items: center; color: #c8d3ff; background: rgb(82 105 255 / 18%); border-radius: 9px; font-size: .7rem; }
.release-login-card__aside li span { font-size: .82rem; line-height: 1.45; }
.release-login-card__aside > small { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 8px; color: rgb(255 255 255 / 52%); font-size: .72rem; line-height: 1.5; }
.release-login-card__aside > small .icon { width: 16px; height: 16px; color: #7dd3a7; }
.practitioner-access-ready__steps { display: grid; gap: 10px; }
.practitioner-access-ready__steps > div { display: grid; gap: 3px; padding: 14px 16px; background: var(--paper-muted); border: 1px solid var(--line); border-radius: var(--radius-control); }
.practitioner-access-ready__steps b { font-size: .75rem; }
.practitioner-access-ready__steps span { color: var(--ink-soft); font-size: .82rem; line-height: 1.45; }
.practitioner-access-check__bar { position: relative; height: 5px; overflow: hidden; background: var(--line); border-radius: 99px; }
.practitioner-access-check__bar::after { position: absolute; inset: 0 auto 0 0; width: 42%; background: var(--accent); border-radius: inherit; content: ""; animation: practitioner-access-loading 1s ease-in-out infinite alternate; }
@keyframes practitioner-access-loading { to { transform: translateX(138%); } }

@media (max-width: 800px) {
  .release-login-page { padding: 18px; align-items: start; }
  .release-gate-page { padding: 14px; align-items: start; }
  .release-gate-card { gap: 16px; padding: 26px 20px; }
  .release-gate-card .actions-row, .release-gate-card .actions-row .button { width: 100%; }
  .release-gate-card .actions-row { align-items: stretch; flex-direction: column; }
  .release-login-card { grid-template-columns: 1fr; min-height: 0; }
  .release-login-card__main, .release-login-card__aside { padding: 28px 22px; }
  .release-login-card__form h1 { font-size: clamp(2.5rem, 12vw, 3.7rem); }
  .release-login-card__form > .button, .release-login-card__form .actions-row, .release-login-card__form .actions-row .button { width: 100%; }
  .release-password-form .button { width: 100%; }
  .release-login-card__form .actions-row { align-items: stretch; flex-direction: column; }
  .release-password-recovery form { grid-template-columns: 1fr; }
  .release-password-recovery .button { width: 100%; }
  .client-login-card .actions-row { align-items: stretch; flex-direction: column; }
  .client-login-card .actions-row .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .practitioner-access-check__bar::after { animation: none; }
}

/* Colour mode — calm dark surfaces for evening work, with the product preview left intact. */
.theme-toggle {
  position: relative;
  color: var(--ink-soft);
  background: transparent;
  border: 1px solid transparent;
}
.theme-toggle:hover { color: var(--accent); background: var(--accent-pale); }
.theme-toggle__sun, .theme-toggle__moon { display: grid; place-items: center; }
.theme-toggle__sun { display: none; }
.theme-toggle .icon { width: 19px; height: 19px; }

html[data-theme="dark"] {
  --paper: #111827 !important;
  --paper-strong: #182233 !important;
  --paper-muted: #141e2d !important;
  --ink: #edf2fb !important;
  --ink-soft: #b5c0d2 !important;
  --ink-faint: #8c9ab0 !important;
  --line: #2a374a !important;
  --line-strong: #3a4960 !important;
  --graphite: #f1f5fb !important;
  --graphite-soft: #dce4f0 !important;
  --accent: #8296ff !important;
  --accent-dark: #a7b4ff !important;
  --accent-pale: #253252 !important;
  --success: #64c49a !important;
  --danger: #ff8078 !important;
  --shadow: 0 12px 34px rgb(0 0 0 / 22%);
}
html[data-theme="dark"],
html[data-theme="dark"] body,
html[data-theme="dark"] .workspace { background: var(--paper); color: var(--ink); }
html[data-theme="dark"] .page-subtitle { color: var(--ink-soft); }
html[data-theme="dark"] .theme-toggle__moon { display: none; }
html[data-theme="dark"] .theme-toggle__sun { display: grid; }
html[data-theme="dark"] .app-header { background: rgb(17 24 39 / 94%); border-bottom-color: var(--line); }
html[data-theme="dark"] .brandmark__symbol {
  color: #ffffff;
  background: #4358d4;
  box-shadow: 0 0 0 1px rgb(255 255 255 / 12%), 0 6px 16px rgb(18 29 76 / 34%);
}
html[data-theme="dark"] .context-nav { background: #141e2d; border-top-color: var(--line); }
html[data-theme="dark"] .context-nav a:hover,
html[data-theme="dark"] .context-nav a.active,
html[data-theme="dark"] .mobile-nav { background: var(--paper-strong); }
html[data-theme="dark"] :is(input, select, textarea) {
  color: var(--ink);
  background: #101827;
  border-color: var(--line-strong);
  color-scheme: dark;
}
html[data-theme="dark"] :is(input, select, textarea)::placeholder { color: var(--ink-faint); }
html[data-theme="dark"] input:-webkit-autofill,
html[data-theme="dark"] input:-webkit-autofill:hover,
html[data-theme="dark"] input:-webkit-autofill:focus,
html[data-theme="dark"] input:autofill {
  -webkit-text-fill-color: var(--ink);
  box-shadow: 0 0 0 1000px #101827 inset, inset 0 -2px 0 #5368f0;
  caret-color: var(--ink);
}
html[data-theme="dark"] .shell :is(
  .panel,
  .focus-card,
  .metric-card,
  .result-card,
  .section-subnav,
  .development-flow__card,
  .day-rhythm,
  .next-decision,
  .today-status-line > span,
  .attention-list,
  .week-ribbon,
  .calendar-surface,
  .calendar-context,
  .settings-card,
  .settings-section,
  .integration-disclosure,
  .settings-overview__card,
  .group-create-card,
  .client-section-tile,
  .client-state-line,
  .portal-item,
  .release-section,
  .practice-paths article,
  .interview-question-list button,
  .empty-practice-note,
  .start-choice,
  .setup-path
) { background: var(--paper-strong); border-color: var(--line); }
html[data-theme="dark"] .shell :is(
  .dialog,
  .settings-hero__progress,
  .settings-panel,
  .admin-invite-list,
  .integration-group,
  .integration-group .integration-disclosure,
  .organization-overview,
  .practice-flow,
  .group-flow li,
  .group-card,
  .supervisor-history-page,
  .supervisor-guide,
  .supervisor-intro,
  .organization-aside,
  .genapi-panel,
  .genapi-panel--ready,
  .portal-preview,
  .portal-control,
  .portal-summary article,
  .legal-packets-card,
  .legal-packet-preview,
  .client-lifecycle-panel,
  .client-compass,
  .client-index-bar,
  .session-package-header,
  .package-module,
  .package-empty,
  .unpacking-map,
  .brand-purpose,
  .brand-preview,
  .site-studio,
  .brand-strip.finance-advice,
  .theme-panel,
  .development-ledger,
  .development-current,
  .content-explainer,
  .material-card,
  .domain-card,
  .content-generator,
  .content-suite,
  .content-suite > header,
  .metrics-grid,
  .interview-card,
  .supervisor-history,
  .calendar-strip,
  .calendar-toolbar,
  .calendar-session,
  .demo-guide-hero aside,
  .demo-capabilities__grid article,
  .demo-feedback,
  .client-login-card,
  .client-artifact-list article,
  .client-portal-empty,
  .product-contour-card,
  .today-status-line > span
) {
  color: var(--ink);
  background: var(--paper-strong);
  border-color: var(--line);
}
html[data-theme="dark"] .shell :is(
  .settings-overview__card.is-active,
  .client-section-tile.is-active,
  .section-subnav a.is-active,
  .clients-page .section-subnav a.is-active,
  .supervisor-examples button
) {
  color: var(--ink);
  background: var(--paper-strong);
  border-color: var(--line-strong);
}
html[data-theme="dark"] .settings-overview__arrow {
  color: #dce3ff;
  background: #2d4278;
}
html[data-theme="dark"] .settings-overview__card.is-active .settings-overview__arrow {
  color: #fff;
  background: var(--accent);
}
html[data-theme="dark"] .release-auth-card {
  background: #1c2944 !important;
  border-color: #32466f !important;
}
html[data-theme="dark"] .shell :is(
  .page-subtitle,
  .section-hub__tile p,
  .settings-overview__copy small,
  .settings-overview__copy em
) { color: var(--ink-soft); }
html[data-theme="dark"] .client-directory-row:hover {
  color: var(--ink);
  background: var(--paper-muted);
  box-shadow: -14px 0 0 var(--paper-muted), 14px 0 0 var(--paper-muted);
}
html[data-theme="dark"] .client-directory-card:hover {
  color: var(--ink);
  background: var(--paper-muted);
}
html[data-theme="dark"] .client-workspace-v2 { --client-dark: #101827; }
html[data-theme="dark"] .session-package-state.is-ready {
  color: #a9e4c5;
  background: #193b2f;
}
html[data-theme="dark"] .settings-hero__progress i,
html[data-theme="dark"] .profile-quiz-meter { background: var(--line); }
html[data-theme="dark"] .profile-quiz-card { background: var(--paper-strong); border-color: var(--line); }
html[data-theme="dark"] .profile-quiz-review__identity { background: var(--paper-muted); }
html[data-theme="dark"] .profile-quiz-field input { color: var(--ink); background: var(--paper); border-color: var(--line); }
html[data-theme="dark"] .settings-panel__status {
  color: var(--ink-soft);
  background: var(--paper-muted);
}
html[data-theme="dark"] .profile-identity-card {
  color: var(--ink);
  background: #101827;
  border: 1px solid var(--line);
}
html[data-theme="dark"] .profile-identity-card .profile-avatar-preview { background: #4358d4; }
html[data-theme="dark"] .profile-identity-card .profile-avatar-actions .file-button {
  color: #172033;
  background: #f7f9fc;
  border-color: #f7f9fc;
}
html[data-theme="dark"] .recording-guide {
  color: var(--ink);
  background: #16283a;
  border-color: #315069;
}
html[data-theme="dark"] .recording-guide__options article {
  color: var(--ink);
  background: var(--paper-strong);
  border-color: var(--line);
}
html[data-theme="dark"] .own-documents-note {
  color: var(--ink);
  background: #1c2944;
  border-color: #32466f;
}
html[data-theme="dark"] .own-documents-note > span { background: var(--paper-muted); }
html[data-theme="dark"] .preview-switch button.is-active {
  color: #fff;
  background: #5368f0;
}
html[data-theme="dark"] .status--active {
  color: #a9e4c5;
  background: #193b2f;
}
html[data-theme="dark"] .button--danger {
  color: #fff;
  background: #b94b4b;
  border-color: #b94b4b;
}
html[data-theme="dark"] .button--danger:hover {
  color: #fff;
  background: #963b3b;
  border-color: #963b3b;
}
html[data-theme="dark"] .dialog__head {
  background: rgb(24 34 51 / 96%);
  border-bottom-color: var(--line);
}
html[data-theme="dark"] .dialog {
  color: var(--ink);
  background: var(--paper-strong);
  border-color: var(--line);
}
html[data-theme="dark"] .dialog__head > .icon-button,
html[data-theme="dark"] .avatar-crop-actions {
  color: var(--ink);
  background: var(--paper-strong);
  border-color: var(--line-strong);
}
html[data-theme="dark"] .browser-frame {
  background: var(--paper-strong);
  border-color: var(--line-strong);
}
html[data-theme="dark"] .browser-bar {
  color: var(--ink-soft);
  background: var(--paper-muted);
  border-color: var(--line);
}
html[data-theme="dark"] .browser-bar > div { color: var(--ink-soft); }
html[data-theme="dark"] .help-welcome__mockup { background: var(--paper-strong); }
html[data-theme="dark"] .help-tour__popover {
  color: var(--ink);
  background: var(--paper-strong);
  border-color: var(--line-strong);
  box-shadow: 0 28px 86px rgb(0 0 0 / 48%);
}
html[data-theme="dark"] .help-tour__popover > header { border-bottom-color: var(--line); }
html[data-theme="dark"] .help-tour__copy > p { color: var(--ink-soft); }
html[data-theme="dark"] .help-tour__result {
  color: #dbe4f6;
  background: #1c2944;
  border-color: #32466f;
}
html[data-theme="dark"] .help-tour__popover > footer {
  background: #141e2d;
  border-top-color: var(--line);
}
html[data-theme="dark"] .help-tour__skip { color: var(--ink-soft); }
html[data-theme="dark"] .help-tour__progress { color: var(--ink-faint); }
html[data-theme="dark"] .help-tour__progress i { background: var(--line-strong); }
html[data-theme="dark"] .help-tour__controls button:not(:last-child) {
  color: var(--ink-soft);
  background: var(--paper-strong);
  border-color: var(--line-strong);
}
html[data-theme="dark"] .help-tour__controls button:not(:last-child):hover { color: var(--accent-dark); border-color: var(--accent); }
html[data-theme="dark"] .shell :is(.button--quiet, .calendar-toolbar .segmented-control button.is-active, .calendar-context__list button:hover, .profile-service-formats label) {
  color: var(--ink);
  background: var(--paper-strong);
  border-color: var(--line-strong);
}
html[data-theme="dark"] .section-hub__tile,
html[data-theme="dark"] .attention-row,
html[data-theme="dark"] .calendar-day,
html[data-theme="dark"] .settings-path li,
html[data-theme="dark"] .practitioner-access-ready__steps > div { background: var(--paper-muted); border-color: var(--line); }
html[data-theme="dark"] .release-login-page { background: var(--paper); }
html[data-theme="dark"] .release-login-card { background: var(--paper-strong); border-color: var(--line); box-shadow: 0 26px 70px rgb(0 0 0 / 34%); }
html[data-theme="dark"] .release-gate-card { box-shadow: 0 26px 70px rgb(0 0 0 / 34%); }
html[data-theme="dark"] .release-gate-card .button--quiet { color: #f2f5fb; background: #24324a; border-color: #52627c; }
html[data-theme="dark"] .release-gate-card .button--quiet:hover { color: #fff; background: #2d3d59; border-color: #7889a6; }
html[data-theme="dark"] .release-password-recovery { background: #1c2944; border-color: #32466f; }
html[data-theme="dark"] .release-login-error { color: #ffd4d9; background: #3a1f28; border-color: #7e3c4b; border-left-color: #df687a; }
html[data-theme="dark"] .release-login-error :is(strong, p) { color: #ffd4d9; }
html[data-theme="dark"] .release-password-recovery-link { color: #a7b4ff; }
html[data-theme="dark"] .release-password-recovery-link:hover { color: #c7ceff; }
html[data-theme="dark"] .admin-invite-notice--success { color: #b9efd2; background: #18382d; border-color: #356a54; }
html[data-theme="dark"] .admin-invite-notice--error { color: #ffd4d9; background: #3a1f28; border-color: #7e3c4b; }
html[data-theme="dark"] .toast { color: #f7f9fc; background: #263248; border-color: #5368f0; }
html[data-theme="dark"] .toast.toast--error { color: #fff; background: #7a2833; border-color: #df687a; }
html[data-theme="dark"] :is(.release-beacon__action, .next-decision .button--primary) { color: #172033; }
html[data-theme="dark"] :is(.button--primary, .help-tour__controls button:last-child) {
  color: #fff;
  background: #5368f0;
  border-color: #5368f0;
  box-shadow: 0 6px 18px rgb(32 51 155 / 32%);
}
html[data-theme="dark"] :is(.button--primary, .help-tour__controls button:last-child):hover {
  color: #fff;
  background: #4358d4;
  border-color: #4358d4;
}
html[data-theme="dark"] .sync-status { color: #536075; background: #f7f9fc; }
html[data-theme="dark"] .section-hub__tile > .icon:last-child { color: #172033; background: #f7f9fc; }

/* Saving feedback must describe the real persistence layer, not imply a server sync. */
.sync-status i { background: var(--ink-faint); }
.sync-status--saving i,
.sync-status--syncing i { background: var(--accent); }
.sync-status--server i { background: var(--success); }
.sync-status--local i { background: #c78619; }
.sync-status--conflict i,
.sync-status--error i { background: var(--danger); }
.sync-status--locked i { background: var(--ink-faint); }

.workspace-error-banner {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) 40px;
  align-items: center;
  gap: 12px;
  margin: 0 0 24px;
  padding: 14px 16px;
  color: #762a34;
  background: #fff1f2;
  border: 1px solid #e8aab2;
  border-left: 4px solid #bd4654;
  border-radius: 8px;
}
.workspace-error-banner[hidden] { display: none; }
.workspace-error-banner > span {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  color: #9f2d36;
  background: #ffe0e4;
  border-radius: 8px;
}
.workspace-error-banner > span .icon { width: 19px; height: 19px; }
.workspace-error-banner strong { display: block; color: inherit; font-size: .84rem; }
.workspace-error-banner p { margin: 3px 0 0; color: inherit; font-size: .8rem; line-height: 1.45; }
.workspace-error-banner .icon-button { justify-self: end; color: inherit; border-color: #d99aa3; }

html[data-theme="dark"] .sync-status { color: var(--ink-soft); background: var(--paper-muted); }
html[data-theme="dark"] .sync-status--local { color: #f1c879; }
html[data-theme="dark"] .sync-status--server { color: #a9e4c5; }
html[data-theme="dark"] .sync-status--conflict,
html[data-theme="dark"] .sync-status--error { color: #ffd4d9; }
html[data-theme="dark"] .workspace-error-banner {
  color: #ffd9de;
  background: #3a1f28;
  border-color: #7e3c4b;
  border-left-color: #df687a;
}
html[data-theme="dark"] .workspace-error-banner > span { color: #ffd9de; background: #5b2732; }
html[data-theme="dark"] .workspace-error-banner .icon-button { color: #ffd9de; border-color: #7e3c4b; }

:where(button, a, input, select, textarea, [tabindex]):focus-visible {
  scroll-margin-block: 88px 128px;
}

@media (max-width: 760px) {
  .workspace-error-banner {
    grid-template-columns: 32px minmax(0, 1fr) 36px;
    gap: 10px;
    margin-bottom: 18px;
    padding: 12px;
  }
  .workspace-error-banner > span { width: 32px; height: 32px; }
}

@media (prefers-color-scheme: dark) {
  html:not([data-theme]) { color-scheme: dark; }
}

/* Design director pass: calmer hierarchy, readable type and less nested chrome. */
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --text-label: .75rem;
  --text-secondary: .8125rem;
  --text-body: .875rem;
}

.shell .button,
.shell .text-link,
.shell input,
.shell select,
.shell textarea { font-size: var(--text-secondary); }
.shell :is(.page-subtitle, .panel__head p, .settings-panel__head p, .client-next-action p, .calendar-context p, .capability-note p) {
  font-size: var(--text-body);
  line-height: 1.55;
}
.shell :is(.kicker, .eyebrow, .status, .meta-label, .capability-label) { font-size: var(--text-label); }

/* The client section rail is a two-column control: icon + copy. */
.client-section-tiles { gap: var(--space-3); margin: var(--space-6) 0 var(--space-8); }
.client-section-tile {
  grid-template-columns: 44px minmax(0, 1fr);
  gap: var(--space-4);
  min-height: 96px;
  padding: 10px 14px;
}
.client-section-tile__icon { width: 44px; height: 44px; }
.client-section-tile__copy { gap: var(--space-1); }
.client-section-tile__copy small { font-size: var(--text-label); line-height: 1.2; }
.client-section-tile__copy strong { font-size: .9375rem; line-height: 1.25; }
.client-section-tile__copy em {
  font-size: var(--text-secondary);
  line-height: 1.35;
  -webkit-line-clamp: 2;
}

/* Settings navigation no longer repeats a decorative arrow in every card. */
.settings-overview { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--space-3); }
.settings-overview__card {
  grid-template-columns: 44px minmax(0, 1fr);
  gap: var(--space-4);
  min-height: 88px;
  align-items: center;
  padding: 14px var(--space-4);
}
.settings-overview__icon { align-self: center; width: 44px; height: 44px; }
.settings-overview__copy { align-self: center; gap: 2px; padding-top: 0; }
.settings-overview__copy small,
.settings-overview__copy em { font-size: var(--text-label); line-height: 1.3; }
.settings-overview__copy strong { font-size: 1rem; }
.settings-panel__body > .settings-card { padding-block: var(--space-6); }

/* Operational pages use a denser, readable rhythm instead of tall empty cards. */
.client-index-bar > div { min-height: 78px; }
.client-directory-row { min-height: 88px; }
.client-directory-row small,
.client-directory-row__focus strong { font-size: var(--text-secondary); }
.client-state-line { margin-bottom: var(--space-8); }
.client-state-line > span { min-height: 72px; }
.client-state-line small { font-size: var(--text-label); }
.package-module { margin-top: var(--space-8); }
.package-module__head { grid-template-columns: 48px minmax(0, 1fr) auto; gap: var(--space-4); padding: 20px var(--space-6); }
.package-module__head > span:first-child { font-size: 1.55rem; }
.package-module__head h2 { font-size: clamp(1.55rem, 2.4vw, 2.25rem); }
.package-module__head p { font-size: var(--text-body); }
.package-module__head small,
.package-module__actions .button { font-size: var(--text-label); }
.supervisor-steps li,
.supervisor-guide li,
.supervisor-guide li + li { padding: 14px var(--space-4); }

/* The home release card is supporting information, not the first task. */
.release-beacon {
  grid-template-columns: minmax(190px, .65fr) minmax(260px, 1.35fr) auto;
  min-height: 72px;
  padding: 12px var(--space-4);
  margin-bottom: var(--space-6);
  box-shadow: none;
}
.release-beacon__version small,
.release-beacon__copy small { font-size: var(--text-label); }
.release-beacon__copy b,
.release-beacon__action { font-size: var(--text-secondary); }

/* Release notes collapse on small screens and remain expanded on desktop. */
.release-section,
.release-highlights { overflow: clip; }
.release-section__head { cursor: pointer; list-style: none; }
.release-section__head::-webkit-details-marker { display: none; }
.release-section__head::after {
  display: grid;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  place-items: center;
  align-self: center;
  margin-left: auto;
  border: 1px solid currentColor;
  border-radius: var(--radius-control);
  content: "+";
  font-size: 1.15rem;
  opacity: .62;
}
details[open] > .release-section__head::after { content: "−"; }
.release-section__head > p { margin-left: auto; }
.release-highlights .release-section__head::after { color: #fff; }
details:not([open]) > .release-section__head { padding-bottom: 0; margin-bottom: 0; border-bottom-color: transparent; }

/* Site preview starts as a deliberate crop; full length is one explicit action. */
.site-preview-head__actions { display: grid; justify-items: end; gap: var(--space-3); }
.site-preview-expand { min-width: 150px; }
.page--site .browser-frame.is-collapsed {
  position: relative;
  max-height: min(760px, 72vh);
  overflow: hidden;
}
.page--site .browser-frame.is-collapsed::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 90px;
  background: linear-gradient(transparent, var(--paper));
  content: "";
  pointer-events: none;
}

@media (max-width: 760px) {
  .workspace {
    padding-bottom: calc(96px + env(safe-area-inset-bottom));
    scroll-padding-bottom: calc(96px + env(safe-area-inset-bottom));
  }
  .mobile-nav {
    right: 10px;
    bottom: calc(8px + env(safe-area-inset-bottom));
    left: 10px;
    min-height: 62px;
    padding: 3px 6px;
    background: rgb(255 253 248 / 92%);
    border: 1px solid var(--line);
    border-radius: 16px;
    box-shadow: 0 12px 30px rgb(20 28 44 / 14%);
  }
  .mobile-nav a { min-height: 54px; gap: 2px; font-size: .75rem; }
  .mobile-nav .icon { width: 18px; height: 18px; }
  body.nav-open .mobile-nav { right: 0; left: 0; border-radius: 0 0 var(--radius-surface) var(--radius-surface); }

  .client-section-tiles {
    grid-auto-columns: minmax(248px, 82vw);
    gap: var(--space-3);
    padding: 2px 1px var(--space-3);
    margin: var(--space-6) 0;
  }
  .client-section-tile { min-height: 96px; padding: 10px 14px; scroll-snap-align: start; }
  .client-state-line { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .client-state-line > span { min-height: 70px; padding: 12px 14px; }
  .client-state-line > span:nth-child(5) { grid-column: 1 / -1; }

  .client-index-bar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .client-index-bar .client-search { grid-column: 1 / -1; grid-row: 1; min-height: 72px; }
  .client-index-bar > div { grid-row: 2; min-height: 66px; }
  .client-directory { margin-top: var(--space-6); }
  .client-directory-row { min-height: 112px; }

  .settings-overview { grid-auto-columns: minmax(230px, 78vw); }
  .settings-overview__card.is-active { display: none; }
  .settings-panel__head { min-height: 0; }
  .settings-panel__body { padding-inline: var(--space-4); }

  .package-module__head { grid-template-columns: 38px minmax(0, 1fr); gap: var(--space-3); padding: var(--space-4); }
  .package-module__actions { grid-column: 2; grid-template-columns: auto minmax(0, 1fr); align-items: center; justify-items: start; }
  .package-module__actions .button { width: auto; }

  .release-page { gap: var(--space-4); }
  .release-section,
  .release-highlights { padding: var(--space-4); }
  .release-section__head { display: grid; grid-template-columns: minmax(0, 1fr) 34px; gap: var(--space-3); }
  .release-section__head > p { grid-column: 1 / -1; margin: 0; text-align: left; }
  .release-section__head::after { grid-column: 2; grid-row: 1; }
  .release-feature-grid,
  .release-connection-list,
  .release-limit-grid { grid-template-columns: 1fr; }
  .release-feature { min-height: 0; }

  .site-preview-head__actions { width: 100%; justify-items: stretch; }
  .site-preview-expand { width: 100%; }
  .page--site .browser-frame.is-collapsed { max-height: 58vh; }
}

html[data-theme="dark"] .mobile-nav {
  background: rgb(18 28 43 / 92%);
  border-color: var(--line-strong);
  box-shadow: 0 12px 30px rgb(0 0 0 / 34%);
}
html[data-theme="dark"] .page--site .browser-frame.is-collapsed::after {
  background: linear-gradient(transparent, var(--paper));
}

/* Welcome dialog lives outside .shell, so it needs its own complete dark palette. */
html[data-theme="dark"] .help-welcome {
  color: #f2f5fb;
  background: #182437;
  border-color: #33445f;
  box-shadow: 0 34px 110px rgb(0 0 0 / 48%);
}
html[data-theme="dark"] .help-welcome__content h2 { color: #f2f5fb; }
html[data-theme="dark"] .help-welcome__content > p,
html[data-theme="dark"] .help-welcome__content li { color: #b8c4d8; }
html[data-theme="dark"] .help-welcome__content ul { border-color: #33445f; }
html[data-theme="dark"] .help-welcome__close button {
  color: #d9e1ef;
  background: #1e2c42;
  border-color: #41526c;
  box-shadow: 0 8px 24px rgb(0 0 0 / 24%);
}
html[data-theme="dark"] .help-welcome__actions .button--quiet {
  color: #e7ecf6;
  background: #1e2c42;
  border-color: #52627c;
}
html[data-theme="dark"] .help-welcome__actions .button--quiet:hover {
  color: #fff;
  background: #263650;
  border-color: #7183a1;
}
html[data-theme="dark"] .help-welcome__mockup {
  background: #111b2b;
  border-color: #3a4961;
}
html[data-theme="dark"] .help-welcome__mockup > aside {
  background: #e9edf5;
  border-right-color: #cfd7e5;
}
html[data-theme="dark"] .help-welcome__mockup > section header { border-bottom-color: #3a4961; }
html[data-theme="dark"] .help-welcome__mockup > section header span { background: #526078; }
html[data-theme="dark"] .help-welcome__mockup > section header em { background: #dce3ed; }
html[data-theme="dark"] .help-welcome__mockup > section header b,
html[data-theme="dark"] .help-welcome__focus { color: #fff; background: #4358d4; }

/* The public group preview keeps its own light brand palette in either app theme. */
.group-promo-page .group-promo-section h2,
.group-promo-page .group-promo-program h2 { color: #38362f; }
.group-promo-page .group-promo-section .kicker,
.group-promo-page .group-promo-program .kicker { color: #75402f; }
.group-promo-page .group-promo-nav > span,
.group-promo-page .group-promo-conditions dt { color: #655f56; }
.group-promo-page .group-promo-cta .kicker,
.group-promo-page .group-promo-cta h2 { color: #f9f4eb; }

@media (max-width: 760px) {
  .group-promo-facts article + article { padding-left: clamp(18px, 4vw, 52px); }
}
html[data-theme="dark"] .help-welcome__mockup-title { background: #e9edf5; }
html[data-theme="dark"] .help-welcome__mockup-grid i {
  background: linear-gradient(180deg, #f5f7fb, #e8edf6);
  border-color: #cfd7e5;
}

/* Cross-page QA fixes: equal flows, mirrored emphasis and complete dark surfaces. */
.development-flow {
  grid-template-columns: minmax(0, 1fr) 32px minmax(0, 1fr) 32px minmax(0, 1fr) 32px minmax(0, 1fr);
  gap: 10px;
}
.development-flow__stage { height: 100%; }
.development-current { margin-top: 28px; }

.today-layout { align-items: stretch; }
.today-layout > .day-rhythm,
.today-layout > .next-decision { align-self: stretch; }

.section-subnav a,
.section-subnav a:last-child:nth-child(odd) { border: 1px solid transparent; }
.section-subnav a:hover,
.section-subnav a:last-child:nth-child(odd):hover {
  color: var(--ink);
  background: var(--paper-muted);
  border-color: var(--line-strong);
}
.section-subnav a.is-active:hover { border-color: var(--accent); }

.supervisor-history-page { overflow: clip; }
.supervisor-history-page__body { align-items: stretch; }
.supervisor-history-page__body > .supervisor-output {
  min-height: 100%;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.calendar-day.is-empty { cursor: pointer; }
.calendar-day.is-empty:hover {
  background: var(--paper-muted);
  box-shadow: inset 0 0 0 1px var(--accent);
}
.calendar-day.is-empty:focus { outline: none; }
.calendar-day.is-empty:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--accent) 42%, transparent);
  outline-offset: -3px;
}
.calendar-day__empty-hint {
  display: block;
  max-width: 130px;
  color: var(--ink-faint);
  font-size: .7rem;
  line-height: 1.45;
  opacity: 0;
  transition: opacity 140ms ease;
}
.calendar-day.is-empty:hover .calendar-day__empty-hint,
.calendar-day.is-empty:focus-visible .calendar-day__empty-hint { opacity: 1; }

html[data-theme="dark"] .shell .page .next-decision {
  color: #172033;
  background: #e7ebff;
  border-color: #aebcff;
  box-shadow: 0 14px 34px rgb(0 0 0 / 22%), inset 0 4px 0 #5368f0;
}
html[data-theme="dark"] .shell .page .next-decision .kicker { color: #4358d4; }
html[data-theme="dark"] .shell .page .next-decision :is(h2, strong) { color: #172033; }
html[data-theme="dark"] .shell .page .next-decision > p,
html[data-theme="dark"] .shell .page .next-decision .next-session-note :is(span, small) { color: #536075; }
html[data-theme="dark"] .shell .page .next-decision .next-session-note { border-top-color: #c8d1ee; }
html[data-theme="dark"] .shell .page .next-decision .button--quiet {
  color: #fff;
  background: #4358d4;
  border-color: #4358d4;
}
html[data-theme="dark"] .section-subnav a:hover,
html[data-theme="dark"] .section-subnav a:last-child:nth-child(odd):hover {
  color: #f4f7ff;
  background: #263650;
  border-color: #52627c;
}

/* Release center uses an explicit palette so app theme variables cannot wash out text. */
.release-hero > aside,
.release-hero > aside dd { color: #172033; }
html[data-theme="dark"] .release-section { color: #f2f5fb; }
html[data-theme="dark"] .public-release-shell .release-section {
  background: #182233;
  border-color: #2a374a;
}
html[data-theme="dark"] .release-section__head > p { color: #b8c4d8; }
html[data-theme="dark"] .release-feature,
html[data-theme="dark"] .release-connection-list article,
html[data-theme="dark"] .release-limit-grid article {
  color: #f2f5fb;
  background: #182437;
  border-color: #33445f;
}
html[data-theme="dark"] .release-feature :is(h3, li),
html[data-theme="dark"] .release-connection-list h3,
html[data-theme="dark"] .release-limit-grid :is(h3, p, p b),
html[data-theme="dark"] .release-roadmap :is(h3, .release-roadmap__outcome) { color: #f2f5fb; }
html[data-theme="dark"] .release-feature p,
html[data-theme="dark"] .release-connection-list p,
html[data-theme="dark"] .release-limit-grid p,
html[data-theme="dark"] .release-roadmap article li { color: #b8c4d8; }
html[data-theme="dark"] .release-feature ul { border-top-color: #33445f; }
html[data-theme="dark"] .release-feature__number,
html[data-theme="dark"] .release-connection-list article > span {
  color: #c8d3ff;
  background: #27375a;
}
html[data-theme="dark"] .release-feature__area,
html[data-theme="dark"] .release-connection-list small,
html[data-theme="dark"] .release-roadmap article > small { color: #aebcff; }
html[data-theme="dark"] .release-limit-grid article { background: #2c261f; border-color: #66513a; }
html[data-theme="dark"] .release-limit-grid__status { color: #ffe0ad; background: #5a4327; }
html[data-theme="dark"] .release-roadmap__rail b { color: #fff; background: #5368f0; }
html[data-theme="dark"] .release-roadmap__rail i { background: #41526c; }
html[data-theme="dark"] .release-update-note { color: #e7ecf6; background: #1c2944; border-color: #32466f; }
html[data-theme="dark"] .release-update-note p { color: #b8c4d8; }
html[data-theme="dark"] .release-feedback-note { color: #f2f5fb; background: #182437; border-color: #33445f; }
html[data-theme="dark"] .release-feedback-note p { color: #b8c4d8; }
html[data-theme="dark"] .release-feedback-note .button--quiet { color: #f2f5fb; background: #24324a; border-color: #52627c; }
html[data-theme="dark"] .release-feedback-note .button--quiet:hover { color: #fff; background: #2d3d59; border-color: #7889a6; }
html[data-theme="dark"] .feedback-standalone .demo-feedback { color: var(--ink); background: var(--paper-strong); border-color: var(--line); }
html[data-theme="dark"] .feedback-standalone .tester-feedback-form fieldset { border-color: var(--line-strong); }

@media (max-width: 1180px) {
  .development-flow { grid-template-columns: 1fr; gap: 0; }
  .development-flow__arrow {
    width: 1px;
    height: 24px;
    margin-left: 20px;
    overflow: visible;
    background: var(--line-strong);
  }
  .development-flow__arrow .icon { display: none; }
}

@media (max-width: 760px) {
  .development-current { margin-top: 20px; }
  .calendar-day__empty-hint { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .calendar-day__empty-hint { transition: none; }
}

/* Billing wallet — protected balance, honest empty states and readable history. */
.billing-wallet {
  display: grid;
  gap: 18px;
  padding-top: 24px;
  color: var(--ink);
}
.billing-wallet :is(h3, p) { margin-top: 0; }
.billing-wallet h3 { margin-bottom: 8px; }
.billing-wallet p { color: var(--ink-soft); line-height: 1.55; }
.billing-wallet__balance,
.billing-wallet__topup,
.billing-wallet__history,
.billing-wallet__referral,
.billing-wallet__purchases {
  background: var(--paper-strong);
  border: 1px solid var(--line);
  border-radius: var(--radius-surface);
}
.billing-wallet__balance {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 20px;
  padding: 28px;
  background: var(--accent-pale);
  border-color: var(--line-strong);
}
.billing-wallet__balance h3 { display: flex; align-items: baseline; gap: 10px; margin: 6px 0 10px; }
.billing-wallet__balance h3 strong {
  font-family: var(--display);
  font-size: clamp(2.8rem, 6vw, 5rem);
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  letter-spacing: -.055em;
  line-height: .95;
}
.billing-wallet__balance h3 span { color: var(--ink-soft); font-size: .9rem; font-weight: 650; }
.billing-wallet__balance p { max-width: 680px; margin-bottom: 0; }
.billing-wallet__balance .icon-button { color: var(--ink); background: var(--paper-strong); border-color: var(--line-strong); }
.billing-wallet__warning {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 12px;
  padding: 16px 18px;
  color: var(--ink);
  background: var(--paper-muted);
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-control);
}
.billing-wallet__warning > .icon { width: 21px; height: 21px; color: var(--danger); }
.billing-wallet__warning p { margin: 3px 0 0; font-size: .82rem; }
.billing-wallet__topup {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  padding: 22px 24px;
}
.billing-wallet__topup p { max-width: 760px; margin-bottom: 0; font-size: .82rem; }
.billing-wallet__topup .button[disabled] {
  min-height: 44px;
  opacity: 1;
  color: var(--ink-soft);
  background: var(--paper-muted);
  border-color: var(--line-strong);
}
html[data-theme="dark"] .billing-wallet__topup .button.button--primary[disabled] {
  color: var(--ink-soft);
  background: var(--paper-muted);
  border-color: var(--line-strong);
  box-shadow: none;
}
.billing-wallet__columns { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); gap: 18px; align-items: start; }
.billing-wallet__history,
.billing-wallet__referral,
.billing-wallet__purchases { padding: 22px 24px; }
.billing-wallet__history > header,
.billing-wallet__purchases > header { display: flex; align-items: end; justify-content: space-between; gap: 16px; }
.billing-wallet__history > header > small { color: var(--ink-faint); font-size: .68rem; }
.billing-wallet__ledger,
.billing-wallet__purchases ol { padding: 0; margin: 16px 0 0; list-style: none; border-top: 1px solid var(--line); }
.billing-wallet__ledger-row,
.billing-wallet__purchases li {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 68px;
  padding: 11px 0;
  border-bottom: 1px solid var(--line);
}
.billing-wallet__ledger-row.is-refund { padding-inline: 10px; background: var(--accent-pale); }
.billing-wallet__ledger-icon { display: grid; width: 36px; height: 36px; place-items: center; color: var(--accent); background: var(--paper-muted); border-radius: 10px; }
.billing-wallet__ledger-icon .icon { width: 18px; height: 18px; }
.billing-wallet__ledger-row > span:nth-child(2),
.billing-wallet__purchases li > span { display: grid; gap: 3px; }
.billing-wallet__ledger-row small,
.billing-wallet__purchases li small { color: var(--ink-faint); font-size: .7rem; }
.billing-wallet__ledger-row > b { font-variant-numeric: tabular-nums; font-size: .9rem; }
.billing-wallet__ledger-row > b.is-positive { color: var(--success); }
.billing-wallet__ledger-row > b.is-negative { color: var(--ink); }
.billing-wallet__more { width: 100%; margin-top: 14px; }
.billing-wallet__empty { padding: 22px 0 4px; }
.billing-wallet__empty p { margin: 5px 0 0; font-size: .8rem; }
.billing-wallet__referral header p { margin-bottom: 0; font-size: .82rem; }
.billing-wallet__referral dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 18px 0; }
.billing-wallet__referral dl > div { display: grid; gap: 5px; min-height: 78px; padding: 12px; background: var(--paper-muted); border: 1px solid var(--line); border-radius: var(--radius-control); }
.billing-wallet__referral dt { color: var(--ink-faint); font-size: .7rem; }
.billing-wallet__referral dd { margin: 0; font-size: 1.25rem; font-variant-numeric: tabular-nums; font-weight: 650; }
.billing-wallet__referral dd small { color: var(--ink-soft); font-size: .68rem; font-weight: 500; }
.billing-wallet__referral-code { display: grid; gap: 8px; }
.billing-wallet__referral-code > span { color: var(--ink-soft); font-size: .72rem; }
.billing-wallet__referral-code code { display: block; max-width: 100%; overflow: hidden; padding: 12px; color: var(--ink); background: var(--paper-muted); border: 1px solid var(--line); border-radius: var(--radius-control); font-family: var(--sans); font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.billing-wallet__referral-code .button { width: 100%; }
.billing-wallet__contract-note { margin: 10px 0 0; font-size: .7rem; }
.billing-wallet__purchases li { grid-template-columns: minmax(0, 1fr) auto; }
.billing-wallet__purchase-status { padding: 6px 9px; color: var(--ink); background: var(--paper-muted); border: 1px solid var(--line); border-radius: 999px; font-size: .68rem; font-weight: 650; }
.billing-wallet__purchase-status--paid { color: var(--success); border-color: var(--success); }
.billing-wallet--loading { min-height: 360px; align-content: start; }
.billing-wallet__skeleton { height: 66px; background: var(--paper-muted); border-radius: var(--radius-control); animation: billing-wallet-pulse 1.2s ease-in-out infinite alternate; }
.billing-wallet__skeleton--balance { height: 150px; }
.billing-wallet--unavailable,
.billing-wallet--error { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 16px; align-items: start; }
.billing-wallet__state-icon { display: grid; width: 48px; height: 48px; place-items: center; color: var(--accent); background: var(--accent-pale); border-radius: var(--radius-control); }
.billing-wallet__state-icon .icon { width: 23px; height: 23px; }
.billing-wallet.is-refreshing { opacity: .78; }
@keyframes billing-wallet-pulse { to { opacity: .48; } }

@media (max-width: 900px) {
  .billing-wallet__columns { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .billing-wallet { padding-top: 18px; }
  .billing-wallet__balance,
  .billing-wallet__topup { grid-template-columns: 1fr; padding: 20px; }
  .billing-wallet__balance .icon-button { position: absolute; right: 36px; }
  .billing-wallet__balance h3 { display: grid; gap: 4px; }
  .billing-wallet__balance h3 strong { font-size: clamp(3rem, 18vw, 4.4rem); }
  .billing-wallet__topup .button { width: 100%; }
  .billing-wallet__history,
  .billing-wallet__referral,
  .billing-wallet__purchases { padding: 18px; }
  .billing-wallet__history > header { align-items: start; flex-direction: column; }
  .billing-wallet__ledger-row { grid-template-columns: 32px minmax(0, 1fr) auto; gap: 9px; }
  .billing-wallet__ledger-icon { width: 32px; height: 32px; }
  .billing-wallet__ledger-row > b { font-size: .78rem; }
}

@media (prefers-reduced-motion: reduce) {
  .billing-wallet__skeleton { animation: none; }
  .billing-wallet.is-refreshing { opacity: 1; }
}

/* Content factory — one protected task from brief to reviewed draft. */
.content-factory {
  display: grid;
  gap: 18px;
  margin-top: 48px;
  padding-top: 32px;
  border-top: 1px solid var(--line);
}
.content-factory__heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
}
.content-factory__heading h2 { margin: 5px 0 0; font-size: clamp(1.75rem, 3vw, 2.7rem); }
.content-factory__heading > p { max-width: 520px; margin: 0; color: var(--ink-soft); line-height: 1.55; text-align: right; }
.content-factory__surface {
  padding: 28px;
  color: var(--ink);
  background: var(--paper-strong);
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-surface);
  box-shadow: var(--shadow);
}
.content-factory__intro {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  align-items: start;
  gap: 18px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--line);
}
.content-factory__intro h2 { margin: 5px 0 8px; font-size: clamp(1.45rem, 2.5vw, 2.2rem); }
.content-factory__intro p { max-width: 860px; margin: 0; color: var(--ink-soft); line-height: 1.58; }
.content-factory__mark,
.content-factory__state-icon {
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  color: var(--accent);
  background: var(--accent-pale);
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-control);
}
.content-factory__mark .icon,
.content-factory__state-icon .icon { width: 24px; height: 24px; }
.content-factory__mark.is-success,
.content-factory__state-icon.is-success { color: var(--success); }
.content-factory__state-icon.is-error { color: var(--danger); background: var(--paper-muted); }
.content-factory__form { display: grid; gap: 22px; padding-top: 24px; }
.content-factory__choice { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 0; margin: 0; border: 0; }
.content-factory__choice legend { grid-column: 1 / -1; padding: 0 0 8px; color: var(--ink-soft); font-size: .76rem; font-weight: 700; }
.content-factory__choice label { position: relative; min-width: 0; }
.content-factory__choice input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.content-factory__choice label > span {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-content: center;
  gap: 3px 12px;
  min-height: 98px;
  padding: 16px;
  color: var(--ink);
  background: var(--paper-muted);
  border: 1px solid var(--line);
  border-radius: var(--radius-control);
  cursor: pointer;
}
.content-factory__choice label > span > .icon { grid-row: 1 / 3; align-self: center; width: 25px; height: 25px; color: var(--accent); }
.content-factory__choice label small { color: var(--ink-soft); line-height: 1.4; }
.content-factory__choice input:checked + span { background: var(--accent-pale); border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); }
.content-factory__choice input:focus-visible + span { outline: 3px solid color-mix(in srgb, var(--accent) 36%, transparent); outline-offset: 3px; }
.content-factory__type { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 0; margin: 0; border: 0; }
.content-factory__type legend { grid-column: 1 / -1; padding: 0 0 8px; color: var(--ink-soft); font-size: .76rem; font-weight: 700; }
.content-factory__type label { position: relative; min-width: 0; }
.content-factory__type input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.content-factory__type label > span { display: grid; grid-template-columns: 34px minmax(0, 1fr); align-content: center; gap: 3px 10px; min-height: 104px; padding: 15px; color: var(--ink); background: var(--paper-muted); border: 1px solid var(--line); border-radius: var(--radius-control); cursor: pointer; }
.content-factory__type label > span > .icon { grid-row: 1 / 3; align-self: center; width: 23px; height: 23px; color: var(--accent); }
.content-factory__type label small { color: var(--ink-soft); line-height: 1.4; }
.content-factory__type input:checked + span { background: var(--accent-pale); border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); }
.content-factory__type input:focus-visible + span { outline: 3px solid color-mix(in srgb, var(--accent) 36%, transparent); outline-offset: 3px; }
.content-factory__form:has(input[name="workflowId"][value="brand"]:checked) .content-factory__type { display: none; }
.content-factory__fields { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr); gap: 16px; }
.content-factory__fields label { display: grid; align-content: start; gap: 8px; color: var(--ink-soft); font-size: .76rem; font-weight: 700; }
.content-factory__fields label:first-child { grid-row: span 2; }
.content-factory__fields :is(input, textarea) { width: 100%; color: var(--ink); background: var(--paper-muted); border-color: var(--line-strong); resize: vertical; }
.content-factory__fields input { min-height: 52px; }
.content-factory__fields textarea { min-height: 120px; }
.content-factory__privacy {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 12px;
  padding: 16px 18px;
  color: var(--ink);
  background: var(--paper-muted);
  border: 1px solid var(--line);
  border-radius: var(--radius-control);
}
.content-factory__privacy .icon { width: 21px; height: 21px; color: var(--accent); }
.content-factory__privacy p { margin: 0; color: var(--ink-soft); line-height: 1.5; }
.content-factory__privacy strong { color: var(--ink); }
.content-factory__quote {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  min-height: 54px;
  padding: 14px 18px;
  color: var(--ink);
  background: var(--paper-muted);
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-control);
}
.content-factory__quote .icon { width: 21px; height: 21px; color: var(--accent); }
.content-factory__quote p { margin: 0; line-height: 1.45; }
.content-factory__quote--platform,
.content-factory__quote--personal { background: var(--accent-pale); border-color: color-mix(in srgb, var(--accent) 55%, var(--line)); }
.content-factory__quote--insufficient,
.content-factory__quote--error { border-color: color-mix(in srgb, var(--danger) 55%, var(--line)); }
.content-factory__quote--insufficient .icon,
.content-factory__quote--error .icon { color: var(--danger); }
.content-factory__approval { position: relative; display: grid; grid-template-columns: 28px minmax(0, 1fr); align-items: center; gap: 10px; min-height: 48px; color: var(--ink); cursor: pointer; }
.content-factory__approval input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.content-factory__approval > span { display: grid; width: 28px; height: 28px; place-items: center; color: transparent; background: var(--paper-muted); border: 1px solid var(--line-strong); border-radius: 8px; }
.content-factory__approval > span .icon { width: 17px; height: 17px; }
.content-factory__approval input:checked + span { color: #fff; background: var(--accent); border-color: var(--accent); }
.content-factory__approval input:focus-visible + span { outline: 3px solid color-mix(in srgb, var(--accent) 36%, transparent); outline-offset: 3px; }
.content-factory__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.content-factory__actions small { color: var(--ink-faint); line-height: 1.45; }
.content-factory__notice {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 15px 17px;
  margin-top: 18px;
  color: var(--ink);
  background: var(--paper-muted);
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-control);
}
.content-factory__notice--error { border-color: color-mix(in srgb, var(--danger) 55%, var(--line)); }
.content-factory__notice > .icon { color: var(--danger); }
.content-factory__notice p { margin: 3px 0 0; color: var(--ink-soft); line-height: 1.45; }
.content-factory__surface--state { position: relative; display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 18px; align-items: start; min-height: 250px; align-content: center; overflow: hidden; }
.content-factory__surface--state h2 { margin: 5px 0 10px; font-size: clamp(1.55rem, 3vw, 2.5rem); }
.content-factory__surface--state p { max-width: 780px; margin: 0; color: var(--ink-soft); line-height: 1.58; }
.content-factory__surface--state .content-factory__actions { margin-top: 20px; }
.content-factory__leave-note { margin-top: 12px !important; font-size: .8rem; }
.content-factory__pulse { position: absolute; right: -70px; bottom: -90px; width: 230px; height: 230px; pointer-events: none; background: var(--accent-pale); border-radius: 50%; animation: content-factory-breathe 1.8s ease-in-out infinite alternate; }
.content-factory__surface--state .content-factory__notice { grid-column: 1 / -1; margin-top: 4px; }
@keyframes content-factory-breathe { to { opacity: .38; transform: scale(.86); } }
.content-factory__questions { display: grid; gap: 0; padding-top: 8px; }
.content-factory__questions fieldset { display: grid; gap: 12px; padding: 22px 0; margin: 0; border: 0; border-bottom: 1px solid var(--line); }
.content-factory__questions legend { display: grid; grid-template-columns: 34px minmax(0, 1fr); align-items: center; gap: 11px; width: 100%; padding: 0; color: var(--ink); font-size: 1rem; font-weight: 700; line-height: 1.4; }
.content-factory__questions legend span { display: grid; width: 34px; height: 34px; place-items: center; color: var(--accent); background: var(--accent-pale); border-radius: 9px; font-size: .68rem; }
.content-factory__questions fieldset > p { margin: -3px 0 0 45px; color: var(--ink-soft); line-height: 1.5; }
.content-factory__options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-left: 45px; }
.content-factory__options label { position: relative; min-width: 0; }
.content-factory__options input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.content-factory__options label > span { display: grid; grid-template-columns: 24px minmax(0, 1fr); align-items: center; gap: 9px; min-height: 48px; padding: 10px 12px; color: var(--ink); background: var(--paper-muted); border: 1px solid var(--line); border-radius: var(--radius-control); cursor: pointer; }
.content-factory__options label .icon { width: 17px; height: 17px; color: transparent; }
.content-factory__options input:checked + span { background: var(--accent-pale); border-color: var(--accent); }
.content-factory__options input:checked + span .icon { color: var(--accent); }
.content-factory__options input:focus-visible + span { outline: 3px solid color-mix(in srgb, var(--accent) 36%, transparent); outline-offset: 3px; }
.content-factory__questions > .content-factory__actions { padding-top: 22px; }
.content-factory__draft { margin-top: 22px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-control); }
.content-factory__draft > span { display: block; padding: 12px 16px; color: var(--ink-soft); background: var(--paper-muted); border-bottom: 1px solid var(--line); font-size: .72rem; font-weight: 700; }
.content-factory__draft pre { max-height: 560px; padding: 20px; margin: 0; overflow: auto; color: var(--ink); background: var(--paper-strong); font-family: var(--sans); font-size: .9rem; line-height: 1.65; overflow-wrap: anywhere; white-space: pre-wrap; }
.content-factory__surface > .content-factory__actions { margin-top: 22px; }
.content-factory__brand-result { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 22px 0 0; }
.content-factory__brand-result > div { padding: 16px; background: var(--paper-muted); border: 1px solid var(--line); border-radius: var(--radius-control); }
.content-factory__brand-result dt { color: var(--ink-faint); font-size: .7rem; font-weight: 700; }
.content-factory__brand-result dd { margin: 8px 0 0; color: var(--ink); line-height: 1.55; }
.content-factory__empty-result { padding: 18px; margin: 22px 0 0; color: var(--ink-soft); background: var(--paper-muted); border-radius: var(--radius-control); }
.content-factory__tabs { display: flex; gap: 4px; padding: 4px; margin-top: 22px; background: var(--paper-muted); border: 1px solid var(--line); border-radius: var(--radius-control); }
.content-factory__tabs button { min-height: 44px; padding: 0 16px; color: var(--ink-soft); background: transparent; border: 1px solid transparent; border-radius: calc(var(--radius-control) - 4px); font: inherit; font-weight: 700; cursor: pointer; }
.content-factory__tabs button[aria-selected="true"] { color: var(--ink); background: var(--paper-strong); border-color: var(--line-strong); box-shadow: 0 1px 2px color-mix(in srgb, var(--ink) 10%, transparent); }
.content-factory__tabs button:focus-visible { outline: 3px solid color-mix(in srgb, var(--accent) 36%, transparent); outline-offset: 2px; }
.content-factory__pane { padding-top: 18px; }
.content-factory__history-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding: 16px; background: var(--paper-muted); border: 1px solid var(--line); border-radius: var(--radius-control); }
.content-factory__history-controls label { display: grid; gap: 7px; color: var(--ink-soft); font-size: .76rem; font-weight: 700; }
.content-factory__history-controls select { min-height: 44px; color: var(--ink); background: var(--paper-strong); border-color: var(--line-strong); }
.content-factory__history-controls > .button { grid-column: 1 / -1; justify-self: end; }
.content-factory__history-state { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; align-items: center; gap: 12px; min-height: 128px; padding: 22px; margin-top: 14px; color: var(--ink-soft); background: var(--paper-muted); border: 1px solid var(--line); border-radius: var(--radius-control); }
.content-factory__history-state .icon { width: 24px; height: 24px; color: var(--accent); }
.content-factory__history-state[data-history-state="error"] .icon { color: var(--danger); }
.content-factory__history-state p { margin: 4px 0 0; line-height: 1.5; }
.content-factory__history-list { display: grid; gap: 10px; padding: 0; margin: 14px 0 0; list-style: none; }
.content-factory__history-list button { display: grid; grid-template-columns: minmax(0, 1fr) 24px; gap: 4px 14px; width: 100%; min-height: 82px; padding: 15px 16px; text-align: left; color: var(--ink); background: var(--paper-strong); border: 1px solid var(--line); border-radius: var(--radius-control); cursor: pointer; }
.content-factory__history-list button:hover { border-color: var(--accent); background: var(--accent-pale); }
.content-factory__history-list button:focus-visible { outline: 3px solid color-mix(in srgb, var(--accent) 36%, transparent); outline-offset: 3px; }
.content-factory__history-list button > .icon { grid-row: 1 / span 3; grid-column: 2; align-self: center; color: var(--accent); }
.content-factory__history-type { color: var(--ink-faint); font-size: .7rem; font-weight: 700; }
.content-factory__history-list strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.content-factory__history-list small { color: var(--ink-soft); }
.content-factory__history-more { display: flex; justify-content: center; padding-top: 16px; }
.content-factory__history-toolbar { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.content-factory__versions { display: grid; gap: 10px; margin-top: 22px; color: var(--ink-soft); }
.content-factory__versions > header { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.content-factory__versions > header small { color: var(--ink-faint); }
.content-factory__versions > div { display: flex; gap: 8px; overflow-x: auto; padding: 2px 2px 6px; scrollbar-width: thin; }
.content-factory__versions > div > button { display: grid; flex: 0 0 auto; gap: 3px; min-width: 132px; min-height: 54px; padding: 9px 12px; text-align: left; color: var(--ink); background: var(--paper-muted); border: 1px solid var(--line); border-radius: var(--radius-control); cursor: pointer; }
.content-factory__versions > div > button[aria-pressed="true"] { background: var(--accent-pale); border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); }
.content-factory__versions > div > button:focus-visible { outline: 3px solid color-mix(in srgb, var(--accent) 36%, transparent); outline-offset: 2px; }
.content-factory__versions > div > button small { color: var(--ink-soft); }
.content-factory__versions--error { grid-template-columns: minmax(0, 1fr) auto; align-items: center; padding: 14px; border: 1px solid color-mix(in srgb, var(--danger) 55%, var(--line)); border-radius: var(--radius-control); }
.content-factory__draft footer { padding: 14px 16px; color: var(--ink-soft); background: var(--paper-muted); border-top: 1px solid var(--line); }
.content-factory__draft footer p { margin: 4px 0 0; }
.content-factory__revision-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.content-factory__revision-actions small { max-width: 620px; color: var(--ink-faint); line-height: 1.45; }
.content-factory__revision-form { display: grid; gap: 16px; padding: 18px; margin-top: 18px; background: var(--paper-muted); border: 1px solid var(--line-strong); border-radius: var(--radius-control); }
.content-factory__revision-form > header { display: flex; align-items: start; justify-content: space-between; gap: 16px; }
.content-factory__revision-form h3 { margin: 4px 0 0; font-size: 1.15rem; }
.content-factory__revision-form > label:not(.content-factory__approval) { display: grid; gap: 8px; color: var(--ink-soft); font-size: .76rem; font-weight: 700; }
.content-factory__revision-form textarea { width: 100%; min-height: 110px; color: var(--ink); background: var(--paper-strong); border-color: var(--line-strong); resize: vertical; }
.content-factory__revision-form > p { margin: 0; color: var(--ink-soft); line-height: 1.5; }
.content-factory__revision-form .content-factory__quote,
.content-factory__revision-form .content-factory__notice { margin: 0; background: var(--paper-strong); }
.content-factory__revision-form .content-factory__quote a { color: var(--accent); font-weight: 700; }

@media (max-width: 900px) {
  .content-factory__fields { grid-template-columns: 1fr; }
  .content-factory__fields label:first-child { grid-row: auto; }
  .content-factory__history-controls { grid-template-columns: 1fr; }
  .content-factory__history-controls > .button { width: 100%; }
}
@media (max-width: 760px) {
  .content-factory { margin-top: 36px; padding-top: 24px; }
  .content-factory__heading { align-items: start; flex-direction: column; gap: 8px; }
  .content-factory__heading > p { text-align: left; }
  .content-factory__surface { padding: 20px; }
  .content-factory__choice,
  .content-factory__type,
  .content-factory__options,
  .content-factory__brand-result { grid-template-columns: 1fr; }
  .content-factory__options { margin-left: 0; }
  .content-factory__questions fieldset > p { margin-left: 0; }
  .content-factory__actions { align-items: stretch; flex-direction: column; }
  .content-factory__actions .button { width: 100%; }
  .content-factory__notice { grid-template-columns: 22px minmax(0, 1fr); }
  .content-factory__notice .button { grid-column: 1 / -1; width: 100%; }
  .content-factory__history-toolbar { align-items: stretch; flex-direction: column; }
  .content-factory__history-toolbar .button { width: 100%; }
  .content-factory__revision-actions { align-items: stretch; flex-direction: column; }
  .content-factory__revision-actions .button { width: 100%; }
  .content-factory__versions--error { grid-template-columns: 1fr; }
  .content-factory__revision-form { padding: 15px; }
}
@media (max-width: 430px) {
  .content-factory__intro,
  .content-factory__surface--state { grid-template-columns: 1fr; }
  .content-factory__surface--state { min-height: 0; }
  .content-factory__pulse { display: none; }
  .content-factory__questions legend { grid-template-columns: 30px minmax(0, 1fr); }
  .content-factory__questions legend span { width: 30px; height: 30px; }
}
@media (prefers-reduced-motion: reduce) {
  .content-factory__pulse { animation: none; }
}

/* Tablet navigation gets its own row: intrinsic link widths must not collide
   with account controls at 1024px or with a long practitioner name. */
@media (min-width: 761px) and (max-width: 1600px) {
  .app-header .app-header__primary { flex-wrap: wrap; height: auto; min-height: 76px; row-gap: 8px; padding-block: 10px; }
  .app-header .app-header__actions { margin-left: auto; }
  .app-header .top-nav { order: 3; flex: 1 0 100%; width: 100%; min-width: 0; justify-content: space-between; }
  .app-header .top-nav a { flex-shrink: 0; }
}
.genapi-explanation { margin-block: 24px; padding: 24px; border: 1px solid var(--line); border-radius: 16px; color: var(--ink); background: var(--paper); }
.genapi-explanation > summary { cursor: pointer; padding-block: 8px; font-weight: 600; }
.genapi-explanation > h2 { font-size: clamp(1.4rem, 2vw, 1.8rem); }
.genapi-explanation__content { display: grid; gap: 24px; margin-top: 20px; }
.genapi-explanation__content h3 { margin: 0 0 10px; font-family: var(--sans); font-size: 1.05rem; line-height: 1.45; letter-spacing: normal; }
.genapi-explanation__content p { margin: 0; color: var(--ink-soft); line-height: 1.65; }
.genapi-explanation__content p + p { margin-top: 12px; }
.genapi-explanation__content ol { margin: 0 0 16px; padding-left: 24px; color: var(--ink-soft); }
.genapi-explanation__content li + li { margin-top: 8px; }
.genapi-explanation__services { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.genapi-explanation__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; }
.genapi-explanation__actions .button, .genapi-explanation__actions .text-link { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; text-align: center; white-space: normal; }
.genapi-explanation summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
@media (max-width: 640px) {
  .genapi-explanation { padding: 18px; }
  .genapi-explanation__services { grid-template-columns: minmax(0, 1fr); }
  .genapi-explanation__actions { align-items: stretch; flex-direction: column; }
}
