.monitor-console{display:grid;gap:16px}.monitor-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.monitor-head h2{margin:0;font-size:25px}.monitor-head p{margin:5px 0 0;color:#73828b;font-size:12px}.monitor-filters{display:grid;grid-template-columns:repeat(2,minmax(170px,220px));gap:9px}.monitor-stats{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:9px}.monitor-stat{padding:14px;border:1px solid #e3e9ed;border-radius:14px;background:linear-gradient(145deg,#fff,#f6f9fa)}.monitor-stat span{display:block;color:#728089;font-size:9px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.monitor-stat strong{display:block;margin-top:7px;color:#102630;font-size:21px}.monitor-grid{display:grid;grid-template-columns:1fr;gap:14px}.monitor-card{min-width:0;padding:17px;border:1px solid #e2e8ec;border-radius:16px;background:#fff}.monitor-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.monitor-card h3{margin:0;font-size:15px}.monitor-card small{color:#7c8990}.monitor-card .table-wrap{overflow:auto}.monitor-card table{width:100%}.monitor-card th{white-space:nowrap}.monitor-status{display:inline-flex;padding:5px 7px;border-radius:7px;background:#edf2f3;font-size:9px;font-weight:850;text-transform:uppercase}.monitor-status.pending{background:#fff3d8;color:#966000}.monitor-status.active,.monitor-status.success,.monitor-status.completed{background:#e8f8ef;color:#087247}.monitor-status.failed,.monitor-status.suspended,.monitor-status.rejected{background:#ffecef;color:#b32734}.monitor-loading{padding:45px;text-align:center;color:#6f7e86;font-weight:750}.monitor-error{padding:18px;border:1px solid #ffc9cc;border-radius:13px;background:#fff2f3;color:#a62d35}.monitor-reload{margin-left:8px;border:0;background:#a62d35;color:#fff;border-radius:7px;padding:7px 10px;font-weight:800;cursor:pointer}
@media(max-width:980px){.monitor-stats{grid-template-columns:repeat(3,1fr)}.monitor-head{align-items:stretch;flex-direction:column}.monitor-filters{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.monitor-stats{grid-template-columns:repeat(2,1fr)}.monitor-filters{grid-template-columns:1fr}}

html:has(body.monitoring-scroll){height:auto!important;min-height:100%;overflow-y:auto!important}body.monitoring-scroll{height:auto!important;min-height:100vh!important;max-height:none!important;overflow-x:hidden!important;overflow-y:auto!important}body.monitoring-scroll main,body.monitoring-scroll .dash-app,body.monitoring-scroll .dash-main,body.monitoring-scroll .dash-content,body.monitoring-scroll .dashboard-content,body.monitoring-scroll #monitoring{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}body.monitoring-scroll #monitoring{padding-bottom:36px}body.monitoring-scroll footer{position:relative!important}

/* Root document scrolling: keep the root viewport-sized so content beyond 100vh creates a real page scroll range. */
html:has(body.monitoring-scroll){height:100%!important;min-height:100%!important;overflow-x:hidden!important;overflow-y:auto!important}
body.monitoring-scroll{height:auto!important;min-height:100vh!important;max-height:none!important;overflow:visible!important}
body.monitoring-scroll .dash-app{overflow-x:clip!important;overflow-y:visible!important}
