:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#243e36;background:#f5f6f2;font-synthesis:none;font-size:15px;line-height:1.5;--green:#12694f;--line:#e0e7df;--muted:#758077}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;background:#fff;color:#315445;border:1px solid var(--line);padding:10px 17px;border-radius:9px;transition:background .15s}button:hover{background:#edf5ef}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #75bba3;outline-offset:2px}button.primary{background:var(--green);color:#fff;border-color:var(--green)}button.primary:hover{background:#0b543e}a{color:var(--green);text-decoration:none}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:34px 22px}.brand{font-family:Arial,sans-serif;font-size:35px;font-weight:700;letter-spacing:-.5px;color:#174f3d;line-height:1.2;display:grid;grid-template-columns:max-content 24px;align-items:center;column-gap:10px;width:max-content;text-decoration:none}.brand-word{white-space:nowrap}.brand-mark{width:24px;height:24px;display:block}.brand-sub{grid-column:1/-1;display:block;font-size:9px;letter-spacing:4px;font-weight:600;margin-top:8px;color:var(--muted)}.workspace{font-size:12px;margin:42px 0 18px;color:var(--muted)}nav{display:grid;gap:6px}nav button{border:0;text-align:left;background:transparent;padding:12px 15px}nav button.selected{background:#e9f2ec;color:#12694f;font-weight:650}.account{margin-top:auto;border-top:1px solid var(--line);padding-top:20px;display:grid;gap:5px}.account small{color:var(--muted)}.account button{margin-top:14px}main{margin-left:238px;max-width:1640px;padding:40px 46px 70px}h1{font-size:34px;letter-spacing:-1px;line-height:1.2;margin:7px 0 12px}h2{font-size:20px;letter-spacing:-.35px;margin:0 0 12px}h3{font-size:16px;margin:24px 0 12px}p{margin:8px 0 16px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--green);font-weight:650;margin:0}.muted,small{color:var(--muted)}small{display:block;font-size:12px}header{margin-bottom:32px}.toolbar{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:0 0 25px}.toolbar h2{margin:0 auto 0 0}.segmented{display:flex;padding:4px;background:#e9ede7;border-radius:11px}.segmented button{background:transparent;border:0;padding:9px 22px}.segmented .selected{background:#fff;box-shadow:0 2px 6px #243e3610}.toolbar .compact{margin-left:auto}.compact{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}.compact input,.compact select{width:auto;min-width:140px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 26px}.metric,.panel{background:#fff;border:1px solid var(--line);border-radius:15px}.metric{padding:22px 24px}.metric p{color:var(--muted);font-size:12px;margin:0 0 16px}.metric strong{display:block;font-size:25px;letter-spacing:-.7px;margin-bottom:12px;overflow-wrap:anywhere}.metric small{font-size:11px}.panel{padding:25px;margin:20px 0}.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.section-head p{font-size:12px;margin-bottom:20px}.coverage{background:#f0f6ef;border-radius:9px;padding:9px 14px;font-size:12px;color:var(--green)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th{font-size:11px;color:var(--muted);font-weight:500;padding:12px 14px;background:#f7f9f5}td{padding:22px 14px;border-bottom:1px solid #edf1eb;vertical-align:middle}td small{margin-top:6px}tr:last-child td{border:0}td button{font-size:12px;white-space:nowrap;border:0;color:var(--green);padding:7px}.two-panels{display:grid;grid-template-columns:1fr 1fr;gap:20px}.two-panels .panel{margin-top:0}.two-panels p{font-size:13px}.empty{text-align:center;padding:40px 20px}.empty p{color:var(--muted)}form{display:grid;gap:16px}label{display:grid;gap:6px;font-size:13px}input,select{border:1px solid #dbe4da;border-radius:8px;padding:10px 12px;background:#fff;color:#243e36;width:100%;min-width:0}input[type=checkbox]{width:17px;accent-color:var(--green)}.check{display:flex;gap:10px;align-items:center}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.form-grid p{grid-column:1/-1}.form-grid button{align-self:end}.row-fields{display:flex;gap:14px;align-items:end;margin:12px 0}.row-fields label{flex:1}.row-fields .check{align-self:center}.week-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.store-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.store-list article{padding:20px;border:1px solid var(--line);border-radius:10px;display:grid;gap:10px}.user-card{border-top:1px solid var(--line);padding:16px 0}.user-card:first-of-type{border-top:0}fieldset{border:1px solid var(--line);border-radius:9px;padding:15px;display:flex;flex-wrap:wrap;gap:18px}legend{color:var(--muted);font-size:12px}.badge{display:inline-block;border-radius:7px;background:#eef3eb;padding:4px 9px;font-size:11px;font-weight:500;letter-spacing:0;vertical-align:middle}.badge.provisional{color:#976522;background:#fff3d9}.badge.missing{color:#817365;background:#f5f0ea}.badge.final{color:#12694f;background:#e8f3ec}.history-row{padding:18px 0;border-bottom:1px solid var(--line)}.history-row:last-child{border:0}.history-row p{font-size:12px;margin:7px 0}.conflict,.preview{border-radius:10px;padding:20px;background:#fff8e8;margin:16px 0}.warning{color:#936620;background:#fff5df;padding:12px;border-radius:8px}.demo-banner{font-size:11px;letter-spacing:.5px;background:#eaf0df;color:#5b7136;border-radius:8px;padding:11px 15px;margin-bottom:24px}hr{border:0;border-top:1px solid var(--line);margin:28px 0}details{margin-top:24px}summary{cursor:pointer;color:var(--green)}.narrow{max-width:600px}.auth-wrap{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.auth-intro{padding:70px 13%;background:#edf2e9}.auth-intro h1{font-size:72px;margin-top:100px;letter-spacing:-4px;color:#234f3d}.auth-intro>p{max-width:290px;color:#617667}.auth-panel{align-self:center;padding:50px 18%;min-width:0}.auth-panel h2{font-size:30px}.auth-panel .muted{font-size:13px}.auth-panel form{margin-top:24px}.notice{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);border-radius:10px;background:#164f3b;color:#fff;padding:13px 22px;max-width:min(650px,90vw);box-shadow:0 5px 30px #21392c22;z-index:10}.notice:empty{display:none}.notice.error{background:#8c4237}.loading{padding:50px}#day-date{display:flex;gap:10px}.store-list small{margin-bottom:10px}@media(max-width:1100px){main{padding:28px 24px}.sidebar{width:200px}main{margin-left:200px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-panel{padding:40px 10%}.auth-intro h1{font-size:60px}}@media(max-width:720px){.sidebar{position:static;width:auto;padding:18px 20px;display:block}.brand{font-size:28px;grid-template-columns:max-content 20px;column-gap:8px}.brand-mark{width:20px;height:20px}.brand-sub,.workspace{display:none}nav{display:flex;flex-wrap:wrap;margin-top:14px}nav button{padding:8px 13px}.account{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding-top:10px;margin-top:10px}.account button{margin:0;margin-left:auto}.account small{display:none}main{margin-left:0;padding:24px 16px}h1{font-size:29px}.metrics{gap:10px}.metric{padding:17px}.metric strong{font-size:21px}.panel{padding:18px}.two-panels{grid-template-columns:1fr;gap:0}.toolbar .compact{margin-left:0}.form-grid,.store-list{grid-template-columns:1fr}.week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.row-fields{flex-wrap:wrap}.row-fields label{flex-basis:40%}.auth-wrap{grid-template-columns:1fr}.auth-intro{padding:30px}.auth-intro h1{font-size:44px;margin:28px 0;letter-spacing:-2px}.auth-panel{padding:32px}.notice{bottom:12px}.segmented button{padding:8px 15px}}

