/* IzyShift — «Выплата зарплат» (14.10.2026), payroll.js. Телефон по умолчанию,
   от 900 px строки ведомости — таблицей. Токены — те же, что у app.css. */
#view-payroll .card { margin: 12px; }
.py-help p + p { margin-top: 6px; }
.py-seg { margin: 10px 0 12px; }
.py-period { margin-bottom: 10px; }
.py-warn { background: #FEF3C7; color: #92400E; border-radius: 8px; padding: 8px 10px; margin: 8px 0; }
.py-create { margin-top: 6px; }
.py-hrow, .py-brow { display: flex; align-items: center; gap: 10px; width: 100%; padding: 12px 0; border: 0;
  border-bottom: 1px solid #F1F1F1; background: none; font: inherit; color: inherit; text-align: left; cursor: pointer; }
.py-hrow:last-child, .py-brow:last-child { border-bottom: 0; }
.py-h-main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.py-h-main small, .py-h-sum small { font-size: 12px; }
.py-h-sum { display: flex; flex-direction: column; align-items: flex-end; white-space: nowrap; }
.py-brow { justify-content: space-between; padding: 9px 0; font-size: 14px; }
.py-mask { font-variant-numeric: tabular-nums; letter-spacing: .02em; white-space: nowrap; }
.py-no { color: #B45309; }
.pill.py-appr { background: #DBEAFE; color: #1E40AF; }
.pill.py-exp { background: #EDE9FE; color: #5B21B6; }
.pill.py-paid { background: #D1FAE5; color: #065F46; }
.pill.py-i-paid { background: #D1FAE5; color: #065F46; }
.pill.py-i-failed { background: #FEE2E2; color: #991B1B; }
.pill.py-i-pending { background: #F3F4F6; color: #374151; }
.py-tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 12px 0; }
.py-tile { border: 1px solid var(--line); border-radius: 12px; padding: 10px; min-width: 0; }
.py-tile b { display: block; font-size: 16px; overflow-wrap: anywhere; }
.py-tile.main b { font-size: 22px; }
.py-tile span { font-size: 12px; color: var(--muted); }
.py-tile.warn { border-color: #FCD34D; background: #FFFBEB; }
.py-pend { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 8px 0; border-top: 1px solid #F1F1F1; }
.py-pend > span { display: flex; flex-direction: column; min-width: 0; }
.py-all { margin-top: 8px; }
.py-back { margin: 12px 12px 0; }
.py-title { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.py-title h2 { margin: 0; }
.py-steps { display: flex; list-style: none; gap: 4px; margin: 12px 0 4px; padding: 0; flex-wrap: wrap; }
.py-steps li { flex: 1 1 0; min-width: 70px; font-size: 12px; text-align: center; padding: 6px 4px; border-radius: 6px;
  background: #F3F4F6; color: #6B7280; }
.py-steps li.done { background: #D1FAE5; color: #065F46; }
.py-steps li.on { background: #111827; color: #fff; font-weight: 600; }
.py-steps.cancelled li { text-decoration: line-through; opacity: .6; }
.py-acts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.py-acts .btn { width: auto; }
.py-lines { padding-bottom: 8px; }
.py-line { display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; padding: 12px 0; border-bottom: 1px solid #F1F1F1; align-items: start; }
.py-line.off { opacity: .6; }
.py-lh { display: none; }
.py-who { grid-column: 1 / -1; display: flex; flex-direction: column; min-width: 0; }
.py-who small { font-size: 12px; overflow-wrap: anywhere; }
.py-num, .py-adj { display: flex; justify-content: space-between; gap: 8px; grid-column: 1 / -1; font-size: 14px; }
.py-num::before, .py-adj::before { content: attr(data-l); color: var(--muted); font-size: 13px; }
.py-adj { flex-wrap: wrap; }
.py-adj small { flex-basis: 100%; text-align: right; font-size: 12px; }
.py-net b { font-size: 16px; }
.py-acc { display: flex; flex-direction: column; min-width: 0; font-size: 14px; }
.py-st { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
.py-ra { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
.py-ra .btn { width: auto; min-height: 40px; padding: 6px 12px; font-size: 14px; }
.py-foot { margin-top: 10px; }
.py-fired { color: var(--warn); font-weight: 600; }
.py-hidden { margin-top: 10px; padding: 8px 2px 0; border-top: 1px solid var(--line); color: var(--muted); }
.py-hidden summary { cursor: pointer; }
.py-hidden ul { margin: 6px 0 0; padding-left: 18px; }
.py-hidden li { overflow-wrap: anywhere; }
.py-hidden p { margin: 6px 0 0; }
.py-sheet .py-adjs { display: flex; flex-direction: column; gap: 8px; }
.py-adj-row { display: grid; grid-template-columns: 1fr 96px; gap: 6px; align-items: center; padding-bottom: 8px; border-bottom: 1px dashed var(--line); }
.py-adj-row input:not(.num) { grid-column: 1 / 2; }
.py-adj-row .inp { padding: 10px; }
.py-adj-row .inp.num { width: 100%; }
.py-adj-del { justify-self: end; font-size: 18px; min-width: 44px; min-height: 44px; }
.py-sheet-net b { font-size: 18px; }
.py-chk { display: flex; gap: 8px; align-items: center; cursor: pointer; min-height: 32px; }
.py-chk input { width: 18px; height: 18px; }
.py-toggle b { font-weight: 600; }
.py-soon { opacity: .55; cursor: default; }
.py-ibancheck { min-height: 18px; color: var(--muted); overflow-wrap: anywhere; }
.py-ibancheck.ok { color: var(--ok); }
.py-ibancheck.bad { color: var(--err); }
.py-form { margin-top: 10px; }
.py-form .btn { width: auto; align-self: flex-start; }
.py-pendbox { display: flex; flex-direction: column; gap: 2px; background: #FFFBEB; border: 1px solid #FCD34D; border-radius: 10px; padding: 10px; margin-top: 10px; }
.py-histbox { margin-top: 10px; font-size: 13px; }
.py-histbox summary { cursor: pointer; color: var(--muted); }
.py-hline { display: flex; flex-direction: column; padding: 6px 0; border-bottom: 1px solid #F1F1F1; }
.py-card .row b { overflow-wrap: anywhere; text-align: right; }
#py-set-card .py-set-fields { margin-top: 6px; }
#py-set-card .btn { width: auto; align-self: flex-start; }

@media (min-width: 900px) {
  .py-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .py-line { grid-template-columns: minmax(180px, 2.2fr) 1fr 1.2fr 1fr 1.4fr .9fr minmax(120px, auto); gap: 10px; align-items: center; }
  .py-lh { display: grid; font-size: 12px; color: var(--muted); padding: 6px 0; }
  .py-who, .py-num, .py-adj, .py-ra { grid-column: auto; }
  .py-num, .py-adj { display: block; text-align: right; }
  .py-num::before, .py-adj::before { content: none; }
  .py-adj small { display: block; text-align: right; }
  .py-st { align-items: flex-start; }
  .py-ra { justify-content: flex-end; }
  .py-lh span:nth-child(2), .py-lh span:nth-child(3), .py-lh span:nth-child(4) { text-align: right; }
  .py-adj-row { grid-template-columns: 170px 110px 1fr 44px; }
  .py-adj-row input:not(.num) { grid-column: auto; }
  #view-payroll { max-width: 1280px; }
}
/* десктоп-слой (body.dk): карточки в токенах B, как остальные экраны */
body.dk #view-payroll .card { border-radius: 6px; }
