#hourlyCompareWrap label{display:flex;align-items:center;gap:8px;cursor:pointer;line-height:1.5}
#hourlyCompare{accent-color:var(--accent);width:16px;height:16px;flex:none}
.hourly-comparison{margin-top:16px;padding-top:14px;border-top:1px solid var(--line-soft)}
.hourly-comparison h3{font-size:12px;font-weight:500;margin:0 0 10px;color:var(--ink-strong)}
.hourly-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.hourly-metric{padding:10px;border:1px solid var(--line-soft);min-width:0}
.hourly-metric span,.hourly-metric small{display:block;font-size:10px;color:var(--ink-2)}
.hourly-metric strong{display:block;font:500 20px var(--mono);margin:5px 0;color:var(--ink)}
.hourly-map-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 10px;flex-wrap:wrap}
.hourly-mode{font-size:12px;color:var(--ink-strong)}
.hourly-scales{margin-left:auto}
.hourly-scale-label{margin:0 0 8px;color:var(--ink-strong)}
.hourly-legend{display:flex;gap:10px 18px;flex-wrap:wrap;font:10px var(--mono);color:var(--ink-2)}
.hourly-legend span{display:inline-flex;align-items:center;gap:6px}
.hourly-legend i{width:18px;height:12px;display:inline-block;border:1px solid var(--line-field)}
.hourly-scroll{max-width:100%;overflow-x:auto;margin-top:10px;scrollbar-width:thin;padding-bottom:4px}
.hourly-grid{width:100%;min-width:690px;table-layout:fixed;border-collapse:separate;border-spacing:2px;font:10px var(--mono)}
.hourly-grid th{font-weight:400;color:var(--ink-2);height:25px;text-align:center}
.hourly-grid th:first-child{width:104px;position:sticky;left:0;z-index:1;background:var(--bar);text-align:left;padding-left:2px;white-space:nowrap}
.hourly-grid td{padding:0;height:22px}
.hourly-cell{display:block;width:100%;height:100%;min-height:22px;border:1px solid transparent;padding:0;cursor:pointer;border-radius:0}
.hourly-cell:hover{filter:brightness(1.2)}
.hourly-cell.selected{border-color:var(--ink)}
.hourly-cell:focus-visible{outline:2px solid var(--ink);outline-offset:1px;position:relative;z-index:2}
.hourly-missing{background:repeating-linear-gradient(135deg,#10171d 0px,#10171d 3px,#2b333b 3px,#2b333b 4px)}
.hourly-detail{position:sticky;top:calc(var(--workspace-header-height,64px) + 4px);z-index:3;font:11px/1.7 var(--mono);color:var(--ink-strong);margin-top:10px;padding:10px 12px;background:var(--field);border:1px solid var(--line-field);min-height:38px;box-sizing:border-box}
.hourly-cell{scroll-margin-top:calc(var(--workspace-header-height,64px) + 105px)}
#hourlyAnalysis{scroll-margin-top:calc(var(--workspace-header-height,64px) + 12px)}
.hourly-error{font-size:12px;border-left:2px solid var(--alert);padding-left:10px}
.hourly-error button{background:transparent;border:1px solid var(--line-field);color:var(--ink);padding:5px 10px;cursor:pointer;font:inherit}
@media(max-width:1050px){.hourly-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.hourly-grid td{height:28px}.hourly-grid{min-width:820px}.hourly-metric strong{font-size:18px}.hourly-views{width:100%}.hourly-mode{display:none}}
