/* Отчёты этапа 5 — «Время по этапам» (46) и «Возвраты» (47), макет `Отчёты.dc.html`.
   Цвета — токены этапов 2–3: предупреждение #8a5a00, параллельно #175cd3/#e8f1fd,
   повторный возврат #b42318/#fdecec, черновики #8a5a00 на #fff4d6. */
.sr { gap: 12px; }
.sr[hidden] { display: none; }
.sr-titles { display: flex; flex-direction: column; gap: 3px; }
.sr-titles > h2 { margin: 0; font-size: 17px; font-weight: 600; }
.sr-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; }
.sr-period { display: flex; align-items: center; gap: 6px; }
.sr-period > span, .sr-label { color: #5f6368; }
.sr-period input[type="date"], .sr-shop select {
  width: auto; height: 32px; min-height: 32px; padding: 0 8px; border: 1px solid #e0e0dc; border-radius: 8px; background: #fff;
  font: inherit; font-size: 13px;
}
.sr-cuts, .sr-shop { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.sr-cuts[hidden], .sr-shop[hidden], .sr-lock[hidden], .sr-note[hidden], .sr-stale[hidden], .sr-draft[hidden] { display: none; }
.sr-seg { display: flex; gap: 2px; padding: 2px; background: #f0f0ec; border-radius: 8px; flex-wrap: wrap; }
.sr-seg > button {
  height: 28px; min-height: 28px; padding: 0 10px; border: 0; border-radius: 6px; background: transparent; box-shadow: none;
  color: #17181a; font: 400 13px/1 inherit; cursor: pointer; white-space: nowrap;
}
.sr-seg > button[aria-checked="true"] { background: #fff; box-shadow: 0 1px 2px rgba(16, 24, 40, .08); font-weight: 600; }
.sr-lock { padding: 4px 10px; border-radius: 999px; background: #f0f0ec; font-size: 12px; color: #3b3e42; }
.sr-buttons { display: flex; gap: 6px; margin-left: auto; }
.sr-show {
  display: inline-flex; align-items: center; gap: 8px; height: 32px; min-height: 32px; padding: 0 14px; border: 0; border-radius: 8px;
  background: #17181a; color: #fff; font-weight: 500; cursor: pointer;
}
.sr-show > span { color: #c6f36d; }
.sr-show.small { height: 28px; min-height: 28px; padding: 0 12px; }
.sr-excel { height: 32px; min-height: 32px; padding: 0 14px; border: 1px solid #e2e2dd; border-radius: 8px; background: #fff; color: #17181a; white-space: nowrap; }
.sr-note { margin: 0; font-size: 12.5px; color: #5f6368; line-height: 1.45; }
.sr-stale {
  display: flex; align-items: center; gap: 8px 12px; flex-wrap: wrap; padding: 10px 14px; border-radius: 10px; background: #fff4d6; color: #8a5a00;
}
.sr-stale > span { flex: 1 1 260px; }
.sr-body { display: flex; flex-direction: column; gap: 12px; }
.sr-body.is-stale .sr-table, .sr-body.is-stale .sr-tiles { opacity: .45; }
.sr-skeleton { display: flex; flex-direction: column; gap: 6px; }
.sr-sk { height: 48px; border-radius: 10px; background: #f7f7f4; }
.sr-sk.h36 { height: 36px; background: #f0f0ec; }
.sr-sk.o7 { opacity: .7; }
.sr-sk.o45 { opacity: .45; }
.sr-wait { font-size: 12.5px; color: #5f6368; }
.sr-empty {
  padding: 44px 20px; border: 1px solid #ebebe7; border-radius: 12px; background: #fbfbfa;
  display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center;
}
.sr-empty > strong { font-size: 15px; font-weight: 600; }
.sr-table { border: 1px solid #ebebe7; border-radius: 12px; overflow: hidden; }
.sr-row {
  display: grid; grid-template-columns: var(--sr-cols); gap: 8px; align-items: center; min-height: 48px; padding: 8px 14px; background: #fff;
}
.sr-item { border-top: 1px solid #efefeb; }
.sr-item > .sr-row[aria-expanded] { cursor: pointer; }
.sr-item.is-repeat > .sr-row { background: #fffafa; }
.sr-headrow { min-height: 36px; padding: 6px 14px; background: #f7f7f4; font-size: 12px; font-weight: 500; color: #5f6368; }
.sr-headrow > span { line-height: 1.3; }
.sr-headrow > .is-num { text-align: right; }
.sr-total { min-height: 44px; padding: 6px 14px; border-top: 1px solid #d6d6d0; background: #fbfbfa; }
.sr-total .sr-cell { font-weight: 600; }
.sr-cell { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; min-width: 0; text-align: right; }
.sr-cell.is-left { align-items: flex-start; text-align: left; }
.sr-line {
  display: flex; align-items: center; gap: 6px; font: 400 12.5px 'JetBrains Mono', monospace; color: #17181a; white-space: nowrap;
}
.sr-cell.is-left > .sr-line { font-family: inherit; font-size: 13px; white-space: normal; }
.sr-cell.is-strong > .sr-line { font-weight: 600; }
.sr-cell.tone-warn > .sr-line, .sr-cell.tone-warn .sr-link { color: #8a5a00; }
.sr-cell.tone-muted > .sr-line { color: #5f6368; }
.sr-cell.tone-danger > .sr-line { color: #b42318; }
.sr-chev { width: 12px; flex: none; color: #5f6368; font-family: Onest, system-ui, sans-serif; }
.sr-link, .sr-hint {
  min-height: 0; height: auto; padding: 0; border: 0; background: none; box-shadow: none; color: inherit;
  font: inherit; text-decoration: underline; cursor: pointer;
}
.sr-par { padding: 0 5px; border-radius: 6px; background: #e8f1fd; color: #175cd3; font-size: 11px; font-weight: 500; font-family: Onest, system-ui, sans-serif; }
.sr-sub { font-size: 11.5px; color: #5f6368; padding-left: 18px; }
.sr-hint { font-size: 11.5px; color: #8a5a00; padding-left: 18px; text-align: left; white-space: normal; }
.sr-detail { padding: 2px 14px 12px; background: #fbfbfa; display: flex; flex-direction: column; gap: 8px; border-top: 1px dashed #e0e0dc; }
.sr-info { padding-top: 8px; font-size: 12.5px; color: #3b3e42; line-height: 1.45; }
.sr-subrows { display: flex; flex-direction: column; }
.sr-subrow { display: grid; grid-template-columns: var(--sr-cols); gap: 8px; align-items: center; min-height: 38px; border-bottom: 1px solid #efefeb; }
.sr-subrow .sr-line { font-size: 12.5px; }
.sr-legend { font-size: 12px; color: #5f6368; line-height: 1.45; }
/* 47 — плитки, слагаемые, список возвратов */
.sr-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; }
.sr-tile { display: flex; flex-direction: column; gap: 4px; padding: 12px 14px; border: 1px solid #ebebe7; border-radius: 12px; background: #fff; min-width: 0; }
.sr-tile.is-danger { border-color: #f3c4c0; }
.sr-tile.is-warn { border-color: #f3e1a8; }
.sr-tile-label { font-size: 12px; color: #5f6368; }
.sr-tile-value { font: 600 22px 'JetBrains Mono', monospace; color: #17181a; letter-spacing: -.01em; }
.sr-tile.is-danger .sr-tile-value { color: #b42318; }
.sr-tile-sub { font-size: 12px; color: #5f6368; line-height: 1.4; }
.sr-tile.is-warn .sr-tile-sub { color: #8a5a00; }
.sr-tile-link { min-height: 0; height: auto; padding: 0; border: 0; background: none; box-shadow: none; font-size: 12px; color: #b42318; font-weight: 500; text-align: left; text-decoration: underline; cursor: pointer; }
.sr-draft { font-size: 12px; color: #5f6368; }
.sr-draft > button { min-height: 0; height: auto; padding: 0; border: 0; background: none; box-shadow: none; font: inherit; color: #17181a; text-decoration: underline; cursor: pointer; }
.sr-parts { display: flex; flex-direction: column; gap: 2px; max-width: 520px; padding-top: 8px; }
.sr-parts-title, .sr-orders-title { font-size: 12px; color: #5f6368; font-weight: 500; }
.sr-part { display: flex; gap: 12px; align-items: baseline; min-height: 24px; }
.sr-part > span:first-child { flex: 1; color: #3b3e42; }
.sr-part > span:last-child { font: 12.5px 'JetBrains Mono', monospace; white-space: nowrap; }
.sr-part.is-total { border-top: 1px solid #e0e0dc; font-weight: 600; }
.sr-part.is-warn > span:last-child { color: #8a5a00; }
.sr-orders { display: flex; flex-direction: column; gap: 2px; padding-top: 6px; }
.sr-order { display: flex; align-items: center; gap: 6px 12px; flex-wrap: wrap; min-height: 32px; padding: 4px 8px; margin: 0 -8px; border-radius: 8px; }
.sr-order.is-repeat { background: #fdecec; }
.sr-order-no { min-height: 0; height: auto; padding: 0; border: 0; background: none; box-shadow: none; font: 500 12.5px 'JetBrains Mono', monospace; color: #17181a; text-decoration: underline; cursor: pointer; }
.sr-order.is-repeat .sr-order-no { color: #b42318; }
.sr-order-pill { padding: 1px 8px; border-radius: 999px; background: #b42318; color: #fff; font-size: 12px; font-weight: 600; }
.sr-order-text { color: #3b3e42; }
.sr-order-time { margin-left: auto; font: 12px 'JetBrains Mono', monospace; color: #5f6368; }
@media (max-width: 37.5rem) {
  .sr-buttons { margin-left: 0; }
}

/* R4.1 — «Ждут решения» в «Зарплате» и плашка «Моего расчётного листа» (макет 49):
   #8a5a00 на #fff4d6, рамка #f3e1a8; не согласен — #b42318, ждёт директора — #8a5a00. */
.rd { border: 1px solid #f3e1a8; border-radius: 12px; overflow: hidden; margin: 0 0 16px; background: #fff; }
.rd-head { display: flex; align-items: center; gap: 6px 12px; flex-wrap: wrap; padding: 10px 14px; background: #fff4d6; }
.rd-head h2 { margin: 0; font-size: 14px; font-weight: 600; color: #8a5a00; }
.rd-head .mono, .rd .mono { font-family: 'JetBrains Mono', monospace; }
.rd-sum { color: #3b3e42; }
.rd-sum b { font-size: 12.5px; font-weight: 600; }
.rd-link {
  margin-left: auto; height: 30px; min-height: 30px; padding: 0 12px; border: 1px solid #e2e2dd; border-radius: 8px; background: #fff;
  color: #17181a; font-size: 12.5px; font-weight: 500; white-space: nowrap; box-shadow: none;
}
.rd-text { margin: 0; padding: 10px 14px 4px; font-size: 12.5px; color: #3b3e42; line-height: 1.45; }
.rd-ro { margin: 0; padding: 2px 14px 4px; font-size: 12.5px; color: #5f6368; }
.rd-row {
  display: grid; grid-template-columns: minmax(96px, 1fr) 88px minmax(170px, 1.5fr) 92px minmax(130px, 1.1fr) auto;
  gap: 12px; align-items: center; min-height: 48px; padding: 8px 14px; border-top: 1px solid #efefeb;
}
.rd-headrow { min-height: 34px; margin-top: 6px; padding: 0 14px; background: #f7f7f4; border-top: 1px solid #ebebe7; font-size: 12px; font-weight: 500; color: #5f6368; }
.rd-headrow .num { text-align: right; }
.rd-row > b, .rd-card-top > b { font-weight: 600; }
.rd-ret { justify-self: start; min-height: 0; height: auto; padding: 0; border: 0; background: none; box-shadow: none; font: 500 12.5px 'JetBrains Mono', monospace; color: #17181a; text-decoration: underline; cursor: pointer; text-align: left; }
.rd-what { display: flex; flex-direction: column; gap: 1px; }
.rd-what small { font-size: 12px; color: #5f6368; }
.rd-money { text-align: right; font-weight: 600; font-size: 13px; }
.rd-money.is-neg { color: #b42318; }
.rd-money.is-pos { color: #067647; }
.rd-why { display: inline-flex; align-items: center; gap: 6px; }
.rd-why.is-danger { color: #b42318; }
.rd-why.is-warn { color: #8a5a00; }
.rd-dot { width: 6px; height: 6px; flex: none; border-radius: 999px; background: currentColor; }
.rd-acts, .rd-card-acts { display: flex; gap: 6px; flex-wrap: wrap; }
.rd-confirm { height: 32px; min-height: 32px; padding: 0 12px; border: 0; border-radius: 8px; background: #17181a; color: #fff; font-weight: 500; white-space: nowrap; cursor: pointer; }
.rd-confirm > span { color: #c6f36d; }
.rd-open { height: 32px; min-height: 32px; padding: 0 12px; border: 1px solid #e2e2dd; border-radius: 8px; background: #fff; color: #17181a; font-weight: 500; white-space: nowrap; }
.rd-bydir { display: inline-flex; align-items: center; height: 32px; color: #5f6368; font-size: 12.5px; white-space: nowrap; }
.rd-card { display: flex; flex-direction: column; gap: 6px; padding: 12px 14px; border-top: 1px solid #efefeb; }
.rd-card-top { display: flex; align-items: baseline; gap: 8px; }
.rd-card-top .rd-money { margin-left: auto; }
.rd-card .rd-why { font-size: 12.5px; }
.rd-card-acts { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); }
.rd-card-acts .rd-confirm, .rd-card-acts .rd-open, .rd-card-acts .rd-bydir { height: 38px; min-height: 38px; justify-content: center; }
.rd-plates { display: flex; flex-direction: column; gap: 8px; }
.rd-plates:empty { display: none; }
.rd-plate { display: flex; flex-direction: column; gap: 3px; padding: 12px 14px; border: 1px solid #f3e1a8; border-radius: 12px; background: #fff4d6; }
.rd-plate > b { color: #8a5a00; font-weight: 600; }
.rd-plate > span { font-size: 12.5px; color: #3b3e42; line-height: 1.45; }
