/* Shared layout rules: content may grow vertically, never into an adjacent field. */
.workspace,.stack,.metric,.detail-meta>*,.formgrid>*,.permission-grid>*,.row>div{min-width:0}
.grid2,.formgrid,.permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.metrics,.taskboard{grid-template-columns:repeat(4,minmax(0,1fr))}
.detail-meta{grid-template-columns:repeat(3,minmax(0,1fr))}
.insight-layout{grid-template-columns:minmax(240px,330px) minmax(0,1fr)}
.panel-head,.modal-head,.topbar,.banner{flex-wrap:wrap}
.panel-head>*,.modal-head>*,.topbar>*,.banner>*{min-width:0;max-width:100%}
.topbar>.row{flex-wrap:wrap}
.panel-head h2,.modal-head h2,.topbar h1,.task-card,.detail-meta span,.watermark,.sidebar footer{overflow-wrap:anywhere}
.metric{text-align:center;container-type:inline-size}
.metric .value{font-size:clamp(12px,calc(100cqw / (var(--value-length,10) * .66)),31px);line-height:1.3;overflow-wrap:anywhere}
.metriclabel,.metric small{overflow-wrap:anywhere}

/* One grid for the entire chart keeps every label, bar and value on the same columns. */
.dimension-chart{display:grid;grid-template-columns:fit-content(36%) minmax(24px,1fr) fit-content(25%);column-gap:12px;row-gap:10px;align-items:center;min-width:0;width:100%}
.dimension-chart .chart-row{display:contents}
.dimension-chart>*{min-width:0}
.chart-heading{text-align:center;color:var(--muted);font-size:10px;line-height:1.5;overflow-wrap:anywhere;padding-bottom:5px}
.dimension-chart .chart-label{min-width:0;max-width:100%;width:100%;text-align:center;white-space:normal;overflow-wrap:anywhere;line-height:1.5;padding:4px 2px;border-radius:5px}
.dimension-chart .track{min-width:0;width:100%}
.dimension-chart .chart-value{min-width:0;text-align:center;white-space:normal;overflow-wrap:anywhere;line-height:1.5;font-variant-numeric:tabular-nums}
.dimension-chart .chart-label:focus-visible{outline:2px solid var(--purple);outline-offset:2px}

/* Headers and values use identical column boundaries; oversized text wraps in its own cell. */
.table-wrap{min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.table-wrap table{width:100%;min-width:620px;table-layout:fixed}
.table-wrap .history-table{min-width:1100px}
.table-wrap th,.table-wrap td,.table-wrap th.n,.table-wrap td.n{text-align:center;vertical-align:middle;white-space:normal;overflow-wrap:anywhere;word-break:normal}
.table-wrap th{line-height:1.6}
.table-wrap td{max-width:none}
.table-wrap td strong,.table-wrap td small,.table-wrap td a,.table-wrap td button{max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.6}
.table-wrap td .tags{justify-content:center}
.table-wrap .history-open{overflow-wrap:normal;white-space:nowrap}
.pill,.tags button{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.5}
.tags>*{min-width:0;max-width:100%}
.reason-btn{grid-template-columns:minmax(0,1fr) minmax(70px,.35fr);align-items:center;text-align:center}
.reason-btn>span{min-width:0;overflow-wrap:anywhere}
.reason-btn>span:last-child,.reason-btn .percent{text-align:center}
.minirow{flex-wrap:wrap}
.minirow>*{min-width:0;max-width:100%;overflow-wrap:anywhere}

/* Filter titles stay aligned with their selected values; free text stays left aligned. */
.history-fields label{text-align:center}
.history-fields select,.history-date-range input,.global-filters>select,.filters>select{text-align:center;text-align-last:center}
.global-filters>select{max-width:min(100%,280px)}
.global-filters>*{min-width:0}
.filters>input{min-width:0;max-width:100%;flex-basis:190px}
.filters>select{min-width:0;max-width:100%;width:175px}
.history-date-filter,.history-date-range{min-width:0}

@media(max-width:1200px){
  .insight-layout{grid-template-columns:minmax(220px,280px) minmax(0,1fr)}
  .taskboard{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid2,.formgrid,.insight-layout{grid-template-columns:minmax(0,1fr)}
  .detail-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:550px){
  .taskboard,.permission-grid{grid-template-columns:minmax(0,1fr)}
  .dimension-chart{column-gap:8px}
  .topbar .row{max-width:100%}
}
.length-hint{display:block;color:#858da2;font-size:11px;text-align:right;margin-top:3px}
.maintenance-filters{margin:18px 0;flex-wrap:wrap}.maintenance-filters>input{flex:1;min-width:160px}
.maintenance-filters .check{white-space:nowrap;flex:0 0 auto}.maintenance-filters .check input{width:16px;min-width:16px;flex:none}
.record-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}
.record-fields div{min-width:0;padding:10px;background:#f6f7fc;border-radius:8px}
.record-fields dt{font-size:11px;color:#737e96}.record-fields dd{margin:5px 0 0;overflow-wrap:anywhere;white-space:pre-wrap}
.evidence-box small{display:block;overflow-wrap:anywhere}.task-card small,.task-column h3 small{display:block;overflow-wrap:anywhere}
@media(max-width:650px){.record-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.maintenance-filters>input{min-width:0;width:100%}}
