html,body,#root{height:100%;margin:0}body{background:#f5f7fa}.app-logo{color:#fff;font-weight:700;font-size:16px;padding:16px;white-space:nowrap;overflow:hidden}.app-logo small{display:block;font-weight:400;font-size:11px;opacity:.75}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin-bottom:16px}.two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:16px}@media (max-width: 600px){.two-col{grid-template-columns:1fr}.ant-layout-content{padding:12px!important}}.gantt-wrap{overflow:auto;border:1px solid #f0f0f0;background:#fff;max-height:70vh}.gantt-row:hover{background:#fafafa}.bar-chart-row{display:grid;grid-template-columns:170px 1fr 70px;align-items:center;gap:8px;margin:4px 0;font-size:13px}.bar-track{background:#f0f0f0;border-radius:4px;height:16px;overflow:hidden;display:flex}.leaflet-container{height:520px;width:100%;border-radius:8px}.clickable{cursor:pointer}.muted{color:#8c8c8c}.week-grid td{vertical-align:top;min-width:120px}.ant-table-cell.ant-table-cell-align-right,td.ant-table-cell[style*="text-align: right"]{white-space:nowrap}
