/* Health tools module (healthplus): trackers, challenge, meals, conditions, vaccines, first aid, directory. Compact; works at 375 px. */
.hp{--hp-line:#e5e7eb;--hp-muted:#6b7280;--hp-ok:#2e6b57;--hp-warn:#b45309;--hp-bad:#b91c1c;--hp-soft:#f6f8f7}
.hp h1{font-size:22px;margin:0 0 4px}
.hp h2{font-size:17px;margin:0 0 8px}
.hp h3{font-size:14.5px;margin:0 0 6px}
.hp p{margin:0 0 8px}
.hp .hp-lead{color:var(--hp-muted);font-size:14px;max-width:760px}
.hp-nav{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 14px}
.hp-nav a{font-size:13px;padding:4px 10px;border:1px solid var(--hp-line);border-radius:999px;color:inherit;text-decoration:none;background:#fff;white-space:nowrap}
.hp-nav a.on{background:var(--hp-ok);border-color:var(--hp-ok);color:#fff}
.hp-sos{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;background:#fef2f2;border:1px solid #fecaca;color:#7f1d1d;border-radius:8px;padding:8px 12px;font-size:13.5px;margin:0 0 12px}
.hp-sos a{color:#7f1d1d;font-weight:600;text-decoration:none;white-space:nowrap}
.hp-note{font-size:12.5px;color:var(--hp-muted);margin-top:10px}
.hp-review{display:inline-block;font-size:12px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;border-radius:6px;padding:2px 8px;margin:0 0 8px}
.hp-card{background:#fff;border:1px solid var(--hp-line);border-radius:8px;padding:12px 14px;margin-bottom:12px}
.hp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.hp-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
@media (max-width:767px){.hp-two{grid-template-columns:minmax(0,1fr)}}
.hp-tile{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--hp-line);border-radius:8px;padding:10px 12px;background:#fff;color:inherit;text-decoration:none}
.hp-tile:hover{border-color:var(--hp-ok)}
.hp-tile i{font-size:20px;color:var(--hp-ok);line-height:1}
.hp-tile b{display:block;font-size:14px}
.hp-tile span{font-size:12.5px;color:var(--hp-muted)}
.hp-msg{border-radius:8px;padding:8px 12px;font-size:13.5px;margin:0 0 10px;border:1px solid}
.hp-msg.urgent{background:#fef2f2;border-color:#fca5a5;color:#7f1d1d}
.hp-msg.watch{background:#fffbeb;border-color:#fcd34d;color:#78350f}
.hp-msg.info,.hp-msg.ok{background:#f0fdf4;border-color:#bbf7d0;color:#14532d}
.hp-msg.err{background:#fef2f2;border-color:#fecaca;color:#991b1b}
/* trackers */
.hp-kinds{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;margin-bottom:10px;-webkit-overflow-scrolling:touch}
.hp-kinds button{flex:0 0 auto;border:1px solid var(--hp-line);background:#fff;border-radius:8px;padding:6px 10px;font-size:13px;white-space:nowrap}
.hp-kinds button.on{border-color:var(--hp-ok);background:var(--hp-soft);color:var(--hp-ok);font-weight:600}
.hp-form{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}
.hp-form label{display:flex;flex-direction:column;font-size:12.5px;color:var(--hp-muted);gap:2px;min-width:0}
.hp-form input,.hp-form select{width:110px;max-width:100%}
.hp-form input.wide{width:180px}
.hp-ranges{display:flex;gap:4px}
.hp-ranges button{border:1px solid var(--hp-line);background:#fff;border-radius:6px;font-size:12.5px;padding:2px 8px}
.hp-ranges button.on{background:var(--hp-ok);color:#fff;border-color:var(--hp-ok)}
.hp-chart{position:relative;height:200px}
.hp-last{font-size:13px;color:var(--hp-muted)}
.hp-list{font-size:13px;max-height:320px;overflow:auto}
.hp-list table{width:100%}
.hp-list td{padding:4px 6px;border-top:1px solid var(--hp-line);vertical-align:top}
.hp-local{font-size:12.5px;background:var(--hp-soft);border-radius:6px;padding:6px 10px;margin-bottom:10px}
/* challenge */
.hp-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;max-width:420px}
.hp-days button,.hp-days span{aspect-ratio:1;border:1px solid var(--hp-line);border-radius:6px;background:#fff;font-size:12.5px;padding:0;display:flex;align-items:center;justify-content:center}
.hp-days button.on{background:var(--hp-ok);border-color:var(--hp-ok);color:#fff}
.hp-days button:disabled{opacity:.4}
.hp-board li{display:flex;justify-content:space-between;font-size:13.5px;padding:3px 0;border-bottom:1px solid var(--hp-line)}
/* meals */
.hp-week{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.hp-day{border:1px solid var(--hp-line);border-radius:8px;padding:8px 10px;background:#fff}
.hp-day b{font-size:13.5px}
.hp-day label{display:block;font-size:12px;color:var(--hp-muted);margin-top:4px}
.hp-day select{width:100%;font-size:13px}
.hp-shop li{font-size:13.5px;padding:3px 0;border-bottom:1px dashed var(--hp-line);display:flex;gap:6px;align-items:flex-start}
.hp-shop small{color:var(--hp-muted)}
/* conditions */
.hp-az{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}
.hp-az a{font-size:12.5px;padding:2px 7px;border:1px solid var(--hp-line);border-radius:5px;text-decoration:none;color:inherit}
.hp-letter{font-size:15px;margin:12px 0 4px;color:var(--hp-ok)}
.hp-cols{columns:3 220px;column-gap:16px;font-size:14px}
.hp-cols a{display:block;padding:2px 0;break-inside:avoid}
.hp-sym{display:flex;flex-wrap:wrap;gap:6px;padding:0;list-style:none}
.hp-sym li{font-size:13px;border:1px solid var(--hp-line);border-radius:999px;padding:2px 10px;background:#fff}
.hp-sym li.red{border-color:#fca5a5;background:#fef2f2}
/* vaccines */
.hp-vax{list-style:none;padding:0;margin:0}
.hp-vax>li{border:1px solid var(--hp-line);border-radius:8px;padding:8px 12px;margin-bottom:8px;background:#fff}
.hp-vax>li.past{background:var(--hp-soft)}
.hp-vax .hp-when{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:13.5px}
.hp-vax label{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;margin-top:4px}
/* first aid */
.hp-steps{padding-left:20px;margin:0 0 8px}
.hp-steps li{margin-bottom:6px;font-size:14.5px}
.hp-dont li{margin-bottom:4px;font-size:14px}
.hp-src{font-size:12.5px;color:var(--hp-muted);padding-left:18px;margin:0}
.hp-src a{word-break:break-word}
/* directory */
.hp-dir{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.hp-dir .hp-card{margin:0}
.hp-dir .bi-patch-check-fill{color:var(--hp-ok)}
.hp-filter{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.hp-filter select,.hp-filter input{width:auto;max-width:100%;font-size:13.5px}
@media print{
  .site-header,.site-footer,footer,.hp-nav,.hc-tabs,.hp-noprint,.hp-sos .hp-noprint{display:none!important}
  .hp-card{border:0;padding:0}
  .hp-print{display:block!important}
}
html.sabbath .hp-card,html.sabbath .hp-tile,html.sabbath .hp-day{background:transparent}
