:root{
  --night:#0C221A; --cream:#FAF6EE; --sand:#F1E9DA; --paper:#FFFFFF;
  --green:#1F4D3A; --green-2:#2E6B52; --leaf:#DCE9DF;
  --turmeric:#C8922A; --turmeric-soft:#F6E7C8; --ember:#F08A3C; --sky:#8EA3D9; --jade:#5FB38A;
  --red:#B3261E; --red-soft:#FBEBEB; --amber-soft:#FFF4DC;
  --ink:#1D2420; --muted:#5D675F; --line:#E4DCCB;
  --shadow:0 10px 30px rgba(31,77,58,.08);
  --serif:"Fraunces", Georgia, serif; --sans:"DM Sans", system-ui, -apple-system, sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;min-height:100vh}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.15;color:var(--green)}
.tbc{background:var(--turmeric-soft);border-bottom:1.5px dashed var(--turmeric);padding:0 4px;border-radius:4px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 22px;border-radius:999px;font:inherit;font-weight:700;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:.2s;text-align:center}
.btn-primary{background:var(--green);color:#fff}.btn-primary:hover{background:var(--green-2)}
.btn-gold{background:var(--turmeric);color:#1a1306}.btn-gold:hover{filter:brightness(1.06)}
.btn-ghost{border-color:var(--line);background:#fff;color:var(--ink)}.btn-ghost:hover{border-color:var(--green-2)}
.btn-wa{background:#25D366;color:#073b1c}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn-sm{padding:8px 14px;font-size:.88rem}

/* top bar shared by assessment + doctor pages */
.bar{background:var(--night);color:#D8E6DC}
.bar .in{max-width:1180px;margin:0 auto;padding:0 20px;height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:#fff}
.brand i{width:34px;height:34px;border-radius:50%;background:var(--turmeric);display:grid;place-items:center;font-style:normal;color:var(--night);font-family:var(--serif);font-weight:600}
.brand b{font-family:var(--serif);font-size:1.2rem}
.brand small{display:block;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:#9DB8A7;font-weight:400}
.bar .in{justify-content:flex-start}
.bar .in > a.exit, .bar .in > span:last-child{margin-left:auto}
.bar-tag{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#9DB8A7;border-left:1px solid #2C5643;padding-left:12px}
.bar a.exit{color:#B7CDBF;font-size:.88rem;text-decoration:none}
.bar a.exit:hover{color:#fff}

/* fields */
label.lb{display:block;font-weight:700;font-size:.95rem;margin-bottom:8px}
.hint{font-size:.84rem;color:var(--muted);margin:-4px 0 10px}
input[type=text],input[type=tel],input[type=email],input[type=number],select,textarea{font:inherit;font-size:1rem;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);width:100%}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--green-2)}
textarea{min-height:96px;resize:vertical}
.field{margin-bottom:22px}
.err{color:var(--red);font-size:.84rem;margin-top:6px;min-height:0}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative;padding:10px 16px;border-radius:999px;border:1.5px solid var(--line);background:#fff;cursor:pointer;font-size:.93rem;font-weight:500;user-select:none;transition:.15s}
.chip:hover{border-color:var(--green-2)}
.chip input{position:absolute;opacity:0;pointer-events:none}
.chip:has(input:checked){background:var(--green);color:#fff;border-color:var(--green)}
.chip:has(input:focus-visible){outline:2px solid var(--turmeric);outline-offset:2px}
.scale{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.scale .chip{width:48px;padding:10px 0;text-align:center}
.scale span{font-size:.82rem;color:var(--muted)}
.check{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1.5px solid var(--line);border-radius:14px;background:#fff;cursor:pointer;margin-bottom:10px;font-size:.94rem}
.check input{margin-top:4px;width:18px;height:18px;accent-color:var(--green);flex:none}
.check:has(input:checked){border-color:var(--green-2);background:#F4F9F5}

/* print */
@media print{
  .bar,.noprint,.draft{display:none!important}
  body{background:#fff}
  .card,.panel{box-shadow:none!important;border:1px solid #ddd!important}
}
