/* AMTake Health tools — scoped module (light-styled; theme inverts for dark). */
.hk-tool{
  --surface:#ffffff; --surface-2:#f4f5fb; --border:#ebedf5;
  --text:#14122b; --text-2:#5a5b78; --text-3:#9698b4;
  --r-sm:12px; --r:18px; --r-md:14px; --g1:#7c3aed; --g3:#0ea5e9; --brand:#5b5bf0;
  --shadow:0 12px 34px rgba(20,18,43,.09); --t:180ms cubic-bezier(.4,0,.2,1);
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; color:var(--text);
}
.hk-tool .field{margin-bottom:12px;}
.hk-tool .field label{display:block;font-weight:600;font-size:.9rem;margin-bottom:7px;color:var(--text);}
.hk-tool .field input,.hk-tool .field select{width:100%;padding:11px 13px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font:inherit;box-sizing:border-box;}
.hk-tool .field input:focus,.hk-tool .field select:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px rgba(124,58,237,.15);}
.howto-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;}
.howto-card{background:var(--surface-2);border:1px solid var(--border);border-radius:14px;padding:16px 18px;}
.howto-card h3{font-size:1rem;margin:0 0 8px;color:var(--brand);}
.howto-card ul{margin:0;padding-left:18px;color:var(--text-2);line-height:1.6;font-size:.9rem;}
/* ============ HEALTH KIT (premium health & wellness tools) ============ */
.hk-tool{--hk-needle:#0f172a;--hk-track:#e8edf3;}
[data-theme="dark"] .hk-tool{--hk-needle:#e2e8f0;--hk-track:#27313f;}
.hk-tool .hk-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.hk-tool .hk-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;}
@media(max-width:560px){.hk-tool .hk-row,.hk-tool .hk-row-3{grid-template-columns:1fr;}}
.hk-tool .field{margin-bottom:12px;}
.hk-tool .seg{display:flex;gap:6px;flex-wrap:wrap;}
.hk-tool .seg button{flex:1;min-width:80px;padding:9px 10px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);border-radius:var(--r-sm);font-weight:600;font-size:.9rem;cursor:pointer;transition:var(--t);}
.hk-tool .seg button.active{background:var(--accent,#16a34a);border-color:transparent;color:#fff;}
.hk-tool .hk-calc-btn{width:100%;height:50px;margin-top:6px;border:0;border-radius:var(--r-sm);font-family:var(--font-display,inherit);font-weight:700;font-size:1.02rem;color:#fff;cursor:pointer;background:linear-gradient(135deg,var(--accent,#16a34a),#0f766e);box-shadow:var(--shadow);transition:var(--t);}
.hk-tool .hk-calc-btn:hover{transform:translateY(-2px);}

/* results */
.hk-result{margin-top:20px;display:none;}
.hk-result.show{display:block;animation:hkFade .4s ease;}
@keyframes hkFade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
.hk-hero{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md,14px);padding:20px;}
@media(max-width:560px){.hk-hero{grid-template-columns:1fr;text-align:center;}}
.hk-hero-main h3{margin:0 0 2px;font-size:1.5rem;}
.hk-hero-tag{display:inline-block;font-weight:700;padding:3px 12px;border-radius:999px;color:#fff;font-size:0.9rem;margin:4px 0 8px;}
.hk-hero-sub{color:var(--text-2);font-size:.9rem;line-height:1.5;}

/* gauge — value ABOVE the dial, caption BELOW (no overlap, high contrast) */
.hk-gaugewrap{text-align:center;}
.hk-gauge-value{font-size:2.3rem;font-weight:800;line-height:1;color:var(--text);font-family:var(--font-display,inherit);}
.hk-gauge{width:210px;max-width:100%;height:auto;display:block;margin:6px auto 0;}
.hk-gauge-end{font-size:9px;fill:var(--text-3);font-weight:600;}
.hk-gauge-cap{font-size:0.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);margin-top:4px;}

/* horizontal bar chart */
.hk-barchart{display:flex;flex-direction:column;gap:10px;}
.hk-bcrow{display:grid;grid-template-columns:130px 1fr auto;align-items:center;gap:10px;}
.hk-bclabel{font-size:0.9rem;color:var(--text-2);line-height:1.3;}
.hk-bctrack{height:12px;background:var(--surface-2);border-radius:999px;overflow:hidden;}
.hk-bcfill{display:block;height:100%;border-radius:999px;transition:width .5s ease;}
.hk-bcval{font-size:0.9rem;font-weight:700;color:var(--text);font-family:var(--font-mono,monospace);min-width:70px;text-align:right;}
@media(max-width:480px){.hk-bcrow{grid-template-columns:92px 1fr auto;gap:7px;}.hk-bcval{min-width:56px;font-size:0.9rem;}}

/* donut */
.hk-donut{width:130px;height:130px;}
.hk-donut-top{font-size:15px;font-weight:800;fill:var(--text);}
.hk-donut-bot{font-size:9px;fill:var(--text-2);text-transform:uppercase;letter-spacing:.04em;}

/* comparison bar */
.hk-bar{position:relative;height:12px;border-radius:999px;background:var(--surface-2);overflow:visible;margin:10px 0 4px;}
.hk-bar span{position:absolute;top:0;height:100%;}
.hk-bar span:first-of-type{border-radius:999px 0 0 999px;}
.hk-bar span:last-of-type{border-radius:0 999px 999px 0;}
.hk-bar-marker{position:absolute;top:-4px;width:4px;height:20px;background:var(--hk-needle);border-radius:2px;transform:translateX(-50%);box-shadow:0 0 0 2px var(--surface);}

/* metric cards grid */
.hk-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:16px;}
.hk-metric{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md,14px);padding:16px;}
.hk-metric .hk-lbl{font-size:0.9rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);font-weight:700;display:flex;align-items:center;gap:6px;}
.hk-metric .hk-num{font-size:1.6rem;font-weight:800;color:var(--text);font-family:var(--font-display,inherit);line-height:1.1;margin-top:4px;}
.hk-metric .hk-sub{font-size:0.9rem;color:var(--text-2);margin-top:3px;line-height:1.45;}
.hk-metric .hk-pill{display:inline-block;font-size:0.9rem;font-weight:700;padding:2px 9px;border-radius:999px;margin-top:6px;}

