:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#26222b;background:#f5f2f7}
*{box-sizing:border-box} body{margin:0;min-height:100vh}
button,input,select,textarea{font:inherit} button{cursor:pointer;border:0;border-radius:12px;padding:.78rem 1rem;background:#6f4c85;color:white;font-weight:700}
button.secondary{background:#eee7f2;color:#493552} button.ghost{background:transparent;color:#5b4564;border:1px solid #d9cde0}
button.icon{width:2.5rem;height:2.5rem;padding:0;font-size:1.4rem} button.full{width:100%}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:1.1rem clamp(1rem,4vw,3rem);background:#fff;border-bottom:1px solid #e8e1ec;position:sticky;top:0;z-index:5}
.topbar h1{margin:0;font-size:1.45rem;letter-spacing:.06em}.top-actions,.row{display:flex;gap:.7rem;align-items:center}.spread{justify-content:space-between}
.shell{padding:1.5rem clamp(1rem,4vw,3rem) 4rem}.grid{display:grid;grid-template-columns:280px minmax(320px,1fr);gap:1rem;align-items:start}.result{grid-column:2}
.card{background:#fff;border:1px solid #e7deeb;border-radius:20px;padding:1.25rem;box-shadow:0 8px 30px rgba(56,35,67,.06)}
.sidebar{position:sticky;top:6.2rem}.section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.section-head h2,.section-head h3{margin:.2rem 0}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;color:#8b7198;font-weight:800;margin:0}.muted{color:#766c7a}
label{display:grid;gap:.42rem;font-size:.86rem;font-weight:700;margin:.75rem 0}input,select,textarea{width:100%;border:1px solid #d9cde0;border-radius:12px;padding:.8rem;background:#fff;color:#26222b}textarea{resize:vertical;line-height:1.5}
.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.badge{display:inline-flex;padding:.38rem .65rem;border-radius:999px;background:#e8dff0;color:#5a3c6c;font-size:.75rem;font-weight:800}.badge.soft{background:#f2edf5}
.brand-summary{margin:1rem 0;padding:1rem;border-radius:14px;background:#faf7fb;font-size:.88rem}.brand-summary p{margin:.35rem 0}
.history-list{display:grid;gap:.55rem;max-height:45vh;overflow:auto}.history-item{padding:.75rem;border-radius:12px;background:#faf7fb;border:1px solid transparent}.history-item:hover{border-color:#d6c4df}.history-item strong{display:block}.history-item small{color:#817687}
.result article{padding:1rem 0;border-bottom:1px solid #eee7f2}.result article:last-child{border-bottom:0}.result h3{margin:0 0 .55rem}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.result-grid article{border:1px solid #eee7f2;border-radius:14px;padding:1rem}
.recommendation{background:#faf7fb;padding:1rem!important;border-radius:14px;border:1px solid #eadff0!important}.celebrate{background:#fff8e9;padding:1rem!important;border-radius:14px;border:1px solid #f0dfaf!important}
blockquote{margin:.6rem 0;padding:1rem;border-left:4px solid #7e5a92;background:#faf7fb;border-radius:0 12px 12px 0;white-space:pre-wrap}
.message{min-height:1.2rem;color:#8b2f48}.hidden{display:none!important}hr{border:0;border-top:1px solid #eee7f2;margin:1.2rem 0}
dialog{border:0;border-radius:20px;padding:0;box-shadow:0 25px 90px rgba(33,20,39,.3);width:min(92vw,560px)}dialog::backdrop{background:rgba(33,20,39,.45)}.modal{padding:1.4rem}.modal.wide{width:min(92vw,760px)}
.auth-card{max-width:520px;margin:4rem auto}
@media(max-width:850px){.grid{grid-template-columns:1fr}.sidebar{position:static}.result{grid-column:1}.two-cols,.result-grid{grid-template-columns:1fr}.topbar{align-items:flex-start}.top-actions{flex-wrap:wrap;justify-content:flex-end}}
.follow-up-card{background:#f7fbff;padding:1rem!important;border-radius:14px;border:1px solid #dcebf4!important}
.follow-up-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.follow-up-grid p{margin:.35rem 0}
.lir-card{background:#f7f2fb;padding:1rem!important;border-radius:14px;border:1px solid #dfcfea!important}
.lir-card button{margin:.8rem 0 .55rem}.download-options{display:grid;gap:.7rem;margin:1rem 0}.download-options button{width:100%}
@media(max-width:850px){.follow-up-grid{grid-template-columns:1fr}}

.metrics-entry{margin-top:.7rem}
.outcome-card{background:#f8fbf7;padding:1rem!important;border-radius:14px;border:1px solid #dcebd8!important}
.metrics-modal{width:min(94vw,920px)}
.metrics-report-head{margin-top:1.2rem}
.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:.75rem;margin:1rem 0}
.metric-card{background:#faf7fb;border:1px solid #e9dfee;border-radius:14px;padding:1rem}
.metric-card strong{display:block;font-size:1.55rem;margin:.25rem 0;color:#4f3760}
.metric-card span{font-size:.8rem;color:#766c7a}
.metrics-summary{background:#fff8e9;border:1px solid #f0dfaf;border-radius:14px;padding:1rem;margin:1rem 0}
.metrics-summary h3{margin-top:0}
.formula-details{background:#f7fbff;border:1px solid #dcebf4;border-radius:14px;padding:.85rem 1rem;margin:1rem 0}
.formula-details summary{cursor:pointer;font-weight:800;color:#4f3760}
.formula-details p{margin:.55rem 0}
@media(max-width:850px){.metrics-grid{grid-template-columns:repeat(2,minmax(130px,1fr))}}
@media(max-width:480px){.metrics-grid{grid-template-columns:1fr}}
