/* Canonical scheduler category typography, based on the CDR Assignments title.
   Load last. Only category/card headings participate: page H1s, employee names,
   table labels, calendar dates, badges and form text retain their own hierarchy. */
.view .card-head h2,
.view .assignment-role-head h3,
.view .combined-email-card>h3,
.view .scs-task>h4,
.view .dashboard-meetings-card h3,
.view .home-ops-heading h2,
.view .home-daily-updates h3,
.view .ops-note-card>h3,
.view .ops-reporting-heading h2,
.view .ops-report-download h3,
.view .rotation-overview-head h2,
.view .roster-master-heading h3,
.view .master-plan-heading h3,
.view .request-layout h3,
.view .request-section-heading h3,
.view .request-report-heading h3,
.view .request-backup-card h3,
.view .home-approved-time-off h2,
.view .report-intro h2,
.view .roster-department-hours h3 {
  font-family:Manrope,sans-serif!important;
  font-size:21px!important;
  font-weight:900!important;
  line-height:1.35!important;
  letter-spacing:normal!important;
  color:#155da8!important;
  text-transform:none;
  overflow-wrap:anywhere;
  min-width:0;
}

/* White is the accessible category variant on existing blue/teal title bands. */
.view .staffing-strip-card .card-head h2,
.agent-home-mode #homeView>.card:not(.home-helpful-hint)>.card-head h2,
#homeView>.home-request-card>.card-head h2,
#qualificationsView>.card>.card-head h2,
#employeesView>.card>.card-head:first-child h2,
#employeesView #masterPlanningPanel>.master-plan-heading h3,
#saturdayDirectorsView>.spreadsheet-card>.card-head:first-child h2,
#timeOffRequestsView>.card>.card-head h2,
#reportsView .report-intro h2,
#permissionsView .employee-access-card>.card-head h2,
#directorSwapReview>.card-head h2 {color:#fff!important}

/* Keep meaningful assignment state colors, with the same category typography. */
#opsDailySnapshot .no-assignments>.assignment-role-head h3,
#opsDailySnapshot .no-assignments>h3,
#opsDailySnapshot .no-assignments>h4,
#opsDailySnapshot .dashboard-meetings-card.no-meetings h3 {color:#5b6573!important}
#opsDailySnapshot .all-assignments-completed>.assignment-role-head h3,
#opsDailySnapshot .all-assignments-completed>h3,
#opsDailySnapshot .all-assignments-completed>h4 {color:#52616b!important}

/* Admin/OPS omit the shift shortcut in the renderer. For other roles, the
   working card has two columns: avatar, then details. The trailing edit
   control must not auto-place into the 32px avatar column (the reported crop). */
#opsWorkingToday .working-agent {
  grid-template-columns:32px minmax(0,1fr);
  min-width:0;
  height:auto;
}
#opsWorkingToday .working-agent>div {min-width:0}
#opsWorkingToday .working-agent>.snapshot-edit,
#opsWorkingToday .working-agent>.working-agent-actions {
  grid-column:2 / -1;
  justify-self:start;
  min-width:0;
  max-width:100%;
}
#opsWorkingToday .working-agent .snapshot-edit {
  box-sizing:border-box;
  width:auto;
  min-width:88px;
  max-width:100%;
  min-height:44px;
  height:auto;
  padding:10px 12px;
  white-space:normal;
  word-break:normal;
  overflow-wrap:normal;
  line-height:1.4;
  overflow:visible;
  text-overflow:clip;
}
#opsWorkingToday .working-agent .working-time-badges,
#opsWorkingToday .working-agent .working-agent-actions {flex-wrap:wrap}
@media(max-width:420px) {
  #opsWorkingToday .working-agent>.snapshot-edit,
  #opsWorkingToday .working-agent>.working-agent-actions {grid-column:1 / -1}
}

/* Home section titles share the existing assignment title treatment. The final
   scoped rule beats category typography without changing category cards/controls. */
#homeView .home-section-title {
  font-family:"DM Sans",sans-serif!important;
  font-size:clamp(24px,2.3vw,30px)!important;
  font-weight:900!important;
  line-height:1.25!important;
  letter-spacing:normal!important;
}
#homeView #homeOpsTitle {color:#fff!important}

/* Keep the existing synchronized selector on its own row beneath the heading. */
#dashboardView .staffing-strip-card>.card-head {flex-wrap:wrap}
#dashboardView .staffing-strip-card>.card-head>.coverage-department-picker {
  flex:0 0 100%;
  width:100%;
  box-sizing:border-box;
  justify-content:flex-end;
  margin:8px 0 0;
  min-width:0;
}
