/*
 * Ontario CourtBuddy — SafePath safety-plan builder styles.
 * All new classes are prefixed cb-sp-*. Reuses theme classes from app.css
 * (.card, .formcard, .checkitem, .calcgrid, .warning, .muted, button.primary).
 */

/* top bar: title + quick exit always together */
.cb-sp-topbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.cb-sp-topbtns{display:flex;gap:8px;flex-wrap:wrap}
.cb-sp-quickexit{background:#c81e2b;color:#fff;border:2px solid #8f1420;font-weight:700;padding:10px 16px;border-radius:6px;cursor:pointer}
.cb-sp-quickexit:hover,.cb-sp-quickexit:focus{background:#a01520}

/* emergency banner + crisis panel */
.cb-sp-emergency{border:2px solid #c81e2b;margin-bottom:14px}
.cb-sp-emergency a{color:inherit}
.cb-sp-crisis{margin-bottom:14px;border-left:4px solid var(--accent,#2b6cb0)}
.cb-sp-crisisgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.cb-sp-crisisitem{padding:8px;border:1px solid var(--border,#ddd);border-radius:6px;font-size:.92em}

/* sub-nav */
.cb-sp-subnav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}

/* plan fields */
.cb-sp-field{display:block;margin:10px 0}
.cb-sp-label{display:block;font-weight:700;margin-bottom:4px}
.cb-sp-hint{display:block;font-size:.9em;margin-bottom:6px}
.cb-sp-field textarea,.cb-sp-field input,.cb-sp-field select{width:100%;max-width:100%;box-sizing:border-box}
.cb-sp-contacts{margin:4px 0}
.cb-sp-contact{margin:8px 0}
.cb-sp-checklist .checkitem{margin:6px 0}

/* screens */
.cb-sp-q{border:1px solid var(--border,#ddd);border-radius:6px;padding:10px;margin:10px 0}
.cb-sp-q legend{font-weight:700;padding:0 6px}
.cb-sp-opts{display:flex;gap:14px;flex-wrap:wrap;margin-top:6px}
.cb-sp-opts label{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border,#ddd);border-radius:6px;cursor:pointer}
.cb-sp-result{border:2px solid var(--border,#ccc);border-radius:8px;padding:12px;margin-top:12px}
.cb-sp-band-few{border-color:#2f855a}
.cb-sp-band-some{border-color:#b7791f}
.cb-sp-band-many{border-color:#c81e2b}
.cb-sp-band-lower{border-color:#2f855a}
.cb-sp-band-moderate{border-color:#b7791f}
.cb-sp-band-high{border-color:#c81e2b}
.cb-sp-band-severe{border-color:#c81e2b;background:rgba(200,30,43,.06)}
.cb-sp-framing{margin:10px 0}
.cb-sp-medical{margin-top:12px}
.cb-sp-audit{width:100%;border-collapse:collapse;margin-top:10px;font-size:.9em}
.cb-sp-audit th,.cb-sp-audit td{border:1px solid var(--border,#ccc);padding:6px 8px;text-align:left;vertical-align:top}
.cb-sp-audit th{background:rgba(0,0,0,.04)}

/* separation-violence panel */
.cb-sp-sep{border:2px solid #9c4221;margin-bottom:14px}
.cb-sp-sep ul{line-height:1.9}

/* safe print indicator */
.cb-sp-safeon{border:2px solid #c81e2b;border-radius:6px;padding:10px;margin:10px 0;background:rgba(200,30,43,.06)}
.cb-sp-safeoff{border:1px solid var(--border,#ccc);border-radius:6px;padding:10px;margin:10px 0}
.cb-sp-safeon-print{border:2px solid #000;padding:8px;margin:10px 0}

/* wallet card — roughly credit-card size */
.cb-sp-wallet{width:3.375in;max-width:100%;min-height:2.125in;border:2px solid #000;border-radius:10px;padding:10px 12px;margin:10px 0;background:#fff;color:#000;box-sizing:border-box}
.cb-sp-wallet-head{border-bottom:2px solid #000;padding-bottom:6px;margin-bottom:6px;font-size:1.05em}
.cb-sp-wallet-sec{font-weight:700;margin:8px 0 4px;border-top:1px dashed #888;padding-top:6px;font-size:.9em}
.cb-sp-wallet-row{font-size:.85em;line-height:1.7}
.cb-sp-wallet-note{font-size:.85em}
.cb-sp-printpreview{border:1px dashed var(--border,#bbb);border-radius:6px;padding:12px;margin-top:8px;background:rgba(0,0,0,.02)}

/* print area content */
.cb-sp-print{font-size:11pt;color:#000;background:#fff}
.cb-sp-printhead{border-bottom:3px solid #000;padding-bottom:8px;margin-bottom:12px}
.cb-sp-print h3{margin:16px 0 6px;font-size:12pt}
.cb-sp-print p{margin:6px 0}
.cb-sp-printlist{line-height:1.8;margin:6px 0;padding-left:22px}

/* in-app modal (confirm / notice) */
.cb-sp-modal{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:9999;padding:16px}
.cb-sp-modalbox{background:#fff;color:#000;border-radius:10px;padding:20px;max-width:440px;width:100%;box-shadow:0 8px 30px rgba(0,0,0,.35)}
.cb-sp-modalbox p{margin:0 0 16px;line-height:1.6}
.cb-sp-modalbtns{display:flex;gap:10px;justify-content:flex-end}

/* mobile: keep everything inside 412px */
@media (max-width:480px){
  .cb-sp-topbtns .cb-sp-quickexit{flex:1 1 100%}
  .cb-sp-opts{gap:8px}
  .cb-sp-opts label{padding:8px 12px}
  .cb-sp-audit{font-size:.82em}
  .cb-sp-wallet{width:100%}
}

/* print: only the print area shows; screen chrome is hidden */
@media print{
  .cb-sp-subnav,.cb-sp-topbar,.cb-sp-crisis,.cb-sp-emergency,.cb-sp-printpreview,
  .cb-sp-modal,button,.cb-sp-quickexit{display:none !important}
  .cb-sp-wallet{box-shadow:none;page-break-inside:avoid}
  .cb-sp-print{font-size:10.5pt}
}
