.performance-main{padding-top:14px;padding-bottom:36px}.performance-section{margin:17px 0}.section-heading{margin:0 0 10px}.section-heading h2{font-size:16px;margin:0}.section-heading p{font-size:10px;color:var(--muted,#667085);margin:4px 0}.performance-filters{display:flex;gap:9px;align-items:end;flex-wrap:wrap}.date-field,.filter-field{display:flex;flex-direction:column;gap:5px;font-size:10px;font-weight:700;min-width:140px;flex:1}.date-field input,.filter-field select{height:34px;border:1px solid #d9e7ee;border-radius:7px;padding:0 8px;background:#fff;color:#172033;width:100%;font-size:11px}.filter-fields{display:contents}.performance-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.performance-kpi,.performance-card{background:#fff;border:1px solid #dce6ef;border-radius:11px;box-shadow:0 4px 18px rgba(18,38,63,.055)}.performance-kpi{padding:13px;min-height:96px}.performance-kpi small{display:block;color:#65738b;font-size:10px;font-weight:750;text-transform:uppercase;line-height:1.4}.performance-kpi strong{display:block;font-size:24px;margin-top:11px;color:#102044}.presence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.analysis-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.performance-card{padding:15px;min-width:0;min-height:245px}.performance-card h3{font-size:15px;margin:0 0 12px}.performance-card .subheading{font-size:10px;color:#65738b;margin:-7px 0 10px}.bar-row{display:grid;grid-template-columns:minmax(80px,32%) minmax(40px,1fr) auto;gap:8px;align-items:center;width:100%;padding:7px 5px;border:0;border-radius:5px;background:transparent;color:inherit;text-align:left;cursor:pointer;font-size:11px}.bar-row:hover,.bar-row.selected{background:#e8f5fb}.bar-row .bar-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-track{height:9px;background:#eaf1f7;border-radius:9px;overflow:hidden}.bar-fill{height:100%;background:#168fca;border-radius:9px}.bar-row.selected .bar-fill{background:#ed8a36}.bar-count{font-weight:750;font-variant-numeric:tabular-nums}.bar-rate{color:#667085;font-size:9px;margin-left:4px}.reserved{display:flex;flex-direction:column;justify-content:center;align-items:center;border-style:dashed;color:#8090a1}.reserved p{font-size:11px}.performance-error{background:#fff1f1;border:1px solid #f1baba;border-radius:8px;padding:12px;color:#a92b2b}.performance-empty{color:#7a8796;font-size:11px;padding:16px 0}.performance-loading{opacity:.6}html[data-theme=dark] .performance-kpi,html[data-theme=dark] .performance-card{background:#152530;border-color:#29404f;color:#edf5f9}html[data-theme=dark] .performance-kpi strong{color:#edf5f9}html[data-theme=dark] .bar-row.selected,html[data-theme=dark] .bar-row:hover{background:#254152}html[data-theme=dark] .bar-track{background:#2a4050}html[data-theme=dark] .date-field input,html[data-theme=dark] .filter-field select{background:#152530;color:#edf5f9;border-color:#29404f}@media(max-width:1400px){.performance-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.analysis-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-grid .performance-card:last-child{grid-column:1/-1}}@media(max-width:800px){.performance-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.presence-grid,.analysis-grid{grid-template-columns:1fr}.analysis-grid .performance-card:last-child{grid-column:auto}}
/* Compact Operations-sized performance layout and restrained chart scrollbars. */
.performance-main{max-width:1900px;margin:0 auto;padding:10px 16px 30px}
.performance-section{margin:12px 0}.performance-kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.performance-kpi{min-height:85px;padding:11px 13px;position:relative;overflow:hidden}.performance-kpi strong{font-size:23px;margin-top:8px}.performance-kpi small{font-size:9px}
.performance-card{min-height:0;height:305px;overflow:hidden}.presence-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.presence-grid .performance-card{overflow-y:auto;scrollbar-width:thin;scrollbar-color:#365368 transparent}.presence-grid .performance-card::-webkit-scrollbar{width:5px}.presence-grid .performance-card::-webkit-scrollbar-track{background:transparent}.presence-grid .performance-card::-webkit-scrollbar-thumb{background:#365368;border-radius:8px}.presence-grid .performance-card::-webkit-scrollbar-thumb:hover{background:#52728a}
.performance-card .bar-row{padding:5px 3px}.quick-range{display:flex;justify-content:flex-end;align-items:center;gap:6px;margin:0 0 9px;font-size:10px}.quick-range button{background:transparent;color:inherit;border:1px solid #405263;border-radius:7px;padding:7px 9px;font-size:10px;cursor:pointer}.quick-range button.active,.quick-range button:hover{background:#238ad2;color:white;border-color:#238ad2}.performance-filters{gap:8px}.date-field,.filter-field{min-width:125px}
.column-chart{display:flex;align-items:stretch;gap:7px;height:235px;padding:8px 3px 0;border-bottom:1px solid #405263}.column-item{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px;border:0;background:transparent;color:inherit;cursor:pointer;padding:0}.column-value{font-size:9px;font-weight:700}.column-bar{width:75%;max-width:40px;background:#238fda;border-radius:4px 4px 0 0;min-height:2px}.column-item.selected .column-bar{background:#ed8a36}.column-label{height:42px;max-width:100%;font-size:9px;line-height:1.15;overflow:hidden;overflow-wrap:anywhere;text-align:center}.analysis-grid .performance-card{height:275px}
@media(max-width:1400px){.performance-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}.analysis-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.analysis-grid .performance-card:last-child{grid-column:auto}}
@media(max-width:900px){.performance-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.analysis-grid{grid-template-columns:1fr}.presence-grid{grid-template-columns:1fr}}
@media(max-width:550px){.performance-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Reference-matched Operations theme and fixed chart headings */
.workspace-dashboard-page .performance-main{width:calc(100% - 32px);max-width:1900px;padding:10px 0 32px}
.workspace-dashboard-page .filter-panel{padding:10px 12px;margin:0 0 12px;background:var(--surface);border:1px solid var(--line);border-radius:12px}
.performance-filters{display:grid;grid-template-columns:1.65fr repeat(8,minmax(0,1fr));align-items:end;gap:8px}
.performance-filters .filter-fields{display:contents}.performance-filters .filter-field{min-width:0;display:flex;flex-direction:column;gap:5px;font-size:9px;color:var(--text-soft)}
.performance-filters .filter-field select{width:100%;min-width:0;background:var(--surface);color:var(--text);border:1px solid var(--line);height:35px}
.performance-date{min-width:0;padding:0;background:transparent;border:0;border-radius:0}
.performance-date>label{display:block;background:transparent;border:0;margin:0 0 5px;padding:0;color:var(--text-soft);font-size:9px;font-weight:750}
.performance-date .date-range-control{display:grid;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);align-items:center;height:35px;background:var(--surface);border:1px solid var(--line);border-radius:8px}
.performance-date .date-input-shell{position:relative;display:flex;align-items:center;min-width:0;height:33px;text-align:left}
.performance-date .date-input-shell input{position:absolute;inset:0;width:100%;height:100%;padding:0 4px;color:transparent;background:transparent;cursor:pointer;z-index:2}
.performance-date .date-input-shell input::-webkit-datetime-edit{color:transparent}.performance-date .date-input-shell input::-webkit-calendar-picker-indicator{opacity:.85;cursor:pointer}
.performance-date .date-display-value{position:absolute;left:6px;right:20px;top:50%;transform:translateY(-50%);font-size:10px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;text-align:left}
.performance-date .date-arrow{font-size:11px;color:var(--text-soft)}
.quick-range{margin:0 0 10px}.quick-range button{border-color:var(--line);color:var(--text-soft);background:var(--surface)}.quick-range button.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.performance-kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.performance-kpi{min-height:91px;padding:12px 14px;border-radius:13px;border:1px solid #cce9f4;background:linear-gradient(135deg,#fbfeff,#eefbff);box-shadow:var(--panel-shadow)}
.performance-kpi:nth-child(3n+2){border-color:#d9ddff;background:linear-gradient(135deg,#fff,#f4f5ff)}.performance-kpi:nth-child(3n){border-color:#c8edf1;background:linear-gradient(135deg,#fff,#effcfc)}
.performance-kpi:after{content:"";position:absolute;width:70px;height:70px;right:-28px;bottom:-38px;border-radius:50%;background:rgba(7,150,210,.055);pointer-events:none}
.performance-kpi .kpi-top{display:flex;justify-content:space-between;align-items:center;gap:6px}.performance-kpi small{font-size:9px;color:var(--text-soft);font-weight:750;letter-spacing:.2px}.performance-kpi strong{font-size:24px;color:var(--text);margin-top:9px;display:block}.performance-kpi .kpi-icon{width:26px;height:26px;border-radius:9px;flex:0 0 auto}
.performance-section{margin:11px 0}.presence-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:11px}.presence-grid #locationChart,.presence-grid #clientChart,.presence-grid #assetChart{grid-column:span 2}.presence-grid #activityChart,.presence-grid #statusChart{grid-column:span 3}.presence-grid .reserved{grid-column:span 6;height:105px}
.performance-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--panel-shadow);border-radius:12px;padding:12px 13px;height:295px;display:flex;flex-direction:column;overflow:hidden;min-width:0}
.performance-card h3{font-size:14px;line-height:19px;margin:0 0 10px;flex:0 0 auto;color:var(--text)}
.performance-card .subheading{flex:0 0 auto;margin:-5px 0 8px;color:var(--text-soft)}
.performance-card .chart-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(120,157,176,.42) transparent}
.performance-card .chart-scroll::-webkit-scrollbar{width:4px}.performance-card .chart-scroll::-webkit-scrollbar-track{background:transparent}.performance-card .chart-scroll::-webkit-scrollbar-thumb{background:rgba(120,157,176,.42);border-radius:10px}
.performance-card .chart-scroll::-webkit-scrollbar-thumb:hover{background:rgba(120,157,176,.7)}
.performance-card .bar-row{grid-template-columns:minmax(65px,31%) minmax(25px,1fr) auto;gap:6px;padding:5px 2px;color:var(--text)}.performance-card .bar-track{background:var(--surface-tint)}.performance-card .bar-fill{background:var(--accent)}
.performance-card .column-chart{height:auto;flex:1;min-height:0;border-color:var(--line);padding-top:8px}.column-bar{background:var(--accent)}.column-label{color:var(--text-soft)}
.donut-layout{display:flex;align-items:center;justify-content:space-around;gap:14px;flex:1;min-height:0}.donut-ring{width:min(205px,58%);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;flex:0 0 auto}.donut-center{width:60%;aspect-ratio:1;border-radius:50%;background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.donut-center strong{font-size:21px}.donut-center small{font-size:10px;color:var(--text-soft)}.donut-legend{display:flex;flex-direction:column;gap:8px;min-width:0}.donut-legend-item{display:flex;align-items:center;gap:7px;border:0;background:transparent;color:var(--text);cursor:pointer;text-align:left;font-size:11px;padding:6px;border-radius:6px}.donut-legend-item i{width:11px;height:11px;border-radius:50%;flex:0 0 auto}.donut-legend-item.selected,.donut-legend-item:hover{background:var(--surface-tint)}
.analysis-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.analysis-grid .performance-card{height:235px}.analysis-grid .performance-card:last-child{grid-column:auto}
html[data-theme=dark] .performance-kpi{background:linear-gradient(135deg,#15242f,#122b37);border-color:#285064}html[data-theme=dark] .performance-kpi:nth-child(3n+2){background:linear-gradient(135deg,#172431,#20243a);border-color:#373d61}html[data-theme=dark] .performance-kpi:nth-child(3n){background:linear-gradient(135deg,#15242f,#153235);border-color:#285357}html[data-theme=dark] .performance-kpi strong{color:var(--text)}
html[data-theme=dark] .performance-card{background:var(--surface);border-color:var(--line)}html[data-theme=dark] .performance-date .date-range-control,html[data-theme=dark] .performance-filters .filter-field select{background:var(--surface);color:var(--text);border-color:var(--line)}
@media(max-width:1100px){.performance-filters{grid-template-columns:repeat(4,minmax(0,1fr))}.performance-date{grid-column:span 2}.performance-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.presence-grid #locationChart,.presence-grid #clientChart,.presence-grid #assetChart{grid-column:span 3}.presence-grid #activityChart,.presence-grid #statusChart{grid-column:span 3}}
@media(max-width:650px){.performance-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.performance-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.presence-grid #locationChart,.presence-grid #clientChart,.presence-grid #assetChart,.presence-grid #activityChart,.presence-grid #statusChart,.presence-grid .reserved{grid-column:span 6}.analysis-grid{grid-template-columns:1fr}}

/* Scroll only chart rows, never the chart title or panel. */
.presence-grid .performance-card{overflow:hidden}.presence-grid .performance-card .chart-scroll{overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(120,157,176,.42) transparent}

/* Finish Operations-style Task Created slicer and checkbox multi-select controls. */
.workspace-dashboard-page .filter-panel .performance-date>label{background:transparent!important;background-image:none!important;border:0!important;box-shadow:none!important;margin:0 0 5px!important;padding:0!important;color:var(--text-soft)!important;line-height:14px!important}
.workspace-dashboard-page .performance-date{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
.performance-date .date-display-value{z-index:3;left:6px;right:23px;background:var(--surface);font-weight:650}
.performance-date .date-display-value.hidden{display:none}
.performance-date .date-input-shell input:focus,.performance-date .date-input-shell input:focus::-webkit-datetime-edit{color:var(--text)!important}
.performance-date .date-input-shell input:focus::-webkit-datetime-edit-fields-wrapper,.performance-date .date-input-shell input:focus::-webkit-datetime-edit-month-field,.performance-date .date-input-shell input:focus::-webkit-datetime-edit-day-field,.performance-date .date-input-shell input:focus::-webkit-datetime-edit-year-field{color:var(--text)!important}
.performance-filters .filter-field{position:relative}.performance-filters .multi-slicer{position:relative;min-width:0;width:100%}.performance-filters .multi-slicer-button{width:100%;height:35px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:8px;padding:0 9px;display:flex;justify-content:space-between;align-items:center;gap:6px;cursor:pointer;font-size:10px}.performance-filters .multi-slicer-button .multi-slicer-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.performance-filters .multi-slicer-menu{position:absolute;z-index:1000;left:0;top:calc(100% + 5px);width:max(100%,220px);max-width:min(310px,90vw);background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--panel-shadow-hover);padding:7px}.performance-filters .multi-slicer.open{z-index:1000}.performance-filters .multi-slicer-search{width:100%;height:31px;background:var(--surface-soft);color:var(--text);border:1px solid var(--line);border-radius:7px;padding:0 8px;margin-bottom:6px}
.performance-filters .multi-slicer-options{max-height:225px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(120,157,176,.42) transparent}.performance-filters .multi-slicer-option{display:flex!important;align-items:center;gap:8px;cursor:pointer;color:var(--text);padding:7px!important;background:transparent!important}.performance-filters .multi-slicer-option input{accent-color:var(--accent);width:14px;height:14px;margin:0}.performance-filters .multi-slicer-option.search-hidden{display:none!important}
.performance-filters .filter-field:nth-last-child(-n+2) .multi-slicer-menu{left:auto;right:0}
.performance-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}
.performance-kpi .kpi-icon{font-weight:800}
.cancellation-row .bar-fill{background:#eb4f62!important}.cancellation-row.selected .bar-fill{background:#fd7786!important}
.rank-asset-group{padding:1px 0 9px}.rank-asset-group+.rank-asset-group{border-top:1px solid var(--line);padding-top:10px}.rank-asset-group h4{font-size:11px;letter-spacing:.15px;color:var(--text-soft);margin:0 0 5px}.rank-asset-group .bar-row{padding:6px 2px}.analysis-grid .performance-card{height:255px}
@media(max-width:1400px){.performance-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1050px){.performance-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.performance-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Operations date slicer: match the original label, border and date-value treatment. */
.workspace-dashboard-page .filter-panel .performance-date{
  min-width:0!important;padding:5px 6px 6px!important;
  background:var(--surface)!important;border:1px solid var(--line)!important;
  border-radius:9px!important;box-shadow:none!important;
}
.workspace-dashboard-page .filter-panel .performance-date>label{
  display:block!important;background:#eef9fd!important;
  margin:-5px -6px 5px!important;padding:5px 6px!important;
  border:0!important;border-bottom:1px solid #cdebf5!important;
  color:var(--text)!important;font-size:10px!important;line-height:normal!important;
}
html[data-theme="dark"] .workspace-dashboard-page .filter-panel .performance-date>label{
  background:#183442!important;border-bottom-color:#285367!important;color:var(--text)!important;
}
.performance-date .date-range-control{height:30px!important;border:0!important;background:transparent!important}
.performance-date .date-input-shell{height:28px!important}
.performance-date .date-input-shell input{height:28px!important}
.performance-date .date-display-value{font-size:10px!important;font-weight:600!important}
.performance-date .date-arrow{color:var(--text-soft)!important}

/* Show Vehicle and Battery rankings together: chart height grows to fit both sections. */
.analysis-grid .performance-card.asset-ranking-card{
  height:auto!important;min-height:355px!important;overflow:visible!important;
}
.analysis-grid .asset-ranking-card .chart-scroll{
  flex:0 0 auto!important;min-height:0!important;max-height:none!important;
  overflow:visible!important;scrollbar-width:none!important;
}
.asset-ranking-card .rank-asset-group{padding-bottom:10px}
.asset-ranking-card .rank-asset-group+.rank-asset-group{margin-top:5px;padding-top:12px}
.asset-ranking-card .rank-asset-group .bar-row{min-height:29px;padding:6px 3px}
.analysis-grid #cancellations{height:355px}
.analysis-grid #cancellations .chart-scroll{overflow-y:auto}
.analysis-grid #cancellations .bar-rate{white-space:nowrap}

/* Preserve the approved five-plus-six KPI alignment at wide dashboard widths. */
@media(min-width:1401px){.performance-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:1400px) and (min-width:1051px){.performance-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:650px){.analysis-grid .performance-card.asset-ranking-card{min-height:0!important}}

/* Always show the explicit DD-MM-YYYY overlay; native date edit text stays hidden even on focus. */
.performance-date .date-display-value,
.performance-date .date-display-value.hidden{
  display:block!important;
  z-index:3!important;
  background:var(--surface)!important;
  pointer-events:none!important;
  font-variant-numeric:tabular-nums;
}
.performance-date .date-input-shell>input,
.performance-date .date-input-shell>input:focus,
.performance-date .date-input-shell>input::-webkit-datetime-edit,
.performance-date .date-input-shell>input:focus::-webkit-datetime-edit,
.performance-date .date-input-shell>input::-webkit-datetime-edit-fields-wrapper,
.performance-date .date-input-shell>input:focus::-webkit-datetime-edit-fields-wrapper,
.performance-date .date-input-shell>input::-webkit-datetime-edit-month-field,
.performance-date .date-input-shell>input::-webkit-datetime-edit-day-field,
.performance-date .date-input-shell>input::-webkit-datetime-edit-year-field,
.performance-date .date-input-shell>input:focus::-webkit-datetime-edit-month-field,
.performance-date .date-input-shell>input:focus::-webkit-datetime-edit-day-field,
.performance-date .date-input-shell>input:focus::-webkit-datetime-edit-year-field{
  color:transparent!important;
  -webkit-text-fill-color:transparent!important;
}
.performance-date .date-input-shell>input::-webkit-calendar-picker-indicator{
  opacity:1!important;
  position:relative;
  z-index:5!important;
  cursor:pointer;
}

/* Vehicle and Battery occupy separate vertical columns inside each ranking card. */
.analysis-grid .asset-ranking-card .chart-scroll{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:start!important;
  width:100%;
}
.analysis-grid .asset-ranking-card .rank-asset-group,
.analysis-grid .asset-ranking-card .rank-asset-group+.rank-asset-group{
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border-top:0!important;
}
.analysis-grid .asset-ranking-card .rank-asset-group+.rank-asset-group{
  border-left:1px solid var(--line)!important;
  padding-left:12px!important;
}
.analysis-grid .asset-ranking-card .rank-asset-group .bar-row{
  grid-template-columns:minmax(0,43%) minmax(18px,1fr) auto!important;
  gap:5px!important;
  font-size:10px;
}
.analysis-grid .asset-ranking-card .rank-asset-group .bar-label{
  min-width:0;
  text-overflow:ellipsis;
}
@media(max-width:750px){
  .analysis-grid .asset-ranking-card .chart-scroll{grid-template-columns:1fr!important}
  .analysis-grid .asset-ranking-card .rank-asset-group+.rank-asset-group{
    border-left:0!important;border-top:1px solid var(--line)!important;
    padding:12px 0 0!important;
  }
}

/* SVG donut segments are mouse-clickable; suppress Chromium's rectangular SVG focus outline. */
.donut-ring svg circle:focus{outline:none}
.donut-ring svg circle:focus-visible{outline:none;stroke-width:33;filter:drop-shadow(0 0 2px var(--accent,#238ad2))}

/* Three-up analysis row: Activity, Status, Technician Type */
.presence-grid #activityChart,.presence-grid #statusChart,.presence-grid #technician_typeChart{grid-column:span 2}
@media(max-width:1100px){.presence-grid #activityChart,.presence-grid #statusChart,.presence-grid #technician_typeChart{grid-column:span 3}}
@media(max-width:650px){.presence-grid #technician_typeChart{grid-column:span 6}}

/* Presence layout: Technician Type shares the right column directly below Asset. */
.presence-grid .presence-stack{grid-column:span 2;display:grid;grid-template-columns:1fr;gap:11px;min-width:0}
.presence-grid .presence-stack #assetChart,.presence-grid .presence-stack #technician_typeChart{grid-column:auto;height:147px;min-height:0}
.presence-grid #activityChart,.presence-grid #statusChart{grid-column:span 3}
@media(max-width:1100px){.presence-grid .presence-stack{grid-column:span 3}.presence-grid .presence-stack #assetChart,.presence-grid .presence-stack #technician_typeChart{height:147px}}
@media(max-width:650px){.presence-grid .presence-stack{grid-column:span 6}.presence-grid .presence-stack #assetChart,.presence-grid .presence-stack #technician_typeChart{height:220px}}

/* Final analysis row: Activity | Status | Technician Type */
.presence-grid #activityChart,.presence-grid #statusChart,.presence-grid #technician_typeChart{grid-column:span 2}
@media(max-width:1100px){.presence-grid #activityChart,.presence-grid #statusChart,.presence-grid #technician_typeChart{grid-column:span 2}}
@media(max-width:650px){.presence-grid #activityChart,.presence-grid #statusChart,.presence-grid #technician_typeChart{grid-column:span 6}}

/* Definitive desktop presence layout.
   Row 1: Location | Client | Asset
   Row 2: Activity | Status | Technician Type */
@media(min-width:1101px){
  .presence-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}
  .presence-grid #locationChart,.presence-grid #clientChart,.presence-grid #assetChart,
  .presence-grid #activityChart,.presence-grid #statusChart,.presence-grid #technician_typeChart{
    grid-column:span 2!important;
  }
}

/* Keep all Activity Presence category labels on one shared baseline.
   Labels may wrap upward, but must not push individual bars upward/downward. */
#activityChart .column-chart{position:relative;padding-bottom:46px!important}
#activityChart .column-item{height:100%!important;justify-content:flex-end!important;padding-bottom:0!important}
#activityChart .column-label{
  position:absolute!important;
  bottom:-42px!important;
  left:0!important;
  width:100%!important;
  height:40px!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  line-height:1.1!important;
}