textarea{width:100%;min-height:100px;resize:vertical;border:1px solid var(--line);border-radius:8px;padding:10px;color:inherit;background:white}textarea:focus-visible{outline:3px solid #75bba3;outline-offset:2px}
@media(min-width:961px){.sidebar{overflow-y:auto}}

.onboarding-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0 30px}.onboarding-card{margin:0;display:flex;flex-direction:column;align-items:flex-start;min-width:0}.onboarding-card .section-head{align-items:flex-start;gap:12px;flex-wrap:wrap}.onboarding-card h3{margin:0;font-size:19px}.onboarding-card p{overflow-wrap:anywhere}.onboarding-card button{margin-top:auto}.onboarding-card.is-done{border-color:#a7c7b4}.onboarding-card .badge{white-space:normal}.onboarding-grid button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:720px){.onboarding-grid{grid-template-columns:1fr}.onboarding-card .section-head{width:100%}}
.builder-roles{display:flex;gap:8px;overflow-x:auto;padding:8px 0 18px}.builder-roles button{flex:0 0 auto;max-width:230px;white-space:normal;text-align:left}.builder-roles small{display:block;font-size:11px;margin-top:5px}.builder-roles .selected{background:var(--green);color:white}.builder-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:20px;align-items:start}.builder-layout.preview-only{grid-template-columns:1fr}.preview-only #builder-controls{display:none}#builder-controls{padding:18px}#builder-controls fieldset{border:0;border-top:1px solid var(--line);padding:15px 0;margin:14px 0}#builder-controls legend{font-weight:600}#builder-controls .check{font-size:13px;line-height:1.5}.builder-preview{min-width:0}.builder-preview .panel{padding:18px}.builder-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.builder-actions{position:sticky;top:0;background:#f4f6f0;padding:12px 0;z-index:2}.builder-actions span{font-size:12px;flex:1 1 160px}@media(max-width:1000px){.builder-layout{grid-template-columns:1fr}.builder-actions{position:static}.builder-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}

