/* Shared visual layer for the seven working sections. Business states stay in their domain CSS. */
: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 > 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: 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 .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: 126px; padding: 17px 20px; }
.sales-plan-page .sales-plan-topbar > * { position: relative; z-index: 1; min-width: 0; }
.sales-plan-page .sales-plan-current-week {
  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-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; }
}
