/* Shared visual layer for the seven working sections. Business states stay in their domain CSS. */
.participant-profile-link{color:inherit;text-decoration:underline;text-decoration-color:#6b93ad;text-underline-offset:3px;text-decoration-thickness:1px;border-radius:2px}
.participant-profile-link:hover{text-decoration-thickness:2px}.participant-profile-link:focus-visible{outline:2px solid #59ab93;outline-offset:3px}
.participant-work-profile{max-width:860px;overflow-wrap:anywhere}.participant-work-profile dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:18px}.participant-work-profile dt{font-size:12px;opacity:.75}.participant-work-profile dd{margin:4px 0 0;overflow-wrap:anywhere}
:is(.payments-rating-page, .task-center, .sales-plan-page, .month-close-overview-page,
    .au-workspace-page, .training-workspace-page, .training-lesson-page,
    .onboarding-page, .rd-calculator-page) {
  --workspace-navy: #0b1b56;
  --workspace-ink: #26334e;
  --workspace-muted: #626d80;
  --workspace-gold: #d99a35;
  --workspace-line: #e7e3dc;
  min-width: 0;
}

:is(.payments-rating-page, .task-center, .sales-plan-page, .month-close-overview-page,
    .au-workspace-page, .training-workspace-page, .training-lesson-page,
    .onboarding-page, .rd-calculator-page)
  :is(.panel, .rd-panel, .sales-plan-board, .task-list-panel, .task-detail-panel,
      .training-card, .training-lesson-card) {
  border-color: var(--workspace-line);
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(11, 27, 86, .035);
}

.workspace-page { display: grid; gap: 12px; min-width: 0; }
.workspace-page > .panel { margin: 0; }
.workspace-hero,
.payments-rating-page .payments-compact-hero,
.sales-plan-page .sales-plan-topbar,
.month-close-overview-page .month-close-compact-hero,
.rd-calculator-page .rd-calculator-hero,
.training-lesson-page .training-lesson-hero,
.onboarding-page .onboarding-hero-panel {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #ebe4d8;
  border-radius: 12px;
  box-shadow: 0 6px 20px rgba(11, 27, 86, .045);
  background-color: #fcf9f3;
  background-repeat: no-repeat;
  background-position: center, right center;
  background-size: cover, auto 100%;
}

.workspace-hero::before,
.payments-rating-page .payments-compact-hero::before,
.sales-plan-page .sales-plan-topbar::before,
.month-close-overview-page .month-close-compact-hero::before,
.rd-calculator-page .rd-calculator-hero::before,
.training-lesson-page .training-lesson-hero::before,
.onboarding-page .onboarding-hero-panel::before {
  content: "";
  position: absolute;
  top: 0;
  left: 20px;
  width: 28px;
  height: 3px;
  border-radius: 0 0 4px 4px;
  background: var(--workspace-gold);
}

.workspace-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 132px;
  padding: 20px 24px;
}
.workspace-hero__copy { position: relative; z-index: 1; min-width: 0; max-width: 70%; }
.workspace-eyebrow,
.payments-rating-page .payments-compact-hero .kicker,
.month-close-overview-page .month-close-compact-hero .kicker {
  color: #925d17;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.workspace-hero h1,
.payments-rating-page .payments-compact-hero h1,
.sales-plan-page .sales-plan-topbar h1,
.month-close-overview-page .month-close-compact-hero h1,
.rd-calculator-page .rd-calculator-hero h1,
.training-lesson-page .training-lesson-hero h1,
.onboarding-page .onboarding-hero-panel h1 {
  margin: 4px 0 5px;
  color: var(--workspace-navy);
  font-size: clamp(25px, 2.2vw, 32px);
  line-height: 1.12;
  letter-spacing: -.025em;
  overflow-wrap: anywhere;
}
.workspace-hero p,
.payments-rating-page .payments-compact-hero p,
.sales-plan-page .sales-plan-topbar p,
.month-close-overview-page .month-close-compact-hero p,
.training-lesson-page .training-lesson-hero p,
.onboarding-page .onboarding-hero-panel p {
  max-width: 650px;
  margin: 0;
  color: var(--workspace-muted);
  font-size: 13px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.workspace-hero--tasks {
  background-image: linear-gradient(90deg, #fcf9f3 0%, rgba(252,249,243,.98) 44%, rgba(252,249,243,.18) 100%), url('/assets/home-workspace-tasks.jpg');
}
.workspace-hero--training,
.training-lesson-page .training-lesson-hero,
.onboarding-page .onboarding-hero-panel,
.onboarding-page .onboarding-hero-panel.os {
  background-image: linear-gradient(90deg, #fcf9f3 0%, rgba(252,249,243,.97) 46%, rgba(252,249,243,.18) 100%), url('/assets/home-workspace-documents.jpg');
}
.workspace-hero--au,
.rd-calculator-page .rd-calculator-hero {
  background-image: linear-gradient(90deg, #fcf9f3 0%, rgba(252,249,243,.97) 48%, rgba(252,249,243,.2) 100%), url('/assets/home-workspace-legal.jpg');
}
.payments-rating-page .payments-compact-hero,
.sales-plan-page .sales-plan-topbar {
  background-image: linear-gradient(90deg, #fcf9f3 0%, rgba(252,249,243,.97) 46%, rgba(252,249,243,.18) 100%), url('/assets/home-workspace-hero.jpg');
}
.month-close-overview-page .month-close-compact-hero {
  background-image: linear-gradient(90deg, #fcf9f3 0%, rgba(252,249,243,.97) 52%, rgba(252,249,243,.25) 100%), url('/assets/home-workspace-month.jpg');
}

/* Dense page headers retain their existing controls and data. */
.payments-rating-page .payments-compact-hero,
.month-close-overview-page .month-close-compact-hero { padding: 16px 20px; gap: 12px; }
.payments-rating-page .payments-compact-head,
.month-close-overview-page .month-close-compact-head { position: relative; z-index: 1; min-width: 0; }
.payments-rating-page .payments-compact-head > div:first-child { min-width: 0; max-width: 620px; }
.payments-rating-page .payment-section-tabs { max-width: 50%; }
.payments-rating-page .payment-section-tabs .nav-chip {
  border-color: #dfd7ca;
  background: rgba(255,255,255,.9);
  color: var(--workspace-navy);
}
.payments-rating-page .payment-section-tabs .nav-chip.active {
  border-color: #d8aa63;
  background: #fff4df;
}
.payments-rating-page .stats-grid,
.month-close-overview-page .month-close-summary-grid {
  position: relative;
  z-index: 1;
  gap: 8px;
}
.payments-rating-page .stats-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 155px), 1fr));
}
.month-close-overview-page .month-close-summary-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 120px), 1fr));
}
@media (min-width: 821px) and (max-width: 1230px) {
  .month-close-overview-page .month-close-summary-grid:has(> :nth-child(7)) {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (max-width: 820px) {
  .month-close-overview-page .month-close-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 360px) {
  .month-close-overview-page .month-close-summary-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
.payments-rating-page .stat,
.month-close-overview-page .home-summary-card,
.task-center .task-summary-card {
  min-width: 0;
  border-color: #e8e2d8;
  border-top: 3px solid #dfb572;
  border-left-width: 1px;
  border-radius: 9px;
  background: rgba(255,255,255,.94);
}
.payments-rating-page .stat b,
.month-close-overview-page .home-summary-card b,
.task-center .task-summary-card b {
  color: var(--workspace-navy);
  overflow-wrap: anywhere;
  font-variant-numeric: tabular-nums;
}
.month-close-overview-page .month-close-filter-form {
  min-width: 0;
  border-color: #e8e2d8;
  background: rgba(255,255,255,.94);
}
.month-close-overview-page .month-close-filter-form > * { min-width: 0; }
.payments-rating-page .payment-report-table,
.month-close-overview-page .month-close-table-panel { min-width: 0; overflow: hidden; }
.payments-rating-page .payment-report-table :is(.table-scroll, .folded-table-wrap),
.month-close-overview-page .legal-task-table-wrap { max-width: 100%; overflow-x: auto; }

/* The approval/access columns otherwise disappear beyond a laptop viewport.
   Keep the wide table on desktop, but expose every cell in a compact flat row. */
@media (max-width: 1600px) {
  .month-close-overview-page .legal-task-table-wrap { overflow-x: visible; }
  .month-close-overview-page .month-close-table {
    display: block;
    width: 100%;
    min-width: 0;
    border: 0;
    background: transparent;
  }
  .month-close-overview-page .month-close-table > tbody {
    display: grid;
  }
  .month-close-overview-page .month-close-column-head {
    display: block;
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .month-close-overview-page .month-close-participant-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px 16px;
    padding: 14px 4px;
    border-bottom: 1px solid var(--line);
  }
  .month-close-overview-page .month-close-participant-row > td {
    display: block;
    min-width: 0 !important;
    max-width: none !important;
    width: auto !important;
    padding: 0 !important;
    border: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
  .month-close-overview-page .month-close-participant-row > .mc-col-action,
  .month-close-overview-page .month-close-participant-row > .month-close-danger-action {
    justify-self: start;
    align-self: start;
    width: max-content !important;
    max-width: 100% !important;
  }
  .month-close-overview-page .month-close-participant-row > td::before {
    display: block;
    content: attr(data-label);
    margin-bottom: 4px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.3;
  }
  .month-close-overview-page .month-close-participant-row > .mc-col-name {
    grid-column: span 2;
  }
  .month-close-overview-page .month-close-participant-row > .mc-col-name::before {
    display: none;
  }
  .month-close-overview-page .month-close-participant-row :is(input, select, button) {
    max-width: 100%;
  }
  .month-close-overview-page .month-close-office-group-row,
  .month-close-overview-page .month-close-empty-row { display: block; }
  .month-close-overview-page .month-close-office-group-row > th,
  .month-close-overview-page .month-close-empty-row > td {
    display: block;
    width: 100%;
    border: 0;
  }
}
@media (max-width: 820px) {
  .month-close-overview-page .month-close-participant-row :is(.mc-col-action, .month-close-danger-action) :is(button, summary) {
    min-height: 44px;
  }
}
@media (max-width: 1040px) {
  .month-close-overview-page .month-close-participant-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 620px) {
  .month-close-overview-page .month-close-participant-row {
    grid-template-columns: minmax(0, 1fr);
  }
  .month-close-overview-page .month-close-participant-row > .mc-col-name {
    grid-column: 1 / -1;
  }
}
.month-close-admin-tools { margin-top:12px; }
.month-close-admin-link { display:inline-block; margin-top:4px; color:#174773; font-size:12px; font-weight:700; }
.month-close-admin-tools { scroll-margin-top:80px; }
.month-close-admin-tools > summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 16px;
  border:1px solid #dce9f4;
  border-radius:8px;
  background:#fff;
  color:#14355c;
  cursor:pointer;
  font-weight:750;
  list-style:none;
}
.month-close-admin-tools > summary::-webkit-details-marker { display:none; }
.month-close-admin-tools > summary::after { content:'Раскрыть'; color:#174773; font-size:12px; }
.month-close-admin-tools[open] > summary::after { content:'Свернуть'; }
.month-close-admin-tools > .month-close-external-settlement { margin-top:10px; }

.task-center { gap: 10px; }
.task-center .workspace-hero { margin-bottom: 0; }
.task-center .workspace-hero--tasks { padding-right: 190px; }
.task-center .workspace-hero .task-quick-actions { position: relative; z-index: 1; flex: 0 1 auto; }
.task-center .task-new-link,
.task-center .task-recipient-link {
  border-color: #d8cbb8;
  background: rgba(255,255,255,.94);
  color: var(--workspace-navy);
}
.task-center .task-direction-tabs a[aria-current="page"] {
  border-color: #e2dbd0;
  background: #fffaf2;
  box-shadow: inset 0 2px #d99a35;
}
.task-center .task-summary-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 145px), 1fr)); }
.task-center .task-list, .task-center .task-workspace, .task-center .task-list-panel,
.task-center .task-detail-panel { min-width: 0; }
.task-center :is(.task-list-row, .task-detail-panel) { overflow-wrap: anywhere; }
.task-center .task-lead-dashboard-fold { min-width:0; }
.task-center .task-lead-dashboard-fold > summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:11px 14px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  color:var(--brand);
  cursor:pointer;
  font-weight:750;
  list-style:none;
}
.task-center .task-lead-dashboard-fold > summary::-webkit-details-marker { display:none; }
.task-center .task-lead-dashboard-fold > summary span { color:var(--muted); font-size:12px; font-weight:600; }
.task-center .task-lead-dashboard-fold[open] > summary { border-radius:8px 8px 0 0; }
.task-center .task-lead-dashboard-fold .task-lead-dashboard { padding:10px; border:1px solid var(--line); border-top:0; border-radius:0 0 8px 8px; background:#fff; }
.task-center .task-list-row-main strong {
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  white-space:normal;
}
@media (max-width:1220px) {
  .task-center .task-workspace { grid-template-columns:minmax(0,1fr); }
  .task-center .task-detail-panel { position:static; max-height:none; }
}

.sales-plan-page .sales-plan-topbar {
  min-height: 0;
  padding: 14px 18px;
  border-color: #dce5f2;
  background-color: #ffffff;
  background-image: none;
}
.sales-plan-page .sales-plan-topbar > * { position: relative; z-index: 1; min-width: 0; }
.sales-plan-page .sales-plan-current-week {
  min-width: 250px;
  border-color: #dfd6c8;
  border-left-color: #d99a35;
  background: rgba(255,255,255,.94);
}
.sales-plan-page .sales-plan-current-week b { overflow-wrap: anywhere; }
.sales-plan-page :is(.sales-plan-board, .sales-plan-secondary, .sales-plan-overview) { min-width: 0; }
.sales-plan-page :is(.table-scroll, .sales-plan-table-wrap) { max-width: 100%; overflow-x: auto; }

.au-workspace-page:has(.au-recent) { grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); }
.au-workspace-page:has(.au-recent) > .workspace-hero,
.au-workspace-page #au-my-issues { grid-column: 1 / -1; }
.au-workspace-page .au-request-panel { max-width: none; padding: 18px 20px; }
.au-workspace-page .au-request-panel form { max-width: 760px; }
.au-workspace-page .au-request-panel p { margin: 0 0 12px; color: var(--workspace-muted); }
.au-workspace-page .au-request-panel form { display: grid; gap: 8px; }
.au-workspace-page .au-request-panel input { min-width: 0; }
.au-workspace-page .au-request-panel button { justify-self: start; }
.au-workspace-page .au-recent,
.au-workspace-page #au-my-issues { min-width: 0; margin: 0; padding: 16px 20px; border: 1px solid var(--workspace-line); border-radius: 12px; background: #fff; }
.au-workspace-page :is(.au-recent li, .au-issue) { border-color: var(--workspace-line); background: #fdfbf8; }
.au-workspace-page :is(.au-recent strong, .au-issue strong, .au-recent small) { overflow-wrap: anywhere; }

.training-workspace-page .training-shell,
.training-lesson-page .training-lesson-layout,
.onboarding-page > * { min-width: 0; }
.training-workspace-page .training-shell { margin: 0; }
.training-workspace-page .training-card { margin: 0; }
.training-workspace-page .training-actions { flex-wrap: wrap; }
.training-workspace-page :is(.client-question, .answer-panel) { overflow-wrap: anywhere; }
.training-lesson-page .training-lesson-hero,
.onboarding-page .onboarding-hero-panel { min-height: 144px; padding: 19px 22px; }
.training-lesson-page .training-lesson-hero { padding-right: 175px; }
.training-lesson-page .training-hero-icon,
.onboarding-page .onboarding-hero-emoji { box-shadow: none; border: 1px solid #e5daca; background: rgba(255,255,255,.9); }
.training-lesson-page .training-hero-stats span { border-color: #e6dbcb; background: rgba(255,255,255,.91); }
.onboarding-page .onboarding-hero-panel { border-left-width: 1px; }

.rd-calculator-page { gap: 12px; }
.rd-calculator-page .rd-calculator-hero { min-height: 126px; padding: 17px 20px; }
.rd-calculator-page .rd-calculator-hero > * { position: relative; z-index: 1; min-width: 0; }
.rd-calculator-page .rd-hero-note { border-color: #dfd6c8; background: rgba(255,255,255,.94); white-space: normal; overflow-wrap: anywhere; }
.rd-calculator-page .rd-calculator-grid { gap: 12px; }
.rd-calculator-page .rd-panel { min-width: 0; padding: 17px 19px; }
.rd-calculator-page .rd-panel-head h2 { color: var(--workspace-navy); }
.rd-calculator-page .rd-option-box { border-color: #e7e3dc; }
.rd-calculator-page :is(.rd-math-row, .rd-crm-text) { overflow-wrap: anywhere; }

@media (max-width: 820px) {
  body.app-has-sidebar .app-topbar .topbar-page-title {
    width: 100%;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    text-overflow: clip;
  }
  .au-workspace-page:has(.au-recent) { grid-template-columns: minmax(0, 1fr); }
  .workspace-hero, .sales-plan-page .sales-plan-topbar,
  .rd-calculator-page .rd-calculator-hero { align-items: flex-start; flex-direction: column; min-height: 0; }
  .workspace-hero__copy { max-width: 100%; }
  .payments-rating-page .payment-section-tabs { max-width: 100%; }
  .workspace-hero,
  .payments-rating-page .payments-compact-hero,
  .sales-plan-page .sales-plan-topbar,
  .month-close-overview-page .month-close-compact-hero,
  .rd-calculator-page .rd-calculator-hero,
  .training-lesson-page .training-lesson-hero,
  .onboarding-page .onboarding-hero-panel {
    background-image: linear-gradient(90deg, rgba(252,249,243,.97), rgba(252,249,243,.84)), url('/assets/home-workspace-hero.jpg');
    background-size: cover, cover;
  }
}
@media (max-width: 700px) {
  body.app-has-sidebar .app-topbar.nav { flex-direction: row; align-items: center; gap: 8px; min-height: 58px; }
  body.app-has-sidebar .app-topbar .topbar-page-title {
    flex: 1 1 auto;
    width: 0;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  body.app-has-sidebar .app-topbar .nav-right { flex: 0 0 auto; flex-direction: row; align-items: center; gap: 6px; width: auto; margin-left: 0; }
}
@media (max-width: 520px) {
  .workspace-hero,
  .payments-rating-page .payments-compact-hero,
  .sales-plan-page .sales-plan-topbar,
  .month-close-overview-page .month-close-compact-hero,
  .rd-calculator-page .rd-calculator-hero,
  .training-lesson-page .training-lesson-hero,
  .onboarding-page .onboarding-hero-panel { padding: 15px; }
  .workspace-hero::before,
  .payments-rating-page .payments-compact-hero::before,
  .sales-plan-page .sales-plan-topbar::before,
  .month-close-overview-page .month-close-compact-hero::before,
  .rd-calculator-page .rd-calculator-hero::before,
  .training-lesson-page .training-lesson-hero::before,
  .onboarding-page .onboarding-hero-panel::before { left: 15px; }
  .workspace-hero h1 { font-size: 25px; }
  .task-center .workspace-hero .task-quick-actions { width: 100%; justify-content: flex-start; }
  .au-workspace-page .au-request-panel,
  .au-workspace-page .au-recent,
  .au-workspace-page #au-my-issues { padding: 14px; }
}
/* The illustration is decorative: never place actions on top of it. */
@media (max-width: 1250px) {
  .task-center .workspace-hero--tasks,
  .training-lesson-page .training-lesson-hero {
    padding-right: 20px;
    background-image: linear-gradient(135deg, #fcf9f3, #eef5f9);
  }
}
.people-calendar-controls{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px}
.people-calendar-controls h2{text-align:center;margin:0}
.people-calendar-grid-wrap{overflow-x:auto}
.people-calendar-grid{width:100%;min-width:840px;table-layout:fixed}
.people-calendar-grid td{height:128px;vertical-align:top;padding:8px}
.people-calendar-grid td.people-calendar-outside{background:#f7f9fc}
.people-calendar-grid td.people-calendar-weekend{background:#fff7f7}
.people-calendar-grid td.people-calendar-holiday{background:#fff0ef;box-shadow:inset 0 0 0 1px #efb8b4}
.people-calendar-day{display:flex;flex-direction:column;gap:6px;min-height:110px}
.people-calendar-date{display:flex;align-items:flex-start;flex-wrap:wrap;gap:4px 6px}
.people-calendar-date>strong{font-size:14px;color:#1a3164}
.people-calendar-weekend .people-calendar-date>strong,.people-calendar-holiday .people-calendar-date>strong{color:#a02b33}
.people-calendar-day-kind{font-size:11px;font-weight:700;line-height:1.25;color:#9a434b;overflow-wrap:anywhere}
.people-calendar-holiday .people-calendar-day-kind{color:#93232d}
.people-calendar-legend{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;margin:12px 0;font-size:12px;color:#394861}
.people-calendar-legend>span{display:inline-flex;align-items:center;gap:6px}
.people-calendar-legend>span::before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;background:#fff7f7;border:1px solid #dfadb1}
.people-calendar-legend>.people-calendar-legend-holiday::before{background:#fff0ef;border-color:#d98d90}
.people-calendar-legend>.people-calendar-legend-duty::before{background:#efe8fc;border-color:#9168c3}
.people-calendar-legend>.people-calendar-legend-remote::before{background:#e1f4f1;border-color:#49a99b}
.people-calendar-legend>.people-calendar-legend-sick-leave::before{background:#fff2d8;border-color:#d6a34a}
.people-calendar-legend>.people-calendar-legend-absence::before{background:#f1f3f7;border-color:#a9b4c3}
.people-calendar-legend>.people-calendar-legend-arrived::before{background:#e5f6e9;border-color:#69b47b}
.people-calendar-legend>.people-calendar-legend-late::before{background:#ffe9e3;border-color:#d77f69}
.people-calendar-legend>.people-calendar-legend-pass::before{background:#e8f1ff;border-color:#6c91c9}
.people-calendar-legend small{font-size:11px;color:#65758d}
.people-calendar-swipe-hint{display:none}
.people-calendar-event{display:flex;flex-direction:column;gap:2px;padding:6px 8px;border-radius:8px;background:#eef4ff;border-left:3px solid #2454a5;font-size:12px;line-height:1.3;overflow-wrap:anywhere}
.people-calendar-event span{font-weight:700;color:#285181}
.people-calendar-event small{color:#56657b}
.people-calendar-event-duty{background:#efe8fc;border-left-color:#7542aa}
.people-calendar-event-duty span{color:#563187}
.people-calendar-event-duty small{color:#594874}
.people-calendar-event-sick-leave{background:#fff2d8;border-left-color:#b97916}
.people-calendar-event-sick-leave span{color:#754c0b}
.people-calendar-event-sick-leave small{color:#68563b}
.people-calendar-event-absence{background:#f1f3f7;border-left-color:#8190a3}
.people-calendar-event-absence span{color:#47556a}
.people-calendar-event-arrived{background:#e5f6e9;border-left-color:#2a8a49}
.people-calendar-event-arrived span{color:#226d3b}
.people-calendar-event-late{background:#ffe9e3;border-left-color:#c45a3f}
.people-calendar-event-late span{color:#9b3d29}
.people-calendar-cancel{align-self:flex-start;padding:3px 7px;font-size:11px;margin-top:3px}
@media(max-width:760px){
  .people-calendar-controls{grid-template-columns:1fr 1fr}
  .people-calendar-controls h2{grid-column:1/-1;grid-row:1}
  .people-calendar-controls .button{font-size:12px;padding:8px}
  .people-calendar-swipe-hint{display:block;margin:0 0 8px}
  .people-calendar-grid{display:table;overflow:visible;border:1px solid #dce5f2;border-radius:8px;background:#fff}
  .people-calendar-grid thead{display:table-header-group;width:auto}
  .people-calendar-grid tbody{display:table-row-group;width:auto}
  .people-calendar-grid tr{display:table-row;width:auto;margin:0;border:0;border-radius:0;box-shadow:none;overflow:visible}
  .people-calendar-grid th,.people-calendar-grid td{display:table-cell;width:14.2857%;padding:8px;vertical-align:top}
  .people-calendar-grid td{height:128px;grid-template-columns:none;gap:0}
  .people-calendar-grid td::before{content:none;display:none}
}

/* People schedule: bounded month cells, one selected-day agenda. */
.calendar-workspace{--cal-ink:#21344b;--cal-muted:#596d83;--cal-line:#dce5ec;--cal-bg:#fff;--cal-soft:#f4f7fa;--cal-accent:#2454a5;color:var(--cal-ink)}
.calendar-workspace .panel{border-radius:8px}
.calendar-workspace .sales-plan-hero{margin-bottom:12px;padding:16px 20px}
.calendar-workspace .people-calendar-controls{gap:8px;margin-bottom:12px;padding:10px 16px}
.calendar-workspace .people-calendar-controls h2{font-size:18px}
.calendar-workspace .people-calendar-legend{gap:6px 14px;font-size:11px}
.calendar-workspace .people-calendar-swipe-hint{display:none}
.calendar-workspace .calendar-add{padding:12px 16px;margin-bottom:10px}
.calendar-add>summary{font-weight:700;color:var(--cal-accent);cursor:pointer;list-style-position:inside}
.calendar-add[open]>summary{margin-bottom:14px}
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:16px 0 4px}
.calendar-tabs,.calendar-shortcuts{display:flex;flex-wrap:wrap;gap:4px}
.calendar-tabs a,.calendar-shortcuts a{display:inline-flex;align-items:center;min-height:36px;padding:6px 12px;border-radius:6px;color:var(--cal-muted);text-decoration:none;font-size:13px;font-weight:600}
.calendar-tabs{background:var(--cal-soft);border:1px solid var(--cal-line);padding:3px;border-radius:8px}
.calendar-tabs a.is-active{background:var(--cal-accent);color:#fff}
.calendar-shortcuts a:hover{background:var(--cal-soft);color:var(--cal-accent)}
.calendar-scope-note{font-size:12px;color:var(--cal-muted);margin:8px 0 12px}
.calendar-columns{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,1fr);gap:14px;align-items:start}
.calendar-columns>.panel{margin:0;padding:16px;min-width:0}
.calendar-columns h2{font-size:18px;margin:0 0 14px}
.calendar-workspace .people-calendar-grid{min-width:0;border-collapse:separate;border-spacing:3px;border:0;background:transparent}
.calendar-workspace .people-calendar-grid th{padding:8px 0;text-align:center;color:var(--cal-muted);font-size:11px;background:none;border:0}
.calendar-workspace .people-calendar-grid td{height:112px;padding:0;border:1px solid var(--cal-line);border-radius:6px;background:var(--cal-bg)}
.calendar-workspace .people-calendar-grid td.people-calendar-outside{background:var(--cal-soft);border-color:transparent}
.calendar-workspace .people-calendar-grid td.people-calendar-weekend,.calendar-workspace .people-calendar-grid td.people-calendar-holiday{background:#fff7f4;box-shadow:none}
.calendar-workspace .people-calendar-grid td.calendar-selected{border:2px solid var(--cal-accent);box-shadow:0 0 0 1px var(--cal-accent)}
.calendar-day-link{display:flex;flex-direction:column;gap:4px;min-height:110px;padding:6px;text-decoration:none;color:var(--cal-ink);box-sizing:border-box}
.calendar-day-link:focus-visible{outline:3px solid #e8a93f;outline-offset:2px;border-radius:4px}
.calendar-date-number{font-size:15px;font-weight:700;line-height:20px}
.calendar-today .calendar-date-number{color:var(--cal-accent);text-decoration:underline;text-underline-offset:4px}
.calendar-day-label{font-size:9px;line-height:1.2;color:var(--cal-muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-height:11px}
.calendar-count{display:flex;align-items:center;justify-content:space-between;gap:2px;font-size:10px;line-height:16px;padding:1px 3px;border-radius:3px;background:var(--cal-soft);overflow:hidden}
.calendar-count b{font-size:11px;flex-shrink:0}
.calendar-count-duty{background:#eee8fa;color:#553589}.calendar-count-leave{background:#e8eef8;color:#254b7b}.calendar-count-attendance{background:#e7f2e9;color:#2c6241}
.calendar-count-remote{background:#e1f4f1;color:#126a5d}
.calendar-count-working{background:#e7f2e9;color:#2c6241}
.calendar-count-pass{background:#e8f1ff;color:#294f85}
.calendar-pending-count{font-size:9px;color:#775712;line-height:12px}
.calendar-agenda header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}
.calendar-agenda header h2{margin:0}.calendar-agenda header>span{font-size:11px;color:var(--cal-muted)}
.calendar-search{display:flex;gap:8px;margin:16px 0 12px}.calendar-search input{min-width:0;width:100%;font-size:13px}.calendar-search button{padding:8px 12px;font-size:12px}
.calendar-agenda-list{max-height:570px;overflow:auto;scrollbar-gutter:stable}
.calendar-agenda-row{display:flex;justify-content:space-between;gap:10px;padding:12px 0 12px 10px;border-bottom:1px solid var(--cal-line);border-left:3px solid #6985ab}
.calendar-agenda-row:first-child{border-top:1px solid var(--cal-line)}
.calendar-agenda-row>div:first-child{min-width:0}.calendar-agenda-row strong{display:block;font-size:13px;overflow-wrap:anywhere;line-height:1.4}.calendar-agenda-type{display:block;font-size:12px;color:var(--cal-ink);margin:2px 0}.calendar-agenda-row small{display:block;font-size:10px;color:var(--cal-muted)}
.calendar-agenda-duty{border-left-color:#8865b8}.calendar-agenda-attendance{border-left-color:#55966a}.calendar-agenda-pending{border-left-style:dashed;background:var(--cal-soft)}
.calendar-agenda-remote{border-left-color:#27a08f}
.calendar-agenda-working{border-left-color:#55966a}
.calendar-agenda-actions{flex-shrink:0;display:flex;align-items:flex-end;flex-direction:column;gap:6px;max-width:116px}.calendar-state{font-size:10px;color:var(--cal-muted);text-align:right}.calendar-agenda-pending .calendar-state{color:#856017}.calendar-agenda-actions form{margin:0}.calendar-approve,.calendar-cancel{font-size:10px;padding:4px 7px;min-height:28px}
.calendar-reason{font-size:11px;margin-top:5px}.calendar-reason p{overflow-wrap:anywhere}.calendar-reason summary{cursor:pointer;color:var(--cal-muted)}
.calendar-capacity{font-size:11px;background:var(--cal-soft);border-radius:6px;padding:10px;margin-bottom:12px}.calendar-capacity summary{cursor:pointer}.calendar-capacity ul{padding:0;list-style:none;max-height:140px;overflow:auto}.calendar-capacity li{display:flex;justify-content:space-between;gap:8px;padding:5px 0}.calendar-capacity strong{font-size:10px}
.calendar-pagination{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--cal-muted);padding:8px 0}.calendar-pagination a{padding:5px 12px;border:1px solid var(--cal-line);border-radius:4px;color:var(--cal-accent)}
.calendar-empty{padding:30px 12px;text-align:center;font-size:13px;color:var(--cal-muted)}
html[data-theme="dark"] .calendar-workspace{--cal-ink:#e1e9f4;--cal-muted:#a8b8cb;--cal-line:#35465d;--cal-bg:#172538;--cal-soft:#1d2d43;--cal-accent:#658bda}
html[data-theme="dark"] .calendar-workspace .people-calendar-grid td.people-calendar-weekend,html[data-theme="dark"] .calendar-workspace .people-calendar-grid td.people-calendar-holiday{background:#35282d}
html[data-theme="dark"] .calendar-count-duty{background:#392d51;color:#d9c4fc}html[data-theme="dark"] .calendar-count-leave{background:#243b59;color:#c0d9fc}html[data-theme="dark"] .calendar-count-attendance{background:#254133;color:#b5dec0}
html[data-theme="dark"] .calendar-count-remote{background:#19433e;color:#aee4d9}
html[data-theme="dark"] .calendar-count-working{background:#254133;color:#b5dec0}
html[data-theme="dark"] .calendar-count-pass{background:#263d5d;color:#bdd5ff}
html[data-theme="dark"] .calendar-pending-count,html[data-theme="dark"] .calendar-agenda-pending .calendar-state{color:#e1bd72}
@media(max-width:1100px){.calendar-columns{grid-template-columns:minmax(0,1fr)}.calendar-agenda-list{max-height:480px}}
@media(max-width:650px){.calendar-columns>.panel{padding:10px}.calendar-workspace .people-calendar-grid td{height:104px}.calendar-day-link{padding:4px;min-height:102px;gap:3px}.calendar-count{font-size:8px;padding:1px 2px}.calendar-count b{font-size:9px}.calendar-day-label{font-size:8px}.calendar-pending-count{font-size:8px}.calendar-workspace .people-calendar-grid th,.calendar-workspace .people-calendar-grid td{display:table-cell;width:14.285%;}.calendar-workspace .people-calendar-grid td::before{display:none}.calendar-workspace .people-calendar-grid tbody{display:table-row-group}.calendar-workspace .people-calendar-grid thead{display:table-header-group}.calendar-workspace .people-calendar-grid tr{display:table-row}.calendar-toolbar{gap:8px}.calendar-tabs a,.calendar-shortcuts a{padding:5px 8px;font-size:12px}.calendar-agenda-list{max-height:520px}}
.calendar-actions{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap}.calendar-actions>details{flex:1;min-width:240px;margin:0 0 8px;padding:12px 16px}.calendar-actions summary,.calendar-review-panel summary{cursor:pointer;font-weight:600;font-size:13px;color:var(--cal-accent)}.calendar-actions details[open] summary{margin-bottom:14px}.calendar-review-panel{padding:12px 16px;margin:0 0 8px}.calendar-review-panel[open]{max-height:360px;overflow:auto}.calendar-review-panel>summary{margin-bottom:8px}
.calendar-workspace .sales-plan-hero{padding:10px 16px;margin-bottom:8px}.calendar-workspace .sales-plan-hero .eyebrow{display:none}.calendar-workspace .sales-plan-hero h1{font-size:25px;margin:0}.calendar-workspace .people-calendar-controls{margin-bottom:8px}.calendar-count>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.calendar-workspace .people-calendar-grid td{height:100px}.calendar-day-link{min-height:98px}
.calendar-legend-panel{margin:12px 0;font-size:12px;color:var(--cal-muted)}.calendar-legend-panel summary{cursor:pointer}.calendar-mobile-month{display:none!important}@media(max-width:650px){.calendar-columns{display:flex;flex-direction:column}.calendar-columns>.panel{width:100%;box-sizing:border-box}.calendar-agenda{order:-1}.calendar-agenda-list{max-height:330px}.calendar-mobile-month{display:inline-flex!important}}
/* Unified calendar filters: one period and roster selection for every surface. */
.calendar-filter-panel{margin:0 0 12px;padding:14px 16px!important}.calendar-filter-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}.calendar-filter-form>label,.calendar-period>label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;min-width:0}.calendar-filter-form :is(input,select){box-sizing:border-box;width:100%;min-width:0;font-size:13px}.calendar-period{grid-column:1/-1;display:flex;align-items:end;flex-wrap:wrap;gap:12px;border:0;padding:0;margin:0}.calendar-period legend{font-size:12px;font-weight:700;padding:0;margin:0 0 8px}.calendar-period-switch{display:flex;align-items:center;align-self:center;gap:12px;flex-wrap:wrap}.calendar-period-switch label{font-size:12px;display:flex;align-items:center;gap:5px}.calendar-period-switch input{width:auto;margin:0}.calendar-period>label{max-width:200px;flex:1;min-width:130px}.calendar-period:has(input[value="month"]:checked) .calendar-range-field{display:none}.calendar-period:has(input[value="range"]:checked) .calendar-month-field{display:none}.calendar-filter-submit{display:flex;gap:8px;align-items:center}.calendar-filter-submit :is(button,a){font-size:12px;padding:10px 12px;white-space:nowrap}.calendar-filter-result{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;font-size:12px;color:var(--cal-muted)}.calendar-filter-result .button{font-size:12px;padding:7px 12px}.calendar-filter-help{margin:8px 0 0;font-size:11px;color:var(--cal-muted)}.calendar-range-columns{grid-template-columns:minmax(0,1fr)}.calendar-range-columns .calendar-agenda-list{max-height:650px}.calendar-range-columns .calendar-agenda-row{padding:12px}.calendar-range-columns .calendar-agenda header h2{font-size:17px}@media(max-width:760px){.calendar-filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-filter-submit{grid-column:1/-1}.calendar-period-switch{width:100%}.calendar-filter-help{line-height:1.5}}@media(max-width:420px){.calendar-filter-form{gap:10px}.calendar-filter-form>label{font-size:11px}.calendar-filter-submit{flex-wrap:wrap}.calendar-filter-result{flex-wrap:wrap}.calendar-period>label{min-width:120px}}
.calendar-filter-form label{margin:0;line-height:1.3}.calendar-filter-form input:not([type="radio"]),.calendar-filter-form select{height:36px;padding:6px 10px}.calendar-period{align-items:center}.calendar-period-switch label{margin:0}.calendar-period legend{margin-bottom:5px}.calendar-filter-form{gap:10px}.calendar-filter-result{margin-top:10px}.calendar-filter-panel .calendar-filter-help{margin:7px 0 0}.calendar-filter-submit :is(button,a){min-height:36px;padding:7px 12px}
/* Direct substitution-menu entrance must remain usable on narrow screens. */
@media (max-width: 820px) {
  #month-close-delegations .inline-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }
  #month-close-delegations .inline-form > label {
    min-width: 0;
    width: 100%;
  }
  #month-close-delegations .inline-form input,
  #month-close-delegations .inline-form select,
  #month-close-delegations .inline-form button {
    box-sizing: border-box;
    min-width: 0;
    width: 100%;
    max-width: 100%;
  }
}
