html,body{width:100%;height:100%;overflow:hidden}
.workspace{height:100vh;overflow:hidden}
.page{height:calc(100vh - 60px);padding:8px 14px 10px;display:flex;flex-direction:column;overflow:hidden}
.page-head{height:58px;flex:0 0 58px}
#content{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}
.filterbar{padding:7px 10px;gap:8px;flex-wrap:nowrap;flex:0 0 auto;overflow-x:auto;overflow-y:hidden}
.status-strip{gap:7px;padding:7px 0;overflow-x:auto;overflow-y:hidden;flex:0 0 auto}
.status-chip{padding:7px 12px;min-width:112px}
.status-chip b{font-size:15px;margin-top:3px}
.toolbar{gap:7px;padding:6px 9px;flex:0 0 auto}
.table-shell{height:auto;min-height:0;flex:1 1 auto;overflow-x:auto;overflow-y:hidden}
.grid th,.grid td{padding:6px 9px;height:32px}
.compact-grid{min-width:100%}
.column-options{display:grid;grid-template-columns:repeat(2,1fr);gap:0 14px;border:1px solid #e1e7ef;border-radius:6px;padding:6px 12px;margin:12px 0}
.column-options label{padding:9px 4px;border-bottom:1px solid #edf0f4}
.column-group-title{font-weight:700;color:#3b4a5e;margin-top:12px}
.column-options .muted{grid-column:1/-1;color:#7a8795;padding:12px 4px}
.room-search{margin-bottom:7px}
.pager{gap:8px;padding:6px 9px;flex:0 0 auto}
.kpis{gap:8px;flex:0 0 auto;margin-top:8px}
.dashboard-filter{border-radius:7px}
.dashboard-filter label{display:flex;align-items:center;gap:7px;color:#69778a;font-size:12px;white-space:nowrap}
.dashboard-kpis{grid-template-columns:repeat(5,1fr)}
.kpi{padding:12px 14px}
.kpi b{font-size:25px;margin:7px 0 2px}
.dashboard-grid{gap:8px;margin-top:8px;flex:1;min-height:0}
.dashboard-grid>.panel{min-height:0;overflow:hidden}
.bars{height:calc(100% - 25px);min-height:100px;padding:10px 20px 26px}
.progress-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;flex:1;min-height:0;margin-top:8px}
.progress-panel{display:flex;flex-direction:column;min-height:0;padding:10px 12px;overflow:hidden}
.progress-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:0 0 auto}
.progress-head h3{margin:0}
.period-options{display:flex;gap:3px;background:#f1f4f7;padding:3px;border-radius:5px}
.period-options button{border:0;background:transparent;color:#68778a;padding:5px 8px;border-radius:4px;font-size:11px;cursor:pointer}
.period-options button.active{background:#fff;color:#075fa3;box-shadow:0 1px 4px #172b4d1f}
.scatter-wrap{position:relative;flex:1;min-height:0;margin-top:6px}
.scatter-wrap canvas{display:block;width:100%;height:100%;cursor:pointer}
.chart-tooltip{position:absolute;min-width:145px;background:#172f4d;color:#fff;padding:8px 10px;border-radius:5px;pointer-events:none;box-shadow:0 6px 18px #0b183344;font-size:12px}
.chart-tooltip b,.chart-tooltip span{display:block}.chart-tooltip span{margin-top:3px;color:#d9e8f5}
.upload-box{padding:12px;flex:0 0 auto}
.upload-box h3,.upload-box p{margin:4px 0}
.stepper{margin-bottom:7px;flex:0 0 auto}
.settings-layout{gap:10px;flex:1;min-height:0}
.settings-content{min-height:0;overflow:hidden}
.panel .table-shell[style]{max-height:240px}
@media(max-height:760px){.topbar{height:52px}.page{height:calc(100vh - 52px)}.page-head{height:50px;flex-basis:50px}.kpi small{display:none}.kpi b{font-size:21px}.tabs button{padding:9px 14px}.filterbar input,.filterbar select{padding:6px 8px}.btn,.ghost{padding:6px 10px}.sidebar{padding-top:10px}.brand{padding-bottom:12px}.nav-label{padding-top:12px}.help{display:none}}
@media(max-width:1000px){.progress-grid{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.period-options button{padding:4px 6px}}
@media(max-width:1000px){.dashboard-kpis{grid-template-columns:repeat(5,1fr)}.dashboard-kpis .kpi{padding:10px}.dashboard-kpis .kpi b{font-size:20px;margin:6px 0}}
