/* #74 I/O record · 24h fluid balance */
.io{ background:var(--ax-background-default); border:1px solid var(--ax-border-default); border-radius:var(--ax-radius-lg); overflow:hidden;}
.io__head{ display:flex; justify-content:space-between; align-items:flex-start; padding:12px 16px; border-bottom:1px solid var(--ax-border-default); flex-wrap:wrap; gap:10px;}
.io__title{ font-size:13px; font-weight:600; color:var(--ax-text-heading);}
.io__sub{ font-size:11px; color:var(--ax-text-subtle); font-family:var(--ax-font-mono); margin-top:2px;}
.io__day-nav{ display:flex; gap:6px; align-items:center; font-family:var(--ax-font-mono); font-size:11px;}
.io__day-nav button{ width:22px; height:22px; border-radius:4px; border:1px solid var(--ax-border-default); background:var(--ax-background-default); color:var(--ax-text-default); cursor:default; display:grid; place-items:center; font-family:inherit;}
.io__day-cur{ font-weight:600; color:var(--ax-text-heading); padding:0 6px;}

/* Summary band */
.io__sum{ display:grid; grid-template-columns: repeat(4, 1fr); gap:1px; background:var(--ax-border-subtle);}
.io__sum-cell{ padding:10px 14px; background:var(--ax-background-default); display:flex; flex-direction:column; gap:2px;}
.io__sum-label{ font-size:9px; text-transform:uppercase; letter-spacing:0.08em; color:var(--ax-text-subtle); font-family:var(--ax-font-mono); font-weight:600;}
.io__sum-value{ font-size:22px; font-weight:700; color:var(--ax-text-heading); font-family:var(--ax-font-mono); line-height:1.1; font-variant-numeric:tabular-nums;}
.io__sum-unit{ font-size:11px; color:var(--ax-text-subtle); font-weight:400; margin-left:4px;}
.io__sum-delta{ font-size:10px; font-family:var(--ax-font-mono); color:var(--ax-text-subtle);}
.io__sum-cell--bal{ background:var(--ax-background-subtle);}
.io__sum-bal--pos{ color:var(--ax-warning-emphasis);}
.io__sum-bal--neg{ color:var(--ax-success-emphasis);}

/* Bar visualization */
.io__bars{ padding:14px 16px; border-top:1px solid var(--ax-border-subtle); border-bottom:1px solid var(--ax-border-subtle); background:var(--ax-background-subtle);}
.io__bar-row{ display:grid; grid-template-columns: 60px 1fr 80px; gap:10px; align-items:center; margin-bottom:8px;}
.io__bar-row:last-child{ margin-bottom:0;}
.io__bar-label{ font-family:var(--ax-font-mono); font-size:10px; text-transform:uppercase; letter-spacing:0.06em; color:var(--ax-text-subtle); font-weight:600;}
.io__bar-track{ height:14px; background:var(--ax-background-default); border:1px solid var(--ax-border-subtle); border-radius:3px; position:relative; overflow:hidden;}
.io__bar-fill{ height:100%; display:flex; align-items:center; justify-content:flex-end; padding-right:6px; font-family:var(--ax-font-mono); font-size:9px; font-weight:600;}
.io__bar-fill--in{ background:var(--ax-info-subtle); color:var(--ax-info-emphasis);}
.io__bar-fill--out{ background:var(--ax-warning-subtle); color:var(--ax-warning-emphasis);}
.io__bar-total{ font-family:var(--ax-font-mono); font-size:11px; color:var(--ax-text-heading); font-weight:600; text-align:right; font-variant-numeric:tabular-nums;}

/* Hourly grid */
.io__grid{ overflow-x:auto;}
.io__grid table{ width:100%; border-collapse:collapse; font-family:var(--ax-font-mono); font-size:11px;}
.io__grid th{ background:var(--ax-background-muted); color:var(--ax-text-subtle); font-weight:600; text-transform:uppercase; letter-spacing:0.04em; font-size:9px; padding:6px 8px; text-align:right; border-bottom:1px solid var(--ax-border-default); border-right:1px solid var(--ax-border-subtle); position:sticky; top:0;}
.io__grid th:first-child{ text-align:left;}
.io__grid th:last-child{ border-right:none;}
.io__grid td{ padding:5px 8px; text-align:right; border-bottom:1px solid var(--ax-border-subtle); border-right:1px solid var(--ax-border-subtle); color:var(--ax-text-default); font-variant-numeric:tabular-nums;}
.io__grid td:first-child{ text-align:left; color:var(--ax-text-heading); font-weight:600; background:var(--ax-background-subtle);}
.io__grid td:last-child{ border-right:none;}
.io__grid tr:last-child td{ border-bottom:none;}
.io__grid td.io__td-in{ color:var(--ax-info-emphasis);}
.io__grid td.io__td-out{ color:var(--ax-warning-emphasis);}
.io__grid td.io__td-zero{ color:var(--ax-text-subtle); opacity:0.4;}
.io__grid tr.io__row-shift td{ background:var(--ax-background-muted); font-weight:700; color:var(--ax-text-heading); border-top:1px solid var(--ax-border-default); border-bottom:1px solid var(--ax-border-default);}
.io__grid tr.io__row-shift td:first-child{ text-transform:uppercase; font-size:9px; letter-spacing:0.06em;}

.io__foot{ display:flex; justify-content:space-between; align-items:center; padding:10px 16px; border-top:1px solid var(--ax-border-default); background:var(--ax-background-subtle); flex-wrap:wrap; gap:10px;}
.io__legend{ display:flex; gap:12px; font-family:var(--ax-font-mono); font-size:10px; color:var(--ax-text-subtle);}
.io__legend-dot{ display:inline-block; width:8px; height:8px; border-radius:2px; margin-right:4px; vertical-align:middle;}
.io__btn-row{ display:flex; gap:6px;}
.io__btn{ padding:5px 10px; font-size:11px; font-family:var(--ax-font-mono); font-weight:600; border-radius:5px; border:1px solid var(--ax-border-default); background:var(--ax-background-default); color:var(--ax-text-default); cursor:default;}
.io__btn--primary{ background:var(--ax-text-heading); color:var(--ax-background-default); border-color:var(--ax-text-heading);}
