:root {
  --ink: #203d34; --muted: #5c6c65; --green: #234e3e; --green-dark: #183e34;
  --sage: #e7eee5; --sage-deep: #c9debd; --lime: #d5efb7; --paper: #ffffff;
  --ground: #f4f5f1; --line: #dce3dc; --line-dark: #416454; --soft: #edf2ed;
  --coral: #b66551; --coral-soft: #f8e9e2; --amber: #805b16; --amber-soft: #f8f0dc;
  --blue: #3d627c; --blue-soft: #e8eff5; --focus: #b2d47c; --error: #a23c37;
  --radius: 14px; --shadow: 0 8px 24px var(--shadow-tint); --ease: cubic-bezier(.16,1,.3,1);
  --shadow-tint: #183e3417;
  --conversation-muted: #bbd1c5;
  --conversation-label: #d2e3d8;
  --conversation-body: #e0ebe3;
  --user-bubble: #2c5546;
  --user-text: #f0f5ef;
  --attachment-text: #c4d7cb;
  --agent-note-text: #d9e6de;
  --suggestion-border: #618371;
  --suggestion-text: #e5efe6;
  --suggestion-hover: #315a48;
  --privacy-text: #c0d3c6;
  --control-border: #bbc9bf;
  --extract-line: #cbd7ce;
  --progress-ground: #c4d3c0;
  --allocation-ground: #cbdac4;
  --admin-ground: #c8d2c9;
  --roadmap-line: #b8c9bc;
  --admin-tone: #b8c7bc;
  --amplify-ink: #89412e;
  --pile-border: #bccbc0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink); background: var(--ground); font-synthesis: none;
}
* { box-sizing: border-box; }
body { margin: 0; font-size: 14px; line-height: 1.5; }
button, input, textarea, select { font: inherit; color: inherit; }
button, a, input, textarea, select { -webkit-tap-highlight-color: transparent; }
button, a { touch-action: manipulation; }
button { cursor: pointer; }
button { border: 0; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 3px; }
button, a { transition: background .18s var(--ease), color .18s var(--ease), border-color .18s var(--ease); }
button:disabled { cursor: not-allowed; opacity: .45; }
button:focus-visible, a:focus-visible, summary:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
input, textarea { caret-color: var(--green); }
::selection { color: var(--green-dark); background: var(--lime); }
* { scrollbar-width: thin; scrollbar-color: var(--sage-deep) transparent; }
svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
button svg, a svg { pointer-events: none; }
h1,h2,h3,p { margin-top: 0; }
h1 { font-size: 30px; line-height: 1.2; font-weight: 600; letter-spacing: -.035em; margin-bottom: 10px; text-wrap: balance; }
h2 { font-size: 18px; line-height: 1.3; letter-spacing: -.02em; font-weight: 600; margin-bottom: 14px; }
h3 { font-size: 15px; font-weight: 600; letter-spacing: -.01em; margin-bottom: 6px; }
p { max-width: 70ch; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position: fixed; top: -60px; left: 20px; z-index: 100; padding: 12px; background: var(--lime); }
.skip-link:focus { top: 10px; }
.masthead { height: 68px; display:flex; align-items:center; gap:20px; padding:0 28px; background:var(--paper); border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; text-decoration:none; font-size:25px; font-weight:650; letter-spacing:-1px; gap:9px; }
.brand svg { width:25px; height:28px; stroke-width:3px; }
.brand-dot { color:var(--coral); margin-left:-8px; }
.workspace { display:flex; align-items:center; gap:10px; font-size:13px; margin-left:82px; }
.company-symbol { width:26px; height:26px; display:grid; place-items:center; border:1px solid var(--line); font-size:12px; font-weight:700; border-radius:6px; }
.slash { color:var(--muted); padding:0 12px; }
.demo-label { font-size:12px; color:var(--muted); border:1px solid var(--line); padding:4px 8px; border-radius:5px; margin-left:auto; }
.avatar { width:32px; height:32px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:12px; font-weight:650; background:var(--sage); flex:0 0 auto; }
.avatar-lead { background:var(--coral-soft); color:var(--amplify-ink); }
.app-layout { display:grid; grid-template-columns:354px minmax(0,1fr); min-height:calc(100dvh - 68px); }
.conversation { position:sticky; top:0; height:calc(100dvh - 68px); display:flex; flex-direction:column; background:var(--green-dark); color:var(--paper); min-height:600px; }
.conversation-heading { padding:23px 24px 20px; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--line-dark); font-size:13px; }
.conversation-heading>div { display:flex; align-items:center; gap:9px; }
.status-dot { width:6px; height:6px; display:inline-block; border-radius:50%; background:var(--green); flex:0 0 auto; }
.conversation .status-dot { background:var(--lime); }
.icon-button { padding:6px; min-width:32px; height:32px; background:transparent; border-radius:6px; display:inline-grid; place-items:center; }
.icon-button:hover { background:var(--sage); }
.conversation .icon-button:hover { background:var(--line-dark); }
.conversation-thread { overflow-y:auto; flex:1; padding:26px 24px 14px; }
.thread-marker { font-size:12px; color:var(--conversation-muted); text-align:center; margin-bottom:25px; }
.agent-mark { display:flex; align-items:center; gap:8px; font-size:12px; color:var(--conversation-label); margin-bottom:10px; }
.agent-mark svg { width:19px; height:19px; color:var(--lime); }
.message.agent { margin-bottom:24px; font-size:14px; line-height:1.65; }
.message.agent h2 { color:var(--paper); font-size:24px; line-height:1.3; letter-spacing:-.025em; margin-bottom:15px; }
.message.agent p { color:var(--conversation-body); margin-bottom:13px; }
.message.agent strong { color:var(--paper); font-weight:600; }
.message.user { background:var(--user-bubble); padding:13px 15px; border-radius:12px 12px 3px 12px; margin:0 0 24px 28px; font-size:13px; color:var(--user-text); }
.chat-attachment { display:flex; align-items:center; gap:10px; font-size:12px; padding:12px; border:1px solid var(--line-dark); border-radius:10px; margin-top:12px; }
.chat-attachment small { display:block; color:var(--attachment-text); font-size:12px; }
.agent-note { padding:12px 14px; border:1px solid var(--line-dark); border-radius:10px; font-size:12px; color:var(--agent-note-text); margin:16px 0; }
.agent-note strong { display:block; color:var(--lime); margin-bottom:3px; }
.conversation-bottom { padding:10px 20px 16px; }
.suggestions { display:flex; flex-direction:column; align-items:flex-start; gap:7px; margin-bottom:14px; }
.suggestions button { background:transparent; border:1px solid var(--suggestion-border); border-radius:7px; padding:8px 11px; color:var(--suggestion-text); font-size:12px; text-align:left; }
.suggestions button:hover { background:var(--suggestion-hover); }
.suggestions button svg { width:13px; height:13px; margin-left:8px; vertical-align:-2px; }
.composer { background:var(--paper); border-radius:12px; padding:11px; color:var(--ink); }
.composer textarea { width:100%; background:transparent; border:0; resize:none; font-size:12px; line-height:1.6; padding:1px 2px; outline-offset:0; }
textarea::placeholder { color:var(--muted); opacity:1; }
.composer-tools { display:flex; align-items:center; gap:5px; }
.composer-tools>span { font-size:12px; color:var(--muted); flex:1; }
.composer-tools svg { width:16px; height:16px; }
.send-button { background:var(--green); color:white; border-radius:7px; width:31px; height:31px; display:grid; place-items:center; }
.send-button:hover { background:var(--green-dark); }
.privacy-note { text-align:center; font-size:12px; color:var(--privacy-text); margin:9px 0 0; }
.canvas { min-width:0; display:flex; flex-direction:column; }
.canvas-nav { display:flex; gap:22px; align-items:stretch; padding:0 40px; height:66px; border-bottom:1px solid var(--line); background:var(--paper); overflow-x:auto; flex:0 0 auto; }
.canvas-nav a { display:flex; align-items:center; white-space:nowrap; font-size:12px; color:var(--muted); text-decoration:none; border-bottom:2px solid transparent; padding-top:2px; }
.canvas-nav a:hover { color:var(--green); }
.canvas-nav a.active { border-bottom-color:var(--green); color:var(--green); font-weight:650; }
#canvas-content { padding:32px 40px 40px; width:100%; max-width:1450px; margin:0 auto; outline:none; flex:1; }
.canvas-footer { display:flex; justify-content:space-between; gap:16px; font-size:12px; color:var(--muted); padding:17px 40px; border-top:1px solid var(--line); }
.canvas-footer .status-dot { width:5px; height:5px; margin-right:5px; }
.page-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:26px; }
.page-heading p { color:var(--muted); font-size:13px; margin:0; max-width:65ch; }
.page-heading .tag { white-space:nowrap; margin-top:5px; }
.tag { display:inline-flex; align-items:center; gap:5px; padding:4px 8px; font-size:12px; font-weight:550; background:var(--sage); color:var(--green); border-radius:5px; }
.tag.warn { background:var(--amber-soft); color:var(--amber); }
.tag.blue { background:var(--blue-soft); color:var(--blue); }
.tag svg { width:12px; height:12px; }
.primary, .secondary, .text-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:40px; border-radius:7px; padding:10px 15px; font-size:12px; font-weight:600; text-decoration:none; }
.primary { background:var(--green); color:var(--paper); }
.primary:hover { background:var(--green-dark); }
.secondary { background:var(--paper); border:1px solid var(--control-border); }
.secondary:hover { background:var(--sage); border-color:var(--green); }
.text-button { background:transparent; color:var(--green); padding:6px 0; min-height:32px; }
.text-button:hover { text-decoration:underline; }
.primary svg,.secondary svg,.text-button svg { width:15px; height:15px; }
.input-methods { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); margin-bottom:24px; }
.input-method { padding:21px 20px; position:relative; }
.input-method+.input-method { border-left:1px solid var(--line); }
.input-method>svg { width:22px; height:22px; margin-bottom:13px; color:var(--green); }
.input-method p { color:var(--muted); font-size:12px; min-height:37px; margin-bottom:12px; }
.input-method h3 { font-size:14px; }
.input-method .text-button { font-size:12px; }
.roster-section { background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.section-top { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:19px 22px; }
.section-top h2 { font-size:16px; margin-bottom:3px; }
.section-top p { font-size:12px; margin:0; color:var(--muted); }
.roster-head, .roster-row { display:grid; grid-template-columns:minmax(140px,1.4fr) minmax(90px,.9fr) 50px minmax(125px,1.1fr) 28px; gap:12px; align-items:center; padding:13px 22px; }
.roster-head { background:var(--ground); color:var(--muted); font-size:12px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding-top:9px; padding-bottom:9px; }
.roster-row { border-bottom:1px solid var(--line); font-size:12px; min-height:68px; }
.roster-row:last-child { border-bottom:0; }
.roster-role { font-weight:600; font-size:12px; }
.roster-people { color:var(--muted); }
.roster-system { font-size:12px; color:var(--muted); }
.fte { font-variant-numeric:tabular-nums; font-weight:600; }
.roster-row .icon-button { width:28px; min-width:28px; }
.roster-row .icon-button svg { width:14px; height:14px; }
.bottom-action { display:flex; justify-content:space-between; gap:18px; align-items:center; margin-top:23px; }
.bottom-action p { margin:0; color:var(--muted); font-size:12px; }
.bottom-action .primary { white-space:nowrap; }
.inline-panel { background:var(--soft); border-radius:var(--radius); padding:20px; margin-bottom:22px; }
.inline-panel h2 { font-size:16px; }
.inline-panel p { font-size:12px; color:var(--muted); }
.extract-row { display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-top:1px solid var(--extract-line); font-size:12px; }
.extract-row>div { display:flex; gap:10px; align-items:center; }
.extract-row input { width:16px; height:16px; accent-color:var(--green); }
.confidence { font-size:12px; color:var(--muted); }
.panel-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:16px; }
.voice-transcript { background:var(--paper); border-radius:10px; padding:16px; margin-top:12px; }
.voice-transcript p { margin:0; color:var(--ink); }
.voice-roster { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.voice-roster>span { font-size:12px; border:1px solid var(--control-border); padding:8px 10px; border-radius:6px; background:var(--paper); }
.voice-roster small { display:block; font-size:12px; color:var(--muted); }
.voice-status { display:flex; gap:8px; align-items:center; font-size:12px; margin-top:12px; }
.voice-bars { height:18px; display:flex; gap:3px; align-items:center; }
.voice-bars i { width:3px; height:9px; border-radius:2px; background:var(--green); }
.voice-bars i:nth-child(2n) { height:17px; }
.recording .voice-bars i { animation:voice .7s ease-in-out infinite alternate; }
.recording .voice-bars i:nth-child(2n) { animation-delay:.3s; }
@keyframes voice { to { height:4px; } }
label.field { display:flex; flex-direction:column; gap:5px; font-size:12px; font-weight:600; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:13px; }
.field input,.field select { min-width:0; width:100%; border:1px solid var(--control-border); background:var(--paper); padding:9px 10px; border-radius:6px; min-height:40px; font-size:12px; font-weight:400; }
.field-wide { grid-column:1/-1; }
.form-error { color:var(--error)!important; margin:12px 0 0; }
.source-note { color:var(--muted); font-size:12px; margin:15px 0 0; line-height:1.6; }
.goal-summary { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:24px; padding:18px 22px; background:var(--sage); border-radius:12px; }
.north-star-block { margin:26px 0; padding:22px; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); }
.north-star-title { display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.north-star-title>svg { color:var(--coral); }
.north-star-title h2 { font-size:17px; margin:0; }
.north-star-title .tag { margin-left:auto; }
.north-star-block>p { color:var(--muted); font-size:12px; margin:0; }
.north-star-inputs { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:18px; padding-top:16px; border-top:1px solid var(--line); }
.north-star-inputs h3 { font-size:12px; margin-bottom:5px; }
.north-star-inputs p { color:var(--muted); font-size:12px; margin:0; }
.north-star-foot { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; margin-top:18px; font-size:12px; color:var(--muted); }
.north-star-foot a { color:var(--green); display:flex; align-items:center; gap:5px; }
.north-star-foot svg { width:12px; height:12px; }
.north-star-workshop { margin:18px 0; }
.north-star-workshop>p { font-size:12px; color:var(--muted); }
.workshop-part { border-top:1px solid var(--line); }
.workshop-part summary { display:grid; grid-template-columns:1fr 60px 15px; gap:10px; padding:13px 0; font-size:12px; }
.workshop-part summary>span:nth-child(2) { font-size:12px; color:var(--muted); }
.workshop-part>div { padding:0 0 12px; }
.workshop-part>div p { color:var(--muted); font-size:12px; margin:0 0 8px; }
.goal-summary p { margin:0; color:var(--muted); font-size:12px; }
.goal-summary strong { font-weight:600; font-size:14px; display:block; color:var(--green); margin-bottom:3px; }
.progress-track { width:132px; height:5px; background:var(--progress-ground); border-radius:4px; overflow:hidden; margin-top:9px; }
.progress-track span { display:block; height:100%; background:var(--green); border-radius:4px; }
.goal-map { background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.goal-row { display:grid; grid-template-columns:34px minmax(180px,1fr) minmax(140px,.8fr) 100px; gap:16px; align-items:center; padding:23px 22px; border-bottom:1px solid var(--line); }
.goal-row:last-child { border:0; }
.goal-icon { background:var(--soft); display:grid; place-items:center; border-radius:8px; height:34px; }
.goal-row p { font-size:12px; color:var(--muted); margin:4px 0 0; }
.goal-row h3 { font-size:13px; margin:0; }
.module-links { display:flex; flex-wrap:wrap; gap:6px; }
.module-links a { font-size:12px; background:var(--ground); border-radius:4px; padding:4px 6px; text-decoration:none; }
.module-links a:hover { background:var(--sage); }
.goal-row>a { font-size:12px; text-align:right; }
.section-block { margin-top:30px; }
.section-heading { display:flex; justify-content:space-between; align-items:center; gap:15px; margin-bottom:14px; }
.section-heading h2 { margin:0; }
.section-heading>span { font-size:12px; color:var(--muted); }
.amplification { background:var(--sage); border-radius:var(--radius); padding:24px; display:grid; grid-template-columns:1fr 240px; gap:26px; }
.amplification h2 { font-size:22px; line-height:1.3; max-width:420px; }
.amplification p { font-size:12px; color:var(--muted); margin-bottom:16px; }
.capacity-allocation { display:flex; flex-direction:column; justify-content:center; gap:15px; }
.allocation-label { display:flex; justify-content:space-between; font-size:12px; margin-bottom:6px; }
.allocation-track { height:7px; background:var(--allocation-ground); border-radius:2px; overflow:hidden; }
.allocation-track span { display:block; height:100%; background:var(--green); }
.allocation-track.coral span { background:var(--coral); }
.allocation-track.blue span { background:var(--blue); }
.capacity-summary { padding:22px 0; margin-bottom:24px; border-bottom:1px solid var(--line); }
.capacity-summary p { font-size:13px; color:var(--muted); margin-bottom:14px; }
.capacity-summary strong { font-weight:600; color:var(--ink); }
.capacity-bar { height:12px; background:var(--admin-ground); border-radius:3px; overflow:hidden; }
.capacity-bar span { display:block; width:55%; height:100%; background:var(--green); }
.capacity-bar-labels { display:flex; justify-content:space-between; gap:16px; font-size:12px; color:var(--muted); margin-top:8px; }
.chat-sort-choice { padding:12px 0; border-bottom:1px solid var(--line-dark); font-size:12px; }
.chat-sort-choice strong { display:block; font-weight:500; color:var(--conversation-body); }
.chat-sort-choice span { display:block; margin-top:5px; color:var(--conversation-muted); }
.chat-sort-choice+h2 { margin-top:22px; }
#card-chat-error { color:var(--lime); font-size:12px; }
.suggestions>a { display:flex; align-items:center; justify-content:space-between; min-height:44px; font-size:12px; border:1px solid var(--suggestion-border); color:var(--suggestion-text); background:transparent; padding:9px 11px; border-radius:7px; text-decoration:none; }
.legend-inline { display:flex; gap:14px; align-items:center; font-size:12px; color:var(--muted); }
.legend-inline span { display:flex; align-items:center; gap:5px; }
.swatch { width:9px; height:9px; border-radius:2px; display:inline-block; background:var(--green); }
.swatch.admin { background:var(--admin-ground); }
.swatch.people { background:var(--green); }
.swatch.coral { background:var(--coral); }
.role-shifts { background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:6px 22px; }
.shift-row { display:grid; grid-template-columns:minmax(170px,1fr) 60px minmax(150px,1fr) 18px; gap:14px; align-items:center; padding:14px 0; border-bottom:1px solid var(--line); text-decoration:none; }
.shift-row:last-child { border-bottom:0; }
.shift-row:hover .shift-name { text-decoration:underline; }
.shift-name { font-size:12px; font-weight:550; }
.shift-row small { color:var(--muted); font-size:12px; }
.paired-bars { display:grid; gap:5px; }
.bar-line { display:flex; align-items:center; gap:7px; }
.bar-line>span { font-size:12px; color:var(--muted); width:28px; }
.stacked-bar { height:7px; display:flex; flex:1; background:var(--green); border-radius:2px; overflow:hidden; }
.stacked-bar span { height:100%; background:var(--admin-ground); }
.shift-row>svg { width:14px; height:14px; }
.roadmap-mini { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; border-top:1px solid var(--roadmap-line); }
.quarter-mini { padding:15px 18px 0 0; }
.quarter-mini strong { font-size:12px; }
.quarter-mini p { font-size:12px; margin:6px 0; color:var(--muted); }
.human-band { background:var(--paper); display:flex; gap:14px; padding:20px; border-radius:12px; margin-top:26px; }
.human-band>svg { color:var(--coral); margin-top:2px; }
.human-band h3 { font-size:13px; }
.human-band p { margin:0; font-size:12px; color:var(--muted); }
.person-heading { display:flex; align-items:center; gap:12px; }
.person-heading .avatar { width:48px; height:48px; font-size:16px; background:var(--coral-soft); color:var(--amplify-ink); }
.person-heading h1 { font-size:27px; margin-bottom:3px; }
.person-heading p { font-size:12px; }
.week-comparison { display:grid; grid-template-columns:1fr 1fr; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); }
.week-panel { padding:24px; }
.week-panel+.week-panel { background:var(--sage); border-radius:0 13px 13px 0; }
.week-panel h2 { font-size:16px; display:flex; justify-content:space-between; }
.week-panel h2 span { color:var(--muted); font-size:12px; font-weight:400; }
.week-stack { display:flex; height:24px; border-radius:4px; overflow:hidden; gap:2px; margin:20px 0; }
.week-stack i { background:var(--green); }
.week-stack i:nth-child(1) { background:var(--admin-tone); }
.week-stack i:nth-child(2) { background:var(--blue); }
.week-stack i:nth-child(3) { background:var(--green); }
.week-stack i:nth-child(4) { background:var(--coral); }
.week-row { display:flex; justify-content:space-between; gap:15px; margin:12px 0; font-size:12px; }
.week-row>span { display:flex; align-items:center; gap:7px; }
.week-row b { font-weight:550; font-variant-numeric:tabular-nums; }
.split-content { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.plain-list { margin:0; padding-left:16px; color:var(--muted); font-size:12px; }
.plain-list li { margin:10px 0; padding-left:3px; }
.role-ambition { padding:22px; background:var(--sage); border-radius:var(--radius); margin-top:24px; }
.role-ambition p { font-size:13px; margin-bottom:0; }
.filter-bar { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:14px; }
.filter-bar label { display:flex; gap:8px; align-items:center; font-size:12px; color:var(--muted); }
.filter-bar select { border:1px solid var(--line); border-radius:6px; background:white; padding:8px 9px; max-width:200px; }
.opportunity-list { max-height:590px; overflow-y:auto; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); }
.opportunity-list:focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
.opportunity-button { width:100%; text-align:left; background:transparent; display:grid; grid-template-columns:26px 1fr 83px 35px; gap:14px; align-items:center; padding:18px 20px; border-bottom:1px solid var(--line); }
.opportunity-button:last-child { border-bottom:0; }
.opportunity-button:hover { background:var(--soft); }
.opportunity-button.selected { background:var(--sage); }
.opportunity-button h3 { font-size:13px; margin-bottom:4px; }
.opportunity-button p { margin:0; color:var(--muted); font-size:12px; }
.rank { font-size:12px; color:var(--muted); }
.opportunity-value { font-size:12px; font-weight:600; font-variant-numeric:tabular-nums; }
.opportunity-value small { font-size:12px; display:block; color:var(--muted); font-weight:400; }
.detail-sheet { padding:24px; background:white; border:1px solid var(--line); border-radius:var(--radius); margin-top:22px; }
.detail-sheet h2 { font-size:19px; margin-bottom:6px; }
.detail-sheet>p { color:var(--muted); font-size:12px; }
.detail-meta { display:flex; gap:12px; flex-wrap:wrap; color:var(--muted); font-size:12px; padding-bottom:18px; border-bottom:1px solid var(--line); margin-bottom:8px; }
.steps { margin:0; padding:0; list-style:none; counter-reset:step; }
.step { display:grid; grid-template-columns:22px 1fr auto; gap:12px; padding:15px 0; border-bottom:1px solid var(--line); counter-increment:step; align-items:start; }
.step:last-child { border:0; }
.step:before { content:counter(step); width:20px; height:20px; display:grid; place-items:center; border-radius:50%; background:var(--ground); font-size:12px; margin-top:1px; }
.step h3 { font-size:12px; font-weight:500; margin:0 0 4px; }
.step p { color:var(--muted); font-size:12px; margin:0; }
.approach { font-size:12px; padding:4px 7px; border-radius:4px; background:var(--soft); white-space:nowrap; }
.approach.amplify { background:var(--coral-soft); color:var(--amplify-ink); }
.approach.human { background:var(--blue-soft); color:var(--blue); }
.approach.remove { background:var(--amber-soft); color:var(--amber); }
.approach-legend { margin-top:24px; }
details>summary { cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:14px; }
details>summary::-webkit-details-marker { display:none; }
summary .chevron { width:15px; height:15px; transition:transform .18s var(--ease); }
details[open]>summary .chevron { transform:rotate(180deg); }
.approach-legend summary { font-size:12px; font-weight:600; padding:12px 0; }
.legend-list { display:grid; grid-template-columns:1fr 1fr; gap:15px 24px; padding:15px 0; }
.legend-list h3 { font-size:12px; margin-bottom:3px; }
.legend-list p { font-size:12px; color:var(--muted); margin:0; }
.plan-note { display:flex; gap:10px; background:var(--sage); border-radius:10px; padding:15px 18px; font-size:12px; margin-bottom:24px; }
.plan-quarter { display:grid; grid-template-columns:56px 1fr; gap:20px; padding:24px 0; border-top:1px solid var(--line); }
.quarter-label { font-size:17px; font-weight:600; }
.plan-quarter h2 { margin-bottom:7px; }
.plan-quarter p { margin-bottom:12px; color:var(--muted); font-size:12px; }
.owner { display:flex; gap:8px; align-items:center; font-size:12px; margin:13px 0; }
.owner .avatar { width:24px; height:24px; font-size:12px; }
.trace-links { display:flex; flex-wrap:wrap; gap:6px; }
.trace-links a { background:var(--paper); border:1px solid var(--line); padding:5px 8px; border-radius:5px; font-size:12px; text-decoration:none; }
.trace-links a:hover { background:var(--sage); }
.pilot-check { margin-top:14px; font-size:12px; color:var(--muted); }
.module-section { margin-bottom:30px; }
.module-section>h2 { margin-bottom:12px; }
.module-list { background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.module-item { border-bottom:1px solid var(--line); }
.module-item:last-child { border:0; }
.module-item>summary { display:grid; grid-template-columns:30px 1fr 72px 80px 15px; gap:12px; padding:17px 20px; }
.module-item>summary:hover { background:var(--soft); }
.module-icon { color:var(--green); display:flex; align-items:center; }
.module-item h3 { font-size:13px; margin:0; }
.module-name .format { margin-top:6px; font-size:12px; background:var(--soft); color:var(--muted); font-weight:400; }
.module-time { font-size:12px; color:var(--muted); }
.module-status { font-size:12px; color:var(--muted); }
.module-item.recommended .module-status { color:var(--green); font-weight:600; }
.module-body { padding:0 20px 20px 62px; font-size:12px; }
.module-body>p { color:var(--muted); }
.module-body dl { display:grid; grid-template-columns:95px 1fr; gap:8px 16px; margin:15px 0; font-size:12px; }
.module-body dt { color:var(--muted); }
.module-body dd { margin:0; }
.module-preview { margin-top:14px; padding:15px; background:var(--soft); border-radius:8px; }
.module-preview p { color:var(--muted); font-size:12px; }
.inline-module { background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:28px; }
.module-person { display:flex; align-items:center; gap:9px; color:var(--muted); font-size:12px; margin-bottom:24px; }
.sort-intro h2 { font-size:25px; }
.sort-intro p { color:var(--muted); font-size:13px; }
.sort-progress { display:flex; justify-content:space-between; align-items:center; font-size:12px; color:var(--muted); margin-bottom:22px; }
.sort-dots { display:flex; gap:5px; }
.sort-dots i { width:24px; height:4px; background:var(--line); border-radius:3px; }
.sort-dots i.done { background:var(--green); }
.task-card { padding:28px; background:var(--sage); border-radius:12px; margin-bottom:24px; }
.task-card h2 { font-size:23px; font-weight:500; margin:0; line-height:1.4; }
.task-card small { font-size:12px; color:var(--muted); display:block; margin-top:16px; }
.sort-piles { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.sort-pile { background:var(--paper); border:1px solid var(--pile-border); border-radius:10px; padding:18px 12px; text-align:left; }
.sort-pile:hover { background:var(--sage); border-color:var(--green); }
.sort-pile svg { margin-bottom:12px; }
.sort-pile strong { display:block; font-size:12px; margin-bottom:5px; }
.sort-pile span { font-size:12px; color:var(--muted); display:block; }
.sort-pile .pile-count { margin-top:13px; font-size:12px; }
.sort-hint { font-size:12px; color:var(--muted); margin:18px 0 0; }
.review-row { padding:15px 0; display:grid; grid-template-columns:1fr 160px; gap:20px; border-bottom:1px solid var(--line); align-items:center; font-size:12px; }
.review-row select { border:1px solid var(--line); background:var(--ground); padding:9px; border-radius:6px; font-size:12px; width:100%; }
.completion-icon { width:48px; height:48px; display:grid; place-items:center; border-radius:50%; background:var(--sage); color:var(--green); margin-bottom:20px; }
.completion-icon svg { width:24px; height:24px; }
.completion h2 { font-size:25px; }
.completion p { font-size:13px; color:var(--muted); }
.completion ul { padding-left:18px; font-size:12px; color:var(--muted); margin:24px 0; }
.completion li { margin:10px 0; }
.toast { position:fixed; bottom:24px; left:50%; transform:translate(-50%,15px); max-width:calc(100vw - 32px); padding:12px 18px; border-radius:9px; background:var(--green-dark); color:var(--paper); font-size:12px; box-shadow:var(--shadow); opacity:0; pointer-events:none; transition:opacity .2s,transform .2s var(--ease); z-index:50; }
.toast.visible { opacity:1; transform:translate(-50%,0); }
.mobile-switch { display:none; }
.exercise-progress { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 20px; font-size:12px; color:var(--muted); }
.exercise-work>p,.exercise-complete>p { color:var(--muted); font-size:13px; }
.exercise-notes { margin:22px 0 28px; }
.exercise-note { border-top:1px solid var(--line); padding:18px 0; }
.exercise-note h3 { margin-bottom:9px; }
.exercise-note p { color:var(--muted); font-size:13px; margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
.exercise-note textarea { width:100%; resize:vertical; min-height:94px; background:var(--paper); border:1px solid var(--control-border); border-radius:6px; padding:10px 12px; font-size:13px; line-height:1.6; }
.scope-label { display:flex; align-items:center; gap:12px; margin-top:12px; font-size:12px; color:var(--muted); }
.scope-label select,.inventory-row select,.inventory-row input { min-height:44px; padding:9px 10px; border:1px solid var(--control-border); background:var(--paper); border-radius:6px; font-size:12px; width:100%; min-width:0; }
.scope-label select { width:auto; }
.inventory-list { margin:28px 0 32px; }
.inventory-list>p { color:var(--muted); font-size:12px; }
.inventory-row { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:10px 18px; padding:18px 0; border-top:1px solid var(--line); }
.inventory-row label { display:flex; flex-direction:column; gap:6px; font-size:12px; font-weight:600; }
.inventory-row p { grid-column:1/-1; margin:0; font-size:12px; color:var(--muted); }
.inventory-row p span { display:block; margin-top:4px; }
.exercise-effects { margin:16px 0 24px; }
.exercise-effects>div { padding:15px 0; border-top:1px solid var(--line); }
.exercise-effects h3 { font-size:13px; }
.exercise-effects p { color:var(--muted); font-size:12px; margin:0 0 8px; }
.exercise-effects a { display:inline-flex; align-items:center; gap:7px; min-height:44px; font-size:12px; color:var(--green); }
.exercise-effects a svg { width:15px; height:15px; }
.module-evidence { background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:24px; }
.evidence-entry+.evidence-entry { margin-top:24px; }
.evidence-entry>p { color:var(--muted); font-size:13px; }
.evidence-entry .section-heading { margin-bottom:9px; }
.evidence-entry .section-heading h3 { margin:0; }
.exercise-impact { padding-top:16px; margin-top:18px; border-top:1px solid var(--line); }
.exercise-impact p,.exercise-impact li { font-size:12px; color:var(--muted); overflow-wrap:anywhere; }
.exercise-impact p { margin-bottom:10px; }
.goal-exercises { margin-top:30px; }
.goal-exercises p { font-size:13px; color:var(--muted); }
#exercise-error { color:var(--error); font-size:13px; }
@media(min-width:1600px) { .app-layout { grid-template-columns:380px minmax(0,1fr); } #canvas-content { padding-left:56px; padding-right:56px; } }
@media(max-width:1190px) and (min-width:761px) { .app-layout { grid-template-columns:310px minmax(0,1fr); } .canvas-nav { padding:0 24px; gap:18px; } #canvas-content { padding:28px 24px; } .workspace { margin-left:36px; } .amplification { grid-template-columns:1fr; } .capacity-allocation { display:grid; grid-template-columns:repeat(3,1fr); } .roster-head,.roster-row { grid-template-columns:minmax(120px,1.1fr) 90px 30px 28px; gap:8px; padding-left:16px; padding-right:16px; } .roster-system { display:none; } .goal-row { grid-template-columns:30px 1fr 80px; } .goal-row .module-links { grid-column:2; } .goal-row>a { grid-column:3;grid-row:1/3; } .canvas-footer>span:last-child { display:none; } }
@media(max-width:760px) {
  .exercise-progress .text-button,.exercise-work .text-button,.exercise-complete .text-button,.module-evidence .text-button,.exercise-impact .text-button { min-height:44px; }
  .exercise-progress { align-items:flex-start; flex-wrap:wrap; gap:4px; }
  .inventory-row { grid-template-columns:1fr; gap:12px; }
  .scope-label { flex-direction:column; align-items:flex-start; gap:6px; }
  .scope-label select { width:100%; }
  .module-evidence { padding:18px 16px; }
  .exercise-complete h2 { font-size:23px; }
  body { font-size:14px; } .masthead { height:61px; padding:0 18px; gap:12px; } .brand { font-size:22px; } .brand svg { width:22px; height:24px; } .workspace { margin-left:auto; font-size:12px; } .company-symbol,.workspace .slash,.workspace strong,.demo-label { display:none; } .avatar-lead { width:27px; height:27px; font-size:12px; } .workspace>span { max-width:125px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
  .mobile-switch { display:flex; padding:8px 16px; gap:4px; border-bottom:1px solid var(--line); background:var(--paper); }
  .mobile-switch button { flex:1; min-height:44px; font-size:12px; background:transparent; border-radius:6px; display:flex; align-items:center; justify-content:center; gap:7px; }
  .mobile-switch button.selected { background:var(--sage); font-weight:600; }
  .conversation-dot { width:5px; height:5px; border-radius:50%; background:var(--green); }
  .app-layout { display:block; min-height:calc(100dvh - 122px); }
  .conversation { display:none; position:relative; height:calc(100dvh - 122px); min-height:590px; }
  .icon-button,.send-button { min-width:44px; width:44px; min-height:44px; height:44px; }
  .suggestions button { min-height:44px; }
  .app-layout[data-mobile-view=conversation] .conversation { display:flex; }
  .app-layout[data-mobile-view=conversation] .canvas { display:none; }
  .conversation-thread { padding-top:22px; } .conversation-heading { padding-top:15px; padding-bottom:15px; }
  .canvas-nav { height:53px; padding:0 20px; gap:23px; } .canvas-nav a { min-height:44px; font-size:12px; }
  #canvas-content { padding:26px 20px 30px; }
  h1 { font-size:27px; } .page-heading { gap:10px; margin-bottom:24px; } .page-heading .tag { display:none; } .page-heading p { font-size:12px; }
  .input-methods { grid-template-columns:1fr; } .input-method { display:grid; grid-template-columns:24px 1fr auto; column-gap:13px; padding:17px 16px; align-items:center; }
  .input-method+.input-method { border-left:0; border-top:1px solid var(--line); } .input-method>svg { grid-column:1; grid-row:1/3; margin:0; width:21px; height:21px; }
  .input-method h3 { grid-column:2; font-size:13px; margin:0 0 3px; } .input-method p { grid-column:2; grid-row:2; min-height:0; font-size:12px; margin:0; }
  .input-method .text-button { grid-column:3; grid-row:1/3; width:44px; min-height:44px; font-size:0; } .input-method .text-button svg { width:18px; height:18px; }
  .section-top { padding:17px 15px; align-items:flex-start; } .section-top h2 { font-size:15px; } .section-top .text-button { font-size:12px; white-space:nowrap; min-height:44px; padding:0; }
  .roster-head { display:none; } .roster-row { grid-template-columns:minmax(0,1fr) 34px 44px; gap:7px; padding:16px 15px; }
  .roster-role { grid-column:1; font-size:12px; } .roster-people { grid-column:1; grid-row:2; font-size:12px; } .roster-row .fte { grid-column:2; grid-row:1/3; text-align:center; font-size:12px; }
  .fte:after { content:' FTE'; display:block; font-size:12px; color:var(--muted); font-weight:400; } .roster-system { display:none; } .roster-row .icon-button { grid-column:3;grid-row:1/3; width:44px; min-width:44px; }
  .bottom-action { flex-direction:column; align-items:stretch; gap:14px; } .bottom-action .primary { justify-content:center; } .primary,.secondary { min-height:44px; }
  .canvas-footer { padding:16px 20px; font-size:12px; } .canvas-footer>span:last-child { display:none; }
  .form-grid { grid-template-columns:1fr; } .inline-panel { padding:17px; } .panel-actions { gap:10px; } .extract-row { font-size:12px; } .extract-row>div { gap:7px; } .confidence { font-size:12px; }
  .goal-summary { padding:17px; gap:14px; } .goal-summary strong { font-size:12px; } .goal-summary p { font-size:12px; } .progress-track { width:70px; }
  .north-star-block { padding:18px 16px; } .north-star-title { flex-wrap:wrap; gap:8px; } .north-star-title h2 { font-size:16px; max-width:220px; } .north-star-title .tag { margin-left:30px; } .north-star-inputs { grid-template-columns:1fr 1fr; gap:18px 16px; } .north-star-inputs p { font-size:12px; } .north-star-foot a { min-height:44px; } .workshop-part summary { grid-template-columns:1fr 45px 13px; gap:6px; min-height:44px; }
  .goal-row { grid-template-columns:30px minmax(0,1fr); padding:19px 16px; gap:12px; } .goal-row h3 { font-size:13px; } .goal-row p { font-size:12px; } .goal-row .module-links { grid-column:2; }
  .goal-row>a { grid-column:2; text-align:left; min-height:44px; display:flex; align-items:center; } .goal-row .tag { width:max-content; }
  .amplification { padding:20px; grid-template-columns:1fr; gap:8px; } .amplification h2 { font-size:23px; } .amplification p { font-size:12px; } .capacity-allocation { gap:15px; margin-top:6px; }
  .capacity-bar-labels { flex-direction:column; gap:4px; } .opportunity-list { max-height:480px; }
  .section-heading { flex-wrap:wrap; gap:10px; } .section-heading h2 { font-size:17px; } .legend-inline { font-size:12px; }
  .role-shifts { padding:0 15px; } .shift-row { grid-template-columns:1fr 24px; gap:10px; padding:17px 0; } .shift-name { font-size:12px; } .shift-row small { grid-column:2; grid-row:1; font-size:12px; } .shift-row .paired-bars { grid-column:1/-1; grid-row:2; } .shift-row>svg { display:none; }
  .roadmap-mini { grid-template-columns:1fr 1fr; row-gap:18px; } .quarter-mini { padding:15px 12px 0 0; }
  .human-band { padding:17px; gap:11px; } .human-band p { font-size:12px; }
  .person-heading .avatar { width:42px; height:42px; } .person-heading h1 { font-size:24px; }
  .week-comparison { grid-template-columns:1fr; } .week-panel { padding:21px; } .week-panel+.week-panel { border-radius:0 0 13px 13px; } .week-row { font-size:12px; }
  .split-content { grid-template-columns:1fr; gap:20px; } .role-ambition { padding:20px; } .role-ambition p { font-size:12px; }
  .filter-bar { flex-wrap:wrap; } .filter-bar label { font-size:12px; } .filter-bar select { min-height:44px; max-width:175px; }
  .opportunity-button { grid-template-columns:18px 1fr 34px; gap:10px; padding:17px 14px; } .opportunity-button h3 { font-size:12px; } .opportunity-button p { font-size:12px; } .opportunity-value { grid-column:2; font-size:12px; } .opportunity-value small { display:inline; margin-left:5px; } .opportunity-button>.tag { grid-column:3;grid-row:1/3; }
  .detail-sheet { padding:19px 16px; } .detail-sheet h2 { font-size:18px; } .step { grid-template-columns:20px 1fr; gap:9px; } .step .approach { grid-column:2; width:max-content; } .step p { font-size:12px; } .step h3 { font-size:12px; } .legend-list { grid-template-columns:1fr; gap:16px; } .legend-list p { font-size:12px; }
  .plan-quarter { grid-template-columns:35px 1fr; gap:12px; } .quarter-label { font-size:15px; } .plan-quarter h2 { font-size:17px; } .plan-quarter p { font-size:12px; }
  .module-item>summary { grid-template-columns:24px 1fr 15px; padding:17px 15px; gap:9px; } .module-item h3 { font-size:12px; } .module-time { grid-column:2; font-size:12px; } .module-status { grid-column:2;grid-row:3; } .module-item summary>.chevron { grid-column:3;grid-row:1/4; } .module-icon { grid-row:1/4; } .module-body { padding:0 16px 20px 48px; } .module-body dl { grid-template-columns:1fr; gap:4px; } .module-body dd { margin-bottom:8px; }
  .inline-module { padding:20px 16px; } .sort-intro h2 { font-size:23px; } .task-card { padding:22px 18px; } .task-card h2 { font-size:21px; } .sort-piles { grid-template-columns:1fr; gap:10px; } .sort-pile { display:grid; grid-template-columns:24px 1fr 25px; gap:4px 12px; padding:15px; } .sort-pile svg { margin:0;grid-row:1/3; } .sort-pile strong { margin:0; } .sort-pile span { grid-column:2; } .sort-pile .pile-count { grid-column:3;grid-row:1/3; margin:0;align-self:center; } .review-row { grid-template-columns:1fr; gap:8px; } .review-row select { min-height:44px; } .toast { bottom:16px; width:calc(100vw - 32px); }
}
@media(prefers-reduced-motion:reduce) { *,*:before,*:after { transition:none!important; animation:none!important; scroll-behavior:auto!important; } }
