/* M5: scoped health component presentation. Never style theme wrappers or editor controls. */
.bphp-component .bphp-health-module{box-sizing:border-box;container-type:inline-size;width:100%;min-width:0;margin:0 0 16px;padding:clamp(16px,2.4vw,26px);border:1px solid var(--bphp-line,#dbe3ef);border-radius:var(--bphp-component-radius,18px);background:var(--bphp-surface,#fff);color:var(--bphp-text,#182e46);box-shadow:0 12px 35px -26px rgba(10,35,67,.35);font-family:inherit}
.bphp-health-module *{box-sizing:border-box;min-width:0}
.bphp-health-module-head{display:grid;gap:6px;margin:0 0 20px}
.bphp-health-module-head h3{font-family:inherit;font-size:clamp(1.15rem,2cqw + .95rem,1.65rem);line-height:1.18;letter-spacing:-.025em;margin:0;color:var(--bphp-text,#182e46)}
.bphp-health-module-head p{font-size:.92rem;line-height:1.5;color:var(--bphp-muted,#596b80);margin:0}
.bphp-health-module-body{min-width:0}
.bphp-health-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.bphp-health-stat{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:clamp(12px,1.8vw,18px);border-radius:14px;background:color-mix(in srgb,var(--bphp-primary,#174a7a) 5%,var(--bphp-surface,#fff));border:1px solid color-mix(in srgb,var(--bphp-primary,#174a7a) 9%,transparent)}
.bphp-health-stat strong{color:var(--bphp-primary,#174a7a);font-weight:750;font-size:clamp(1.22rem,2.8cqw,1.95rem);line-height:1.2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.bphp-health-stat span{color:var(--bphp-muted,#596b80);font-size:.82rem;font-weight:600}
.bphp-health-stats-compact{grid-template-columns:repeat(2,minmax(0,1fr))}
.bphp-health-context{grid-column:1/-1;color:var(--bphp-muted,#596b80);font-size:.81rem;margin:7px 0 0}
.bphp-health-week{margin:0;display:grid;gap:12px}
.bphp-health-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(3px,1cqw,14px);align-items:end;min-height:190px;padding:10px 0 0}
.bphp-health-week-item{display:grid;grid-template-rows:20px minmax(80px,1fr) 20px;justify-items:center;gap:5px;height:180px;align-items:end}
.bphp-health-week-bar{display:block;max-width:46px;width:75%;background:linear-gradient(180deg,var(--bphp-accent,var(--bphp-primary,#174a7a)),var(--bphp-primary,#174a7a));border-radius:9px 9px 3px 3px;align-self:end;min-height:2px}
.bphp-health-week-value,.bphp-health-week-label{color:var(--bphp-muted,#596b80);font-size:clamp(.55rem,1.3cqw,.78rem);text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap}
.bphp-health-glucose{display:grid;gap:16px}
.bphp-health-glucose .bphp-health-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.bphp-health-glucose svg{width:100%;height:auto;max-height:240px;color:var(--bphp-primary,#174a7a);background:color-mix(in srgb,var(--bphp-primary,#174a7a) 3%,var(--bphp-surface,#fff));border-radius:12px}
.bphp-health-connectors{display:grid;gap:9px}
.bphp-health-connector{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border:1px solid var(--bphp-line,#dbe3ef);border-radius:12px}
.bphp-health-connector strong{font-size:.96rem;overflow-wrap:anywhere}
.bphp-health-connector span{border-radius:999px;padding:5px 10px;font-weight:700;font-size:.76rem;background:color-mix(in srgb,var(--bphp-muted,#596b80) 10%,transparent);white-space:nowrap}
.bphp-health-connector .is-connected{background:color-mix(in srgb,#148259 13%,var(--bphp-surface,#fff));color:#137146}
.bphp-health-module-body:has(.bphp-health-action){display:flex;flex-wrap:wrap;gap:10px}
.bphp-health-action{display:inline-flex;align-items:center;justify-content:center;text-decoration:none!important;text-align:center;min-height:44px;padding:10px 17px;border:1px solid var(--bphp-line,#dbe3ef);border-radius:11px;background:color-mix(in srgb,var(--bphp-primary,#174a7a) 6%,var(--bphp-surface,#fff));color:var(--bphp-text,#182e46)!important;font-weight:700}
.bphp-health-action:hover{background:color-mix(in srgb,var(--bphp-primary,#174a7a) 14%,var(--bphp-surface,#fff))}
.bphp-health-action:focus-visible{outline:3px solid var(--bphp-accent,#2994d6);outline-offset:3px}
.bphp-health-editor-preview{border-style:dashed!important;box-shadow:none!important}
.bphp-health-empty{color:var(--bphp-muted,#596b80);font-size:.93rem;line-height:1.55}
@container (max-width:500px){.bphp-health-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.bphp-health-glucose .bphp-health-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container (max-width:280px){.bphp-health-stats,.bphp-health-glucose .bphp-health-stats{grid-template-columns:1fr}.bphp-health-connector{align-items:flex-start;flex-direction:column}.bphp-health-week-value{font-size:.55rem}}
@media (prefers-reduced-motion:reduce){.bphp-health-module *, .bphp-health-module *::before{animation:none!important;transition:none!important}}
@media print{.bphp-health-reports,.bphp-health-quick-actions{display:none!important}.bphp-health-module{break-inside:avoid;box-shadow:none!important}}

/* The existing record-entry workspace keeps its functionality, but shares M5's
   polished containers, controls and column-aware layout. */
.bphp-tracking-shell{container-type:inline-size}
.bphp-tracking-shell .bphp-tracking-hero{border-radius:24px;background:linear-gradient(128deg,color-mix(in srgb,var(--bphp-primary) 10%,var(--bphp-surface)) 0%,var(--bphp-surface) 80%);box-shadow:0 18px 46px -38px rgba(12,38,62,.46)}
.bphp-tracking-shell .bphp-track-card,
.bphp-tracking-shell .bphp-tracking-stats>div,
.bphp-tracking-shell .bphp-connector-card,
.bphp-tracking-shell .bphp-vial-card{
 border-radius:16px;border-color:color-mix(in srgb,var(--bphp-primary) 13%,var(--bphp-surface));
 box-shadow:0 10px 28px -25px rgba(10,34,59,.36);min-width:0;
}
.bphp-tracking-shell .bphp-track-card-head h2{font-family:inherit;letter-spacing:-.02em;line-height:1.2}
.bphp-tracking-shell .bphp-tracking-tabs{scrollbar-width:thin;scroll-snap-type:x proximity}
.bphp-tracking-shell .bphp-tracking-tabs>button{scroll-snap-align:start;min-height:44px}
.bphp-tracking-shell :is(input,textarea,select):focus-visible,
.bphp-tracking-shell :is(button,a):focus-visible{outline:3px solid var(--bphp-accent,#087eab);outline-offset:3px}
.bphp-tracking-shell :is(input,textarea,select){max-width:100%}
.bphp-tracking-shell .bphp-metric-chart svg,
.bphp-tracking-shell .bphp-cgm-chart svg{max-width:100%;height:auto}
.bphp-tracking-shell .bphp-table-wrap{max-width:100%;min-width:0}
.bphp-tracking-shell .bphp-table{font-variant-numeric:tabular-nums}
.bphp-tracking-shell :is(.bphp-nutrition-macro-grid,.bphp-cgm-stats,.bphp-connector-grid){min-width:0}
@container (max-width:760px){
 .bphp-tracking-shell .bphp-tracking-grid-2{grid-template-columns:1fr}
 .bphp-tracking-shell .bphp-connector-grid{grid-template-columns:1fr}
 .bphp-tracking-shell .bphp-cgm-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .bphp-tracking-shell .bphp-tracking-hero{flex-direction:column;align-items:flex-start}
}
@container (max-width:425px){
 .bphp-tracking-shell .bphp-tracking-stats,.bphp-tracking-shell .bphp-nutrition-macro-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .bphp-tracking-shell .bphp-form-row{grid-template-columns:1fr}
 .bphp-tracking-shell .bphp-track-card{padding:14px}
 .bphp-tracking-shell .bphp-track-card-head{flex-direction:column;align-items:flex-start}
 .bphp-tracking-shell .bphp-tracking-hero{padding:18px}
}
@container (max-width:290px){
 .bphp-tracking-shell .bphp-tracking-stats,.bphp-tracking-shell .bphp-nutrition-macro-grid{grid-template-columns:1fr}
}

/* Existing REST-backed record forms can be placed as individual native widgets. */
.bphp-health-entry-form{display:grid;gap:14px}
.bphp-health-entry-form label{display:grid;gap:6px;color:var(--bphp-text,#182e46);font-size:.9rem;font-weight:700}
.bphp-health-entry-form :is(input,select,textarea){box-sizing:border-box;width:100%;min-height:44px;padding:10px 12px;font:inherit;font-size:16px;border:1px solid var(--bphp-line,#cbd9e6);border-radius:10px;color:var(--bphp-text,#182e46);background:var(--bphp-surface,#fff)}
.bphp-health-entry-form :is(input,select,textarea):focus-visible{outline:3px solid var(--bphp-accent,#087eab);outline-offset:2px}
.bphp-health-entry-form button[type=submit]{justify-self:start;min-height:44px;border:0;border-radius:11px;padding:10px 19px;font:inherit;font-weight:750;color:var(--bphp-on-primary,#fff);background:var(--bphp-primary,#18569a);cursor:pointer}
.bphp-health-entry-form button:disabled{opacity:.55;cursor:progress}
.bphp-health-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.bphp-health-entry-feedback{min-height:1.4em;color:var(--bphp-muted,#52667a);font-size:.9rem;margin:0}
.bphp-health-entry-note{font-size:.84rem;color:var(--bphp-muted,#52667a);margin:0;line-height:1.5}
@container (max-width:380px){.bphp-health-form-grid{grid-template-columns:1fr}}

/* M6: scoping to BioHack only; keyboard, high-contrast and reduced-motion support. */
.bphp-health-module :is(button,a,input,select,textarea,[tabindex]):focus-visible,
.bphp-health-entry-form :is(button,input,select):focus-visible {
  outline:3px solid var(--bphp-accent,#087eab);outline-offset:3px;
}
.bphp-health-entry-form[aria-busy="true"] button[type="submit"] {cursor:progress;}
@media (forced-colors:active) {
 .bphp-health-module :is(button,a,input,select,textarea):focus-visible{outline:3px solid Highlight;}
 .bphp-health-week-bar{border:2px solid CanvasText;background:Highlight;forced-color-adjust:auto;}
}
@media (prefers-reduced-motion:reduce){
 .bphp-health-module,.bphp-health-module *,.bphp-health-module *::before,.bphp-health-module *::after{animation-duration:0.01ms!important;transition-duration:0.01ms!important;scroll-behavior:auto!important;}
}
