
.quick-status-panel { min-width: min(100%, 330px); }
.quick-status-values {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding-top: .55rem;
  border-top: 1px solid var(--app-border);
}
.quick-status-values span { color: var(--app-muted); font-size: .75rem; font-weight: 700; }
.quick-status-values strong { color: var(--app-primary); }

.quick-workspace {
  display: grid;
  grid-template-columns: minmax(620px, 1.08fr) minmax(520px, .92fr);
  gap: 1rem;
  align-items: start;
}
.quick-input-card,
.quick-result-card { min-width: 0; }
.quick-result-card { position: sticky; top: 86px; }

.base-preview {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .7rem;
}
.base-preview > div {
  padding: .8rem;
  border: 1px solid var(--app-border);
  border-radius: 12px;
  background: #f8fafc;
}
.base-preview span { display: block; color: var(--app-muted); font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .03em; }
.base-preview strong { display: block; margin-top: .2rem; color: var(--app-primary-strong); font-size: .88rem; overflow-wrap: anywhere; }

.hours-section {
  padding-top: .2rem;
  border-top: 1px solid #eef2f7;
}
.hours-input-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.hour-input-card {
  min-width: 0;
  min-height: 88px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 112px;
  align-items: center;
  gap: .75rem;
  padding: .8rem;
  border: 1px solid var(--app-border);
  border-radius: 13px;
  background: #fff;
  cursor: text;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.hour-input-card:hover,
.hour-input-card:focus-within { border-color: #7dd3fc; box-shadow: 0 8px 20px rgb(15 23 42 / 7%); }
.hour-input-card:focus-within { transform: translateY(-1px); }
.hour-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: var(--app-primary-soft);
  color: var(--app-primary);
  font-size: 1.05rem;
}
.hour-copy strong,
.hour-copy small { display: block; }
.hour-copy strong { color: #1e293b; font-size: .82rem; }
.hour-copy small { margin-top: .2rem; color: var(--app-muted); font-size: .67rem; line-height: 1.3; }
.hour-field { position: relative; display: block; }
.hour-field input { padding-right: 2.8rem; text-align: right; font-variant-numeric: tabular-nums; }
.hour-field small { position: absolute; right: .55rem; top: 50%; transform: translateY(-50%); color: #64748b; font-size: .62rem; pointer-events: none; }

.dsr-panel {
  padding: .9rem;
  border: 1px solid #bae6fd;
  border-radius: 14px;
  background: #f8fcff;
}
.dsr-panel-head { display: flex; align-items: center; gap: .6rem; }
.dsr-panel-head .app-toggle-wide { flex: 1; border: 0; background: transparent; padding: .3rem; }
.dsr-panel.is-disabled #camposDsrRapido { opacity: .48; pointer-events: none; }

.quick-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
.quick-summary-card {
  min-height: 100px;
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .85rem;
  border: 1px solid var(--app-border);
  border-radius: 14px;
  background: #f8fafc;
}
.quick-summary-icon {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: #fff;
  color: var(--app-primary);
  box-shadow: 0 4px 14px rgb(15 23 42 / 8%);
}
.quick-summary-card small { display: block; color: var(--app-muted); font-size: .69rem; font-weight: 800; }
.quick-summary-card strong { display: block; margin-top: .2rem; color: #0f172a; font-size: 1.05rem; }
.quick-summary-total { border-color: #86efac; background: #f0fdf4; }
.quick-summary-total .quick-summary-icon,
.quick-summary-total strong { color: var(--app-success); }

.quick-results-table {
  border: 1px solid var(--app-border);
  border-radius: 13px;
  overflow: hidden;
}
.quick-results-table .table thead th { position: static; }
.quick-results-table td { font-variant-numeric: tabular-nums; }
.quick-results-table .result-name strong,
.quick-results-table .result-name small { display: block; }
.quick-results-table .result-name small { margin-top: .15rem; color: var(--app-muted); font-size: .66rem; }
.quick-results-table .result-value { color: var(--app-primary-strong); font-weight: 900; }
.quick-results-table .zero-row { opacity: .58; }

.quick-formula-list { display: grid; gap: .6rem; }
.quick-formula-item {
  padding: .75rem .85rem;
  border: 1px solid var(--app-border);
  border-radius: 11px;
  background: #fff;
}
.quick-formula-item strong { display: block; margin-bottom: .3rem; color: var(--app-primary-strong); font-size: .78rem; }
.quick-formula-item code { display: block; color: #334155; white-space: normal; overflow-wrap: anywhere; font-size: .7rem; }

@media (max-width: 1399.98px) {
  .quick-workspace { grid-template-columns: 1fr; }
  .quick-result-card { position: static; }
}

@media (max-width: 1199.98px) {
  .quick-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 991.98px) {
  .hours-input-grid { grid-template-columns: 1fr; }
}

@media (max-width: 575.98px) {
  .quick-summary-grid { grid-template-columns: 1fr; }
}

@media (max-width: 767.98px) {
  .base-preview { grid-template-columns: 1fr; }
  .hour-input-card { grid-template-columns: 38px minmax(0, 1fr); }
  .hour-icon { width: 38px; height: 38px; }
  .hour-field { grid-column: 1 / -1; }
  .dsr-panel-head { align-items: flex-start; }
}

@media print {
  .quick-calculator-page { padding-top: 0; }
  .quick-calculator-page .appbar,
  .quick-calculator-page .toast-container,
  .quick-calculator-page .tip-box,
  .quick-calculator-page footer { display: none !important; }
  .quick-workspace { display: block; }
  .quick-result-card { margin-top: 10mm; position: static; }
  .app-card { box-shadow: none; break-inside: avoid; }
  .accordion-collapse { display: block !important; }
}

/* DSR como sexto card da grade de horas */
.dsr-hour-card {
  cursor: default;
  grid-template-columns: 42px minmax(0, 1fr) minmax(150px, 190px);
  min-height: 88px;
  padding: .8rem;
  background: #f8fcff;
  border-color: #bae6fd;
}
.dsr-hour-card:hover { transform: none; }
.dsr-toggle-label {
  display: flex;
  align-items: center;
  gap: .55rem;
  margin: 0;
  cursor: pointer;
}
.dsr-toggle-label input { position: absolute; opacity: 0; pointer-events: none; }
.mini-switch {
  position: relative;
  width: 38px;
  height: 22px;
  flex: 0 0 38px;
  border-radius: 999px;
  background: #cbd5e1;
  transition: background .18s ease;
}
.mini-switch::after {
  content: '';
  position: absolute;
  width: 16px;
  height: 16px;
  top: 3px;
  left: 3px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 6px rgba(15,23,42,.18);
  transition: transform .18s ease;
}
.dsr-toggle-label input:checked + .mini-switch { background: #0b6f9e; }
.dsr-toggle-label input:checked + .mini-switch::after { transform: translateX(16px); }
.dsr-toggle-label > span:last-child strong,
.dsr-toggle-label > span:last-child small { display: block; }
.dsr-toggle-label > span:last-child strong { font-size: .82rem; color: #1e293b; }
.dsr-toggle-label > span:last-child small { margin-top: .18rem; color: #64748b; font-size: .65rem; line-height: 1.25; }
.dsr-compact-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .4rem;
}
.dsr-compact-fields label { min-width: 0; }
.dsr-compact-fields small { display: block; color: #64748b; font-size: .62rem; font-weight: 700; margin-bottom: .18rem; }
.dsr-compact-fields input { min-width: 0; text-align: center; padding-inline: .35rem; }
.dsr-hour-card.is-disabled .dsr-compact-fields { opacity: .45; pointer-events: none; }

@media (max-width: 767.98px) {
  .dsr-hour-card { grid-template-columns: 38px minmax(0, 1fr); }
  .dsr-compact-fields { grid-column: 1 / -1; }
}

/* ===== v3.3.4 — faltas por calendário e soma selecionável ===== */
.absence-control-card {
  display: flex;
  align-items: center;
  gap: .65rem;
  min-height: 42px;
}
.absence-control-card .btn {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  border-radius: 12px;
}
.absence-count-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: .35rem .7rem;
  border: 1px solid #d5dfed;
  border-radius: 999px;
  background: #f7f9fc;
  color: #405675;
  font-weight: 800;
  white-space: nowrap;
}
.selected-total-card {
  display: flex;
  align-items: center;
  gap: .75rem;
  width: fit-content;
  max-width: 100%;
  margin-left: auto;
  padding: .65rem .85rem;
  border: 1px solid #cfe2d8;
  border-radius: 14px;
  background: #f7fcf9;
}
.selected-total-card > .material-icons-round { font-size: 1.55rem; }
.selected-total-card small,
.selected-total-card strong,
.selected-total-card span { display: block; }
.selected-total-card small { color: #66758b; font-weight: 700; }
.selected-total-card strong { color: #0f7d58; font-size: 1.15rem; }
.selected-total-card span { color: #708096; font-size: .72rem; }
.sum-select-cell { min-width: 106px; }
.sum-row-select { min-width: 96px; font-size: .75rem; font-weight: 700; }
.vacation-row { background: #fffaf0; }
.medical-row { background: #f4f9ff; }
@media (max-width: 575.98px) {
  .absence-control-card { align-items: stretch; flex-direction: column; }
  .absence-control-card .btn { justify-content: center; }
  .selected-total-card { width: 100%; margin-left: 0; }
}

/* v4.4.1: o editor por valor não herda o sufixo absoluto de .hour-field. */
.quick-value-field .input-group-text,
.quick-value-field .form-control { min-height: 36px; }

/* v4.4.8 — edição bidirecional também na tabela de resultados */
.quick-results-table .quick-result-edit { min-width:78px; max-width:104px; margin-left:auto; font-weight:800; font-variant-numeric:tabular-nums; }
.quick-results-table .quick-result-money { min-width:112px; max-width:138px; margin-left:auto; }
.quick-results-table .quick-result-money .input-group-text { padding-inline:.4rem; color:#64748b; background:#f8fafc; }
.quick-code-pill,.quick-adjust-pill { display:inline-flex;align-items:center;min-height:18px;padding:.08rem .34rem;border-radius:999px;font-size:.57rem;font-weight:850; }
.quick-code-pill { margin-right:.22rem;background:#eff6ff;color:#1d4ed8; }
.quick-adjust-pill { margin-left:.25rem;background:#ecfdf5;color:#047857; }
.quick-results-table .quick-result-edit:focus { border-color:#7dbfe6; box-shadow:0 0 0 .15rem rgba(14,165,233,.12); }

/* ===== v4.8.18-r6 — refatoração visual do módulo Calculadora ===== */
.quick-expander-header .quick-info-icon,
.quick-info-icon {
  font-size: 17px !important;
  cursor: help;
  vertical-align: -3px;
}

.quick-parameter-grid {
  display: grid;
  grid-template-columns: minmax(300px, 1.3fr) minmax(220px, .9fr) minmax(270px, 1fr);
  gap: 12px;
  align-items: stretch;
}
.quick-param-card {
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid #dbe6ef;
  border-radius: 14px;
  background: linear-gradient(180deg, #fff, #fbfdff);
}
.quick-param-card--competence { border-color: #cfe2f5; background: #f8fbff; }
.quick-param-card--salary { border-color: #cde8d8; background: #f9fdfb; }
.quick-param-card--divisor { border-color: #ded5f3; background: #fcfaff; }
.quick-param-card .form-label { display: inline-flex; align-items: center; gap: 4px; }
.quick-param-hint { display: block; margin-top: 7px; color: #708096; font-size: .68rem; font-weight: 650; }

.quick-subsection-card {
  min-width: 0;
  padding: 14px;
  border: 1px solid #dbe5ee;
  border-radius: 15px;
  background: #fbfdff;
}
.quick-subsection-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 12px;
}
.quick-subsection-head--compact { margin-bottom: 10px; }
.quick-subsection-head h3 { margin: 2px 0 3px; color: #163f5d; font-size: .94rem; font-weight: 850; }
.quick-subsection-head p { max-width: 900px; margin: 0; color: #66788d; font-size: .73rem; line-height: 1.45; }
.quick-kicker { color: #6c7e92; font-size: .58rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.quick-base-count {
  flex: 0 0 auto;
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border: 1px solid #d8e3ed;
  border-radius: 999px;
  background: #fff;
  color: #52677d;
  font-size: .67rem;
  font-weight: 800;
}

.quick-base-add-toolbar {
  display: grid;
  grid-template-columns: minmax(320px, 1.35fr) minmax(260px, 1fr) auto;
  gap: 10px;
  align-items: end;
  padding: 11px;
  border: 1px solid #d5e2ee;
  border-radius: 13px;
  background: #fff;
}
.quick-base-select-wrap { min-width: 0; }
.quick-base-selected-preview {
  min-width: 0;
  min-height: 58px;
  display: grid;
  align-content: center;
  gap: 2px;
  padding: 7px 10px;
  border: 1px dashed #cfdce7;
  border-radius: 10px;
  background: #f8fbfd;
}
.quick-base-selected-preview small { color: #71859a; font-size: .58rem; font-weight: 850; text-transform: uppercase; letter-spacing: .035em; }
.quick-base-selected-preview strong { overflow: hidden; color: #27445c; font-size: .73rem; text-overflow: ellipsis; white-space: nowrap; }
.quick-base-default-pill { width: fit-content; margin-top: 2px; padding: 2px 7px; border-radius: 999px; background: #eef2f6; color: #64748b; font-size: .59rem; font-weight: 850; }
.quick-base-default-pill.is-base { background: #e8f8ef; color: #08734b; }
.quick-base-default-pill.is-out { background: #f2f4f7; color: #5b6674; }
.quick-base-add-btn { min-width: 116px; display: inline-flex; align-items: center; justify-content: center; gap: 5px; }

.quick-base-zones {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}
.quick-base-zone {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #dce5ed;
  border-radius: 13px;
  background: #fff;
}
.quick-base-zone--yes { border-color: #c8e7d6; background: #fbfefc; }
.quick-base-zone--no { border-color: #dde2e8; background: #fcfcfd; }
.quick-base-zone-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 10px 11px;
  border-bottom: 1px solid #e5ebf0;
  background: rgba(248,250,252,.9);
}
.quick-base-zone-head > div { min-width: 0; display: grid; grid-template-columns: auto 1fr; column-gap: 7px; align-items: center; }
.quick-base-zone-head .material-icons-round { grid-row: 1 / span 2; font-size: 19px; }
.quick-base-zone-head strong { color: #223e55; font-size: .75rem; }
.quick-base-zone-head small { color: #718095; font-size: .61rem; }
.quick-zone-count { min-width: 27px; height: 27px; display: grid; place-items: center; border: 1px solid #d8e2eb; border-radius: 999px; background: #fff; color: #496175; font-size: .67rem; font-weight: 900; }
.quick-base-list { display: grid; gap: 8px; padding: 9px; }
.quick-base-row {
  min-width: 0;
  display: grid;
  grid-template-columns: 72px minmax(150px, 1fr) minmax(130px, 155px) 112px 38px;
  gap: 8px;
  align-items: center;
  padding: 8px;
  border: 1px solid #e0e7ee;
  border-radius: 10px;
  background: #fff;
}
.quick-base-row.is-base { box-shadow: inset 3px 0 0 #32a66b; }
.quick-base-row.is-out { box-shadow: inset 3px 0 0 #94a3b8; }
.quick-base-row-code { display: grid; gap: 1px; }
.quick-base-row-code span { color: #174c70; font-size: .78rem; font-weight: 900; }
.quick-base-row-code small,
.quick-base-row-desc small,
.quick-base-row-value label { color: #7a8898; font-size: .56rem; font-weight: 800; text-transform: uppercase; letter-spacing: .025em; }
.quick-base-row-desc { min-width: 0; }
.quick-base-row-desc strong { display: block; overflow: hidden; color: #263f54; font-size: .71rem; text-overflow: ellipsis; white-space: nowrap; }
.quick-base-row-desc small { display: block; margin-top: 2px; text-transform: none; letter-spacing: 0; }
.quick-base-row-value { min-width: 0; }
.quick-base-row-value label { display: block; margin-bottom: 2px; }
.quick-base-row-value .form-control { min-width: 0; text-align: right; }
.quick-base-toggle { min-width: 0; display: flex; align-items: center; gap: 7px; margin: 0; cursor: pointer; }
.quick-base-toggle > span:last-child strong,
.quick-base-toggle > span:last-child small { display: block; }
.quick-base-toggle > span:last-child strong { color: #334b60; font-size: .68rem; }
.quick-base-toggle > span:last-child small { color: #718095; font-size: .59rem; }
.micro-toggle { position: relative; width: 38px; height: 22px; flex: 0 0 38px; }
.micro-toggle input { position: absolute; opacity: 0; pointer-events: none; }
.micro-toggle > span { position: absolute; inset: 0; border-radius: 999px; background: #cbd5df; transition: .18s ease; }
.micro-toggle > span::after { content: ''; position: absolute; width: 16px; height: 16px; left: 3px; top: 3px; border-radius: 50%; background: #fff; box-shadow: 0 2px 5px rgba(15,23,42,.18); transition: .18s ease; }
.micro-toggle input:checked + span { background: #15945f; }
.micro-toggle input:checked + span::after { transform: translateX(16px); }
.quick-base-remove { width: 36px; min-height: 34px; display: grid; place-items: center; padding: 0; }
.quick-base-empty { min-height: 62px; display: flex; align-items: center; gap: 9px; padding: 10px; color: #8290a1; }
.quick-base-empty .material-icons-round { font-size: 22px; }
.quick-base-empty strong,
.quick-base-empty small { display: block; }
.quick-base-empty strong { font-size: .7rem; color: #667789; }
.quick-base-empty small { margin-top: 2px; font-size: .61rem; line-height: 1.35; }

.quick-days-panel { background: #fffdf9; border-color: #eadfca; }
.quick-days-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.quick-days-grid > div { min-width: 0; padding: 10px; border: 1px solid #eadfca; border-radius: 11px; background: #fff; }
.quick-days-grid .form-label { display: inline-flex; align-items: center; gap: 3px; }

.quick-result-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }
.quick-result-actions .btn { display: inline-flex; align-items: center; gap: 5px; border-radius: 10px; }
.quick-modal-kicker { color: #64748b; font-size: .6rem; font-weight: 900; letter-spacing: .06em; }
.quick-export-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.quick-export-choice { min-height: 120px; display: flex; align-items: flex-start; gap: 12px; padding: 15px; border: 1px solid #d8e2eb; border-radius: 15px; background: #fff; text-align: left; transition: .15s ease; }
.quick-export-choice:hover { transform: translateY(-1px); border-color: #9ebbd2; box-shadow: 0 8px 20px rgba(15,23,42,.07); }
.quick-export-choice > .material-icons-round { font-size: 30px; }
.quick-export-choice strong,
.quick-export-choice small { display: block; }
.quick-export-choice strong { color: #183d59; font-size: .9rem; }
.quick-export-choice small { margin-top: 4px; color: #6b7d8e; font-size: .69rem; line-height: 1.45; }

@media (max-width: 1200px) {
  .quick-parameter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .quick-param-card--competence { grid-column: 1 / -1; }
  .quick-base-add-toolbar { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) auto; }
  .quick-base-zones { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .quick-parameter-grid { grid-template-columns: 1fr; }
  .quick-param-card--competence { grid-column: auto; }
  .quick-base-add-toolbar { grid-template-columns: 1fr; align-items: stretch; }
  .quick-base-add-btn { width: 100%; }
  .quick-base-row { grid-template-columns: 68px minmax(0, 1fr) 130px 105px 38px; }
  .quick-days-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .quick-subsection-head { flex-direction: column; }
  .quick-base-count { align-self: flex-start; }
  .quick-base-row { grid-template-columns: 64px minmax(0, 1fr) 38px; }
  .quick-base-row-value { grid-column: 1 / span 2; }
  .quick-base-toggle { grid-column: 1 / span 2; }
  .quick-base-remove { grid-column: 3; grid-row: 1; }
  .quick-days-grid { grid-template-columns: 1fr; }
  .quick-export-choice-grid { grid-template-columns: 1fr; }
}

/* ===== v4.8.18-r7 — Calculadora em abas, CRUD dinâmico e calibração por holerite ===== */
.quick-tab-shell { overflow: hidden; }
.quick-main-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 10px;
  border-bottom: 1px solid #dce6ef;
  background: linear-gradient(180deg, #fbfdff 0%, #f7fafc 100%);
}
.quick-main-tab {
  min-width: 0;
  display: grid;
  grid-template-columns: 30px 26px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  padding: 10px 12px;
  border: 1px solid transparent;
  border-radius: 12px;
  background: transparent;
  color: #496176;
  text-align: left;
  transition: .16s ease;
}
.quick-main-tab:hover { background: #fff; border-color: #d8e5ef; }
.quick-main-tab.is-active { background: #fff; border-color: #9bc4e1; box-shadow: 0 5px 16px rgba(15, 76, 110, .08); color: #153e5b; }
.quick-main-tab-number { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 9px; background: #eef5ff; color: #2563eb; font-size: .72rem; font-weight: 900; }
.quick-main-tab .material-icons-round { font-size: 21px; }
.quick-main-tab strong, .quick-main-tab small { display: block; }
.quick-main-tab strong { font-size: .84rem; }
.quick-main-tab small { margin-top: 1px; color: #7a8998; font-size: .62rem; line-height: 1.25; }
.quick-main-pane { padding: 14px; }
.quick-main-pane[hidden] { display: none !important; }
.quick-pane-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 12px; }
.quick-pane-heading h2 { margin: 2px 0 3px; color: #173f5c; font-size: 1rem; font-weight: 850; }
.quick-pane-heading p { margin: 0; color: #66788d; font-size: .72rem; }

/* A Calculadora agora usa a largura inteira, eliminando o aperto dos cards laterais. */
.quick-base-zones { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.quick-base-row {
  grid-template-columns: 70px minmax(180px, 1.5fr) minmax(145px, .75fr) minmax(150px, .72fr) 38px;
}
.quick-base-toggle { min-width: 145px; }
.quick-base-toggle > span:last-child { min-width: 0; }
.quick-base-toggle > span:last-child strong,
.quick-base-toggle > span:last-child small { white-space: normal; overflow-wrap: anywhere; }

.quick-hour-add-toolbar {
  display: grid;
  grid-template-columns: minmax(320px, 1.35fr) minmax(300px, 1fr) auto;
  gap: 10px;
  align-items: end;
  padding: 11px;
  border: 1px solid #d5e2ee;
  border-radius: 13px;
  background: #fff;
}
.quick-hour-ledger-head {
  display: grid;
  grid-template-columns: minmax(260px, 1.55fr) 90px 135px 135px minmax(220px, 1fr) 42px;
  gap: 8px;
  margin-top: 11px;
  padding: 0 10px 5px;
  color: #7b8997;
  font-size: .56rem;
  font-weight: 900;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.quick-hour-ledger { display: grid; gap: 8px; }
.quick-hour-row {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(260px, 1.55fr) 90px 135px 135px minmax(220px, 1fr) 42px;
  gap: 8px;
  align-items: center;
  padding: 9px 10px;
  border: 1px solid #dfe7ee;
  border-radius: 11px;
  background: #fff;
}
.quick-hour-row:focus-within { border-color: #9cc9e4; box-shadow: 0 5px 14px rgba(15,76,110,.06); }
.quick-hour-identity { min-width: 0; display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 8px; align-items: center; }
.quick-hour-code { display: grid; place-items: center; min-height: 36px; border-radius: 9px; background: #eef6ff; color: #185d89; font-size: .72rem; font-weight: 900; }
.quick-hour-identity strong, .quick-hour-identity small { display: block; }
.quick-hour-identity strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #293f52; font-size: .74rem; }
.quick-hour-identity small { margin-top: 2px; color: #718296; font-size: .61rem; line-height: 1.25; }
.quick-hour-field label { display: block; margin: 0 0 2px; color: #778697; font-size: .55rem; font-weight: 850; text-transform: uppercase; }
.quick-hour-field .form-control { min-width: 0; text-align: right; font-variant-numeric: tabular-nums; }
.quick-hour-dsr-toggle { display: flex; align-items: center; gap: 7px; margin: 0; }
.quick-hour-dsr-toggle > span:last-child strong, .quick-hour-dsr-toggle > span:last-child small { display: block; }
.quick-hour-dsr-toggle > span:last-child strong { color: #344b60; font-size: .67rem; }
.quick-hour-dsr-toggle > span:last-child small { color: #778697; font-size: .58rem; }
.quick-manual-box { min-width: 0; display: grid; grid-template-columns: auto minmax(120px, 1fr); gap: 7px; align-items: center; }
.quick-manual-box .input-group { min-width: 0; }
.quick-manual-box .form-control { min-width: 0; text-align: right; }
.quick-manual-pill { display: inline-flex; align-items: center; gap: 3px; padding: 3px 7px; border-radius: 999px; background: #fff7ed; color: #a24b0b; font-size: .56rem; font-weight: 850; white-space: nowrap; }
.quick-hour-remove { width: 36px; height: 36px; display: grid; place-items: center; padding: 0; }
.quick-formula-manual { border-color: #f3d0a6; background: #fffaf4; }
.quick-dsr-wide { width: 100%; grid-template-columns: 42px minmax(260px, 1fr) minmax(200px, 260px); }

.quick-example-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.quick-example-card {
  appearance: none;
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 24px;
  align-items: center;
  gap: 10px;
  padding: 13px;
  border: 1px solid #dbe5ee;
  border-radius: 14px;
  background: #fff;
  color: inherit;
  text-align: left;
  transition: .15s ease;
}
.quick-example-card:hover { transform: translateY(-1px); border-color: #a9c9df; background: #fbfdff; box-shadow: 0 7px 18px rgba(15,23,42,.07); }
.quick-example-card > .material-icons-round:first-child { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 11px; background: #f3efff; color: #7c3aed; font-size: 21px; }
.quick-example-card > .material-icons-round:last-child { color: #7b8da0; font-size: 19px; }
.quick-example-card > div { min-width: 0; }
.quick-example-card strong, .quick-example-card small { display: block; }
.quick-example-card strong { color: #173f5c; font-size: .78rem; font-weight: 850; }
.quick-example-card small { margin-top: 3px; color: #6c7f91; font-size: .64rem; line-height: 1.4; }

.quick-summary-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.quick-summary-card { min-height: 88px; }

@media (max-width: 1250px) {
  .quick-base-zones { grid-template-columns: 1fr; }
  .quick-hour-ledger-head,
  .quick-hour-row { grid-template-columns: minmax(240px, 1.4fr) 82px 120px 120px minmax(190px, 1fr) 42px; }
  .quick-summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
  .quick-main-tabs { grid-template-columns: 1fr; }
  .quick-hour-add-toolbar { grid-template-columns: 1fr; align-items: stretch; }
  .quick-hour-add-toolbar .quick-base-add-btn { width: 100%; }
  .quick-hour-ledger-head { display: none; }
  .quick-hour-row { grid-template-columns: minmax(0, 1fr) minmax(110px, .45fr) 42px; align-items: start; }
  .quick-hour-identity { grid-column: 1 / -1; }
  .quick-hour-field[data-role="hours"] { grid-column: 1; }
  .quick-hour-field[data-role="factor"] { grid-column: 2; }
  .quick-hour-dsr-toggle { grid-column: 1; }
  .quick-manual-box { grid-column: 1 / span 2; }
  .quick-hour-remove { grid-column: 3; grid-row: 1; }
  .quick-dsr-wide { grid-template-columns: 42px minmax(0, 1fr) minmax(180px, 230px); }
  .quick-example-grid { grid-template-columns: 1fr; }
  .quick-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .quick-main-pane { padding: 10px; }
  .quick-pane-heading { flex-direction: column; }
  .quick-main-tab { grid-template-columns: 28px 24px minmax(0, 1fr); }
  .quick-base-row { grid-template-columns: 62px minmax(0, 1fr) 38px; }
  .quick-base-row-value { grid-column: 1 / span 2; }
  .quick-base-toggle { grid-column: 1 / span 2; min-width: 0; }
  .quick-hour-row { grid-template-columns: 1fr 42px; }
  .quick-hour-identity, .quick-hour-field, .quick-hour-dsr-toggle, .quick-manual-box { grid-column: 1 / -1 !important; }
  .quick-hour-remove { grid-column: 2; grid-row: 1; }
  .quick-manual-box { grid-template-columns: 1fr; }
  .quick-dsr-wide { grid-template-columns: 38px minmax(0, 1fr); }
  .quick-dsr-wide .dsr-compact-fields { grid-column: 1 / -1; }
  .quick-summary-grid { grid-template-columns: 1fr; }
}
.quick-edit-mode { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.quick-edit-mode small { margin-right: 2px; color: #718096; font-size: .62rem; font-weight: 800; }
.quick-edit-mode .btn { display: inline-flex; align-items: center; gap: 4px; border-radius: 9px; }
.quick-edit-mode .material-icons-round { font-size: 16px; }
.quick-edit-mode .is-active { background: #eaf5fc; border-color: #6fb6df; color: #075985; }

/* ===== v4.8.18-r8 — correções de fatores, edição contínua e conferência compacta ===== */
.quick-base-row {
  grid-template-columns: 58px minmax(100px, 1fr) minmax(112px, 132px) minmax(104px, 116px) 34px;
  gap: 7px;
}
.quick-base-toggle {
  min-width: 0;
  max-width: 116px;
  overflow: hidden;
}
.quick-base-toggle > span:last-child {
  min-width: 0;
  overflow: hidden;
}
.quick-base-toggle > span:last-child strong,
.quick-base-toggle > span:last-child small {
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.quick-base-row-value .input-group { min-width: 0; flex-wrap: nowrap; }
.quick-base-row-value .input-group-text { flex: 0 0 auto; padding-inline: .42rem; }
.quick-base-row-value .form-control { width: 100%; min-width: 0; padding-inline: .42rem; }

.quick-summary-grid.quick-summary-grid--six {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: .6rem !important;
}
.quick-summary-selected {
  border-color: #cfe5dc !important;
  background: linear-gradient(180deg, #fbfffd 0%, #f5fcf8 100%) !important;
}
.quick-summary-selected .quick-summary-icon { color: #0b8b5a; background: #eaf8f1; }
.quick-summary-detail {
  display: block;
  margin-top: 2px;
  color: #718096;
  font-size: .56rem;
  line-height: 1.25;
}
.quick-result-actions--compact {
  min-height: 30px;
  justify-content: flex-end;
  align-items: center;
  gap: 5px;
}
.quick-result-actions-label {
  margin-right: 2px;
  color: #8a98a8;
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.quick-result-actions--compact .quick-export-mini {
  min-height: 27px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: .22rem .48rem;
  border: 1px solid #e1e8ef;
  border-radius: 8px;
  background: #fbfcfd;
  color: #64748b;
  font-size: .61rem;
  font-weight: 800;
  box-shadow: none;
}
.quick-result-actions--compact .quick-export-mini:hover {
  border-color: #cbd8e3;
  background: #f5f8fb;
  color: #334b60;
}
.quick-result-actions--compact .quick-export-mini .material-icons-round { font-size: 15px !important; }

@media (max-width: 1550px) {
  .quick-base-zones { grid-template-columns: 1fr; }
  .quick-summary-grid.quick-summary-grid--six { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 900px) {
  .quick-summary-grid.quick-summary-grid--six { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 560px) {
  .quick-base-row { grid-template-columns: 58px minmax(0, 1fr) 34px; }
  .quick-base-row-value { grid-column: 1 / span 2; }
  .quick-base-toggle { grid-column: 1 / span 2; max-width: none; }
  .quick-base-toggle > span:last-child strong,
  .quick-base-toggle > span:last-child small { white-space: normal; text-overflow: clip; }
  .quick-summary-grid.quick-summary-grid--six { grid-template-columns: 1fr !important; }
  .quick-result-actions--compact { justify-content: flex-start; }
}

/* ===== v4.8.18-r10 — proporcionalidade automática, tríades e identidade visual alinhada ===== */
.quick-tab-shell {
  border: 2px solid #d7e4ee;
  border-radius: 17px;
  box-shadow: 0 8px 24px rgba(15, 61, 91, .055);
}
.quick-main-tabs { padding: 11px; gap: 10px; border-bottom: 1.5px solid #d7e4ee; }
.quick-main-tab { border-width: 1.5px; font-weight: 750; }
.quick-main-tab strong { font-weight: 900; color: #183d59; }
.quick-main-tab[data-quick-main-tab="data"] .quick-main-tab-number { background: #eaf5fc; color: #0b6fa4; }
.quick-main-tab[data-quick-main-tab="results"] .quick-main-tab-number { background: #eaf8f1; color: #08734b; }
.quick-main-tab[data-quick-main-tab="data"].is-active {
  border-color: #7cbbe2;
  background: linear-gradient(180deg, #f8fcff 0%, #eef8fe 100%);
  box-shadow: inset 0 3px 0 #1c72a2, 0 6px 18px rgba(28,114,162,.08);
}
.quick-main-tab[data-quick-main-tab="results"].is-active {
  border-color: #87cda9;
  background: linear-gradient(180deg, #fbfffd 0%, #eefaf4 100%);
  box-shadow: inset 0 3px 0 #15945f, 0 6px 18px rgba(21,148,95,.08);
}
.quick-main-pane[data-quick-main-pane="data"] { background: linear-gradient(180deg, #fbfdff 0%, #ffffff 34%); }
.quick-main-pane[data-quick-main-pane="results"] { background: linear-gradient(180deg, #fbfffd 0%, #ffffff 34%); }
.quick-pane-heading h2,
.quick-subsection-head h3 { font-weight: 900; color: #123e5d; }
.quick-pane-heading p,
.quick-subsection-head p { font-weight: 600; }
.quick-param-card,
.quick-subsection-card,
.quick-base-add-toolbar,
.quick-hour-add-toolbar,
.quick-base-zone,
.quick-base-row,
.quick-hour-row,
.quick-days-grid > div {
  border-width: 1.5px;
}
.quick-param-card { box-shadow: 0 3px 10px rgba(15,61,91,.035); }
.quick-param-card .form-label,
.quick-subsection-card .form-label,
.quick-hour-field small,
.quick-base-triad small,
.quick-salary-triad small { font-weight: 850; color: #334d63; }
.quick-param-card .form-control,
.quick-param-card .form-select,
.quick-subsection-card .form-control,
.quick-subsection-card .form-select {
  border-color: #bfd0df;
  font-weight: 700;
  color: #173f5c;
  background-color: #fff;
}
.quick-param-card .form-control:focus,
.quick-param-card .form-select:focus,
.quick-subsection-card .form-control:focus,
.quick-subsection-card .form-select:focus {
  border-color: #68add5;
  box-shadow: 0 0 0 .16rem rgba(28,114,162,.11);
}

.quick-salary-triad {
  display: grid;
  grid-template-columns: minmax(150px, 1.15fr) minmax(88px, .52fr) minmax(150px, 1fr);
  gap: 8px;
  align-items: end;
}
.quick-salary-triad > label { min-width: 0; }
.quick-salary-triad small { display: block; margin-bottom: 3px; font-size: .58rem; letter-spacing: .02em; text-transform: uppercase; }
.quick-salary-triad .input-group { flex-wrap: nowrap; }

.quick-base-zones { grid-template-columns: 1fr !important; }
.quick-base-row {
  grid-template-columns: 64px minmax(210px, .85fr) minmax(480px, 2fr) 132px 38px !important;
  gap: 10px;
  padding: 10px 11px;
  border-color: #d5e1ea;
}
.quick-base-row.is-base { border-color: #b9dfc9; box-shadow: inset 4px 0 0 #15945f; }
.quick-base-row.is-out { border-color: #d5dde5; box-shadow: inset 4px 0 0 #8393a3; }
.quick-base-row--medical { border-color: #f0d7a8 !important; background: #fffdf7; box-shadow: inset 4px 0 0 #d99020 !important; }
.quick-base-row-desc strong { font-size: .76rem; font-weight: 900; color: #163e5b; }
.quick-base-row-desc small { font-size: .62rem; line-height: 1.35; color: #65788a; }
.quick-base-triad {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(135px, 1.1fr) minmax(110px, .7fr) minmax(135px, 1.1fr);
  gap: 7px;
  align-items: end;
}
.quick-base-triad > label { min-width: 0; margin: 0; }
.quick-base-triad small { display: block; margin-bottom: 3px; font-size: .55rem; letter-spacing: .02em; text-transform: uppercase; }
.quick-base-triad .input-group { min-width: 0; flex-wrap: nowrap; }
.quick-base-triad .form-control { min-width: 0; font-variant-numeric: tabular-nums; }
.quick-ref-input { display: grid; grid-template-columns: minmax(0, 1fr) 30px; gap: 4px; }
.quick-ref-reset { width: 30px; height: 31px; display: grid; place-items: center; padding: 0; border: 1px solid #cbd7e2; border-radius: 7px; background: #fff; color: #718096; }
.quick-ref-reset .material-icons-round { font-size: 16px; }
.quick-ref-reset.is-auto { border-color: #9ed0b5; background: #edf9f2; color: #08734b; }
.quick-ref-reset:disabled { opacity: .4; cursor: default; }
.quick-base-default-pill.is-medical { background: #fff4dc; color: #9a5a08; }
.quick-base-toggle { max-width: none; min-width: 0; overflow: visible; }
.quick-base-toggle > span:last-child strong,
.quick-base-toggle > span:last-child small { white-space: normal; overflow: visible; text-overflow: clip; }
.quick-base-toggle.is-locked { cursor: default; opacity: .82; }

.quick-fixed-result-row.is-base > td { background: #f7fcf9; }
.quick-fixed-result-row.is-out > td { background: #fbfcfd; }
.quick-fixed-result-row .result-name strong { font-weight: 900; }
.quick-formula-neutral { border-color: #dfe5eb; background: #fafbfc; }

@media (max-width: 1320px) {
  .quick-base-row { grid-template-columns: 62px minmax(180px, .8fr) minmax(390px, 1.8fr) 120px 38px !important; }
}
@media (max-width: 1040px) {
  .quick-salary-triad { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .quick-salary-triad > label:first-child { grid-column: 1 / -1; }
  .quick-base-row { grid-template-columns: 60px minmax(0, 1fr) 38px !important; align-items: start; }
  .quick-base-row-desc { grid-column: 2; }
  .quick-base-triad { grid-column: 1 / span 2; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .quick-base-toggle { grid-column: 1 / span 2; }
  .quick-base-remove { grid-column: 3; grid-row: 1; }
}
@media (max-width: 650px) {
  .quick-salary-triad { grid-template-columns: 1fr; }
  .quick-salary-triad > label:first-child { grid-column: auto; }
  .quick-base-triad { grid-template-columns: 1fr; }
  .quick-base-triad > label { grid-column: 1; }
}

/* ===== v4.8.18-r11 — entradas unificadas + simulação de férias ===== */
.quick-main-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.quick-main-tab[data-quick-main-tab="vacation"] .quick-main-tab-number { background: #f1eaff; color: #7c3aed; }
.quick-main-tab[data-quick-main-tab="vacation"].is-active {
  border-color: #b9a2ee;
  background: linear-gradient(180deg, #fdfbff 0%, #f5f0ff 100%);
  box-shadow: inset 0 3px 0 #7c3aed, 0 6px 18px rgba(124,58,237,.09);
}
.quick-main-pane[data-quick-main-pane="vacation"] { background: linear-gradient(180deg, #fdfbff 0%, #fff 36%); }

.quick-unified-entry { border-color: #c8d9e7; background: linear-gradient(180deg,#fbfdff 0%,#fff 100%); }
.quick-entry-groups {
  display: grid;
  grid-template-columns: minmax(350px, 1.1fr) minmax(420px, 1fr) minmax(350px, 1.1fr);
  gap: 10px;
  align-items: stretch;
}
.quick-entry-group {
  min-width: 0;
  padding: 10px;
  border: 1.5px solid #d4e0e9;
  border-radius: 12px;
  background: #fff;
}
.quick-entry-group--monthly { border-color:#bfdbee; background:#f8fcff; box-shadow:inset 0 3px 0 #1c72a2; }
.quick-entry-group--days { border-color:#efd7ad; background:#fffdf8; box-shadow:inset 0 3px 0 #d99020; }
.quick-entry-group--hours { border-color:#d7c8f4; background:#fcfaff; box-shadow:inset 0 3px 0 #7c3aed; }
.quick-entry-group-title { display:flex; align-items:center; gap:6px; margin-bottom:8px; color:#173f5c; }
.quick-entry-group-title > .material-icons-round:first-child { font-size:19px; }
.quick-entry-group-title strong { font-size:.73rem; font-weight:900; }
.quick-entry-group-title .quick-info-icon { margin-left:auto; }
.quick-entry-inline { display:grid; grid-template-columns:minmax(145px,1.08fr) minmax(135px,.92fr) 34px; gap:7px; align-items:stretch; }
.quick-entry-inline .form-select { min-height:36px; font-size:.72rem; padding-top:.35rem; padding-bottom:.35rem; }
.quick-entry-preview { min-height:36px; padding:5px 7px; border-radius:8px; }
.quick-entry-preview small { font-size:.49rem; }
.quick-entry-preview strong { max-width:100%; font-size:.62rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.quick-entry-preview .quick-base-default-pill { margin-top:2px; padding:1px 5px; font-size:.49rem; }
.quick-icon-add { width:34px; min-width:34px; height:36px; display:grid; place-items:center; padding:0; border-width:1.5px; }
.quick-icon-add .material-icons-round { font-size:19px; }
.quick-days-inline { display:grid; grid-template-columns: repeat(3,minmax(68px,1fr)) minmax(78px,.8fr); gap:6px; align-items:end; }
.quick-days-inline label { min-width:0; }
.quick-days-inline small,.quick-absence-compact>small { display:block; margin-bottom:3px; color:#6d5840; font-size:.53rem; font-weight:900; text-transform:uppercase; }
.quick-days-inline .form-control { min-height:34px; padding:.3rem .42rem; font-size:.72rem; text-align:center; }
.quick-absence-compact .btn { width:100%; min-height:34px; display:flex; align-items:center; justify-content:center; gap:4px; padding:.25rem .4rem; font-size:.66rem; }
.quick-absence-compact .material-icons-round { font-size:16px; }
.quick-vacation-sim-toggle { display:flex; align-items:center; gap:7px; margin-top:8px; padding-top:7px; border-top:1px dashed #ead7b8; cursor:pointer; }
.quick-vacation-sim-toggle > span:nth-child(2) { min-width:0; }
.quick-vacation-sim-toggle strong,.quick-vacation-sim-toggle small { display:block; }
.quick-vacation-sim-toggle strong { color:#704b12; font-size:.65rem; font-weight:900; }
.quick-vacation-sim-toggle small { color:#8b775d; font-size:.54rem; }
.quick-vacation-sim-toggle .quick-info-icon { margin-left:auto; color:#7c3aed; }
.quick-hours-format--inline { margin-top:7px; justify-content:flex-end; }
.quick-hours-format--inline button { min-height:27px; padding:.2rem .45rem; font-size:.57rem; }

.quick-entry-ledgers { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.08fr); gap:10px; margin-top:10px; }
.quick-entry-ledger { min-width:0; padding:9px; border:1.5px solid #d7e2eb; border-radius:12px; background:#fff; }
.quick-entry-ledger--monthly { border-color:#c9dfec; }
.quick-entry-ledger--hours { border-color:#ddd1f3; }
.quick-ledger-title { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:7px; }
.quick-ledger-title strong,.quick-ledger-title small { display:block; }
.quick-ledger-title strong { color:#173f5c; font-size:.7rem; font-weight:900; }
.quick-ledger-title small { color:#738497; font-size:.55rem; }
.quick-entry-ledger .quick-base-zone { padding:7px; }
.quick-entry-ledger .quick-base-zone-head { margin-bottom:5px; }
.quick-entry-ledger .quick-base-zone-head strong { font-size:.63rem; }
.quick-entry-ledger .quick-base-row { grid-template-columns:54px minmax(120px,.7fr) minmax(300px,1.7fr) 105px 34px !important; gap:7px; padding:7px 8px; }
.quick-entry-ledger .quick-base-row-desc strong { font-size:.68rem; }
.quick-entry-ledger .quick-base-row-desc small { font-size:.54rem; }
.quick-entry-ledger .quick-base-triad { grid-template-columns:minmax(105px,1fr) minmax(80px,.65fr) minmax(105px,1fr); gap:5px; }
.quick-entry-ledger .quick-base-toggle { font-size:.59rem; }
.quick-entry-ledger .quick-hour-ledger-head,
.quick-entry-ledger .quick-hour-row { grid-template-columns:minmax(155px,1.15fr) 68px 88px 98px minmax(150px,1fr) 34px; gap:6px; }
.quick-entry-ledger .quick-hour-row { padding:7px 8px; }
.quick-entry-ledger .quick-hour-identity { grid-template-columns:44px minmax(0,1fr); gap:6px; }
.quick-entry-ledger .quick-hour-code { min-height:31px; }
.quick-entry-ledger .quick-hour-identity strong { font-size:.66rem; }
.quick-entry-ledger .quick-hour-identity small { font-size:.52rem; }
.quick-entry-ledger .quick-dsr-wide { padding:8px 10px; }

.quick-pane-heading--vacation h2 { color:#5b2aa8; }
.quick-vacation-status { display:inline-flex; align-items:center; gap:5px; color:#6d28d9; background:#f4efff; border:1px solid #d7c5f5; }
.quick-vacation-status .material-icons-round { font-size:16px; }
.quick-vacation-config { display:grid; grid-template-columns:minmax(180px,.7fr) minmax(110px,.35fr) minmax(300px,1.4fr); gap:10px; padding:11px; border:1.5px solid #d9c9f2; border-radius:12px; background:#fcfaff; align-items:end; }
.quick-vacation-config label>small,.quick-vacation-period>small { display:block; margin-bottom:4px; color:#65459a; font-size:.58rem; font-weight:900; text-transform:uppercase; }
.quick-vacation-config .form-control { min-height:37px; border-color:#cdbce9; font-weight:750; }
.quick-vacation-period { min-width:0; padding:7px 9px; border:1px dashed #d5c6ed; border-radius:9px; background:#fff; }
.quick-vacation-period strong { display:block; color:#412269; font-size:.69rem; line-height:1.35; }
.quick-vacation-summary { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin-top:10px; }
.quick-vacation-summary>div { padding:10px; border:1.5px solid #ded2f3; border-radius:11px; background:#fff; }
.quick-vacation-summary small,.quick-vacation-summary strong { display:block; }
.quick-vacation-summary small { color:#75648f; font-size:.56rem; font-weight:850; }
.quick-vacation-summary strong { margin-top:4px; color:#56318a; font-size:.9rem; font-weight:900; }
.quick-vacation-summary-total { background:#f5efff !important; border-color:#cdb9ef !important; }
.quick-vacation-summary-total strong { color:#6d28d9 !important; }
.quick-vacation-note { display:flex; gap:8px; margin-top:10px; padding:9px 11px; border:1px solid #d9cdee; border-radius:10px; background:#faf8ff; color:#594b6e; font-size:.65rem; line-height:1.45; }
.quick-vacation-note>.material-icons-round { flex:0 0 auto; color:#7c3aed; font-size:18px; }
.quick-vacation-results thead th { background:#f1ebfb; color:#55307e; }
.quick-vacation-results tbody tr td { vertical-align:middle; }
.quick-vacation-results tbody tr td:nth-child(6) { color:#5b2aa8; }
.quick-vacation-results tbody tr td:nth-child(7) { color:inherit; }

@media (max-width: 1500px) {
  .quick-entry-groups { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .quick-entry-group--days { grid-column:1 / -1; }
  .quick-entry-ledgers { grid-template-columns:1fr; }
  .quick-entry-ledger .quick-base-row { grid-template-columns:58px minmax(160px,.75fr) minmax(390px,1.8fr) 115px 34px !important; }
}
@media (max-width: 980px) {
  .quick-main-tabs { grid-template-columns:1fr; }
  .quick-entry-groups { grid-template-columns:1fr; }
  .quick-entry-group--days { grid-column:auto; }
  .quick-vacation-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .quick-vacation-summary-total { grid-column:1 / -1; }
  .quick-vacation-config { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .quick-vacation-period { grid-column:1 / -1; }
  .quick-entry-ledger .quick-base-row { grid-template-columns:56px minmax(0,1fr) 34px !important; }
  .quick-entry-ledger .quick-base-row-desc { grid-column:2; }
  .quick-entry-ledger .quick-base-triad { grid-column:1 / span 2; }
  .quick-entry-ledger .quick-base-toggle { grid-column:1 / span 2; }
  .quick-entry-ledger .quick-hour-ledger-head { display:none; }
  .quick-entry-ledger .quick-hour-row { grid-template-columns:minmax(0,1fr) minmax(100px,.4fr) 34px; }
  .quick-entry-ledger .quick-hour-identity { grid-column:1 / -1; }
}
@media (max-width: 620px) {
  .quick-entry-inline { grid-template-columns:1fr 34px; }
  .quick-entry-preview { grid-column:1 / -1; grid-row:2; }
  .quick-icon-add { grid-column:2; grid-row:1; }
  .quick-days-inline { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .quick-vacation-summary,.quick-vacation-config { grid-template-columns:1fr; }
  .quick-vacation-period,.quick-vacation-summary-total { grid-column:auto; }
}
.quick-main-tab[hidden] { display: none !important; }

/* ===== v4.8.18-r12 — CRUD único + três abas sempre disponíveis ===== */
.quick-entry-groups--compact {
  grid-template-columns: minmax(420px, .9fr) minmax(620px, 1.35fr);
  align-items: stretch;
}
.quick-entry-ledgers--single { grid-template-columns: 1fr; }
.quick-entry-ledger--unified { border-color:#cbdbea; background:linear-gradient(180deg,#fbfdff 0%,#fff 100%); }
.quick-unified-addition-list { display:grid; gap:8px; margin-bottom:9px; }
.quick-unified-addition-list:empty { display:none; }
.quick-entry-ledger--unified .quick-base-row {
  grid-template-columns: 54px minmax(190px,.8fr) minmax(390px,1.55fr) 110px 34px !important;
  border-color:#d7e3ed;
  background:#fbfdff;
}
.quick-entry-ledger--unified .quick-base-row.is-base { border-left:3px solid #16a36a; background:#f8fffb; }
.quick-entry-ledger--unified .quick-base-row.is-out { border-left:3px solid #70869a; background:#fbfcfd; }
.quick-entry-ledger--unified .quick-base-row--medical { border-left-color:#d97706; background:#fffaf3; }
.quick-entry-ledger--unified .quick-hour-ledger-head { margin-top:4px; }
.quick-entry-group--days { box-shadow:inset 0 3px 0 #d99020; }
.quick-entry-group--hours { box-shadow:inset 0 3px 0 #7c3aed; }
.quick-vacation-average-input { display:grid; grid-template-columns:minmax(150px,.9fr) minmax(130px,.8fr); gap:7px; }
.quick-vacation-average-input .form-select,
.quick-vacation-average-input .input-group { min-width:0; }
.quick-vacation-config {
  grid-template-columns:minmax(170px,.65fr) minmax(115px,.38fr) minmax(300px,1.25fr) minmax(280px,1fr);
}
.quick-main-tab--vacation { display:grid !important; }
.quick-main-tab--vacation .quick-main-tab-number { background:#f1eaff; color:#7c3aed; }
@media (max-width: 1500px) {
  .quick-entry-groups--compact { grid-template-columns:1fr 1.25fr; }
  .quick-entry-group--days { grid-column:auto; }
  .quick-vacation-config { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .quick-vacation-period { grid-column:1 / -1; }
}
@media (max-width: 1050px) {
  .quick-entry-groups--compact { grid-template-columns:1fr; }
  .quick-entry-ledger--unified .quick-base-row { grid-template-columns:56px minmax(0,1fr) 34px !important; }
  .quick-entry-ledger--unified .quick-base-row-desc { grid-column:2; }
  .quick-entry-ledger--unified .quick-base-triad { grid-column:1 / span 2; }
  .quick-entry-ledger--unified .quick-base-toggle { grid-column:1 / span 2; }
}
@media (max-width: 620px) {
  .quick-vacation-average-input { grid-template-columns:1fr; }
}

/* ===== v4.8.18-r13 — tríades reconciliadas + duas famílias de médias ===== */
.quick-vacation-config--r13 {
  grid-template-columns: minmax(165px,.75fr) minmax(105px,.42fr) minmax(105px,.42fr) minmax(300px,1.45fr);
  align-items: end;
}
.quick-vacation-average-families {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
  margin-top: 10px;
}
.quick-vacation-family {
  min-width: 0;
  padding: 10px;
  border: 1.5px solid #d9d5ef;
  border-radius: 12px;
  background: #fff;
}
.quick-vacation-family--value { border-color:#c7dcf5; background:linear-gradient(180deg,#f8fbff 0%,#fff 100%); }
.quick-vacation-family--hours { border-color:#ddcff3; background:linear-gradient(180deg,#fcf9ff 0%,#fff 100%); }
.quick-vacation-family-head {
  display: grid;
  grid-template-columns: 24px minmax(0,1fr) 20px;
  gap: 7px;
  align-items: start;
}
.quick-vacation-family-head > .material-icons-round:first-child { font-size:20px; color:#176f9f; }
.quick-vacation-family--hours .quick-vacation-family-head > .material-icons-round:first-child { color:#7c3aed; }
.quick-vacation-family-head strong,
.quick-vacation-family-head small { display:block; }
.quick-vacation-family-head strong { color:#173f5c; font-size:.72rem; font-weight:900; }
.quick-vacation-family-head small { margin-top:2px; color:#718096; font-size:.56rem; line-height:1.3; }
.quick-vacation-family-input {
  display:grid;
  grid-template-columns: 42px minmax(95px,.55fr) minmax(150px,1fr);
  gap:7px;
  align-items:center;
  margin-top:9px;
}
.quick-vacation-family-input > span:nth-child(2) { color:#496276; font-size:.61rem; font-weight:850; }
.quick-vacation-family-input .input-group { min-width:0; }
.quick-vacation-family-input .form-control { min-width:0; min-height:34px; font-weight:850; }
.quick-vacation-family-badges {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
  margin-top:8px;
}
.quick-vacation-family-badges > span {
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:5px;
  padding:5px 7px;
  border:1px solid #e1e7ee;
  border-radius:8px;
  background:#f8fafc;
}
.quick-vacation-family-badges b { color:#5b6f80; font-size:.58rem; }
.quick-vacation-family-badges em { min-width:0; color:#8a98a6; font-size:.57rem; font-style:normal; font-weight:850; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.quick-vacation-family-badges > span.is-active { border-color:#b8d9c7; background:#f4fbf7; }
.quick-vacation-family-badges > span.is-active b,
.quick-vacation-family-badges > span.is-active em { color:#13734d; }
.quick-vacation-summary--seven { grid-template-columns: repeat(7,minmax(0,1fr)); }

.quick-hour-row.has-manual-value .quick-hour-ref input:placeholder-shown { border-style:dashed; }
.quick-hour-row.has-manual-value .quick-hour-ref small::after { content:' ↔ valor'; color:#7b61a8; font-weight:800; }

@media (max-width: 1450px) {
  .quick-vacation-config--r13 { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .quick-vacation-config--r13 .quick-vacation-period { grid-column:1 / -1; }
  .quick-vacation-summary--seven { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .quick-vacation-summary--seven .quick-vacation-summary-total { grid-column:auto; }
}
@media (max-width: 980px) {
  .quick-vacation-average-families { grid-template-columns:1fr; }
  .quick-vacation-summary--seven { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .quick-vacation-summary--seven .quick-vacation-summary-total { grid-column:1 / -1; }
}
@media (max-width: 620px) {
  .quick-vacation-config--r13 { grid-template-columns:1fr; }
  .quick-vacation-config--r13 .quick-vacation-period { grid-column:auto; }
  .quick-vacation-family-input { grid-template-columns:42px 1fr; }
  .quick-vacation-family-input .input-group { grid-column:1 / -1; }
  .quick-vacation-family-badges { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .quick-vacation-summary--seven { grid-template-columns:1fr; }
  .quick-vacation-summary--seven .quick-vacation-summary-total { grid-column:auto; }
}

/* ===== v4.8.18-r14 — faltas por toggle/calendário e limpeza da conferência ===== */
.quick-absence-compact--toggle { min-width: 150px; }
.quick-absence-compact--toggle > small { display:flex; align-items:center; gap:4px; font-weight:850; color:#5c6673; }
.quick-absence-actions { display:flex; align-items:center; gap:7px; margin-top:4px; }
.quick-absence-toggle { flex:0 0 auto; }
.quick-absence-actions .btn { min-height:34px; padding:5px 9px; display:inline-flex; align-items:center; gap:5px; font-weight:850; }
.quick-absence-actions .btn:disabled { opacity:.5; cursor:not-allowed; }
.quick-entry-ledger--unified .quick-base-row--absence { border-left-color:#dc3545; background:linear-gradient(180deg,#fff8f8 0%,#fff 100%); }
.quick-base-row--absence .quick-base-row-code span { color:#b42318; }
.quick-formula-negative { border-color:#f2c8c8 !important; background:#fff8f8 !important; }
.absence-416-row > td { background:#fff8f8 !important; }
.absence-416-row .quick-code-pill { background:#fee2e2; color:#b42318; }
@media (max-width: 760px) {
  .quick-absence-compact--toggle { min-width:0; }
  .quick-absence-actions { justify-content:space-between; }
}
.quick-absence-summary { display:block; margin-top:4px; max-width:220px; color:#758395; font-size:.55rem; line-height:1.25; white-space:normal; }

/* ===== v4.8.18-r17 — reconciliação do valor informado + ações por aba + DSR na faixa operacional ===== */
.quick-pane-actions {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  flex-wrap:wrap;
}
.quick-pane-icon-action {
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  padding:0;
  border:1.5px solid #cddde9;
  border-radius:10px;
  background:#fff;
  color:#1c72a2;
  box-shadow:0 2px 7px rgba(15,76,110,.05);
  transition:.16s ease;
}
.quick-pane-icon-action:hover { transform:translateY(-1px); border-color:#8dbbd8; background:#f8fcff; }
.quick-pane-icon-action .material-icons-round { font-size:18px; }
.quick-pane-actions--green .quick-pane-icon-action { color:#15805a; border-color:#c2dfd1; }
.quick-pane-actions--purple .quick-pane-icon-action { color:#7c3aed; border-color:#d9c9f2; }
.quick-pane-icon-action--danger { color:#dc3545 !important; border-color:#f0c4c8 !important; }
.quick-pane-icon-action--danger:hover { background:#fff8f8 !important; border-color:#df8e96 !important; }

.quick-entry-groups--compact {
  grid-template-columns:minmax(330px,.95fr) minmax(480px,1.38fr) minmax(285px,.78fr);
  gap:10px;
  align-items:stretch;
}
.quick-entry-group--dsr {
  border-color:#bfe2d1;
  background:linear-gradient(180deg,#f8fffb 0%,#fbfefd 100%);
  box-shadow:inset 0 3px 0 #15945f;
}
.quick-entry-group--dsr .quick-entry-group-title { color:#155b42; }
.quick-dsr-entry {
  display:grid;
  grid-template-columns:minmax(104px,.9fr) minmax(150px,1fr);
  gap:8px 10px;
  align-items:center;
}
.quick-dsr-entry-toggle { min-width:0; }
.quick-dsr-entry-toggle > span:last-child strong,
.quick-dsr-entry-toggle > span:last-child small { display:block; }
.quick-dsr-entry-toggle > span:last-child strong { font-size:.69rem; color:#24513f; }
.quick-dsr-entry-toggle > span:last-child small { font-size:.57rem; color:#6e857b; }
.quick-dsr-entry-fields { display:grid; grid-template-columns:repeat(2,minmax(68px,1fr)); gap:7px; }
.quick-dsr-entry-fields label { min-width:0; }
.quick-dsr-entry-fields small,
.quick-dsr-entry-value small { display:block; margin-bottom:3px; color:#688176; font-size:.55rem; font-weight:900; text-transform:uppercase; }
.quick-dsr-entry-fields .form-control { min-height:33px; padding:.28rem .4rem; text-align:right; font-size:.71rem; font-weight:800; }
.quick-dsr-entry-value {
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:end;
  gap:1px 8px;
  padding:7px 9px;
  border:1px solid #d7ebe1;
  border-radius:9px;
  background:#fff;
}
.quick-dsr-entry-value small { grid-column:1; margin:0; }
.quick-dsr-entry-value strong { grid-column:2; grid-row:1; justify-self:end; color:#0b7a50; font-size:.84rem; font-weight:900; }
.quick-dsr-entry-value span { grid-column:1 / -1; color:#73867e; font-size:.57rem; }
.quick-entry-group--dsr.is-disabled { opacity:.72; }
.quick-entry-group--dsr.is-disabled .quick-dsr-entry-value strong { color:#7a8895; }

.quick-ledger-title { margin-bottom:9px; }
.quick-ledger-title strong { font-size:.76rem; }
.quick-entry-ledger--unified .quick-hour-ledger-head,
.quick-entry-ledger--unified .quick-hour-row {
  grid-template-columns:minmax(290px,1.18fr) 82px 108px 118px minmax(260px,.92fr) 40px;
  column-gap:14px;
}
.quick-entry-ledger--unified .quick-hour-ledger-head {
  padding-inline:10px;
  font-size:.58rem;
  letter-spacing:.025em;
}
.quick-entry-ledger--unified .quick-hour-row { padding:9px 10px; }
.quick-entry-ledger--unified .quick-hour-identity { grid-template-columns:46px minmax(0,1fr); gap:8px; }
.quick-entry-ledger--unified .quick-hour-identity strong { font-size:.72rem; font-weight:900; color:#173f5c; }
.quick-entry-ledger--unified .quick-hour-identity small { font-size:.62rem; line-height:1.35; color:#65798b; }
.quick-entry-ledger--unified .quick-hour-field > small,
.quick-entry-ledger--unified .quick-hour-dsr-toggle strong { font-size:.62rem; font-weight:850; }
.quick-entry-ledger--unified .quick-hour-dsr-toggle small { font-size:.57rem; }
.quick-entry-ledger--unified .quick-hour-factor .form-control,
.quick-entry-ledger--unified .quick-hour-ref .form-control { min-height:34px; padding-inline:.42rem; font-size:.73rem; font-weight:800; }
.quick-entry-ledger--unified .quick-hour-manual {
  grid-template-columns:auto minmax(150px,260px);
  justify-content:start;
  gap:9px;
}
.quick-entry-ledger--unified .quick-hour-manual .input-group { width:100%; max-width:260px; }
.quick-entry-ledger--unified .quick-hour-manual .form-control { font-size:.73rem; font-weight:800; }
.quick-entry-ledger--unified .quick-hour-delete { justify-self:end; }

.quick-entry-ledger--unified .quick-base-row-desc strong { font-size:.75rem; }
.quick-entry-ledger--unified .quick-base-row-desc small { font-size:.64rem; line-height:1.4; color:#61778b; }
.quick-entry-ledger--unified .quick-base-row-code small { font-size:.57rem; }

@media (max-width: 1450px) {
  .quick-entry-groups--compact { grid-template-columns:minmax(320px,.9fr) minmax(500px,1.35fr); }
  .quick-entry-group--dsr { grid-column:1 / -1; }
  .quick-dsr-entry { grid-template-columns:minmax(130px,.55fr) minmax(180px,.75fr) minmax(220px,1fr); }
  .quick-dsr-entry-value { grid-column:auto; }
  .quick-entry-ledger--unified .quick-hour-ledger-head,
  .quick-entry-ledger--unified .quick-hour-row { grid-template-columns:minmax(250px,1.05fr) 78px 102px 112px minmax(235px,.9fr) 38px; column-gap:10px; }
}
@media (max-width: 1080px) {
  .quick-entry-groups--compact { grid-template-columns:1fr; }
  .quick-entry-group--dsr { grid-column:auto; }
  .quick-dsr-entry { grid-template-columns:minmax(120px,.6fr) minmax(170px,.8fr) minmax(190px,1fr); }
  .quick-entry-ledger--unified .quick-hour-ledger-head { display:none; }
  .quick-entry-ledger--unified .quick-hour-row { grid-template-columns:minmax(0,1fr) minmax(110px,.4fr) 40px; column-gap:8px; }
  .quick-entry-ledger--unified .quick-hour-identity { grid-column:1 / -1; }
  .quick-entry-ledger--unified .quick-hour-manual { grid-column:1 / span 2; }
}
@media (max-width: 700px) {
  .quick-pane-actions { justify-content:flex-start; }
  .quick-dsr-entry { grid-template-columns:1fr 1fr; }
  .quick-dsr-entry-value { grid-column:1 / -1; }
  .quick-entry-ledger--unified .quick-hour-row { grid-template-columns:1fr 40px; }
  .quick-entry-ledger--unified .quick-hour-field,
  .quick-entry-ledger--unified .quick-hour-dsr-toggle,
  .quick-entry-ledger--unified .quick-hour-manual { grid-column:1 / -1 !important; }
  .quick-entry-ledger--unified .quick-hour-manual { grid-template-columns:1fr; }
  .quick-entry-ledger--unified .quick-hour-manual .input-group { max-width:none; }
}
@media (max-width: 1450px) {
  .quick-entry-groups--compact .quick-entry-group--days { grid-column:auto; }
}
@media (max-width: 1080px) {
  .quick-entry-groups--compact .quick-entry-group--days { grid-column:auto; }
}


/* ===== v4.8.18-r18 — sincronização visual dos exemplos + cards operacionais compactos ===== */
.quick-entry-groups--compact {
  grid-template-columns: minmax(455px,.98fr) minmax(520px,1.28fr) minmax(310px,.72fr);
  gap: 10px;
  align-items: start;
}
.quick-entry-groups--compact > .quick-entry-group {
  height: auto;
  align-self: start;
  padding: 9px 10px;
}
.quick-entry-groups--compact .quick-entry-group-title {
  margin-bottom: 7px;
}
.quick-entry-groups--compact .quick-entry-group-title strong {
  font-size: .71rem;
}

.quick-entry-group--days .quick-days-inline {
  grid-template-columns: repeat(3,minmax(78px,94px)) minmax(118px,145px);
  justify-content: start;
  gap: 7px;
  align-items: end;
}
.quick-entry-group--days .quick-days-inline > label {
  width: 100%;
  max-width: 94px;
}
.quick-entry-group--days .quick-days-inline .form-control {
  width: 100%;
  min-height: 31px;
  padding: .2rem .32rem;
  font-size: .68rem;
  font-weight: 800;
}
.quick-absence-compact--toggle {
  min-width: 0;
  width: 100%;
  max-width: 145px;
}
.quick-absence-actions {
  min-width: 0;
  gap: 5px;
}
.quick-absence-compact--toggle .quick-absence-actions .btn {
  width: auto;
  min-width: 86px;
  max-width: calc(100% - 42px);
  min-height: 31px;
  padding: 4px 6px;
  font-size: .61rem;
  white-space: nowrap;
  overflow: hidden;
}
.quick-absence-compact--toggle #totalFaltasRapido {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.quick-absence-summary {
  max-width: 145px;
  font-size: .53rem;
}

.quick-entry-group--hours .quick-entry-inline--hours {
  grid-template-columns: minmax(250px,360px) minmax(215px,300px) 34px;
  justify-content: start;
  align-items: stretch;
}
.quick-entry-group--hours .quick-entry-inline .form-select {
  min-height: 34px;
  padding-block: .26rem;
  font-size: .69rem;
}
.quick-entry-group--hours .quick-entry-preview {
  min-height: 34px;
  padding: 4px 7px;
}
.quick-entry-group--hours .quick-icon-add {
  width: 34px;
  min-width: 34px;
  height: 34px;
}
.quick-entry-group--hours .quick-hours-format--inline {
  justify-content: flex-start;
  margin-top: 6px;
}

.quick-entry-group--dsr .quick-dsr-entry {
  grid-template-columns: minmax(105px,125px) max-content;
  justify-content: start;
  gap: 7px 10px;
}
.quick-entry-group--dsr .quick-dsr-entry-fields {
  grid-template-columns: repeat(2,72px);
  gap: 6px;
}
.quick-entry-group--dsr .quick-dsr-entry-fields .form-control {
  min-height: 31px;
  padding: .2rem .32rem;
  font-size: .68rem;
}
.quick-entry-group--dsr .quick-dsr-entry-value {
  grid-column: 1 / -1;
  width: 100%;
  min-height: 43px;
  padding: 6px 8px;
}

@media (max-width: 1450px) {
  .quick-entry-groups--compact {
    grid-template-columns: minmax(430px,.9fr) minmax(500px,1.2fr);
  }
  .quick-entry-group--dsr { grid-column: 1 / -1; }
  .quick-entry-group--dsr .quick-dsr-entry {
    grid-template-columns: minmax(115px,135px) max-content minmax(210px,300px);
    align-items: end;
  }
  .quick-entry-group--dsr .quick-dsr-entry-value { grid-column: auto; }
}
@media (max-width: 1080px) {
  .quick-entry-groups--compact { grid-template-columns: 1fr; }
  .quick-entry-group--dsr { grid-column: auto; }
  .quick-entry-group--hours .quick-entry-inline--hours {
    grid-template-columns: minmax(220px,1fr) minmax(190px,.85fr) 34px;
  }
}
@media (max-width: 620px) {
  .quick-entry-group--days .quick-days-inline { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .quick-entry-group--days .quick-days-inline > label,
  .quick-absence-compact--toggle,
  .quick-absence-summary { max-width: none; }
  .quick-entry-group--hours .quick-entry-inline--hours { grid-template-columns: minmax(0,1fr) 34px; }
  .quick-entry-group--hours .quick-entry-preview { grid-column: 1 / -1; }
  .quick-entry-group--dsr .quick-dsr-entry { grid-template-columns: 1fr 1fr; }
  .quick-entry-group--dsr .quick-dsr-entry-fields { grid-template-columns: repeat(2,minmax(68px,1fr)); }
  .quick-entry-group--dsr .quick-dsr-entry-value { grid-column: 1 / -1; }
}

/* ===== v4.8.18-r19 — painel 2×3×2×3, configurações em modal e lançamentos repetíveis ===== */
.quick-dashboard-grid--10 {
  display:grid;
  grid-template-columns:repeat(10,minmax(0,1fr));
  gap:10px;
  align-items:stretch;
}
.quick-dashboard-span-2 { grid-column:span 2; }
.quick-dashboard-span-3 { grid-column:span 3; }
.quick-dashboard-grid--10 .quick-param-card {
  min-height:142px;
  padding:11px 12px;
}
.quick-param-card--metrics { border-color:#c8d9e7; background:linear-gradient(180deg,#f9fcfe 0%,#f4f9fc 100%); }
.quick-param-card--add { border-color:#d8c8f3; background:linear-gradient(180deg,#fdfbff 0%,#faf7ff 100%); box-shadow:inset 0 3px 0 #7c3aed; }
.quick-card-heading-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-width:0;
  margin-bottom:7px;
}
.quick-card-heading-row .form-label { margin:0; min-width:0; font-size:.74rem; font-weight:900; }
.quick-inline-config-toggles { display:flex; align-items:center; gap:5px; flex-wrap:wrap; justify-content:flex-end; }
.quick-feature-control {
  display:inline-flex;
  align-items:center;
  gap:2px;
  padding:2px 3px 2px 5px;
  border:1px solid #d7e2eb;
  border-radius:999px;
  background:#fff;
  white-space:nowrap;
}
.quick-inline-feature-toggle {
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin:0;
  cursor:pointer;
  color:#426078;
  font-size:.59rem;
  font-weight:850;
}
.quick-inline-feature-toggle input { position:absolute; opacity:0; pointer-events:none; }
.quick-inline-feature-toggle .mini-switch { width:28px; height:16px; min-width:28px; }
.quick-inline-feature-toggle .mini-switch::before { width:12px; height:12px; top:2px; left:2px; }
.quick-inline-feature-toggle input:checked + .mini-switch::before { transform:translateX(12px); }
.quick-feature-settings {
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#607b8f;
}
.quick-feature-settings:hover { background:#eef6fb; color:#1c72a2; }
.quick-feature-settings .material-icons-round { font-size:15px; }
.quick-card-status {
  margin-top:6px;
  color:#667d8f;
  font-size:.58rem;
  line-height:1.3;
  font-weight:650;
}
.quick-dashboard-grid--10 .competence-picker .form-control,
.quick-dashboard-grid--10 .competence-picker .btn { min-height:35px; }
.quick-dashboard-grid--10 .competence-picker .form-control { font-size:.71rem; font-weight:800; }
.quick-salary-triad--compact {
  grid-template-columns:minmax(118px,1fr) 72px minmax(118px,1fr);
  gap:6px;
}
.quick-salary-triad--compact small { font-size:.54rem; }
.quick-salary-triad--compact .form-control,
.quick-salary-triad--compact .input-group-text { min-height:33px; padding:.25rem .4rem; font-size:.69rem; }
.quick-dashboard-grid--10 .quick-param-hint { margin-top:5px; font-size:.58rem; line-height:1.3; }
.quick-metric-stack { display:grid; grid-template-rows:repeat(3,1fr); gap:6px; height:100%; }
.quick-metric-stack > div {
  min-width:0;
  padding:7px 8px;
  border:1px solid #d9e5ed;
  border-radius:9px;
  background:#fff;
}
.quick-metric-stack span { display:block; color:#718394; font-size:.52rem; font-weight:900; letter-spacing:.025em; text-transform:uppercase; }
.quick-metric-stack strong { display:block; margin-top:2px; color:#103f60; font-size:.72rem; font-weight:900; line-height:1.2; overflow-wrap:anywhere; }
.quick-metric-stack .quick-metric-formula strong { font-size:.62rem; }
.quick-add-card-row { display:grid; grid-template-columns:minmax(0,1fr) 34px; gap:6px; align-items:center; }
.quick-add-card-row .form-select { min-height:34px; padding-block:.28rem; font-size:.68rem; font-weight:750; }
.quick-add-card-row .quick-icon-add { width:34px; min-width:34px; height:34px; padding:0; }
.quick-add-card-preview {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  min-width:0;
  margin-top:6px;
  padding:5px 7px;
  border:1px dashed #d8cfea;
  border-radius:8px;
  background:rgba(255,255,255,.75);
}
.quick-add-card-preview strong { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#536a7c; font-size:.58rem; }
.quick-add-card-preview .quick-base-default-pill { flex:0 0 auto; }
.quick-param-card--add .quick-hours-format--inline { margin-top:6px; }
.quick-param-card--add .quick-hours-format button { padding:3px 7px; font-size:.56rem; }
.quick-ledger-shell { background:linear-gradient(180deg,#fbfdff 0%,#fff 100%); }
.quick-ledger-shell .quick-ledger-title { display:flex; align-items:flex-end; justify-content:space-between; gap:10px; margin-bottom:8px; }
.quick-ledger-shell .quick-ledger-title > div { display:grid; gap:1px; }
.quick-ledger-shell .quick-ledger-title > div > strong { font-size:.78rem; font-weight:900; color:#153f5d; }

.quick-modal-settings-card {
  padding:12px;
  border:1.5px solid #d8e4ec;
  border-radius:12px;
  background:#fbfdff;
}
.quick-modal-settings-card--days { border-color:#edd29f; background:#fffdf8; }
.quick-modal-settings-card--divisor { border-color:#ddd3f2; background:#fcfaff; }
.quick-modal-settings-card--dsr { border-color:#c5e2d3; background:#f8fdfb; }
.quick-days-inline--modal { display:grid; grid-template-columns:repeat(3,minmax(95px,1fr)) minmax(150px,1.25fr); gap:9px; align-items:end; }
.quick-days-inline--modal > label small,
.quick-modal-settings-card .quick-dsr-entry-fields small { display:block; margin-bottom:4px; font-size:.58rem; font-weight:900; color:#4b6478; text-transform:uppercase; }
.quick-days-inline--modal .form-control { min-height:36px; font-size:.75rem; font-weight:800; }
.quick-days-inline--modal .quick-absence-compact--toggle { max-width:none; }
.quick-modal-settings-card--dsr .quick-dsr-entry-fields { grid-template-columns:repeat(2,minmax(90px,130px)); justify-content:start; }
.quick-modal-settings-card--dsr .quick-dsr-entry-value { max-width:300px; }

@media (max-width:1500px) {
  .quick-dashboard-grid--10 { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .quick-dashboard-span-2 { grid-column:span 2; }
  .quick-dashboard-span-3 { grid-column:span 3; }
}
@media (max-width:1050px) {
  .quick-dashboard-grid--10 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .quick-dashboard-span-2,
  .quick-dashboard-span-3 { grid-column:span 1; }
  .quick-param-card--salary,
  .quick-param-card--add { grid-column:1 / -1; }
}
@media (max-width:680px) {
  .quick-dashboard-grid--10 { grid-template-columns:1fr; }
  .quick-dashboard-span-2,
  .quick-dashboard-span-3,
  .quick-param-card--salary,
  .quick-param-card--add { grid-column:1; }
  .quick-salary-triad--compact { grid-template-columns:1fr 78px 1fr; }
  .quick-days-inline--modal { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .quick-days-inline--modal .quick-absence-compact--toggle { grid-column:1 / -1; }
}
@media (max-width:480px) {
  .quick-card-heading-row { align-items:flex-start; flex-direction:column; }
  .quick-inline-config-toggles { justify-content:flex-start; }
  .quick-salary-triad--compact { grid-template-columns:1fr; }
  .quick-days-inline--modal { grid-template-columns:1fr; }
}

/* ===== v4.8.18-r20 — controles compactos, modal DSR e abas por competência ===== */
.quick-card-toggle-tools {
  display:flex;
  align-items:center;
  gap:5px;
  min-width:0;
  flex:0 0 auto;
}
.quick-card-toggle {
  display:flex;
  align-items:center;
  gap:7px;
  margin:0;
  min-width:0;
  cursor:pointer;
  color:#334b60;
}
.quick-card-toggle > span:last-child { min-width:0; }
.quick-card-toggle > span:last-child strong,
.quick-card-toggle > span:last-child small { display:block; line-height:1.1; white-space:nowrap; }
.quick-card-toggle > span:last-child strong { font-size:.62rem; font-weight:900; }
.quick-card-toggle > span:last-child small { margin-top:2px; color:#7b8b99; font-size:.51rem; font-weight:700; }
.quick-card-toggle-tools .quick-feature-settings {
  flex:0 0 26px;
  width:26px;
  height:26px;
  border:1px solid #d8e3eb;
  background:#fff;
}
.quick-inline-config-toggles { gap:10px; }

.quick-dsr-modal-dialog { max-width:520px; }
.quick-dsr-modal-body { padding:14px 16px; }
.quick-modal-dsr-grid {
  display:grid;
  grid-template-columns:minmax(145px,1.2fr) 92px 82px minmax(135px,1fr);
  gap:10px;
  align-items:end;
  padding:12px;
}
.quick-card-toggle--modal {
  min-height:42px;
  align-self:center;
  padding-right:6px;
}
.quick-card-toggle--modal > span:last-child strong { font-size:.7rem; }
.quick-card-toggle--modal > span:last-child small { font-size:.56rem; }
.quick-dsr-modal-field { min-width:0; }
.quick-dsr-modal-field small,
.quick-dsr-entry-value--modal small {
  display:block;
  margin-bottom:4px;
  color:#5b7183;
  font-size:.55rem;
  font-weight:900;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.quick-dsr-modal-field .form-control { min-height:36px; padding:.3rem .45rem; font-size:.73rem; font-weight:850; text-align:right; }
.quick-dsr-entry-value--modal {
  min-width:0;
  max-width:none !important;
  margin:0 !important;
  padding:8px 10px;
  border:1px solid #cfe5da;
  border-radius:9px;
  background:#fff;
}
.quick-dsr-entry-value--modal strong,
.quick-dsr-entry-value--modal span { display:block; }
.quick-dsr-entry-value--modal strong { color:#087a4d; font-size:.82rem; font-weight:900; text-align:right; }
.quick-dsr-entry-value--modal span { margin-top:2px; color:#6c8291; font-size:.52rem; line-height:1.2; }

.quick-vacation-competence-tabs {
  display:flex;
  align-items:stretch;
  gap:7px;
  margin-top:12px;
  padding:4px;
  border:1px solid #ddd3ef;
  border-radius:11px;
  background:#f8f6fc;
  width:max-content;
  max-width:100%;
  overflow-x:auto;
}
.quick-vacation-competence-tab {
  display:grid;
  grid-template-columns:18px auto;
  grid-template-rows:auto auto;
  column-gap:6px;
  align-items:center;
  min-width:150px;
  padding:7px 10px;
  border:1px solid transparent;
  border-radius:8px;
  background:transparent;
  color:#5e6c79;
  text-align:left;
  transition:.16s ease;
}
.quick-vacation-competence-tab > .material-icons-round { grid-row:1 / span 2; font-size:18px; }
.quick-vacation-competence-tab > span:nth-child(2) { font-size:.65rem; font-weight:900; white-space:nowrap; }
.quick-vacation-competence-tab small { font-size:.5rem; font-weight:750; color:#8593a0; }
.quick-vacation-competence-tab.is-current > .material-icons-round { color:#1c72a2; }
.quick-vacation-competence-tab.is-next > .material-icons-round { color:#7c3aed; }
.quick-vacation-competence-tab.is-active.is-current { background:#eef8ff; border-color:#a9d4ee; color:#155f8b; box-shadow:0 3px 8px rgba(28,114,162,.1); }
.quick-vacation-competence-tab.is-active.is-next { background:#f5efff; border-color:#ccb9ef; color:#6335a3; box-shadow:0 3px 8px rgba(124,58,237,.09); }
.quick-vacation-month-row.is-current > td { background:#f7fbff; }
.quick-vacation-month-row.is-current > td:first-child { box-shadow:inset 4px 0 0 #1c72a2; }
.quick-vacation-month-row.is-next > td { background:#fcf9ff; }
.quick-vacation-month-row.is-next > td:first-child { box-shadow:inset 4px 0 0 #7c3aed; }
.quick-vacation-month-row:hover > td { filter:brightness(.99); }

@media (max-width:1200px) {
  .quick-card-toggle > span:last-child small { display:none; }
  .quick-inline-config-toggles { gap:6px; }
}
@media (max-width:700px) {
  .quick-card-heading-row { align-items:flex-start; }
  .quick-card-toggle-tools { align-self:flex-start; }
  .quick-modal-dsr-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .quick-card-toggle--modal,.quick-dsr-entry-value--modal { grid-column:1 / -1; }
  .quick-vacation-competence-tabs { width:100%; }
}
@media (max-width:440px) {
  .quick-modal-dsr-grid { grid-template-columns:1fr; }
  .quick-card-toggle--modal,.quick-dsr-entry-value--modal { grid-column:auto; }
}

/* ===== v4.8.18-r21 — memória de cálculo contextual e toggles sem ação redundante ===== */
.quick-card-toggle-tools:has(.quick-card-toggle:only-child) { gap:0; }
.quick-calc-label,
.quick-summary-label {
  display:inline-flex !important;
  align-items:center;
  gap:4px;
  min-width:0;
}
.quick-metric-stack .quick-calc-label .quick-info-icon,
.quick-summary-label .quick-info-icon {
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  margin:0;
  font-size:14px !important;
  line-height:1;
  letter-spacing:normal;
  text-transform:none;
}
.quick-summary-card .quick-summary-label { color:var(--app-muted); }
.quick-vacation-summary .quick-summary-label { color:#75648f; }
.quick-metric-formula { background:#f8fbfe !important; }
.quick-metric-formula .quick-calc-label { color:#526f84; }
.quick-metric-formula strong { color:#0f4568 !important; }

/* v4.8.18-r22 — faltas/416, ordenação crescente e sincronização de REF. */
.quick-ledger-ordered{display:flex;flex-direction:column;gap:9px;min-width:0}
.quick-ledger-ordered>.quick-unified-addition-list,
.quick-ledger-ordered>.quick-hour-ledger{display:contents}
.quick-ledger-ordered>.quick-hour-ledger-head{order:-1;margin-bottom:0}
.quick-absence-code-button{border:0;background:transparent;text-align:left;padding:0;cursor:pointer;color:inherit}
.quick-absence-code-button:hover span{color:#c92f59}
.quick-absence-ref-button{display:flex;align-items:center;justify-content:flex-end;gap:8px;color:#b42349;background:#fff9fb;border-color:#efc4d1;font-weight:800}
.quick-absence-ref-button .material-icons-round{font-size:17px}
.quick-base-row--absence{cursor:default}
@media(max-width:760px){.quick-ledger-ordered{gap:7px}}

/* ===== v4.8.18-r25 — DSR modal sem sobreposição ===== */
.quick-modal-dsr-grid {
  box-sizing:border-box;
  width:100%;
  grid-template-columns:minmax(130px,1.15fr) minmax(78px,.62fr) minmax(72px,.56fr) minmax(118px,.95fr);
}
.quick-modal-dsr-grid > * { min-width:0; box-sizing:border-box; }
.quick-dsr-entry-value--modal {
  width:100%;
  min-width:0;
  max-width:100%;
  padding:8px 9px;
  border:1px solid #cfe5da;
  border-radius:9px;
  background:#fff;
  overflow:hidden;
}
.quick-dsr-entry-value--modal small { display:block; margin:0 0 4px; color:#5b7183; font-size:.55rem; font-weight:900; letter-spacing:.02em; text-transform:uppercase; }
.quick-dsr-entry-value--modal strong { display:block; color:#087a4d; font-size:.82rem; font-weight:900; text-align:right; white-space:nowrap; }
.quick-dsr-entry-value--modal span { display:block; margin-top:2px; color:#6c8291; font-size:.52rem; line-height:1.2; overflow-wrap:anywhere; }
@media (max-width:700px){
  .quick-modal-dsr-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .quick-card-toggle--modal,.quick-dsr-entry-value--modal{grid-column:1 / -1;}
}

.quick-auto-493{display:inline-flex;margin-left:5px;padding:1px 6px;border-radius:999px;background:#fff0f3;color:#a82448;font-weight:850;white-space:nowrap}
