@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap");

:root {
	--fa-ink: #173a3b;
	--fa-ink-strong: #0c292a;
	--fa-ink-soft: #36595a;
	--fa-paper: #f5f2e9;
	--fa-paper-deep: #ece8dc;
	--fa-white: #fffef9;
	--fa-surface: #faf8f1;
	--fa-line: #d8d5c9;
	--fa-muted: #738080;
	--fa-mint: #9bc8b5;
	--fa-mint-dark: #4c8c78;
	--fa-coral: #d66e54;
	--fa-coral-soft: #f0c1b4;
	--fa-gold: #c99b52;
	--fa-shadow: 0 18px 50px rgba(22, 52, 52, 0.09);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.fa-body { margin: 0; min-width: 320px; min-height: 100vh; background: var(--fa-paper); color: var(--fa-ink); font-family: "DM Sans", sans-serif; letter-spacing: 0; }
body.fa-body::selection { background: var(--fa-mint); color: var(--fa-ink-strong); }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
svg { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }

.fa-toast { position: fixed; z-index: 100; top: 18px; left: 50%; transform: translateX(-50%); border: 1px solid; padding: 11px 18px; font-size: 13px; font-weight: 700; box-shadow: var(--fa-shadow); animation: fa-toast 4s both; }
.fa-toast--notice { background: #e5f3ec; border-color: #a9cdbd; color: #285b4b; }
.fa-toast--alert { background: #f9e4df; border-color: #e7afa1; color: #8e3e2d; }
@keyframes fa-toast { 0% { opacity: 0; transform: translate(-50%, -12px); } 10%, 85% { opacity: 1; transform: translate(-50%, 0); } 100% { opacity: 0; pointer-events: none; } }

.fa-kicker { margin: 0 0 7px; color: var(--fa-coral); font-family: "Barlow Condensed", sans-serif; font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; }
.fa-kicker--light { color: var(--fa-mint); }
.fa-muted { color: var(--fa-muted); line-height: 1.65; }
.fa-button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 46px; border: 0; padding: 0 20px; color: white; cursor: pointer; font-weight: 700; transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease; }
.fa-button:hover { transform: translateY(-1px); }
.fa-button:focus-visible, .fa-filter__trigger:focus-visible, .fa-logout:focus-visible, .fa-nav__item:focus-visible, input:focus-visible { outline: 3px solid rgba(214, 110, 84, 0.34); outline-offset: 2px; }
.fa-button--primary { width: 100%; background: var(--fa-coral); box-shadow: 0 12px 26px rgba(214, 110, 84, 0.25); }
.fa-button--primary:hover { background: #c95e46; box-shadow: 0 16px 32px rgba(214, 110, 84, 0.3); }

/* Login */
.fa-login { display: grid; min-height: 100vh; grid-template-columns: minmax(0, 1.12fr) minmax(390px, 0.88fr); }
.fa-login__story { position: relative; display: flex; min-height: 100vh; flex-direction: column; justify-content: space-between; overflow: hidden; background: var(--fa-ink-strong); padding: clamp(36px, 6vw, 84px); color: white; isolation: isolate; }
.fa-login__story::before { position: absolute; z-index: -1; inset: 0; content: ""; background-image: linear-gradient(rgba(155, 200, 181, 0.08) 1px, transparent 1px), linear-gradient(90deg, rgba(155, 200, 181, 0.08) 1px, transparent 1px); background-size: 52px 52px; mask-image: linear-gradient(120deg, black, transparent 78%); }
.fa-login__story::after { position: absolute; z-index: -1; right: -10vw; bottom: -22vw; width: 52vw; aspect-ratio: 1; border: 1px solid rgba(155, 200, 181, 0.2); content: ""; transform: rotate(18deg); box-shadow: 0 0 0 70px rgba(155, 200, 181, 0.025), 0 0 0 140px rgba(155, 200, 181, 0.02); }
.fa-login__brand { display: flex; align-items: flex-start; justify-content: space-between; gap: 30px; }
.fa-login__logo { width: min(330px, 56%); height: auto; filter: brightness(0) invert(1); }
.fa-login__headline { position: relative; z-index: 1; max-width: 780px; }
.fa-login__index { margin-bottom: 20px; color: var(--fa-mint); font-family: "Barlow Condensed", sans-serif; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; }
.fa-login__headline h1 { margin: 0; font-family: "Barlow Condensed", sans-serif; font-size: clamp(68px, 9vw, 136px); font-weight: 600; letter-spacing: 0; line-height: 0.82; text-transform: uppercase; }
.fa-login__headline > p:last-child { max-width: 600px; margin: 34px 0 0; color: #c9d9d5; font-size: clamp(15px, 1.3vw, 19px); line-height: 1.7; }
.fa-login__signal { display: flex; height: 62px; align-items: end; gap: 9px; }
.fa-login__signal span { width: 5px; background: var(--fa-coral); animation: fa-signal 2.4s ease-in-out infinite alternate; }
.fa-login__signal span:nth-child(1) { height: 25%; }.fa-login__signal span:nth-child(2) { height: 68%; animation-delay: -1.1s; }.fa-login__signal span:nth-child(3) { height: 42%; animation-delay: -.4s; }.fa-login__signal span:nth-child(4) { height: 90%; animation-delay: -1.5s; }.fa-login__signal span:nth-child(5) { height: 58%; animation-delay: -.8s; }.fa-login__signal span:nth-child(6) { height: 33%; animation-delay: -1.9s; }
@keyframes fa-signal { to { height: 15%; opacity: .55; } }
.fa-login__access { display: grid; place-items: center; min-height: 100vh; padding: 42px; background: var(--fa-paper); }
.fa-login__form-wrap { width: min(100%, 430px); animation: fa-rise 650ms ease both; }
.fa-login__badge { display: block; width: 62px; height: 62px; margin-bottom: 28px; border-radius: 15px; box-shadow: 0 12px 30px rgba(12, 41, 42, 0.22); }
.fa-login__form-wrap h2 { margin: 0 0 10px; color: var(--fa-ink-strong); font-family: "DM Sans", sans-serif; font-size: 35px; font-weight: 700; letter-spacing: -0.025em; line-height: 1.06; text-transform: none; }
.fa-form { display: grid; gap: 21px; margin-top: 38px; }
.fa-field { display: grid; gap: 8px; color: var(--fa-ink-soft); font-size: 12px; font-weight: 700; text-transform: uppercase; }
.fa-input-wrap { display: flex; min-height: 54px; align-items: center; gap: 12px; border: 1px solid var(--fa-line); background: var(--fa-white); padding: 0 15px; transition: border 180ms ease, box-shadow 180ms ease; }
.fa-input-wrap:focus-within { border-color: var(--fa-mint-dark); box-shadow: 0 0 0 3px rgba(76, 140, 120, 0.1); }
.fa-input-wrap svg { width: 19px; color: var(--fa-muted); }
.fa-input-wrap input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--fa-ink); font-size: 15px; text-transform: none; }
.fa-login__security { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 28px 0 0; color: var(--fa-muted); font-size: 11px; }
.fa-login__security svg { width: 17px; color: var(--fa-mint-dark); }

/* Login hero — planeta nas mãos (Originkit Hero 24 adaptado) */
.fa-login__story--hero { background: var(--fa-ink-strong); }
.fa-login__story--hero .fa-hero-bg { position: absolute; z-index: -1; inset: 0; background: radial-gradient(125% 88% at 50% 4%, #10393b 0%, rgba(12, 41, 42, 0) 58%), var(--fa-bg-hero, none) center / cover no-repeat; }
.fa-hero-stage { position: relative; z-index: 1; display: grid; flex: 1 1 auto; place-items: center; width: 100%; min-height: clamp(240px, 34vh, 420px); margin: 10px 0 2px; }
.fa-hero-glow { position: absolute; z-index: 1; width: min(64%, 360px); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(155, 200, 181, 0.32), rgba(155, 200, 181, 0) 66%); filter: blur(4px); transform: translateY(-9%); animation: fa-hero-pulse 6s ease-in-out infinite; }
.fa-hero-globe { position: relative; z-index: 2; width: min(68%, 380px); height: auto; aspect-ratio: 1; transform: translateY(-9%); }
.fa-hero-hands { position: absolute; z-index: 3; bottom: -6%; left: 50%; width: min(116%, 660px); transform: translateX(-50%); pointer-events: none; filter: drop-shadow(0 0 30px rgba(76, 140, 120, 0.28)); -webkit-mask-image: linear-gradient(to bottom, black 58%, transparent 97%); mask-image: linear-gradient(to bottom, black 58%, transparent 97%); }
@keyframes fa-hero-pulse { 0%, 100% { opacity: 0.7; transform: translateY(-9%) scale(1); } 50% { opacity: 1; transform: translateY(-9%) scale(1.06); } }
@media (prefers-reduced-motion: reduce) { .fa-hero-glow { animation: none; } }

/* Shell */
.fa-shell { min-height: 100vh; background-color: var(--fa-paper); background-image: linear-gradient(rgba(23, 58, 59, .025) 1px, transparent 1px); background-size: 100% 48px; }
.fa-sidebar { position: fixed; z-index: 20; inset: 0 auto 0 0; display: flex; width: 248px; flex-direction: column; border-right: 1px solid rgba(255,255,255,.08); background: var(--fa-ink-strong); padding: 34px 24px 25px; color: white; }
.fa-sidebar::after { position: absolute; right: 0; bottom: 12%; width: 58%; height: 190px; background: repeating-linear-gradient(90deg, transparent 0 17px, rgba(155,200,181,.07) 17px 18px); content: ""; pointer-events: none; transform: skewY(-16deg); }
.fa-sidebar__logo { width: 185px; filter: brightness(0) invert(1); }
.fa-sidebar__edition { margin: 14px 0 52px; color: #9ab0aa; font-family: "Barlow Condensed", sans-serif; font-size: 11px; letter-spacing: .15em; }
.fa-sidebar__edition span { color: var(--fa-coral-soft); }
.fa-nav { display: grid; gap: 8px; }
.fa-nav__item { display: flex; min-height: 46px; align-items: center; gap: 13px; border-left: 3px solid transparent; padding: 0 12px; color: #a9bbb7; font-size: 13px; font-weight: 600; text-decoration: none; transition: 180ms ease; }
.fa-nav__item svg { width: 19px; }
.fa-nav__item:hover { color: white; background: rgba(255,255,255,.04); }
.fa-nav__item--active { border-left-color: var(--fa-coral); background: rgba(155,200,181,.09); color: white; }
.fa-nav__group { display: grid; gap: 8px; }
.fa-nav__group__summary { list-style: none; cursor: pointer; }
.fa-nav__group__summary::-webkit-details-marker { display: none; }
.fa-nav__group__label { flex: 1; }
.fa-nav__group__summary svg.fa-nav__group__caret { width: 15px; margin-left: 6px; transition: transform 180ms ease; }
.fa-nav__group[open] .fa-nav__group__caret { transform: rotate(180deg); }
.fa-nav__subnav { display: grid; gap: 8px; }
.fa-nav__subnav .fa-nav__item--sub { padding-left: 24px; font-size: 12px; }
.fa-reports-intro { margin-bottom: 22px; }
.fa-reports-intro h2 { margin: 4px 0 6px; }
.fa-reports-intro p { color: var(--fa-muted); max-width: 640px; }
.fa-reports-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 18px; }
.fa-report-card { display: flex; flex-direction: column; gap: 14px; border: 1px solid rgba(255,255,255,.09); border-radius: 14px; background: rgba(255,255,255,.02); padding: 20px; color: inherit; text-decoration: none; transition: 180ms ease; }
.fa-report-card:hover { border-color: rgba(155,200,181,.4); background: rgba(155,200,181,.06); transform: translateY(-2px); }
.fa-report-card:focus-visible { outline: 3px solid rgba(214, 110, 84, 0.34); outline-offset: 2px; }
.fa-report-card__head { display: flex; gap: 13px; align-items: flex-start; }
.fa-report-card__icon { display: grid; place-items: center; width: 42px; height: 42px; flex: none; border-radius: 11px; background: rgba(155,200,181,.12); color: var(--fa-coral); }
.fa-report-card__icon svg { width: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.fa-report-card__head h3 { margin: 0 0 4px; font-size: 15px; }
.fa-report-card__head p { margin: 0; color: var(--fa-muted); font-size: 12px; line-height: 1.5; }
.fa-report-card__body { margin-top: auto; border-top: 1px dashed rgba(255,255,255,.12); padding-top: 13px; }
.fa-report-card__empty { margin: 0 0 3px; font-weight: 600; color: #a9bbb7; font-size: 13px; }
.fa-report-card__body small { color: var(--fa-muted); font-size: 11px; }
.fa-sidebar__status { position: relative; z-index: 1; display: flex; align-items: flex-start; gap: 11px; margin-top: auto; border-top: 1px solid rgba(255,255,255,.09); padding-top: 22px; }
.fa-sidebar__status strong, .fa-sidebar__status small { display: block; }.fa-sidebar__status strong { font-size: 12px; }.fa-sidebar__status small { margin-top: 4px; color: #8fa39f; font-size: 10px; }
.fa-status-dot { display: inline-block; width: 7px; height: 7px; flex: 0 0 auto; border-radius: 50%; background: #68c699; box-shadow: 0 0 0 4px rgba(104,198,153,.12); }
.fa-status-dot--waiting { background: var(--fa-gold); box-shadow: 0 0 0 4px rgba(201,155,82,.13); }
.fa-logout { position: relative; z-index: 1; display: flex; align-items: center; gap: 10px; border: 0; background: none; padding: 25px 0 0; color: #839894; cursor: pointer; font-size: 12px; }
.fa-logout:hover { color: white; }.fa-logout svg { width: 18px; }
.fa-main { min-width: 0; margin-left: 248px; padding-bottom: 70px; }
.fa-topbar { display: flex; min-height: 112px; align-items: center; justify-content: space-between; gap: 30px; border-bottom: 1px solid var(--fa-line); padding: 22px clamp(24px, 4vw, 58px); background: rgba(245,242,233,.92); backdrop-filter: blur(12px); }
.fa-topbar h1 { margin: 0; font-family: "Barlow Condensed", sans-serif; font-size: clamp(35px, 3.6vw, 52px); font-weight: 600; letter-spacing: 0; line-height: .95; text-transform: uppercase; }
.fa-topbar__meta { display: flex; align-items: center; gap: 12px; font-size: 12px; }.fa-topbar__meta strong, .fa-topbar__meta small { display: block; }.fa-topbar__meta small { color: var(--fa-muted); }
.fa-avatar { display: grid; width: 40px; height: 40px; place-items: center; background: var(--fa-ink); color: white; font-family: "Barlow Condensed", sans-serif; font-weight: 700; }
.fa-pill { display: inline-flex; align-items: center; gap: 9px; border: 1px solid var(--fa-line); background: var(--fa-white); padding: 9px 13px; color: var(--fa-ink-soft); font-size: 11px; font-weight: 600; }
.fa-pill--waiting { border-color: #dac79f; background: #f4ead5; color: #795b28; }

.fa-filterbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--fa-line); padding: 20px clamp(24px, 4vw, 58px); background: var(--fa-paper-deep); }
.fa-filters { display: flex; min-width: 0; align-items: center; gap: 10px; }
.fa-select-filter { position: relative; display: block; width: 230px; min-height: 50px; border: 1px solid var(--fa-line); background: var(--fa-white); padding: 7px 36px 7px 13px; }
.fa-select-filter > span { display: block; margin-bottom: 1px; color: var(--fa-muted); font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.fa-select-filter__control { display: block; width: 100%; border: 0; outline: 0; appearance: none; background: transparent; color: var(--fa-ink); cursor: pointer; font-size: 12px; font-weight: 700; }
.fa-select-filter > svg { position: absolute; top: 17px; right: 13px; width: 16px; pointer-events: none; }
.fa-select-filter:focus-within { border-color: var(--fa-mint-dark); box-shadow: 0 0 0 3px rgba(76, 140, 120, .09); }
.fa-control--disabled { background: #e7e3d8; color: #929b99; }
.fa-control--disabled strong { display: block; overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.fa-filterbar--disabled { min-height: 91px; }
.fa-filter { position: relative; }
.fa-filter__trigger { display: flex; width: 230px; min-height: 50px; align-items: center; justify-content: space-between; gap: 16px; border: 1px solid var(--fa-line); background: var(--fa-white); padding: 8px 13px; color: var(--fa-ink); cursor: pointer; text-align: left; }
.fa-filter--disabled .fa-filter__trigger { background: #e7e3d8; color: #929b99; cursor: not-allowed; pointer-events: none; }
.fa-filter--open > .fa-filter__trigger { border-color: var(--fa-mint-dark); }
.fa-filter--open > .fa-filter__trigger svg { transform: rotate(180deg); }
.fa-filter__trigger span { min-width: 0; }.fa-filter__trigger small, .fa-filter__trigger strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.fa-filter__trigger small { margin-bottom: 2px; color: var(--fa-muted); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }.fa-filter__trigger strong { font-size: 12px; }.fa-filter__trigger svg { width: 16px; flex: 0 0 auto; }
.fa-filter__menu { position: absolute; z-index: 30; top: calc(100% + 7px); left: 0; display: none; width: 230px; max-height: 300px; overflow-y: auto; border: 1px solid var(--fa-line); background: var(--fa-white); box-shadow: var(--fa-shadow); padding: 8px; }
.fa-filter--open > .fa-filter__menu { display: block; }
.fa-filter__menu label { display: flex; align-items: center; gap: 9px; padding: 8px; color: var(--fa-ink-soft); cursor: pointer; font-size: 12px; }.fa-filter__menu label:hover { background: var(--fa-paper); }.fa-filter__menu input { accent-color: var(--fa-coral); }
.fa-filter__join { display: grid; width: 24px; place-items: center; color: var(--fa-coral); }
.fa-filter__join svg { width: 18px; }
.fa-button--filter { min-height: 50px; background: var(--fa-ink); font-size: 12px; }.fa-button--filter svg { width: 17px; }
.fa-clear { color: var(--fa-coral); font-size: 11px; font-weight: 700; text-decoration: none; }
.fa-filterbar__count { flex: 0 0 auto; border-left: 1px solid var(--fa-line); padding-left: 22px; text-align: right; }.fa-filterbar__count strong, .fa-filterbar__count span { display: block; }.fa-filterbar__count strong { font-family: "Barlow Condensed", sans-serif; font-size: 24px; line-height: 1; }.fa-filterbar__count span { margin-top: 4px; color: var(--fa-muted); font-size: 9px; text-transform: uppercase; }

/* Lotações tributárias */
.fa-reference-tabs { display: flex; gap: 1px; overflow-x: auto; border-bottom: 1px solid var(--fa-line); background: var(--fa-line); padding: 18px clamp(24px, 4vw, 58px) 0; }
.fa-reference-tabs__item { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; border: 1px solid transparent; border-bottom: 0; background: var(--fa-paper-deep); padding: 0 18px; color: var(--fa-ink-soft); font-size: 12px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.fa-reference-tabs__item:hover { background: var(--fa-white); color: var(--fa-ink); }.fa-reference-tabs__item--active { border-color: var(--fa-line); background: var(--fa-white); color: var(--fa-ink-strong); }
.fa-reference-intro { display: flex; align-items: center; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--fa-line); padding: 28px clamp(24px, 4vw, 58px); background: var(--fa-white); }.fa-reference-intro h2 { margin: 0; font-family: "Barlow Condensed", sans-serif; font-size: 30px; font-weight: 600; text-transform: uppercase; }.fa-reference-intro p { margin: 7px 0 0; color: var(--fa-muted); font-size: 12px; }.fa-reference-intro code { color: var(--fa-ink-soft); font-size: 11px; }
.fa-reference-sections { display: grid; gap: 18px; padding: 28px clamp(24px, 4vw, 58px) 58px; }.fa-reference-section { overflow: hidden; border: 1px solid var(--fa-line); background: var(--fa-white); box-shadow: 0 7px 22px rgba(22, 52, 52, .04); }.fa-reference-section > h2 { margin: 0; border-bottom: 1px solid var(--fa-line); padding: 15px 18px; color: var(--fa-ink-strong); font-family: "Barlow Condensed", sans-serif; font-size: 23px; font-weight: 600; line-height: 1; text-transform: uppercase; }.fa-reference-section > p { margin: 0; padding: 6px 18px; color: var(--fa-ink-soft); font-size: 12px; line-height: 1.55; }.fa-reference-section > p:first-of-type { padding-top: 16px; }.fa-reference-section > p:last-of-type { padding-bottom: 16px; }.fa-reference-section .fa-table-wrap { margin: 14px 18px 18px; border: 1px solid var(--fa-line); }.fa-reference-table { min-width: 680px; }.fa-reference-table td { white-space: normal; vertical-align: top; }.fa-reference-table td:last-child, .fa-reference-table th:last-child { text-align: right; }
.fa-reference-table--official { min-width: 0; table-layout: fixed; }.fa-reference-table--official th, .fa-reference-table--official td { padding-inline: 10px; }.fa-reference-table--official th:nth-child(1), .fa-reference-table--official td:nth-child(1) { width: 13%; }.fa-reference-table--official th:nth-child(2), .fa-reference-table--official td:nth-child(2), .fa-reference-table--official th:nth-child(3), .fa-reference-table--official td:nth-child(3) { width: 15%; }.fa-reference-table--official th:nth-child(4), .fa-reference-table--official td:nth-child(4) { width: 22%; }.fa-reference-table--official th:nth-child(5), .fa-reference-table--official td:nth-child(5) { width: 18%; }.fa-reference-table--official th:nth-child(6), .fa-reference-table--official td:nth-child(6) { width: 17%; font-weight: 700; }

.fa-reconciliation-filterbar { border-bottom: 1px solid var(--fa-line); background: var(--fa-paper-deep); padding: 22px clamp(24px, 4vw, 58px); }
.fa-reconciliation-filters { display: grid; grid-template-columns: minmax(0, 1fr) 48px minmax(0, 1fr); align-items: stretch; gap: 12px; }
.fa-source-filter { min-width: 0; margin: 0; border: 1px solid var(--fa-line); background: var(--fa-white); padding: 15px; }
.fa-source-filter legend { display: grid; width: calc(100% + 2px); grid-template-columns: 30px auto 1fr; align-items: center; gap: 8px; margin: 0 -1px; padding: 0 0 12px; color: var(--fa-ink); }
.fa-source-filter legend > span { display: grid; width: 26px; height: 26px; place-items: center; background: var(--fa-ink); color: white; font-family: "Barlow Condensed", sans-serif; font-size: 13px; font-weight: 700; }
.fa-source-filter--receivable legend > span { background: var(--fa-mint-dark); }
.fa-source-filter legend > strong { font-family: "Barlow Condensed", sans-serif; font-size: 20px; font-weight: 600; text-transform: uppercase; }
.fa-source-filter legend > small { color: var(--fa-muted); font-size: 9px; text-align: right; text-transform: uppercase; }
.fa-source-filter__controls { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.fa-period-select { position: relative; min-width: 0; }
.fa-period-select__trigger, .fa-value-select { display: flex; width: 100%; min-height: 56px; align-items: center; justify-content: space-between; gap: 8px; border: 1px solid var(--fa-line); background: #faf8f1; padding: 8px 10px; color: var(--fa-ink); text-align: left; }
.fa-period-select__trigger { cursor: pointer; }
.fa-period-select__trigger > span { min-width: 0; }
.fa-period-select__trigger small, .fa-period-select__trigger strong, .fa-value-select > span { display: block; }
.fa-period-select__trigger small, .fa-value-select > span { margin-bottom: 3px; color: var(--fa-muted); font-size: 8px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.fa-period-select__trigger strong { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.fa-period-select__trigger > svg, .fa-value-select > svg { width: 14px; flex: 0 0 auto; }
.fa-period-select--open .fa-period-select__trigger { border-color: var(--fa-mint-dark); box-shadow: 0 0 0 3px rgba(76, 140, 120, .09); }
.fa-period-select--open .fa-period-select__trigger > svg { transform: rotate(180deg); }
.fa-period-select__menu { position: absolute; z-index: 45; top: calc(100% + 7px); left: 0; display: none; width: min(350px, calc(100vw - 40px)); max-height: 430px; overflow-y: auto; border: 1px solid var(--fa-line); background: var(--fa-white); box-shadow: var(--fa-shadow); padding: 10px; }
.fa-source-filter--receivable .fa-period-select__menu { right: 0; left: auto; }
.fa-period-select--open .fa-period-select__menu { display: block; }
.fa-period-select__menu > header { display: flex; position: sticky; z-index: 1; top: -10px; align-items: center; justify-content: space-between; gap: 10px; border-bottom: 1px solid var(--fa-line); background: var(--fa-white); padding: 7px 4px 11px; }
.fa-period-select__menu > header span { color: var(--fa-muted); font-size: 8px; font-weight: 700; text-transform: uppercase; }
.fa-period-select__menu > header button { border: 0; background: none; padding: 4px; color: var(--fa-coral); cursor: pointer; font-size: 9px; font-weight: 700; }
.fa-period-group { border-bottom: 1px solid #ebe8de; padding: 10px 4px; }
.fa-period-group:last-child { border-bottom: 0; }
.fa-period-group label { cursor: pointer; }
.fa-period-group input { accent-color: var(--fa-coral); }
.fa-period-group__year { display: flex; align-items: center; gap: 7px; color: var(--fa-ink); font-size: 10px; font-weight: 700; }
.fa-period-group__months { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; margin-top: 8px; }
.fa-period-group__months label { display: flex; align-items: center; gap: 4px; background: var(--fa-paper); padding: 6px 5px; color: var(--fa-muted); font-size: 8px; text-transform: uppercase; }
.fa-period-group__months label:has(input:checked) { background: #e3eee9; color: var(--fa-mint-dark); font-weight: 700; }
.fa-value-select { position: relative; display: block; }
.fa-value-select select { width: 100%; border: 0; outline: 0; appearance: none; background: transparent; color: var(--fa-ink); cursor: pointer; font-size: 10px; font-weight: 700; }
.fa-value-select > svg { position: absolute; top: 21px; right: 10px; pointer-events: none; }
.fa-value-select:focus-within { border-color: var(--fa-mint-dark); box-shadow: 0 0 0 3px rgba(76, 140, 120, .09); }
.fa-crossing-mark { display: grid; align-content: center; justify-items: center; color: var(--fa-coral); }
.fa-crossing-mark span { font-family: "Barlow Condensed", sans-serif; font-size: 34px; line-height: 1; }
.fa-crossing-mark small { margin-top: 4px; color: var(--fa-muted); font-size: 7px; font-weight: 700; text-transform: uppercase; }
.fa-reconciliation-filters__footer { grid-column: 1 / -1; display: flex; min-height: 54px; align-items: center; justify-content: flex-end; gap: 18px; border-top: 1px solid var(--fa-line); margin-top: 2px; padding-top: 12px; }
.fa-reconciliation-filters__footer > div { margin-right: auto; }
.fa-reconciliation-filters__footer > div strong, .fa-reconciliation-filters__footer > div span { display: block; }
.fa-reconciliation-filters__footer > div strong { font-family: "Barlow Condensed", sans-serif; font-size: 24px; line-height: 1; }
.fa-reconciliation-filters__footer > div span { margin-top: 3px; color: var(--fa-muted); font-size: 8px; text-transform: uppercase; }

turbo-frame#fiscal-results { display: block; }
.fa-loader[hidden] { display: none; }
.fa-loader { position: fixed; z-index: 200; inset: 0; display: grid; place-items: center; background: rgba(12, 41, 42, .9); color: white; backdrop-filter: blur(8px); }
.fa-loader::before { position: absolute; inset: 0; background-image: linear-gradient(rgba(155, 200, 181, .07) 1px, transparent 1px), linear-gradient(90deg, rgba(155, 200, 181, .07) 1px, transparent 1px); background-size: 48px 48px; content: ""; mask-image: radial-gradient(circle at center, black, transparent 68%); }
.fa-loader__content { position: relative; display: grid; justify-items: center; }
.fa-loader__ring { position: relative; width: 144px; height: 144px; }
.fa-loader__ring svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.fa-loader__track, .fa-loader__progress { fill: none; stroke-width: 5; }
.fa-loader__track { stroke: rgba(255, 255, 255, .12); }
.fa-loader__progress { stroke: var(--fa-coral); stroke-dasharray: 301.6; stroke-dashoffset: 301.6; transition: stroke-dashoffset 180ms ease; }
.fa-loader__ring strong { position: absolute; inset: 0; display: grid; place-items: center; font-family: "Barlow Condensed", sans-serif; font-size: 34px; font-weight: 600; }
.fa-loader__content p { margin: 18px 0 0; color: #c5d7d2; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.fa-kpis, .fa-grid, .fa-documents { margin-inline: clamp(24px, 4vw, 58px); }
.fa-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin-top: 32px; border: 1px solid var(--fa-line); background: var(--fa-line); box-shadow: var(--fa-shadow); animation: fa-rise 500ms ease both; }
.fa-kpi { position: relative; min-width: 0; background: var(--fa-white); padding: 23px 21px 20px; overflow: hidden; }
.fa-detail-hit { position: absolute; z-index: 3; inset: 0; overflow: hidden; color: transparent; font-size: 0; }
.fa-detail-hit::after { position: absolute; top: 14px; right: 14px; content: "↗"; color: var(--fa-muted); font-size: 14px; line-height: 1; transition: color 180ms ease, transform 180ms ease; }
.fa-detail-hit:hover::after { color: var(--fa-coral); transform: translate(2px, -2px); }
.fa-kpi:has(.fa-detail-hit), .fa-status-card:has(.fa-detail-hit), .fa-expense-result:has(.fa-detail-hit) { cursor: pointer; transition: background 180ms ease, transform 180ms ease; }
.fa-kpi:has(.fa-detail-hit):hover, .fa-status-card:has(.fa-detail-hit):hover, .fa-expense-result:has(.fa-detail-hit):hover { background: #faf8f1; transform: translateY(-2px); }
.fa-detail-hit:focus-visible { outline: 3px solid rgba(214, 110, 84, .55); outline-offset: -4px; }
.fa-metric-link { color: inherit; text-decoration-color: var(--fa-coral); text-decoration-thickness: 1px; text-underline-offset: 4px; }.fa-metric-link:hover { color: var(--fa-coral); }
.fa-kpi::after { position: absolute; inset: auto 0 0; height: 3px; content: ""; background: var(--accent); transform-origin: left; animation: fa-width 850ms 200ms ease both; }
.fa-kpi--billed { --accent: var(--fa-ink); }.fa-kpi--retained { --accent: var(--fa-coral); }.fa-kpi--net { --accent: var(--fa-mint-dark); }.fa-kpi--quality { --accent: var(--fa-gold); }
.fa-kpi__icon { display: grid; width: 31px; height: 31px; place-items: center; background: color-mix(in srgb, var(--accent) 12%, white); color: var(--accent); }.fa-kpi__icon svg { width: 17px; }
.fa-kpi p { margin: 18px 0 7px; color: var(--fa-muted); font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }.fa-kpi > strong { display: block; overflow-wrap: anywhere; font-family: "Barlow Condensed", sans-serif; font-size: clamp(24px, 2.25vw, 37px); font-weight: 600; letter-spacing: 0; line-height: 1; }.fa-kpi small { display: block; margin-top: 10px; color: var(--fa-muted); font-size: 10px; line-height: 1.4; }
.fa-grid { display: grid; gap: 20px; margin-top: 20px; }.fa-grid--charts { grid-template-columns: minmax(0, 1.45fr) minmax(320px, .85fr); }.fa-grid--clients { grid-template-columns: minmax(0, 1.55fr) minmax(270px, .45fr); }
.fa-panel { min-width: 0; border: 1px solid var(--fa-line); background: var(--fa-white); box-shadow: 0 12px 34px rgba(22,52,52,.055); padding: 24px; animation: fa-rise 550ms ease both; }
.fa-panel__header { display: flex; min-height: 46px; align-items: flex-start; justify-content: space-between; gap: 20px; }.fa-panel__header h2, .fa-audit-note h2, .fa-empty h2 { margin: 0; font-family: "Barlow Condensed", sans-serif; font-size: 28px; font-weight: 600; letter-spacing: 0; line-height: 1; text-transform: uppercase; }.fa-panel__tag { border: 1px solid var(--fa-line); padding: 6px 9px; color: var(--fa-muted); font-size: 9px; font-weight: 700; }
.fa-legend { display: flex; gap: 17px; color: var(--fa-muted); font-size: 9px; }.fa-legend span::before { display: inline-block; width: 7px; height: 7px; margin-right: 6px; content: ""; }.fa-legend--billed::before { background: var(--fa-ink); }.fa-legend--retained::before { background: var(--fa-coral); }.fa-legend--paid::before { background: var(--fa-mint-dark); }
.fa-chart { display: grid; height: 270px; grid-auto-columns: 1fr; grid-auto-flow: column; gap: clamp(6px, 1.2vw, 16px); align-items: end; border-bottom: 1px solid var(--fa-line); margin-top: 30px; background: repeating-linear-gradient(to top, transparent 0 62px, rgba(23,58,59,.07) 62px 63px); }
.fa-chart__column { display: grid; height: 100%; grid-template-rows: 1fr 25px; align-items: end; }.fa-chart__bars { display: flex; height: 100%; align-items: end; justify-content: center; gap: 3px; }.fa-chart__bar { display: block; min-height: 2px; width: min(18px, 38%); transform-origin: bottom; animation: fa-height 800ms ease both; }.fa-chart__bar--billed { background: var(--fa-ink); }.fa-chart__bar--retained { background: var(--fa-coral); }.fa-chart__bar--paid { background: var(--fa-mint-dark); }.fa-chart__column small { align-self: center; color: var(--fa-muted); font-size: 9px; text-align: center; text-transform: uppercase; }
.fa-tax-list { display: grid; gap: 18px; margin-top: 29px; }.fa-tax { display: grid; grid-template-columns: 24px 58px minmax(50px, 1fr) 72px; align-items: center; gap: 10px; font-size: 11px; }.fa-tax__rank { color: #a1aaa8; font-family: "Barlow Condensed", sans-serif; font-size: 15px; }.fa-tax > strong { font-size: 11px; }.fa-tax > span:last-child { color: var(--fa-ink-soft); font-family: "Barlow Condensed", sans-serif; font-size: 14px; font-weight: 600; text-align: right; }.fa-tax__track { height: 8px; background: var(--fa-paper-deep); }.fa-tax__track span { display: block; height: 100%; background: var(--fa-coral); animation: fa-width 800ms ease both; }
.fa-tax--detail { color: inherit; text-decoration: none; }.fa-tax--detail:hover > strong { color: var(--fa-coral); }
.fa-ranking { display: grid; margin-top: 25px; }.fa-ranking__row { display: grid; grid-template-columns: 28px minmax(180px, 1.2fr) minmax(90px, 1fr) 84px; align-items: center; gap: 13px; border-top: 1px solid #e7e4da; padding: 13px 0; }.fa-ranking__number { color: var(--fa-coral); font-family: "Barlow Condensed", sans-serif; font-size: 19px; }.fa-ranking__client { min-width: 0; }.fa-ranking__client strong, .fa-ranking__client small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.fa-ranking__client strong { font-size: 11px; }.fa-ranking__client small { margin-top: 4px; color: var(--fa-muted); font-size: 9px; }.fa-ranking__track { height: 5px; background: var(--fa-paper-deep); }.fa-ranking__track span { display: block; height: 100%; background: var(--fa-mint-dark); animation: fa-width 800ms ease both; }.fa-ranking__value { font-family: "Barlow Condensed", sans-serif; font-size: 14px; text-align: right; }
.fa-ranking__row--detail { color: inherit; text-decoration: none; }.fa-ranking__row--detail:hover { background: var(--fa-paper); }.fa-ranking__row--detail:hover .fa-ranking__client strong { color: var(--fa-coral); }
.fa-tax--category { grid-template-columns: 24px 88px minmax(50px, 1fr) 72px; }
.fa-contingency-note { background: #fff8f4; }.fa-contingency-note h2 { margin: 0; font-family: "Barlow Condensed", sans-serif; font-size: 28px; font-weight: 600; text-transform: uppercase; }.fa-contingency-list { display: grid; margin-top: 27px; }.fa-contingency-list > div { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid #eadbd4; padding: 13px 0; }.fa-contingency-list span { min-width: 0; }.fa-contingency-list strong, .fa-contingency-list small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.fa-contingency-list strong { font-size: 10px; }.fa-contingency-list small { margin-top: 4px; color: var(--fa-muted); font-size: 9px; }.fa-contingency-list b { flex: 0 0 auto; color: var(--fa-coral); font-family: "Barlow Condensed", sans-serif; font-size: 15px; }
.fa-contingency-link { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid #eadbd4; padding: 13px 0; color: inherit; text-decoration: none; }.fa-contingency-link:hover strong { color: var(--fa-coral); }
.fa-audit-note { background: var(--fa-ink); color: white; }.fa-audit-note .fa-kicker { color: var(--fa-mint); }.fa-audit-score { display: flex; align-items: center; gap: 16px; margin: 38px 0; }.fa-audit-score > strong { display: grid; width: 86px; height: 86px; place-items: center; border: 1px solid rgba(255,255,255,.18); background: var(--fa-mint); color: var(--fa-ink-strong); font-family: "Barlow Condensed", sans-serif; font-size: 58px; line-height: 1; }.fa-audit-score span { color: #b9c9c5; font-size: 11px; line-height: 1.6; text-transform: uppercase; }.fa-audit-note dl { margin: 0; }.fa-audit-note dl div { display: flex; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.12); padding: 13px 0; }.fa-audit-note dt { color: #a6b9b5; font-size: 10px; }.fa-audit-note dd { margin: 0; font-family: "Barlow Condensed", sans-serif; font-size: 16px; font-weight: 600; }
.fa-grid--reconciliation { grid-template-columns: repeat(2, minmax(0, 1fr)); }.fa-grid--status { grid-template-columns: minmax(0, 1.35fr) minmax(270px, .65fr); }
.fa-comparison { position: relative; overflow: hidden; }.fa-comparison::after { position: absolute; top: 0; right: 0; width: 5px; height: 100%; background: var(--fa-coral); content: ""; }.fa-comparison--net::after { background: var(--fa-mint-dark); }.fa-comparison__values { display: grid; grid-template-columns: minmax(0, 1fr) 30px minmax(0, 1fr); align-items: center; gap: 10px; margin: 34px 0 27px; }.fa-comparison__values div { min-width: 0; }.fa-comparison__values span { display: block; color: var(--fa-muted); font-size: 9px; font-weight: 700; text-transform: uppercase; }.fa-comparison__values strong { display: block; margin-top: 8px; overflow-wrap: anywhere; font-family: "Barlow Condensed", sans-serif; font-size: clamp(22px, 2vw, 32px); font-weight: 600; }.fa-comparison__arrow { color: var(--fa-coral) !important; font-size: 22px !important; text-align: center; }.fa-comparison footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid var(--fa-line); padding-top: 17px; }.fa-comparison footer span { color: var(--fa-muted); font-size: 9px; text-transform: uppercase; }.fa-comparison footer strong { color: var(--fa-coral); font-family: "Barlow Condensed", sans-serif; font-size: 20px; }
.fa-selection-summary dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 26px 0 0; border-top: 1px solid var(--fa-line); }.fa-selection-summary dl > div { min-width: 0; border-right: 1px solid var(--fa-line); border-bottom: 1px solid var(--fa-line); padding: 14px 12px; }.fa-selection-summary dl > div:nth-child(even) { border-right: 0; }.fa-selection-summary dt { color: var(--fa-muted); font-size: 8px; font-weight: 700; text-transform: uppercase; }.fa-selection-summary dd { margin: 7px 0 0; overflow: hidden; color: var(--fa-ink); font-size: 10px; font-weight: 700; line-height: 1.4; text-overflow: ellipsis; }
.fa-status-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 28px; border-block: 1px solid var(--fa-line); }.fa-status-card { position: relative; min-width: 0; border-right: 1px solid var(--fa-line); padding: 23px 16px; }.fa-status-card:last-child { border-right: 0; }.fa-status-card > span { display: block; width: 22px; height: 4px; margin-bottom: 17px; background: var(--status-color); }.fa-status-card > strong { display: block; font-family: "Barlow Condensed", sans-serif; font-size: 31px; font-weight: 600; }.fa-status-card > small { display: block; min-height: 30px; margin-top: 6px; color: var(--fa-muted); font-size: 9px; line-height: 1.5; text-transform: uppercase; }.fa-status-card--matched { --status-color: var(--fa-mint-dark); }.fa-status-card--divergent { --status-color: var(--fa-coral); }.fa-status-card--missing_receivable { --status-color: var(--fa-gold); }.fa-status-card--missing_billing { --status-color: var(--fa-ink); }
.fa-documents { margin-top: 20px; }.fa-search { display: flex; width: min(260px, 40vw); min-height: 38px; align-items: center; gap: 8px; border-bottom: 1px solid var(--fa-line); }.fa-search svg { width: 16px; color: var(--fa-muted); }.fa-search input { min-width: 0; flex: 1; border: 0; outline: 0; background: transparent; color: var(--fa-ink); font-size: 11px; }
.fa-table-wrap { overflow-x: auto; margin: 18px -24px -24px; }.fa-table { width: 100%; min-width: 950px; border-collapse: collapse; font-size: 11px; }.fa-table th { border-block: 1px solid var(--fa-line); background: var(--fa-paper-deep); padding: 11px 15px; color: var(--fa-muted); font-size: 9px; letter-spacing: .07em; text-align: left; text-transform: uppercase; }.fa-table td { border-bottom: 1px solid #ebe8de; padding: 13px 15px; white-space: nowrap; }.fa-table tbody tr { transition: background 160ms ease; }.fa-table tbody tr:hover { background: #f8f6ef; }.fa-table td:nth-child(3) { max-width: 320px; white-space: normal; }.fa-table td:nth-child(3) strong, .fa-table td:nth-child(3) small { display: block; }.fa-table td:nth-child(3) small { margin-top: 3px; color: var(--fa-muted); font-size: 9px; }.fa-table__retained { color: var(--fa-coral); }.fa-competence { background: #e3eee9; padding: 4px 7px; color: var(--fa-mint-dark); font-weight: 700; }.fa-source { display: grid; width: 25px; height: 25px; place-items: center; background: var(--fa-ink); color: white; font-family: "Barlow Condensed", sans-serif; font-weight: 700; }
.fa-table--receivables { min-width: 1280px; }.fa-table--receivables td:nth-child(3) { max-width: none; white-space: nowrap; }.fa-table--receivables td:nth-child(4) { min-width: 260px; max-width: 340px; white-space: normal; }.fa-table--receivables td:nth-child(1) strong, .fa-table--receivables td:nth-child(1) small, .fa-table--receivables td:nth-child(4) strong, .fa-table--receivables td:nth-child(4) small { display: block; }.fa-table--receivables td small { margin-top: 3px; color: var(--fa-muted); font-size: 9px; }
.fa-table--reconciliation { min-width: 1500px; }.fa-table--reconciliation td:nth-child(3) { min-width: 260px; max-width: 340px; white-space: normal; }.fa-table--reconciliation td:nth-child(2) strong, .fa-table--reconciliation td:nth-child(2) small { display: block; }.fa-table--reconciliation td:nth-child(2) small { margin-top: 3px; color: var(--fa-muted); font-size: 9px; }.fa-money-difference { color: var(--fa-coral); font-weight: 700; }
.fa-table-wrap--paginated { margin-bottom: 0; }.fa-pagination { display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid var(--fa-line); margin: 0 -24px -24px; padding: 15px 24px; color: var(--fa-muted); font-size: 9px; }.fa-pagination > span strong { color: var(--fa-ink); }.fa-pagination > div { display: flex; align-items: center; gap: 13px; }.fa-pagination a { border: 1px solid var(--fa-line); padding: 7px 10px; color: var(--fa-ink); font-weight: 700; text-decoration: none; }.fa-pagination a:hover { border-color: var(--fa-mint-dark); }.fa-pagination small { color: var(--fa-muted); }
.fa-status { display: inline-flex; align-items: center; min-height: 25px; border-left: 3px solid var(--status-color); background: color-mix(in srgb, var(--status-color) 10%, white); padding: 4px 8px; color: var(--fa-ink-soft); font-size: 8px; font-weight: 700; text-transform: uppercase; }.fa-status--matched { --status-color: var(--fa-mint-dark); }.fa-status--pending, .fa-status--missing_receivable { --status-color: var(--fa-gold); }.fa-status--divergent { --status-color: var(--fa-coral); }.fa-status--missing_billing { --status-color: var(--fa-ink); }
.fa-back-link { display: inline-flex; align-items: center; gap: 8px; color: var(--fa-ink); font-size: 11px; font-weight: 700; text-decoration: none; text-transform: uppercase; }.fa-back-link svg { width: 18px; }.fa-back-link:hover { color: var(--fa-coral); }
.fa-calculation-hero { display: flex; min-height: 190px; align-items: flex-end; justify-content: space-between; gap: 40px; border-bottom: 1px solid var(--fa-line); padding: 36px clamp(24px, 4vw, 58px); background: var(--fa-ink); color: white; }
.fa-calculation-hero h2 { margin: 0; font-family: "Barlow Condensed", sans-serif; font-size: clamp(34px, 4vw, 58px); font-weight: 600; letter-spacing: 0; line-height: 1; text-transform: uppercase; }.fa-calculation-hero p:last-child { max-width: 680px; margin: 14px 0 0; color: #b9c9c5; font-size: 12px; }.fa-calculation-hero > strong { color: var(--fa-mint); font-family: "Barlow Condensed", sans-serif; font-size: clamp(36px, 5vw, 66px); font-weight: 600; line-height: .9; text-align: right; }
.fa-calculation-components { display: grid; grid-auto-columns: minmax(220px, 1fr); grid-auto-flow: column; gap: 1px; margin: 0 clamp(24px, 4vw, 58px); border: 1px solid var(--fa-line); border-top: 0; background: var(--fa-line); }.fa-calculation-components article { background: var(--fa-white); padding: 18px 21px; }.fa-calculation-components span { display: block; color: var(--fa-muted); font-size: 9px; font-weight: 700; text-transform: uppercase; }.fa-calculation-components strong { display: block; margin-top: 7px; font-family: "Barlow Condensed", sans-serif; font-size: 27px; font-weight: 600; }
.fa-calculation-table { margin-top: 24px; }.fa-table--calculation { min-width: 1300px; }.fa-table--calculation td strong, .fa-table--calculation td small { display: block; }.fa-table--calculation td small { margin-top: 3px; color: var(--fa-muted); font-size: 9px; }
.fa-column-totals { margin-top: 18px; border: 2px solid var(--fa-ink); background: var(--fa-white); }.fa-column-totals > header { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; padding: 14px 16px; background: var(--fa-ink); color: white; }.fa-column-totals h3 { margin: 2px 0 0; font-family: "Barlow Condensed", sans-serif; font-size: 24px; font-weight: 600; text-transform: uppercase; }.fa-column-totals > header small { color: var(--fa-mint); font-size: 9px; font-weight: 700; text-transform: uppercase; }.fa-column-totals dl { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0; }.fa-column-totals dl > div { min-width: 0; border-right: 1px solid var(--fa-line); padding: 14px 16px; }.fa-column-totals dl > div:last-child { border-right: 0; }.fa-column-totals dt { color: var(--fa-muted); font-size: 8px; font-weight: 700; text-transform: uppercase; }.fa-column-totals dd { margin: 6px 0 0; overflow-wrap: anywhere; font-family: "Barlow Condensed", sans-serif; font-size: clamp(18px, 2vw, 25px); font-weight: 600; }.fa-column-total--negative dd { color: var(--fa-coral); }
.fa-table-total th, .fa-table-total td { border-top: 2px solid var(--fa-ink); border-bottom: 0; background: #e7eee9; color: var(--fa-ink); }.fa-table-total th { padding-block: 14px; }.fa-table-total th strong, .fa-table-total th small { display: block; }.fa-table-total th strong { font-size: 10px; }.fa-table-total th small { margin-top: 4px; color: var(--fa-muted); font-size: 8px; font-weight: 500; letter-spacing: 0; text-transform: none; }.fa-table-total td strong { font-family: "Barlow Condensed", sans-serif; font-size: 16px; }.fa-table-total td small { color: var(--fa-muted); font-size: 8px; text-transform: uppercase; }
.fa-source-detail { min-width: 180px; }.fa-source-detail + .fa-source-detail { margin-top: 8px; }.fa-source-detail summary { cursor: pointer; list-style-position: outside; }.fa-source-detail summary::marker { color: var(--fa-coral); }.fa-source-detail summary strong { display: inline; font-size: 9px; }.fa-source-detail summary small { margin-left: 13px; }.fa-source-detail > div { max-height: 180px; overflow-y: auto; border-left: 2px solid var(--fa-line); margin: 7px 0 0 3px; padding: 2px 0 2px 9px; }.fa-source-detail > div small { padding: 3px 0; color: var(--fa-ink-soft); }
.fa-source-link, .fa-source-reference { color: inherit; text-decoration: none; }.fa-source-link:hover strong, .fa-source-reference:hover { color: var(--fa-coral); }.fa-source-reference { display: block; padding: 4px 0; color: var(--fa-ink-soft); font-size: 9px; }
.fa-filters--payroll { flex: 1; }.fa-filters--payroll .fa-period-select, .fa-filters--payroll .fa-select-filter { width: min(260px, 24%); }.fa-status-select__options { display: grid; gap: 5px; padding: 4px; }.fa-status-select__options label { display: grid; grid-template-columns: 20px 1fr; align-items: center; gap: 8px; border: 1px solid transparent; padding: 8px; cursor: pointer; }.fa-status-select__options label:hover { border-color: var(--fa-line); background: var(--fa-paper); }.fa-status-select__options input { width: 16px; height: 16px; accent-color: var(--fa-mint-dark); }.fa-status-select__options span { font-size: 10px; font-weight: 700; }
.fa-grid--payroll-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }.fa-payroll-result, .fa-payroll-coverage { border-top: 4px solid var(--fa-mint-dark); }.fa-payroll-result--negative { border-top-color: var(--fa-coral); }.fa-payroll-result h2, .fa-payroll-coverage h2 { margin: 0; font-family: "Barlow Condensed", sans-serif; font-size: 25px; font-weight: 600; text-transform: uppercase; }.fa-payroll-result > strong, .fa-payroll-coverage > strong { display: block; margin-top: 24px; color: var(--fa-mint-dark); font-family: "Barlow Condensed", sans-serif; font-size: clamp(38px, 4vw, 54px); font-weight: 600; line-height: 1; }.fa-payroll-result--negative > strong { color: var(--fa-coral); }.fa-payroll-result > small { display: block; margin-top: 12px; color: var(--fa-muted); font-size: 10px; }.fa-payroll-statuses { display: flex; flex-wrap: wrap; gap: 8px 18px; border-top: 1px solid var(--fa-line); margin-top: 22px; padding-top: 14px; color: var(--fa-muted); font-size: 9px; text-transform: uppercase; }.fa-payroll-statuses a { position: relative; z-index: 4; color: inherit; text-decoration: none; }.fa-payroll-statuses a:hover { color: var(--fa-coral); }.fa-payroll-statuses b { color: var(--fa-ink); font-family: "Barlow Condensed", sans-serif; font-size: 17px; }
.fa-payroll-warning { border-left: 3px solid var(--fa-gold); margin: 16px 0 0; padding: 8px 11px; background: #fff9e8; color: var(--fa-ink-soft); font-size: 9px; }.fa-payroll-month-list { display: grid; margin-top: 24px; }.fa-payroll-month-list > a { display: flex; align-items: center; justify-content: space-between; gap: 15px; border-top: 1px solid var(--fa-line); padding: 10px 0; color: inherit; text-decoration: none; }.fa-payroll-month-list > a:hover { background: var(--fa-paper); }.fa-payroll-month-list span strong, .fa-payroll-month-list span small { display: block; }.fa-payroll-month-list span strong { font-size: 10px; text-transform: uppercase; }.fa-payroll-month-list span small { margin-top: 3px; color: var(--fa-muted); font-size: 8px; }.fa-payroll-month-list b { color: var(--fa-mint-dark); font-family: "Barlow Condensed", sans-serif; font-size: 16px; }.fa-payroll-month-list .fa-payroll-month--negative b { color: var(--fa-coral); }
.fa-payroll-table { margin-bottom: 34px; }.fa-table--payroll { min-width: 1400px; }.fa-table--payroll td:nth-child(2) { min-width: 300px; max-width: 360px; white-space: normal; }.fa-table--payroll td strong, .fa-table--payroll td small { display: block; }.fa-table--payroll td small { margin-top: 3px; color: var(--fa-muted); font-size: 9px; }.fa-status--covered { --status-color: var(--fa-mint-dark); }.fa-status--deficit { --status-color: var(--fa-coral); }.fa-status--missing_billing { --status-color: var(--fa-gold); }.fa-status--negative_payroll { --status-color: var(--fa-ink); }
.fa-payroll-table__tools, .fa-payroll-status-filter { display: flex; align-items: center; gap: 9px; }.fa-payroll-table__tools { flex-wrap: wrap; justify-content: flex-end; }.fa-payroll-status-filter .fa-status-select { width: 240px; }.fa-payroll-status-filter .fa-period-select__trigger { min-height: 44px; background: var(--fa-white); }.fa-payroll-status-filter .fa-button { min-height: 44px; padding-inline: 15px; }.fa-table-row--link { cursor: pointer; }.fa-table-row--link:hover td, .fa-table-row--link:focus-within td { background: #faf8f1; }.fa-row-detail-link { display: inline-flex; align-items: center; gap: 5px; color: var(--fa-mint-dark); font-size: 9px; font-weight: 700; text-decoration: none; text-transform: uppercase; }.fa-row-detail-link svg { width: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; }.fa-row-detail-link:hover { color: var(--fa-coral); }
.fa-cross-detail-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin: 28px clamp(24px, 4vw, 58px) 0; border-bottom: 1px solid var(--fa-line); padding: 28px 0; }.fa-cross-detail-hero h2 { max-width: 900px; margin: 4px 0 7px; font-family: "Barlow Condensed", sans-serif; font-size: clamp(34px, 5vw, 62px); font-weight: 600; line-height: .95; text-transform: uppercase; }.fa-cross-detail-hero p:last-child { margin: 0; color: var(--fa-muted); font-size: 10px; }.fa-cross-detail-kpis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0 clamp(24px, 4vw, 58px); border: 1px solid var(--fa-line); border-top: 0; background: var(--fa-line); gap: 1px; }.fa-cross-detail-kpis article { min-width: 0; background: var(--fa-white); padding: 17px 19px; }.fa-cross-detail-kpis span, .fa-cross-detail-kpis small { display: block; color: var(--fa-muted); font-size: 8px; text-transform: uppercase; }.fa-cross-detail-kpis strong { display: block; margin: 7px 0 4px; font-family: "Barlow Condensed", sans-serif; font-size: clamp(22px, 2.3vw, 33px); font-weight: 600; }.fa-cross-detail-kpi--negative strong { color: var(--fa-coral); }.fa-cross-detail-section { margin-top: 24px; }.fa-cross-detail-section:last-child { margin-bottom: 34px; }.fa-table--payroll-events { min-width: 1050px; }.fa-table--payroll-invoices { min-width: 1200px; }.fa-table--payroll-events td:first-child { min-width: 270px; white-space: normal; }.fa-table--payroll-events td strong, .fa-table--payroll-events td small, .fa-table--payroll-invoices td strong, .fa-table--payroll-invoices td small { display: block; }.fa-table--payroll-events td small, .fa-table--payroll-invoices td small { margin-top: 3px; color: var(--fa-muted); font-size: 9px; }.fa-cross-detail-empty { border-top: 1px solid var(--fa-line); padding: 32px 24px; }.fa-cross-detail-empty strong { font-family: "Barlow Condensed", sans-serif; font-size: 24px; text-transform: uppercase; }.fa-cross-detail-empty p { margin: 7px 0 0; color: var(--fa-muted); font-size: 10px; }
.fa-spreadsheet-page { display: flex; height: 100vh; flex-direction: column; overflow: hidden; background: #f5f5f2; }.fa-spreadsheet-page .fa-topbar { flex: 0 0 auto; background: var(--fa-white); }
.fa-sheet-toolbar { display: flex; min-height: 66px; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 24px; border-bottom: 1px solid #c8cbc8; padding: 10px 24px; background: #f4f5f3; }.fa-sheet-title { display: flex; min-width: 0; align-items: center; gap: 11px; }.fa-sheet-title .fa-source { width: 34px; height: 34px; background: #217346; font-size: 13px; }.fa-sheet-title div { min-width: 0; }.fa-sheet-title strong, .fa-sheet-title small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.fa-sheet-title strong { font-size: 11px; }.fa-sheet-title small { margin-top: 4px; color: var(--fa-muted); font-size: 9px; }
.fa-sheet-jump { display: flex; flex: 0 0 auto; align-items: center; gap: 8px; }.fa-sheet-jump label { color: var(--fa-muted); font-size: 9px; font-weight: 700; text-transform: uppercase; }.fa-sheet-jump input[type="number"] { width: 92px; height: 34px; border: 1px solid #b9bdb9; background: white; padding: 0 9px; font: inherit; }.fa-sheet-jump input[type="submit"] { height: 34px; border: 0; background: #217346; padding: 0 15px; color: white; font-size: 10px; font-weight: 700; cursor: pointer; }
.fa-sheet-formula { display: grid; min-height: 36px; flex: 0 0 auto; grid-template-columns: 110px 1fr; border-bottom: 1px solid #bfc3bf; background: white; font-size: 10px; }.fa-sheet-formula strong, .fa-sheet-formula span { display: flex; min-width: 0; align-items: center; padding: 0 11px; }.fa-sheet-formula strong { border-right: 1px solid #c8cbc8; color: #217346; }.fa-sheet-formula span { overflow: hidden; color: var(--fa-muted); text-overflow: ellipsis; white-space: nowrap; }
.fa-spreadsheet-grid { min-height: 260px; flex: 1 1 auto; overflow: auto; background: white; }.fa-spreadsheet-grid table { min-width: 100%; border-collapse: separate; border-spacing: 0; font-family: Calibri, "Segoe UI", sans-serif; font-size: 11px; }.fa-spreadsheet-grid th, .fa-spreadsheet-grid td { height: 25px; max-width: 420px; min-width: 92px; overflow: hidden; border-right: 1px solid #d6d9d6; border-bottom: 1px solid #d6d9d6; padding: 3px 7px; text-align: left; text-overflow: ellipsis; white-space: nowrap; }.fa-spreadsheet-grid thead th { position: sticky; z-index: 3; top: 0; min-width: 92px; background: #e9ebe9; color: #4b514d; font-weight: 600; text-align: center; }.fa-spreadsheet-grid th:first-child { position: sticky; z-index: 2; left: 0; width: 54px; min-width: 54px; max-width: 54px; background: #e9ebe9; color: #59605b; font-weight: 400; text-align: right; }.fa-spreadsheet-grid thead .fa-sheet-corner { z-index: 4; top: 0; left: 0; }.fa-spreadsheet-grid tbody tr:hover td { background: #f3f9f5; }.fa-spreadsheet-grid .fa-sheet-row--focused td { border-block: 2px solid #217346; background: #e5f2e9; }.fa-spreadsheet-grid .fa-sheet-row--focused th { border-right: 2px solid #217346; background: #217346; color: white; font-weight: 700; }
.fa-sheet-footer { display: flex; min-height: 43px; flex: 0 0 auto; align-items: stretch; justify-content: space-between; gap: 20px; border-top: 1px solid #bfc3bf; background: #eef0ed; }.fa-sheet-tabs { display: flex; min-width: 0; align-items: stretch; overflow-x: auto; padding-left: 16px; }.fa-sheet-tabs a { display: flex; min-width: max-content; align-items: center; border-bottom: 3px solid transparent; padding: 0 16px; color: #4b514d; font-size: 10px; font-weight: 600; text-decoration: none; }.fa-sheet-tabs a:hover, .fa-sheet-tabs .fa-sheet-tab--active { border-bottom-color: #217346; background: white; color: #217346; }.fa-sheet-pages { display: flex; flex: 0 0 auto; align-items: center; gap: 12px; padding: 0 18px; font-size: 9px; }.fa-sheet-pages a { color: #217346; font-weight: 700; text-decoration: none; }.fa-sheet-pages span { color: var(--fa-muted); }
.fa-kpis--expense-explorer { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fa-grid--expenses-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fa-expense-result { position: relative; overflow: hidden; border-top: 4px solid var(--fa-mint-dark); }
.fa-expense-result--negative { border-top-color: var(--fa-coral); }
.fa-expense-result h2 { max-width: 520px; margin: 0; font-family: "Barlow Condensed", sans-serif; font-size: 24px; font-weight: 600; letter-spacing: 0; text-transform: uppercase; }
.fa-expense-result > strong { display: block; margin-top: 28px; color: var(--fa-mint-dark); font-family: "Barlow Condensed", sans-serif; font-size: clamp(36px, 4vw, 54px); font-weight: 600; line-height: 1; }
.fa-expense-result--negative > strong { color: var(--fa-coral); }
.fa-expense-result > small { display: block; max-width: 560px; margin-top: 13px; color: var(--fa-muted); font-size: 10px; line-height: 1.6; }
.fa-panel__link { color: var(--fa-coral); font-size: 10px; font-weight: 700; text-decoration: none; text-transform: uppercase; }
.fa-panel__link:hover { color: var(--fa-ink); }
.fa-tax--expense { grid-template-columns: 24px minmax(130px, .9fr) minmax(50px, 1fr) 78px; color: inherit; text-decoration: none; }
.fa-tax--expense > span:nth-child(2) { min-width: 0; }
.fa-tax--expense > span:nth-child(2) strong, .fa-tax--expense > span:nth-child(2) small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fa-tax--expense > span:nth-child(2) small { margin-top: 3px; color: var(--fa-coral); font-size: 8px; font-weight: 700; text-transform: uppercase; }
.fa-tax--expense > span:last-child { color: var(--fa-ink-soft); font-family: "Barlow Condensed", sans-serif; font-size: 14px; font-weight: 600; text-align: right; }
.fa-tax--expense:hover strong { color: var(--fa-coral); }
.fa-tax__track .fa-tax__bar--competence { background: var(--fa-mint-dark); }
.fa-filterbar--expense-explorer .fa-filters { flex: 1; }
.fa-filters--expense-explorer .fa-period-select, .fa-filters--expense-explorer .fa-select-filter { width: min(250px, 23%); }
.fa-table--expenses { min-width: 1450px; }
.fa-table--expenses td:nth-child(1) strong, .fa-table--expenses td:nth-child(1) small, .fa-table--expenses td:nth-child(3) strong, .fa-table--expenses td:nth-child(3) small { display: block; }
.fa-table--expenses td:nth-child(1) small, .fa-table--expenses td:nth-child(3) small { margin-top: 3px; color: var(--fa-muted); font-size: 9px; }
.fa-table--expenses td:nth-child(3), .fa-table--expenses td:nth-child(4) { min-width: 220px; max-width: 320px; white-space: normal; }
.fa-table--expenses td:nth-child(6) { min-width: 180px; }
.fa-empty { max-width: 680px; margin: 100px auto; padding: 60px; text-align: center; }.fa-empty__icon { display: grid; width: 70px; height: 70px; margin: 0 auto 25px; place-items: center; background: var(--fa-ink); color: white; font-family: "Barlow Condensed", sans-serif; font-weight: 700; }.fa-empty p:last-child { color: var(--fa-muted); }.fa-empty code { background: var(--fa-paper-deep); padding: 3px 6px; }
.fa-empty--module { margin-top: clamp(70px, 12vh, 130px); border-block: 1px solid var(--fa-line); background: rgba(255,254,249,.55); }
@keyframes fa-rise { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } } @keyframes fa-width { from { transform: scaleX(0); } } @keyframes fa-height { from { transform: scaleY(0); } }

@media (max-width: 1180px) {
	.fa-kpis { grid-template-columns: repeat(2, 1fr); }
	.fa-grid--charts { grid-template-columns: 1fr; }
	.fa-grid--reconciliation { grid-template-columns: 1fr; }
	.fa-reconciliation-filters { grid-template-columns: 1fr; }
	.fa-crossing-mark { grid-template-columns: auto auto; align-items: center; gap: 7px; }.fa-crossing-mark span { font-size: 25px; }.fa-crossing-mark small { margin: 0; }
	.fa-filterbar { align-items: flex-start; flex-direction: column; }
	.fa-filterbar__count { border-left: 0; padding-left: 0; text-align: left; }
}
@media (max-width: 860px) {
	.fa-login { grid-template-columns: 1fr; }.fa-login__story { min-height: 44vh; padding: 34px 28px; }.fa-login__headline h1 { font-size: clamp(62px, 18vw, 100px); }.fa-login__signal { display: none; }.fa-login__access { min-height: 56vh; padding: 50px 28px; }.fa-login__mark { margin-bottom: 28px; }
	.fa-sidebar { position: static; width: 100%; height: auto; flex-direction: row; align-items: center; gap: 18px; padding: 15px 20px; }.fa-sidebar__logo { width: 145px; }.fa-sidebar__edition, .fa-sidebar__status { display: none; }.fa-nav { display: flex; margin-left: auto; }.fa-nav__item { width: 42px; min-height: 42px; justify-content: center; padding: 0; font-size: 0; }.fa-nav__item svg { width: 18px; }.fa-logout { padding: 0; font-size: 0; }.fa-main { margin-left: 0; }.fa-topbar { min-height: 94px; }.fa-topbar__meta > span:not(.fa-avatar) { display: none; }
	.fa-filters { width: 100%; flex-wrap: wrap; }.fa-select-filter, .fa-filter { flex: 1 1 210px; width: auto; }.fa-filter__trigger { width: 100%; }.fa-filter__menu { width: 100%; }.fa-grid--clients, .fa-grid--status { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
	.fa-calculation-hero { align-items: flex-start; flex-direction: column; }.fa-calculation-hero > strong { text-align: left; }.fa-calculation-components { grid-auto-flow: row; margin-inline: 18px; }
	.fa-login__brand .fa-kicker { display: none; }.fa-login__logo { width: 210px; }.fa-login__headline > p:last-child { margin-top: 22px; }.fa-login__form-wrap h2 { font-size: 40px; }
	.fa-sidebar { gap: 10px; overflow-x: auto; padding-inline: 14px; }.fa-sidebar__logo { width: 112px; }.fa-nav { gap: 4px; }.fa-nav__item { display: flex; }.fa-topbar { padding: 18px; }.fa-topbar__meta { display: none; }.fa-filterbar, .fa-reconciliation-filterbar { padding: 16px 18px; }.fa-filter__join { width: 100%; transform: rotate(90deg); }.fa-select-filter, .fa-filter { flex-basis: 100%; }.fa-button--filter { flex: 1; }.fa-source-filter { padding: 12px; }.fa-source-filter legend { grid-template-columns: 28px auto; }.fa-source-filter legend small { display: none; }.fa-source-filter__controls { grid-template-columns: 1fr; }.fa-source-filter--receivable .fa-period-select__menu { right: auto; left: 0; }.fa-period-select__menu { width: 100%; }.fa-reconciliation-filters__footer { align-items: stretch; flex-wrap: wrap; }.fa-reconciliation-filters__footer > div { width: 100%; }.fa-reconciliation-filters__footer .fa-button { flex: 1 1 190px; }.fa-kpis, .fa-grid, .fa-documents { margin-inline: 18px; }.fa-kpis { grid-template-columns: 1fr; margin-top: 18px; }.fa-grid { margin-top: 14px; }.fa-panel { padding: 19px; }.fa-chart { height: 220px; }.fa-panel__header { align-items: flex-start; flex-direction: column; }.fa-ranking__row { grid-template-columns: 25px 1fr 75px; }.fa-ranking__track { display: none; }.fa-search { width: 100%; }.fa-table-wrap { margin-inline: -19px; }.fa-kpi > strong { font-size: 31px; }.fa-comparison__values { grid-template-columns: 1fr; }.fa-comparison__arrow { transform: rotate(90deg); }.fa-selection-summary dl { grid-template-columns: 1fr; }.fa-selection-summary dl > div { border-right: 0; }.fa-status-grid { grid-template-columns: repeat(2, 1fr); }.fa-status-card:nth-child(2) { border-right: 0; }.fa-status-card:nth-child(-n+2) { border-bottom: 1px solid var(--fa-line); }.fa-pagination { align-items: flex-start; flex-direction: column; margin-inline: -19px; padding-inline: 19px; }.fa-pagination > div { width: 100%; justify-content: space-between; }.fa-empty--module { margin: 52px 18px; padding: 48px 22px; }
}
@media (max-width: 1180px) {
	.fa-grid--expenses-summary { grid-template-columns: 1fr; }
	.fa-filters--expense-explorer .fa-period-select, .fa-filters--expense-explorer .fa-select-filter { width: auto; flex: 1 1 210px; }
}
@media (max-width: 600px) {
	.fa-tax--expense { grid-template-columns: 22px minmax(105px, 1fr) 68px; }
	.fa-tax--expense .fa-tax__track { display: none; }
	.fa-expense-result > strong { font-size: 38px; }
	.fa-filters--payroll .fa-period-select, .fa-filters--payroll .fa-select-filter { width: 100%; flex: 1 1 100%; }
	.fa-payroll-table__tools, .fa-payroll-status-filter { width: 100%; align-items: stretch; }.fa-payroll-status-filter { flex-wrap: wrap; }.fa-payroll-status-filter .fa-status-select { width: 100%; }.fa-payroll-status-filter .fa-button { flex: 1; }.fa-payroll-table__tools .fa-search { order: 2; }.fa-cross-detail-hero { align-items: flex-start; flex-direction: column; margin-inline: 18px; }.fa-cross-detail-kpis { grid-template-columns: 1fr 1fr; margin-inline: 18px; }.fa-cross-detail-kpis article:last-child { grid-column: 1 / -1; }
	.fa-column-totals > header { align-items: flex-start; flex-direction: column; gap: 5px; }.fa-column-totals dl { grid-template-columns: 1fr 1fr; }.fa-column-totals dl > div { border-bottom: 1px solid var(--fa-line); }.fa-column-totals dl > div:nth-child(even) { border-right: 0; }.fa-column-totals dl > div:last-child { grid-column: 1 / -1; border-right: 0; border-bottom: 0; }
}
/* Payroll charges */
.fa-payroll-tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--fa-line); padding: 12px clamp(24px, 4vw, 58px) 0; background: var(--fa-white); }
.fa-payroll-tabs a { display: flex; min-height: 43px; align-items: center; border-bottom: 3px solid transparent; padding: 0 16px; color: var(--fa-muted); font-size: 10px; font-weight: 700; text-decoration: none; text-transform: uppercase; }
.fa-payroll-tabs a:hover { color: var(--fa-ink); }
.fa-payroll-tabs .fa-payroll-tab--active { border-bottom-color: var(--fa-coral); color: var(--fa-ink); }
.fa-charge-equation { margin: 28px clamp(24px, 4vw, 58px) 0; border: 1px solid var(--fa-ink); background: var(--fa-white); box-shadow: var(--fa-shadow); }
.fa-charge-equation > header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding: 20px 24px; background: var(--fa-ink); color: white; }
.fa-charge-equation h2 { margin: 0; font-family: "Barlow Condensed", sans-serif; font-size: 30px; font-weight: 600; text-transform: uppercase; }
.fa-charge-equation > header > small { color: var(--fa-mint); font-size: 9px; font-weight: 700; text-transform: uppercase; }
.fa-charge-equation__flow { display: grid; grid-template-columns: max-content 24px max-content 24px max-content 24px max-content 24px max-content; align-items: stretch; justify-content: space-between; gap: 8px; overflow-x: auto; padding: 22px 24px; }
.fa-charge-equation__flow > div { display: grid; min-width: 150px; align-content: center; }
.fa-charge-equation__flow span { color: var(--fa-muted); font-size: 8px; font-weight: 700; text-transform: uppercase; }
.fa-charge-equation__flow strong { display: block; margin-top: 7px; font-family: "Barlow Condensed", sans-serif; font-size: clamp(22px, 2vw, 31px); font-weight: 600; white-space: nowrap; }
.fa-charge-equation__flow > b { display: grid; place-items: center; color: var(--fa-coral); font-family: "Barlow Condensed", sans-serif; font-size: 27px; }
.fa-charge-equation__deduction strong, .fa-charge-deduction { color: var(--fa-coral); }
.fa-charge-equation__result { border-left: 3px solid var(--fa-mint-dark); padding-left: 17px; }
.fa-charge-equation__result strong, .fa-charge-adjusted { color: var(--fa-mint-dark); }
.fa-charge-equation > footer { display: flex; justify-content: flex-end; gap: 30px; border-top: 1px solid var(--fa-line); padding: 13px 24px; background: var(--fa-paper-deep); color: var(--fa-muted); font-size: 9px; text-transform: uppercase; }
.fa-charge-equation > footer strong { margin-left: 7px; color: var(--fa-ink); font-size: 11px; }
.fa-charge-kpis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; margin: 0 clamp(24px, 4vw, 58px); border: 1px solid var(--fa-line); border-top: 0; background: var(--fa-line); }
.fa-charge-kpis article { min-width: 0; background: var(--fa-white); padding: 16px 18px; }
.fa-charge-kpis span, .fa-charge-kpis small { display: block; color: var(--fa-muted); font-size: 8px; text-transform: uppercase; }
.fa-charge-kpis strong { display: block; margin: 7px 0 5px; overflow-wrap: anywhere; font-family: "Barlow Condensed", sans-serif; font-size: clamp(21px, 2vw, 29px); font-weight: 600; }
.fa-charge-kpi--deduction strong { color: var(--fa-coral); }
.fa-charge-kpis .fa-charge-kpi--result { background: #e7eee9; }
.fa-charge-kpi--result strong { color: var(--fa-mint-dark); }
.fa-charge-table { margin-top: 24px; }
.fa-table--charges { min-width: 1560px; }
.fa-table--charges td:first-child strong { text-transform: uppercase; }
.fa-table--charges td:nth-child(3), .fa-table--charges tfoot td { max-width: none; white-space: nowrap; }
.fa-charge-audit { margin: 28px clamp(24px, 4vw, 58px) 0; }
.fa-charge-audit > header { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; border-bottom: 2px solid var(--fa-ink); padding: 0 0 17px; }
.fa-charge-audit h2 { margin: 0; font-family: "Barlow Condensed", sans-serif; font-size: 34px; font-weight: 600; text-transform: uppercase; }
.fa-charge-audit > header > p { max-width: 420px; margin: 0; color: var(--fa-muted); font-size: 10px; text-align: right; }
.fa-charge-month { border-bottom: 1px solid var(--fa-line); background: var(--fa-white); }
.fa-charge-month > summary { display: grid; min-height: 76px; grid-template-columns: minmax(140px, .7fr) repeat(2, minmax(180px, 1fr)) 28px; align-items: center; gap: 20px; padding: 13px 20px; cursor: pointer; list-style: none; }
.fa-charge-month > summary::-webkit-details-marker { display: none; }
.fa-charge-month > summary::after { content: "+"; color: var(--fa-coral); font-family: "Barlow Condensed", sans-serif; font-size: 25px; }
.fa-charge-month[open] > summary::after { content: "−"; }
.fa-charge-month > summary > span { display: block; }
.fa-charge-month > summary > span:first-child strong { font-family: "Barlow Condensed", sans-serif; font-size: 22px; text-transform: uppercase; }
.fa-charge-month > summary small, .fa-charge-month > summary > span:not(:first-child) { color: var(--fa-muted); font-size: 8px; text-transform: uppercase; }
.fa-charge-month > summary small { display: block; margin-top: 3px; }
.fa-charge-month > summary > span:not(:first-child) strong { display: block; margin-top: 5px; color: var(--fa-ink); font-family: "Barlow Condensed", sans-serif; font-size: 20px; }
.fa-charge-month[open] > summary { background: var(--fa-paper-deep); }
.fa-charge-month__body { border-top: 1px solid var(--fa-line); padding: 22px; }
.fa-charge-steps { display: grid; grid-template-columns: repeat(7, minmax(130px, 1fr)); gap: 1px; overflow-x: auto; margin: 0; padding: 1px; background: var(--fa-line); list-style: none; }
.fa-charge-steps li { display: flex; min-width: 130px; align-items: center; gap: 10px; background: var(--fa-white); padding: 14px 12px; }
.fa-charge-steps li > span { display: grid; width: 23px; height: 23px; flex: 0 0 auto; place-items: center; background: var(--fa-ink); color: white; font-size: 9px; font-weight: 700; }
.fa-charge-steps small, .fa-charge-steps strong { display: block; }
.fa-charge-steps small { min-height: 25px; color: var(--fa-muted); font-size: 7px; text-transform: uppercase; }
.fa-charge-steps strong { margin-top: 5px; font-family: "Barlow Condensed", sans-serif; font-size: 17px; font-weight: 600; white-space: nowrap; }
.fa-charge-step--deduction strong { color: var(--fa-coral); }
.fa-charge-steps .fa-charge-step--result { background: #e7eee9; }
.fa-charge-step--result strong { color: var(--fa-mint-dark); }
.fa-charge-evidence { display: grid; gap: 22px; margin-top: 22px; }
.fa-charge-evidence > section { overflow-x: auto; border-top: 1px solid var(--fa-line); }
.fa-charge-evidence > section > header { position: sticky; left: 0; display: flex; min-width: 320px; align-items: center; gap: 11px; padding: 14px 0 10px; }
.fa-charge-evidence > section > header > span { display: grid; width: 28px; height: 28px; place-items: center; background: var(--fa-coral); color: white; font-family: "Barlow Condensed", sans-serif; font-size: 12px; font-weight: 700; }
.fa-charge-evidence > section > header strong, .fa-charge-evidence > section > header small { display: block; }
.fa-charge-evidence > section > header strong { font-size: 10px; text-transform: uppercase; }
.fa-charge-evidence > section > header small { margin-top: 3px; color: var(--fa-muted); font-size: 8px; }
.fa-charge-evidence table { width: 100%; min-width: 780px; border-collapse: collapse; font-size: 9px; }
.fa-charge-evidence th { background: var(--fa-paper-deep); padding: 8px 10px; color: var(--fa-muted); font-size: 8px; text-align: left; text-transform: uppercase; }
.fa-charge-evidence td { border-bottom: 1px solid #ebe8de; padding: 9px 10px; vertical-align: top; }
.fa-charge-evidence td:last-child { text-align: right; white-space: nowrap; }
.fa-charge-evidence code { color: var(--fa-ink-soft); font-size: 8px; }
.fa-charge-evidence .fa-source-reference small { display: block; margin-top: 3px; color: var(--fa-muted); }
.fa-charge-method-note { margin: 24px clamp(24px, 4vw, 58px) 34px; border-left: 4px solid var(--fa-gold); background: #fff9e8; padding: 18px 20px; }
.fa-charge-method-note strong { font-size: 10px; text-transform: uppercase; }
.fa-charge-method-note p { max-width: 1050px; margin: 7px 0 0; color: var(--fa-ink-soft); font-size: 10px; line-height: 1.65; }

@media (max-width: 1180px) {
	.fa-charge-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.fa-charge-kpis article:last-child { grid-column: 1 / -1; }
	.fa-charge-equation__flow { justify-content: start; }
}
@media (max-width: 600px) {
	.fa-payroll-tabs { padding-inline: 18px; }
	.fa-payroll-tabs a { min-height: 48px; flex: 1; justify-content: center; padding-inline: 8px; text-align: center; }
	.fa-charge-equation, .fa-charge-audit, .fa-charge-method-note { margin-inline: 18px; }
	.fa-charge-equation > header, .fa-charge-audit > header { align-items: flex-start; flex-direction: column; gap: 7px; }
	.fa-charge-equation > footer { align-items: flex-start; flex-direction: column; gap: 7px; }
	.fa-charge-kpis { grid-template-columns: 1fr; margin-inline: 18px; }
	.fa-charge-kpis article:last-child { grid-column: auto; }
	.fa-charge-audit > header > p { text-align: left; }
	.fa-charge-month > summary { grid-template-columns: 1fr 28px; gap: 9px; padding: 14px; }
	.fa-charge-month > summary > span:not(:first-child) { grid-column: 1; }
	.fa-charge-month > summary::after { grid-column: 2; grid-row: 1 / 4; }
	.fa-charge-month__body { padding: 14px; }
	.fa-charge-steps { grid-template-columns: repeat(7, minmax(150px, 1fr)); }
	.fa-charge-method-note { margin-bottom: 24px; }
}

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
/* ===== Selecao de empresa (liquid glass) ===== */
.fa-companies { position: relative; display: flex; min-height: 100vh; flex-direction: column; align-items: center; justify-content: center; overflow: hidden; padding: clamp(30px, 6vw, 80px) 24px; background: radial-gradient(1200px 700px at 15% 10%, #123c3d 0%, var(--fa-ink-strong) 55%, #071b1c 100%); color: white; isolation: isolate; }
.fa-companies__glow { position: absolute; z-index: -1; border-radius: 50%; filter: blur(90px); opacity: .5; }
.fa-companies__glow--a { top: -10%; left: -8%; width: 46vw; height: 46vw; background: rgba(155, 200, 181, .28); animation: fa-glow-a 14s ease-in-out infinite alternate; }
.fa-companies__glow--b { right: -12%; bottom: -18%; width: 52vw; height: 52vw; background: rgba(214, 110, 84, .22); animation: fa-glow-b 17s ease-in-out infinite alternate; }
@keyframes fa-glow-a { to { transform: translate(6vw, 4vh) scale(1.12); } }
@keyframes fa-glow-b { to { transform: translate(-5vw, -6vh) scale(1.08); } }
.fa-companies__header { max-width: 760px; margin-bottom: clamp(34px, 5vw, 60px); text-align: center; }
.fa-companies__header h1 { margin: 14px 0 10px; font-family: "Barlow Condensed", sans-serif; font-size: clamp(44px, 6vw, 76px); font-weight: 600; line-height: .95; text-transform: uppercase; }
.fa-companies__sub { margin: 0; color: rgba(255,255,255,.62); font-size: 15px; }
.fa-companies__grid { display: grid; width: min(980px, 100%); grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(20px, 3vw, 34px); }
.fa-company-card { position: relative; display: flex; min-height: 340px; flex-direction: column; align-items: flex-start; overflow: hidden; border: 1px solid rgba(255,255,255,.16); border-radius: 26px; padding: clamp(26px, 3.4vw, 40px); background: linear-gradient(135deg, rgba(255,255,255,.14), rgba(255,255,255,.04) 55%, rgba(255,255,255,.09)); box-shadow: 0 24px 70px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.22); color: white; cursor: pointer; text-align: left; backdrop-filter: blur(18px) saturate(1.4); -webkit-backdrop-filter: blur(18px) saturate(1.4); transition: transform .45s cubic-bezier(.2,.9,.25,1.2), border-color .3s, box-shadow .45s; }
.fa-company-card::before { position: absolute; inset: 0; content: ""; background: radial-gradient(600px 300px at var(--mx, 20%) var(--my, 0%), rgba(255,255,255,.16), transparent 60%); opacity: 0; transition: opacity .35s; pointer-events: none; }
.fa-company-card:hover { border-color: rgba(155,200,181,.55); box-shadow: 0 34px 90px rgba(0,0,0,.45), 0 0 0 1px rgba(155,200,181,.25), inset 0 1px 0 rgba(255,255,255,.3); transform: translateY(-8px) scale(1.015); }
.fa-company-card:hover::before { opacity: 1; }
.fa-company-card__shine { position: absolute; top: -60%; left: -30%; width: 60%; height: 220%; background: linear-gradient(100deg, transparent, rgba(255,255,255,.14), transparent); transform: rotate(12deg) translateX(-120%); transition: transform .9s ease; pointer-events: none; }
.fa-company-card:hover .fa-company-card__shine { transform: rotate(12deg) translateX(320%); }
.fa-company-card__tag { border: 1px solid rgba(255,255,255,.25); border-radius: 999px; padding: 6px 14px; background: rgba(255,255,255,.08); font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; backdrop-filter: blur(6px); }
.fa-company-card--appa .fa-company-card__tag { border-color: rgba(155,200,181,.5); color: var(--fa-mint); }
.fa-company-card--solucoes .fa-company-card__tag { border-color: rgba(201,155,82,.55); color: var(--fa-gold); }
.fa-company-card__name { margin-top: 22px; font-family: "Barlow Condensed", sans-serif; font-size: clamp(38px, 4.4vw, 56px); font-weight: 700; line-height: .92; text-transform: uppercase; }
.fa-company-card__legal { margin-top: 10px; color: rgba(255,255,255,.72); font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.fa-company-card__cnpj { margin-top: 4px; color: rgba(255,255,255,.45); font-size: 12px; letter-spacing: .08em; }
.fa-company-card__desc { margin-top: 16px; color: rgba(255,255,255,.6); font-size: 13px; line-height: 1.6; }
.fa-company-card__cta { display: inline-flex; align-items: center; gap: 10px; margin-top: auto; padding-top: 24px; color: var(--fa-mint); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.fa-company-card__cta svg { width: 18px; transition: transform .3s; }
.fa-company-card:hover .fa-company-card__cta svg { transform: translateX(6px); }
.fa-companies__footer { margin-top: clamp(30px, 4vw, 50px); }
.fa-companies__logout { border: 1px solid rgba(255,255,255,.2); border-radius: 999px; padding: 10px 22px; background: transparent; color: rgba(255,255,255,.6); cursor: pointer; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; transition: .3s; }
.fa-companies__logout:hover { border-color: rgba(214,110,84,.6); color: var(--fa-coral-soft); }
@media (max-width: 760px) { .fa-companies__grid { grid-template-columns: 1fr; } .fa-company-card { min-height: 280px; } }

/* ===== Cruzamento EFD x Razao ===== */
.fa-report-selector { position: relative; display: flex; justify-content: center; padding: 32px 24px; overflow: hidden; }
.fa-report-selector__glow { position: absolute; border-radius: 50%; filter: blur(80px); opacity: .4; pointer-events: none; }
.fa-report-selector__glow--a { top: -20%; left: 10%; width: 300px; height: 300px; background: rgba(155,200,181,.15); animation: fa-glow-a 12s ease-in-out infinite alternate; }
.fa-report-selector__glow--b { bottom: -30%; right: 15%; width: 350px; height: 350px; background: rgba(214,110,84,.1); animation: fa-glow-b 15s ease-in-out infinite alternate; }

.fa-report-nav { display: flex; flex-wrap: wrap; gap: 20px; justify-content: center; position: relative; z-index: 1; }
.fa-report-nav__item { position: relative; display: flex; align-items: center; gap: 14px; border: 1px solid rgba(255,255,255,.14); border-radius: 20px; padding: 20px 28px; background: linear-gradient(135deg, rgba(255,255,255,.1), rgba(255,255,255,.03) 55%, rgba(255,255,255,.08)); color: var(--fa-ink); font-size: 14px; font-weight: 600; text-decoration: none; transition: all .4s cubic-bezier(.2,.9,.25,1.2); backdrop-filter: blur(16px) saturate(1.4); -webkit-backdrop-filter: blur(16px) saturate(1.4); box-shadow: 0 12px 40px rgba(0,0,0,.15), inset 0 1px 0 rgba(255,255,255,.2); overflow: hidden; min-width: 220px; }
.fa-report-nav__item::before { position: absolute; inset: 0; content: ""; background: radial-gradient(500px 250px at var(--mx, 20%) var(--my, 0%), rgba(255,255,255,.15), transparent 60%); opacity: 0; transition: opacity .35s; pointer-events: none; }
.fa-report-nav__item:hover { border-color: rgba(155,200,181,.5); box-shadow: 0 20px 60px rgba(0,0,0,.25), 0 0 0 1px rgba(155,200,181,.3), inset 0 1px 0 rgba(255,255,255,.3); transform: translateY(-4px) scale(1.03); }
.fa-report-nav__item:hover::before { opacity: 1; }
.fa-report-nav__item--active { background: linear-gradient(135deg, rgba(155,200,181,.3), rgba(155,200,181,.1) 55%, rgba(155,200,181,.2)); border-color: rgba(155,200,181,.6); color: var(--fa-mint); box-shadow: 0 16px 50px rgba(155,200,181,.2), 0 0 0 1px rgba(155,200,181,.4), inset 0 1px 0 rgba(255,255,255,.25); }
.fa-report-nav__item--active:hover { border-color: rgba(155,200,181,.8); box-shadow: 0 24px 70px rgba(155,200,181,.25), 0 0 0 1px rgba(155,200,181,.5), inset 0 1px 0 rgba(255,255,255,.35); transform: translateY(-6px) scale(1.04); }

.fa-report-nav__shine { position: absolute; top: -60%; left: -30%; width: 50%; height: 220%; background: linear-gradient(100deg, transparent, rgba(255,255,255,.12), transparent); transform: rotate(12deg) translateX(-120%); transition: transform .8s ease; pointer-events: none; }
.fa-report-nav__item:hover .fa-report-nav__shine { transform: rotate(12deg) translateX(300%); }

.fa-report-nav__icon { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px; background: rgba(255,255,255,.08); flex-shrink: 0; }
.fa-report-nav__icon svg { width: 22px; height: 22px; stroke: currentColor; stroke-width: 2; fill: none; }
.fa-report-nav__item--active .fa-report-nav__icon { background: rgba(155,200,181,.2); }

.fa-report-nav__text { display: flex; flex-direction: column; gap: 2px; }
.fa-report-nav__text strong { font-size: 14px; font-weight: 700; letter-spacing: .02em; }
.fa-report-nav__text small { font-size: 11px; font-weight: 500; opacity: .7; text-transform: uppercase; letter-spacing: .08em; }

/* Status filter */
.fa-status-filter { display: flex; gap: 12px; padding: 20px 24px; flex-wrap: wrap; justify-content: center; }
.fa-status-filter__item { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--fa-line); border-radius: 999px; padding: 10px 18px; background: linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.02)); color: var(--fa-ink); font-size: 12px; font-weight: 600; text-decoration: none; transition: all .25s; backdrop-filter: blur(8px); }
.fa-status-filter__item span { font-weight: 500; }
.fa-status-filter__item strong { font-size: 13px; font-weight: 700; background: rgba(0,0,0,.08); border-radius: 999px; padding: 2px 8px; margin-left: 4px; }
.fa-status-filter__item:hover { border-color: var(--fa-accent); color: var(--fa-accent); transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,0,0,.1); }
.fa-status-filter__item--active { background: var(--fa-accent); border-color: var(--fa-accent); color: white; }
.fa-status-filter__item--active strong { background: rgba(255,255,255,.2); }
.fa-status-filter__item--ok { border-color: rgba(45,138,78,.35); color: #2d8a4e; }
.fa-status-filter__item--ok:hover { border-color: #2d8a4e; box-shadow: 0 4px 12px rgba(45,138,78,.15); }
.fa-status-filter__item--ok.fa-status-filter__item--active { background: #2d8a4e; border-color: #2d8a4e; color: white; }
.fa-status-filter__item--alert { border-color: rgba(196,48,43,.35); color: #c4302b; }
.fa-status-filter__item--alert:hover { border-color: #c4302b; box-shadow: 0 4px 12px rgba(196,48,43,.15); }
.fa-status-filter__item--alert.fa-status-filter__item--active { background: #c4302b; border-color: #c4302b; color: white; }
.fa-status-filter__item--warn { border-color: rgba(196,122,26,.35); color: #c47a1a; }
.fa-status-filter__item--warn:hover { border-color: #c47a1a; box-shadow: 0 4px 12px rgba(196,122,26,.15); }
.fa-status-filter__item--warn.fa-status-filter__item--active { background: #c47a1a; border-color: #c47a1a; color: white; }
.fa-report-summary { display: flex; gap: 24px; padding: 20px 24px; background: var(--fa-surface); border-radius: 14px; margin-bottom: 20px; flex-wrap: wrap; }
.fa-report-summary__item { display: flex; flex-direction: column; gap: 4px; }
.fa-report-summary__label { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--fa-ink-soft); }
.fa-report-summary__value { font-size: 22px; font-weight: 700; font-family: "Barlow Condensed", sans-serif; }
.fa-report-summary__value--ok { color: #2d8a4e; }
.fa-report-summary__value--warn { color: #c47a1a; }
.fa-report-summary__value--alert { color: #c4302b; }
.fa-table--cross { width: 100%; border-collapse: collapse; }
.fa-table--cross th { text-align: left; padding: 12px 14px; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: var(--fa-ink-soft); border-bottom: 1px solid var(--fa-line); }
.fa-table--cross td { padding: 10px 14px; font-size: 13px; border-bottom: 1px solid var(--fa-line-soft); }
.fa-table--cross .fa-num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.fa-row--ok { background: rgba(45, 138, 78, .04); }
.fa-row--diff { background: rgba(196, 48, 43, .06); }
.fa-row--unmatched { background: rgba(196, 122, 26, .06); }
.fa-diff--ok { color: #2d8a4e; }
.fa-diff--alert { color: #c4302b; font-weight: 700; }
.fa-badge { display: inline-block; border-radius: 999px; padding: 3px 10px; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.fa-badge--ok { background: rgba(45, 138, 78, .15); color: #2d8a4e; }
.fa-badge--warn { background: rgba(196, 122, 26, .15); color: #c47a1a; }
.fa-badge--alert { background: rgba(196, 48, 43, .15); color: #c4302b; }
.fa-table-note { padding: 14px 24px; font-size: 12px; color: var(--fa-ink-soft); }
.fa-row--total { background: linear-gradient(135deg, rgba(155,200,181,.12), rgba(155,200,181,.05)); border-top: 2px solid rgba(155,200,181,.3); font-weight: 700; }
.fa-row--total td { padding: 16px 14px; font-size: 14px; }
.fa-row--total .fa-num { font-variant-numeric: tabular-nums; }
.fa-report-list { list-style: none; padding: 0; margin: 16px 0 0; display: flex; flex-direction: column; gap: 12px; }
.fa-report-list li { padding: 16px 20px; background: var(--fa-surface); border-radius: 12px; border: 1px solid var(--fa-line); font-size: 14px; line-height: 1.6; }
.fa-report-list strong { color: var(--fa-accent); }

/* ===== Totais EFD x Razao ===== */
.fa-totals { display: flex; gap: 20px; padding: 24px; justify-content: center; flex-wrap: wrap; }
.fa-totals__card { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 24px 32px; background: linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.03)); border: 1px solid rgba(255,255,255,.12); border-radius: 20px; backdrop-filter: blur(16px) saturate(1.4); box-shadow: 0 12px 40px rgba(0,0,0,.15), inset 0 1px 0 rgba(255,255,255,.2); min-width: 220px; text-align: center; }
.fa-totals__label { font-size: 12px; text-transform: uppercase; letter-spacing: .1em; color: var(--fa-ink-soft); font-weight: 600; }
.fa-totals__value { font-size: 32px; font-weight: 700; font-family: "Barlow Condensed", sans-serif; }
.fa-totals__card small { font-size: 11px; color: var(--fa-ink-soft); opacity: .7; }
.fa-totals__card--ok .fa-totals__value { color: #2d8a4e; }
.fa-totals__card--alert .fa-totals__value { color: #c4302b; }
.fa-totals__card--diff { border-color: rgba(155,200,181,.3); background: linear-gradient(135deg, rgba(155,200,181,.1), rgba(155,200,181,.03)); }

/* NF link */
.fa-nf-link { color: var(--fa-accent); text-decoration: none; font-weight: 600; border-bottom: 1px dashed var(--fa-accent); cursor: pointer; }
.fa-nf-link:hover { color: var(--fa-mint); border-bottom-color: var(--fa-mint); }
.fa-nf-text { color: var(--fa-ink-soft); }

/* Month filter */
.fa-month-filter { display: flex; justify-content: center; padding: 20px 24px; }
.fa-month-filter__form { display: flex; align-items: center; gap: 12px; }
.fa-month-filter__label { font-size: 13px; font-weight: 600; color: var(--fa-ink); text-transform: uppercase; letter-spacing: .06em; }

/* Diff cards */
.fa-diff-cards { position: relative; z-index: 30; display: flex; align-items: center; justify-content: center; gap: 16px; padding: 24px; flex-wrap: wrap; }
.fa-diff-card { position: relative; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 28px 32px; background: linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.03)); border: 1px solid rgba(255,255,255,.12); border-radius: 20px; backdrop-filter: blur(16px) saturate(1.4); box-shadow: 0 12px 40px rgba(0,0,0,.15), inset 0 1px 0 rgba(255,255,255,.2); min-width: 240px; text-align: center; cursor: pointer; transition: transform .3s, box-shadow .3s; }
.fa-diff-card:hover, .fa-diff-card:focus-within { z-index: 5; transform: translateY(-4px); box-shadow: 0 20px 60px rgba(0,0,0,.25), 0 0 0 1px rgba(155,200,181,.3); }
.fa-diff-card__header { display: flex; flex-direction: column; gap: 4px; }
.fa-diff-card__label { font-size: 12px; text-transform: uppercase; letter-spacing: .1em; color: var(--fa-ink-soft); font-weight: 600; }
.fa-diff-card__value { font-size: 36px; font-weight: 700; font-family: "Barlow Condensed", sans-serif; }
.fa-diff-card__explanation { display: none; position: absolute; top: calc(100% + 12px); left: 50%; transform: translateX(-50%); padding: 20px 22px; background: var(--fa-white); color: var(--fa-ink); border: 1px solid var(--fa-line); border-radius: 12px; box-shadow: 0 18px 50px rgba(22,52,52,.28); z-index: 1000; width: 440px; max-width: calc(100vw - 300px); max-height: min(60vh, 520px); overflow-y: auto; overscroll-behavior: contain; text-align: left; }
.fa-diff-card:hover .fa-diff-card__explanation, .fa-diff-card:focus-within .fa-diff-card__explanation { display: block; }
.fa-diff-card__explanation::before { content: ""; position: absolute; top: -8px; left: 50%; transform: translateX(-50%); width: 0; height: 0; border-left: 8px solid transparent; border-right: 8px solid transparent; border-bottom: 8px solid var(--fa-line); }
/* invisible bridge so the tooltip stays open while the pointer crosses the gap */
.fa-diff-card__explanation::after { content: ""; position: absolute; top: -14px; left: 0; right: 0; height: 14px; }
.fa-diff-card:first-child .fa-diff-card__explanation { left: 0; transform: none; }
.fa-diff-card:first-child .fa-diff-card__explanation::before { left: 110px; }
.fa-diff-card:last-child .fa-diff-card__explanation { left: auto; right: 0; transform: none; }
.fa-diff-card:last-child .fa-diff-card__explanation::before { left: auto; right: 110px; }
.fa-diff-card__explanation h3 { margin: 0 0 12px; font-size: 17px; font-weight: 700; color: var(--fa-ink-strong); }
.fa-diff-card__explanation p { margin: 8px 0; font-size: 14px; line-height: 1.6; color: var(--fa-ink); }
.fa-diff-card__explanation ul { margin: 8px 0; padding-left: 20px; font-size: 14px; line-height: 1.6; }
.fa-diff-card__explanation li { margin: 6px 0; }
.fa-diff-card--final { border-color: rgba(155,200,181,.4); background: linear-gradient(135deg, rgba(155,200,181,.15), rgba(155,200,181,.05)); }
.fa-diff-card--final .fa-diff-card__value { color: var(--fa-mint); }
.fa-diff-operator { font-size: 32px; font-weight: 700; color: var(--fa-ink-soft); padding: 0 8px; }
.fa-month-filter__select { padding: 10px 16px; border: 1px solid rgba(255,255,255,.14); border-radius: 12px; background: linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.03)); color: var(--fa-ink); font-size: 14px; font-weight: 600; backdrop-filter: blur(12px); cursor: pointer; transition: all .25s; }
.fa-month-filter__select:hover { border-color: rgba(155,200,181,.4); box-shadow: 0 4px 12px rgba(0,0,0,.1); }
.fa-month-filter__select:focus { outline: none; border-color: var(--fa-accent); box-shadow: 0 0 0 3px rgba(155,200,181,.2); }
