/* Módulo 6 — Férias. Mantém a linguagem visual da Analítica e adiciona apenas regras locais. */
.vacation-page .notebook-container { max-width: 99%; }
.vacation-page .content-wrapper { padding-right: 28px; }
.vacation-intro { margin-bottom: 16px; }
.vacation-modules-grid { display: grid; grid-template-columns: 1fr; gap: 18px; align-items: start; }
.vacation-wide { grid-column: 1 / -1; }

/* Parâmetros principais */
.vacation-parameter-grid { display: grid; gap: 12px; }
.vacation-parameter-grid--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.vacation-date-group { min-width: 0; }
.date-calendar-row { margin-top: 6px; display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; }
.mini-switch-row { display: inline-flex; align-items: center; gap: 8px; min-width: 0; cursor: pointer; }
.mini-switch-row > span:last-child { min-width: 0; display: grid; line-height: 1.15; }
.mini-switch-row strong { color: #3d556c; font-size: .66rem; font-weight: 850; }
.mini-switch-row small { margin-top: 2px; color: #7b8d9d; font-size: .58rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.switch.switch-sm { width: 35px; height: 19px; flex: 0 0 35px; }
.switch.switch-sm .slider:before { width: 13px; height: 13px; left: 3px; bottom: 3px; }
.switch.switch-sm input:checked + .slider:before { transform: translateX(16px); }
.calendar-open-btn { width: 34px; height: 34px; flex: 0 0 34px; border: 1px solid #cfe0ea; border-radius: 9px; background: #f6fbfe; color: #157347; display: grid; place-items: center; padding: 0; }
.calendar-open-btn:hover { background: #ecfdf5; border-color: #86efac; }
.calendar-open-btn .material-symbols-rounded { font-size: 19px; }

.vacation-summary-strip { margin-top: 14px; display: grid; border: 1px solid #dbe4ee; border-radius: 11px; overflow: hidden; background: #f8fbfe; }
.vacation-summary-strip--five { grid-template-columns: 1.2fr 1.2fr 1fr 1fr 1fr; }
.vacation-summary-strip > div { min-width: 0; padding: 11px 12px; border-right: 1px solid #e5edf4; }
.vacation-summary-strip > div:last-child { border-right: 0; }
.vacation-summary-strip span { display: block; color: #6a7f92; font-size: .62rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.vacation-summary-strip strong { display: block; margin-top: 4px; color: #163d67; font-size: .82rem; overflow-wrap: anywhere; }

/* Tabelas */
.vacation-table-wrap { border: 1px solid #dfe7ef; border-radius: 11px; overflow-x: auto; }
.vacation-entry-table { min-width: 980px; }
.vacation-entry-table th, .vacation-entry-table td { vertical-align: middle; padding: 9px 10px; }
.vacation-entry-table th:nth-child(1) { width: 28%; }
.vacation-entry-table th:nth-child(2) { width: 17%; }
.vacation-entry-table th:nth-child(3) { width: 13%; }
.vacation-entry-table th:nth-child(4) { width: 17%; }
.vacation-entry-table th:nth-child(5), .vacation-entry-table th:nth-child(6) { width: 10%; text-align: center; }
.vacation-entry-table th:nth-child(7) { width: 5%; }
.vacation-entry-table input, .vacation-entry-table select { min-height: 38px; padding: 7px 8px; }

.code-stack { min-width: 0; display: grid; gap: 2px; }
.code-stack input.code-input { width: 104px; min-height: 34px; padding: 5px 8px; font-weight: 900; color: #244b70; letter-spacing: .03em; }
.code-stack small.code-description { width: max-content; max-width: 100%; color: #6c8093; font-size: .65rem; line-height: 1.2; cursor: text; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; border-radius: 5px; padding: 2px 4px; }
.code-stack small.code-description:hover { background: #f1f5f9; color: #36516d; }
.code-stack small.code-description[contenteditable="true"] { background: #fff; box-shadow: 0 0 0 2px rgba(59,130,246,.18); color: #17375d; white-space: normal; outline: 1px solid #93c5fd; }
.code-stack.readonly strong { color: #244b70; font-size: .84rem; }
.code-stack.readonly small { color: #6c8093; font-size: .65rem; }

.money-input-wrap { position: relative; }
.money-prefix { position: absolute; left: 9px; top: 50%; transform: translateY(-50%); z-index: 2; color: #6a7f92; font-size: .68rem; font-weight: 800; pointer-events: none; }
.money-input-wrap input { padding-left: 31px !important; text-align: right; font-variant-numeric: tabular-nums; }
.ref-wrap { display: grid; grid-template-columns: minmax(0,1fr) 28px; gap: 4px; }
.ref-wrap input { text-align: right; font-variant-numeric: tabular-nums; }
.ref-reset { width: 28px; min-height: 34px; border: 1px solid #d7e0ea; border-radius: 7px; background: #f8fafc; color: #5a7188; display: grid; place-items: center; padding: 0; }
.ref-reset:hover { color: #1d4ed8; background: #eff6ff; border-color: #bfdbfe; }
.ref-reset .material-symbols-rounded { font-size: 17px; }
.value-output { min-height: 38px; display: flex; align-items: center; justify-content: flex-end; padding: 7px 9px; border: 1px solid #e0e7ef; border-radius: 8px; background: #f8fafc; color: #17375d; font-size: .8rem; font-weight: 850; font-variant-numeric: tabular-nums; }
.toggle-cell { text-align: center; }
.toggle-cell input[type="checkbox"] { width: 18px; height: 18px; min-height: 18px; padding: 0; accent-color: #2563eb; }

/* Seletor de verbas-base */
.base-add-toolbar { display: flex; align-items: end; gap: 9px; flex-wrap: wrap; margin-bottom: 11px; }
.base-add-select-wrap { display: grid; gap: 4px; width: min(500px, 100%); }
.base-add-select-wrap label { color: #496176; font-size: .68rem; font-weight: 850; }
.base-add-select-wrap select { min-height: 38px; padding: 7px 10px; }
.base-add-button { min-height: 38px; display: inline-flex; align-items: center; gap: 5px; }
.base-add-help { display: inline-flex; align-items: center; gap: 4px; color: #657b8c; font-size: .65rem; font-weight: 700; margin-left: auto; padding-bottom: 8px; }
.base-add-help .material-symbols-rounded { font-size: 17px; }
.base-remove-btn[disabled] { opacity: .22; cursor: not-allowed; }

.base-footer-grid { display: grid; grid-template-columns: 1.15fr 1fr 1fr; gap: 10px; margin-top: 12px; }
.vacation-base-box { border-color: #bfdbfe; background: #f7fbff; font-size: .8rem; }
.vacation-base-box strong { color: #166394; }
.vacation-base-detail { display: block; margin-top: .3rem; line-height: 1.35; font-size: .72rem; color: #4b6475; }
.vacation-base-detail[hidden] { display: none; }

/* Médias */
.average-guide { display: flex; align-items: flex-start; gap: 9px; padding: 11px 12px; margin-bottom: 12px; border: 1px solid #d9e6f0; border-radius: 10px; background: #f8fbfd; color: #496176; }
.average-guide > .material-symbols-rounded { flex: 0 0 auto; color: #6d28d9; font-size: 20px; margin-top: 1px; }
.average-guide strong { color: #244b70; font-size: .75rem; }
.average-guide p { margin: 2px 0 0; font-size: .68rem; line-height: 1.45; }
.average-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; align-items: stretch; }
.average-card { min-width: 0; padding: 14px; border: 1px solid #dfd4fa; background: #fbf9ff; border-radius: 12px; display: grid; gap: 10px; align-content: start; }
.average-card--blue { border-color: #bfdbfe; background: #f8fbff; }
.average-card--green { border-color: #bbf7d0; background: #f8fff9; }
.average-card-head { display: flex; align-items: flex-start; gap: 8px; }
.average-card-head .material-symbols-rounded { font-size: 23px; margin-top: 1px; }
.average-card-head strong { display: block; color: #213e5c; font-size: .82rem; }
.average-card-head small { display: block; margin-top: 2px; color: #6d8194; font-size: .64rem; line-height: 1.35; }
.average-card .input-group > span { display: flex; align-items: center; gap: 4px; color: #496176; font-size: .69rem; font-weight: 800; }
.average-code-row { display: flex; gap: 7px; flex-wrap: wrap; }
.average-code-row span { display: inline-flex; align-items: center; gap: 4px; padding: 4px 7px; border: 1px solid #e3d9fb; border-radius: 999px; background: #fff; color: #6b4aa0; font-size: .61rem; font-weight: 750; }
.average-code-row--blue span { border-color: #cfe1f8; color: #2f6390; }
.average-code-row b { font-size: .68rem; }
.average-source-toggle { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; padding: 4px; border: 1px solid #d6e4ef; border-radius: 9px; background: #edf4f8; }
.average-source-btn { border: 0; border-radius: 7px; background: transparent; color: #63798b; min-height: 34px; padding: 5px 7px; font-size: .65rem; font-weight: 800; display: inline-flex; justify-content: center; align-items: center; gap: 4px; }
.average-source-btn .material-symbols-rounded { font-size: 17px; }
.average-source-btn.is-active { background: #fff; color: #145d8c; box-shadow: 0 2px 8px rgba(38,76,105,.08); }
.average-source-btn:focus-visible { outline: 2px solid #60a5fa; outline-offset: 1px; }
.average-formula-preview { min-height: 34px; padding: 8px 9px; border-radius: 8px; background: rgba(255,255,255,.82); border: 1px dashed #d4dde7; color: #63788b; font-size: .62rem; line-height: 1.35; }
.average-output { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 9px 10px; border: 1px dashed #cbd5e1; border-radius: 8px; background: rgba(255,255,255,.82); }
.average-output span { color: #6b7f92; font-size: .67rem; font-weight: 750; }
.average-output strong { color: #5b21b6; font-size: .86rem; }
.average-period-output { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 9px 10px; border-radius: 8px; background: #f5efff; border: 1px solid #e4d8fb; }
.average-period-output span { color: #6a4c93; font-size: .64rem; font-weight: 800; }
.average-period-output strong { color: #5b21b6; font-size: .82rem; }
.average-period-output--blue { background: #eef7ff; border-color: #d7e8f8; }
.average-period-output--blue span, .average-period-output--blue strong { color: #1f648f; }
.average-link-status { display: flex; align-items: center; gap: 6px; min-height: 30px; color: #487089; font-size: .62rem; font-weight: 750; }
.average-link-status .material-symbols-rounded { font-size: 17px; color: #0f8d65; }
.vacation-hours-format { min-width: 0; }
.average-cross-check { display: flex; align-items: flex-start; gap: 7px; padding: 9px; border: 1px dashed #bce6c9; border-radius: 8px; background: #fff; }
.average-cross-check > .material-symbols-rounded { color: #15945a; font-size: 19px; }
.average-cross-check strong { display: block; color: #2b6849; font-size: .7rem; }
.average-cross-check small { display: block; margin-top: 2px; color: #657d70; font-size: .61rem; line-height: 1.4; }
.average-check-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.average-check-grid > div { padding: 9px; border: 1px solid #dce9e0; border-radius: 8px; background: #fff; }
.average-check-grid span { display: block; color: #71869a; font-size: .6rem; font-weight: 800; text-transform: uppercase; }
.average-check-grid strong { display: block; margin-top: 3px; color: #157347; font-size: .8rem; }
.average-card input[readonly] { background: #f3f7fa !important; color: #567083; cursor: default; }

/* Verbas variáveis */
.variable-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 10px; }
.variable-calculation-guidance { margin: -1px 0 10px; display: flex; align-items: flex-start; gap: 8px; padding: 9px 11px; border: 1px solid #cfe4d5; border-radius: 9px; background: #f5fbf7; color: #476b55; font-size: .66rem; line-height: 1.45; }
.variable-calculation-guidance .material-symbols-rounded { flex: 0 0 auto; font-size: 18px; color: #16804e; }
.variable-calculation-guidance.is-warning { border-color: #f1d28a; background: #fff9e8; color: #755916; }
.variable-calculation-guidance.is-warning .material-symbols-rounded { color: #bd7a00; }
.variable-calculation-guidance.is-success { border-color: #b7dfc4; background: #effbf3; color: #25633f; }
.variable-table tr.is-awaiting-hourly-calculation .variable-value { border-color: #e2b54f; background: #fffaf0; }
.variable-table tr.is-awaiting-hourly-calculation .money-input-wrap { position: relative; }
.variable-help { display: inline-flex; align-items: center; gap: 5px; color: #527064; font-size: .68rem; font-weight: 750; }
.variable-help .material-symbols-rounded { font-size: 18px; }
.variable-table th:nth-child(1) { width: 32%; }
.variable-table th:nth-child(2) { width: 13%; }
.variable-table th:nth-child(3) { width: 17%; }
.variable-table th:nth-child(4) { width: 20%; }
.variable-table th:nth-child(5) { width: 12%; }
.variable-table th:nth-child(6) { width: 6%; }
.factor-input { text-align: center; }
.remove-row-btn { width: 32px; height: 32px; border: 0; border-radius: 8px; background: transparent; color: #b91c1c; display: grid; place-items: center; }
.remove-row-btn:hover { background: #fff1f2; }
.dsr-result-row td { background: #fffbeb !important; border-top: 1px dashed #f5c65b; }
.dsr-result-row input { font-weight: 850; }
.factor-pill { display: inline-flex; padding: 4px 7px; border-radius: 999px; background: #fef3c7; color: #92400e; font-size: .62rem; font-weight: 850; }
#dsr-memory { display: block; color: #765c22; font-size: .65rem; line-height: 1.4; }

/* Abono compacto */
.abono-compact-shell { display: grid; gap: 12px; }
.abono-switch { max-width: 480px; }
.abono-grid--compact { display: grid; grid-template-columns: minmax(190px, 1fr) 28px minmax(190px, 1fr) 28px minmax(140px, .7fr); gap: 8px; align-items: stretch; margin-top: 0; }
.abono-day-card { display: flex; justify-content: space-between; align-items: center; gap: 10px; min-height: 66px; padding: 10px 11px; border: 1px solid #d9e5ee; border-radius: 10px; background: #fafdff; }
.abono-day-card > span { color: #4f687d; font-size: .68rem; font-weight: 750; }
.abono-day-card > span b { color: #215d8c; }
.abono-day-input { display: flex; align-items: center; gap: 5px; flex: 0 0 auto; }
.abono-day-input input { width: 72px; min-height: 36px; text-align: right; font-weight: 850; }
.abono-day-input small { color: #75899a; font-size: .62rem; }
.abono-plus, .abono-equals { display: grid; place-items: center; color: #7890a3; font-size: 1.15rem; font-weight: 900; }
.abono-total { min-height: 66px; padding: 9px 12px; border: 1px solid #cfe3ef; border-radius: 10px; background: #f5fbfe; display: grid; align-content: center; }
.abono-total span, .abono-total small { display: block; color: #6f8294; font-size: .62rem; }
.abono-total strong { display: block; margin: 1px 0; color: #17375d; font-size: 1.15rem; }
.abono-total.is-over { border-color: #fecaca; background: #fff7f7; }
.abono-total.is-over strong, .abono-total.is-over small { color: #b91c1c; }

/* Resultados + ações */
.result-heading-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 10px; }
.result-action-icons { display: flex; gap: 6px; flex: 0 0 auto; }
.mini-icon-action { width: 35px; height: 35px; border: 1px solid #d6e2eb; border-radius: 9px; background: #fff; color: #4c6479; display: grid; place-items: center; padding: 0; }
.mini-icon-action:hover { background: #f6f9fc; border-color: #b8cddd; color: #1c72a2; }
.mini-icon-action--download { color: #15803d; }
.mini-icon-action .material-symbols-rounded { font-size: 19px; }
.result-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; margin-bottom: 12px; }
.result-kpis > div { padding: 11px 12px; border: 1px solid #dbe5ed; border-radius: 10px; background: #fafcfe; }
.result-kpis span { display: block; color: #718397; font-size: .62rem; text-transform: uppercase; font-weight: 850; }
.result-kpis strong { display: block; margin-top: 4px; color: #173d62; font-size: .9rem; }
.result-kpis > div:last-child { border-color: #bbf7d0; background: #f0fdf4; }
.result-kpis > div:last-child strong { color: #15803d; font-size: 1.02rem; }
.vacation-result-table { min-width: 1000px; }
.vacation-result-table th:nth-child(1) { width: 12%; }
.vacation-result-table th:nth-child(2) { width: 19%; }
.vacation-result-table th:nth-child(3) { width: 11%; }
.vacation-result-table th:nth-child(4) { width: 43%; }
.vacation-result-table th:nth-child(5) { width: 15%; }
.result-code { display: grid; gap: 2px; }
.result-code strong { color: #234d74; }
.result-code small { color: #6c8093; font-size: .64rem; }
.result-memory-wrap { display: flex; align-items: flex-start; gap: 8px; }
.result-memory { color: #526a80; font-size: .72rem; line-height: 1.45; flex: 1 1 auto; min-width: 0; }
.result-memory-tooltip { width: 24px; height: 24px; flex: 0 0 24px; border: 0; border-radius: 999px; background: #edf5fa; color: #1c72a2; display: inline-grid; place-items: center; padding: 0; }
.result-memory-tooltip:hover { background: #dbeefb; color: #0b6090; }
.result-memory-tooltip .material-symbols-rounded { font-size: 17px; }
.result-tooltip-title { font-weight: 800; margin-bottom: 3px; }
.result-tooltip-list { margin-top: 5px; display: grid; gap: 2px; }
.result-ref { font-variant-numeric: tabular-nums; font-weight: 750; color: #405e78; }
.competence-pill { display: inline-flex; padding: 4px 7px; border-radius: 999px; background: #edf5fa; color: #365c7a; border: 1px solid #d5e4ee; font-size: .64rem; font-weight: 850; white-space: nowrap; }
.competence-pill.is-current { background: #edf5ff; color: #1d4e89; border-color: #c8dcf6; }
.competence-pill.is-next { background: #ecfdf3; color: #157347; border-color: #ccebd8; }
.competence-pill.is-neutral { background: #f4f7fa; color: #55687a; border-color: #dbe4eb; }

/* Modal do calendário */
.vacation-modal .modal-dialog { padding-inline: 10px; }
.vacation-modal .modal-content { border-radius: 17px; border: 1px solid #cddce7; overflow: hidden; }
.vacation-modal .modal-header { padding: 15px 17px; align-items: flex-start; }
.modal-title-stack { display: flex; align-items: flex-start; gap: 10px; min-width: 0; }
.modal-title-stack > div { min-width: 0; }
.modal-title-stack small { display: block; color: #6f8192; font-size: .59rem; font-weight: 850; letter-spacing: .08em; }
.modal-title-stack h2 { margin: 1px 0 0; color: #183f64; font-family: Nunito, sans-serif; font-weight: 800; }
.modal-title-stack p { margin: 2px 0 0; color: #6b7f91; font-size: .67rem; line-height: 1.4; }
.modal-icon { width: 39px; height: 39px; flex: 0 0 39px; display: grid; place-items: center; border-radius: 11px; }
.modal-icon--green { background: #ecfdf5; color: #0f8b57; }
.modal-icon--blue { background: #eff6ff; color: #2563eb; }
.modal-icon .material-symbols-rounded { font-size: 22px; }
.calendar-dsr-modal .modal-body { display: grid; gap: 12px; padding: 15px 17px 17px; }
.calendar-modal-topline { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.calendar-mode-card { padding: 9px 10px; border: 1px solid #dce6ed; border-radius: 9px; background: #f9fbfd; }
.calendar-mode-card span { display: block; color: #768a9b; font-size: .58rem; font-weight: 850; text-transform: uppercase; }
.calendar-mode-card strong { display: block; margin-top: 2px; color: #214867; font-size: .82rem; }
.calendar-holiday-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px; border: 1px solid #e1e8ee; border-radius: 10px; background: #fff; }
.calendar-holiday-row label { display: flex; align-items: center; gap: 4px; color: #38536a; font-size: .7rem; font-weight: 850; }
.calendar-holiday-row small { display: block; margin-top: 2px; color: #738596; font-size: .61rem; }
.bounded-number-input { display: flex; align-items: center; min-width: 108px; border: 1px solid #cddce7; border-radius: 9px; overflow: hidden; background: #fff; }
.bounded-number-input input { width: 70px; min-height: 36px; border: 0 !important; border-radius: 0 !important; text-align: right; font-weight: 850; box-shadow: none !important; }
.bounded-number-input span { padding: 0 9px; color: #738698; font-size: .68rem; border-left: 1px solid #e0e8ee; }
.calendar-manual-panel { padding: 11px; border: 1px solid #dce7ee; border-radius: 11px; background: #fbfdfe; }
.calendar-manual-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.calendar-mode-badge { padding: 4px 8px; border-radius: 999px; background: #eaf8f1; color: #0d7a4c; border: 1px solid #c6ead7; font-size: .61rem; font-weight: 850; }
.calendar-mode-badge.is-manual { background: #fff7e6; color: #955f11; border-color: #f5db9e; }
.calendar-summary--modal { margin-top: 10px; }
.calendar-summary--modal .cal-stat { min-height: 68px; }
.calendar-summary--modal .calendar-manual-input { width: 74px; min-height: 34px; margin: 5px auto 0; text-align: right; font-weight: 850; }
.calendar-validation { margin-top: 8px; min-height: 30px; display: flex; align-items: center; gap: 6px; padding: 7px 9px; border-radius: 8px; background: #edf9f2; color: #2c7650; font-size: .62rem; font-weight: 750; }
.calendar-validation .material-symbols-rounded { font-size: 17px; }
.calendar-validation.is-warning { background: #fff8e7; color: #8f641d; }
.calendar-validation.is-error { background: #fff0f0; color: #a93636; }
.vacation-modal .modal-footer .btn { display: inline-flex; align-items: center; gap: 5px; }
.vacation-modal .modal-footer .material-symbols-rounded { font-size: 18px; }

/* Modal de exportação */
.export-choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.export-choice { min-width: 0; min-height: 82px; display: flex; align-items: center; gap: 10px; padding: 11px; text-align: left; border: 1px solid #d9e4ec; border-radius: 11px; background: #fff; color: #2b4c66; }
.export-choice:hover { background: #f8fbfd; border-color: #b8cfdd; }
.export-choice > .material-symbols-rounded { width: 36px; height: 36px; flex: 0 0 36px; display: grid; place-items: center; border-radius: 10px; background: #f2f6f9; font-size: 21px; }
.export-choice span:last-child { min-width: 0; display: grid; gap: 2px; }
.export-choice strong { font-size: .75rem; }
.export-choice small { color: #718596; font-size: .61rem; line-height: 1.35; }
.export-choice .export-xlsx { color: #177245; background: #ecf8f2; }
.export-choice .export-pdf { color: #b4232b; background: #fff0f1; }
.export-choice .export-copy { color: #5f35b6; background: #f4efff; }
.export-choice--secondary { grid-column: auto; min-height: 82px; }

/* PDF staging */
#vacation-pdf-staging[hidden] { display: none !important; }
.vacation-export-report { width: 100%; color: #17324a; background: #fff; font-family: Inter, Arial, sans-serif; }
.vacation-export-report h1 { margin: 0; font-size: 18px; color: #173f63; }
.vacation-export-report .report-sub { margin: 3px 0 12px; color: #65798b; font-size: 10px; }
.vacation-export-report .report-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin-bottom: 10px; }
.vacation-export-report .report-grid > div { border: 1px solid #dbe5ed; border-radius: 6px; padding: 6px; }
.vacation-export-report .report-grid span { display: block; color: #758798; font-size: 8px; text-transform: uppercase; font-weight: 700; }
.vacation-export-report .report-grid strong { display: block; margin-top: 2px; font-size: 10px; }
.vacation-export-report table { width: 100%; border-collapse: collapse; font-size: 8px; }
.vacation-export-report th, .vacation-export-report td { border-bottom: 1px solid #dde5eb; padding: 5px; text-align: left; vertical-align: top; }
.vacation-export-report th { background: #eff5f9; color: #37566e; font-size: 7px; text-transform: uppercase; }
.vacation-export-report td:last-child, .vacation-export-report th:last-child { text-align: right; }
.vacation-export-report .report-total { margin-top: 8px; text-align: right; font-weight: 900; font-size: 11px; }

@media (max-width: 1320px) {
  .vacation-parameter-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vacation-summary-strip--five { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .average-grid { grid-template-columns: 1fr 1fr; }
  .average-card--format { grid-column: 1 / -1; }
}

@media (max-width: 980px) {
  .vacation-summary-strip--five, .result-kpis, .base-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .average-grid, .abono-grid--compact { grid-template-columns: 1fr; }
  .average-card--format { grid-column: auto; }
  .abono-plus, .abono-equals { display: none; }
  .calendar-modal-topline { grid-template-columns: 1fr 1fr; }
  .calendar-mode-card:first-child { grid-column: 1 / -1; }
}

@media (max-width: 650px) {
  .vacation-page .content-wrapper { padding-right: 12px; }
  .vacation-parameter-grid--four, .vacation-summary-strip--five, .result-kpis, .base-footer-grid, .average-check-grid, .export-choice-grid { grid-template-columns: 1fr; }
  .vacation-summary-strip > div { border-right: 0; border-bottom: 1px solid #e5edf4; }
  .vacation-summary-strip > div:last-child { border-bottom: 0; }
  .variable-toolbar, .result-heading-row, .calendar-holiday-row, .calendar-manual-heading { align-items: flex-start; flex-direction: column; }
  .base-add-help { margin-left: 0; padding-bottom: 0; }
  .calendar-modal-topline { grid-template-columns: 1fr; }
  .calendar-mode-card:first-child { grid-column: auto; }
  .bounded-number-input { width: 118px; }
  .export-choice--secondary { grid-column: auto; }
}

@media print {
  .vacation-page details.module-card:not([open]) { display: none !important; }
  .vacation-page .intro-strip, .vacation-page .variable-toolbar, .vacation-page .ref-reset, .vacation-page .remove-row-btn, .vacation-page .base-add-toolbar, .vacation-page .result-action-icons, .vacation-page .date-calendar-row { display: none !important; }
  .vacation-page details.module-card { break-inside: avoid; box-shadow: none; }
  .vacation-page .vacation-table-wrap { overflow: visible; }
  .vacation-page .data-table { min-width: 0; }
}
#vacation-pdf-staging:not([hidden]) { position: fixed; left: -100000px; top: 0; width: 794px; background: #fff; z-index: -1; }

/* Refinos de entrada e toggles — Férias v2.2 */
.input-2digits {
  width: 62px !important;
  max-width: 62px !important;
  min-width: 62px !important;
  text-align: right;
}

.code-stack input.code-input {
  width: 64px;
  max-width: 64px;
  min-width: 64px;
  text-transform: uppercase;
}

.vacation-entry-table .base-ref,
.vacation-entry-table .variable-ref,
.vacation-entry-table .factor-input {
  max-width: 92px;
}

.toggle-cell { text-align: center; }
.micro-switch {
  position: relative;
  display: inline-block;
  width: 31px;
  height: 17px;
  vertical-align: middle;
  cursor: pointer;
}
.micro-switch input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.micro-switch span {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background: #dbe4ea;
  border: 1px solid #cbd7df;
  transition: .18s ease;
}
.micro-switch span::before {
  content: '';
  position: absolute;
  width: 11px;
  height: 11px;
  left: 2px;
  top: 2px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(34, 54, 71, .2);
  transition: .18s ease;
}
.micro-switch input:checked + span {
  background: #4f8ee8;
  border-color: #4f8ee8;
}
.micro-switch input:checked + span::before { transform: translateX(14px); }
.micro-switch input:focus-visible + span { outline: 2px solid #93c5fd; outline-offset: 2px; }

.abono-trigger-row .mini-switch-row strong { color: #225a86; }
.abono-open-btn { color: #2563eb; }
.abono-open-btn:hover { background: #eff6ff; border-color: #bfdbfe; }

.bounded-number-input {
  min-width: 88px;
  width: 88px;
}
.bounded-number-input input {
  width: 46px;
  min-width: 46px;
  max-width: 46px;
  padding-left: 5px !important;
  padding-right: 5px !important;
}
.bounded-number-input span { padding: 0 7px; }
.calendar-summary--modal .calendar-manual-input {
  width: 58px !important;
  min-width: 58px !important;
  max-width: 58px !important;
  margin-left: auto;
  margin-right: auto;
}

.abono-modal .modal-body { display: grid; gap: 12px; }
.abono-modal-info {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 10px 11px;
  border: 1px solid #dce7ef;
  border-radius: 10px;
  background: #f8fbfd;
  color: #526b7d;
}
.abono-modal-info .material-symbols-rounded { color: #2563eb; font-size: 19px; flex: 0 0 auto; }
.abono-modal-info p { margin: 0; font-size: .66rem; line-height: 1.45; }
.abono-grid--modal {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) 24px minmax(160px, 1fr) 24px minmax(120px, .72fr);
  gap: 8px;
  align-items: stretch;
}
.abono-grid--modal .abono-day-card { min-height: 64px; }
.abono-grid--modal .abono-day-input input { width: 58px; min-width: 58px; max-width: 58px; }

.average-guide--steps { background: #fbfcff; }
.average-question-title {
  color: #496176;
  font-size: .69rem;
  font-weight: 850;
  margin-bottom: -4px;
}
.average-source-help {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  padding: 8px 9px;
  border: 1px solid #e4dcfa;
  border-radius: 8px;
  background: rgba(255,255,255,.9);
  color: #62567a;
  font-size: .62rem;
  line-height: 1.42;
}
.average-source-help > .material-symbols-rounded { font-size: 17px; color: #7c3aed; flex: 0 0 auto; }
.average-source-help--blue { border-color: #d6e6f6; color: #4c6b82; }
.average-source-help--blue > .material-symbols-rounded { color: #2563eb; }
.average-input-mode[hidden] { display: none !important; }

@media (max-width: 760px) {
  .abono-grid--modal { grid-template-columns: 1fr; }
  .abono-grid--modal .abono-plus,
  .abono-grid--modal .abono-equals { display: none; }
}

/* Refinos v2.3 — controles compactos, importação e catálogo global */
.module-header-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}
.section-clear-btn {
  width: 30px;
  height: 30px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 1px solid #dde6ed;
  border-radius: 8px;
  background: #fff;
  color: #8a5360;
}
.section-clear-btn:hover { background: #fff5f5; color: #b4232b; border-color: #f2c7ca; }
.section-clear-btn .material-symbols-rounded { font-size: 17px; }

.competence-calendar-inline {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.competence-calendar-inline .month-field { min-width: 0; }
.competence-calendar-inline .month-input-button { width: 100%; }
.competence-dsr-toggle {
  min-width: 92px;
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 7px;
  border: 1px solid #d8e4ea;
  border-radius: 9px;
  background: #f8fbfd;
  cursor: pointer;
}
.competence-dsr-toggle > span:last-child { display: grid; line-height: 1.05; }
.competence-dsr-toggle strong { font-size: .61rem; color: #35556b; white-space: nowrap; }
.competence-dsr-toggle small { margin-top: 2px; font-size: .53rem; color: #7b8d9d; white-space: nowrap; }
.abono-trigger-row { margin-top: 6px; }
.mini-switch-row--single { width: 100%; justify-content: flex-start; }

.base-sheet-actions { display: inline-flex; gap: 6px; align-items: center; }
.sheet-icon-action {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 1px solid #cfe0ea;
  border-radius: 9px;
  background: #f8fbfd;
  color: #1b6b9b;
  text-decoration: none;
}
.sheet-icon-action:hover { background: #eef7fc; color: #0b5f8e; border-color: #a9ccde; }
.sheet-icon-action .material-symbols-rounded { font-size: 19px; }

.calendar-manual-copy { min-width: 0; display: grid; gap: 2px; }
.calendar-manual-copy strong { color: #38536a; font-size: .7rem; }
.calendar-manual-copy small { color: #738596; font-size: .61rem; line-height: 1.4; }
.calendar-summary--modal .calendar-manual-input { text-align: center; }

/* Abono: dois campos compactos e total em faixa própria, sem corte lateral. */
.abono-grid--modal {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  align-items: start;
}
.abono-grid--modal .abono-day-card {
  min-height: 0;
  padding: 11px;
  display: grid;
  justify-items: start;
  align-content: start;
  gap: 7px;
}
.abono-grid--modal .abono-card-title { color: #36566e; font-size: .69rem; font-weight: 800; }
.abono-grid--modal .abono-card-title b { color: #1f5f91; }
.abono-grid--modal .abono-day-card > input {
  width: 58px !important;
  min-width: 58px !important;
  max-width: 58px !important;
  min-height: 38px;
  text-align: center;
  font-weight: 900;
}
.abono-grid--modal .abono-day-card > small { color: #758899; font-size: .59rem; line-height: 1.35; }
.abono-grid--modal .abono-total {
  grid-column: 1 / -1;
  min-height: 58px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 2px 12px;
  padding: 10px 12px;
  border: 1px solid #cfe0ea;
  border-radius: 10px;
  background: #f6fbfe;
}
.abono-grid--modal .abono-total > span { color: #60788c; font-size: .65rem; font-weight: 800; }
.abono-grid--modal .abono-total strong { color: #174f78; font-size: .9rem; text-align: right; }
.abono-grid--modal .abono-total small { grid-column: 1 / -1; color: #728597; font-size: .58rem; }

/* Modal de importação de verbas-base */
.base-import-tabs { gap: 4px; border-bottom-color: #dbe5ec; }
.base-import-tabs .nav-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #567083;
  font-size: .7rem;
  font-weight: 800;
  border-radius: 9px 9px 0 0;
}
.base-import-tabs .nav-link .material-symbols-rounded { font-size: 17px; }
.base-import-tabs .nav-link.active { color: #155f8e; background: #f8fbfd; }
.base-import-tab-content { padding-top: 14px; }
.base-import-drop {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 16px;
  border: 1px dashed #bcd0dc;
  border-radius: 12px;
  background: #f9fcfe;
}
.base-import-drop > .material-symbols-rounded { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 11px; background: #eaf7ef; color: #16804e; font-size: 23px; }
.base-import-drop > div { min-width: 0; display: grid; gap: 3px; }
.base-import-drop strong { color: #294b64; font-size: .76rem; }
.base-import-drop small { color: #738697; font-size: .62rem; line-height: 1.4; }
.base-import-drop .btn { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.base-import-status { margin-top: 10px; display: flex; align-items: flex-start; gap: 6px; min-height: 34px; padding: 8px 10px; border-radius: 9px; background: #f4f7f9; color: #627789; font-size: .65rem; }
.base-import-status .material-symbols-rounded { font-size: 17px; flex: 0 0 auto; }
.base-import-status.is-success { background: #edf9f2; color: #28734e; }
.base-import-status.is-error { background: #fff1f1; color: #a43b3b; }
.base-import-model-row { margin-top: 10px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 10px; border: 1px solid #e2e9ee; border-radius: 9px; color: #687d8e; font-size: .64rem; }
.base-import-model-row a { display: inline-flex; align-items: center; gap: 4px; font-weight: 800; color: #1a6e9d; text-decoration: none; }
.base-import-model-row a .material-symbols-rounded { font-size: 17px; }
.base-info-guide { display: grid; gap: 8px; }
.base-info-step { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 9px; align-items: start; padding: 9px 10px; border: 1px solid #e0e8ee; border-radius: 9px; background: #fbfdfe; }
.base-info-step > b { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 8px; background: #eaf4fa; color: #145f8e; font-size: .68rem; }
.base-info-step strong { color: #36556d; font-size: .7rem; }
.base-info-step p { margin: 2px 0 0; color: #708496; font-size: .62rem; line-height: 1.45; }
.base-info-step code { color: #5b3a87; background: #f4effb; border-radius: 4px; padding: 1px 4px; }
.base-info-note { margin-top: 10px; display: flex; gap: 7px; align-items: flex-start; padding: 10px; border: 1px solid #d8e8df; border-radius: 9px; background: #f5fbf7; color: #51715f; font-size: .62rem; line-height: 1.45; }
.base-info-note .material-symbols-rounded { font-size: 18px; color: #16804e; }

@media (max-width: 760px) {
  .competence-calendar-inline { grid-template-columns: 1fr; }
  .competence-dsr-toggle { width: fit-content; }
  .base-import-drop { grid-template-columns: 1fr; }
  .base-import-drop > .material-symbols-rounded { display: none; }
  .base-import-model-row { align-items: flex-start; flex-direction: column; }
}

@media print {
  .vacation-page .section-clear-btn, .vacation-page .base-sheet-actions, .base-import-modal { display: none !important; }
}

/* v2.4 — organização do livro de verbas + parâmetros compactos */
@media (min-width: 1201px) {
  .vacation-parameter-grid--four {
    grid-template-columns: minmax(300px, 1.25fr) 210px 220px 150px;
    justify-content: start;
    align-items: start;
  }
  .vacation-parameter-grid--four .input-group { min-width: 0; }
  .vacation-parameter-grid--four #in-divisor,
  .vacation-parameter-grid--four #in-start-date { max-width: 220px; }
  .vacation-parameter-grid--four .vacation-days-group { max-width: 150px; }
}

.ledger-combined { display: grid; gap: 14px; }
.ledger-zone {
  min-width: 0;
  padding: 13px;
  border: 1px solid #dce7ef;
  border-radius: 12px;
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
.ledger-zone--base { background: #f8fbff; border-color: #cfe1f3; }
.ledger-zone--variable { background: #f8fdf9; border-color: #cde9d5; }
.ledger-zone.is-drop-target { border-color: #3b82f6; background: #eff6ff; box-shadow: inset 0 0 0 2px rgba(59,130,246,.12); }
.ledger-zone-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 10px; }
.ledger-zone-head h3 { margin: 1px 0 2px; color: #244865; font-size: .86rem; font-weight: 850; }
.ledger-zone-head p { margin: 0; color: #6c8090; font-size: .64rem; line-height: 1.45; }
.ledger-kicker { display: block; color: #2d75a3; font-size: .55rem; font-weight: 900; letter-spacing: .08em; }
.ledger-zone--variable .ledger-kicker { color: #16804e; }
.drag-hint { display: inline-flex; align-items: center; gap: 4px; flex: 0 0 auto; color: #6b7f91; font-size: .6rem; font-weight: 750; white-space: nowrap; }
.drag-hint .material-symbols-rounded { font-size: 17px; }
.vacation-entry-table tr[draggable="true"] { cursor: grab; }
.vacation-entry-table tr.is-dragging { opacity: .45; }
.row-actions { display: inline-flex; align-items: center; justify-content: center; gap: 2px; }
.move-row-btn { width: 30px; height: 30px; border: 0; border-radius: 8px; background: transparent; color: #47738f; display: grid; place-items: center; padding: 0; }
.move-row-btn:hover { background: #eaf4fa; color: #155f8e; }
.move-row-btn[disabled] { opacity: .2; cursor: not-allowed; }
.move-row-btn .material-symbols-rounded { font-size: 18px; }
.row-scope { margin-top: 2px; width: 116px; min-height: 25px !important; padding: 2px 5px !important; border-radius: 6px; color: #5c7284; font-size: .58rem; }

.dsr-guidance { margin-top: 9px; display: flex; align-items: flex-start; gap: 7px; padding: 9px 10px; border: 1px solid #d9e5ec; border-radius: 9px; background: #f7fafc; color: #5e7486; font-size: .63rem; line-height: 1.45; }
.dsr-guidance .material-symbols-rounded { flex: 0 0 auto; font-size: 18px; }
.dsr-guidance.is-warning { border-color: #f4d69a; background: #fffbeb; color: #765c22; }
.dsr-guidance.is-success { border-color: #bfe5cd; background: #f0fdf4; color: #2b6f4c; }

/* Campos pequenos devem ocupar somente o espaço necessário. */
.input-2digits { width: 58px !important; min-width: 58px !important; max-width: 58px !important; text-align: center !important; }
#in-holidays, #in-manual-uteis, #in-manual-dsrs { width: 64px !important; min-width: 64px !important; max-width: 64px !important; text-align: center; }

@media (max-width: 1200px) {
  .vacation-parameter-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .vacation-parameter-grid--four { grid-template-columns: 1fr; }
  .ledger-zone-head { flex-direction: column; }
  .drag-hint { white-space: normal; }
}

/* v2.4.1 — parâmetros realmente compactos no desktop. */
@media (min-width: 1201px) {
  .vacation-parameter-grid--four {
    grid-template-columns: minmax(320px, 1fr) 175px 190px 150px;
    gap: 12px;
  }
  .vacation-parameter-grid--four .competence-calendar-inline {
    grid-template-columns: minmax(150px, 190px) max-content;
    justify-content: start;
  }
  .vacation-parameter-grid--four #in-divisor { width: 175px; max-width: 175px; }
  .vacation-parameter-grid--four #in-start-date { width: 190px; max-width: 190px; }
  .vacation-parameter-grid--four .vacation-days-group { width: 150px; max-width: 150px; }
}
.variable-scope { width: 116px; }

/* v2.5 — médias por total ou por verba + filtro de resultado por competência */
.average-period-scope {
  display: grid;
  gap: 6px;
}
.average-period-scope > span {
  color: #596f82;
  font-size: .64rem;
  font-weight: 800;
}
.average-source-toggle--compact .average-source-btn {
  min-height: 30px;
  font-size: .61rem;
}
.average-items-panel {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px dashed #d7caef;
  border-radius: 10px;
  background: rgba(255,255,255,.72);
}
.average-items-panel--hours { border-color: #c9dff4; }
.average-items-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.average-items-head > div { min-width: 0; }
.average-items-head strong { display: block; color: #34536d; font-size: .68rem; }
.average-items-head small { display: block; margin-top: 2px; color: #748797; font-size: .58rem; line-height: 1.35; }
.mini-add-line {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 4px 8px;
  border: 1px solid #d5e2ea;
  border-radius: 8px;
  background: #fff;
  color: #286487;
  font-size: .61rem;
  font-weight: 800;
  white-space: nowrap;
}
.mini-add-line .material-symbols-rounded { font-size: 16px; }
.average-items-list { display: grid; gap: 6px; }
.average-item-row {
  display: grid;
  grid-template-columns: minmax(105px, .75fr) minmax(120px, .8fr) minmax(120px, .8fr) 30px;
  gap: 6px;
  align-items: center;
  padding: 7px;
  border: 1px solid #e2e8ef;
  border-radius: 9px;
  background: #fff;
}
.average-item-row--hours {
  grid-template-columns: minmax(105px, .72fr) 86px minmax(105px, .75fr) minmax(130px, .9fr) 30px;
}
.average-item-code-wrap { min-width: 0; display: grid; gap: 2px; }
.average-item-code {
  width: 76px !important;
  min-width: 76px !important;
  max-width: 76px !important;
  min-height: 34px !important;
  padding: 5px 7px !important;
  font-size: .68rem !important;
  font-weight: 800;
  text-transform: uppercase;
}
.average-item-description {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #748798;
  font-size: .54rem;
}
.average-item-row .money-input-wrap input,
.average-item-row > input,
.average-item-row select {
  min-height: 34px !important;
  padding-top: 5px !important;
  padding-bottom: 5px !important;
  font-size: .66rem !important;
}
.average-item-derived {
  color: #5d7486;
  font-size: .58rem;
  line-height: 1.25;
  text-align: right;
}
.average-item-remove {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: #b14d56;
}
.average-item-remove:hover { background: #fff1f2; color: #b4232b; }
.average-item-remove .material-symbols-rounded { font-size: 16px; }
.average-items-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 9px;
  border-top: 1px dashed #d7e1e8;
  color: #61788a;
  font-size: .62rem;
  font-weight: 800;
}
.average-items-total strong { color: #245d82; font-size: .72rem; }

.result-heading-copy { min-width: 0; display: grid; gap: 8px; }
.result-scope-toggle {
  width: fit-content;
  max-width: 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(110px, auto));
  gap: 4px;
  padding: 4px;
  border: 1px solid #d7e3eb;
  border-radius: 10px;
  background: #f3f7fa;
}
.result-scope-btn {
  min-height: 32px;
  padding: 5px 10px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: #657b8c;
  font-size: .63rem;
  font-weight: 850;
  white-space: nowrap;
}
.result-scope-btn.is-active { background: #fff; color: #145f8e; box-shadow: 0 2px 8px rgba(39,76,104,.08); }
.result-scope-btn:disabled { opacity: .4; cursor: not-allowed; }
.result-scope-help { color: #738697; font-size: .59rem; line-height: 1.35; }

@media (max-width: 980px) {
  .average-item-row,
  .average-item-row--hours { grid-template-columns: 1fr 1fr; }
  .average-item-code-wrap { grid-column: 1 / -1; }
  .average-item-remove { justify-self: end; }
  .result-scope-toggle { grid-template-columns: 1fr; width: 100%; }
}
@media (max-width: 650px) {
  .average-items-head { align-items: flex-start; flex-direction: column; }
  .average-item-row,
  .average-item-row--hours { grid-template-columns: 1fr; }
  .average-item-derived { text-align: left; }
}

/* v2.6 — rubricas 208/220 e 209/221 informadas diretamente do holerite */
.average-item-row--hours.is-output-rubric {
  grid-template-columns: minmax(105px, .72fr) minmax(130px, .9fr) minmax(180px, 1.15fr) 30px;
}
.average-item-row.is-output-rubric {
  background: #f8fbff;
  border-color: #cbdff2;
}
.average-item-row.is-output-rubric .average-item-derived {
  color: #315f84;
  font-weight: 750;
}
@media (max-width: 900px) {
  .average-item-row--hours.is-output-rubric { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px) {
  .average-item-row--hours.is-output-rubric { grid-template-columns: 1fr; }
}

/* v2.7 — leitura visual das verbas-base, preenchimento triangular e ajuda por verba */
.ledger-zone--base .vacation-entry-table tbody tr.base-emphasis-row > td {
  background: #f7fbff;
}
.ledger-zone--base .vacation-entry-table tbody tr.base-emphasis-row:hover > td {
  background: #edf6fd;
}
.ledger-zone--base .base-emphasis-row .base-code,
.ledger-zone--base .base-emphasis-row .code-description {
  font-weight: 850;
}
.ledger-zone--base .base-emphasis-row .base-code {
  border-color: #b9d4e7;
  background: #fff;
}
.code-line { display: flex; align-items: center; gap: 4px; }
.verba-info-btn {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #2563eb;
  cursor: pointer;
}
.verba-info-btn:hover,.verba-info-btn:focus-visible { background: transparent; border-color: transparent; color: #174ea6; transform: none; outline: 0; box-shadow: none; }
.verba-info-btn .material-symbols-rounded,
.verba-info-btn .material-icons-round,
.verba-info-btn .material-symbols-outlined {
  font-family: 'Material Icons Round', sans-serif;
  font-size: 17px;
}
.base-emphasis-row .base-value { font-weight: 800; color: #204a68; }
.triad-hint { display: block; margin-top: 2px; color: #8192a0; font-size: .52rem; text-align: right; white-space: nowrap; }
.base-triad-guide,
.incidence-guidance {
  margin-top: 9px;
  display: flex;
  align-items: flex-start;
  gap: 7px;
  padding: 9px 10px;
  border: 1px solid #cfdfeb;
  border-radius: 9px;
  background: #f6fbff;
  color: #587184;
  font-size: .62rem;
  line-height: 1.45;
}
.base-triad-guide .material-symbols-rounded,
.incidence-guidance .material-symbols-rounded { flex: 0 0 auto; font-size: 18px; color: #2877a4; }
.incidence-guidance.is-success { border-color: #c5e7d0; background: #f2fcf5; color: #356d4c; }
.incidence-guidance.is-success .material-symbols-rounded { color: #16804e; }
.incidence-guidance.is-warning { border-color: #f2d69c; background: #fffbeb; color: #765d25; }
.incidence-guidance.is-warning .material-symbols-rounded { color: #b7791f; }

.verba-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.verba-info-grid > div {
  min-width: 0;
  padding: 10px;
  border: 1px solid #dce7ee;
  border-radius: 9px;
  background: #f8fbfd;
}
.verba-info-grid span { display: block; margin-bottom: 3px; color: #758899; font-size: .61rem; font-weight: 750; text-transform: uppercase; letter-spacing: .03em; }
.verba-info-grid strong { display: block; color: #234b67; font-size: .7rem; line-height: 1.35; }
.verba-info-explanation { margin-top: 10px; padding: 10px; border-left: 3px solid #4a98c2; border-radius: 7px; background: #f5fbfe; color: #587082; font-size: .66rem; line-height: 1.5; }
.verba-info-explanation p { margin: 0 0 7px; }
.verba-info-explanation p:last-child { margin-bottom: 0; }

.vacation-result-table tr.result-base-row > td {
  background: #f4f9fd;
  border-top-color: #d7e7f1;
  border-bottom-color: #d7e7f1;
}
.vacation-result-table tr.result-base-row .result-code strong,
.vacation-result-table tr.result-base-row td:last-child {
  font-weight: 900;
}
.vacation-result-table tr.result-absence-row > td { background: #fffaf0; }

.result-scope-btn { min-width: 92px; }

@media (max-width: 650px) {
  .verba-info-grid { grid-template-columns: 1fr; }
  .triad-hint { text-align: left; }
}
.base-emphasis-row.is-reconstructed > td { box-shadow: inset 0 1px 0 #bfe4cf, inset 0 -1px 0 #bfe4cf; }
.base-emphasis-row.is-reconstructed .triad-hint { color: #16804e; font-weight: 800; }
.base-emphasis-row.is-reconstructed .triad-hint::after { content: " • base reconstruída"; }

/* v4.8.1 — primeiro expander: parâmetros mais legíveis e compactos, sem alterar o fluxo. */
.vacation-parameter-grid--four {
  align-items: stretch;
}
.vac-param-card {
  min-width: 0;
  min-height: 112px;
  align-content: start;
  padding: 11px 12px;
  border: 1px solid #dfe7ef;
  border-radius: 11px;
  background: #fbfdff;
}
.vac-param-card > label:first-child,
.vac-param-card > label:not(.competence-dsr-toggle):first-child {
  margin-bottom: 2px;
}
.vac-param-card .field-help {
  margin-top: 6px;
  line-height: 1.3;
}
.vac-param-card--competence {
  background: #f8fbff;
  border-color: #cfe1f3;
}
.vac-param-card--divisor { background: #fbfcff; }
.vac-param-card--date { background: #f9fdfb; border-color: #d8eadf; }
.vac-param-card--days { background: #fcfaff; border-color: #e2d9f4; }
.vac-param-card--divisor #in-divisor,
.vac-param-card--date #in-start-date {
  width: 100%;
}
.vac-param-card--days #in-vacation-days {
  margin-top: 1px;
}
.vac-param-card--days .abono-trigger-row {
  margin-top: 8px;
  padding-top: 7px;
  border-top: 1px dashed #ded6ec;
}
.vac-param-card--days .mini-switch-row--single {
  align-items: flex-start;
}
.vac-param-card--days .mini-switch-row small {
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}

@media (min-width: 1201px) {
  .vacation-parameter-grid--four {
    grid-template-columns: minmax(340px, 1.35fr) 180px 200px 230px;
    gap: 12px;
  }
  .vacation-parameter-grid--four .competence-calendar-inline {
    grid-template-columns: minmax(155px, 190px) max-content;
  }
  .vacation-parameter-grid--four #in-divisor {
    width: 156px;
    max-width: 156px;
  }
  .vacation-parameter-grid--four #in-start-date {
    width: 176px;
    max-width: 176px;
  }
  .vacation-parameter-grid--four .vacation-days-group {
    width: auto;
    max-width: none;
  }
}

@media (max-width: 1200px) and (min-width: 761px) {
  .vacation-parameter-grid--four {
    grid-template-columns: minmax(300px, 1.4fr) minmax(180px, .7fr);
  }
}

@media (max-width: 760px) {
  .vac-param-card { min-height: 0; }
  .vac-param-card--divisor #in-divisor,
  .vac-param-card--date #in-start-date { max-width: 100%; }
}

/* v4.8.18-r5 — refinamento visual do expander de parâmetros: mais espaço para Dias de férias e composição mais equilibrada. */
.vacation-parameter-grid--ten {
  display: grid;
  grid-template-columns:
    minmax(300px, 1.35fr)
    minmax(210px, .95fr)
    minmax(170px, .9fr)
    minmax(150px, .78fr)
    minmax(280px, 1.2fr);
  gap: 12px;
  align-items: stretch;
}
.vacation-parameter-grid--ten .vac-span-3,
.vacation-parameter-grid--ten .vac-span-2,
.vacation-parameter-grid--ten .vac-span-1,
.vacation-parameter-grid--ten .vac-param-card,
.vacation-parameter-grid--ten .vac-param-result-card {
  grid-column: auto / span 1;
}
.vacation-parameter-grid--ten .vac-param-card {
  min-height: 132px;
  height: 100%;
}
.vacation-parameter-grid--ten .vac-param-card--competence .competence-calendar-inline {
  grid-template-columns: minmax(150px, 1fr) max-content;
  gap: 10px;
}
.vacation-parameter-grid--ten .vac-param-card--date #in-start-date,
.vacation-parameter-grid--ten .vac-param-card--divisor #in-divisor,
.vacation-parameter-grid--ten .vac-param-card--days #in-vacation-days {
  width: 100%;
  max-width: none;
}
.vacation-parameter-grid--ten .vac-param-card--days {
  width: auto;
  max-width: none;
  padding-inline: 12px;
}
.vacation-parameter-grid--ten .vac-param-card--days #in-vacation-days {
  min-width: 96px;
  padding-inline: 12px;
  text-align: center;
}
.vacation-parameter-grid--ten .vac-param-card--date {
  min-width: 0;
}
.vacation-parameter-grid--ten .vac-param-result-card {
  min-height: 132px;
}
.period-under-date {
  display: grid;
  gap: 2px;
  margin-top: 9px;
  padding-top: 8px;
  border-top: 1px dashed #cfe0d5;
}
.period-under-date span,
.vac-param-result-card span {
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .025em;
  text-transform: uppercase;
  color: #71879a;
}
.period-under-date strong {
  font-size: .75rem;
  line-height: 1.25;
  color: #153e5b;
}
.vac-param-result-card {
  min-width: 0;
  min-height: 122px;
  display: grid;
  grid-template-rows: auto auto 1fr;
  gap: 7px;
  padding: 10px 11px;
  border: 1px solid #cfddeb;
  border-radius: 11px;
  background: linear-gradient(180deg, #f8fbfe 0%, #f4f9fc 100%);
}
.vac-param-result-line {
  display: grid;
  gap: 2px;
  padding-bottom: 6px;
  border-bottom: 1px dashed #d7e2eb;
}
.vac-param-result-line strong {
  color: #183f5b;
  font-size: .72rem;
  line-height: 1.25;
}
.vac-param-result-values {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  align-self: end;
}
.vac-param-result-values > div {
  min-width: 0;
  padding: 7px 8px;
  border: 1px solid #dce7ef;
  border-radius: 8px;
  background: #fff;
}
.vac-param-result-values strong {
  display: block;
  margin-top: 2px;
  color: #0c6a45;
  font-size: .72rem;
  white-space: nowrap;
}
.vacation-parameter-grid--ten .vac-param-card label {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.vacation-parameter-grid--ten .vac-param-card .field-help {
  font-size: .69rem;
}
.vac-param-result-line strong,
.vac-param-result-values strong {
  overflow-wrap: anywhere;
}
.average-reconcile-alert {
  margin-top: 8px;
  display: flex;
  align-items: flex-start;
  gap: 7px;
  padding: 8px 9px;
  border-radius: 8px;
  border: 1px solid #dbe5ee;
  background: #f8fbfd;
  color: #486276;
  font-size: .67rem;
  line-height: 1.4;
}
.average-reconcile-alert[hidden] { display: none !important; }
.average-reconcile-alert .material-symbols-rounded { font-size: 17px; flex: 0 0 auto; }
.average-reconcile-alert.is-success { border-color: #bfe7d0; background: #f4fcf7; color: #16633f; }
.average-reconcile-alert.is-info { border-color: #c9def2; background: #f5f9fd; color: #285f86; }
.average-reconcile-alert.is-danger { border-color: #efc7c7; background: #fff7f7; color: #9f3030; }

@media (max-width: 1450px) {
  .vacation-parameter-grid--ten {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .vacation-parameter-grid--ten .vac-param-card--competence { grid-column: span 2; }
  .vacation-parameter-grid--ten .vac-param-card--date { grid-column: span 2; }
  .vacation-parameter-grid--ten .vac-param-card--days { grid-column: span 1; }
  .vacation-parameter-grid--ten .vac-param-card--divisor { grid-column: span 1; }
  .vacation-parameter-grid--ten .vac-param-result-card { grid-column: 1 / -1; }
}

@media (max-width: 980px) {
  .vacation-parameter-grid--ten { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vacation-parameter-grid--ten .vac-param-card--competence,
  .vacation-parameter-grid--ten .vac-param-card--date,
  .vacation-parameter-grid--ten .vac-param-result-card { grid-column: 1 / -1; }
  .vacation-parameter-grid--ten .vac-param-card--days,
  .vacation-parameter-grid--ten .vac-param-card--divisor { grid-column: span 1; }
  .vacation-parameter-grid--ten .vac-param-card,
  .vacation-parameter-grid--ten .vac-param-result-card { min-height: 0; }
}

@media (max-width: 560px) {
  .vacation-parameter-grid--ten { grid-template-columns: 1fr; }
  .vacation-parameter-grid--ten .vac-param-card--competence,
  .vacation-parameter-grid--ten .vac-param-card--date,
  .vacation-parameter-grid--ten .vac-param-card--days,
  .vacation-parameter-grid--ten .vac-param-card--divisor,
  .vacation-parameter-grid--ten .vac-param-result-card { grid-column: 1; }
  .vacation-parameter-grid--ten .vac-param-card--competence .competence-calendar-inline { grid-template-columns: 1fr; }
  .vacation-parameter-grid--ten .vac-param-card--days #in-vacation-days { min-width: 100%; }
  .vac-param-result-values { grid-template-columns: 1fr; }
}

.abono-grid--semantic {
  grid-template-columns: minmax(150px, .7fr) minmax(280px, 1.6fr) minmax(140px, .7fr);
  align-items: stretch;
}
.abono-day-card--input { min-height: 0; }
.abono-code-map {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.abono-code-map > div {
  display: grid;
  gap: 5px;
  padding: 10px;
  border: 1px solid #dbe5ee;
  border-radius: 9px;
  background: #f8fbfd;
}
.abono-code-map strong { font-size: .72rem; color: #294f69; }
.abono-code-map span { font-size: .67rem; color: #60798c; line-height: 1.35; }
.abono-period-summary {
  grid-column: 1 / -1;
  padding: 8px 10px;
  border: 1px solid #cfe3ef;
  border-radius: 9px;
  background: #f5fbfe;
  color: #315f7d;
  font-size: .66rem;
  font-weight: 750;
  line-height: 1.45;
}
@media (max-width: 760px) {
  .abono-grid--semantic { grid-template-columns: 1fr; }
  .abono-code-map { grid-template-columns: 1fr; }
}

.base-next-check-toggle {
  margin-top: 5px;
  border: 0;
  padding: 0;
  background: transparent;
  color: #3c6f91;
  font-size: .58rem;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  cursor: pointer;
}
.base-next-check-toggle[hidden] { display: none !important; }
.base-next-check-toggle .material-symbols-rounded { font-size: 14px; }
.base-next-sample {
  margin-top: 6px;
  padding: 7px;
  border: 1px dashed #c9dbe8;
  border-radius: 8px;
  background: #f8fbfd;
}
.base-next-sample[hidden] { display: none !important; }
.base-next-sample > span {
  display: block;
  margin-bottom: 4px;
  color: #5d778a;
  font-size: .56rem;
  font-weight: 800;
  text-transform: uppercase;
}
.base-next-status {
  display: block;
  margin-top: 4px;
  color: #748795;
  font-size: .55rem;
  line-height: 1.25;
}
.base-next-status.is-success { color: #19764c; font-weight: 700; }
.base-next-status.is-danger { color: #a33535; font-weight: 700; }

/* v4.8.1 revisão — médias por rubrica, abono visível e memória didática */
.average-item-row--value {
  grid-template-columns: minmax(112px,.85fr) 76px minmax(124px,.9fr) minmax(160px,1.15fr) 30px;
}
.average-item-row--hours {
  grid-template-columns: minmax(112px,.82fr) 76px 82px minmax(105px,.72fr) minmax(132px,.9fr) minmax(160px,1.12fr) 30px;
}
.average-item-row--hours.is-output-rubric {
  grid-template-columns: minmax(112px,.82fr) 76px minmax(132px,.9fr) minmax(170px,1.2fr) 30px;
}
.average-item-code[readonly] {
  background: #f6f9fc !important;
  border-color: #d9e5ee !important;
  color: #284f70 !important;
  cursor: default;
}
.average-item-context {
  color: #537089;
  font-size: .52rem;
  font-weight: 800;
  line-height: 1.2;
}
.average-item-ref-wrap,
.average-item-amount-wrap {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.average-item-ref-wrap > span,
.average-item-amount-wrap > span {
  color: #718597;
  font-size: .52rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.average-item-ref {
  width: 70px !important;
  min-width: 70px !important;
  max-width: 70px !important;
  min-height: 34px !important;
  padding: 5px 6px !important;
  text-align: center !important;
  font-size: .65rem !important;
  font-weight: 850;
  background: #f5f8fb !important;
  color: #4f6a80 !important;
}
.average-item-amount-wrap .money-input-wrap { min-width: 0; }
.average-item-amount-wrap .money-input-wrap input { width: 100%; }

.average-abono-map {
  grid-column: 1 / -1;
  display: grid;
  gap: 10px;
  padding: 12px 13px;
  border: 1px solid #f1d7a9;
  border-radius: 12px;
  background: #fffaf1;
}
.average-abono-map-head {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  gap: 8px;
  align-items: start;
}
.average-abono-map-head > .material-symbols-rounded { color: #c77718; font-size: 21px; }
.average-abono-map-head strong { display: block; color: #754c13; font-size: .72rem; }
.average-abono-map-head small { display: block; margin-top: 2px; color: #846a48; font-size: .59rem; line-height: 1.4; }
.average-abono-status {
  padding: 4px 7px;
  border: 1px solid #efd7b1;
  border-radius: 999px;
  background: #fff;
  color: #98621b;
  font-size: .56rem;
  font-weight: 850;
  white-space: nowrap;
}
.average-abono-groups { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.average-abono-group { min-width: 0; padding: 9px; border: 1px solid #f0dfc6; border-radius: 9px; background: rgba(255,255,255,.78); }
.average-abono-group > span { display: block; margin-bottom: 6px; color: #755b38; font-size: .57rem; font-weight: 900; text-transform: uppercase; letter-spacing: .03em; }
.average-abono-pills { display: flex; flex-wrap: wrap; gap: 5px; }
.average-abono-pills b {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 6px;
  border: 1px solid #e8dac5;
  border-radius: 7px;
  background: #fff;
  color: #6d5739;
  font-size: .56rem;
  font-weight: 800;
}
.average-abono-pills b em { color: #98621b; font-style: normal; font-variant-numeric: tabular-nums; }
.average-abono-pills b.is-active { border-color: #e6bf82; background: #fff7e8; }
.average-abono-pills b.is-muted { opacity: .48; }

.memory-column-head { display: inline-flex; align-items: center; gap: 7px; }
.memory-details-btn {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 2px 6px;
  border: 1px solid #cfdae4;
  border-radius: 999px;
  background: #fff;
  color: #3d6a88;
  font-size: .49rem;
  font-weight: 900;
  letter-spacing: .03em;
}
.memory-details-btn .material-symbols-rounded { font-size: 13px; }
.memory-details-btn:hover,
.memory-details-btn.is-active { background: #eaf5fb; border-color: #9ec9df; color: #145d8c; }
.result-memory-details {
  margin: 10px 0;
  padding: 11px 12px;
  border: 1px solid #cfe1ee;
  border-radius: 10px;
  background: #f7fbfe;
  color: #526b7e;
  font-size: .62rem;
  line-height: 1.45;
}
.result-memory-details > div:first-child { display: flex; align-items: flex-start; gap: 7px; }
.result-memory-details > div:first-child > .material-symbols-rounded { color: #256d9b; font-size: 18px; flex: 0 0 auto; }
.result-memory-details p { margin: 0; }
.result-memory-details strong { color: #244f6d; }
.result-memory-detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px 10px; margin-top: 9px; }
.result-memory-detail-grid span { padding: 5px 7px; border: 1px solid #dbe8f0; border-radius: 7px; background: #fff; }
.base-next-status.is-info { color: #2c6d93; font-weight: 700; }

@media (max-width: 1180px) {
  .average-item-row--value,
  .average-item-row--hours,
  .average-item-row--hours.is-output-rubric { grid-template-columns: 1fr 78px 1fr; }
  .average-item-derived { grid-column: 1 / -1; text-align: left; }
  .average-item-remove { justify-self: end; }
  .average-abono-groups { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .average-item-row--value,
  .average-item-row--hours,
  .average-item-row--hours.is-output-rubric { grid-template-columns: 1fr; }
  .average-item-ref { width: 100% !important; max-width: none !important; }
  .average-abono-map-head { grid-template-columns: auto 1fr; }
  .average-abono-status { grid-column: 1 / -1; justify-self: start; }
  .result-memory-detail-grid { grid-template-columns: 1fr; }
}

/* v4.8.1 r3 — diferenças/reajustes 225–240 */
.vacation-difference-box{margin-top:14px;border:1px solid #f4c56f;border-radius:14px;background:#fffaf0;overflow:hidden}
.vacation-difference-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px}
.vacation-difference-head h4{margin:2px 0 4px;font-size:15px;color:#7a4b00}
.vacation-difference-head p{margin:0;max-width:980px;font-size:12px;line-height:1.45;color:#765d35}
.vacation-difference-panel{padding:0 16px 16px}
.vacation-difference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.difference-card{border:1px solid #ead8b6;border-radius:12px;background:#fff;padding:12px;min-width:0}
.difference-card--advanced{grid-column:1/-1}
.difference-card-title{display:flex;align-items:flex-start;gap:9px;margin-bottom:10px}
.difference-card-title>.material-symbols-rounded{font-size:21px;color:#b56a00}
.difference-card-title strong{display:block;font-size:13px;color:#263a52}
.difference-card-title small{display:block;font-size:11px;color:#718096;margin-top:2px}
.difference-current-base{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:9px;background:#fff7e7;margin-bottom:9px;font-size:11px}
.difference-current-base strong{color:#8a5100}
.difference-samples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.difference-sample{display:grid;gap:5px;padding:8px;border:1px dashed #d9c39c;border-radius:9px;background:#fffdfa}
.difference-sample[hidden]{display:none!important}
.difference-sample>span{font-size:10.5px;color:#59697c}
.difference-sample em{font-style:normal;font-weight:700;color:#315a84}
.difference-sample input,.difference-advanced-grid input{width:100%}
.difference-reconcile-status{margin-top:9px;padding:8px 10px;border-radius:9px;background:#f7f9fc;font-size:10.5px;line-height:1.4;color:#5d6b7c}
.difference-reconcile-status.is-success{background:#effbf3;color:#24653b;border:1px solid #b9e7c7}
.difference-reconcile-status.is-danger{background:#fff1f1;color:#9a2e2e;border:1px solid #efc0c0}
.difference-reconcile-status.is-info{background:#eef7ff;color:#315d85;border:1px solid #c8e0f5}
.difference-advanced-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.difference-advanced-grid label{display:grid;gap:5px;font-size:10.5px;color:#59697c}
@media(max-width:1000px){.vacation-difference-grid{grid-template-columns:1fr}.difference-card--advanced{grid-column:auto}.difference-advanced-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.vacation-difference-head{align-items:flex-start;flex-direction:column}.difference-samples,.difference-advanced-grid{grid-template-columns:1fr}}
.result-difference-row td{background:#fff9ed!important}
.result-difference-row .result-code strong{color:#a55f00}


/* v4.8.1 r4 — entrada direta das diferenças do holerite */
.difference-card--holerite { grid-column: 1 / -1; border-style: solid; }
.difference-direct-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:10px; }
.difference-direct-group { display:grid; gap:8px; padding:10px; border:1px dashed #cbdced; border-radius:12px; background:#fff; }
.difference-direct-group > strong { color:#173f64; font-size:.78rem; text-transform:uppercase; letter-spacing:.04em; }
.difference-direct-group label { display:grid; grid-template-columns:minmax(0,1fr) 150px; gap:10px; align-items:center; font-size:.78rem; }
.difference-auto-preview { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 10px; border-radius:10px; background:#f4f8fc; border:1px solid #dbe7f2; font-size:.78rem; }
.difference-auto-preview b { color:#0d6d4e; white-space:nowrap; }
.difference-card--holerite .difference-reconcile-status { margin-top:10px; }
.average-item-row.is-auto-derived { outline:1px dashed #f0b35e; background:#fffaf2; }
.average-item-row.is-auto-derived .average-item-derived::before { content:'Prévia automática • '; font-weight:700; color:#9a5d00; }
@media (max-width: 900px) { .difference-direct-groups { grid-template-columns:1fr; } }
@media (max-width: 620px) { .difference-direct-group label { grid-template-columns:1fr; } }


/* v4.8.10 — Médias de férias: duas colunas, controles compactos e ferramentas em modal */
.average-grid.average-grid--guided {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-items: start;
}
.average-grid--guided > .average-card {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  padding: 13px;
  gap: 9px;
  overflow: visible;
}
.average-card-head > div,
.average-source-toggle,
.average-items-panel,
.average-items-list,
.average-item-row,
.average-item-row > *,
.average-item-amount-wrap,
.average-item-ref-wrap,
.average-item-code-wrap,
.average-card .money-input-wrap,
.average-card input,
.average-card select {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
.average-source-toggle,
.average-items-panel,
.average-item-row,
.average-item-row .money-input-wrap,
.average-item-row input,
.average-item-row select {
  box-sizing: border-box;
}
.average-card-head strong,
.average-card-head small,
.average-items-head small,
.average-source-help span,
.average-formula-preview,
.average-link-status,
.average-output span,
.average-period-output span {
  overflow-wrap: anywhere;
}

/* Toggles menores para não dominar os cards. */
.average-source-toggle {
  gap: 4px;
  padding: 3px;
  border-radius: 8px;
}
.average-source-btn {
  min-width: 0;
  min-height: 29px;
  padding: 4px 6px;
  border-radius: 6px;
  font-size: .60rem;
  line-height: 1.15;
  white-space: normal;
}
.average-source-btn .material-symbols-rounded { font-size: 15px; }
.average-source-toggle--compact .average-source-btn {
  min-height: 27px;
  padding: 3px 5px;
  font-size: .57rem;
}
.average-question-title { font-size: .65rem; }
.average-code-row { gap: 5px; }
.average-code-row span { padding: 3px 6px; font-size: .57rem; }
.average-code-row b { font-size: .64rem; }
.average-items-panel { padding: 9px; gap: 7px; }
.average-items-head { gap: 8px; }
.average-items-head small { font-size: .56rem; }
.mini-add-line { min-height: 28px; padding: 3px 7px; }

/* Linhas internas: a memória fica em uma segunda linha, sem vazar do card. */
.average-item-row--value {
  grid-template-columns: minmax(96px, .9fr) 72px minmax(112px, 1fr) 28px;
  grid-template-areas:
    "code ref amount remove"
    "derived derived derived derived";
  gap: 6px;
}
.average-item-row--hours {
  grid-template-columns: minmax(96px, 1fr) 72px 76px minmax(100px, .9fr) 28px;
  grid-template-areas:
    "code ref factor entry remove"
    "derived derived derived derived derived";
  gap: 6px;
}
.average-item-row--hours.is-output-rubric {
  grid-template-columns: minmax(96px, 1fr) 72px minmax(118px, 1fr) 28px;
  grid-template-areas:
    "code ref entry remove"
    "derived derived derived derived";
}
.average-item-code-wrap { grid-area: code; }
.average-item-ref-wrap { grid-area: ref; }
.average-item-amount-wrap { grid-area: amount; }
.average-item-row--hours > .avg-hours-item-factor { grid-area: factor; }
.average-item-row--hours > .avg-hours-item-hours,
.average-item-row--hours > .avg-hours-item-value-wrap { grid-area: entry; }
.average-item-derived {
  grid-area: derived;
  min-width: 0;
  padding-top: 2px;
  border-top: 1px dashed #e3e9ee;
  text-align: left;
  white-space: normal;
  overflow-wrap: anywhere;
}
.average-item-remove { grid-area: remove; align-self: center; justify-self: end; }
.average-item-row .money-input-wrap { width: 100%; }
.average-item-row .money-input-wrap input { width: 100%; }
.average-item-row select,
.average-item-row > input { width: 100%; }

/* Ações auxiliares substituem os dois cards secundários. */
.average-utility-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: -2px 0 12px;
  padding: 8px 10px;
  border: 1px solid #dfe7ef;
  border-radius: 10px;
  background: #fbfdff;
}
.average-utility-toolbar__label {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}
.average-utility-toolbar__label > .material-symbols-rounded {
  color: #6d28d9;
  font-size: 18px;
  flex: 0 0 auto;
}
.average-utility-toolbar__label strong {
  display: block;
  color: #294a66;
  font-size: .67rem;
}
.average-utility-toolbar__label small {
  display: block;
  margin-top: 1px;
  color: #748697;
  font-size: .57rem;
  line-height: 1.3;
}
.average-utility-actions { display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; }
.average-utility-icon-btn {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid #d5e1ea;
  border-radius: 9px;
  background: #fff;
  box-shadow: 0 2px 7px rgba(33,62,92,.06);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.average-utility-icon-btn:hover { transform: translateY(-1px); box-shadow: 0 5px 12px rgba(33,62,92,.10); }
.average-utility-icon-btn:focus-visible { outline: 2px solid #60a5fa; outline-offset: 2px; }
.average-utility-icon-btn .material-symbols-rounded { font-size: 18px; }
.average-utility-icon-btn--green { color: #15805c; border-color: #bfe7d7; background: #f5fffa; }
.average-utility-icon-btn--amber { color: #ad6810; border-color: #edd8b8; background: #fffaf1; }

/* Modais auxiliares. */
.modal-icon--amber { background: #fff7e8; color: #b66a08; }
.average-utility-modal .modal-dialog { --bs-modal-width: 760px; }
#modalAverageAbonoMap .modal-dialog { --bs-modal-width: 1040px; }
.average-utility-modal .modal-body { padding: 16px; }
.average-modal-panel {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 14px;
  border: 1px solid #cfe6d8;
  border-radius: 12px;
  background: #f9fffb;
}
.average-modal-panel .segmented-control { max-width: 460px; }
.average-modal-panel .average-check-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.average-abono-map--modal {
  grid-column: auto;
  margin: 0;
  width: 100%;
}
.average-abono-map--modal .average-abono-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* Mantém duas colunas apenas quando há largura real para os controles. */
@media (max-width: 1080px) {
  .average-grid.average-grid--guided { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .average-utility-toolbar { align-items: flex-start; }
  .average-utility-toolbar__label small { display: none; }
  .average-item-row--value,
  .average-item-row--hours,
  .average-item-row--hours.is-output-rubric {
    grid-template-columns: minmax(0, 1fr) 28px;
    grid-template-areas:
      "code remove"
      "ref ref"
      "factor factor"
      "entry entry"
      "amount amount"
      "derived derived";
  }
  .average-item-row--value .average-item-ref-wrap,
  .average-item-row--value .average-item-amount-wrap,
  .average-item-row--hours .average-item-ref-wrap,
  .average-item-row--hours > .avg-hours-item-factor,
  .average-item-row--hours > .avg-hours-item-hours,
  .average-item-row--hours > .avg-hours-item-value-wrap { width: 100%; }
  .average-item-ref { width: 100% !important; min-width: 0 !important; max-width: none !important; }
  .average-modal-panel .average-check-grid,
  .average-abono-map--modal .average-abono-groups { grid-template-columns: 1fr; }
}

/* v4.8.12 — descontos/abatimentos e FGTS dentro de Resultado por competência */
.result-adjustment-panel{margin:14px 0 16px;border:1px solid #f0d9dc;border-radius:16px;background:#fffafb;overflow:hidden}
.result-adjustment-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:13px 15px;border-bottom:1px solid #f3e1e3;background:linear-gradient(135deg,#fff7f8,#fff)}
.result-adjustment-heading>div{display:flex;align-items:flex-start;gap:9px;min-width:0}.result-adjustment-heading .material-symbols-rounded{color:#b42333;font-size:20px}.result-adjustment-heading strong{display:block;color:#7f1d2d;font-size:.78rem}.result-adjustment-heading small{display:block;margin-top:3px;color:#7c6065;font-size:.64rem;line-height:1.45;max-width:900px}
.result-adjustment-badge{display:inline-flex;align-items:center;min-height:24px;padding:3px 9px;border-radius:999px;background:#feecef;color:#a61b31;border:1px solid #f6cbd2;font-size:.61rem;font-weight:850;white-space:nowrap}
.result-adjustment-column-head,.result-adjustment-row{display:grid;grid-template-columns:minmax(240px,1fr) minmax(145px,190px) minmax(145px,190px);gap:10px;align-items:center;padding:9px 14px}
.result-adjustment-column-head{background:#faf7f8;color:#7d6870;font-size:.61rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #efe4e6}.result-adjustment-column-head span:not(:first-child){text-align:center}
.result-adjustment-row{border-bottom:1px solid #f2e8ea}.result-adjustment-row:last-child{border-bottom:0}.result-adjustment-row.is-deduction{background:#fff}.result-adjustment-row.is-deduction:hover{background:#fff8f9}.result-adjustment-row.is-fgts{background:#fffaf0;border-top:1px solid #f1dfba}
.result-adjustment-rubric{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center;min-width:0}.result-adjustment-rubric strong{display:inline-flex;align-items:center;justify-content:center;min-width:38px;padding:3px 7px;border-radius:8px;background:#feecef;color:#a61b31;font-size:.68rem}.result-adjustment-rubric span{font-size:.69rem;font-weight:800;color:#5f3d43;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-adjustment-rubric small{grid-column:2;color:#97757b;font-size:.58rem;line-height:1.3}.result-adjustment-row.is-fgts .result-adjustment-rubric strong{background:#fff0c9;color:#8a5a00}.result-adjustment-row.is-fgts .result-adjustment-rubric span{color:#72551e}.result-adjustment-row.is-fgts .result-adjustment-rubric small{color:#917645}
.result-adjustment-row label{display:grid;gap:4px}.result-adjustment-row label>span{font-size:.57rem;font-weight:800;color:#8c7176;text-align:center}.result-adjustment-row .money-input-wrap{min-width:0}.result-adjustment-row input{color:#a61b31;font-weight:850}.result-adjustment-row.is-fgts input{color:#8a5a00}.result-adjustment-row input:disabled{background:#f4f4f5;color:#9ca3af}
.result-adjustment-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px 14px;background:#fbf8f9;border-top:1px solid #efe2e4}.result-adjustment-summary>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border:1px solid #eadfe1;border-radius:11px;background:#fff}.result-adjustment-summary span{font-size:.62rem;font-weight:750;color:#715a60}.result-adjustment-summary strong{font-size:.78rem}.result-adjustment-summary .is-deduction strong{color:#b42333}.result-adjustment-summary .is-liquid strong{color:#146c43}.result-adjustment-summary .is-fgts strong{color:#8a5a00}
@media(max-width:760px){.result-adjustment-column-head{display:none}.result-adjustment-row{grid-template-columns:1fr 1fr}.result-adjustment-rubric{grid-column:1/-1}.result-adjustment-summary{grid-template-columns:1fr}.result-adjustment-heading{align-items:center}.result-adjustment-heading small{font-size:.61rem}}

/* v4.8.13 — navegação interna das verbas e visão opcional de descontos/encargos */
.ledger-view-toggle{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 16px;padding:5px;border:1px solid #d9e5f0;border-radius:14px;background:#f7fafc}
.ledger-view-btn{display:flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:8px 12px;border:1px solid transparent;border-radius:10px;background:transparent;color:#526474;font-size:.69rem;font-weight:850;line-height:1.25;cursor:pointer;transition:.16s ease}
.ledger-view-btn .material-symbols-rounded{font-size:18px}.ledger-view-btn:hover{background:#fff;border-color:#dce7ef}.ledger-view-btn.is-active{background:#fff;border-color:#b9d5e8;color:#1c72a2;box-shadow:0 3px 10px rgba(27,88,126,.08)}
.ledger-combined[data-ledger-view="base"] .ledger-zone--variable{display:none}.ledger-combined[data-ledger-view="base"] .vacation-difference-box{display:none}
.ledger-combined[data-ledger-view="variable"] .ledger-zone--base{display:none}.ledger-combined[data-ledger-view="variable"] .ledger-zone--variable{display:block}
.ledger-combined[data-ledger-view="difference"] .ledger-zone--variable{display:none}.ledger-combined[data-ledger-view="difference"] .ledger-zone--base{display:block}.ledger-combined[data-ledger-view="difference"] .ledger-zone--base>:not(.vacation-difference-box){display:none}.ledger-combined[data-ledger-view="difference"] .vacation-difference-box{display:block;margin-top:0}
.difference-card-title strong .inline-info{vertical-align:-3px;margin-left:3px}
.result-scope-btn--adjustments{gap:5px}.result-scope-btn--adjustments .material-symbols-rounded{font-size:15px}.result-scope-btn--adjustments.is-active{border-color:#efb6bf;background:#fff5f6;color:#a61b31}
.result-adjustment-panel[hidden]{display:none!important}
@media(max-width:820px){.ledger-view-toggle{grid-template-columns:1fr}.ledger-view-btn{justify-content:flex-start}.result-scope-toggle{flex-wrap:wrap}}

/* v4.8.14 — famílias de médias em abas, layout mais limpo e sincronização visual 209/221 */
.average-family-toggle{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:12px 0;
  padding:5px;
  border:1px solid #ded7f6;
  border-radius:14px;
  background:#faf9ff;
}
.average-family-tab{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  min-height:44px;
  padding:9px 12px;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
  color:#617083;
  font-size:.69rem;
  font-weight:780;
  text-align:left;
  cursor:pointer;
  transition:.16s ease;
}
.average-family-tab>.material-symbols-rounded:first-child{font-size:19px;color:#7665c9}
.average-family-tab>.inline-info{font-size:16px;color:#8392a5}
.average-family-tab:hover{background:#fff;border-color:#e4ddfa}
.average-family-tab.is-active{background:#fff;border-color:#cfc3f4;color:#4d3ca2;box-shadow:0 3px 10px rgba(88,65,165,.08)}
.average-family-tab.is-active>.material-symbols-rounded:first-child{color:#5c43c4}
.average-grid.average-grid--guided[data-average-family-view]{grid-template-columns:minmax(0,1fr)}
.average-grid[data-average-family-view="value"] .average-card--hours{display:none}
.average-grid[data-average-family-view="hours"] .average-card--value{display:none}
.average-grid[data-average-family-view] .average-card{width:100%;max-width:none}
.average-setup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0 8px}
.average-setup-block{min-width:0;padding:10px;border:1px solid #e1e7ee;border-radius:12px;background:#fbfdff}
.average-card--value .average-setup-block{border-color:#e8e1f8;background:#fdfcff}
.average-card--hours .average-setup-block{border-color:#d8e8f7;background:#fbfdff}
.average-setup-block .average-question-title{margin:0 0 7px;display:flex;align-items:center;gap:4px}
.average-setup-block .average-period-scope{margin-top:8px}
.average-setup-block .average-period-scope>span{display:flex;align-items:center;gap:4px}
.average-items-head strong{display:inline-flex;align-items:center;gap:4px}
.average-items-total>span,.average-output>span{display:inline-flex;align-items:center;gap:4px}
/* [hidden] precisa vencer o grid autoral; caso contrário a 221 pode exibir o campo de horas antigo enquanto o valor automático é escrito no input monetário oculto. */
.average-item-row--hours > .avg-hours-item-factor[hidden],
.average-item-row--hours > .avg-hours-item-hours[hidden],
.average-item-row--hours > .avg-hours-item-value-wrap[hidden],
.average-setup-block [hidden]{display:none!important}
.header-title-group h2{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.header-title-group h2>.inline-info{font-size:17px}
.ledger-zone-head h3{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.ledger-zone-head h3>.inline-info{font-size:16px}
@media(max-width:820px){
  .average-family-toggle,.average-setup-grid{grid-template-columns:1fr}
  .average-family-tab{min-height:42px}
}

/* v4.8.15 — atestados por período, resultado em 4 botões e médias em colunas coloridas */
.absence-launch-guide{
  display:flex;align-items:flex-start;gap:10px;margin:10px 0 12px;padding:10px 12px;
  border:1px solid #cfe3f3;border-radius:12px;background:#f7fbff;color:#345a75
}
.absence-launch-guide>.material-symbols-rounded{font-size:20px;color:#1c72a2;margin-top:1px}
.absence-launch-guide strong{display:flex;align-items:center;gap:5px;font-size:.69rem;color:#174f73}
.absence-launch-guide small{display:block;margin-top:3px;font-size:.60rem;line-height:1.45;color:#607a8c}
.absence-editor{display:grid;gap:6px;margin-top:7px;padding:7px;border:1px dashed #c9deed;border-radius:10px;background:#f8fcff;min-width:190px}
.absence-editor[hidden]{display:none!important}
.absence-mode-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:3px;border-radius:8px;background:#edf5fb}
.absence-mode-btn{display:flex;align-items:center;justify-content:center;gap:4px;min-height:28px;padding:4px 7px;border:1px solid transparent;border-radius:6px;background:transparent;color:#61798a;font-size:.58rem;font-weight:850}
.absence-mode-btn .material-symbols-rounded{font-size:15px}
.absence-mode-btn.is-active{background:#fff;border-color:#afd2e9;color:#1c72a2;box-shadow:0 2px 6px rgba(28,114,162,.10)}
.absence-period-fields{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:5px;align-items:end}
.absence-period-fields[hidden]{display:none!important}
.absence-period-fields label{display:grid;gap:2px;min-width:0}
.absence-period-fields label>span{font-size:.52rem;font-weight:800;color:#668194}
.absence-period-fields input{width:100%;min-width:0;padding:5px 6px;border:1px solid #cbdce8;border-radius:7px;background:#fff;font-size:.58rem}
.absence-period-separator{padding-bottom:6px;color:#8094a3;font-size:.53rem;font-weight:800}
.absence-allocation-hint{font-size:.54rem;line-height:1.35;color:#6e8290}
.absence-allocation-hint.is-success{color:#0f7b58;font-weight:750}

.result-scope-toggle{
  width:min(100%,760px);display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:6px;padding:5px;
  border:1px solid #d9e5ef;border-radius:12px;background:#f5f8fb
}
.result-scope-btn{
  display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:38px;padding:7px 10px;
  border:1px solid transparent;border-radius:9px;background:transparent;color:#667b8d;font-size:.64rem;font-weight:850;
  transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease
}
.result-scope-btn .material-symbols-rounded{font-size:17px;flex:0 0 auto}
.result-scope-btn:hover:not(:disabled){background:#fff;transform:translateY(-1px)}
.result-scope-btn--all .material-symbols-rounded{color:#6d4fd1}
.result-scope-btn--current .material-symbols-rounded{color:#1c72a2}
.result-scope-btn--next .material-symbols-rounded{color:#13865e}
.result-scope-btn--adjustments .material-symbols-rounded{color:#b42333}
.result-scope-btn--all.is-active{background:#f5f0ff;border-color:#cbbcf7;color:#563ca9;box-shadow:0 4px 11px rgba(86,60,169,.12)}
.result-scope-btn--current.is-active{background:#eef8ff;border-color:#a9d4ee;color:#155f8b;box-shadow:0 4px 11px rgba(28,114,162,.12)}
.result-scope-btn--next.is-active{background:#effcf6;border-color:#a9dfca;color:#0f714f;box-shadow:0 4px 11px rgba(19,134,94,.12)}
.result-scope-btn--adjustments.is-active{background:#fff1f3;border-color:#efb4be;color:#a61b31;box-shadow:0 4px 11px rgba(180,35,51,.11)}
.result-scope-btn.is-active .material-symbols-rounded{color:currentColor}

.average-family-tab[data-average-family-tab="value"]>.material-symbols-rounded:first-child{color:#7048c8}
.average-family-tab[data-average-family-tab="hours"]>.material-symbols-rounded:first-child{color:#1878ae}
.average-family-tab[data-average-family-tab="value"].is-active{background:#f7f2ff;border-color:#cbb9f4;color:#5735a8;box-shadow:0 4px 12px rgba(87,53,168,.11)}
.average-family-tab[data-average-family-tab="hours"].is-active{background:#eff8ff;border-color:#a8d5ee;color:#155f8b;box-shadow:0 4px 12px rgba(21,95,139,.11)}
.average-card--value{border-color:#d8c7fa!important;background:linear-gradient(180deg,#fcf9ff,#fff)!important;box-shadow:inset 4px 0 0 #8b5cf6}
.average-card--hours{border-color:#b9dcf4!important;background:linear-gradient(180deg,#f7fbff,#fff)!important;box-shadow:inset 4px 0 0 #2492cf}
.average-card--value .average-items-panel{border-color:#decffa;background:#fdfaff}
.average-card--hours .average-items-panel{border-color:#c7e2f5;background:#f8fcff}
.average-card--value .average-source-help{border-color:#e0d2fa;background:#fbf8ff}
.average-card--hours .average-source-help{border-color:#cae4f5;background:#f7fbff}
.average-card--value .average-period-output{border-color:#dbc9fa;background:#f8f2ff}
.average-card--hours .average-period-output{border-color:#bfe0f5;background:#eef9ff}
.average-grid[data-average-family-view] .average-items-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.average-grid[data-average-family-view] .average-item-row{align-content:start;height:100%}

@media(max-width:1080px){
  .average-grid[data-average-family-view] .average-items-list{grid-template-columns:1fr}
}
@media(max-width:760px){
  .result-scope-toggle{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .result-scope-btn{justify-content:flex-start}
  .absence-period-fields{grid-template-columns:1fr}
  .absence-period-separator{display:none}
}
@media(max-width:480px){
  .result-scope-toggle{grid-template-columns:1fr}
}
.absence-allocation-hint.is-warning{color:#a25f00;font-weight:750}

/* v4.8.18 — mover entre abas por ação explícita e médias mais compactas */
.move-tab-hint{
  display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;max-width:245px;
  padding:6px 9px;border:1px solid #cfe1f3;border-radius:9px;background:#f5faff;
  color:#356784;font-size:.57rem;font-weight:800;line-height:1.25;text-align:right
}
.move-tab-hint .material-symbols-rounded{font-size:17px;color:#1c72a2}
.move-tab-hint--green{border-color:#cde9d5;background:#f5fcf7;color:#337050}
.move-tab-hint--green .material-symbols-rounded{color:#16804e}
.vacation-entry-table tr{cursor:default!important}
.move-row-btn{border:1px solid transparent}
.move-to-variable{color:#1c72a2}
.move-to-variable:hover{border-color:#b9d9ee;background:#eff8ff}
.move-to-base{color:#16804e}
.move-to-base:hover{border-color:#bfe4cd;background:#f0fbf4}

/* O expander de médias usa uma densidade menor sem sacrificar a leitura. */
.average-module-content{--avg-control-h:30px}
.average-module-content .average-guide--steps{margin-bottom:9px;padding:9px 11px}
.average-module-content .average-family-toggle{margin:8px 0;padding:4px;gap:6px}
.average-module-content .average-family-tab{min-height:38px;padding:6px 9px;font-size:.63rem}
.average-module-content .average-family-tab>.material-symbols-rounded:first-child{font-size:17px}
.average-module-content .average-utility-toolbar{margin:0 0 9px;padding:6px 8px}
.average-module-content .average-utility-icon-btn{width:30px;height:30px;border-radius:8px}
.average-module-content .average-grid--guided>.average-card{padding:11px 12px;gap:7px;border-radius:11px}
.average-module-content .average-card-head{align-items:center;padding-bottom:7px;border-bottom:1px solid rgba(119,137,156,.14)}
.average-module-content .average-card-head .material-symbols-rounded{font-size:20px}
.average-module-content .average-card-head strong{font-size:.76rem}
.average-module-content .average-card-head small{font-size:.58rem}
.average-module-content .average-code-row{margin:0;gap:4px}
.average-module-content .average-code-row span{padding:2px 6px;border-radius:999px;font-size:.54rem}
.average-module-content .average-setup-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:7px;margin:3px 0}
.average-module-content .average-setup-block{padding:7px 8px;border-radius:9px}
.average-module-content .average-question-title{margin-bottom:5px;font-size:.60rem}
.average-module-content .average-source-toggle{gap:3px;padding:2px}
.average-module-content .average-source-btn{min-height:var(--avg-control-h);padding:3px 5px;font-size:.56rem}
.average-module-content .average-source-btn .material-symbols-rounded{font-size:14px}
.average-module-content .average-period-scope{margin-top:6px}
.average-module-content .average-period-scope>span{font-size:.56rem}
.average-module-content .average-source-help{padding:7px 9px;font-size:.57rem;line-height:1.35}
.average-module-content .average-items-panel{padding:7px 8px;gap:6px;border-radius:10px}
.average-module-content .average-items-head strong{font-size:.64rem}
.average-module-content .average-items-head small{font-size:.53rem;line-height:1.35}
.average-module-content .mini-add-line{min-height:26px;padding:2px 7px;font-size:.56rem}
.average-module-content .average-items-list{gap:6px!important}
.average-module-content .average-item-row{padding:7px 8px;border-radius:9px;gap:5px}
.average-module-content .average-item-row--value{grid-template-columns:minmax(90px,.85fr) 62px minmax(105px,1fr) 26px}
.average-module-content .average-item-row--hours{grid-template-columns:minmax(90px,.9fr) 62px 68px minmax(100px,1fr) 26px}
.average-module-content .average-item-row--hours.is-output-rubric{grid-template-columns:minmax(90px,.9fr) 62px minmax(110px,1fr) 26px}
.average-module-content .average-item-row input,
.average-module-content .average-item-row select,
.average-module-content .average-card>.input-group input,
.average-module-content .average-card>.input-group select,
.average-module-content #avg-value-total-panel input,
.average-module-content #avg-hours-total-panel input,
.average-module-content #avg-hours-total-panel select{
  min-height:var(--avg-control-h)!important;height:var(--avg-control-h);padding:4px 7px!important;
  border-radius:7px!important;font-size:.62rem!important
}
.average-module-content .average-item-ref{width:62px!important;min-width:62px!important;max-width:62px!important}
.average-module-content .average-item-code-wrap input{max-width:82px}
.average-module-content .money-input-wrap{min-height:var(--avg-control-h)}
.average-module-content .money-prefix{font-size:.56rem}
.average-module-content .average-item-derived{font-size:.52rem;line-height:1.3}
.average-module-content .average-items-total,
.average-module-content .average-output,
.average-module-content .average-period-output{min-height:33px;padding:6px 9px;font-size:.60rem}
.average-module-content .average-card>.input-group{
  display:grid;grid-template-columns:minmax(185px,.8fr) minmax(220px,1.2fr);align-items:center;gap:8px;margin:0
}
.average-module-content .average-card>.input-group>select,
.average-module-content .average-card>.input-group>.money-input-wrap{width:min(100%,360px);justify-self:end}
.average-module-content #avg-value-total-panel .input-group{display:grid;grid-template-columns:minmax(170px,.8fr) minmax(210px,1.2fr);align-items:center;gap:8px}
.average-module-content #avg-value-total-panel .money-input-wrap{width:min(100%,320px);justify-self:end}
.average-module-content #avg-hours-total-panel{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:8px;border:1px solid #dce8f2;border-radius:10px;background:#fbfdff
}
.average-module-content #avg-hours-total-panel[hidden]{display:none!important}
.average-module-content #avg-hours-total-panel .input-group{margin:0}
.average-module-content #avg-hours-total-panel .average-formula-preview{grid-column:1/-1;margin:0}
.average-module-content .average-formula-preview,
.average-module-content .average-link-status{padding:6px 8px;font-size:.55rem;line-height:1.3}
@media(max-width:900px){
  .average-module-content .average-setup-grid{grid-template-columns:1fr}
  .average-module-content .average-card>.input-group,
  .average-module-content #avg-value-total-panel .input-group{grid-template-columns:1fr}
  .average-module-content .average-card>.input-group>select,
  .average-module-content .average-card>.input-group>.money-input-wrap,
  .average-module-content #avg-value-total-panel .money-input-wrap{width:100%;justify-self:stretch}
}
@media(max-width:720px){
  .move-tab-hint{display:none}
  .average-module-content #avg-hours-total-panel{grid-template-columns:1fr}
  .average-module-content .average-item-row--value,
  .average-module-content .average-item-row--hours,
  .average-module-content .average-item-row--hours.is-output-rubric{grid-template-columns:minmax(0,1fr) 26px}
  .average-module-content .average-item-ref{width:100%!important;min-width:0!important;max-width:none!important}
}

/* v4.8.18-r4 — orientação da verba 150 e validação didática das férias */
.absence-incidence-alert {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  margin-bottom: 12px;
  padding: 11px 12px;
  border: 1px solid #f0d59b;
  border-radius: 10px;
  background: #fffaf0;
  color: #725b29;
}
.absence-incidence-alert > .material-symbols-rounded {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: #fff1cc;
  color: #a56b00;
  font-size: 20px;
}
.absence-incidence-alert strong { display: block; margin-bottom: 3px; color: #6d5019; font-size: .76rem; }
.absence-incidence-alert p { margin: 0; font-size: .66rem; line-height: 1.5; }
.absence-incidence-grid > div { background: #fffdf8; border-color: #eadfca; }
.absence-incidence-explanation { border-left-color: #d99a1d; background: #fffcf5; }
.base-emphasis-row[data-kind="absence"] .toggle-cell .micro-switch { cursor: help; }
.base-emphasis-row[data-kind="absence"] .toggle-cell .micro-switch::after {
  content: 'regra especial';
  display: block;
  margin-top: 2px;
  color: #9a7428;
  font-size: .48rem;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
  text-transform: uppercase;
  letter-spacing: .02em;
}
#vacation-days-help { max-width: 170px; color: #6e7f91; line-height: 1.35; }

/* v4.8.18-r12 — refinamento visual das abas de médias; sem alteração do motor de férias. */
.average-family-tab {
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:10px;
  min-height:58px;
  padding:8px 10px;
}
.average-family-tab-icon {
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#f2edff;
  color:#6d45c7;
  border:1px solid #ded3f7;
}
.average-family-tab--hours .average-family-tab-icon {
  background:#edf7ff;
  color:#1c72a2;
  border-color:#cde4f5;
}
.average-family-tab-icon .material-symbols-rounded { font-size:19px; }
.average-family-tab-copy { min-width:0; }
.average-family-tab-copy strong,
.average-family-tab-copy small { display:block; }
.average-family-tab-copy strong { color:inherit; font-size:.68rem; line-height:1.25; }
.average-family-tab-copy small { margin-top:2px; color:#7a8897; font-size:.56rem; font-weight:650; }
.average-family-tab-meta { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:4px; max-width:155px; }
.average-family-badge {
  display:inline-flex;
  align-items:center;
  min-height:20px;
  padding:2px 6px;
  border:1px solid #ded6f3;
  border-radius:999px;
  background:#fff;
  color:#6753a8;
  font-size:.51rem;
  font-weight:900;
  letter-spacing:.02em;
  white-space:nowrap;
}
.average-family-tab--hours .average-family-badge { border-color:#cfe4f1; color:#236a91; }
.average-family-tab-meta .inline-info { font-size:16px; margin-left:2px; }
.average-source-btn {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
}
.average-source-toggle--compact .average-source-btn .material-symbols-rounded { font-size:14px; }
@media(max-width:820px){
  .average-family-tab-meta { max-width:none; }
}
@media(max-width:560px){
  .average-family-tab { grid-template-columns:auto minmax(0,1fr); }
  .average-family-tab-meta { grid-column:1 / -1; justify-content:flex-start; padding-left:46px; }
}

/* v4.8.18-r27 — médias de férias em dois cards compactos, preservando o motor validado. */
.average-legacy-ui { display: none !important; }
.average-compact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 8px;
}
.average-compact-card {
  min-width: 0;
  display: grid;
  gap: 8px;
  padding: 10px 11px;
  border: 1px solid #bfd9f1;
  border-radius: 11px;
  background: #fbfdff;
}
.average-compact-card--hours {
  border-color: #d8c7fb;
  background: #fdfcff;
}
.average-compact-card-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: start;
  gap: 7px;
  min-width: 0;
}
.average-compact-title-icon {
  margin-top: 1px;
  color: #0b9d68;
  font-size: 18px;
}
.average-compact-card--hours .average-compact-title-icon { color: #2a63ff; }
.average-compact-heading { min-width: 0; }
.average-compact-heading strong {
  display: block;
  color: #102f4e;
  font-size: .68rem;
  line-height: 1.25;
}
.average-compact-heading small {
  display: block;
  margin-top: 2px;
  color: #74879a;
  font-size: .52rem;
  line-height: 1.3;
}
.average-compact-card-head > .inline-info {
  margin-top: 0;
  color: #1c72a2;
  font-size: 16px;
}
.average-compact-entry {
  display: grid;
  grid-template-columns: 66px minmax(105px, .72fr) minmax(190px, 1.35fr);
  gap: 7px;
  align-items: center;
}
.average-compact-code-select {
  width: 66px;
  min-width: 66px;
  max-width: 66px;
  height: 30px;
  padding: 3px 20px 3px 7px;
  border: 0;
  border-radius: 999px;
  background: #f0f5ff;
  color: #215fc1;
  font-size: .58rem;
  font-weight: 900;
  cursor: pointer;
}
.average-compact-card--hours .average-compact-code-select {
  background: #f2f3ff;
  color: #405ac6;
}
.average-compact-entry-label {
  color: #34536f;
  font-size: .58rem;
  font-weight: 850;
  white-space: nowrap;
}
.average-compact-money {
  width: 100%;
  min-width: 0;
  min-height: 36px;
  border-radius: 8px;
  background: #fff;
}
.average-compact-money .money-prefix {
  min-width: 42px;
  font-size: .69rem;
}
.average-compact-money input {
  width: 100%;
  min-width: 0;
  min-height: 34px !important;
  height: 34px;
  padding: 4px 9px !important;
  font-size: .82rem !important;
  font-weight: 900;
  text-align: right;
}
.average-compact-results {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5px;
}
.average-compact-results > div {
  min-width: 0;
  min-height: 27px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  padding: 5px 7px;
  border: 1px solid #dbe5ed;
  border-radius: 7px;
  background: #f6f9fb;
}
.average-compact-results > div > span {
  color: #4d6980;
  font-size: .53rem;
  font-weight: 800;
}
.average-compact-results > div > strong {
  overflow: hidden;
  color: #8292a0;
  font-size: .55rem;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.average-compact-results > div.is-applicable { background: #fff; }
.average-compact-results > div.is-applicable > strong { color: #4e6d83; }
.average-compact-results > div.is-source > span { color: #235fb8; font-weight: 900; }
.average-compact-results--hours > div.is-source > span { color: #4458c4; }
.average-compact-status {
  padding: 6px 8px;
  border: 1px solid #f0d89e;
  border-radius: 7px;
  background: #fffaf0;
  color: #7e611f;
  font-size: .51rem;
  line-height: 1.35;
}
.average-compact-status[hidden] { display: none !important; }
.average-module-content > .average-utility-toolbar { margin-top: 3px; margin-bottom: 0; }

@media (max-width: 980px) {
  .average-compact-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .average-compact-entry { grid-template-columns: 64px minmax(0, 1fr); }
  .average-compact-money { grid-column: 1 / -1; }
  .average-compact-entry-label { justify-self: start; }
  .average-compact-results { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}


/* v4.8.18-r30 — limpeza visual do expander Verbas do empregado e ajuste do rótulo especial do atestado */
.ledger-zone-copy{min-width:0;display:grid;gap:3px}
.ledger-zone-head--compact{margin-bottom:12px}
.ledger-zone-summary{max-width:820px;color:#6d8192;font-size:.63rem;line-height:1.4}
.module-desc{max-width:1050px}
.absence-launch-copy{min-width:0;display:grid;gap:3px}
.absence-launch-guide{justify-content:flex-start}
.absence-launch-guide .inline-info,
.base-triad-guide .inline-info,
.dsr-guidance .inline-info{flex:0 0 auto;color:#2877a4;font-size:16px;vertical-align:middle}
.base-triad-guide .inline-info,
.dsr-guidance .inline-info{margin-left:auto}
.base-triad-guide{justify-content:space-between;gap:10px}
.base-triad-guide>span:nth-child(2),
.dsr-guidance>span:nth-child(2){min-width:0}
.dsr-guidance{justify-content:space-between;gap:10px}

.base-emphasis-row[data-kind="absence"] .toggle-cell{min-width:86px}
.base-emphasis-row[data-kind="absence"] .toggle-cell .micro-switch{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  width:auto;
  height:auto;
  gap:4px;
}
.base-emphasis-row[data-kind="absence"] .toggle-cell .micro-switch span{
  position:relative;
  inset:auto;
  display:block;
  width:31px;
  height:17px;
}
.base-emphasis-row[data-kind="absence"] .toggle-cell .micro-switch::after{
  content:'especial';
  display:block;
  margin-top:0;
  padding:2px 6px;
  border:1px solid #f0ddb0;
  border-radius:999px;
  background:#fff7e2;
  color:#9a7428;
  font-size:.44rem;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  text-transform:uppercase;
  letter-spacing:.03em;
}

@media (max-width: 760px){
  .ledger-zone-summary{max-width:none}
  .base-triad-guide,
  .dsr-guidance{align-items:flex-start}
}

/* Diagnóstico de inconsistência por valor — Resultado de Férias */
.result-value-audit-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  width: 100%;
}
.result-incidence-audit-btn {
  width: 27px;
  height: 27px;
  flex: 0 0 27px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 1px solid #c9dce9;
  border-radius: 8px;
  background: #f4f9fd;
  color: #1c72a2;
}
.result-incidence-audit-btn:hover,
.result-incidence-audit-btn:focus-visible {
  border-color: #8dbbd4;
  background: #eaf5fb;
  color: #0b6090;
  outline: none;
}
.result-incidence-audit-btn .material-symbols-rounded { font-size: 18px; }

.incidence-diagnostic-modal .modal-body {
  display: grid;
  gap: 12px;
  padding: 15px 17px 17px;
}
.incidence-diagnostic-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.incidence-diagnostic-summary > div {
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid #dbe6ed;
  border-radius: 10px;
  background: #f9fbfd;
}
.incidence-diagnostic-summary span {
  display: block;
  color: #758899;
  font-size: .58rem;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.incidence-diagnostic-summary strong {
  display: block;
  margin-top: 3px;
  color: #234b67;
  font-size: .75rem;
  line-height: 1.35;
}
.incidence-diagnostic-input-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 14px;
  padding: 12px;
  border: 1px solid #d6e4ed;
  border-radius: 11px;
  background: #fff;
}
.incidence-diagnostic-input-card label {
  display: block;
  color: #31566f;
  font-size: .72rem;
  font-weight: 850;
}
.incidence-diagnostic-input-card small {
  display: block;
  margin-top: 3px;
  color: #718596;
  font-size: .62rem;
  line-height: 1.45;
}
.incidence-diagnostic-input-action {
  display: flex;
  align-items: center;
  gap: 8px;
}
.incidence-diagnostic-input-action .money-input-wrap { width: 155px; }
.incidence-diagnostic-input-action .btn,
.incidence-diagnostic-modal .modal-footer .btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
.incidence-diagnostic-input-action .material-symbols-rounded,
.incidence-diagnostic-modal .modal-footer .material-symbols-rounded { font-size: 18px; }
.incidence-diagnostic-result {
  padding: 12px;
  border: 1px solid #d8e5ed;
  border-radius: 11px;
  background: #f9fbfd;
  color: #46647b;
}
.incidence-diagnostic-result.is-success { border-color: #bfe5cf; background: #f1fbf5; }
.incidence-diagnostic-result.is-warning { border-color: #f0d79d; background: #fff9e9; }
.incidence-diagnostic-result.is-info { border-color: #cbdfea; background: #f4f9fd; }
.incidence-diagnostic-result-head {
  display: flex;
  align-items: flex-start;
  gap: 9px;
}
.incidence-diagnostic-result-head > .material-symbols-rounded {
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: #eaf5fb;
  color: #1c72a2;
  font-size: 20px;
}
.incidence-diagnostic-result.is-success .incidence-diagnostic-result-head > .material-symbols-rounded { background: #e4f7ec; color: #16804e; }
.incidence-diagnostic-result.is-warning .incidence-diagnostic-result-head > .material-symbols-rounded { background: #fff0c9; color: #a86d13; }
.incidence-diagnostic-result-head strong { display: block; color: #234b67; font-size: .76rem; }
.incidence-diagnostic-result-head p { margin: 2px 0 0; color: #667e91; font-size: .64rem; line-height: 1.45; }
.incidence-diagnostic-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
  margin-top: 10px;
}
.incidence-diagnostic-kpis > div {
  padding: 8px 9px;
  border: 1px solid rgba(107, 137, 158, .22);
  border-radius: 8px;
  background: rgba(255,255,255,.72);
}
.incidence-diagnostic-kpis span { display: block; color: #7b8d9b; font-size: .55rem; font-weight: 800; text-transform: uppercase; }
.incidence-diagnostic-kpis strong { display: block; margin-top: 2px; color: #274e69; font-size: .71rem; }
.incidence-diagnostic-actions {
  display: grid;
  gap: 7px;
  margin-top: 10px;
}
.incidence-diagnostic-action {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 9px 10px;
  border: 1px solid #d7e5ed;
  border-radius: 9px;
  background: #fff;
}
.incidence-diagnostic-action strong { display: block; color: #244d69; font-size: .69rem; }
.incidence-diagnostic-action small { display: block; margin-top: 2px; color: #748797; font-size: .59rem; line-height: 1.4; }
.incidence-diagnostic-action-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 5px 7px;
  border-radius: 999px;
  background: #eaf8f1;
  color: #14764a;
  border: 1px solid #c8e8d5;
  font-size: .58rem;
  font-weight: 850;
  white-space: nowrap;
}
.incidence-diagnostic-action-badge.is-disable { background: #fff4e8; color: #9a5a14; border-color: #f0d3ad; }
.incidence-diagnostic-basis-note,
.incidence-diagnostic-alternatives {
  margin-top: 9px;
  padding-top: 9px;
  border-top: 1px dashed #cbd9e2;
  color: #60798c;
  font-size: .62rem;
  line-height: 1.5;
}
.incidence-diagnostic-alternatives { display: grid; gap: 4px; }
.base-emphasis-row.is-incidence-corrected > td { box-shadow: inset 0 1px 0 #bfe4cf, inset 0 -1px 0 #bfe4cf; background: #f5fcf7; }

@media (max-width: 820px) {
  .incidence-diagnostic-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .incidence-diagnostic-input-card { grid-template-columns: 1fr; }
  .incidence-diagnostic-input-action { align-items: stretch; }
  .incidence-diagnostic-input-action .money-input-wrap { width: min(180px, 45vw); }
  .incidence-diagnostic-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.result-inline-audit-icon { font-size: 16px; line-height: 1; vertical-align: -3px; color: #1c72a2; }

/* r41 — Recibo de férias: Proventos + Descontos + famílias tributárias */
.result-tax-config{padding:13px 14px;border-bottom:1px solid #efe4e6;background:#fff}
.result-tax-config-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:11px}
.result-tax-config-head>div{display:flex;align-items:flex-start;gap:9px;min-width:0}.result-tax-config-head .material-symbols-rounded{font-size:20px;color:#315b8a}.result-tax-config-head strong{display:block;font-size:.72rem;color:#243b53}.result-tax-config-head small{display:block;margin-top:2px;font-size:.6rem;line-height:1.4;color:#718096}
.result-tax-auto{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid #cbd9e8;border-radius:999px;background:#f6faff;font-size:.62rem;font-weight:850;color:#315b8a;white-space:nowrap}.result-tax-auto input{accent-color:#315b8a}
.result-tax-config-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.result-tax-config-grid>label{display:grid;gap:5px}.result-tax-config-grid>label>span{font-size:.59rem;font-weight:800;color:#5f6f82}.result-tax-config-grid>label>span small{font-weight:600;color:#8895a7}.result-tax-config-grid input{min-height:38px}
.result-tax-incidence-option{display:flex;align-items:flex-start;gap:8px;margin-top:10px;padding:8px 10px;border:1px dashed #d8e2ef;border-radius:10px;background:#f9fbfd}.result-tax-incidence-option input{margin-top:3px;accent-color:#315b8a}.result-tax-incidence-option strong{display:block;font-size:.62rem;color:#40556b}.result-tax-incidence-option small{display:block;margin-top:2px;font-size:.57rem;line-height:1.35;color:#7a8999}
.result-tax-status{display:flex;align-items:flex-start;gap:7px;margin-top:10px;padding:8px 10px;border-radius:10px;background:#eef8f3;color:#246746;font-size:.61rem;line-height:1.4}.result-tax-status .material-symbols-rounded{font-size:17px}.result-tax-status.is-warning{background:#fff8e8;color:#8a5a00}.result-tax-status.is-info{background:#eef5ff;color:#315b8a}
.result-family-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:12px 14px;border-bottom:1px solid #efe4e6;background:#fbfcfe}.result-family-grid>div{padding:9px 10px;border:1px solid #e6edf5;border-radius:11px;background:#fff;min-width:0}.result-family-grid span,.result-family-grid small{display:block}.result-family-grid span{font-size:.58rem;font-weight:800;color:#65758a}.result-family-grid strong{display:block;margin:2px 0;color:#223b55;font-size:.76rem}.result-family-grid small{font-size:.54rem;color:#8a97a8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-family-grid .is-tax{border-color:#f0d7db;background:#fffafb}.result-family-grid .is-tax strong{color:#a61b31}
.result-receipt-section{margin:12px 14px;border:1px solid #e8edf3;border-radius:12px;overflow:hidden;background:#fff}.result-receipt-section--discounts{border-color:#f0d9dc}.result-receipt-section-head{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:10px 12px;background:#f7fafc;border-bottom:1px solid #e8edf3}.result-receipt-section--discounts .result-receipt-section-head{background:#fff7f8;border-bottom-color:#f0d9dc}.result-receipt-section-head>.material-symbols-rounded{font-size:19px;color:#315b8a}.result-receipt-section--discounts .result-receipt-section-head>.material-symbols-rounded{color:#b42333}.result-receipt-section-head div strong{display:block;font-size:.69rem;color:#334e68}.result-receipt-section-head div small{display:block;font-size:.57rem;color:#7d8da0}.result-receipt-section-head>strong:last-child{font-size:.78rem;color:#1f4f78;white-space:nowrap}.result-receipt-section--discounts .result-receipt-section-head>strong:last-child{color:#b42333}
.result-receipt-provents{display:grid}.result-receipt-provent-row{display:grid;grid-template-columns:72px minmax(180px,1fr) minmax(110px,150px);gap:10px;align-items:center;padding:8px 12px;border-bottom:1px solid #edf1f5}.result-receipt-provent-row:last-child{border-bottom:0}.result-receipt-provent-row:nth-child(even){background:#fbfcfd}.result-receipt-provent-row .code{font-size:.63rem;font-weight:900;color:#315b8a}.result-receipt-provent-row .desc{min-width:0}.result-receipt-provent-row .desc strong{display:block;font-size:.63rem;color:#41556b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-receipt-provent-row .desc small{display:block;font-size:.54rem;color:#8a97a8}.result-receipt-provent-row .value{text-align:right;font-size:.67rem;font-weight:850;color:#1f4f78}
.result-adjustment-row.is-auto-tax{background:#fff5f7}.result-adjustment-row.is-auto-tax .result-adjustment-rubric small{color:#a45b67}.result-adjustment-row input[readonly]{background:#fff5f7;border-color:#f1ccd3;cursor:default}.result-adjustment-row input[readonly]:focus{box-shadow:none}
.result-adjustment-summary--receipt{grid-template-columns:repeat(4,minmax(0,1fr))}.result-adjustment-summary .is-provent strong{color:#1f4f78}
@media(max-width:920px){.result-tax-config-grid,.result-family-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.result-adjustment-summary--receipt{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.result-tax-config-head{align-items:flex-start;flex-direction:column}.result-tax-config-grid,.result-family-grid,.result-adjustment-summary--receipt{grid-template-columns:1fr}.result-receipt-provent-row{grid-template-columns:54px 1fr auto;gap:7px;padding:8px 10px}.result-receipt-provent-row .desc strong{white-space:normal}.result-receipt-section{margin:10px}.result-family-grid{padding:10px}}

/* r42 — memória de cálculo também nas tabelas de entrada */
.entry-memory-cell{min-width:220px;max-width:360px;color:#52657d;font-size:.68rem;line-height:1.38;white-space:normal}
.entry-memory-cell>span{display:inline}
.entry-memory-info{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-left:3px;padding:0;border:0;border-radius:50%;background:transparent;color:#2563eb;vertical-align:middle}
.entry-memory-info:hover,.entry-memory-info:focus-visible{background:#eaf2ff;color:#174ea6;outline:0}
.entry-memory-info .material-symbols-rounded{font-size:16px}
.vacation-entry-table th .memory-column-head{display:inline-flex;align-items:center;gap:4px}