.button-link{display:inline-block;background:var(--green);color:#fff;padding:10px 17px;border-radius:9px;margin:8px 0}

/* First access and signup share the same responsive layout. Feedback stays in flow. */
.auth-layout{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:white}.auth-card{align-self:center;padding:44px clamp(24px,6vw,80px);min-width:0}.auth-card .panel{margin:0;padding:0;border:0}.auth-layout .auth-intro h1{font-size:clamp(38px,4.8vw,64px);margin-top:64px;letter-spacing:-2px}.auth-card form{margin-top:22px}.auth-card h2{font-size:28px}.auth-card ol{padding-left:22px}.auth-card li{margin:7px 0}.notice{position:static;transform:none;max-width:100%;width:100%;margin:12px 0;padding:12px 16px;box-shadow:none;overflow-wrap:anywhere}.notice:empty{display:none}
@media(max-width:720px){.auth-layout{grid-template-columns:1fr}.auth-card{padding:28px 24px}.auth-layout .auth-intro{padding:24px}.auth-layout .auth-intro h1{font-size:38px;margin-top:24px}.auth-card h2{font-size:24px}}

nav details{margin-top:12px}nav details summary{padding:10px 15px}nav details button{display:block;width:100%}.wizard-question{display:grid;gap:5px}.wizard-question>button{justify-self:start;padding:5px 10px;font-size:12px}

.wizard-question[hidden]{display:none}

.org-chart{overflow-x:auto;padding:10px 8px 24px;max-width:100%}.org-chart ul{list-style:none;margin:0;padding:22px 0 0;display:flex;gap:18px;align-items:flex-start}.org-chart .org-roots{padding-top:0}.org-chart li{position:relative;display:flex;flex-direction:column;align-items:center;flex:1 0 auto}.org-chart li>ul{position:relative}.org-chart li>ul::before{content:"";position:absolute;left:50%;top:0;height:22px;border-left:2px solid #a8bcb0}.org-chart li>ul>li::before{content:"";position:absolute;top:-12px;left:0;right:-18px;border-top:2px solid #a8bcb0}.org-chart li>ul>li:first-child::before{left:50%}.org-chart li>ul>li:last-child::before{right:50%}.org-chart li>ul>li::after{content:"";position:absolute;top:-12px;left:50%;height:12px;border-left:2px solid #a8bcb0}.org-card{width:248px;background:white;border:1px solid #b9cfc0;border-radius:12px;padding:14px;display:grid;gap:10px;box-shadow:0 3px 12px #243e3608}.org-card-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.org-card-head strong{overflow-wrap:anywhere;font-size:14px}.org-card-head>div{display:flex;gap:5px}.org-card-head button{padding:2px 10px;font-size:22px;line-height:1.4}.org-card input,.org-card select{font-size:13px;padding:8px}.org-card label{font-size:12px}.org-inactive{opacity:.65;border-style:dashed}.org-continue{position:static}.org-intro p{max-width:840px}.builder-roles button small.person-name{color:inherit;font-size:13px}.org-chart[hidden]{display:none}@media(max-width:720px){.org-chart{padding-left:0}.org-card{width:228px}.org-chart ul{gap:12px}.org-chart li>ul>li::before{right:-12px}.org-chart li>ul>li:last-child::before{right:50%}}

/* T027: handles preserve scrolling/editing everywhere outside their hit area. */
.org-drag-handle{touch-action:none;cursor:grab;user-select:none;flex-shrink:0;font-size:1.35rem!important;min-width:36px;min-height:36px}
.org-drag-handle:active{cursor:grabbing}.org-card-head>strong{flex:1;min-width:0;overflow-wrap:anywhere}
.org-root-drop{border:2px dashed #93a99c;border-radius:12px;padding:14px;margin:0 0 8px;min-height:48px;background:#f4faf6}
.org-card.org-drop-target,.org-root-drop.org-drop-target{outline:3px solid #15945c;outline-offset:2px;background:#e8f8ee}
.org-dragging{opacity:.55}.org-drag-status{min-height:24px;margin:8px 0}.org-card>[data-org-child]{margin-top:8px;width:100%;white-space:normal}

/* T031 — Pulse v1. Shared presentation; server permissions and data states stay authoritative. */
@font-face {
  font-family: Manrope;
  src: url('/fonts/Manrope-variable.ttf') format('truetype');
  font-weight: 200 800;
  font-display: swap;
}
:root {
  font-family: Manrope, Arial, sans-serif;
  font-size: 16px;
  color: #0C2C25;
  background: #F4F5EF;
  --ink: #0C2C25;
  --green: #146A50;
  --mint: #8FE8BE;
  --paper: #F4F5EF;
  --surface: #FFFFFF;
  --muted: #53665E;
  --line: #DCE4DA;
  --control-line: #7C8D82;
  --positive: #146A50;
  --warning: #80511A;
  --negative: #B13E35;
  --unknown: #616962;
  font-variant-numeric: tabular-nums;
}
body { min-width: 320px; }
button, .button-link { min-height: 44px; border-radius: 10px; font-weight: 600; }
button { color: var(--ink); border-color: var(--control-line); padding: 10px 16px; }
button:hover { background: #E1EEE4; }
button:disabled { cursor: not-allowed; }
button.primary, .button-link { background: var(--green); color: white; border-color: var(--green); }
button.primary:hover, .button-link:hover { background: #10573F; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, summary:focus-visible {
  outline: 3px solid var(--green); outline-offset: 3px;
}
a:hover { text-decoration: underline; text-underline-offset: 3px; }
.sidebar { width: 244px; padding: 30px 20px 24px; gap: 0; }
.brand { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; width: 184px; max-width: 100%; }
.brand-logo { width: 154px; height: auto; display: block; }
.brand-word { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.brand-sub { margin: 0; font-family: Manrope, Arial, sans-serif; font-weight: 650; font-size: 8px; letter-spacing: 1.1px; color: var(--muted); line-height: 1.5; }
.workspace { margin: 35px 10px 14px; font-size: 12px; }
nav { gap: 5px; }
nav button { font-size: 14px; line-height: 1.4; border-radius: 10px; padding: 12px; }
nav button.selected { color: var(--green); background: #E1EEE4; font-weight: 750; }
nav details summary { padding: 12px; font-size: 13px; }
.account { margin-top: 30px; padding: 20px 10px 0; font-size: 14px; }
.account small { font-size: 12px; }
main { margin-left: 244px; padding: 38px clamp(24px, 3.3vw, 54px) 64px; max-width: 1800px; min-width: 0; }
h1 { color: var(--ink); font-size: clamp(28px, 3vw, 36px); font-weight: 750; letter-spacing: -.045em; margin: 9px 0 12px; }
h2 { font-size: 21px; font-weight: 750; letter-spacing: -.025em; }
h3 { font-size: 17px; font-weight: 700; }
header { margin-bottom: 30px; }
header .muted { max-width: 760px; margin-bottom: 0; font-size: 14px; }
.eyebrow { font-size: 10px; font-weight: 750; letter-spacing: .14em; }
.panel, .metric { border-color: var(--line); border-radius: 18px; }
.panel { padding: 26px; box-shadow: 0 3px 12px #0C2C2503; }
.metric { padding: 22px; min-width: 0; }
.metric p { font-size: 13px; font-weight: 600; margin-bottom: 14px; }
.metric strong { font-size: clamp(24px, 2.4vw, 32px); font-weight: 750; letter-spacing: -.045em; line-height: 1.25; margin-bottom: 12px; }
.metric small { font-size: 12px; line-height: 1.6; }
.metrics { gap: 16px; }
.toolbar { gap: 12px; }
.segmented { border: 1px solid var(--line); background: #E9EDE4; border-radius: 12px; gap: 3px; max-width: 100%; }
.segmented button { padding: 9px 16px; font-size: 13px; }
.segmented .selected { color: var(--ink); box-shadow: 0 2px 5px #0C2C250A; }
label { font-size: 14px; line-height: 1.5; }
input, select, textarea { color: var(--ink); border: 1px solid var(--control-line); border-radius: 10px; min-height: 44px; background: white; }
input[type=checkbox], input[type=radio] { min-height: 20px; width: 20px; height: 20px; flex-shrink: 0; }
.check { min-height: 44px; }
fieldset { border-radius: 12px; }
legend, small { font-size: 13px; }
.compact { font-size: 13px; }
.compact input, .compact select { min-width: 140px; }
.store-list article { border-radius: 14px; }
.section-head { flex-wrap: wrap; align-items: flex-start; }
.section-head p { font-size: 13px; }
.coverage { color: var(--green); background: #E1EEE4; border-radius: 9px; font-size: 12px; }
.table-wrap { max-width: 100%; border-radius: 10px; }
th { color: var(--muted); background: #F4F5EF; font-size: 12px; font-weight: 650; padding: 14px; }
td { border-color: var(--line); padding: 18px 14px; }
td small { font-size: 12px; }
td button { min-height: 44px; padding: 9px; }
.badge { font-size: 12px; padding: 5px 9px; color: var(--muted); background: #EBEEE8; }
.badge.final { color: var(--positive); background: #E1EEE4; }
.badge.provisional, .warning { color: var(--warning); background: #FBF0D9; }
.badge.missing { color: var(--unknown); background: #EBEEE8; }
.conflict, .preview { color: var(--ink); background: #FBF0D9; border-radius: 14px; }
.demo-banner { color: var(--muted); background: #EBEEE8; font-size: 12px; line-height: 1.6; letter-spacing: 0; border-radius: 10px; padding: 10px 14px; margin-bottom: 16px; }
.notice { position: static; color: var(--green); background: #E1EEE4; border: 1px solid #A5C1AB; border-radius: 12px; font-size: 14px; }
.notice.error { color: var(--negative); background: #FCEBE8; border-color: #D4A49F; }
.auth-intro { background: var(--ink); color: #F4F5EF; padding: 64px clamp(28px, 5.8vw, 86px); position: relative; overflow: hidden; }
.auth-intro .brand { background: white; border-radius: 16px; padding: 12px 18px; width: 188px; gap: 2px; }
.auth-intro .brand-logo { width: 152px; }
.auth-intro .brand-sub { display: none; }
.auth-intro h1, .auth-layout .auth-intro h1 { color: #F4F5EF; font-weight: 750; line-height: 1.12; font-size: clamp(42px, 4.9vw, 72px); letter-spacing: -.055em; margin: 74px 0 28px; }
.auth-intro h1 em { color: var(--mint); font-style: normal; }
.auth-intro > p { font-size: 16px; line-height: 1.8; color: #C0D4C8; max-width: 410px; }
.auth-intro .demo-banner { color: #F4F5EF; background: #24483C; margin-top: 28px; }
.auth-panel, .auth-card { padding: 52px clamp(26px, 5vw, 78px); }
.auth-panel h2, .auth-card h2 { font-size: 28px; font-weight: 750; letter-spacing: -.04em; line-height: 1.3; }
.auth-panel .muted, .auth-card .muted { font-size: 13px; overflow-wrap: anywhere; }
.auth-card ol { font-size: 14px; }
.auth-card > p { font-size: 14px; }
.auth-card details, .auth-panel details { padding-top: 18px; border-top: 1px solid var(--line); }
.auth-card summary, .auth-panel summary { min-height: 44px; font-size: 14px; }
.auth-card .panel { box-shadow: none; }
.builder-actions { background: var(--paper); position: static; }
.builder-roles button { border-color: var(--control-line); }
.builder-roles button.selected small { color: inherit; }
.builder-preview .metric { background: #F4F5EF; }
.builder-preview .panel { padding: 22px; }
#builder-controls .check { font-size: 14px; }
#builder-controls legend { color: var(--ink); }
.wizard-question > button { min-height: 44px; font-size: 13px; }
.org-card { border: 1px solid var(--control-line); border-radius: 16px; width: 268px; box-shadow: 0 4px 14px #0C2C2507; padding: 16px; }
.org-card-head { flex-wrap: wrap; }
.org-card-head > strong { flex-basis: 110px; font-size: 14px; }
.org-card-head button, .org-drag-handle { min-width: 44px; min-height: 44px; padding: 4px 10px; }
.org-card-head > div { margin-left: auto; }
.org-card input, .org-card select { font-size: 14px; }
.org-card label { font-size: 13px; }
.org-root-drop { background: #E1EEE4; color: var(--green); border-color: var(--control-line); }
.org-card.org-drop-target, .org-root-drop.org-drop-target { outline-color: var(--green); background: #E1EEE4; }
/* Owner overview: six metrics and progressively disclosed source details. */
.owner-dashboard .metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.owner-dashboard .metric:first-child { background: var(--ink); color: white; border-color: var(--ink); }
.owner-dashboard .metric:first-child p, .owner-dashboard .metric:first-child small { color: #C0D4C8; }
.owner-dashboard .metric:first-child strong { color: white; }
.owner-dashboard .delta { display: block; font-size: 12px; font-weight: 600; }
.owner-dashboard .delta.positive { color: var(--positive); }
.owner-dashboard .delta.negative { color: var(--negative); }
.owner-dashboard .metric:first-child .delta { color: #C0D4C8; }
.owner-dashboard .dashboard-filters { margin: 0 0 22px; }
.owner-dashboard .dashboard-filters .row-fields { margin: 0; }
.owner-dashboard .dashboard-filters button { align-self: end; }
.owner-dashboard .store-link { text-align: left; }
.owner-dashboard .metric .metric-note { margin-top: 8px; }
@media (max-width: 1150px) {
  .sidebar { width: 218px; padding: 28px 16px; }
  main { margin-left: 218px; padding: 30px 24px 54px; }
  .metric { padding: 18px; }
  .owner-dashboard .metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .sidebar { position: static; width: auto; padding: 18px 16px; }
  .brand { width: 142px; gap: 0; }
  .brand-logo { width: 132px; }
  .brand-sub { display: none; }
  .workspace { display: none; }
  nav { margin-top: 16px; gap: 6px; }
  nav button { padding: 10px 12px; font-size: 13px; }
  nav details { flex: 1 0 100%; margin: 0; }
  nav details[open] { display: flex; }
  nav details summary { padding: 10px 12px; }
  nav details button { width: auto; display: inline-block; }
  .account { margin-top: 14px; padding: 14px 0 0; gap: 10px; }
  .account strong { overflow-wrap: anywhere; max-width: 220px; }
  .account small { display: none; }
  main { margin-left: 0; padding: 26px 16px 44px; }
  header { margin-bottom: 24px; }
  h1 { font-size: 29px; }
  .metrics, .owner-dashboard .metrics { gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .metric { padding: 16px; border-radius: 14px; }
  .metric strong { font-size: 23px; }
  .metric p { font-size: 12px; margin-bottom: 12px; }
  .metric small { font-size: 12px; }
  .panel { padding: 20px; border-radius: 16px; }
  .toolbar { align-items: stretch; }
  .segmented { flex-wrap: wrap; width: 100%; }
  .segmented button { padding: 8px 12px; flex: 1 1 auto; }
  .compact { flex: 1 1 100%; }
  .compact select { flex: 1; min-width: 0; }
  .auth-intro { padding: 28px 24px; }
  .auth-intro h1, .auth-layout .auth-intro h1 { font-size: 42px; margin: 32px 0 22px; }
  .auth-layout .auth-intro { padding: 28px 24px; }
  .auth-intro > p { font-size: 14px; }
  .auth-panel, .auth-card { padding: 32px 24px; }
  .auth-intro .brand { width: 160px; padding: 9px 14px; }
  .auth-intro .brand-logo { width: 132px; }
  .auth-panel h2, .auth-card h2 { font-size: 26px; }
  .builder-preview .panel { padding: 18px; }
  .org-card { width: 258px; }
  .row-fields label { flex-basis: 100%; min-width: 0; }
  .owner-dashboard .dashboard-filters .row-fields { flex-direction: column; align-items: stretch; }
  .owner-dashboard .dashboard-filters .row-fields label { flex: 1 1 auto; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
.skip-link { position: fixed; top: 12px; left: 12px; transform: translateY(-160%); z-index: 20; padding: 12px 18px; background: var(--ink); color: white; border-radius: 10px; }
.skip-link:focus { transform: none; }
.owner-dashboard-filters { gap: 12px; }
.owner-dashboard-controls { margin-top: 0; }
.owner-dashboard-heading { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 14px; margin: 26px 0 20px; }
.owner-dashboard-heading h2 { margin: 6px 0; font-size: 26px; }
.owner-dashboard-heading .muted { font-size: 13px; margin: 8px 0 0; }
.owner-dashboard-context p { font-size: 14px; }
.metric p.owner-metric-previous { font-size: 12px; margin: 12px 0 0; font-weight: 400; padding-top: 10px; border-top: 1px solid var(--line); }
.owner-dashboard .metric:first-child .owner-metric-previous { border-color: #335446; }
#owner-dashboard-dates[hidden] { display: none; }
@media (max-width: 720px) {
 .owner-dashboard-filters .row-fields { flex-direction: column; align-items: stretch; }
 .owner-dashboard-filters .row-fields label { flex: 1 1 auto; }
 .owner-dashboard-heading h2 { font-size: 23px; }
}
.auth-panel [data-recover-access] { margin-top: 14px; }
.owner-metric-change { display: block; margin-top: 8px; font-weight: 650; }
.nav-menu { margin: 0; }
.nav-menu > summary { display: none; }
@media (max-width: 720px) {
 .nav-menu { margin-top: 12px; }
 .nav-menu > summary { display: list-item; min-height: 44px; padding: 10px 12px; border: 1px solid var(--control-line); border-radius: 10px; font-size: 14px; font-weight: 650; }
 .nav-menu nav { margin-top: 10px; }
}
@media (max-width: 720px) {
 .sidebar { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: center; }
 .sidebar .brand { grid-column: 1; }
 .sidebar .nav-menu { grid-column: 2; margin-top: 0; }
 .sidebar .nav-menu[open] { grid-column: 1 / -1; }
 .sidebar .account { grid-column: 1 / -1; margin-top: 0; padding-top: 14px; }
 main > .demo-banner { margin-bottom: 10px; }
}
/* Grid children must be allowed to shrink; wide analytical tables scroll inside their wrapper. */
.builder-layout > *, .two-panels > *, .form-grid > *, .row-fields > label { min-width: 0; }
fieldset { min-inline-size: 0; }
@media (max-width: 1000px) { .builder-layout { grid-template-columns: minmax(0, 1fr); } }


/* T039: value before configuration. Preview data never enters working facts. */
.auth-layout[hidden],.public-demo-shell[hidden] { display:none; }
.public-demo-shell { padding: 0 40px 48px; max-width: 1440px; margin: auto; }
.public-demo-topbar { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:24px 0; margin:0 0 16px; border-bottom:1px solid var(--line); }
.public-demo-topbar > div { display:flex; gap:10px; flex-wrap:wrap; }
.public-demo-content { max-width:1160px; margin:auto; }
.owner-demo { min-width:0; }
.owner-demo .metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
.owner-demo .metric:first-child { background:var(--ink); color:white; border-color:var(--ink); }
.owner-demo .metric:first-child p,.owner-demo .metric:first-child small { color:#C0D4C8; }
.owner-demo .metric:first-child strong { color:white; }
.owner-demo header { margin:0 0 22px; }
.owner-demo h2 { font-size:clamp(26px,3vw,36px); letter-spacing:-.045em; margin:10px 0; }
.owner-demo .toolbar { justify-content:space-between; }
.owner-demo .panel { margin:18px 0; }
.owner-demo .demo-banner { color:var(--green); background:#E1EEE4; }
.owner-demo .owner-demo-change { display:block; font-size:12px; margin-top:10px; }
.owner-demo-full-builder,.owner-demo-example-link { margin:0 0 18px; font-size:13px; }
.signup-back-demo { margin-bottom:24px; font-size:13px; }
@media(max-width:900px){ .owner-demo .metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:720px){
 .public-demo-shell { padding:0 16px 30px; }
 .public-demo-topbar { align-items:flex-start; flex-wrap:wrap; gap:14px; padding:20px 0; }
 .public-demo-topbar > div { width:100%; }
 .public-demo-topbar > div button { flex:1 1 140px; font-size:13px; }
 .owner-demo .toolbar { align-items:stretch; }
 .owner-demo .toolbar label { flex:1 1 100%; }
 .owner-demo .toolbar select { width:100%; }
 .owner-demo .metrics { gap:10px; }
 .owner-demo .metric { padding:16px; }
 .owner-demo .metric strong { font-size:22px; }
}

.owner-demo-actions { display:flex; flex-wrap:wrap; gap:12px; margin:18px 0 12px; }
.owner-demo .owner-demo-period h3 { margin:0; }
.owner-demo .owner-demo-proof h3 { margin-top:0; }
@media(max-width:720px){ .owner-demo-actions button { width:100%; } }
.owner-demo header h1 { font-size:clamp(26px,3vw,36px); letter-spacing:-.045em; margin:10px 0; }

/* T040: keep the useful overview ahead of optional explanation. */
.owner-dashboard .owner-dashboard-controls { padding:12px 16px; margin:0 0 14px; }
.owner-dashboard .owner-dashboard-filters { margin:0; gap:10px; }
.owner-dashboard .owner-dashboard-filters .row-fields { display:flex; flex-direction:row; align-items:flex-end; gap:12px; margin:0; }
.owner-dashboard .owner-dashboard-filters label { flex:1 1 190px; margin:0; font-size:12px; gap:5px; }
.owner-dashboard .owner-dashboard-filters select,.owner-dashboard .owner-dashboard-filters input { min-height:42px; padding:8px 10px; font-size:13px; }
.owner-dashboard .owner-dashboard-filters button { min-height:42px; padding:8px 18px; font-size:13px; }
.owner-dashboard #owner-dashboard-dates:not([hidden]) { margin-top:10px; }
.owner-dashboard .owner-dashboard-heading { margin:14px 0 12px; gap:10px; align-items:center; }
.owner-dashboard .owner-dashboard-heading .eyebrow { font-size:10px; margin:0; }
.owner-dashboard .owner-dashboard-heading h2 { font-size:23px; margin:4px 0 0; }
.owner-dashboard .owner-dashboard-metrics { margin-bottom:14px; }
.owner-dashboard .metric { padding:20px; min-width:0; }
.owner-dashboard .metric p { margin-top:0; }
.owner-dashboard .owner-metric-help p { font-size:12px; font-weight:400; line-height:1.55; margin:10px 0 6px; }
.owner-next-action { display:inline-block; padding:5px 0; min-height:36px; border:0; border-radius:3px; background:transparent; color:var(--green); font-size:12px; font-weight:750; text-align:left; text-decoration:underline; text-underline-offset:3px; line-height:1.5; }
.owner-next-action:hover { background:transparent; color:var(--ink); }
.owner-dashboard .metric:first-child .owner-next-action { color:#8FE8BE; }
.owner-dashboard .metric:first-child .owner-next-action:hover { color:white; }
.owner-action-hint { display:block; font-size:12px; line-height:1.5; margin:6px 0 0; color:var(--muted); }
.owner-dashboard .metric:first-child .owner-action-hint { color:#C0D4C8; }
.owner-data-quality { border:1px solid var(--line); border-radius:10px; background:#E8F0E7; padding:9px 13px; margin:12px 0; }
.owner-data-quality.has-warning { background:#FBF0D9; border-color:#D4BC8F; }
.owner-data-quality p { font-size:12px; line-height:1.6; margin:0; }
.owner-data-quality .warning { margin:6px 0 0; padding:0; background:transparent; color:#80511A; }
.owner-next-steps { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:10px; margin:14px 0; }
.owner-next-steps article { border:1px solid var(--line); padding:12px 14px; border-radius:12px; background:white; min-width:0; }
.owner-next-steps p { margin:0 0 5px; font-size:12px; line-height:1.6; }
.owner-dashboard details.panel { padding:0; margin:14px 0; }
.owner-dashboard details.panel > summary { padding:13px 16px; min-height:46px; font-size:13px; font-weight:650; }
.owner-details-body { padding:0 16px 16px; }
.owner-details-body p { font-size:13px; line-height:1.6; }
.owner-dashboard .owner-dashboard-actions { margin:10px 0; }
.onboarding-intro > p { font-size:14px; }
.onboarding-intro details { margin-top:12px; }
@media(max-width:720px){
 .owner-dashboard .owner-dashboard-controls { padding:12px; }
 .owner-dashboard .owner-dashboard-filters .row-fields { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px; }
 .owner-dashboard .owner-dashboard-filters .row-fields label { min-width:0; }
 .owner-dashboard .owner-dashboard-filters button { grid-column:1 / -1; min-height:42px; }
 .owner-dashboard .owner-dashboard-heading h2 { font-size:21px; }
 .owner-dashboard .owner-dashboard-heading .badge { font-size:10px; padding:5px 8px; }
 .owner-dashboard .metric { padding:14px; }
 .owner-dashboard .metric strong { font-size:22px; }
 .owner-dashboard .owner-metric-help p { font-size:11px; }
 .owner-next-action { font-size:11px; min-height:44px; }
 .owner-next-steps { grid-template-columns:minmax(0,1fr); }
}

/* T040: compact permission-aware navigation and commercial status, in normal flow. */
.sidebar { padding-top:22px; padding-bottom:18px; }
.sidebar .workspace { margin:20px 10px 12px; font-size:11px; }
.sidebar .nav-menu { min-height:0; overflow-y:auto; margin:0; flex:1 1 auto; }
.sidebar .nav-menu > summary { display:none; }
.sidebar .nav-menu nav { display:grid; gap:12px; margin:0; }
.sidebar .nav-primary,.sidebar .nav-group-items { display:grid; gap:4px; min-width:0; }
.sidebar .nav-menu button { display:block; width:100%; min-height:44px; margin:0; padding:10px 12px; text-align:left; overflow-wrap:anywhere; }
.sidebar .nav-menu button[aria-current="page"] { background:#E1EEE4; color:var(--green); font-weight:750; }
.sidebar .nav-group { display:block; margin:0; min-width:0; border:0; }
.sidebar .nav-group > summary { min-height:44px; padding:11px 12px; font-size:12px; font-weight:650; line-height:1.6; color:var(--muted); border-radius:10px; }
.sidebar .nav-group > summary:hover { background:#EDF2E9; }
.sidebar .nav-group.is-current > summary { color:var(--green); }
.sidebar .nav-group-items { margin:2px 0 0 8px; padding-left:8px; border-left:1px solid var(--line); }
.sidebar .nav-group-items button { font-size:13px; }
.sidebar .account { margin-top:16px; padding:14px 8px 0; gap:3px; }
.sidebar .account button { margin-top:8px; min-height:44px; }
#main-content { padding-top:20px; }
#main-content > header { margin:0 0 18px; }
#main-content > header .eyebrow { margin:0 0 5px; font-size:9px; }
#main-content > header h1 { margin:0 0 5px; font-size:clamp(26px,2.6vw,32px); line-height:1.18; }
#main-content > header .muted { margin:0; font-size:13px; }
#main-content > .demo-banner { padding:7px 12px; margin-bottom:10px; font-size:11px; }
.access-status { margin:0 0 10px; border:1px solid var(--line); border-radius:10px; background:white; color:var(--muted); font-size:12px; }
.access-status > summary { min-height:36px; padding:8px 12px; font-size:12px; line-height:1.6; color:inherit; }
.access-status-warning { color:var(--warning); background:#FBF0D9; border-color:#C6AA7A; }
.access-status-body { border-top:1px solid var(--line); padding:12px 14px; color:var(--ink); }
.access-status-body dl { display:grid; gap:8px; margin:0 0 10px; }
.access-status-row { display:grid; grid-template-columns:minmax(110px,160px) minmax(0,1fr); gap:12px; }
.access-status-row dt { color:var(--muted); }
.access-status-row dd { margin:0; overflow-wrap:anywhere; }
.access-status-body p { font-size:12px; margin:8px 0 0; overflow-wrap:anywhere; }
@media(max-width:720px){
 .sidebar { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.35fr); gap:10px 12px; padding:12px 16px; align-items:center; }
 .sidebar .brand { grid-column:1; grid-row:1; width:132px; }
 .sidebar .brand-logo { width:126px; max-width:100%; }
 .sidebar .account { grid-column:2; grid-row:1; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1px 6px; margin:0; padding:0; border:0; min-width:0; align-items:center; }
 .sidebar .account strong { grid-column:1; grid-row:1; min-width:0; max-width:100%; font-size:12px; line-height:1.4; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
 .sidebar .account small { display:block; grid-column:1; grid-row:2; min-width:0; max-width:100%; font-size:10px; line-height:1.4; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
 .sidebar .account button { grid-column:2; grid-row:1 / span 2; min-height:44px; min-width:44px; margin:0; padding:8px 6px; font-size:12px; }
 .sidebar .nav-menu,.sidebar .nav-menu[open] { grid-column:1 / -1; grid-row:2; margin:0; overflow:visible; }
 .sidebar .nav-menu > summary { display:list-item; min-height:44px; margin:0; padding:10px 12px; border:1px solid var(--control-line); border-radius:10px; font-size:13px; font-weight:650; line-height:1.7; overflow-wrap:anywhere; }
 .sidebar .nav-current-label { color:var(--muted); font-weight:500; }
 .sidebar .nav-menu nav { display:grid; margin-top:10px; gap:8px; }
 .sidebar .nav-group[open] { display:block; }
 #main-content { padding-top:14px; }
 #main-content > header { margin-bottom:14px; }
 #main-content > header h1 { font-size:27px; }
 #main-content > header .muted { font-size:12px; }
 .access-status > summary { min-height:44px; padding:10px 12px; }
 .access-status-row { grid-template-columns:minmax(90px,.8fr) minmax(0,1.2fr); gap:8px; }
}

/* Compact service flags share one line until the client opens the details. */
#main-content > .access-status:not([open]) { display:inline-block; max-width:100%; vertical-align:top; margin:0 10px 10px 0; }
#main-content > .access-status[open] { display:block; }
#main-content > .demo-banner { display:inline-block; vertical-align:top; margin:0 0 10px; }
.owner-empty-state { padding:16px 20px; margin:12px 0; }
.owner-empty-state h2 { font-size:18px; margin:0 0 8px; }
.owner-empty-state p { margin:0; font-size:13px; line-height:1.6; }
@media(max-width:720px){
 #main-content > .access-status > summary { font-size:10px; padding:8px 10px; min-height:36px; }
 #main-content > .demo-banner { font-size:10px; padding:8px 10px; line-height:1.7; }
}

.owner-dashboard .owner-dashboard-filters { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto; align-items:end; }
.owner-dashboard .owner-dashboard-filters > .row-fields:first-child { display:contents; }
.owner-dashboard #owner-dashboard-dates:not([hidden]) { grid-column:1 / 3; grid-row:2; }
.owner-dashboard .owner-dashboard-filters > button { grid-column:3; grid-row:1; }
@media(max-width:720px){
 .owner-dashboard .owner-dashboard-filters { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
 .owner-dashboard #owner-dashboard-dates:not([hidden]) { grid-column:1 / -1; grid-row:auto; margin-top:0; }
 .owner-dashboard .owner-dashboard-filters > button { grid-column:1 / -1; grid-row:auto; }
}

/* T041: useful owner-facing value before setup, with the working demo kept first. */
.owner-demo-value .owner-demo-heading { margin:0 0 12px; }
.owner-demo-value .owner-demo-heading .eyebrow { margin:0 0 6px; font-size:10px; }
.owner-demo-value .owner-demo-heading h1,.owner-demo-value .owner-demo-heading h2 { max-width:900px; margin:6px 0 10px; font-size:clamp(26px,3vw,36px); line-height:1.25; }
.owner-demo-value .owner-demo-heading > p:last-child { max-width:810px; margin:0; font-size:15px; line-height:1.6; color:var(--muted); }
.owner-demo-value .owner-demo-actions { margin:14px 0 16px; align-items:center; }
.owner-demo-route { color:var(--muted); font-size:12px; line-height:1.6; }
.owner-demo-value .owner-demo-toolbar { margin:0 0 16px; }
.owner-demo-value .owner-demo-period { margin:0 0 14px; }
.owner-demo-value .owner-demo-period .muted { margin-bottom:0; }
.owner-demo-value .owner-demo-story { background:#E8F0E7; border-color:#BCCFBF; padding:20px 24px; }
.owner-demo-story .section-head { align-items:center; margin-bottom:12px; }
.owner-demo-story .section-head .eyebrow { margin:0 0 5px; font-size:10px; }
.owner-demo-story .section-head h3 { margin:0; font-size:20px; }
.owner-demo-story .section-head > small { font-size:12px; color:var(--muted); }
.owner-demo-story-steps { width:fit-content; max-width:100%; }
.owner-demo-story-steps button { min-height:44px; font-size:12px; }
.owner-demo-story-body h4 { margin:16px 0 8px; font-size:17px; line-height:1.5; }
.owner-demo-story-body p { margin:8px 0; font-size:14px; line-height:1.7; }
.owner-demo-story-body .muted { font-size:13px; }
.owner-demo-story-body > button,.owner-demo-story-actions { margin-top:10px; }
.owner-demo-story-actions { display:flex; flex-wrap:wrap; gap:10px; }
.owner-demo-story-actions button { max-width:100%; text-align:left; }
.owner-demo-capabilities { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:24px 0; padding:22px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.owner-demo-capabilities article { min-width:0; }
.owner-demo-capabilities h3 { margin:0 0 8px; font-size:16px; }
.owner-demo-capabilities p { margin:0; font-size:13px; line-height:1.7; color:var(--muted); }
.owner-demo-faq { margin-top:26px; }
.owner-demo-faq > h3 { font-size:20px; margin:0 0 12px; }
.owner-demo-value .owner-demo-faq details { margin:10px 0; padding:0; }
.owner-demo-faq details > summary { min-height:48px; padding:13px 18px; font-size:14px; line-height:1.6; }
.owner-demo-faq details > p { margin:0; padding:0 18px 18px; font-size:13px; line-height:1.75; }
.signup-value-route { padding-left:22px; font-size:14px; line-height:1.7; }
.signup-value-route li + li { margin-top:8px; }
@media(max-width:720px){
 .owner-demo-value .owner-demo-heading .eyebrow { font-size:9px; }
 .owner-demo-value .owner-demo-heading h1,.owner-demo-value .owner-demo-heading h2 { font-size:26px; }
 .owner-demo-value .owner-demo-heading > p:last-child { font-size:13px; }
 .owner-demo-value .owner-demo-actions { gap:8px; margin:12px 0 16px; }
 .owner-demo-route { display:block; width:100%; text-align:center; font-size:11px; }
 .owner-demo-value .owner-demo-story { padding:16px; }
 .owner-demo-story .section-head { gap:8px; }
 .owner-demo-story .section-head h3 { font-size:18px; }
 .owner-demo-story .section-head > small { font-size:11px; }
 .owner-demo-story-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; }
 .owner-demo-story-steps button { min-width:0; padding:8px 6px; font-size:10px; }
 .owner-demo-story-body h4 { font-size:16px; }
 .owner-demo-story-body p { font-size:13px; }
 .owner-demo-story-body .muted { font-size:12px; }
 .owner-demo-story-actions { display:grid; }
 .owner-demo-story-actions button { width:100%; }
 .owner-demo-capabilities { grid-template-columns:minmax(0,1fr); gap:18px; padding:20px 0; }
 .owner-demo-faq details > summary { font-size:13px; padding:12px 14px; }
 .owner-demo-faq details > p { padding:0 14px 16px; font-size:12px; }
}
