/* Shared layout rules: content may wrap, controls keep their intended geometry. */
.sidebar{overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin}
.sidebar .nav,.sidebar .brand,.sidebar .sidebar-foot{flex-shrink:0}
.page-heading{flex-wrap:wrap}
.page-heading>div,.heading-actions,.actions,.toolbar-group{min-width:0}
.heading-actions,.actions{align-items:stretch}
.heading-actions .button,.actions .button{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.heading-actions:empty{display:none}
.dialog-header>div,.dialog-body,.dialog-footer{min-width:0}
.dialog-header h2,.dialog-header p{overflow-wrap:anywhere}
.dialog-footer{align-items:stretch;flex-wrap:wrap}
.dialog-footer .button{min-width:0;max-width:100%;white-space:normal;line-height:1.45;overflow-wrap:anywhere}
.dialog fieldset{min-width:0;max-width:100%}
.dialog :is(input,select,textarea){min-width:0;max-width:100%}
input:is([type=checkbox],[type=radio]),.checkbox input:is([type=checkbox],[type=radio]){width:20px;min-width:20px;height:20px;min-height:20px;padding:0;flex:0 0 20px;margin:2px 0;accent-color:var(--green)}
.checkbox>span{min-width:0;overflow-wrap:anywhere;line-height:1.6}
.connection>div{min-width:0;flex:1;overflow-wrap:anywhere}
.connection>.status{flex:none;white-space:normal;text-align:right;max-width:40%}
.connection .avatar{flex:none}
.dashboard-grid,.dashboard-grid>.stack{min-width:0}
.dashboard-grid>.stack>.card{min-width:0;width:100%}
.chart,.chart-column{min-width:0}
.chart-label{text-align:center;overflow-wrap:anywhere;line-height:1.4}
.table-wrap{max-width:100%;min-width:0}
.legacy-schedule-row{display:grid;grid-template-columns:55px minmax(0,1fr) minmax(0,1fr) 44px;gap:8px;align-items:center;margin-bottom:8px;min-width:0}
.legacy-schedule-row>input{width:100%;min-width:0;padding-inline:8px}
.legacy-schedule-row>.checkbox{min-width:0;min-height:44px;align-items:center;font-size:12px;gap:6px}
.legacy-schedule-remove{width:44px;min-width:44px;min-height:44px;justify-content:center}
.legacy-schedule-add{margin-bottom:10px;min-height:44px}
@media(min-width:821px){
  main>.page-heading>div:first-child{flex:1 1 240px}
  main>.page-heading>.heading-actions{flex:0 1 auto;justify-content:flex-end;max-width:100%}
}
@media(max-width:820px){
  main>.page-heading{flex-direction:column;align-items:flex-start;gap:16px}
  main>.page-heading>.heading-actions{width:100%;justify-content:flex-start;gap:8px}
  main>.page-heading>.heading-actions .button{flex:0 1 auto;min-height:44px}
  .dashboard-grid{grid-template-columns:minmax(0,1fr)}
  .dashboard-grid>.stack{display:flex;flex-direction:column;width:100%}
  .insight-row>div,.exception-row .text,.team-profile>div{min-width:0;overflow-wrap:anywhere}
  .workspace-action-filters select,.staff-time-field input{font-size:16px}
  .dialog-total{flex-wrap:wrap;gap:10px}
  .dialog-total>*{min-width:0;overflow-wrap:anywhere}
  .dialog .item-line{flex-wrap:wrap}
  .dialog .item-line>div{min-width:0;flex:1 1 160px;overflow-wrap:anywhere}
  .dialog .item-line>strong{margin-left:auto;overflow-wrap:anywhere;max-width:100%}
  .form-field input,.form-field select,.form-field textarea{font-size:16px}
}
@media(max-width:480px){
  main>.page-heading>.heading-actions .button{flex:1 1 135px}
  .legacy-schedule-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;gap:8px;padding:12px;border:1px solid var(--line);border-radius:12px}
  .legacy-schedule-row>.checkbox{grid-column:1/3;grid-row:1}
  .legacy-schedule-row>.legacy-schedule-remove{grid-column:3;grid-row:1}
  .legacy-schedule-row>input{grid-row:2;font-size:16px;min-height:48px}
  .connection{flex-wrap:wrap;gap:10px}
  .connection>.status{max-width:100%;margin-left:45px;text-align:left}
  .dialog-footer .button{flex:1 1 120px;min-height:48px}
  .staff-time-field input{font-size:16px}
}

@media(max-width:480px){.kpi-value{font-size:22px;line-height:1.3}}
@media(max-width:380px){.kpi-grid{grid-template-columns:minmax(0,1fr)}.kpi{min-height:108px}.kpi-value{font-size:24px}}
