/* 22.10.2026: ставки с датой начала — раздел «Оплата» карточки сотрудника (rates.js) */
.rt-card { gap: 10px; }
.rt-cap { font-weight: 600; margin: 4px 0 2px; }
.rt-now .row b { text-align: right; overflow-wrap: anywhere; }
.rt-line { border-top: 1px solid var(--line); padding-top: 6px; }
.rt-rec { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 10px; padding: 6px 0; border-bottom: 1px dashed var(--line); }
.rt-rec:last-child { border-bottom: 0; }
.rt-when, .rt-what { grid-column: 1; min-width: 0; overflow-wrap: anywhere; }
.rt-acts { grid-column: 2; grid-row: 1 / span 2; display: flex; gap: 10px; align-items: center; }
.rt-chip { font-size: 12px; }
.rt-current .rt-chip { background: #DCFCE7; color: #166534; }
.rt-future .rt-chip { background: #DBEAFE; color: #1E3A8A; }
.rt-past { opacity: .75; }
.rt-form { border: 1px solid var(--line); }
.rt-form h3 { margin: 0 0 6px; font-size: 16px; }
.rt-facts { display: flex; flex-wrap: wrap; gap: 8px; }
.rt-warn { background: #FFFBEB; border: 1px solid #FCD34D; border-radius: 10px; padding: 8px 12px; font-size: 14px; }
.rt-warn p { margin: 4px 0; }
.rt-closed { color: #92400E; }
.rt-log summary { cursor: pointer; font-weight: 600; }
.rt-logrow { font-size: 13px; padding: 4px 0; border-bottom: 1px solid #F1F1F1; overflow-wrap: anywhere; }
.rt-wh { border-top: 1px solid var(--line); padding-top: 6px; }
@media (max-width: 520px) {
  .rt-rec { grid-template-columns: 1fr; }
  .rt-acts { grid-column: 1; grid-row: auto; }
}

/* 02.11.2026: быстрая ставка — кнопка в строке, карандаш, плашка, поповер и лист массовой простановки */
.qr-btn { display: inline-flex; align-items: center; gap: 4px; cursor: pointer; white-space: nowrap; font-size: 13px; font-weight: 600;
  line-height: 1.2; padding: 5px 10px; border-radius: 999px; background: #FEF3C7; color: #92400E; border: 1px solid #FCD34D; }
.qr-btn::before { content: '+'; font-weight: 700; }
.qr-btn:hover { background: #FDE68A; }
.qr-btn:focus-visible, .qr-pen:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.qr-pen { display: inline-block; cursor: pointer; margin-left: 6px; padding: 0 4px; border-radius: 6px; color: var(--muted); font-weight: 400; }
.qr-pen:hover { color: var(--accent); background: #EFF6FF; }
.qr-banner { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 0 0 10px; padding: 8px 12px; border-radius: 10px;
  background: #FFFBEB; border: 1px solid #FCD34D; color: #92400E; font-size: 14px; }
.qr-banner > span:first-child { flex: 1 1 220px; min-width: 0; }
.py-norate .qr-btn, .rv-warn .qr-btn { margin-left: 4px; }
.qr-flash { animation: qr-flash 2.4s ease-out; }
@keyframes qr-flash { 0%, 40% { background: #DCFCE7; } 100% { background: transparent; } }

.qr-ov { position: fixed; inset: 0; z-index: 70; background: rgba(17, 24, 39, .35); }
.qr-pop { position: absolute; z-index: 71; background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 12px 14px;
  box-shadow: 0 12px 32px rgba(17, 24, 39, .18); display: flex; flex-direction: column; gap: 8px; box-sizing: border-box; max-width: calc(100vw - 24px); }
.qr-pop .fld { margin: 0; }
.qr-pop p { margin: 0; }
.qr-sheet { position: fixed; left: 0; right: 0; bottom: 0; top: auto; width: auto; max-width: none; max-height: 88vh; overflow-y: auto;
  border-radius: 16px 16px 0 0; padding: 14px 16px calc(14px + env(safe-area-inset-bottom)); }
@media (min-width: 640px) {
  .qr-sheet.qr-bulk { left: 50%; right: auto; bottom: auto; top: 6vh; transform: translateX(-50%); width: min(640px, calc(100vw - 32px)); border-radius: 14px; max-height: 86vh; }
  .qr-sheet.qr-one { left: 50%; right: auto; bottom: auto; top: 12vh; transform: translateX(-50%); width: min(360px, calc(100vw - 32px)); border-radius: 14px; }
}
.qr-h { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; padding-right: 28px; position: relative; }
.qr-h b { font-size: 16px; }
.qr-x { position: absolute; right: -4px; top: -4px; border: 0; background: none; font-size: 16px; cursor: pointer; color: var(--muted); padding: 4px 6px; }
.qr-row { display: flex; gap: 8px; }
.qr-row .fld { flex: 1 1 0; min-width: 0; }
.qr-now { color: var(--ink); }
.qr-acts { display: flex; flex-wrap: wrap; gap: 8px; }
.qr-pop .rt-warn { font-size: 13px; }
.qr-list { display: flex; flex-direction: column; border-top: 1px solid var(--line); }
.qr-item { display: grid; grid-template-columns: minmax(0, 1fr) 150px 150px; gap: 4px 8px; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--line); }
.qr-who { display: flex; flex-direction: column; min-width: 0; }
.qr-who b { overflow-wrap: anywhere; }
.qr-a { display: flex; align-items: center; gap: 4px; min-width: 0; }
.qr-a .inp { min-width: 0; width: 100%; }
.qr-u { white-space: nowrap; }
.qr-st { grid-column: 1 / -1; }
.qr-st:empty { display: none; }
.qr-no { grid-column: 2 / -1; }
.qr-item.done { opacity: .7; }
.qr-item.done .qr-st { color: var(--ok); }
.qr-item.bad .qr-st { color: var(--err); }
.qr-item.wait .qr-st { color: #92400E; }
.qr-bulk-top .fld { max-width: 220px; }
@media (max-width: 560px) {
  .qr-item { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .qr-who { grid-column: 1 / -1; }
  .qr-no { grid-column: 1 / -1; }
}
