/* Paper Pilot V2 in Learn's light (Cool Mist) theme: a cool shell, warm content panels with a tan
   edge, and a thin rose seam around each region you edit. Black navigation and gold actions stay.
   State is always carried by semantic colour plus text and shape (dot, check), never by the seam. */
@font-face {font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url('fonts/geist-latin.woff2') format('woff2')}
@font-face {font-family:'Geist Mono';font-style:normal;font-weight:400 600;font-display:swap;src:url('fonts/geist-mono-latin.woff2') format('woff2')}

:root {
  color-scheme:light;--sidebar-width:190px;
  /* Learn light tokens: bg, surface, surface-2, border-subtle/border/border-strong, text/muted/subtle. */
  --paper:#faf7ec;--canvas:#edf2fa;--surface:#f4f0de;--field:#f4f0de;
  --charcoal:#1a1a1a;--ink:#1a1f2e;--strong:#0a0f1c;--secondary:#3d4a5e;--muted:#6b7489;
  --line:#ede7d2;--rule:#e2dbc2;--input-line:#cfc5a4;--hover:rgba(212,167,44,.1);--ink-wash:rgba(26,31,46,.06);
  /* Learn's seam: a structural outline around editable regions, not a state colour. */
  --seam:#bf746f;--seam-wash:rgba(191,116,111,.03);--eggplant-line:#7a4f72;
  --pink:#bf746f;--rose:#854f5b;--pink-wash:rgba(191,116,111,.1);
  --gold:#d4a72c;--gold-deep:#b88b1e;--gold-ink:#8a6410;--gold-line:rgba(212,167,44,.55);--gold-wash:#f6edd2;--gold-chip:#f1e2b4;
  --error-ink:#bb3a2e;--error-line:#e0a49c;--error-wash:#fbefec;
  --success-ink:#157f4c;--success-line:#a6cdb6;--success-wash:#e8f3ec;
  --attention-ink:#9a6a12;--attention-line:#e0c48a;--attention-wash:#f8efd8;
  --shadow-sm:0 1px 2px rgba(140,105,20,.08);
  --shadow-md:0 4px 20px rgba(140,105,20,.1),0 1px 2px rgba(26,31,46,.04);
  --shadow-lg:0 12px 40px rgba(140,105,20,.14),0 2px 6px rgba(26,31,46,.06);
  --accent:var(--ink);--well:var(--surface);
  --sans:Geist,system-ui,sans-serif;--serif:Georgia,serif;--mono:'Geist Mono',ui-monospace,monospace;
}

