/* Sleep and recovery dashboard. Panels, tiles, chips and tooltips come from garmin-charts.css. */
.ga .ga-wellness { color:var(--ga-ink,#121316); font-variant-numeric:tabular-nums; }
.ga .ga-w-top { display:flex; align-items:center; justify-content:space-between; gap:12px 24px; flex-wrap:wrap; }
.ga .ga-w-summary { margin:0; font-size:1.0625rem; line-height:1.4; font-weight:600; max-width:none; flex:1 1 320px; min-width:0; }
.ga .ga-w-hint { margin:6px 0 20px; }
.ga .ga-w-ranges { display:flex; flex-shrink:0; gap:4px; }
.ga .ga-w-ranges button { min-height:40px; padding:6px 14px; background:var(--ga-paper,#fff); border:1px solid var(--ga-line,#d8dade); border-radius:6px; color:var(--ga-ink,#121316); font:inherit; font-size:.875rem; cursor:pointer; transition:background-color 120ms,border-color 120ms; }
.ga .ga-w-ranges button[aria-pressed="true"] { background:var(--ga-accent,#e9b83a); border-color:var(--ga-ink,#121316); font-weight:650; }
.ga .ga-w-ranges button:hover { border-color:var(--ga-ink,#121316); }
.ga .ga-wellness :is(button,input,summary,.ga-w-scatter):focus-visible,.ga .ga-w-before :is(button,input,summary):focus-visible { outline:2px solid var(--ga-focus,#121316); outline-offset:3px; }
.ga .ga-w-na .ga-kpi-v { font-size:1.125rem; line-height:1.6; letter-spacing:0; font-weight:600; color:var(--ga-muted,#5b6068); }
.ga .ga-wellness .ga-w-stack { display:grid; gap:16px; min-width:0; }
.ga .ga-wellness .ga-w-stack>.ga-panel { margin:0; }
.ga .ga-w-ph { margin:0 0 14px; font-size:1.0625rem; line-height:1.3; font-weight:650; letter-spacing:-.01em; }
.ga .ga-panel .ga-w-trio { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.ga .ga-panel .ga-w-trio>.ga-cbox,.ga .ga-panel .ga-w-trio>.ga-cbox+.ga-cbox { margin:0; padding:0; border:0; min-width:0; }
.ga .ga-panel .ga-w-trio>.ga-cbox+.ga-cbox { padding-left:20px; border-left:1px solid var(--ga-line,#e6e7e9); }
.ga .ga-w-trio .ga-chead { margin-bottom:8px; }
.ga .ga-w-day-picker { display:flex; align-items:center; gap:10px; font-size:.8125rem; font-weight:600; color:var(--ga-muted,#5b6068); margin:0; }
.ga .ga-w-day-picker input { width:min(260px,40vw); height:32px; margin:0; accent-color:var(--ga-ink,#121316); cursor:ew-resize; }
.ga .ga-w-day { padding-bottom:20px; }
.ga .ga-w-dayhead { display:flex; align-items:center; justify-content:space-between; gap:10px 20px; flex-wrap:wrap; margin-bottom:16px; }
.ga .ga-w-daytitles { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.ga .ga-w-status { display:inline-block; font-size:.8125rem; font-weight:600; line-height:1.4; padding:2px 10px; background:var(--ga-soft,#fdf3d3); color:var(--ga-ink,#121316); border:1px solid #d8c47d; border-radius:999px; text-transform:none; }
.ga .ga-w-groups { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px 28px; }
.ga .ga-w-group { min-width:0; }
.ga .ga-w-group h4 { margin:0 0 8px; font-size:.75rem; font-weight:650; letter-spacing:.06em; text-transform:uppercase; color:var(--ga-muted,#5b6068); }
.ga .ga-w-facts { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 16px; margin:0; font-size:.875rem; }
.ga .ga-w-facts dt { display:flex; align-items:center; gap:8px; color:var(--ga-muted,#5b6068); }
.ga .ga-w-facts dd { margin:0; text-align:right; font-weight:600; color:var(--ga-ink,#121316); overflow-wrap:anywhere; }
.ga .ga-w-sw { display:inline-block; flex:none; width:12px; height:12px; border-radius:2px; border:1px solid var(--ga-ink,#121316); }
.ga .ga-w-sw[data-stage="deep"] { background:#121316; }
.ga .ga-w-sw[data-stage="rem"] { background:#9b7c25; border-color:#9b7c25; }
.ga .ga-w-sw[data-stage="light"] { background:#c9cdd2; border-color:#6f7378; }
.ga .ga-w-sw[data-stage="awake"] { background:repeating-linear-gradient(135deg,#121316 0 1.5px,#e9b83a 1.5px 4px); }
.ga .ga-w-sessions { list-style:none; display:flex; flex-wrap:wrap; gap:6px; margin:16px 0 0; padding:0; }
.ga .ga-w-sessions li { padding:2px 10px; font-size:.8125rem; border:1px solid var(--ga-line,#d8dade); border-radius:999px; background:var(--ga-surface,#f5f5f5); }
.ga .ga-w-intra { margin-top:20px; padding-top:16px; border-top:1px solid var(--ga-line,#e6e7e9); }
.ga .ga-w-day>.ga-hint { margin-top:12px; }
.ga .ga-w-scatter { position:relative; max-width:100%; border-radius:4px; }
.ga .ga-w-scatter svg { display:block; max-width:100%; overflow:visible; font-family:inherit; }
.ga .ga-w-grid { stroke:var(--ga-line,#e6e7e9); stroke-width:1; }
.ga .ga-w-axis { stroke:#b0b4b9; stroke-width:1; }
.ga .ga-w-tick,.ga .ga-w-axtitle { font-size:12px; fill:#5b6068; }
.ga .ga-w-axtitle { font-weight:600; }
.ga .ga-w-trend { stroke:#9b7c25; stroke-width:2; stroke-linecap:round; opacity:.75; }
.ga .ga-w-dot { fill:#121316; fill-opacity:.7; stroke:#fff; stroke-width:1; pointer-events:none; transition:r 100ms; }
.ga .ga-w-dot.on { r:6; fill-opacity:1; fill:#e9b83a; stroke:#121316; stroke-width:2; }
.ga .ga-w-hit { fill:transparent; cursor:pointer; }
.ga .ga-w-corr .ga-cempty { margin-bottom:8px; }
.ga .ga-w-corr>.ga-hint { margin:8px 0; }
.ga .ga-w-before { padding:14px 0 4px; border-top:1px solid var(--ga-line,#d8dade); font-variant-numeric:tabular-nums; }
.ga .ga-w-before h3 { margin:0 0 10px; font-size:1rem; font-weight:650; }
.ga .ga-w-before .ga-w-facts { font-size:.8125rem; gap:5px 12px; }
.ga .ga-w-before .ga-hint { margin-top:10px; }
.ga .ga-w-none { margin:0; padding:10px 12px; font-size:.8125rem; color:var(--ga-muted,#5b6068); background:var(--ga-surface,#f5f5f5); border-radius:6px; }
@media(max-width:900px) {
  .ga .ga-panel .ga-w-trio { grid-template-columns:minmax(0,1fr); gap:18px; }
  .ga .ga-panel .ga-w-trio>.ga-cbox+.ga-cbox { padding:18px 0 0; border-left:0; border-top:1px solid var(--ga-line,#e6e7e9); }
  .ga .ga-w-groups { grid-template-columns:minmax(0,1fr); gap:18px; }
}
@media(max-width:700px) {
  .ga .ga-w-summary { font-size:1rem; }
  .ga .ga-w-day-picker { width:100%; }
  .ga .ga-w-day-picker input { flex:1; width:auto; }
}
@media(prefers-reduced-motion:reduce) { .ga .ga-w-ranges button,.ga .ga-w-dot { transition:none; } }
@media print { .ga .ga-w-ranges,.ga .ga-w-day-picker { display:none; } .ga .ga-w-day { background:#fff; } }
