.web-history { display:flex; flex-direction:column; gap:14px; min-width:0; padding-bottom:calc(110px + env(safe-area-inset-bottom)); }
.web-history *, .web-history *::before, .web-history *::after { box-sizing:border-box; }
.web-history h1 { font-size:clamp(1.35rem,4vw,1.9rem); overflow-wrap:anywhere; }
.web-history .product-submodule-bar > div { min-width:0; }
.web-history .wh-filter-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:end; gap:14px; padding-top:14px; }
.web-history label { display:grid; grid-template-rows:1fr 48px; align-self:stretch; gap:7px; min-width:0; margin:0; font-weight:600; font-size:.9rem; }
.web-history input, .web-history select { width:100%; min-width:0; max-width:100%; height:48px; min-height:48px; max-height:48px; margin:0; font-size:16px; padding:10px 12px; }
.web-history input[type=date] { appearance:none; -webkit-appearance:none; display:block; width:100%; }
.web-history input::-webkit-date-and-time-value { text-align:left; min-width:0; }
.web-history button { min-height:44px; white-space:normal; overflow-wrap:anywhere; }
.web-history .wh-filter-grid button { align-self:end; min-height:48px; }
.web-history summary { min-height:44px; cursor:pointer; padding:10px 0; font-weight:600; }
.web-history .wh-kpis { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; margin:0; }
.web-history .wh-kpis .wh-quick { margin:0; padding:10px 8px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; min-width:0; min-height:72px; background:#fff; color:#302b30; border:1px solid #e8dce1; border-radius:16px; box-shadow:none; }
.web-history .wh-quick[aria-pressed=true] { background:#f9e9ee; border-color:#a88a34; }
.web-history .wh-kpis small { font-size:.76rem; line-height:1.2; overflow-wrap:anywhere; text-align:center; }
.web-history .wh-kpis strong { font-size:1.25rem; line-height:1.1; }
.web-history .wh-average { padding:14px; background:#fffaf0; border-radius:16px; color:#756222; }
.web-history .wh-list { display:grid; gap:14px; }
.web-history .wh-row { margin:0; padding:18px; min-width:0; overflow-wrap:anywhere; }
.web-history .wh-row-head { display:flex; justify-content:space-between; align-items:start; gap:12px; }
.web-history h2 { margin:0 0 5px; font-size:1.12rem; }
.web-history .wh-state { background:#f9eef2; border:1px solid #eadce2; border-radius:999px; padding:6px 10px; font-size:.85rem; flex-shrink:0; }
.web-history .wh-services { font-weight:600; color:#806a29; margin:14px 0 8px; }
.web-history .wh-timing { margin:10px 0; font-size:.95rem; font-weight:600; }
.web-history dl { display:grid; gap:12px; margin:14px 0; }
.web-history dt { font-size:.82rem; color:#777; }
.web-history dd { margin:5px 0 0; }
.web-history .wh-timeline { margin:15px 0 15px 18px; padding-left:12px; }
.web-history .wh-timeline li { padding:0 0 18px 4px; }
.web-history .wh-timeline time, .web-history .wh-timeline small { display:block; margin-top:5px; color:#777; font-size:.86rem; }
.web-history .wh-pager { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr); gap:10px; align-items:center; text-align:center; margin:18px 0; }
.web-history :focus-visible { outline:2px solid #a78c30; outline-offset:3px; }
@media(max-width:600px) { .web-history .wh-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } .web-history .wh-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); } .web-history .wh-pager { font-size:.85rem; gap:8px; } }
@media(max-width:360px) { .web-history .wh-filter-grid { grid-template-columns:minmax(0,1fr); } .web-history .wh-row-head { flex-wrap:wrap; } }

.web-history > p { margin:0; }
.web-history .wh-filters { margin:0; padding:16px; }
.web-history .product-submodule-bar { display:grid; grid-template-columns:minmax(0,1fr); justify-items:start; gap:6px; margin:0; padding:0; }
.web-history .product-submodule-bar h1 { margin:4px 0 0; }
.web-history .product-submodule-bar button { margin:0; }
@media(min-width:601px) and (max-width:1000px) { .web-history .wh-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); } }
