/* Neutral Product: color communicates status; spacing organizes the workspace. */
:root{font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#171717;background:#fafafa;--canvas:#fafafa;--surface:#fff;--soft:#f2f2f2;--line:#dedede;--control:#858585;--secondary:#595959;--primary:#171717}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--control);border-radius:6px;background:var(--surface);padding:8px 16px;min-height:44px;font-weight:500}button:hover{background:var(--soft)}button:disabled{cursor:not-allowed;opacity:.6}button.primary{background:var(--primary);border-color:var(--primary);color:white}button.primary:hover{background:#333}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--primary);outline-offset:4px}button,a,input,select,textarea{touch-action:manipulation}
.layout{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}aside{background:var(--surface);border-right:1px solid var(--line);padding:32px 16px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;overflow:auto}.brand{display:flex;gap:8px;align-items:center;font-weight:650;padding:0 8px 32px}.mark{background:var(--soft);border-radius:6px;padding:8px;font-size:24px}.brand small{display:block;font-size:14px;font-weight:400;color:var(--secondary)}nav{display:grid;gap:0}nav button{text-align:left;border:0;background:transparent;padding:8px 16px;color:var(--secondary);font-weight:400}nav button.active{color:var(--primary);background:var(--soft);font-weight:600}.aside-bottom{margin-top:auto;padding:32px 8px 0;font-size:14px;color:var(--secondary)}.dot{display:inline-block;width:8px;height:8px;background:#595959;border-radius:100%;margin-right:8px}
header{background:var(--surface);border-bottom:1px solid var(--line);padding:16px 32px;display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:0;z-index:2}.selectors{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}select,input,textarea{width:100%;border:1px solid var(--control);border-radius:6px;padding:8px;background:var(--surface);min-height:44px}header select{width:auto;max-width:300px}.label{font-size:14px;color:var(--secondary)}.mock{font-size:14px;padding:8px 0;color:var(--secondary);white-space:nowrap}
main{padding:48px 32px;max-width:1536px;margin:auto}.title-row{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px}h1{font-size:clamp(32px,3vw,44px);font-weight:600;line-height:1.2;margin:8px 0 16px}h2{font-size:24px;line-height:1.3;margin:0;font-weight:600}h3{font-size:16px;margin:0;font-weight:600}p{margin:8px 0;color:var(--secondary);max-width:68ch}.title-row p{font-size:18px}.actions{display:flex;gap:8px;flex-wrap:wrap}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-bottom:48px;border-bottom:1px solid var(--line);padding-bottom:24px}.metric{padding:0 24px;border-right:1px solid var(--line)}.metric:first-child{padding-left:0}.metric:last-child{border:0}.metric strong{display:block;font-size:32px;font-weight:600;margin:8px 0}.metric small{color:var(--secondary);font-size:14px}.panel{background:transparent;border:0;border-radius:0;margin-bottom:48px;min-width:0}.panel-head{padding:0 0 16px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:16px}.panel-head p{font-size:14px;margin-bottom:0}.grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);gap:32px}.row{padding:24px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}.row:last-child{border:0}.row>div{min-width:0}.row p{font-size:16px;overflow-wrap:anywhere}.row strong{font-weight:600}.badge{display:inline-block;font-size:14px;font-weight:500;background:var(--soft);border-radius:4px;padding:4px 8px;white-space:nowrap}.badge.warm{background:#fff3df;color:#754a0c}.badge.hot{background:#fce9e7;color:#982c24}.badge.good{background:#eaf3eb;color:#35603b}.muted{color:var(--secondary);font-size:14px}.empty{padding:32px 0;color:var(--secondary);font-size:16px}.empty strong{display:block;color:var(--primary);margin-bottom:8px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:16px}th{font-size:14px;font-weight:600;color:var(--secondary);background:transparent}td,th{padding:16px;border-bottom:1px solid var(--line);vertical-align:top}td:first-child,th:first-child{padding-left:0}td small{display:block;color:var(--secondary);font-size:14px}td.long{max-width:360px;overflow-wrap:anywhere}td .actions{flex-wrap:wrap}
.login{max-width:520px;margin:12vh auto;padding:32px}.login label{display:block;margin:32px 0 24px}label span{display:block;font-size:14px;font-weight:500;margin-bottom:8px}dialog{border:1px solid var(--line);border-radius:8px;width:640px;max-width:calc(100vw - 32px);max-height:90vh;padding:32px;background:var(--surface)}dialog::backdrop{background:#17171766}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.dialog-head h2{font-size:24px}#fields{display:grid;gap:16px}textarea{min-height:112px}#editor>.primary{margin-top:24px;width:100%}#form-error{color:#982c24}#notice{position:fixed;bottom:24px;right:24px;max-width:min(440px,calc(100vw - 32px));background:var(--primary);color:white;padding:0;border-radius:6px;z-index:5}#notice:not(:empty){padding:16px}.scope{background:var(--soft);color:var(--secondary);padding:16px;border-radius:4px;margin-bottom:32px;font-size:14px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:32px}.card{padding:24px 0;background:transparent;border-bottom:1px solid var(--line)}.card p{font-size:16px;margin:8px 0 24px;white-space:pre-wrap}.check{display:flex;align-items:center;gap:8px;min-height:44px}.check input{width:20px;min-height:20px;accent-color:var(--primary)}.check span{margin:0}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.5 system-ui,sans-serif}a{color:var(--primary);text-underline-offset:4px}summary{cursor:pointer;font-size:14px;color:var(--secondary);padding:8px 0;min-height:44px}.supporting{border-top:1px solid var(--line);padding-top:16px}.supporting>summary{font-size:16px;font-weight:500;color:var(--primary)}.supporting[open]>summary{margin-bottom:24px}.skip-link{position:fixed;top:8px;left:8px;padding:16px;background:white;z-index:9;transform:translateY(-150%)}.skip-link:focus{transform:none}
@media(max-width:1150px){header{align-items:flex-start;flex-direction:column;gap:0}.grid{grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr)}.metric{padding:0 16px}}@media(max-width:900px){.layout{grid-template-columns:192px minmax(0,1fr)}main{padding:32px 24px}.grid{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.metric:nth-child(odd){padding-left:0}.metric:nth-child(even){border:0}.title-row{align-items:flex-start;flex-direction:column}.selectors{width:100%}header select{max-width:100%}}@media(max-width:650px){.layout{display:block}aside{position:relative;height:auto;padding:16px;border-right:0;border-bottom:1px solid var(--line);overflow:visible}.brand{padding:0 8px 16px}nav{display:flex;overflow:auto;gap:8px}nav button{white-space:nowrap}.aside-bottom{display:none}header{position:relative;padding:16px}.selectors{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.selectors>span[aria-hidden]{display:none}header select{width:100%;max-width:100%}.mock{white-space:normal}main{padding:32px 16px}.title-row{gap:16px;margin-bottom:24px}.metrics{margin-bottom:32px;gap:16px}.metric{padding:0 8px}.row{align-items:flex-start;flex-direction:column;padding:16px 0}.row>div:last-child{align-self:flex-start}.panel{margin-bottom:32px}.panel-head{align-items:flex-start;flex-direction:column}.login{margin:8vh auto;padding:24px 16px}dialog{padding:24px 16px}.scope{margin-bottom:24px}}
@media(prefers-reduced-motion:no-preference){button{transition:background-color 120ms ease}}
/* Motion explains changes while the company shell stays in place. */
:root{--motion-fast:120ms;--motion-workspace:180ms;--motion-ease:cubic-bezier(.2,0,0,1);view-transition-name:none}
#main{view-transition-name:workspace}
nav .active{view-transition-name:active-navigation}
dialog{position:fixed;inset:0 0 0 auto;margin:0;width:min(640px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;border:0;border-left:1px solid var(--line);border-radius:0;overflow-y:auto}
.dialog-head{position:sticky;top:-32px;background:var(--surface);padding:16px 0;z-index:1}
@media(prefers-reduced-motion:no-preference){
  ::view-transition{pointer-events:none}
  ::view-transition-group(workspace),::view-transition-group(active-navigation){animation-duration:var(--motion-workspace);animation-timing-function:var(--motion-ease)}
  ::view-transition-old(workspace){animation:workspace-out var(--motion-fast) ease-out both}
  ::view-transition-new(workspace){animation:workspace-in var(--motion-workspace) ease-out both}
  dialog[open]{animation:drawer-in var(--motion-workspace) var(--motion-ease) backwards}
  dialog[open]::backdrop{animation:workspace-in var(--motion-workspace) ease-out both}
  @supports(interpolate-size:allow-keywords){
    details{interpolate-size:allow-keywords}
    details::details-content{block-size:0;overflow:clip;transition:block-size var(--motion-workspace) var(--motion-ease),content-visibility var(--motion-workspace) allow-discrete}
    details[open]::details-content{block-size:auto}
  }
}
@keyframes workspace-in{from{opacity:0}to{opacity:1}}
@keyframes workspace-out{from{opacity:1}to{opacity:0}}
@keyframes drawer-in{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}dialog[open],dialog[open]::backdrop{animation:none}}
@media(max-width:650px){.dialog-head{top:-24px}dialog{border-left:0}}
[hidden]{display:none!important}
nav{gap:8px}nav button{padding:12px 16px}.workbench{max-width:800px;padding:16px 0 48px;min-height:280px}.workbench h2.task-name{font-size:clamp(28px,3vw,40px);max-width:24ch;margin:16px 0}.task-eyebrow{color:var(--secondary);font-size:14px}.task-reason{font-size:18px;max-width:50ch}.task-purpose{margin:32px 0}.task-purpose p{margin:4px 0 0}.workbench>.primary{min-width:180px}.work-secondary{max-width:800px;display:grid;gap:16px}.work-secondary .supporting{margin:0;padding-top:8px}.client-list,.manage-list{display:grid;max-width:800px;margin:24px 0;gap:0}.client-list button,.manage-list button{display:flex;align-items:center;justify-content:space-between;gap:24px;text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:24px 0;background:transparent}.client-list button:hover,.manage-list button:hover{background:var(--soft)}.client-list small,.manage-list small{display:block;font-size:14px;color:var(--secondary);margin-top:8px;font-weight:400}.task-context{padding-bottom:24px;border-bottom:1px solid var(--line)}.task-context h3{font-size:18px;margin-top:8px}#prepare h2,#outcome-step h2{margin:16px 0}.script-preview{margin:24px 0;padding:16px;background:var(--soft)}#begin-outcome{margin-top:24px;width:100%}.outcome-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:24px 0}.outcome-choices button{text-align:left;padding:16px}.outcome-choices [aria-pressed=true]{background:var(--primary);color:var(--surface);border-color:var(--primary)}#outcome-details,#followup-fields{display:grid;gap:16px}#permission-status{font-size:14px}.title-row{margin-bottom:24px}@media(max-width:650px){.workbench{padding:8px 0 32px;min-height:0}.task-purpose{margin:24px 0}.outcome-choices{grid-template-columns:1fr}}
.activity-feed{max-width:800px}.activity-entry{padding:24px 0;border-bottom:1px solid var(--line)}.activity-entry h3{margin-top:8px;font-size:18px}.activity-entry p{margin:8px 0 16px}.activity-entry p.muted{margin-bottom:0}#prepare .actions{margin:16px 0}

/* Decisions replace one another; long content can still scroll. */
dialog{overflow:hidden}
#editor{height:100%;display:flex;flex-direction:column;min-height:0}
.dialog-head{position:static;padding:0;flex-shrink:0;margin-bottom:16px}
#fields{overflow-y:auto;overflow-x:hidden;min-height:0;flex:1;align-content:start;padding:4px 8px 8px 4px;scrollbar-gutter:stable}
#editor>.primary{flex-shrink:0;margin-top:16px}
#form-error{flex-shrink:0;margin:8px 0 0}
#form-error:empty{display:none}
#chosen-outcome{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);margin-bottom:24px}
#chosen-outcome strong{font-weight:500}
#outcome-details{padding-bottom:8px}
@media(max-width:650px){.outcome-choices{grid-template-columns:1fr 1fr}.outcome-choices button{padding:12px 8px;font-size:14px}.dialog-head h2{font-size:20px}}

body:has(dialog[open]){overflow:hidden}
dialog{width:min(640px,100%);max-width:100%}

.phone-handoff{padding:16px 0}.phone-link{display:block;border:1px solid var(--primary);border-radius:6px;padding:12px 16px;min-height:44px;background:var(--primary);color:var(--surface);text-decoration:none;margin:16px 0}.phone-link:focus-visible{outline:2px solid var(--primary);outline-offset:4px}#prepare li{margin:12px 0}#prepare ol{padding-left:24px}

.business-index{max-width:900px;margin:24px 0 32px}.index-search{display:flex;gap:16px;align-items:end;flex-wrap:wrap;margin:24px 0 8px}.index-search label{flex:1;min-width:180px}.index-search a{padding:12px 0}.business-index>label{max-width:320px;margin:24px 0}.business-index p{margin:12px 0}

progress{width:min(100%,520px);height:10px;accent-color:var(--primary);margin:16px 0}
