[hidden]{display:none!important}
.p0-status{max-width:1100px;margin:18px auto 0;padding:12px 20px;background:#f8e8ed;border-radius:12px;color:#58332d;font-size:.88rem}
.p0-confirm{display:block;margin:18px 0}
.p0-notice{background:#fff0f3;padding:14px;border-radius:12px}
.safety-note{display:grid;gap:9px}
.safety-note p{margin:0}
.safety-resource{display:grid;gap:2px;padding-top:8px;border-top:1px solid rgba(126,48,55,.18)}
.safety-resource a{font-weight:800;color:inherit}
.safety-resource span{font-size:.82rem;line-height:1.55}
.message-row{width:100%;max-width:90%;padding:10px}
.message-row input,.message-row select,#historyPartner,#existingPartner,#eventForm select,#eventForm input{max-width:100%;min-height:42px;padding:8px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink)}
.message-row select{font:inherit}
.message-row button{justify-self:start}
button:disabled{opacity:.55;cursor:not-allowed}
#authCard{margin-top:24px}
#authCard form{display:grid;gap:12px;margin:20px 0}
#savedHistory{display:grid;gap:14px;margin:20px 0}
#eventForm{display:grid;gap:10px;margin-top:20px}
#analysisFields ul{padding-left:1.2em}
#privacyWarning{color:#a22b49}
.thumb{height:auto!important;padding-bottom:8px}
.thumb button{font-size:.75rem;padding:4px}
.p0-confirm input,.privacy-choice input{width:auto}
#existingPartner{display:block;width:100%;margin:8px 0 16px}
#eventForm textarea{min-height:100px}
#consultInputs{display:grid;gap:12px;border:0;padding:0;margin:22px 0}
#consultInputs legend{font-weight:700;margin-bottom:14px}
#consultInputs select,#consultInputs input:not([type=checkbox]),#situation{width:100%;min-height:44px;padding:12px;border:1px solid var(--line);border-radius:10px;background:white;color:var(--ink);font:inherit}
.consult-help{font-size:.85rem;line-height:1.8;color:var(--muted)}
#consultHistory{display:grid;gap:20px;margin-top:20px}
.consultation-turn{overflow-wrap:anywhere}
.consultation-turn p{white-space:pre-wrap}
.consultation-turn h4{margin-bottom:6px}
.consultation-turn .safety-note{padding:16px;background:#fff0f3;border-radius:12px;margin:16px 0}
@media(max-width:600px){.p0-status{margin:10px 12px;font-size:.8rem}.message-row{max-width:100%}#analysisFields{grid-template-columns:1fr}#authCard input{font-size:16px}}
/* A filtered header contains fixed descendants. On mobile it pinned the bottom
   navigation inside the header, covering the quick-exit button. */
@media(max-width:800px){.topbar{backdrop-filter:none;-webkit-backdrop-filter:none}}
