:root{--brand:#004628;--brand-green:#00aa46;--brand-mint:#91fa9b;--bg:#f2f2f2;--surface:#fff;--surface-alt:#ececec;--text:#1f1f1f;--body:#212529;--muted:#6b6b6b;--border:#dcdcdc;--accent:var(--brand-green);--accent-soft:#e6f6ec;--on-brand:#fff;--error:#b3261e;--error-soft:#fde7ec;--warn-soft:#fff1d8;--b1:#004628;--b2:#ffa200;--b3:#e8506e;--radius:4px;--condensed:"Roboto Condensed", "Arial Narrow", "S Bonus UX", sans-serif;color:var(--body);background:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;font:16px/1.5 S Bonus UX,Open Sans,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;margin:0}#root{height:100dvh}button,input{font:inherit;color:inherit}h1,h2,p{margin:0}h1,h2,strong{color:var(--text)}.app{--topbar-h:56px;--tabbar-h:60px;flex-direction:column;height:100dvh;display:flex}.topbar{background:var(--brand);color:var(--on-brand);flex:none}.topbar-inner{max-width:1120px;height:var(--topbar-h);align-items:center;gap:10px;margin:0 auto;padding:0 16px;display:flex}.home{color:inherit;border-radius:999px;align-items:center;gap:10px;text-decoration:none;display:flex}.home:focus-visible{outline:2px solid var(--brand-mint);outline-offset:3px}.topbar h1{font-family:var(--condensed);letter-spacing:.01em;color:var(--on-brand);font-size:1.35rem}.who{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--brand);background:var(--brand-mint);border-radius:999px;margin-left:auto;padding:4px 12px;font-size:.8rem;font-weight:600;overflow:hidden}.exit{cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;padding:0;display:grid}.exit:hover,.exit:focus-visible{background:#ffffff26}.exit{color:var(--on-brand)}.landing{flex:1;width:100%;max-width:480px;margin:0 auto;padding:8px 16px 24px}.demo-list{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.demo-customer{width:100%;min-height:64px;font:inherit;color:var(--text);text-align:left;background:var(--surface);cursor:pointer;border:1px solid #0000;border-radius:8px;flex-direction:column;gap:2px;padding:12px 14px;display:flex;box-shadow:0 1px 2px #0000000f}.demo-label{font-weight:700}.demo-level{color:var(--brand-green);font-size:.85rem;font-weight:600}.demo-meta{color:var(--muted);font-size:.85rem}.customer-list{background:var(--surface);border-radius:8px;max-height:60vh;margin:0;padding:0;list-style:none;overflow-y:auto;box-shadow:0 1px 2px #0000000f}.customer-list li+li{border-top:1px solid var(--surface-alt)}.customer-row{width:100%;min-height:48px;font:inherit;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:1fr auto;align-items:center;column-gap:12px;padding:8px 14px;display:grid}.customer-id{font-variant-numeric:tabular-nums;font-weight:600}.customer-tags{color:var(--muted);grid-column:1;font-size:.8rem}.customer-row .chevron{grid-area:1/2/span 2}.demo-icon{color:var(--brand-green);margin-bottom:4px}.demo-customer:hover,.customer-row:hover{background:var(--accent-soft)}.demo-customer:focus-visible,.customer-row:focus-visible{outline:2px solid var(--brand-green);outline-offset:-2px}.enter-row{justify-content:flex-end;padding:0 12px 12px;display:flex}.enter-row.flush{padding:0}.topbar-actions{gap:8px;margin-left:auto;display:flex}.logout{min-height:32px;color:var(--on-brand);background:0 0;border:1px solid #ffffff80;border-radius:999px;flex:none;padding:0 14px;font-size:.85rem;font-weight:600}.logout:hover,.logout:focus-visible{background:#ffffff26}.landing.help{max-width:640px;overflow-y:auto}.help-note{color:var(--muted);margin:8px 4px 0;font-size:.85rem}.help-steps,.help-tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.help-steps{grid-template-columns:repeat(3,1fr)}.help-steps li,.help-tile{color:var(--muted);flex-direction:column;gap:4px;padding:12px;font-size:.8rem;line-height:1.35;display:flex}.help-steps strong,.help-tile strong{color:var(--text);font-size:.9rem}.help-icon{color:var(--brand-green);margin-bottom:2px}.help-try{flex-direction:column;gap:8px;display:flex}.help-try button{text-align:left;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px 14px}.help-try button:after{content:" →";color:var(--brand-green)}.help-try button:hover,.help-try button:focus-visible{border-color:var(--brand-green);background:var(--accent-soft)}.help-depths{counter-reset:depth;grid-template-columns:repeat(4,1fr);gap:6px;margin:0;padding:0;list-style:none;display:grid}.help-depths li{text-align:center;color:var(--muted);background:var(--surface);border-radius:8px;flex-direction:column;align-items:center;gap:6px;padding:10px 4px;font-size:.75rem;line-height:1.3;display:flex;position:relative;box-shadow:0 1px 2px #0000000f}.help-depths li:nth-child(2){background:#f3fbf6}.help-depths li:nth-child(3){background:#e6f6ec}.help-depths li:nth-child(4){background:#d5f0df}.help-depths .depth{background:var(--surface)}.help-tiles.three{grid-template-columns:repeat(3,1fr)}.help-tiles.three .help-tile{padding:10px;font-size:.75rem}.help-art{background:var(--bg);border-radius:6px;width:100%;height:auto;margin-bottom:6px}.help-art .ink{fill:var(--brand-green)}.help-art .ink-soft{fill:var(--border)}.help-art .b1{fill:var(--b1)}.help-art .b2{fill:var(--b2)}.help-art .b3{fill:var(--b3)}.help-art .track{fill:var(--accent-soft)}.help-art .panel{fill:var(--surface)}.help-art .wash{fill:var(--brand-green);opacity:.12}.help-art .flag{fill:var(--b2)}.help-art .glyph{fill:var(--brand);font-size:22px;font-weight:700}.help-art .axis{stroke:var(--border);stroke-width:1px}.help-art .stroke{fill:none;stroke:var(--brand-green);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.help-art .dot,.help-art .thumb{fill:var(--brand-green);stroke:var(--surface);stroke-width:2.5px}.help-art .ring{fill:var(--surface);stroke:var(--brand-green);stroke-width:2px}.help-art .ring-soft{fill:var(--surface);stroke:var(--border);stroke-width:1.5px}.help-art .ring-soft-fill{fill:var(--border)}.help-art .chip{fill:var(--surface);stroke:var(--brand-green);stroke-width:1.5px}.help-art .tick-mark{fill:none;stroke:var(--surface);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.help-levels{flex-direction:column;margin:0;padding:8px 14px;list-style:none;display:flex}.help-levels li{align-items:center;gap:12px;padding:8px 0;display:flex}.help-levels li+li{border-top:1px solid var(--surface-alt)}.help-levels small{color:var(--muted);font-size:.8rem;display:block}.help-level-num{width:28px;height:28px;color:var(--on-brand);background:var(--brand-green);border-radius:50%;flex:none;place-items:center;font-size:.8rem;font-weight:700;display:grid}.enter-row .send{min-height:44px}.logo{width:32px;height:32px;font-family:var(--condensed);color:var(--brand);background:var(--brand-mint);border-radius:50%;flex:none;place-items:center;font-size:1.1rem;font-weight:700;display:inline-grid}.logo.big{width:56px;height:56px;font-size:1.8rem}.layout{flex:1;width:100%;max-width:1120px;min-height:0;margin:0 auto;display:flex}.pane{flex:1;min-width:0;min-height:0}.overview{padding:8px 16px 24px;overflow-y:auto}.coach{flex-direction:column;display:flex}.app[data-tab=overview] .coach,.app[data-tab=coach] .overview{display:none}@media (width>=900px){.layout{gap:24px;padding:0 16px}.overview{flex:none;width:400px;padding:8px 0 24px}.app[data-tab] .overview{display:block}.app[data-tab] .coach{padding-top:16px;display:flex}}.section{margin-top:16px}.section-title{font-family:var(--condensed);letter-spacing:.04em;text-transform:uppercase;color:var(--brand);margin:0 0 6px 4px;font-size:.85rem;font-weight:700}.panel{background:var(--surface);border-radius:8px;box-shadow:0 1px 2px #0000000f}.empty{color:var(--muted);margin:24px 4px}.error{color:var(--error)}.banner{background:var(--error-soft);border-radius:8px;margin-top:12px;padding:10px 12px}.muted{color:var(--muted)}.picker{flex-direction:column;gap:8px;padding:12px;display:flex}.picker .error{font-size:.85rem}.picker input,.composer input{background:var(--surface);border:1px solid var(--border);border-radius:999px;outline:none;width:100%;min-height:44px;padding:0 14px}.picker input:focus,.composer input:focus{border-color:var(--brand-green);box-shadow:0 0 0 3px var(--accent-soft)}.insights .section:first-child{margin-top:20px}.rows{margin:0;padding:0;list-style:none;overflow:hidden}.rows li+li{border-top:1px solid var(--surface-alt)}.row{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:0;align-items:center;gap:12px;width:100%;padding:12px 12px 12px 16px;display:flex}.row:hover{background:#fafafa}.row:active{background:var(--accent-soft)}.row-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ins-title{color:var(--text);font-weight:600}.ins-text{color:var(--muted);font-size:.8rem;line-height:1.4}.ins-value{text-align:right;white-space:nowrap;max-width:45%;color:var(--text);flex:none;font-size:1rem}.ins-value:empty{display:none}.chevron{color:var(--brand-green);flex:none}.dot{vertical-align:1px;background:var(--muted);border-radius:50%;width:9px;height:9px;margin-right:6px;display:inline-block}.sev-red{background:#d32f2f}.sev-amber{background:var(--b2)}.sev-blue{background:#1976d2}.chat{flex-direction:column;flex:1;min-height:0;display:flex}.messages{flex-direction:column;flex:1;gap:10px;padding:16px;display:flex;overflow-y:auto}.chat-empty{text-align:center;max-width:340px;color:var(--muted);flex-direction:column;align-items:center;gap:12px;margin:auto;display:flex}.suggestions{flex-direction:column;gap:8px;width:100%;margin:0;padding:0;list-style:none;display:flex}.suggestions button{text-align:left;width:100%;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:center;gap:10px;padding:10px 14px;display:flex}.suggestions .icon{color:var(--brand-green)}.suggestions button:hover,.suggestions button:focus-visible{border-color:var(--brand-green);background:var(--accent-soft)}.msg{background:var(--surface);border-radius:16px;max-width:88%;padding:10px 14px;box-shadow:0 1px 2px #0000000f}.msg.coach{border-top-left-radius:4px;align-self:flex-start}.msg.user{color:var(--on-brand);background:var(--brand-green);border-top-right-radius:4px;align-self:flex-end}.msg.error{color:var(--error);background:var(--error-soft)}.msg-head{align-items:center;gap:8px;margin-bottom:4px;display:flex}.coach-name{font-family:var(--condensed);color:var(--brand);font-size:.8rem;font-weight:700}.depth{letter-spacing:.04em;text-transform:uppercase;color:var(--brand);background:var(--accent-soft);border-radius:999px;padding:1px 8px;font-size:.68rem;font-weight:600}.text{white-space:pre-wrap}.card{background:var(--bg);border-radius:8px;flex-direction:column;gap:6px;margin-top:8px;padding:10px 12px;display:flex}.card small{color:var(--muted)}table.card{border-collapse:collapse;width:100%;display:table}table.card th,table.card td{text-align:left;padding:4px 6px}table.card thead th{color:var(--muted);font-size:.8rem}.card ol{margin:0;padding-left:20px}.slider{flex-direction:column;gap:10px;display:flex}.card input[type=range]{cursor:pointer;appearance:none;touch-action:pan-y;background:0 0;width:100%;height:28px;margin:0}.card input[type=range]::-webkit-slider-runnable-track{background:var(--accent-soft);border:1px solid var(--border);border-radius:999px;height:6px}.card input[type=range]::-moz-range-track{background:var(--accent-soft);border:1px solid var(--border);border-radius:999px;height:6px}.card input[type=range]::-moz-range-progress{background:var(--brand-green);border-radius:999px;height:6px}.card input[type=range]::-webkit-slider-thumb{background:var(--brand-green);border:3px solid var(--surface);-webkit-appearance:none;border-radius:50%;width:24px;height:24px;margin-top:-10px;box-shadow:0 1px 3px #0000004d}.card input[type=range]::-moz-range-thumb{background:var(--brand-green);border:3px solid var(--surface);border-radius:50%;width:18px;height:18px;box-shadow:0 1px 3px #0000004d}.card input[type=range]:focus-visible{outline:2px solid var(--brand-green);outline-offset:4px}.big{font-family:var(--condensed);color:var(--brand);font-size:1.8rem}.tag{color:var(--brand);background:var(--accent-soft);border-radius:999px;align-self:flex-start;padding:1px 8px;font-size:.75rem}.bar{background:var(--surface-alt);border-radius:4px;height:8px;position:relative;overflow:hidden}.bar>div{background:var(--brand-green);border-radius:4px;height:100%}.bar-marker{background:var(--brand);opacity:.45;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}.goals.section{margin-top:20px}.goal-row .row-main{gap:4px}.goal-row .bar{margin:4px 0 2px}.goal-head{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.goal-head .tag{align-self:center;font-weight:400}.goal-status.behind{color:var(--error)}.goal-tip{color:var(--text)}.goal-note{color:var(--muted);margin:8px 4px 0;font-size:.8rem}.goal-note ul{margin:4px 0 0;padding-left:18px}.chart{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.chart li{grid-template-columns:6.5rem 1fr 4.5rem;align-items:center;gap:8px;font-size:.85rem;display:grid}.chart li>span:last-child{text-align:right}.chart-title{font-size:.9rem}.chart-readout{justify-content:space-between;gap:8px;min-height:1.5em;font-size:.85rem;display:flex}.chart-readout strong{font-variant-numeric:tabular-nums}.chart-svg{touch-action:pan-y;border-radius:4px;width:100%;max-width:480px;height:auto;display:block;overflow:visible}.chart-svg:focus-visible{outline:2px solid var(--brand-green);outline-offset:2px}.chart-svg .grid{stroke:var(--border);stroke-width:1px}.chart-svg .tick{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.chart-svg .name{fill:var(--text);font-size:12px}.chart-svg .col{fill:var(--brand-green)}.chart-svg .col.active{fill:var(--brand)}.chart-svg .line{fill:none;stroke:var(--brand-green);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart-svg .area{fill:var(--brand-green);opacity:.1}.chart-svg .crosshair{stroke:var(--muted);stroke-width:1px}.chart-svg .dot{fill:var(--brand-green);stroke:var(--bg);stroke-width:2px}.chart-svg .hit{fill:#0000;cursor:pointer}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.card .ladder{gap:6px;margin:0;padding:0;list-style:none;display:flex}.ladder li{width:26px;height:26px;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:50%;place-items:center;font-size:.75rem;font-weight:700;display:grid}.ladder li.reached{color:var(--on-brand);background:var(--brand-green);border-color:var(--brand-green)}.ladder li.target{color:var(--brand);border:2px solid var(--brand-green)}button{cursor:pointer;min-height:36px}.chips{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.chips button,.card button{color:var(--brand);background:var(--surface);border:1.5px solid var(--brand-green);border-radius:999px;padding:6px 16px;font-size:.9rem;font-weight:600}.chips button:hover,.card button:hover{background:var(--accent-soft)}.card .btn-primary,.send{color:var(--on-brand);background:var(--brand-green);border:0;border-radius:999px;align-self:flex-start;padding:6px 20px;font-weight:700}.card .btn-primary:hover,.send:hover:not(:disabled){background:#009a3f}.send:disabled{cursor:default;opacity:.45}.composer{background:var(--surface);border-top:1px solid var(--border);flex:none;gap:8px;padding:10px 16px;display:flex}.composer input{background:var(--bg);flex:1;min-width:0}.composer input:disabled{opacity:.6}.composer .send{align-self:auto;min-height:44px}@media (width>=900px){.chat{background:var(--surface);border-radius:8px 8px 0 0;overflow:hidden;box-shadow:0 1px 2px #0000000f}.messages{background:var(--bg)}}.tabbar{height:var(--tabbar-h);padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--border);flex:none;display:flex}.tabbar button{color:var(--muted);background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:.72rem;font-weight:600;display:flex}.tabbar button.active{color:var(--brand-green)}@media (width>=900px){.tabbar{display:none}}.msg.progress{color:var(--muted);flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;display:flex}.progress-thought{color:var(--muted);font-size:.8rem;font-style:italic}.progress-text{background:linear-gradient(90deg, var(--muted) 0%, var(--muted) 40%, var(--text) 50%, var(--muted) 60%, var(--muted) 100%);color:#0000;background-size:250% 100%;-webkit-background-clip:text;background-clip:text;animation:2s linear infinite progress-shimmer}@keyframes progress-shimmer{0%{background-position:100% 0}to{background-position:0 0}}@keyframes progress-pulse{50%{opacity:.55}}.skeleton .row{cursor:default}.skel{background:var(--surface-alt);border-radius:6px;height:12px;animation:1.4s ease-in-out infinite skel-pulse;display:block}.skel.title{width:55%}.skel.line{width:80%;height:10px}.skel.value{flex:none;width:56px;height:14px}@keyframes skel-pulse{50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.skel{animation:none}.progress-text{color:var(--muted);background:0 0;animation:2s ease-in-out infinite progress-pulse}}.icon{vertical-align:middle;flex:none}.logout,.send,.card .btn-primary,.section-title,.banner,.msg.error,.tag,.goal-status{align-items:center;gap:6px;display:inline-flex}.section-title,.banner,.msg.error{display:flex}.tag,.goal-status{gap:4px}.goal-status.on-track .icon{color:var(--brand-green)}
