:root{--bg:#faf7f5;--card:#fff;--ink:#2b2230;--muted:#7a6f80;--accent:#5b3f6e;--period:#e9a3a8;--period-ink:#5a1d24;--banner:#f4c542;--line:#e7e0e9;color:var(--ink);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--bg);margin:0}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.app{flex-direction:column;max-width:480px;min-height:100dvh;margin:0 auto;padding-top:32px;display:flex}.demo-banner{z-index:100;text-align:center;background:var(--banner);color:#3a2c00;letter-spacing:.02em;height:32px;font-size:14px;font-weight:700;line-height:32px;position:fixed;top:0;left:0;right:0}.screen{flex:1;padding:16px}.app>.screen{padding-bottom:calc(16px + env(safe-area-inset-bottom))}.loading{padding:16px}h1{margin:.4rem 0 .8rem;font-size:1.4rem}h2{margin:0 0 .5rem;font-size:1rem}.muted{color:var(--muted)}.center{text-align:center}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;margin:0 0 12px;padding:14px 16px}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0;font-size:.75rem}.onboarding{flex-direction:column;justify-content:center;gap:16px;min-height:70vh;display:flex}.lead{font-size:1.2rem;line-height:1.5}.primary{background:var(--accent);color:#fff;border:0;border-radius:12px;padding:14px;font-size:1.05rem}.secondary{background:var(--card);color:var(--accent);border:1px solid var(--accent);border-radius:10px;padding:10px 12px}.danger{color:#a02a2a;background:#fff;border:1px solid #a02a2a;border-radius:10px;padding:10px 12px}.home{flex-direction:column;align-items:stretch;display:flex}.mic{background:var(--accent);color:#fff;border:0;border-radius:50%;align-self:center;width:160px;height:160px;margin:32px 0 8px;font-size:64px}.mic.recording{background:#a02a2a;animation:1.4s ease-in-out infinite pulse}.mic.busy{opacity:.6}@keyframes pulse{0%,to{box-shadow:0 0 #a02a2a73}50%{box-shadow:0 0 0 18px #a02a2a00}}@media (prefers-reduced-motion:reduce){.mic.recording{animation:none}}.mic-status{min-height:1.4em;margin:0 0 16px}.mic-status.error{color:#a02a2a}.transcript p{white-space:pre-wrap;margin:0;line-height:1.5}.tabs{background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);justify-content:center;display:flex;position:sticky;bottom:0}.tabs button{max-width:120px;color:var(--muted);background:0 0;border:0;flex:1;padding:14px 4px}.tabs button.active{color:var(--accent);font-weight:700}.month-head{justify-content:space-between;align-items:center;display:flex}.month-head button{color:var(--accent);background:0 0;border:0;padding:4px 12px;font-size:1.6rem}.grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.weekday{text-align:center;color:var(--muted);padding-bottom:2px;font-size:.75rem}.day{aspect-ratio:1;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:10px;grid-template-rows:1fr auto auto;padding:3px 0;display:grid}.day .num{align-self:center;font-weight:600}.day .cd{color:var(--muted);min-height:.8em;font-size:.65rem}.day .dot{color:var(--accent);min-height:.6em;font-size:1rem;line-height:.6}.day.period{background:var(--period);border-color:var(--period);color:var(--period-ink)}.day.period .cd{color:var(--period-ink)}.day.today{outline:2px solid var(--accent);outline-offset:1px}.day.future{opacity:.4;background:0 0}.legend{margin:10px 0;font-size:.8rem}.swatch{background:var(--period);border-radius:3px;width:10px;height:10px;display:inline-block}.period-buttons{grid-template-columns:1fr 1fr;gap:8px;display:grid}.back{color:var(--accent);background:0 0;border:0;padding:0}.fields{margin:0}.fields>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:6px 0;display:flex}.fields>div:last-child{border-bottom:0}.fields dt{color:var(--muted)}.fields dd{text-align:right;margin:0}.transcript{margin:0;font-style:italic;line-height:1.5}.chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.chips li{background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:4px 10px}.row{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;display:flex}input[type=date]{font:inherit;padding:6px}.hint{color:var(--ink);background:#f3eef6;border-radius:10px;margin:12px 0 0;padding:10px 12px;font-size:.9rem}.badge{color:#3a2a00;letter-spacing:.03em;vertical-align:middle;text-transform:uppercase;background:#f4c542;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:.7rem;font-style:normal;font-weight:700;display:inline-block}.field-value{color:inherit;text-align:right;-webkit-text-decoration:underline dotted var(--line);text-decoration:underline dotted var(--line);text-underline-offset:4px;background:0 0;border:0;padding:0}.corrected{color:var(--accent);font-size:.8rem}.editor{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.editor form{gap:6px;display:flex}.editor input{font:inherit;width:10em;max-width:100%;padding:6px}.link{color:var(--muted);background:0 0;border:0;padding:4px;text-decoration:underline}.small{margin:6px 0 0;font-size:.8rem}.reply p{margin:0 0 6px;line-height:1.5}.reply p:last-child{margin-bottom:0}.follow-up{font-weight:600}.escalation{color:#5a1010;background:#fdecec;border-color:#a02a2a;font-weight:600;line-height:1.5}.escalation p{margin:0}.wide{width:100%}.privacy-note{color:#1f3d23;background:#eef6ef;border-color:#b9d8bd;font-size:.9rem;line-height:1.45}.summary h3{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:10px 0 4px;font-size:.85rem}.lines{margin:0;padding:0;list-style:none}.line{border-bottom:1px solid var(--line);padding:8px 0}.line:last-child{border-bottom:0}.line-text{margin:0 0 6px;line-height:1.45}.line-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;display:flex}.sources{flex-wrap:wrap;gap:4px;display:flex}.chip{border:1px solid var(--line);background:var(--bg);color:var(--accent);border-radius:999px;padding:2px 8px;font-size:.75rem}.chip.more{color:var(--muted)}.line-actions{gap:2px;margin-left:auto;display:flex}.danger-link{color:#a02a2a}.tag{color:var(--muted);vertical-align:middle;background:#f3eef6;border-radius:6px;margin-left:6px;padding:0 6px;font-size:.7rem;display:inline-block}.line-edit textarea,.fallback{width:100%;font:inherit;border:1px solid var(--line);border-radius:8px;padding:8px}.small-btn{padding:8px 14px;font-size:.95rem}.export .row{margin-top:4px}.reminder-banner{background:var(--accent);color:#fff;border-radius:14px;flex-direction:column;gap:8px;margin:8px 16px 0;padding:12px 14px;display:flex}.reminder-text{margin:0;font-weight:600}.reminder-actions{gap:8px;display:flex}.reminder-go{color:var(--accent);background:#fff;border:0;border-radius:10px;padding:8px 14px;font-weight:600}.reminder-dismiss{color:#fff;background:0 0;border:1px solid #fff9;border-radius:10px;padding:8px 14px}.toggle-row{justify-content:space-between;align-items:center;gap:12px;font-weight:600;display:flex}.switch{background:#cfc6d4;border:0;border-radius:15px;flex:none;width:52px;height:30px;padding:0;transition:background .15s;position:relative}.switch .knob{background:#fff;border-radius:50%;width:24px;height:24px;transition:left .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000040}.switch.on{background:var(--accent)}.switch.on .knob{left:25px}@media (prefers-reduced-motion:reduce){.switch,.switch .knob{transition:none}}.error{color:#a02a2a}.consent-check{align-items:center;gap:8px;margin:12px 0;display:flex}.coach .form label,.coach label{flex-direction:column;gap:4px;margin-bottom:12px;font-size:.95em;display:flex}.coach input,.coach textarea,.coach select{font:inherit;border:1px solid var(--line);box-sizing:border-box;border-radius:8px;width:100%;padding:8px}.coach img{max-width:100%;height:auto;margin:8px auto;display:block}.coach button{margin-top:8px;margin-right:8px}button.link{color:#a02a2a;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.period-edit button{margin:6px 8px 0 0}
