/* Admin table layout and row details */
:root {
    --jaarva-background: #0f172a;
    --jaarva-sidebar: #0b1120;
    --jaarva-surface: #1e293b;
    --jaarva-border: #334155;
    --jaarva-input: #0f172a;
    --jaarva-text: #f8fafc;
    --jaarva-muted: #94a3b8;
    --jaarva-primary: #2563eb;
    --jaarva-footer-height: 3rem;
}

@keyframes jaarva-notification-enter {
    from { opacity: 0; transform: translateY(.75rem) scale(.96); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes jaarva-notification-icon {
    0% { transform: scale(.6); }
    65% { transform: scale(1.15); }
    100% { transform: scale(1); }
}

@keyframes jaarva-notification-countdown {
    from { transform: scaleX(1); }
    to { transform: scaleX(0); }
}

.fi-no-notification:not(.fi-inline) { position: relative; }
.jaarva-notification-countdown { animation: jaarva-notification-countdown var(--jaarva-notification-duration) linear both; background-color: #60a5fa; bottom: 0; height: 3px; inset-inline: 0; pointer-events: none; position: absolute; transform-origin: left; }
.fi-no-notification.fi-status-success > .jaarva-notification-countdown { background-color: #4ade80; }
.fi-no-notification.fi-status-danger > .jaarva-notification-countdown { background-color: #f87171; }
.fi-no-notification.fi-status-warning > .jaarva-notification-countdown { background-color: #fbbf24; }

@media (prefers-reduced-motion: no-preference) {
    .fi-no-notification:not(.fi-inline) > div { animation: jaarva-notification-enter 420ms cubic-bezier(.16, 1, .3, 1) both; }
    .fi-no-notification:not(.fi-inline) .fi-no-notification-icon { animation: jaarva-notification-icon 480ms 100ms ease-out both; }
}

@media (prefers-reduced-motion: reduce) {
    .fi-no-notification:not(.fi-inline) { transition: none !important; }
    .jaarva-notification-countdown { animation-timing-function: steps(1, end); }
}

html.dark .fi-body { background-color: var(--jaarva-background); color: var(--jaarva-text); }
html.dark .fi-main-ctn,
html.dark .fi-main { background-color: transparent; }
html.dark .fi-topbar nav { background-color: var(--jaarva-sidebar); box-shadow: 0 1px 0 var(--jaarva-border); }
html.dark .fi-sidebar,
html.dark .fi-sidebar-header,
html.dark .fi-sidebar-nav { background-color: var(--jaarva-sidebar); }
html.dark .fi-sidebar-header,
html.dark .fi-topbar nav { border-bottom: 1px solid var(--jaarva-border); box-shadow: none; }
html.dark .fi-section,
html.dark .fi-ta-ctn { background-color: var(--jaarva-surface); border-color: var(--jaarva-border); }
html.dark .fi-section { box-shadow: 0 0 0 1px var(--jaarva-border), 0 12px 24px -16px rgb(0 0 0 / 65%); }
html.dark .fi-ta-ctn { box-shadow: 0 0 0 1px var(--jaarva-border); }
html.dark .fi-ta-header-ctn,
html.dark .fi-ta-content { background-color: transparent; }
html.dark .fi-input-wrp { background-color: var(--jaarva-input); box-shadow: 0 0 0 1px var(--jaarva-border); }
html.dark .fi-input-wrp:focus-within { box-shadow: 0 0 0 2px var(--jaarva-primary); }
html.dark select,
html.dark select option,
html.dark select optgroup { background-color: var(--jaarva-input) !important; color: var(--jaarva-text) !important; }
html.dark select { color-scheme: dark; }
html.dark select option:disabled { color: var(--jaarva-muted) !important; }
html.dark .note-financial-report-select:focus { box-shadow: none !important; outline: none !important; }
html.dark .fi-input-wrp:has(.note-financial-report-select:focus) { box-shadow: 0 0 0 1px var(--jaarva-border) !important; }
html:not(.dark) select,
html:not(.dark) select option,
html:not(.dark) select optgroup { background-color: #fff !important; color: #111827 !important; }
html:not(.dark) select { color-scheme: light; }
html:not(.dark) select option:disabled { color: #6b7280 !important; }
html:not(.dark) .note-financial-report-select:focus { box-shadow: none !important; outline: none !important; }
html:not(.dark) .fi-input-wrp:has(.note-financial-report-select:focus) { box-shadow: 0 0 0 1px #d1d5db !important; }
html.dark .fi-sidebar-item-button,
html.dark .fi-sidebar-group-label { color: var(--jaarva-muted); }
html.dark .fi-sidebar-item.fi-active > .fi-sidebar-item-button { background-color: rgb(37 99 235 / 15%); color: #60a5fa; }

.fi-layout { min-height: 100vh; min-height: 100dvh; width: 100%; }
.fi-main-ctn { box-sizing: border-box; min-width: 0; width: 100%; }
.fi-main { box-sizing: border-box; max-width: none; padding-bottom: calc(var(--jaarva-footer-height) + 1rem); width: 100%; }
.jaarva-footer { align-items: center; background-color: #fff; border-top: 1px solid #d1d5db; bottom: 0; box-sizing: border-box; color: #475569; display: flex; height: var(--jaarva-footer-height); inset-inline: 0; justify-content: center; padding: .25rem 1rem; position: fixed; text-align: center; z-index: 20; }
.jaarva-footer small { font-size: .75rem; line-height: 1rem; }
.jaarva-footer a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
html.dark .jaarva-footer { background-color: var(--jaarva-background); border-color: var(--jaarva-border); color: var(--jaarva-muted); }
@media (min-width: 1024px) {
    :root { --jaarva-footer-height: 2rem; }
    .fi-main-ctn .jaarva-footer { inset-inline-start: var(--collapsed-sidebar-width, 4.5rem); }
    .fi-main-ctn.fi-main-ctn-sidebar-open .jaarva-footer { inset-inline-start: var(--sidebar-width, 20rem); }
}
@media print {
    .jaarva-footer { display: none !important; }
    .fi-main { padding-bottom: 0; }
}
.fi-sidebar-header { box-sizing: border-box; gap: .75rem; width: 100%; }
.fi-sidebar-header > div:first-child { flex: 1 1 auto; min-width: 0; }
.fi-sidebar-header > div:first-child img { display: block; height: auto; max-width: 100%; }
.fi-sidebar-header > .fi-icon-btn { flex: 0 0 2.25rem; height: 2.25rem; width: 2.25rem; }
.fi-main:has(.fi-table-header-cell-consumption-limit) .fi-ta-table { table-layout: fixed !important; width: 100% !important; }
.fi-main:has(.fi-table-header-cell-consumption-limit) .fi-ta-table th:nth-child(1),
.fi-main:has(.fi-table-header-cell-consumption-limit) .fi-ta-table td:nth-child(1) { width: 4rem; }
.fi-main:has(.fi-table-header-cell-consumption-limit) .fi-ta-table th:nth-child(2),
.fi-main:has(.fi-table-header-cell-consumption-limit) .fi-ta-table td:nth-child(2) { width: 12rem; }
.fi-main:has(.fi-table-header-cell-consumption-limit) .fi-ta-table th:nth-child(3),
.fi-main:has(.fi-table-header-cell-consumption-limit) .fi-ta-table td:nth-child(3) { width: 12rem; }
.fi-main:has(.fi-table-header-cell-consumption-limit) .fi-ta-table th:nth-child(4),
.fi-main:has(.fi-table-header-cell-consumption-limit) .fi-ta-table td:nth-child(4),
.fi-main:has(.fi-table-header-cell-consumption-limit) .fi-ta-table th:nth-child(5),
.fi-main:has(.fi-table-header-cell-consumption-limit) .fi-ta-table td:nth-child(5),
.fi-main:has(.fi-table-header-cell-consumption-limit) .fi-ta-table th:nth-child(6),
.fi-main:has(.fi-table-header-cell-consumption-limit) .fi-ta-table td:nth-child(6) { width: 8rem; }
.fi-main:has(.fi-table-header-cell-consumption-limit) .fi-ta-table th:nth-child(7),
.fi-main:has(.fi-table-header-cell-consumption-limit) .fi-ta-table td:nth-child(7) { width: 5rem; }
.fi-main:has(.fi-table-header-cell-consumption-limit) .fi-ta-table td:nth-child(2) { overflow: hidden; text-overflow: ellipsis; }
.financial-employee-details :is(.financial-employee-note-edit, .financial-employee-note-detail) > td { background-color: #f9fafb; color: #111827; }
.financial-employee-details .financial-employee-note-edit :is(input, textarea) { background-color: #fff; border-color: #cbd5e1; color: #111827; color-scheme: light; }
html.dark .financial-employee-details :is(.financial-employee-note-edit, .financial-employee-note-detail) > td { background-color: var(--jaarva-surface); color: var(--jaarva-text); }
html.dark .financial-employee-details .financial-employee-note-edit label,
html.dark .financial-employee-details .financial-employee-note-detail dd { color: var(--jaarva-text); }
html.dark .financial-employee-details .financial-employee-note-edit p,
html.dark .financial-employee-details .financial-employee-note-detail dt { color: var(--jaarva-muted); }
html.dark .financial-employee-details .financial-employee-note-edit :is(input, textarea) { background-color: var(--jaarva-input); border-color: var(--jaarva-border); color: var(--jaarva-text); color-scheme: dark; }
.fi-ta-table { table-layout: fixed; }
.fi-ta:has(.employee-directory-code) .fi-ta-table { table-layout: fixed; min-width: 52rem; width: 100%; }
.fi-ta:has(.employee-directory-code) .fi-table-header-cell-photo-url { width: 4rem !important; }
.fi-ta:has(.employee-directory-code) .fi-ta-table th,
.fi-ta:has(.employee-directory-code) .fi-ta-table td { padding-inline: .625rem; }
.fi-ta:has(.employee-directory-code) .fi-ta-text { padding-inline: 0; }
.fi-ta:has(.employee-directory-code) .fi-ta-text,
.fi-ta:has(.employee-directory-code) .fi-ta-text * { min-width: 0; max-width: 100%; overflow-wrap: anywhere; white-space: normal; }
.fi-ta-actions-header-cell,
.fi-ta-actions-cell { width: 7.5rem; white-space: nowrap; }
.fi-ta-actions-cell:has(.fi-ta-actions > :nth-child(3)) { width: 10rem; }
.fi-ta-actions-cell:has(.fi-ta-actions > :nth-child(4)) { width: 13rem; }
.fi-table-cell-row-details { width: 3rem; }
.fi-row-details-toggle { align-items: center; border: 1px solid #475569; border-radius: .5rem; color: #cbd5e1; display: inline-flex; height: 2rem; justify-content: center; width: 2rem; }
.fi-row-details-toggle:hover { background: #334155; color: #fff; }
.fi-ta-row-details { width: 100%; }
.fi-ta-row-details-cell { background: #111827; box-sizing: border-box; padding: .75rem 1.5rem; width: 100%; }
.fi-ta-row-details-list { display: grid; gap: .5rem 2rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); }
.fi-ta-row-details-item { border-bottom: 1px solid #374151; min-width: 0; padding: .5rem 0; }
.fi-ta-row-details-label { color: #9ca3af; font-size: .75rem; font-weight: 600; }
.fi-ta-row-details-value { color: #f9fafb; font-size: .875rem; margin-top: .25rem; overflow-wrap: anywhere; white-space: pre-wrap; }
.fi-ta-actions { gap: .25rem !important; }
main:has(a[href$="/admin/employees/create"]) .fi-ta-filter-indicators { display: none !important; }
.financial-title-actions { gap: .5rem !important; }
.financial-title-actions .fi-icon-btn { margin: 0 !important; }
.fi-ta-actions .fi-ac-btn-action,
.fi-ta-actions .fi-ac-icon-btn-action { align-items: center !important; border: 1px solid transparent !important; border-radius: .5rem !important; box-sizing: border-box; display: inline-flex !important; flex: 0 0 2.25rem !important; height: 2.25rem !important; justify-content: center !important; margin: 0 !important; min-width: 2.25rem !important; padding: 0 !important; width: 2.25rem !important; }
.fi-ta-actions .fi-ac-icon-btn-action.fi-color-primary { background: rgb(37 99 235 / 15%); border-color: #2563eb; color: #60a5fa; }
.fi-ta-actions .fi-ac-icon-btn-action.fi-color-danger { background: rgb(220 38 38 / 15%); border-color: #dc2626; color: #f87171; }
.fi-ta-actions .fi-ac-icon-btn-action.fi-color-gray { background: rgb(75 85 99 / 15%); border-color: #4b5563; color: #d1d5db; }
.fi-ta-actions .fi-ac-btn-action.fi-color-warning,
.fi-ta-actions .fi-ac-icon-btn-action.fi-color-warning { background: #d97706 !important; border: 1px solid #b45309 !important; color: #fff !important; }
.fi-ta-actions .fi-ac-btn-action.fi-color-info,
.fi-ta-actions .fi-ac-icon-btn-action.fi-color-info { background: #0284c7 !important; border: 1px solid #0369a1 !important; color: #fff !important; }
.fi-sidebar-nav .fi-sidebar-nav-groups { row-gap: .75rem; }
.fi-page.note-launch-page > section { padding-top: .75rem; }
.fi-page.note-launch-page .note-launch-form { margin-block-start: 1.5rem !important; }
.fi-page.note-launch-page .note-launch-functionary-list { margin-block-start: 0; margin-inline: auto; max-width: 72rem; padding-block-start: .75rem; width: 100%; }
.fi-page.note-launch-page .fi-ta-ctn { background: transparent; box-shadow: none; }
.fi-page.note-launch-page .fi-ta-header-ctn { background: transparent; }
.fi-page.note-launch-page .note-launch-type-options { align-items: center; flex-wrap: nowrap; gap: .75rem; overflow-x: auto; padding-inline-start: .375rem; white-space: nowrap; }
.fi-page.note-launch-page .note-launch-type-options label { align-items: center; gap: .5rem; white-space: nowrap; }
.fi-page.note-launch-page .note-launch-back-link { padding-inline-start: 1rem; }
.fi-page.note-launch-page .note-print-frame { border: 0; height: 1px; left: -10000px; opacity: 0; pointer-events: none; position: fixed; top: 0; width: 1px; }

/* Campos do lançamento aparecem conforme o tipo marcado, sem requisição ao servidor. */
.note-launch-page .note-launch-form div:has(> [data-note-field]) { display: none; }
.note-launch-page .note-launch-form:has(.note-launch-type-options input[value="0"]:checked) div:has(> [data-note-field="weight"]),
.note-launch-page .note-launch-form:has(.note-launch-type-options input[value="5"]:checked) div:has(> [data-note-field="amount"]),
.note-launch-page .note-launch-form:has(.note-launch-type-options input[value="2"]:checked) div:has(> [data-note-field="installments"]),
.note-launch-page .note-launch-form:has(.note-launch-type-options input[value="3"]:checked) div:has(> [data-note-field="loan-installments"]),
.note-launch-page .note-launch-form:has(.note-launch-type-options input[value="3"]:checked) div:has(> [data-note-field="rate"]),
.note-launch-page .note-launch-form:has(.note-launch-type-options input:checked) div:has(> [data-note-field="launch"]) { display: block; }
.note-launch-page .note-launch-form:has(.note-launch-type-options input:is([value="1"], [value="2"], [value="3"], [value="4"], [value="6"]):checked) div:has(> [data-note-field="value"]),
.note-launch-page .note-launch-form:has(.note-launch-type-options input:is([value="1"], [value="2"], [value="3"], [value="4"], [value="6"]):checked) div:has(> [data-note-field="observation"]) { display: block; }

/* Legacy iframe shell */
.legacy-wrapper .fi-header,
.legacy-wrapper .fi-page-header,
.legacy-wrapper header.fi-header { display: none !important; }
.legacy-frame-modal-container { border-radius: .375rem; height: 82vh; overflow: auto; width: 100%; }
.legacy-frame-modal-iframe { border: 0; display: block; height: 100%; width: 100%; }

@media (max-width: 1300px) {
    .fi-main:has(.fi-table-header-cell-consumption-limit) .fi-ta-table th:nth-child(1),
    .fi-main:has(.fi-table-header-cell-consumption-limit) .fi-ta-table td:nth-child(1),
    .fi-main:has(.fi-table-header-cell-consumption-limit) .fi-ta-table th:nth-child(3),
    .fi-main:has(.fi-table-header-cell-consumption-limit) .fi-ta-table td:nth-child(3) { display: none; }
    .fi-main:has(.fi-table-header-cell-consumption-limit) .fi-ta-table th:nth-child(2),
    .fi-main:has(.fi-table-header-cell-consumption-limit) .fi-ta-table td:nth-child(2) { width: 10rem; }
    .fi-main:has(.fi-table-header-cell-consumption-limit) .fi-ta-table th:nth-child(4),
    .fi-main:has(.fi-table-header-cell-consumption-limit) .fi-ta-table td:nth-child(4),
    .fi-main:has(.fi-table-header-cell-consumption-limit) .fi-ta-table th:nth-child(5),
    .fi-main:has(.fi-table-header-cell-consumption-limit) .fi-ta-table td:nth-child(5),
    .fi-main:has(.fi-table-header-cell-consumption-limit) .fi-ta-table th:nth-child(6),
    .fi-main:has(.fi-table-header-cell-consumption-limit) .fi-ta-table td:nth-child(6) { width: 6.25rem; }
}

@media (max-width: 63.999rem) {
    .fi-ta-row-details-cell { padding-inline: 1rem; }
    .fi-ta-row-details-list { grid-template-columns: minmax(0, 1fr); }
}