/* sections inside results */
.hk-block{margin-top:18px;}
.hk-block h4{font-size:1rem;font-weight:700;margin:0 0 10px;display:flex;align-items:center;gap:8px;}
.hk-iwtable{width:100%;border-collapse:collapse;font-size:.9rem;}
.hk-iwtable td{padding:8px 10px;border-bottom:1px solid var(--border);}
.hk-iwtable td:last-child{text-align:right;font-weight:700;font-family:var(--font-mono,monospace);color:var(--text);}
.hk-iwtable tr:last-child td{border-bottom:none;}

/* personalised guidance list */
.hk-tips{list-style:none;padding:0;margin:0;}
.hk-tips li{position:relative;padding:8px 0 8px 26px;border-bottom:1px solid var(--border);font-size:.9rem;color:var(--text);line-height:1.55;}
.hk-tips li:last-child{border-bottom:none;}
.hk-tips li::before{content:"";position:absolute;left:4px;top:14px;width:8px;height:8px;border-radius:50%;background:var(--accent,#16a34a);}

/* goal planner / schedule */
.hk-goal{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md,14px);padding:16px;margin-top:8px;}
.hk-sched{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:8px;margin-top:8px;}
.hk-sched div{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:8px 4px;text-align:center;}
.hk-sched b{display:block;font-size:.95rem;color:var(--text);}
.hk-sched span{font-size:0.9rem;color:var(--text-3);}

/* history */
.hk-hist{margin-top:8px;font-size:0.9rem;}
.hk-hist table{width:100%;border-collapse:collapse;}
.hk-hist th,.hk-hist td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--border);color:var(--text-2);}
.hk-hist th{font-size:0.9rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-3);}

/* action buttons */
.hk-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.hk-actions button{display:inline-flex;align-items:center;gap:7px;padding:10px 16px;border-radius:var(--r-sm);font-weight:600;font-size:0.9rem;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);transition:var(--t);}
.hk-actions button:hover{border-color:var(--accent,#16a34a);color:var(--accent,#16a34a);}
.hk-actions .hk-primary{background:linear-gradient(135deg,var(--accent,#16a34a),#0f766e);color:#fff;border:0;}
.hk-actions .hk-primary:hover{color:#fff;transform:translateY(-2px);}

.hk-disclaimer{margin-top:16px;font-size:0.9rem;color:var(--text-2);background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--accent,#16a34a);border-radius:var(--r-sm);padding:11px 14px;line-height:1.55;}
.hk-printing{background:#fff !important;padding:24px !important;}
.hk-printing .hk-actions{display:none !important;}

/* ============ Accessibility ============ */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible,
.bt-drop:focus-visible,
.seg button:focus-visible {
  outline: 3px solid var(--accent, #2563eb);
  outline-offset: 2px;
  border-radius: 4px;
}
.sr-only {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0);
  white-space: nowrap; border: 0;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
    scroll-behavior: auto !important;
  }
}
