/* HelloHealthy Dashboard CSS */
:root { --hh-red:#7B1A1A; --hh-red-lt:#f5e8e8; --hh-green:#2D6A4F; --hh-border:#E8E0D5; --hh-wa:#25D366; }
.hh-dashboard { font-family:'Inter',Arial,sans-serif; }
.hh-dash-nav  { display:flex; flex-wrap:wrap; gap:2px; border-bottom:2px solid var(--hh-border); margin-bottom:22px; }
.hh-dash-tab  { padding:9px 15px; font-weight:500; color:#888; border-bottom:2px solid transparent; margin-bottom:-2px; transition:all .18s; font-size:13px; text-decoration:none; }
.hh-dash-tab:hover, .hh-dash-tab.active { color:var(--hh-red); border-bottom-color:var(--hh-red); text-decoration:none; }
.hh-btn { display:inline-flex; align-items:center; gap:5px; padding:8px 17px; border-radius:99px; font-weight:600; font-size:.83rem; border:2px solid transparent; cursor:pointer; transition:all .18s; text-decoration:none; white-space:nowrap; }
.hh-btn:hover { text-decoration:none; }
.hh-btn--primary   { background:var(--hh-red); color:#fff; border-color:var(--hh-red); }
.hh-btn--primary:hover { background:#5a1212; border-color:#5a1212; color:#fff; }
.hh-btn--secondary { background:transparent; color:var(--hh-red); border-color:var(--hh-border); }
.hh-btn--secondary:hover { border-color:var(--hh-red); }
.hh-btn--wa  { background:var(--hh-wa); color:#fff; border-color:var(--hh-wa); }
.hh-btn--wa:hover  { background:#1da851; color:#fff; }
.hh-btn--sm  { padding:5px 13px; font-size:.78rem; }
.hh-challenge-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:16px; }
.hh-ch-card  { background:#fff; border:1.5px solid var(--hh-border); border-radius:12px; overflow:hidden; box-shadow:0 1px 4px rgba(0,0,0,.05); transition:all .18s; }
.hh-ch-card:hover { box-shadow:0 6px 20px rgba(0,0,0,.09); transform:translateY(-3px); }
.hh-ch-thumb { width:100%; height:145px; object-fit:cover; display:block; }
.hh-ch-body  { padding:14px; }
.hh-ch-body h3 { font-size:.97rem; margin:0 0 5px; }
.hh-status { display:inline-block; padding:2px 8px; border-radius:99px; font-size:11px; font-weight:700; }
.hh-status--active  { background:#d4f0e0; color:#1a5c38; }
.hh-status--pending { background:#fef3c7; color:#92400e; }
.hh-pdf-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:14px; }
.hh-pdf-group { margin-bottom:28px; }
.hh-pdf-group-head { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; border-bottom:1.5px solid var(--hh-border); padding-bottom:10px; margin-bottom:14px; }
.hh-pdf-group-head h3 { margin:0; color:var(--hh-red); font-size:1.15rem; }
.hh-pdf-group-head p { margin:3px 0 0; color:#999; font-size:12px; }
.hh-pdf-group-head span { background:var(--hh-red-lt); color:var(--hh-red); border-radius:99px; padding:5px 11px; font-size:12px; font-weight:700; white-space:nowrap; }
.hh-pdf-card { background:#fff; border:1.5px solid var(--hh-border); border-radius:12px; overflow:hidden; display:flex; flex-direction:column; }
.hh-pdf-icon { background:var(--hh-red-lt); padding:18px; text-align:center; font-size:2.3rem; }
.hh-pdf-info { padding:13px; flex:1; }
.hh-pdf-info strong { display:block; color:var(--hh-red); font-size:13px; margin-bottom:3px; }
.hh-pdf-info p { font-size:11px; color:#777; margin:0 0 3px; }
.hh-pdf-info small { font-size:11px; color:#aaa; }
.hh-q-list { display:flex; flex-direction:column; gap:9px; }
.hh-q-item { background:#fff; border-radius:10px; padding:14px 17px; border:1.5px solid var(--hh-border); overflow:hidden; }
.hh-q-item--done { border-left:4px solid var(--hh-green); }
.hh-q-item strong { display:block; font-size:14px; margin-bottom:3px; }
.hh-q-item small { color:#999; font-size:12px; }
.hh-wa-item { display:flex; justify-content:space-between; align-items:center; background:#fff; border:1.5px solid var(--hh-border); border-radius:12px; padding:14px 17px; margin-bottom:11px; }
.hh-wa-item strong { display:block; font-size:13px; }
.hh-wa-item p { margin:3px 0 0; font-size:11px; color:#999; }
.hh-form-row { margin-bottom:15px; }
.hh-form-row label { display:block; font-weight:600; font-size:13px; margin-bottom:4px; }
.hh-notice { padding:12px 16px; border-radius:7px; margin-bottom:13px; }
.hh-notice--ok { background:#d4f0e0; color:#1a5c38; border-left:4px solid #27ae60; }
.hh-empty { text-align:center; padding:44px 18px; color:#aaa; }
.hh-empty p { font-size:14px; margin-bottom:14px; }
@media(max-width:600px){
  .hh-challenge-grid,.hh-pdf-grid{grid-template-columns:1fr;}
  .hh-wa-item{flex-direction:column;gap:11px;text-align:center;}
  .hh-dash-tab{padding:7px 9px;font-size:12px;}
}