/* ---------- Base ---------- */
* {box-sizing:border-box}
body {margin:0;background:var(--canvas);color:var(--ink);font:14px/1.6 var(--sans);overflow:hidden;-webkit-font-smoothing:antialiased}
button,textarea,input,select {font:inherit;color:inherit}
button {cursor:pointer;border:0;background:none}
button:disabled {cursor:not-allowed;color:var(--muted)}
button:enabled:hover {background:var(--hover)}
.button:enabled:active {transform:translateY(1px)}
select {cursor:pointer;white-space:nowrap}
a {color:var(--accent);text-underline-offset:3px}
h1,h2,h3,p {margin-top:0}
hr {border:0;border-top:1px solid var(--line);margin:24px 0}
summary {list-style:none}
summary::-webkit-details-marker {display:none}
[hidden] {display:none!important}
:focus-visible {outline:2px solid var(--accent);outline-offset:3px}
::selection {background:rgba(212,167,44,.4)}
::-webkit-scrollbar {width:8px;height:8px}
::-webkit-scrollbar-thumb {background:var(--input-line);border-radius:4px}
::-webkit-scrollbar-track {background:transparent}
.sr-only,.skip:not(:focus) {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip:focus {position:fixed;z-index:50;background:var(--canvas);padding:12px}

/* Type roles */
/* Learn's .machine label: short uppercase labels only, never sentences. */
.eyebrow {font:500 10.5px/16px var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--gold-ink)}
.section-label {font:600 11px/16px var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.lead {max-width:560px;color:var(--secondary);font-size:14px;line-height:1.7}

/* Buttons: one family. Secondary is outlined paper, primary is gold, quiet is text. */
.button {display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:34px;padding:7px 14px;border:1px solid var(--input-line);border-radius:7px;background:var(--paper);color:var(--ink);font:600 13px/1.3 var(--sans);white-space:nowrap;text-decoration:none}
.button:enabled:hover,a.button:hover {border-color:var(--ink);background:var(--paper)}
.button:disabled {color:var(--muted);border-color:var(--line);background:transparent;border-style:dashed}
.primary {background:var(--gold);border-color:var(--gold);color:var(--strong)}
.primary:enabled:hover,a.primary:hover {background:var(--gold-deep);border-color:var(--gold-deep)}
.button.primary:disabled {background:var(--gold);border:1px solid var(--gold-deep);color:var(--gold-ink);opacity:.65}
.button.danger,.danger {color:var(--error-ink)}
.button.danger {border-color:var(--error-line)}
.button.danger:enabled:hover {background:var(--error-ink);border-color:var(--error-ink);color:var(--paper)}
.button.danger:disabled {color:var(--muted);border-color:var(--line)}

/* Inputs */
input[type=file] {max-width:100%;font:12px var(--sans);color:var(--ink);cursor:pointer}
input[type=file]::file-selector-button {cursor:inherit;font:600 12px var(--sans);background:var(--paper);border:1px solid var(--input-line);border-radius:6px;padding:7px 12px;margin-right:10px;color:var(--ink)}
input[type=file]:enabled:hover::file-selector-button {border-color:var(--ink)}
input[type=file]:disabled {cursor:not-allowed;color:var(--muted)}
input[type=file]:disabled::file-selector-button {border-style:dashed;border-color:var(--rule);color:var(--muted);background:transparent}
input:disabled:not([type=checkbox]):not([type=radio]),textarea:disabled,select:disabled {cursor:not-allowed;background:transparent!important;color:var(--muted)!important;border-style:dashed!important;border-color:var(--rule)!important}
@supports (appearance:base-select) {
  select,select::picker(select) {appearance:base-select}
  select {display:flex;align-items:center}
  select::picker(select) {max-height:260px;overflow-y:auto;background:var(--field);color:var(--ink);border:1px solid var(--input-line);border-radius:6px;padding:4px;box-shadow:0 8px 24px #0002;font:13px/1.5 var(--sans)}
  select option {padding:6px 10px;min-height:30px;border-radius:4px}
  select option:hover,select option:focus {background:var(--hover);outline:0}
  select option:checked {background:var(--gold-wash);font-weight:600}
}

/* Status chip: dot + label. Used by fields, panels, tasks, documents, feedback and activity. */
.state-chip,.field-status,.task-state,.document-state,.feedback-state {display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:3px;font:600 11.3px/16.95px var(--sans);white-space:nowrap;color:var(--secondary);background:var(--ink-wash)}
.state-chip::before,.task-state::before,.document-state::before,.feedback-state::before {content:'';width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
[data-state=incomplete].state-chip,[data-state=blocked].state-chip {color:var(--attention-ink);background:var(--attention-wash)}
[data-state=ready].state-chip,[data-state=submitted].state-chip {color:var(--success-ink);background:var(--success-wash)}
[data-state=readonly].state-chip {color:var(--muted);background:transparent;border:1px solid var(--line)}

/* ---------- Shell: black navigation ---------- */
.shell {display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);height:100dvh}
.sidebar {background:var(--charcoal);color:var(--paper);border-right:1px solid rgba(252,249,246,.12);display:flex;flex-direction:column;padding:25px 15px 0;overflow:auto;min-height:0;--muted:#c9c1b8;--line:rgba(236,226,204,.2)}
.brand {display:block;margin:0 9px 30px;width:80px}
.brand img {width:80px;height:45px;object-fit:contain;display:block}
.rail-label {font:600 10px/1.5 var(--sans);letter-spacing:.12em;margin:16px 12px 10px;color:var(--muted)}
.rail-current,.side-nav button,.side-nav a {display:flex;align-items:center;gap:11px;width:100%;text-align:left;padding:10px 12px;min-height:40px;border-radius:6px;font-size:12.5px;color:inherit;text-decoration:none}
.side-nav img {width:22px;height:22px;object-fit:contain;flex-shrink:0}
.side-nav svg {width:22px;height:22px;flex-shrink:0}
.rail-current>span:first-child,.side-nav button>span:first-child {font-size:21px;line-height:1;width:22px;text-align:center}
.sidebar button:enabled:hover,.side-nav a:hover {background:rgba(252,249,246,.08)}
.sidebar button[aria-current=page] {background:rgba(249,190,47,.14);box-shadow:inset 2px 0 var(--gold)}
.sidebar button:disabled {color:#8e8589;box-shadow:none;background:none}
.sidebar button:disabled .pilot-mark {color:inherit}
.side-nav {display:grid;gap:4px;margin:5px 0 24px}
.workspace-switch {display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;text-align:left;border:1px solid var(--line);border-radius:6px;font-size:12.5px;margin:0 0 12px}
.workspace-switch>span:first-child {font-size:20px;line-height:1}
.workspace-context {border-top:1px solid var(--line);padding:10px 0;font-size:12.5px}
.workspace-context>div:last-child {padding:0 12px;overflow-wrap:anywhere}
.profile {display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);margin:auto -15px 0;padding:16px 15px;font-size:12px}
.profile strong {font-weight:600;display:block;overflow-wrap:anywhere}
.profile small {display:block;font-size:11px;color:var(--muted);overflow-wrap:anywhere}
.profile-avatar {display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:50%;background:rgba(249,190,47,.16);color:var(--gold)}
.sidebar :focus-visible,.topbar :focus-visible {outline-color:var(--gold)}

.workspace {min-width:0;min-height:0;display:flex;flex-direction:column}
.topbar {min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 22px;border-bottom:1px solid var(--gold);background:var(--charcoal);color:var(--paper);z-index:5;--line:rgba(236,226,204,.22)}
.topbar-title,.topbar-actions {display:flex;align-items:center;gap:11px;min-width:0}
.topbar-title strong {white-space:nowrap;font-size:13.5px;font-weight:600}
#status-label {color:#d9d0c4;font-size:12.5px;margin-left:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.document-credits {color:#d9d0c4;font-size:12.5px;white-space:nowrap}
.pilot-mark {font-size:21px;color:var(--pink)}
#sidebar-toggle {border-radius:6px;width:34px;height:34px;flex-shrink:0}
.environment-label {display:inline-flex;align-items:center;padding:2px 7px;border:1px solid var(--gold);border-radius:4px;color:var(--gold);font:600 10.5px/1.5 var(--sans);letter-spacing:.04em;white-space:nowrap}
.focus-toggle {display:flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:6px}
.focus-toggle button {min-height:28px;padding:4px 12px;border-radius:4px;font:600 11.5px var(--sans);color:#ddd4c8}
.focus-toggle button[aria-pressed=true],.focus-toggle button[aria-pressed=true]:hover {background:var(--paper);color:var(--charcoal)}
.topbar .button {min-height:32px;color:var(--paper);background:transparent;border-color:var(--line)}
.topbar .button.primary {color:var(--strong);background:var(--gold);border-color:var(--gold)}
.topbar .button:not(.primary):enabled:hover,.topbar a.button:not(.primary):hover,.topbar button:not(.primary):not([aria-pressed=true]):enabled:hover {background:rgba(252,249,246,.1);border-color:#ddd4c8}
.topbar .button.primary:enabled:hover {background:var(--gold-deep);border-color:var(--gold-deep)}
.topbar .button:disabled {color:#8e8589;border-color:rgba(236,226,204,.14);border-style:solid;background:transparent}
.more-menu {position:relative}
.more-menu summary {cursor:pointer;border:1px solid var(--line);border-radius:6px;padding:0 10px;font-size:20px;line-height:30px;letter-spacing:1px}
.more-menu nav {position:absolute;right:0;top:calc(100% + 8px);min-width:170px;background:var(--paper);color:var(--ink);border:1px solid var(--input-line);border-radius:8px;padding:5px;box-shadow:var(--shadow-lg);z-index:20}
.more-menu a,.more-menu button {display:block;width:100%;padding:8px 11px;text-align:left;text-decoration:none;border-radius:4px;font-size:12.5px;color:var(--ink)}
.more-menu a:hover,.more-menu nav button:enabled:hover {background:var(--hover)}
.more-menu hr {margin:5px 0;border-color:var(--rule)}

/* Notices: one compact strip family. */
.work-warning,[data-notice-tone=warning] {--notice-ink:var(--attention-ink);--notice-line:var(--attention-line);--notice-wash:var(--attention-wash);--notice-symbol:'!'}
.work-error,.field-error,[data-notice-tone=error] {white-space:pre-wrap;--notice-ink:var(--error-ink);--notice-line:var(--error-line);--notice-wash:var(--error-wash);--notice-symbol:'×'}
[data-notice-tone=success] {--notice-ink:var(--success-ink);--notice-line:var(--success-line);--notice-wash:var(--success-wash);--notice-symbol:'✓'}
:where(#feedback-notice,#steering-notice):not(:empty),.work-warning:not(:empty),.work-error:not(:empty),.field-error:not(:empty) {position:relative;padding:11px 14px 11px 40px;margin:12px 0;border:1px solid var(--notice-line,var(--rule));border-radius:8px;background:var(--notice-wash,var(--paper));color:var(--notice-ink,var(--secondary));font-size:13px;line-height:1.55;overflow-wrap:anywhere}
:where(#feedback-notice,#steering-notice):not(:empty)::before,.work-warning:not(:empty)::before,.work-error:not(:empty)::before,.field-error:not(:empty)::before {content:var(--notice-symbol,'i');position:absolute;left:13px;top:12px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--notice-ink,var(--secondary));color:#fff;font:700 12px/1 var(--sans)}
.work-warning:empty,.work-error:empty,.field-error:empty {display:none}
.work-warning p,.work-error p,.field-error p {color:inherit;font-size:inherit;margin:6px 0}
.work-warning ul,.work-error ul {padding-left:18px;margin:8px 0 0}
.work-warning li+li,.work-error li+li {margin-top:8px}
.work-warning>summary {display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:600;font-size:12.5px}
.work-warning>summary::after {content:'+';margin-left:auto}
.work-warning[open]>summary::after {content:'−'}
.requirements-heading {display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:8px}
.requirements-heading h3 {margin:0;font:600 14px/1.4 var(--sans);color:var(--ink)}
.requirements-count {font:700 10.8px/1.5 var(--sans);text-transform:uppercase;letter-spacing:.07em;border-radius:3px;padding:2px 7px;color:var(--attention-ink);background:var(--attention-wash);white-space:nowrap}
.requirements-list {margin:0 0 10px;padding-left:18px}
.requirements-list .requirement-message {margin:0 0 6px;font-size:13px;font-weight:600;color:var(--ink)}
.requirements-list .button,.notice-actions .button {white-space:normal;text-align:center;margin:2px 0}
.requirements-help {font-size:12px;margin:4px 0;font-weight:400;line-height:1.5;color:var(--secondary)}
.notice-actions {display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--notice-line)}
/* Pending requirements (amber) above failures (red), shared by Work, the review dialog and approvals. */
.submission-checks {display:flex;flex-direction:column;gap:10px}
.submission-checks:empty {display:none}
.submission-checks>:is(.work-warning,.work-error) {margin:0}

/* The main app's notice (option C): one slim charcoal line floating above the composer, or docked under the chooser
   and Documents. The dock is the notice's size container, so both places share one narrow layout; it stacks under the
   composer's own menus (Mention, approval mode), which open over it. */
.notice-dock {container:notice / inline-size;position:relative;z-index:0;flex:none;margin:8px clamp(16px,4vw,64px) 16px}
.notice-dock:has(>#notice[hidden]) {display:none}
.composer-wrap>.notice-dock {position:absolute;left:clamp(22px,3vw,44px);right:clamp(22px,3vw,44px);bottom:100%;margin:0}
#notice {--tone:var(--error-line);display:grid;grid-template-columns:18px minmax(0,1fr) auto 32px;grid-template-areas:"icon text actions close" "details details details details";align-items:center;column-gap:10px;max-width:740px;max-height:min(50dvh,360px);margin:0 auto;padding:9px 8px 9px 14px;overflow:auto;border-radius:14px;background:var(--charcoal);color:var(--paper);box-shadow:0 14px 32px -14px rgba(26,31,46,.34);font-size:13px;line-height:1.42;white-space:normal;overflow-wrap:anywhere}
#notice[data-notice-tone=warning] {--tone:var(--attention-line)}
#notice[data-notice-tone=info] {--tone:var(--rule)}
#notice[data-notice-tone=pending] {--tone:var(--gold)}
#notice[data-notice-tone=success] {--tone:var(--success-line)}
#notice.notice-in {animation:notice-in .22s cubic-bezier(.2,.7,.2,1) both}
#notice.notice-out {animation:notice-out .16s ease-in both}
@keyframes notice-in {from {opacity:0;transform:translateY(10px)}}
@keyframes notice-out {to {opacity:0;transform:translateY(10px)}}
@keyframes notice-spin {to {transform:rotate(360deg)}}
#notice .notice-icon {grid-area:icon;display:grid;place-items:center;color:var(--tone)}
#notice :is(.notice-icon,.notice-close) svg {display:block;width:18px;height:18px}
#notice[data-notice-tone=pending] .notice-icon svg {animation:notice-spin .9s linear infinite}
#notice .notice-text {grid-area:text;min-width:0}
#notice .notice-text p {margin:0}
#notice .notice-title {font-size:14px;font-weight:650;line-height:1.3;color:var(--paper)}
#notice .notice-body {color:var(--rule);white-space:pre-wrap}
#notice .notice-message {font-size:13.5px;font-weight:500;color:var(--paper);white-space:pre-wrap}
#notice .notice-buttons {grid-area:actions;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
#notice .notice-buttons:empty {display:none}
#notice button {display:inline-flex;align-items:center;justify-content:center;height:32px;border-radius:7px;font-size:13px;white-space:nowrap;transition:background-color .14s,color .14s}
#notice .notice-retry {padding:0 13px;border:1px solid var(--gold-deep);background:var(--gold);color:var(--charcoal);font-weight:600}
#notice .notice-retry:hover {background:#dcb440}
#notice .notice-retry[aria-disabled=true] {border-color:#55524a;background:transparent;color:var(--rule);cursor:progress}
#notice .notice-details-toggle {gap:4px;padding:0 8px;color:var(--rule);font-weight:550}
#notice .notice-details-toggle svg {width:14px;height:14px;transition:transform .16s}
#notice .notice-details-toggle[aria-expanded=true] svg {transform:rotate(180deg)}
#notice .notice-close {grid-area:close;width:32px;padding:0;border-radius:8px;color:var(--rule)}
#notice :is(.notice-details-toggle,.notice-close):hover {background:#34332f;color:var(--paper)}
#notice :focus-visible {outline-color:var(--gold);outline-offset:2px}
#notice .notice-details {grid-area:details;max-height:9em;overflow:auto;margin-top:8px;padding:7px 0 2px 28px;border-top:1px solid #3d3b36;color:var(--rule);font-size:12.5px;white-space:pre-wrap}
@container notice (max-width:520px) {
  #notice {grid-template-columns:18px minmax(0,1fr) 40px;grid-template-areas:"icon text close" ". actions actions" "details details details";align-items:start}
  #notice .notice-icon {margin-top:2px}
  #notice .notice-buttons {margin-top:6px}
  #notice button {height:40px}
  #notice .notice-close {width:40px}
}
@media (prefers-reduced-motion:reduce) {#notice.notice-in,#notice.notice-out,#notice .notice-icon svg {animation:none}#notice .notice-details-toggle svg,#notice button {transition:none}}

/* ---------- Panes ---------- */
.content-layout {display:grid;grid-template-columns:clamp(300px,var(--pane-width,65%),calc(100% - 310px)) 10px minmax(0,1fr);min-height:0;flex:1}
/* The workflow tracker's 3px rose connector, round caps 6px clear of the pane ends; the 7px handle overhangs it a whole 2px per side because 1.5px overhangs rounded off-centre. */
#pane-divider {grid-column:2;grid-row:1;position:relative;cursor:col-resize;touch-action:none;background:var(--canvas)}
#pane-divider::before {content:'';position:absolute;top:6px;bottom:6px;left:3px;width:3px;border-radius:1.5px;background:var(--pink)}
#pane-divider::after {content:'';position:absolute;top:calc(50% - 18px);left:1px;width:7px;height:36px;border-radius:3.5px;background:var(--pink)}
#pane-divider:hover::after,#pane-divider:focus-visible::after,.resizing-panes #pane-divider::after {background:var(--rose)}
#pane-divider:focus-visible {outline:2px solid var(--pink);outline-offset:-2px}
.resizing-panes,.resizing-panes * {cursor:col-resize!important;user-select:none!important}
/* Cool conversation ground like Work's; messages, composer and cards are its cream surfaces. */
#main {min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--canvas);--muted:#5d6579;container:conversation / inline-size}
#work-panel {grid-column:3;grid-row:1;padding:18px 22px 60px;overflow:auto;background:var(--canvas);min-width:0}
.work-focused #work-panel {grid-column:1;grid-row:1;border:0;padding:0 22px 60px}
.work-focused #main {grid-column:3;grid-row:1}
.chat-pane-title {display:none}
.work-focused:not(.chat-only) .chat-pane-title {display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid rgba(122,79,114,.22)}
.chat-pane-title strong {font:650 14px/20px var(--sans)}
.chat-pane-title small {display:block;font-size:11.5px;color:var(--muted)}
.chat-only .content-layout {grid-template-columns:minmax(0,1fr)}
.chat-only #main {display:flex;grid-column:1;grid-row:1;justify-content:safe center}
.chat-only #conversation {flex:0 1 auto}
.chat-only #main:has(#welcome:not([hidden])) {overflow-y:auto;padding-block:24px}
.chat-only #main:has(#welcome:not([hidden])) #conversation {flex:0 0 auto;overflow:visible;padding-block:0}
.chat-only .welcome {padding:0 0 16px}
#source-jump {display:none;margin:14px 0 0}
.onboarding-docs .content-layout {grid-template-columns:clamp(300px,var(--pane-width,65%),calc(100% - 310px)) 10px minmax(0,1fr)}
.onboarding-docs #main {grid-column:1;grid-row:1}
.onboarding-docs #documents-view {grid-column:3;grid-row:1;padding:20px;min-width:0;background:var(--canvas)}
.onboarding-docs .documents-heading h1 {font-size:26px}
.onboarding-docs .documents-section {margin-top:24px}
.onboarding-docs .documents-section:has(#generated-documents):not(:has(.document-status,.work-error)) {display:none}
@media(max-width:900px) {
  .onboarding-docs .content-layout {display:flex;flex-direction:column;overflow:auto}
  .onboarding-docs #main {flex:none;min-height:360px;max-height:70dvh}
  .onboarding-docs #documents-view {flex:none;overflow:visible;border-top:1px solid var(--rule)}
  .onboarding-docs #pane-divider {display:none}
  .onboarding-docs #source-jump {display:block}
}

/* Work pane before questionnaires exist */
#work-panel>.eyebrow {margin-top:18px}
#work-panel>p {font-size:13px;color:var(--secondary)}
.work-heading {display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:6px 0 18px}
.work-heading h2,#work-panel>h2 {font:400 26px/1.15 var(--serif);letter-spacing:-.01em;margin:0;overflow-wrap:anywhere}
#work-panel>h3 {font:650 14px/1.4 var(--sans);margin:24px 0 8px}
.empty-work {padding:18px 20px;border:1px solid var(--rule);border-radius:10px;background:var(--paper);box-shadow:var(--shadow-sm)}
.empty-work>span {font-size:24px}
.empty-work h3 {font:650 14px/1.4 var(--sans);margin:8px 0 4px}
.empty-work p {font-size:13px;color:var(--secondary);margin:0}
.transactions {list-style:none;padding:0;margin:0;border:1px solid var(--rule);border-radius:10px;background:var(--paper);box-shadow:var(--shadow-sm);font-size:13px}
.transactions li {padding:11px 14px;border-top:1px solid var(--line);font-weight:650}
.transactions li:first-child {border-top:0}
.transactions small {display:block;font-size:12.5px;color:var(--muted);font-weight:400}
.transactions li[data-step=completed] small {color:var(--success-ink)}
.transactions li[data-step=submitted] small {color:var(--eggplant-line)}
.transactions li[data-step=open] small {color:var(--attention-ink)}

/* ---------- Conversation ---------- */
#conversation {flex:1;overflow:auto;padding:28px clamp(22px,3vw,44px) 24px;scrollbar-width:thin;outline-offset:-4px}
#messages,.welcome,#onboarding-controls {max-width:740px;margin:0 auto}
.welcome {padding:16px 0 26px}
.welcome h1 {font:400 30px/1.1 var(--serif);letter-spacing:-.015em;margin:10px 0 12px}
.example {display:block;width:100%;border:1px solid var(--rule);border-radius:10px;padding:15px 18px;text-align:left;background:var(--paper);box-shadow:var(--shadow-sm);margin-top:14px;font-size:14px}
.example:first-of-type {margin-top:24px}
.example:enabled:hover {background:var(--paper);border-color:var(--gold-line)}
.example strong,.example small {display:block}
.example strong {font-weight:600}
.example small {font-size:12.5px;margin-top:4px;color:var(--secondary)}
.guidance-options {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}
.guidance-option {position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:18px;text-align:left;white-space:normal;background:var(--paper);border:1px solid var(--rule);border-radius:10px;box-shadow:var(--shadow-sm);font-weight:400;min-height:150px}
.guidance-option:enabled:hover {background:var(--paper);border-color:var(--gold-line)}
.guidance-option .button-label {display:flex;flex:1;align-self:stretch;flex-direction:column;gap:inherit}
.guidance-option.is-loading::after {top:50%;left:50%}
.guidance-option strong {font:650 14px/1.4 var(--sans)}
.guidance-option small {font-size:12.5px;line-height:1.6;color:var(--secondary)}
.guidance-arrow {align-self:flex-end;margin-top:auto;font-size:18px;color:var(--gold-ink)}
@container conversation (max-width:560px) {.guidance-options {grid-template-columns:1fr}.guidance-option {min-height:0;padding:14px 44px 14px 16px;gap:2px}.guidance-arrow {position:absolute;right:16px;top:14px}}

.message {display:flex;gap:12px;margin-bottom:26px;min-width:0}
.avatar {display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px}
/* Paper Pilot's mark is the plain header mark; your initials take a matching cream circle. Both sit left of their bubble. */
.message.user>.avatar {border-radius:50%;background:var(--paper);color:var(--secondary);font:600 10.5px/1 var(--sans);letter-spacing:.02em}
/* The bubble and the time under it share one column. */
.message-stack {display:flex;flex-direction:column;flex:1;min-width:0}
/* Both speakers share one lifted cream bubble; only the tight corner mirrors, pointing at whoever is speaking. */
.message-content {min-width:0;background:var(--paper);padding:12px 18px 14px;border-radius:4px 16px 16px 16px}
.message-meta {margin-top:6px;padding:0 4px;font-size:11px;line-height:1.4;color:var(--muted)}
.message-text {font-size:14px;line-height:1.7;overflow-wrap:anywhere}
.message-text:empty {display:none}
.message-text>:last-child {margin-bottom:0}
.message-text :is(h1,h2,h3,h4),.prompt-preview :is(h1,h2,h3,h4,h5,h6) {margin:16px 0 6px;color:var(--ink);font-weight:600;line-height:1.4}
.message-text h1,.prompt-preview h1 {font:600 18px/1.4 var(--serif)}
.message-text h2,.prompt-preview h2 {font:600 16px/1.4 var(--serif)}
.message-text h3,.prompt-preview h3 {font:600 14px/1.4 var(--sans)}
.message-text h4,.prompt-preview :is(h4,h5,h6) {font:600 13px/1.4 var(--sans)}
.message-text .question-label {font-weight:650}
.message-text pre {overflow:auto;font:12px/1.6 var(--mono);padding:12px;background:var(--surface);border-radius:6px}
.message-text code {font:12.5px var(--mono)}
.message-text blockquote {margin:12px 0;padding-left:14px;border-left:2px solid var(--pink);color:var(--secondary)}
.message-text table {display:block;overflow:auto;border-collapse:collapse;font-size:13px}
.message-text th,.message-text td {padding:6px 10px;border:1px solid var(--line);text-align:left}
.message-text th {font:600 10.8px/1.5 var(--sans);text-transform:uppercase;letter-spacing:.06em;color:var(--secondary)}
.message.user {justify-content:flex-end;margin:22px 0 26px 34px}
.message.user .message-stack {flex:0 1 auto;max-width:88%;align-items:flex-end}
.message.user .message-content {max-width:100%;border-radius:16px 4px 16px 16px}
.message.user .message-text {white-space:pre-wrap}
/* Same span as the undated turn line (72% of the 34px-indented user row); the 160px floor fits a one-line date, and below it the gaps shrink and the date wraps to stay inside. */
.day-banner {display:flex;align-items:center;justify-content:center;gap:min(14px,8.75%);width:min(clamp(160px,calc(72% - 24.48px),480px),100%);margin:34px auto 24px;color:var(--secondary);font:600 11.5px/1.4 var(--sans);letter-spacing:.03em;text-align:center}
.day-banner:first-child {margin-top:4px}
.day-banner::before,.day-banner::after {content:'';flex:1 1 0;height:1px;background:linear-gradient(90deg,transparent,var(--eggplant-line));opacity:.55}
.day-banner::after {transform:scaleX(-1)}
#messages>.message.assistant+.message.user {position:relative;margin-top:48px}
/* The user bubble is indented 34px, so -17px centres the line on the whole conversation column. */
#messages>.message.assistant+.message.user::before {content:'';position:absolute;top:-24px;left:calc(50% - 17px);width:min(clamp(160px,72%,480px),100% + 34px);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,var(--eggplant-line) 30%,var(--eggplant-line) 70%,transparent);opacity:.75}

/* Actions Paper Pilot took; completed work stays neutral so only problems draw the eye. */
.tool-call {margin:0;padding:3px 0;font:14px/1.5 var(--sans);color:var(--secondary)}
/* One dotted line, Work's section separator, sets the response apart from its actions; a reply with no text has none. */
:is(:not(.tool-call),.tool-call[hidden])+.tool-call {margin-top:10px;padding-top:10px;border-top:1px dotted var(--input-line)}
.message-text:empty+.tool-call {margin-top:0;padding-top:3px;border-top:0}
.tool-call>summary {cursor:pointer;display:flex;align-items:flex-start;gap:8px;width:fit-content;max-width:100%}
.tool-call>summary:hover {color:var(--ink)}
.tool-call-icon {display:flex;flex:none;width:14px;height:1lh;align-items:center;justify-content:center}
.tool-call-icon svg {width:13px;height:13px;display:block}
.tool-call>summary>.loader {width:16px}
.tool-call>summary>.loader:not([hidden])+.tool-call-icon {display:none}
.tool-call[data-tool-state=failed]>summary {color:var(--error-ink);font-weight:600}
.tool-call:is([data-tool-state=awaiting_approval],[data-tool-state=running])>summary {color:var(--attention-ink)}
.tool-call>p {margin:6px 0 0;font:11px var(--mono);color:var(--muted)}
.tool-call section {margin:8px 0;min-width:0}
.tool-call h4 {margin:0 0 4px;font:500 10.5px/1.5 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
/* Opened details sit under the label, past the icon. */
.tool-call>:not(summary) {margin-left:22px}
.tool-call pre,.activity-record pre {margin:0;padding:10px;max-height:300px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface);border-radius:4px;color:var(--ink);font:11px/1.6 var(--mono)}

/* Question choices and approvals: compact panels in the conversation. */
.onboarding-card {margin:12px 0 18px;border:1px solid var(--rule);border-radius:10px;background:var(--paper);box-shadow:var(--shadow-sm);padding:16px 18px}
.onboarding-card>.eyebrow {margin-bottom:4px}
.message-stack>.onboarding-card {margin:10px 0 0}
.message-content[hidden]+.onboarding-card {margin-top:0}
.onboarding-card h3 {font:650 14px/1.4 var(--sans);margin:2px 0 10px}
.onboarding-card>p {font-size:13px;color:var(--secondary);margin:10px 0}
.onboarding-card small {display:block;font-size:11.5px;color:var(--muted);margin-top:10px}
.onboarding-card>.submission-checks {margin:10px 0}
.onboarding-card .requirements-heading h3 {margin:0}
.choice-list {display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.question-choices {border:0;background:transparent;padding:0;margin:4px 0 14px 40px}
.question-choices h3 {font:600 14px/1.5 var(--sans)}
.question-choices .choice-list {margin:0 0 6px}
.question-answer {display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;max-width:520px}
.question-answer label {flex-basis:100%;font-size:12px;color:var(--muted)}
.question-answer .question-input {flex:1 1 200px;width:auto;min-height:34px}
.question-answer .question-input:focus-visible {outline-color:var(--gold-ink);outline-offset:2px}
.question-answer .question-input:disabled {background:transparent;border-style:dashed;border-color:var(--line);cursor:not-allowed}
#messages:has(+ #onboarding-controls .question-choices)>.message.assistant:last-child {margin-bottom:6px}
.work-facts {display:grid;grid-template-columns:minmax(110px,.8fr) minmax(0,1.6fr);margin:8px 0;border:1px solid var(--rule);border-radius:8px;font-size:12.5px}
.work-facts dt,.work-facts dd {margin:0;padding:8px 12px;border-top:1px solid var(--line);overflow-wrap:anywhere;white-space:pre-wrap}
.work-facts dt {color:var(--secondary)}
.work-facts dd {text-align:right;font-weight:600}
.work-facts dt:first-of-type,.work-facts dd:first-of-type {border-top:0}
.answer-review {padding:10px 0;border-top:1px solid var(--line)}
.answer-review h4 {font:600 13px/1.4 var(--sans);margin:2px 0 8px}
.answer-review .answer-context {font:500 10.5px/1.5 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0}
.answer-diff {display:grid;grid-template-columns:80px minmax(0,1fr);margin:0;border:1px solid var(--seam);border-radius:9px;overflow:hidden;font-size:13px}
.answer-diff dt,.answer-diff dd {margin:0;padding:7px 10px;overflow-wrap:anywhere;white-space:pre-wrap}
.answer-diff dt {font:500 10.5px/1.8 var(--mono);text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}
.answer-diff .previous {color:var(--muted)}
.answer-diff dd.previous {text-decoration:line-through;text-decoration-color:var(--rule)}
.answer-diff .proposed {background:var(--pink-wash);color:var(--rose);border-top:1px solid var(--line)}
.answer-diff dd.proposed {font-weight:600}
/* Narrow split: each label sits above its value, and approval buttons wrap inside the card. */
@container conversation (max-width:450px) {
  .onboarding-card :is(.work-facts,.answer-diff) {grid-template-columns:minmax(0,1fr)}
  .onboarding-card :is(.work-facts,.answer-diff) dt {padding-bottom:0}
  .onboarding-card :is(.work-facts,.answer-diff) dd {padding-top:2px;border-top:0;text-align:left}
  .onboarding-card .choice-list .button {white-space:normal;text-align:center}
}

/* Composer */
.composer-wrap {position:relative;padding:10px clamp(22px,3vw,44px) 12px}
/* Learn's search control: input surface, strong edge, gold edge and halo while focused. */
/* The approval menu sizes itself to the composer, so it never spills past it in a narrow pane. */
#composer {position:relative;container-type:inline-size;max-width:740px;margin:auto;padding:12px 14px 10px;border:1px solid var(--gold-line);border-radius:10px;background:var(--paper);box-shadow:var(--shadow-sm);transition:border-color .15s,box-shadow .15s,background .15s}
#composer:focus-within {border-color:var(--gold);background:#fffdf6;box-shadow:0 0 0 3px rgba(212,167,44,.22),var(--shadow-sm)}
#prompt {width:100%;border:0;outline:none;padding:0;field-sizing:content;min-height:48px;max-height:min(320px,40dvh);overflow-y:auto;resize:none;font-size:14px;line-height:1.6;background:transparent}
#prompt::placeholder {color:var(--muted);opacity:1}
#mention-source {font-size:12px;padding:5px 9px;white-space:nowrap}
#source-picker {position:absolute;bottom:calc(100% + 8px);left:0;right:0;z-index:12;padding:12px;border:1px solid var(--input-line);border-radius:10px;background:var(--paper);box-shadow:var(--shadow-lg)}
#source-picker-status {margin:8px 0;font-size:12px;color:var(--muted)}
#source-options {list-style:none;padding:0;margin:0;max-height:min(250px,32dvh);overflow:auto}
#source-options li {padding:9px 10px;border-radius:6px;cursor:pointer;overflow-wrap:anywhere}
#source-options li[aria-selected=true],#source-options li:hover {background:var(--ink-wash)}
#source-options strong {display:block;font-size:13px;font-weight:600}
#source-options small {display:block;margin-top:2px;font-size:11px;color:var(--muted)}
#selected-sources,.message-sources {display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0 0 10px}
#selected-sources li {display:flex;align-items:center;gap:8px;max-width:100%;padding:4px 7px;border:1px solid var(--line);border-radius:6px;font-size:12px}
#selected-sources li span {min-width:0;overflow-wrap:anywhere}
#selected-sources button {flex-shrink:0;padding:3px;font-size:11px;color:var(--secondary);text-decoration:underline}
.message-sources {margin:8px 0 0}
.message-sources li {padding:3px 7px;border-radius:4px;background:var(--ink-wash);font-size:12px;overflow-wrap:anywhere}
.composer-bottom {display:flex;align-items:center;gap:10px;margin-top:8px}
.composer-tools {display:flex;align-items:center;gap:6px;margin-right:auto}
.composer-bottom #connection-status {text-align:right}
#connection-status:empty {display:none}
#connection-status {display:inline-flex;align-items:center;gap:8px;font-size:11.5px;color:var(--muted)}
#back-to-question {display:flex;width:fit-content;min-height:0;margin:0 auto 8px;padding:4px 10px;font-size:12px}
#composer-note {max-width:62em;text-align:center;color:var(--muted);font-size:11px;line-height:1.5;margin:8px auto 0}
.approval-mode {position:relative;flex-shrink:0}
/* Codex-style permissions trigger: icon + label at rest, a soft neutral wash on hover, a tooltip naming the action. */
#approval-mode-toggle {position:relative;display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:5px 10px;font:600 12px/1 var(--sans);color:var(--secondary);border:0;border-radius:999px;background:transparent}
#approval-mode-toggle[data-mode=auto] {color:var(--eggplant-line)}
#approval-mode-toggle:enabled:hover,#approval-mode-toggle[aria-expanded=true] {background:var(--ink-wash)}
#approval-mode-toggle:enabled:hover::before,#approval-mode-toggle:focus-visible:not([aria-expanded=true])::before {content:'Change approval mode';position:absolute;bottom:calc(100% + 8px);left:0;padding:6px 10px;border-radius:7px;background:var(--charcoal);color:var(--paper);font:500 11.5px/1.3 var(--sans);white-space:nowrap;pointer-events:none;z-index:11}
#approval-mode-toggle[aria-expanded=true]::before {display:none}
/* Same specificity as the Auto rule, so it must stay after it for disabled to win. */
#approval-mode-toggle:disabled {color:var(--muted);background:transparent;cursor:not-allowed}
.approval-mode-icon {display:flex;flex:none}
.approval-mode-icon svg {width:13px;height:13px;display:block}
#approval-mode-menu {position:absolute;bottom:calc(100% + 8px);left:0;z-index:10;width:min(340px,100cqw);padding:6px;border:1px solid var(--input-line);border-radius:12px;background:var(--paper);box-shadow:var(--shadow-lg)}
/* The menu's accessible name doubles as its visible question. */
#approval-mode-menu::before {content:attr(aria-label);display:block;padding:6px 10px 8px;font-size:12px;color:var(--muted)}
#approval-mode-menu button {display:grid;grid-template-columns:16px minmax(0,1fr);align-content:start;column-gap:10px;position:relative;width:100%;padding:8px 34px 8px 10px;text-align:left;border-radius:8px}
#approval-mode-menu button:enabled:hover {background:var(--ink-wash)}
#approval-mode-menu button:focus-visible {outline-offset:-2px}
#approval-mode-menu .approval-mode-icon {grid-row:1/3;align-self:start;margin-top:2px}
#approval-mode-menu strong {display:block;font-size:13px;font-weight:600;line-height:1.35}
#approval-mode-menu small {display:block;font-size:11.5px;color:var(--muted);line-height:1.4;margin-top:1px}
#approval-mode-menu [data-approval-mode=auto] {color:var(--eggplant-line)}
#approval-mode-menu [data-approval-mode=auto] small {color:inherit;opacity:.85}
#approval-mode-menu [aria-checked=true]::after {content:'';position:absolute;right:14px;top:50%;width:5px;height:9px;margin-top:-6px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}
@container conversation (max-width:450px) {.composer-bottom {flex-wrap:wrap}.composer-bottom #connection-status {order:3;width:100%;text-align:left}.composer-bottom #send {margin-left:auto}}

/* ---------- Work: workflow header + top progress + Sections + step panel ---------- */
.work-questionnaires {max-width:1260px;margin:0 auto;container:work / inline-size;--s-1:4px;--s-2:8px;--s-3:12px;--fs-12:12px;--fs-13:13px;--text:var(--ink);--text-muted:var(--muted);--answer-alert-ink:#984c48;--answer-alert-wash:#faf0ee}
/* The workflow name labels its step strip; the questionnaire name below is the page's visible title. */
.work-header {display:flex;align-items:baseline;justify-content:space-between;gap:8px 16px;padding:14px 0 6px;margin-bottom:0;text-align:left}
.work-title {font:600 11px/16px var(--mono);letter-spacing:.09em;text-transform:uppercase;margin:0;color:var(--muted)}
.work-body {display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}
.work-main {display:flex;flex-direction:column;gap:12px;min-width:0}
.work-rail {display:flex;flex-direction:column;gap:8px;min-width:0}

/* Overall status strip */
.work-status-strip {display:flex;align-items:center;gap:10px;margin:0;padding:8px 14px;border:1px solid var(--rule);border-radius:8px;background:var(--paper);font-size:13px;line-height:1.5;color:var(--secondary)}
.work-status-strip::before {content:'';width:9px;height:9px;border-radius:50%;flex-shrink:0;background:var(--ink)}
.work-status-strip[data-state=incomplete]::before,.work-status-strip[data-state=blocked]::before {background:var(--attention-ink)}
.work-status-strip:is([data-state=ready],[data-state=submitted])::before {background:var(--success-ink)}
.work-status-strip:is([data-state=incomplete],[data-state=blocked]) {border-color:var(--attention-line);background:var(--attention-wash)}
.work-status-strip:is([data-state=ready],[data-state=submitted]) {border-color:var(--success-line);background:var(--success-wash)}
.work-status-strip strong {color:var(--ink);font-weight:650}
.work-approval-notice {max-width:1260px;margin:14px auto 0;flex-wrap:wrap}

/* Step panel */
/* Learn's content panel: warm surface, tan edge, soft lift; a seam divides its heading (Manage's tab row). */
.questionnaire-panel {border:1px solid var(--rule);border-radius:12px;background:var(--paper);box-shadow:var(--shadow-md);min-width:0}
.questionnaire-panel>.loading-status {justify-content:center;min-height:200px;padding:28px}
/* While a questionnaire loads, its card fills the Work pane height left after notices and the step strip. */
#work-panel:has(>.work-questionnaires[aria-busy=true]) {display:flex;flex-direction:column}
#work-panel:has(>.work-questionnaires[aria-busy=true])>* {width:100%}
.work-questionnaires[aria-busy=true],.work-questionnaires[aria-busy=true] :is(.work-body,.work-main,.questionnaire-panel) {display:flex;flex-direction:column;align-items:stretch;flex:1 0 auto}
.work-questionnaires[aria-busy=true]>:is(.work-header,.transaction-progress) {flex-shrink:0}
.work-questionnaires[aria-busy=true] .questionnaire-panel>.loading-status {flex:1 0 auto}
/* Title + PaperOS link over this questionnaire's status and progress; secondary actions, then the next step, at the right. */
.questionnaire-heading {display:flex;align-items:center;justify-content:space-between;gap:10px 16px;padding:18px 22px 16px;border-bottom:2px solid #4d5980;flex-wrap:wrap}
.heading-identity {display:grid;gap:5px;min-width:0;flex:1 1 260px}
.heading-meta {display:flex;align-items:center;flex-wrap:wrap;gap:4px 16px}
.heading-meta .questionnaire-state {display:inline-flex;align-items:center;gap:6px;color:var(--secondary)}
.heading-meta .questionnaire-state::before {content:'';width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
.panel-title {min-width:0;flex:1 1 auto;display:flex;align-items:center;gap:8px}
.questionnaire-heading h2 {font:400 26px/1.15 var(--serif);letter-spacing:-.01em;color:var(--strong);margin:0;overflow-wrap:anywhere}
.panel-tools {display:flex;align-items:center}
.questionnaire-heading .work-actions>.button {white-space:normal;text-align:center}
.panel-title>a {flex:none;display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--line);border-radius:6px;color:var(--secondary);text-decoration:none}
.panel-title>a:hover {border-color:var(--ink);background:var(--hover);color:var(--ink)}
.work-actions {display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.panel-body {display:flex;flex-direction:column;gap:14px;padding:18px 22px 22px;min-width:0}
.panel-body>.work-warning,.panel-body>.work-error {margin:0}

/* Paper Pilot callout (shown while editing is paused) */
.work-busy-note {display:flex;gap:10px;align-items:flex-start;margin:0;padding:11px 14px;border-radius:6px;background:var(--pink-wash);color:var(--ink);font-size:13.2px;line-height:20.5px}
.work-busy-note::before {content:'✳';color:var(--pink);font-size:15px;line-height:20px}

/* Progress label row */
.questionnaire-progress {display:flex;align-items:center;gap:8px}
.questionnaire-heading .questionnaire-progress progress {width:90px}
.questionnaire-progress .section-label {margin-right:auto}
.questionnaire-progress progress {width:140px;height:6px;display:block;border:0;border-radius:3px;overflow:hidden;appearance:none;background:var(--ink-wash);accent-color:var(--success-ink)}
.questionnaire-progress progress::-webkit-progress-bar {background:var(--ink-wash);border-radius:3px}
.questionnaire-progress progress::-webkit-progress-value {background:var(--success-ink);border-radius:3px}
.questionnaire-progress progress::-moz-progress-bar {background:var(--success-ink);border-radius:3px}
.questionnaire-count {margin:0;font:600 12px/18px var(--sans);color:var(--secondary);white-space:nowrap}
.questionnaire-count b {color:var(--ink)}
.questionnaire-progress strong {font:600 12px/18px var(--sans);color:var(--muted);min-width:3.2em;text-align:right}

/* Each resource is one tray: its heading row and its own question cards share a surface and one inner edge. */
.questionnaire-fields {display:flex;flex-direction:column;gap:14px;min-width:0;overflow-anchor:none}
.questionnaire-group {display:flex;flex-direction:column;gap:14px}
.questionnaire-group>.button {align-self:flex-start}
/* Eggplant groups contain gold-outlined questions. */
.questionnaire-resource {container:resource / inline-size;border:1px solid var(--eggplant-line);border-radius:8px;background:var(--paper)}
.questionnaire-resource,.task-status-card,.message-content {box-shadow:0 2px 4px rgba(26,31,46,.10),0 8px 18px -4px rgba(26,31,46,.22)}
.resource-header {display:flex;align-items:center;gap:8px;padding-right:10px}
.resource-header h3 {flex:1;min-width:0;margin:0;font-size:inherit}
.resource-toggle,.outline-resource-toggle {width:100%;display:grid;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:10px;border:0;text-align:left;background:transparent;color:var(--ink);font:600 14px/1.5 var(--sans);cursor:pointer}
.resource-toggle {padding:12px 14px;min-height:48px;border-radius:8px}
/* An open heading sits close to its first question, above a plum divider that meets the outline on both sides. */
.questionnaire-resource.is-open .resource-toggle {padding-bottom:8px}
.questionnaire-resource.is-open>.resource-header {border-bottom:1px solid var(--eggplant-line)}
.resource-toggle:enabled:hover {background:transparent}
.resource-toggle:enabled:hover .resource-title {text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--rule)}
.resource-chevron {font-size:18px;line-height:1;color:var(--secondary);transition:transform .15s}
[aria-expanded=true]>.resource-chevron {transform:rotate(90deg)}
.resource-title {overflow-wrap:anywhere}
.resource-identity {display:grid;gap:1px;min-width:0}
.resource-name {font:650 14px/20px var(--sans);color:var(--ink);overflow-wrap:anywhere}
.resource-identity:has(.resource-name)>.resource-title {font:500 12px/16.5px var(--sans);color:var(--muted)}
.resource-progress {display:grid;grid-template-columns:auto auto;align-items:baseline;justify-content:end;gap:1px 4px;color:var(--resource-ink,var(--muted))}
.resource-count {font:700 12px/18px var(--sans);color:inherit;white-space:nowrap}
.resource-count-label {font-size:11px;color:var(--muted);font-weight:500}
/* Keep one compact state label in each section; counts live in the questionnaire heading. */
.resource-toggle .resource-progress {display:block;color:var(--secondary)}
.resource-toggle :is(.resource-count,.resource-count-label) {display:none}
.resource-state-label {grid-column:1/-1;font:600 11px/16.5px var(--sans);text-align:right}
.questionnaire-resource[data-resource-state],.outline-resource[data-resource-state] {--resource-ink:var(--muted)}
:is(.questionnaire-resource,.outline-resource):is([data-resource-state=saved],[data-resource-state=submitted]) {--resource-ink:var(--success-ink)}
:is(.questionnaire-resource,.outline-resource):is([data-resource-state=missing],[data-resource-state=partial]) {--resource-ink:var(--attention-ink)}
:is(.questionnaire-resource,.outline-resource)[data-resource-state=suggested] {--resource-ink:var(--rose)}
:is(.questionnaire-resource,.outline-resource):is([data-resource-state=unsaved],[data-resource-state=error]) {--resource-ink:var(--answer-alert-ink)}
.resource-toggle .resource-state-label::before {content:'';display:inline-block;width:5px;height:5px;margin:0 6px 1px 0;border-radius:50%;background:var(--resource-ink)}
.outline-resource[data-resource-state] .resource-progress {color:var(--resource-ink)}
.is-complete .resource-count::before {content:'✓ '}
/* Questions start under the section's name (14px toggle inset + 14px chevron + 10px gap), so their labels sit inside it. */
.resource-fields {display:flex;flex-direction:column;gap:6px;padding:0 14px 14px 38px}
.resource-footer {display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:6px}
.resource-footer:not(:has(button:not([hidden]))) {display:none}
.resource-add {flex-shrink:0;padding:10px 14px;font:600 12px var(--sans);color:var(--secondary)}
.resource-next {display:block;margin:0 0 0 auto;padding:10px 14px;font:600 12px var(--sans);color:var(--secondary);text-align:right;white-space:normal}
/* Text-only controls carry a resting underline so they read as clickable without hovering. */
:is(.resource-add,.resource-next):enabled {text-decoration:underline;text-underline-offset:3px}
:is(.resource-add,.resource-next):enabled:hover {background:transparent;color:var(--ink)}
.resource-fields>.button {align-self:flex-start;margin:0}
.resource-actions {position:relative;flex-shrink:0;font-size:12px}
.resource-actions summary,.resource-add-icon,.resource-remove-icon {flex-shrink:0;display:grid;place-items:center;width:30px;height:30px;padding:0;cursor:pointer;border:1px solid var(--rule);border-radius:6px;color:var(--secondary);background:transparent}
:is(.resource-add-icon,.resource-remove-icon):disabled {border-style:dashed;cursor:not-allowed}
.resource-actions summary:hover,.resource-actions[open] summary,.resource-add-icon:enabled:hover,.resource-remove-icon:enabled:hover {color:var(--ink);background:var(--hover);border-color:var(--rule)}
.resource-action-menu {position:absolute;right:0;top:calc(100% + 6px);z-index:6;min-width:190px;padding:5px;background:var(--paper);border:1px solid var(--input-line);border-radius:8px;box-shadow:var(--shadow-lg)}
.resource-action-menu .button {display:flex;justify-content:flex-start;width:100%;min-height:30px;border:0;padding:6px 9px;font-size:12px;border-radius:4px;background:transparent}
.resource-action-menu .button:enabled:hover {background:var(--hover)}
.resource-action-menu .danger {color:var(--error-ink);border-top:1px solid var(--line);border-radius:0}
.resource-action-menu .button:focus-visible {outline-offset:-2px}

/* Each question keeps its label, answer and status together. */
.questionnaire-field {display:grid;grid-template-columns:minmax(140px,30%) minmax(0,1fr) auto;grid-template-areas:"heading value actions";gap:0 14px}
.field-heading {grid-area:heading} .field-value {grid-area:value} .field-actions {grid-area:actions}
.questionnaire-field>.field-comment {grid-column:1/-1;min-width:0}
/* One gold line between visible questions; hidden conditional siblings never draw or skip one. */
.questionnaire-field {align-items:start;padding:14px 14px 14px 18px;background:transparent;scroll-margin-top:14px;min-height:53px;transition:background-color .16s}
.questionnaire-field:not([hidden])~.questionnaire-field:not([hidden]) {border-top:1px solid var(--gold)}
.questionnaire-field:focus-within {background-color:var(--seam-wash)}
.questionnaire-field:focus-visible {outline:2px solid var(--ink);outline-offset:2px}
.questionnaire-field[data-answer-state=saved] {--answer-wash:#eef3e9}
.questionnaire-field:is([data-answer-state=unsaved],[data-answer-state=error]) {--answer-wash:var(--answer-alert-wash)}
.field-heading,.field-value {min-width:0;padding:5px 0}
.field-title {display:flex;align-items:center;flex-wrap:wrap;gap:4px 7px}
.field-title>:is(strong,.field-question) {font:600 13.5px/19.5px var(--sans);color:var(--ink);overflow-wrap:anywhere}
.field-question>:is(p,ul,ol) {margin:0 0 6px}
.field-question>:last-child {margin-bottom:0}
.field-required {color:var(--pink);margin-left:3px}
.field-requirement {font-size:11px;color:var(--muted);font-weight:500}
.field-description {margin:2px 0 0;font-size:12px;line-height:17px;color:var(--secondary);overflow-wrap:anywhere}
.field-description p {margin:0 0 6px}
.field-description p:last-child {margin-bottom:0}
.field-comment {margin:5px 0 0;padding-left:7px;border-left:2px solid var(--input-line);font-size:11px;line-height:16.5px;color:var(--muted);overflow-wrap:anywhere}
.field-comment p {margin:0 0 4px}
.field-comment>:last-child {margin-bottom:0}
.field-guidance {display:block;width:fit-content;margin-top:2px;padding:2px 0;font:11.5px/1.5 var(--sans);color:var(--secondary);text-decoration:underline;text-underline-offset:3px}
.field-guidance:enabled:hover {background:none;color:var(--ink)}
.field-guidance:focus-visible {outline:2px solid var(--ink);outline-offset:2px}
.field-help {display:inline-flex;flex-shrink:0}
.help-trigger {display:inline-grid;place-items:center;width:16px;height:16px;border:1px solid var(--input-line);border-radius:50%;color:var(--secondary);font:700 10px/1 var(--sans);cursor:help}
.field-help:hover .help-trigger,.help-trigger:focus-visible {background:var(--ink);border-color:var(--ink);color:var(--paper)}
.question-help {position:fixed;inset:auto;margin:0;width:max-content;max-width:min(300px,calc(100vw - 24px));max-height:min(320px,calc(100dvh - 24px));overflow:auto;background:var(--paper);color:var(--secondary);border:1px solid var(--input-line);padding:10px 12px;border-radius:8px;box-shadow:var(--shadow-lg);font:12px/17px var(--sans);overflow-wrap:anywhere}
.question-help p {margin:0 0 6px}
.question-help>:last-child {margin-bottom:0}

.field-value {display:grid;gap:6px}
/* Paper Pilot origin: a quiet worded badge to the right of the answer (32px input row), distinct from the required *. */
.field-value:has(>.field-origin:not([hidden])) {grid-template-columns:minmax(0,1fr) auto}
.field-value>:not(.field-origin) {grid-column:1}
.field-value>.field-origin {grid-column:2;grid-row:1;align-self:start;margin-top:6px;padding:1px 7px;border:1px solid rgba(191,116,111,.4);border-radius:5px;background:var(--pink-wash);color:var(--rose);font:600 10.5px/16px var(--sans);white-space:nowrap}
.saved-answer {font-size:12.5px;line-height:18.75px;padding:1px 0;white-space:pre-line;overflow-wrap:anywhere;color:var(--ink)}
.questionnaire-field:is([data-answer-state=saved],[data-answer-state=unsaved],[data-answer-state=error]) :is(.saved-answer,.uploaded-file) {padding:6px 8px;border-radius:4px;background:var(--answer-wash)}
.saved-answer a {color:var(--ink)}
.saved-answer-parts {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:8px 14px;margin:0;white-space:normal}
.saved-answer-parts>div {min-width:0}
.saved-answer-parts dt {font-size:11px;font-weight:600;color:var(--secondary)}
.saved-answer-parts dd {margin:2px 0 0;white-space:pre-line}
.saved-answer-parts+.saved-answer-parts {border-top:1px solid var(--input-line);margin-top:8px;padding-top:8px}
.field-editor {display:grid;gap:6px;min-width:0}
.field-input {margin:0;min-width:0}
.question-input,.questionnaire-field textarea,.questionnaire-field .field-input input,.questionnaire-field .field-input select {width:100%;min-width:0;min-height:32px;padding:6px 9px;background:var(--field);border:1px solid var(--input-line);border-radius:6px;color:var(--ink);font:13px/1.45 var(--sans)}
.questionnaire-field :is(input,textarea,select):focus {outline:0;border-color:var(--ink);box-shadow:0 0 0 3px rgba(212,167,44,.22)}
.questionnaire-field textarea {min-height:64px;resize:vertical}
.questionnaire-field[data-readonly=true] .field-input :is(input,textarea,select) {border-color:transparent!important;background:transparent!important;padding-left:0;color:var(--ink)!important;border-style:solid!important}
.questionnaire-field [role=radiogroup],.questionnaire-field [data-checkbox-group] {display:flex!important;flex-direction:row!important;flex-wrap:wrap;gap:6px!important}
.questionnaire-field :is([role=radiogroup] .option,[data-checkbox-group] label) {display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:4px 12px!important;border:1px solid var(--input-line);border-radius:6px;background:var(--field);font-size:13px;cursor:pointer}
.questionnaire-field :is([role=radiogroup] .option,[data-checkbox-group] label):hover {border-color:var(--ink)}
.questionnaire-field :is([role=radiogroup] .option,[data-checkbox-group] label):has(input:checked) {border-color:var(--ink);background:var(--ink-wash);font-weight:600}
.questionnaire-field:is([data-answer-state=saved],[data-answer-state=unsaved],[data-answer-state=error]) .field-input :is(input:not([type=radio],[type=checkbox],[type=file]),textarea,select),.questionnaire-field:is([data-answer-state=saved],[data-answer-state=unsaved],[data-answer-state=error]) :is([role=radiogroup] .option,[data-checkbox-group] label):has(input:checked) {background:var(--answer-wash)}
.questionnaire-field[data-answer-state=error][data-readonly=true] .field-input :is(input:not([type=radio],[type=checkbox],[type=file]),textarea,select) {background:var(--answer-wash)!important}
.questionnaire-field:is([data-answer-state=saved],[data-answer-state=unsaved],[data-answer-state=error]) .field-input :is(input:not([type=radio],[type=checkbox],[type=file]),textarea,select):disabled {background:var(--answer-wash)!important}
.questionnaire-field :is([role=radiogroup] .option,[data-checkbox-group] label):has(input:disabled) {cursor:not-allowed;border-style:dashed;background:transparent}
.questionnaire-field input[type=radio],.questionnaire-field input[type=checkbox],.submission-ack input,.submission-dialog input {accent-color:var(--ink)}
.questionnaire-field .field-input input:is([type=radio],[type=checkbox]) {width:15px;height:15px;min-height:0;padding:0;flex-shrink:0}
.questionnaire-field [data-address-wrapper] {display:grid;gap:6px!important;container:address / inline-size}
.questionnaire-field [data-address-wrapper]>div {min-width:0}
.questionnaire-field [data-address-wrapper]>div:has([data-address-field=city]) {display:grid!important;grid-template-columns:minmax(0,1.2fr) minmax(0,1.3fr) minmax(0,1fr);gap:6px!important}
.questionnaire-field [data-address-wrapper]>div>div {min-width:0}
.questionnaire-field [data-address-wrapper] label,.company-name-input>label,.salary-input>label,.share-link-row>label,.resource-picker {font-size:11px!important;font-weight:600;color:var(--secondary)!important}
.company-name-input,.salary-input {display:flex;align-items:end;gap:6px;flex-wrap:wrap}
.company-name-input>label:first-child,.salary-input>label:first-child {flex-basis:130px}
.company-name-input>label,.salary-input>label {flex:1 1 100px;display:grid;gap:2px}
.share-link-row {display:flex;align-items:end;gap:6px;flex-wrap:wrap;margin-bottom:6px}
.share-link-row>label {flex:1 1 120px;display:grid;gap:2px}
.share-links-input>.button,.share-link-row>.button {min-height:30px;padding:4px 10px;font-size:12px}
.resource-picker {display:grid;gap:3px}
.resource-picker+.field-description {font-size:11px;color:var(--muted)}
.field-hint {font-size:11px;line-height:16px;color:var(--muted);margin:4px 0 0}
.uploaded-file {margin:0;font-size:12.5px}
.upload-status {font-size:11.5px;line-height:1.5;color:var(--muted);margin:0}
.upload-status[data-unavailable=true] {color:var(--attention-ink)}
.field-value>[data-revert] {justify-self:start;min-height:0;padding:0;border:0;background:transparent;font:500 11px var(--sans);color:var(--secondary);text-decoration:underline;text-underline-offset:3px}
.field-value>[data-revert]:enabled:hover {background:transparent;color:var(--ink)}
.field-value .field-error:not(:empty) {margin:0;padding:2px 0;border:0;border-radius:0;background:transparent;color:var(--answer-alert-ink);font-size:12px}
.field-value .field-error:not(:empty)::before {display:none}

.field-provenance {font-size:11.5px}
.field-provenance>summary {cursor:pointer;color:var(--rose);font-weight:600;text-decoration:underline;text-underline-offset:3px}
/* inline-block keeps the PP mark out of the underline. */
.field-provenance>summary::before {content:'✳';display:inline-block;margin-right:.3em}
.field-provenance[open] {padding:8px 10px;background:var(--pink-wash);border-left:2px solid var(--pink);border-radius:0 4px 4px 0}
.field-provenance p {font-size:12px}
.field-provenance p {font-size:11px;line-height:1.5;margin:5px 0;color:var(--ink)}
.field-provenance a {display:inline-block;font-size:11px;margin-right:8px;color:var(--rose)}

.field-actions {display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px 10px;min-width:0;padding:5px 0}
.field-status {max-width:100%;white-space:normal;color:var(--secondary);background:transparent;padding-inline:0;font-weight:400}
.field-status .loader {width:14px;flex-shrink:0}
.field-status::before {content:'';width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
.field-status:has(.loader:not([hidden]))::before {display:none}
[data-answer-state=saved] .field-status::before {background:var(--success-ink)}
:is([data-answer-state=unsaved],[data-answer-state=error]) .field-status::before {background:var(--answer-alert-ink)}
[data-answer-state=empty][data-required=true] .field-status::before {background:var(--attention-ink)}
[data-answer-state=empty]:is([data-required=false],[data-readonly=true],[data-questionnaire-state=submitted]) .field-status {color:var(--muted)}
[data-answer-state=empty]:is([data-required=false],[data-readonly=true],[data-questionnaire-state=submitted]) .field-status::before {display:none}
[data-answer-state=suggested] .field-status::before {content:'✦';width:auto;height:auto;background:none;color:var(--rose);font-size:10px}
.field-actions [data-confirm] {min-height:23.5px;padding:3px 9px;border-radius:4px;font:600 11.5px/1.4 var(--sans);border:1px solid var(--success-ink);color:var(--success-ink);background:var(--paper)}
.field-actions [data-confirm]:enabled:hover {background:var(--success-ink);color:var(--paper);border-color:var(--success-ink)}
.field-actions [data-confirm]:disabled {color:var(--muted);border:1px dashed var(--rule);background:transparent}
.button.field-edit {min-height:0;padding:0;border:0;background:transparent;font:500 11px/1.4 var(--sans);color:var(--secondary);text-decoration:underline;text-underline-offset:3px}
.button.field-edit:enabled:hover {background:transparent;color:var(--ink);border:0}
.button.field-edit:disabled {background:transparent;border:0;color:var(--muted);text-decoration-style:dotted}

@container resource (max-width:640px) {
  .questionnaire-field {grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"heading actions" "value value";gap:2px 10px;padding:12px 12px 12px 16px}
}
@container resource (max-width:420px) {
  /* Header actions stay beside the title's first line instead of taking their own row. */
  .resource-header {align-items:flex-start}
  .resource-toggle {grid-template-columns:14px minmax(0,1fr);row-gap:4px}
  .resource-toggle .resource-progress {grid-column:2;justify-content:start}
  .resource-toggle .resource-state-label {text-align:left}
  .resource-header>:is(.resource-actions,.resource-remove-icon,.resource-add-icon) {margin-top:8px}
  .questionnaire-field [data-address-wrapper]>div:has([data-address-field=city]) {grid-template-columns:1fr 1fr}
  .questionnaire-field [data-address-wrapper]>div>div:has([data-address-field=city]) {grid-column:1/-1}
}
@container address (max-width:330px) {
  .questionnaire-field [data-address-wrapper]>div:has([data-address-field=city]) {grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}
  .questionnaire-field [data-address-wrapper]>div>div:has([data-address-field=city]) {grid-column:1/-1}
}
@container address (max-width:220px) {
  .questionnaire-field [data-address-wrapper]>div:has([data-address-field=city]) {grid-template-columns:minmax(0,1fr)}
}

/* Panel footer */
.questionnaire-footer {display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;padding-top:16px;border-top:1px solid var(--rule)}
.questionnaire-footer>.button {white-space:normal;text-align:center}
.questionnaire-footer>.button.primary:disabled {opacity:1;background:var(--paper);border:1px dashed var(--gold-deep);color:var(--gold-ink)}
.questionnaire-footer>.button.primary:disabled::before {content:'🔒';font-size:11px}
.work-actions .ai-action {background:var(--paper);border-color:var(--pink);color:var(--rose)}
.work-actions .ai-action::before {content:'✳';font-size:15px;line-height:1;color:var(--pink)}
.work-actions .ai-action:enabled:hover {background:var(--pink-wash);border-color:var(--rose)}
.work-actions .ai-action:disabled {background:transparent;border:1px dashed var(--rose);color:var(--muted)}
.questionnaire-footer small {font-size:12.5px;color:var(--muted)}
.questionnaire-state {margin:0;font:600 12px/1.4 var(--sans);color:var(--ink)}
.questionnaire-state[data-state=blocked] {color:var(--attention-ink)}
.questionnaire-state:is([data-state=ready],[data-state=submitted]) {color:var(--success-ink)}
.recent-work {margin:0;font-size:11.5px;color:var(--muted)}

/* Rail cards */
.rail-card {border:1px solid var(--rule);border-radius:10px;background:var(--paper);min-width:0}
.rail-card-head {display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:15px 18px;border-bottom:1px solid var(--line)}
.rail-card-head h3 {margin:0;font:650 14px/1.4 var(--sans)}
.rail-card-head small {font-size:12.5px;color:var(--muted)}

/* Connected milestones keep readable widths and scroll within narrow Work panes. */
.transaction-progress {display:flex;align-items:flex-start;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:12px 0 24px;scrollbar-width:thin}
#work-panel .transaction-progress .button {position:relative;flex:1 0 150px;min-width:150px;scroll-snap-align:center;display:grid;grid-template-rows:38px auto;gap:0;justify-items:center;align-items:start;padding:0 6px;border:0;border-radius:0;background:none;white-space:normal;text-align:center;font:inherit}
#work-panel .transaction-progress .button:enabled:hover {background:none}
#work-panel .transaction-progress .button:enabled .step-title {text-decoration:underline;text-underline-offset:3px}
#work-panel .transaction-progress .button:not(:last-child)::after {content:'';position:absolute;top:17.5px;left:50%;right:-50%;height:3px;background:var(--pink)}
.transaction-progress .step-number {position:relative;z-index:1;grid-row:1;align-self:center;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:2px solid var(--input-line);border-radius:50%;background:var(--paper);color:var(--secondary);font:700 12px/1 var(--sans)}
.transaction-progress .is-submitted .step-number {border-color:var(--eggplant-line);color:var(--eggplant-line)}
.transaction-progress .is-completed .step-number {background:var(--success-ink);border-color:var(--success-ink);color:var(--paper)}
.transaction-progress [aria-current=step] .step-number {outline:2px solid var(--gold-ink);outline-offset:3px}
.transaction-progress .step-title {grid-row:2;margin-top:6px;font:600 13px/1.3 var(--sans);color:var(--ink)}
.transaction-progress .step-status {margin-top:5px;font:500 11px/1.4 var(--sans);color:var(--eggplant-line)}
.transaction-progress .is-completed .step-status {color:var(--secondary)}
.transaction-progress .step-prerequisite {display:flex;align-items:center;justify-content:center;gap:4px;margin-top:5px;font:500 11px/1.4 var(--sans);color:var(--eggplant-line)}
.transaction-progress .step-prerequisite svg {flex-shrink:0}
.transaction-progress .button:not(.is-submitted):not(.is-completed):not([aria-current=step]) .step-title {color:var(--secondary)}
#work-panel .transaction-progress .button:active {transform:none}
#work-panel .transaction-progress .button:focus-visible {outline-offset:4px}
/* Sections outline (also used by the admin prompt outline) */
.outline-list {padding:8px 10px 12px}
.outline-resource {margin:0 0 2px}
.questionnaire-outline .outline-resource:not([hidden])~.outline-resource:not([hidden]) {border-top:1px dotted var(--input-line);margin-top:5px;padding-top:5px}
.outline-resource-toggle {padding:7px 8px;font-size:12.5px;gap:6px;border-radius:4px}
.outline-resource-toggle:enabled:hover {background:var(--hover)}
.outline-resource-toggle[aria-current] {color:var(--ink)}
.outline-resource-toggle .resource-count {font-size:11px}
.outline-resource[data-resource-state] .resource-count {display:block}
.outline-resource[data-resource-state] .resource-count-label {display:none}
.outline-resource .resource-name {font-size:12.5px;line-height:18px}
.outline-resource .resource-state-label {font-size:10.8px}
.outline-resource [data-answer-state=saved] .outline-field-mark {color:var(--success-ink)}
.outline-resource [data-answer-state=suggested] .outline-field-mark {color:var(--rose)}
.outline-resource [data-answer-state=empty][data-required=true]:not([data-readonly=true],[data-questionnaire-state=submitted]) .outline-field-mark {color:var(--attention-ink)}
.outline-resource :is([data-answer-state=unsaved],[data-answer-state=error]) .outline-field-mark {color:var(--answer-alert-ink)}
.outline-fields {margin:2px 0 8px 14px;border-left:1px solid var(--rule)}
.outline-field {display:grid;grid-template-columns:12px minmax(0,1fr);gap:1px 7px;width:100%;text-align:left;border:0;border-left:2px solid transparent;margin-left:-1px;padding:5px 6px 5px 10px;background:transparent;color:var(--secondary);font:12px/1.45 var(--sans);cursor:pointer;overflow-wrap:anywhere}
.outline-field small {grid-column:2;font-size:11px;color:var(--muted)}
.outline-field[aria-current] {border-left-color:var(--gold);color:var(--ink);font-weight:600}
.outline-field-mark {color:var(--ink);font-size:11px}
.resource-toggle:focus-visible,.outline-resource-toggle:focus-visible,.outline-field:focus-visible,.outline-toggle:focus-visible {outline:2px solid var(--ink);outline-offset:-2px;border-radius:4px}
/* Outline links (Work and Admin) underline only their names; marks, counts and Optional stay plain. */
.outline-resource-toggle:enabled :is(.resource-name,.resource-identity:not(:has(.resource-name))>.resource-title),
.outline-resource-toggle:enabled>.resource-title,.outline-field:enabled>span:nth-child(2),.outline-summary-text {text-decoration:underline;text-underline-offset:3px}
/* Sections and questions: a quiet line while collapsed (label + summary); a card once opened. */
.questionnaire-outline {display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:10px}
.questionnaire-outline:not(.is-open) {border-color:transparent;background:transparent}
.outline-icon {display:none}
.outline-toggle {display:flex;align-items:center;gap:8px;padding:6px 8px;border:0;border-radius:4px;background:#f1eaf0;font:600 13px var(--sans);color:var(--eggplant-line)}
.outline-toggle::before {content:'›';width:12px;font-size:17px;line-height:1;color:currentColor;transition:transform .15s}
.outline-toggle[aria-expanded=true]::before {transform:rotate(90deg)}
.questionnaire-outline.is-open .outline-toggle {margin:6px 0 6px 8px}
.outline-toggle:enabled:hover {background:color-mix(in srgb,#f1eaf0 85%,var(--eggplant-line));text-decoration:underline;text-underline-offset:3px}
.outline-summary {display:flex;align-items:center;gap:10px;min-width:0;cursor:pointer;font:500 13px/1.3 var(--sans);color:var(--secondary)}
.outline-summary-text {overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.questionnaire-outline .outline-list {grid-column:1/-1;display:none;border-top:1px solid var(--line);max-height:40dvh;overflow:auto}
.questionnaire-outline.is-open .outline-list {display:block}
/* Sections index: a plain list (state mark, kind over name, count) so it can't be mistaken for the section cards. */
.questionnaire-layout {display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start;min-width:0}
.outline-resource[data-resource-state]>.outline-resource-toggle {border-left:0;background:none;padding:6px 8px;border-radius:5px}
.outline-resource[data-resource-state]>.outline-resource-toggle:enabled:hover {background:var(--hover)}
.outline-resource-toggle>.resource-chevron {font-size:0;transform:none!important;text-align:center}
.outline-resource-toggle>.resource-chevron::before {content:'○';font:700 12px/1 var(--sans);color:var(--resource-ink,var(--muted))}
.outline-resource:is([data-resource-state=saved],[data-resource-state=submitted]) .resource-chevron::before {content:'✓'}
.outline-resource[data-resource-state=error] .resource-chevron::before {content:'!'}
.outline-resource-toggle {align-items:baseline}
.outline-resource .resource-identity>.resource-title {font:500 11px/1.3 var(--sans);color:var(--muted)}
.outline-resource .resource-identity>.resource-name {font:600 13px/1.35 var(--sans);color:var(--ink)}
.outline-resource .resource-state-label,.outline-resource .resource-count-label {display:none}
.outline-resource .resource-count {font:600 11.5px/1 var(--sans);color:var(--resource-ink,var(--muted))}
/* Wide Work pane: the index is a column beside the sections that collapses sideways to a slim tab. */
@container work (width >= 900px) {
  .questionnaire-layout {grid-template-columns:34px minmax(0,1fr);gap:0 16px;transition:grid-template-columns .22s cubic-bezier(.2,.8,.2,1)}
  .questionnaire-layout:has(>.questionnaire-outline.is-open) {grid-template-columns:240px minmax(0,1fr)}
  .questionnaire-outline,.questionnaire-outline:not(.is-open) {display:block;position:sticky;top:12px;max-height:calc(100dvh - 160px);overflow:auto;padding:0;border:0;border-right:1px solid var(--line);border-radius:0;background:transparent}
  .questionnaire-outline.is-open {padding-right:10px}
  .questionnaire-outline .outline-list {max-height:none;overflow:visible;padding:2px 0 0;border-top:0}
  .outline-summary {display:none}
  .outline-toggle,.questionnaire-outline.is-open .outline-toggle {width:fit-content;max-width:100%;margin:0 0 6px;padding:5px 6px;font:600 10.8px/1.3 var(--sans);letter-spacing:.04em;text-transform:uppercase}
  .outline-toggle::before {display:none}
  .questionnaire-outline:not(.is-open) .outline-toggle {display:grid;place-items:center;width:30px;height:30px;padding:0}
  .questionnaire-outline:not(.is-open) .outline-label {display:none}
  .outline-icon {display:block;flex-shrink:0}
  .questionnaire-outline .outline-toggle:enabled:hover {text-decoration:none}
}

/* Tasks and documents */
/* Slate task tiles distinguish task progress from the warm questionnaire surface. */
.task-panel {--task-line:#bcc4d1;--task-tray:#f1f1ec;border:1px solid var(--task-line);border-radius:12px;background:var(--task-tray);box-shadow:var(--shadow-sm);min-width:0;overflow:hidden}
.questionnaire-panel+.task-panel {margin-top:24px}
.task-panel>:is(p,.task-unlinked-documents) {background:var(--paper)}
.task-panel-heading {padding:18px 14px 2px}
.task-panel-heading h3 {margin:0;font:400 20px/1.25 var(--serif);color:var(--strong)}
.task-panel>p {margin:0;padding:10px 22px;font-size:12.5px;color:var(--secondary);border-bottom:1px solid var(--line)}
.task-panel>p:last-child {border-bottom:0}
.task-list {display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:12px;padding:12px 14px}
@container work (width >= 800px) {.task-list {grid-template-columns:repeat(2,minmax(0,1fr))}}
.task-status-card {display:grid;gap:4px;min-width:0;padding:16px 18px;border:1px solid var(--task-line);border-radius:8px;background:var(--paper);overflow-wrap:anywhere}
/* Header (type, title, status) sits tight; every later group starts a fact-step below it. */
.task-status-card>:not(.task-type,.task-title,.task-state) {margin-top:10px}
.task-status-card>.task-state {margin-top:4px}
.task-status-card:where(:not([data-task-type=Document],[data-task-type=Filing],[data-task-type=Outside])) {border-color:var(--rule)}
.task-type {justify-self:start;font:600 10px/1.5 var(--sans);color:var(--eggplant-line);background:#f1eaf0;border-radius:4px;padding:2px 6px}
.task-title {display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.task-title>strong {font:650 15px/21px var(--sans);color:var(--strong)}
.task-title>a {font-size:12.5px;white-space:nowrap}
.task-status-card>p {margin:0;font-size:12.5px;color:var(--secondary)}
.task-status-card:is([data-task-state=failed],[data-task-state=error]) {background:var(--error-wash);border-color:var(--error-line)}
.task-state {justify-self:start}
[data-task-state=completed]>.task-state {color:var(--success-ink);background:var(--success-wash)}
[data-task-state=completed]>.task-state::before {content:'✓';width:auto;height:auto;background:none;font-weight:800}
[data-task-state=processing]>.task-state {color:var(--attention-ink);background:var(--attention-wash)}
:is([data-task-state=upcoming],[data-task-state=pending],[data-task-state=bypassed],[data-task-state=unknown])>.task-state {color:var(--muted);background:transparent;box-shadow:inset 0 0 0 1px var(--rule)}
.task-panel :is([data-task-state=upcoming],[data-task-state=pending],[data-task-state=bypassed],[data-task-state=unknown])>.task-state {color:#5d6579}
:is([data-task-state=upcoming],[data-task-state=pending])>.task-state::before {background:transparent;box-shadow:inset 0 0 0 1.5px currentColor}
:is([data-task-state=failed],[data-task-state=error])>.task-state {color:var(--error-ink);background:var(--error-wash)}
[data-task-state=blocked]>.task-state {color:var(--attention-ink);background:var(--attention-wash)}
.task-panel>.button {margin:14px 22px;max-width:calc(100% - 44px);white-space:normal;text-align:left}
.task-history,.task-notes {font-size:12.5px;border-top:1px solid var(--rule);padding-top:12px;margin-top:4px}
.task-notes>summary {cursor:pointer;display:flex;align-items:center;gap:7px;color:var(--ink);font-weight:600}
.task-notes>summary::after {content:'+';margin-left:auto;color:var(--muted)}
.task-notes[open]>summary::after {content:'−'}
/* Activity disclosures are pressable controls with a visible open/closed cue. */
:is(.task-history,.task-history-prior)>summary {display:flex;align-items:flex-start;gap:8px;width:fit-content;max-width:100%;min-height:28px;padding:5px 12px 5px 10px;border:1px solid var(--eggplant-line);border-radius:999px;background:var(--eggplant-line);color:var(--paper);font:600 12px/16px var(--sans);cursor:pointer}
.task-history>summary {margin-inline:auto;min-height:0;padding:0;border:0;background:none;color:var(--eggplant-line);text-decoration:underline;text-underline-offset:3px}
.task-history-prior>summary::before {content:'';flex:none;width:6px;height:6px;margin:5px 1px 0;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(-45deg);transition:transform .15s}
.task-history-prior[open]>summary::before {transform:translateY(-2px) rotate(45deg)}
.task-history ol {list-style:none;padding:0;margin:10px 0 4px;display:grid;gap:10px}
.task-history li {display:grid;grid-template-columns:14px minmax(0,1fr);column-gap:8px;align-items:start}
.task-event-body {display:grid;gap:2px;min-width:0;overflow-wrap:anywhere}
.task-event-icon {display:flex;align-items:center;justify-content:center;height:1lh;font-size:12.5px;color:var(--eggplant-line)}
.task-event-icon svg {width:14px;height:14px;display:block}
.task-event-dot::before {content:'';width:5px;height:5px;border-radius:50%;background:var(--muted)}
.task-history li:is([data-icon=check],[data-icon=check-circle]) .task-event-icon {color:var(--success-ink)}
.task-history li[data-icon=history] .task-event-icon {color:var(--attention-ink)}
.task-history li[data-icon=hourglass] .task-event-icon {color:var(--secondary)}
.task-history strong,.task-note strong {font-size:12.5px;font-weight:600}
.task-history time,.task-note time,.task-note header small {color:var(--muted);font-size:12px}
.task-history p,.task-note p {margin:0;font-size:12.5px;color:var(--secondary);white-space:pre-wrap}
/* Earlier runs of a reopened task sit apart and quieter, so they never read as the current status. */
.task-history-label {margin:12px 0 0;color:var(--muted)}
.task-history-prior {margin-top:12px;padding-top:8px;border-top:1px dashed var(--rule)}
.task-history-prior>summary {border-color:rgba(122,79,114,.45);background:transparent;color:var(--eggplant-line);font-weight:500}
.task-history-prior>summary:hover,.task-history-prior[open]>summary {border-color:var(--eggplant-line);background:rgba(122,79,114,.08)}
.task-history-prior li :is(strong,p) {color:var(--muted)}
.task-note {margin-top:8px;padding:10px 12px;border-radius:8px;border:1px solid var(--line);background:var(--surface);overflow-wrap:anywhere}
.task-note header {display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:4px}
.task-unlinked-documents {display:grid;gap:8px;padding:14px 22px;border-top:1px solid var(--line)}
.task-unlinked-documents h4 {margin:0;font:600 14px var(--sans)}
.task-unlinked-documents>p {margin:0;font-size:12px;color:var(--secondary)}

.document-status {container:document / inline-size;display:grid;gap:4px;padding:12px 0 0;margin-top:4px;border-top:1px solid var(--rule);font-size:12.5px;overflow-wrap:anywhere}
.document-status>strong {font:600 13.5px/20px var(--sans)}
.document-status>p {margin:0;font-size:12px;color:var(--secondary)}
.document-state {justify-self:start}
.document-status[data-document-state="document.completed"] .document-state {color:var(--success-ink);background:var(--success-wash)}
.document-status[data-document-state="document.completed"] .document-state::before {content:'✓';width:auto;height:auto;background:none;font-weight:800}
.document-status:is([data-document-state="document.error"],[data-document-state="document.declined"],[data-document-state="document.rejected"]) .document-state {color:var(--error-ink);background:var(--error-wash)}
.document-status:is([data-document-state="document.waiting_pay"],[data-document-state="document.expired"],[data-document-state="document.sent"],[data-document-state="document.viewed"]) .document-state {color:var(--attention-ink);background:var(--attention-wash)}
/* Recipients are ruled rows flush with the document name, not a box inside the tile. */
.document-recipients {list-style:none;padding:0;margin:8px 0 0;display:grid}
.document-recipients>li {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 14px;align-items:start;padding:10px 0;border-top:1px solid var(--line)}
.document-recipients>li:last-child {padding-bottom:0}
.recipient-identity strong {font-size:13px;font-weight:600}
.recipient-identity small,.recipient-status small {display:block;font-size:11.5px;color:var(--secondary);overflow-wrap:anywhere}
.recipient-status {text-align:right}
.recipient-email-state {flex-basis:100%;font-size:11.5px;color:var(--secondary)}
.recipient-email-state[data-state=not_requested] {color:var(--gold-ink);font-weight:600}
.recipient-actions {grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.recipient-actions .button {min-height:28px;padding:4px 10px;font-size:12px}
@container document (max-width:340px) {
  .document-recipients>li {grid-template-columns:minmax(0,1fr)}
  .recipient-status {text-align:left}
  .recipient-actions .button {white-space:normal;text-align:center}
}
.chat-document-links {margin-top:12px;padding:12px 14px;border:1px solid var(--rule);border-radius:10px;background:var(--paper);box-shadow:var(--shadow-sm)}
.chat-document-links .document-status {border-top:0;margin:0;padding:0}
.chat-document-links>p {font-size:12px;line-height:1.6;margin:8px 0 0}

/* ---------- Dialogs ---------- */
/* Learn's action dialog: strong edge, 12px radius, large soft lift, display serif heading. */
dialog {background:var(--paper);color:var(--ink);border:1px solid var(--input-line);border-radius:12px;max-width:600px;width:calc(100% - 32px);max-height:85dvh;padding:22px 24px;box-shadow:var(--shadow-lg)}
dialog::backdrop {background:rgba(26,26,26,.42);backdrop-filter:blur(2px)}
dialog header {display:flex;justify-content:space-between;align-items:center;gap:16px}
dialog h2 {font:400 26px/1.15 var(--serif);letter-spacing:-.01em;color:var(--strong);margin:0}
dialog button:focus-visible {outline-offset:-2px}
.confirm-dialog {max-width:440px}
.confirm-dialog h2 {margin-bottom:6px}
.confirm-dialog p {margin:0 0 18px;color:var(--secondary);font-size:13.5px}
.confirm-dialog-actions {display:flex;justify-content:flex-end;gap:8px}
#close-dialog,#close-feedback {width:34px;height:34px;border-radius:7px;font-size:20px;line-height:1;border:1px solid var(--rule)}
#activity-dialog header {padding-bottom:14px;border-bottom:1px solid var(--seam)}
#activity-list {font-size:13px;color:var(--secondary)}
.activity-entry {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 16px;align-items:center;padding:11px 2px;border-top:1px solid var(--line);font-size:12.5px}
.activity-entry:first-child {border-top:0}
.activity-entry time {grid-column:1/-1;font-size:12.5px;color:var(--muted)}
.activity-record {grid-column:1/-1;margin-top:4px}
.activity-record summary {cursor:pointer;margin-bottom:6px;font-size:12px}
.activity-entry strong {font:650 14px/1.4 var(--sans);color:var(--ink);overflow-wrap:anywhere}
.activity-entry span {display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:3px;font:600 11px/1.5 var(--sans);color:var(--ink);background:var(--ink-wash)}
.activity-entry span::before {content:'';width:6px;height:6px;border-radius:50%;background:currentColor}
.activity-entry[data-state=failed] span {color:var(--error-ink);background:var(--error-wash)}
.activity-entry[data-state=awaiting_approval] span {color:var(--attention-ink);background:var(--attention-wash)}
.activity-entry[data-state=complete] span {font-weight:500;color:var(--muted);background:transparent}
.activity-entry[data-state=complete] span::before {background:var(--success-ink)}
.activity-entry[data-state=running] span {color:var(--attention-ink);background:transparent;box-shadow:inset 0 0 0 1px var(--attention-line)}
.activity-entry[data-state=unrecorded] span {color:var(--muted);background:transparent;box-shadow:inset 0 0 0 1px var(--line)}

.submission-dialog {max-width:760px;padding:0;max-height:90dvh;overflow:hidden}
.submission-dialog[open] {display:flex;flex-direction:column}
.submission-dialog>header {padding:18px 24px 16px;border-bottom:1px solid var(--seam);flex-shrink:0}
.submission-content {overflow:auto;min-height:0;padding:18px 24px}
.submission-content h3 {font:600 11px/16px var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:28px 0 8px}
.submission-content h3:first-child {margin-top:0}
.submission-content h4 {font:650 13.5px var(--sans);margin:10px 0 6px;color:var(--ink)}
.submission-answers,.submission-costs {display:grid;margin:0 0 14px;border:1px solid var(--rule);border-radius:9px;font-size:12.5px}
.submission-answers {grid-template-columns:minmax(130px,.75fr) minmax(0,1.5fr)}
.submission-costs {grid-template-columns:minmax(0,1fr) auto}
.submission-answers :is(dt,dd),.submission-costs :is(dt,dd) {margin:0;padding:8px 12px;border-top:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere}
.submission-answers :is(dt,dd):nth-child(-n+2),.submission-costs :is(dt,dd):nth-child(-n+2) {border-top:0}
.submission-answers dt {font-weight:600;color:var(--ink)}
.submission-answers dd {color:var(--ink)}
.submission-costs dt {color:var(--ink)}
.submission-costs dd {text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.submission-costs small {display:block;font-size:12px;line-height:1.5;color:var(--muted);font-weight:400;margin-top:2px}
.submission-content>p {font-size:13px;color:var(--secondary)}
.submission-content>a {font-size:12.5px}
/* Each set of choices is an editable region: Learn's seam outline, label inside the edge. */
.document-options {border:1px solid var(--seam);border-radius:9px;padding:12px 14px 14px;margin:14px 0;font-size:13px}
.document-options legend {font:600 13px var(--sans);padding:0 6px;color:var(--ink)}
.document-options label {display:inline-flex;align-items:center;gap:6px;margin:4px 18px 4px 0;cursor:pointer}
.document-options p {color:var(--muted);font-size:12px;line-height:1.5;margin:4px 0 0}
.document-generation {display:flex;align-items:center;gap:6px;font-size:13px;margin:8px 0}
.submission-next {display:block;margin:14px 0;padding:12px 14px;border-radius:9px;background:var(--surface);font-size:12.5px;color:var(--secondary);line-height:1.55}
.submission-next strong {display:block;margin-bottom:2px;color:var(--ink)}
.submission-footer {padding:14px 24px 16px;border-top:1px solid var(--rule);background:var(--paper);flex-shrink:0}
.submission-footer .submission-ack {display:flex;gap:8px;align-items:flex-start;margin:0 0 10px;font-size:13px}
.submission-footer .choice-list {justify-content:flex-end;margin:0}
.submission-footer>.work-error:not(:empty) {max-height:18dvh;overflow:auto;margin:0 0 10px;font-size:12px}
.submission-footer>.submission-checks {max-height:24dvh;overflow:auto;margin:0 0 10px}
.submission-paused {margin:0 0 8px;font-size:12px;color:var(--attention-ink)}
/* Shared fee breakdown for submission reviews and task cards. */
.fee-breakdown {display:grid;gap:4px;min-width:0}
.fee-breakdown h4 {margin:8px 0 0;font:600 12px/1.5 var(--sans);color:var(--secondary)}
.fee-breakdown h4:first-child {margin-top:0}
.fee-lines {display:grid;grid-template-columns:minmax(0,1fr) fit-content(55%);margin:0;font-size:12.5px}
.fee-lines :is(dt,dd) {margin:0;padding:7px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}
.fee-lines :is(dt,dd):nth-child(-n+2) {border-top:0}
.fee-lines dt {color:var(--ink)}
.fee-lines dt small {display:block;font-size:12px;line-height:1.5;color:var(--muted)}
.fee-lines dd {padding-left:16px;text-align:right}
.fee-amount {font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink)}
.fee-status {display:block;font-size:11.5px;line-height:1.5;color:var(--muted)}
.fee-status[data-status=paid] {color:var(--success-ink)}
.fee-total {display:flex;justify-content:space-between;gap:16px;margin:0;padding-top:8px;border-top:1px solid var(--rule);font-size:13px;color:var(--ink)}
.fee-total strong {min-width:0;text-align:right;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.fee-amount[data-text] {font-weight:400;color:var(--secondary)}
.fee-note {margin:0;font-size:12px;line-height:1.5;color:var(--muted)}
.submission-content .fee-breakdown {margin:0 0 14px;padding:10px 12px;border:1px solid var(--rule);border-radius:9px}

/* ---------- Workspace entry ---------- */
.workspace-chooser {flex:1;overflow:auto;padding:36px clamp(24px,4vw,64px);outline-offset:-4px}
.workspace-chooser>* {max-width:1060px;margin-left:auto;margin-right:auto}
.loading-workspaces .workspace-chooser>:not(.existing-workspaces),.loading-workspaces .existing-workspaces>:not(#workspace-list-status) {display:none}
.loading-workspaces .existing-workspaces {border:0;margin-top:0;padding-top:0}
.workspace-chooser h1 {font:400 40px/1.05 var(--serif);letter-spacing:-.02em;color:var(--strong);margin:10px auto 14px}
.workspace-chooser .lead {font-size:15px;line-height:1.6;margin-bottom:6px}
.chooser-context {font-size:13px;color:var(--muted);margin-bottom:28px}
.signed-out .workspace-chooser {display:flex;flex-direction:column;justify-content:center;text-align:center}
.signed-out .workspace-chooser>.lead,.signed-out .chooser-context,.signed-out .new-workspace,.signed-out .existing-workspaces {display:none}
#sign-in-panel .lead {margin-inline:auto}
#sign-in-panel .button {min-height:44px;padding:10px 24px;margin-top:12px;font-size:14.5px}
.new-workspace {display:flex;align-items:center;justify-content:space-between;gap:28px;padding:20px 22px;border:1px solid var(--rule);border-radius:12px;background:var(--paper);box-shadow:var(--shadow-sm);margin-bottom:36px}
.new-workspace h2 {font:650 15px/1.4 var(--sans);margin:0 0 4px;color:var(--strong)}
.new-workspace p {font-size:13px;color:var(--secondary);margin:0;max-width:560px}
.new-workspace .button {flex-shrink:0}
/* Learn's section heading: heading left, a quiet machine count right. */
.workspace-list-heading {display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:14px}
.workspace-list-heading h2 {font:600 18px/1.3 var(--sans);color:var(--strong);margin:0}
#workspace-count {font:500 11px/1.4 var(--mono);color:var(--muted);white-space:nowrap}
#workspace-list-status,#workspace-search-empty {font-size:13.5px;color:var(--muted)}
#workspace-list-status:empty {display:none}
/* Learn's Manage console: one warm, tan-edged surface with the search bar over thin-ruled rows. */
.workspace-console {border:1px solid var(--rule);border-radius:12px;background:var(--paper);box-shadow:var(--shadow-sm);overflow:hidden}
.workspace-console:not(:has([data-workspace])) {display:none}
.workspace-search {position:relative;padding:12px 14px;border-bottom:1px solid var(--line)}
.workspace-search svg {position:absolute;left:26px;top:23px;width:16px;height:16px;color:var(--muted);pointer-events:none}
.workspace-search input {width:100%;min-width:0;height:38px;padding:7px 12px 7px 36px;border:1px solid var(--input-line);border-radius:7px;background:var(--field);color:var(--ink);font:13.5px var(--sans);transition:border-color .15s,box-shadow .15s,background .15s}
.workspace-search input:focus {outline:0;border-color:var(--gold);background:var(--paper);box-shadow:0 0 0 3px rgba(212,167,44,.22)}
.workspace-search input::placeholder {color:var(--muted)}
.workspace-search input::-webkit-search-cancel-button {filter:grayscale(1)}
#workspace-search-empty {margin:0;padding:16px 18px}
/* Name-only rows in reading order; long names wrap at full size. */
.workspace-list {display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));column-gap:28px;padding:0 18px;margin-top:-1px}
.workspace-row {display:flex;align-items:baseline;justify-content:space-between;gap:14px;min-height:46px;padding:12px 2px;border-top:1px solid var(--line);border-radius:0;text-align:left}
.workspace-row:enabled:hover {background:transparent}
.workspace-row strong {font:650 14px/1.4 var(--sans);color:var(--ink);overflow-wrap:anywhere;transition:color .15s}
.workspace-row:enabled:hover strong {color:var(--gold-ink)}
.workspace-row:disabled strong {color:var(--muted)}
.workspace-row:focus-visible {outline-offset:-2px;border-radius:4px}
.workspace-arrow {flex:none;color:var(--muted);transition:color .15s,transform .15s}
.workspace-row:enabled:hover .workspace-arrow {color:var(--gold-ink);transform:translateX(3px)}

/* ---------- Collapsed sidebar and header density ---------- */
.documents-view {flex:1;min-height:0;overflow:auto;padding:32px clamp(20px,4vw,64px);outline-offset:-4px;container:documents / inline-size}
.documents-content {max-width:1060px;margin:0 auto;padding-bottom:32px}
.documents-section-heading {display:flex;align-items:start;justify-content:space-between;gap:20px}
.documents-heading h1 {font:400 40px/1.1 var(--serif);letter-spacing:-.02em;color:var(--strong);margin:0}
.documents-section-heading p {color:var(--secondary);max-width:70ch;margin:0}
.documents-section-heading>.button {flex-shrink:0}
.documents-section {margin-top:32px}
.documents-section-heading {padding-bottom:16px;border-bottom:1px solid var(--rule)}
.documents-section h2 {font:650 18px/1.4 var(--sans);color:var(--strong);margin:0 0 5px}
.documents-section-heading p {font-size:13px}
.documents-empty {font-size:13px;color:var(--secondary);padding:20px 0;margin:0}
.source-actions {display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
#source-wait {flex:0 0 100%;margin:0;font-size:12px;text-align:right;color:var(--secondary)}
#source-saved {font-size:13px;color:var(--secondary);padding-top:14px;margin:0}
#source-saved:empty {display:none}
.source-form {margin:20px 0;border:1px solid var(--seam);border-radius:12px;background:var(--paper);padding:18px 22px}
.source-form fieldset {padding:0;margin:0;border:0;min-width:0}
.source-form legend {font-weight:650;padding:0;margin-bottom:14px}
.source-form label {display:grid;gap:6px;margin-bottom:16px;font-size:13px;font-weight:600}
.source-form .source-mode {display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px;margin-bottom:16px;border:1px solid var(--input-line);border-radius:7px;background:var(--field)}
.source-form .source-mode label {position:relative;display:block;margin:0;padding:6px 10px;border-radius:5px;text-align:center;font-weight:500;color:var(--secondary);cursor:pointer}
.source-form .source-mode input {position:absolute;inset:0;margin:0;opacity:0;cursor:inherit}
.source-form .source-mode label:has(input:checked) {background:var(--paper);color:var(--ink);font-weight:600;box-shadow:var(--shadow-sm)}
.source-form .source-mode label:has(input:focus-visible) {outline:2px solid var(--gold-ink);outline-offset:2px}
.source-form .source-mode label:has(input:disabled) {color:var(--muted);cursor:not-allowed}
.source-optional,.source-form small {font-weight:400;color:var(--secondary);font-size:12px}
.source-form :is(input:not([type=file],[type=radio]),textarea,select),#source-search {width:100%;min-width:0;padding:9px 11px;border:1px solid var(--input-line);border-radius:7px;background:var(--field);font:400 13.5px/1.5 var(--sans);caret-color:var(--ink)}
.source-form textarea {resize:vertical;min-height:90px}
.source-form :is(input,textarea)::placeholder,#source-search::placeholder {color:var(--secondary)}
.source-form :is(input,textarea,select):focus-visible,#source-search:focus-visible {outline-color:var(--gold-ink);outline-offset:2px}
.source-row {border-bottom:1px solid var(--rule)}
.source-summary {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;cursor:pointer}
.source-summary:hover .source-identity strong {text-decoration:underline;text-underline-offset:3px}
.source-identity {display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}
.source-identity strong {font-size:14px;font-weight:600}
.source-identity small {font-size:12px;color:var(--secondary)}
.source-expand {font-size:12px;color:var(--secondary)}
.source-expand::after {content:'';display:inline-block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:0 4px 3px 9px}
.source-row[open] .source-expand::after {transform:rotate(225deg);margin-bottom:0}
.source-content {padding:0 0 20px}
.document-file-actions {display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.document-preview {margin-top:14px}
.document-preview>button {margin-bottom:10px}
.document-preview iframe {display:block;width:100%;height:min(65vh,640px);min-height:320px;border:1px solid var(--rule);border-radius:7px;background:var(--paper)}
#generated-documents>.document-status {padding:18px 0;margin:0}
#generated-documents>.document-status:first-child {border-top:0}
#generated-documents .document-origin {margin-top:8px;color:var(--secondary);font-size:12px}
@container documents (max-width:520px) {
  .documents-section-heading {flex-wrap:wrap;gap:12px}
  .documents-heading h1 {font-size:34px}
  .source-form {padding:16px}
  .source-actions {justify-content:flex-start}
  #source-wait {text-align:left}
}
.sidebar-collapsed .shell {--sidebar-width:64px}
.sidebar-collapsed .sidebar {padding:22px 10px 0}
.sidebar-collapsed .brand {margin:0 auto 35px;width:44px}
.sidebar-collapsed .brand img {width:44px;height:32px}
.sidebar-collapsed .rail-label,.sidebar-collapsed .rail-text,.sidebar-collapsed .workspace-context {display:none}
.sidebar-collapsed .rail-current,.sidebar-collapsed .side-nav button,.sidebar-collapsed .side-nav a,.sidebar-collapsed .workspace-switch {justify-content:center;padding:9px 0;min-height:40px}
.sidebar-collapsed .profile {justify-content:center;margin:auto -10px 0;padding:16px 0}
@media(max-width:1200px) {.topbar {padding:0 16px}#status-label,.document-credits {display:none}}
@media(max-width:640px) {
  .topbar {flex-wrap:wrap;flex-shrink:0;gap:6px;padding:8px 12px}
  .topbar-title,.topbar-actions {flex:1 1 100%;flex-wrap:wrap;gap:8px}
  .topbar-title>.pilot-mark {display:none}
  .topbar-actions .more-menu {margin-left:auto}
}
