:root{color-scheme:light;--bg: #f7f5ef;--surface: #ffffff;--ink: #171717;--muted: #66645f;--line: #ded9cc;--soft: #eeebe2;--accent: #245a4a;--accent-strong: #183f34;--danger: #b3262d;--danger-strong: #8d1d23;--ok: #23613f;--warn: #9a6a2f;--focus: #9a6a2f}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--ink);background:var(--bg);font-family:Inter,Segoe UI,Arial,sans-serif}button,input,select,textarea{font:inherit}button,.button-link{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--accent);border-radius:8px;padding:0 16px;color:#fff;background:var(--accent);font-weight:750;text-decoration:none;cursor:pointer}button:hover,.button-link:hover{border-color:var(--accent-strong);background:var(--accent-strong)}button:disabled{cursor:not-allowed;opacity:.55}.ghost-button{color:var(--ink);border-color:var(--line);background:var(--surface)}.ghost-button:hover{border-color:var(--accent);background:#e8f1ec}.link-button{min-height:30px;border:0;padding:0;color:var(--accent);background:transparent}.link-button:hover{color:var(--accent-strong);background:transparent}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:#fff}input,select{height:42px;padding:0 12px}textarea{min-height:116px;resize:vertical;padding:12px;line-height:1.5}button:focus-visible,a:focus-visible,input:focus,select:focus,textarea:focus{border-color:var(--focus);outline:3px solid color-mix(in srgb,var(--focus) 22%,transparent);outline-offset:2px}.app-shell{min-height:100vh;padding:18px clamp(14px,3vw,48px)}.workspace{position:relative;width:min(980px,100%);min-height:calc(100vh - 36px);margin:0 auto}.guide-topbar{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px}.guide-topbar>span{font-weight:850;letter-spacing:0}.menu-button{width:44px;padding:0;color:var(--ink);border-color:transparent;background:transparent}.menu-button:hover{border-color:var(--line);background:var(--surface)}.menu-panel{position:absolute;top:52px;right:0;z-index:10;width:min(380px,100%);max-height:calc(100vh - 88px);display:grid;gap:12px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:14px;background:var(--surface);box-shadow:0 18px 44px #17171724}.menu-panel label,.auth-panel form,.draft-composer form{display:grid;gap:8px}.menu-panel label span,.quiet-note span{color:var(--muted);font-size:.78rem;font-weight:850;text-transform:uppercase}.eyebrow{margin:0 0 5px;color:var(--muted);font-size:.74rem;font-weight:850;text-transform:uppercase}h1,h2{margin:0;line-height:1.08}.sos-home{min-height:calc(100vh - 120px);display:grid;place-items:center;align-content:center;gap:clamp(24px,5vw,42px);text-align:center}.idle-title{width:min(640px,100%);display:grid;gap:12px}.idle-title h1{font-size:clamp(2.2rem,8vw,4.4rem)}.idle-title p{margin:0;color:var(--muted);font-size:clamp(1.05rem,2vw,1.28rem);line-height:1.5}.sos-button{width:min(270px,70vw);aspect-ratio:1;min-height:0;flex-direction:column;border:0;border-radius:50%;color:#fff;background:var(--danger);box-shadow:0 20px 52px #b3262d42;font-size:clamp(3.2rem,12vw,5.3rem);letter-spacing:0}.sos-button:hover{background:var(--danger-strong)}.sos-button span{line-height:1}.active-guide{min-height:calc(100vh - 104px);display:grid;align-content:center;gap:18px}.recording-center{display:grid;justify-items:center;gap:8px;text-align:center}.recording-dot{width:18px;height:18px;border-radius:50%;background:var(--muted)}.recording-dot.active{background:var(--danger);box-shadow:0 0 0 8px #b3262d1f}.recording-center span{color:var(--muted);font-size:1rem;font-weight:800;text-transform:uppercase}.recording-center strong{font-size:clamp(3rem,12vw,6rem);line-height:1}.live-status{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}.live-status span,.review-checks span{min-height:34px;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:0 12px;color:var(--muted);background:var(--surface);font-size:.9rem;font-weight:700}.live-status span.ok,.review-checks span.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 34%,var(--line));background:#eaf2ed}.stop-recording-button{width:min(280px,100%);justify-self:center;color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,var(--line));background:#fff}.stop-recording-button:hover{color:#fff;border-color:var(--danger);background:var(--danger)}.next-step-card{width:min(720px,100%);justify-self:center;display:grid;gap:18px;border:1px solid var(--line);border-radius:8px;padding:clamp(18px,4vw,34px);background:var(--surface);box-shadow:0 12px 34px #17171714;text-align:center}.step-progress{color:var(--muted);font-size:.82rem;font-weight:850;text-transform:uppercase}.next-step-card h2{font-size:clamp(1.6rem,4vw,2.5rem)}.next-step-card p{margin:0;color:var(--ink);font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.48}.step-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.soft-negative{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 36%,var(--line));background:#fff}.soft-negative:hover{color:#fff;border-color:var(--danger);background:var(--danger)}.note-toggle{justify-self:center;color:var(--muted);border-color:transparent;background:transparent}.note-toggle:hover{color:var(--ink);border-color:var(--line);background:var(--surface)}.quiet-note{width:min(720px,100%);justify-self:center;display:grid;gap:8px}.guide-finish-row{width:min(720px,100%);justify-self:center;display:flex;align-items:center;justify-content:space-between;gap:12px}.guide-finish-row p,.global-status,.small-status,.report-summary{margin:0;color:var(--muted);line-height:1.45}.guide-finish-row button{flex:0 0 auto}.review-screen,.draft-composer{width:min(760px,100%);min-height:calc(100vh - 124px);display:grid;align-content:center;gap:16px;margin:0 auto}.review-head{display:grid;gap:8px;text-align:center}.review-head h1{font-size:clamp(2rem,6vw,3.5rem)}.review-head p{margin:0;color:var(--muted)}.review-checks{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}.narrative-list{display:grid;gap:8px;border:1px solid var(--line);border-radius:8px;padding:14px;background:var(--surface)}.narrative-list>div{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.narrative-list>div:last-child{border-bottom:0}.narrative-list span{color:var(--muted)}.narrative-list strong{text-align:right}.review-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.report-text,.generated-text{width:100%;min-height:260px;line-height:1.55}.complaint-panel{display:grid;gap:12px;border:1px solid var(--line);border-radius:8px;padding:14px;background:var(--surface)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.complaint-meta{display:flex;flex-wrap:wrap;gap:8px}.complaint-meta span{border:1px solid var(--line);border-radius:999px;padding:6px 10px;color:var(--muted);background:var(--soft);font-size:.84rem}.draft-composer{align-content:start;padding-top:80px}.draft-composer textarea{min-height:220px}.auth-panel,.history-panel{display:grid;gap:10px;border-top:1px solid var(--line);padding-top:12px}.history-list{display:grid;gap:8px}.history-item{min-height:70px;height:auto;display:grid;justify-items:start;gap:3px;border-color:var(--line);color:var(--ink);background:#fff;text-align:left}.history-item:hover,.history-item.active{border-color:var(--accent);background:#e8f1ec}.history-item span{color:var(--accent);font-size:.72rem;font-weight:850;text-transform:uppercase}.history-item small,.empty-state{color:var(--muted)}.empty-state{min-height:72px;display:grid;place-items:center;gap:8px}.global-status{min-height:22px;margin-top:10px;text-align:center}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:720px){.app-shell{padding:14px 12px}.workspace{min-height:calc(100vh - 28px)}.step-actions,.guide-finish-row,.section-heading{align-items:stretch;grid-template-columns:1fr;flex-direction:column}.guide-finish-row button,.review-actions button,.button-link{width:100%}.narrative-list>div{align-items:flex-start;flex-direction:column;gap:4px;padding:8px 0}.narrative-list strong{text-align:left}}
