/* Scoped finance report layout. It inherits the approved application font. */
.fv-page { --fv-blue:#82aaff; --fv-green:#72d6ae; --fv-amber:#f0c66c; --fv-violet:#b6a0ff; display:flex; flex-direction:column; gap:16px; min-width:0; padding:0 0 24px; font-family:inherit; font-size:16px; line-height:1.4; color:var(--text,#e8eef7); }
.fv-page * { box-sizing:border-box; }
.fv-page [hidden] { display:none!important; }
.fv-page button,.fv-page input,.fv-page select { font:inherit; }
.fv-page button { cursor:pointer; }
.fv-page button:disabled { opacity:.5; cursor:default; }
.fv-page button:focus-visible,.fv-page input:focus-visible,.fv-page select:focus-visible,.fv-page summary:focus-visible { outline:2px solid #96b6ff; outline-offset:3px; }
.fv-page-head { display:flex; justify-content:space-between; gap:16px; align-items:center; }
.fv-head-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.fv-page h1 { font-size:26px; font-weight:600; line-height:1.2; margin:0 0 7px; }
.fv-page-head p { margin:0; color:var(--muted,#8b9bb4); font-size:14px; }
.fv-primary,.fv-secondary { padding:9px 15px; border:1px solid var(--border,#2a3548); border-radius:9px; font-weight:600; min-height:40px; white-space:nowrap; }
.fv-primary { color:#fff; background:var(--accent,#4f6ef7); border-color:var(--accent,#4f6ef7); }
.fv-secondary { color:var(--text,#e8eef7); background:var(--card2,#1a2333); }
.fv-primary:hover { filter:brightness(1.1); }
.fv-secondary:hover { border-color:#6c87bf; }
.fv-link { color:#a6c2ff; background:transparent; border:none; padding:6px; }
.fv-muted { color:var(--muted,#8b9bb4); font-size:14px; }
.fv-sr { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.fv-filters { border:1px solid var(--border,#2a3548); border-radius:12px; padding:14px; background:#111b2a; }
.fv-filter-primary { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.fv-page input[type="search"],.fv-page input[type="date"],.fv-page input[type="month"],.fv-page select { min-height:40px; background:#0d1624; border:1px solid var(--border,#2a3548); border-radius:8px; color:var(--text,#e8eef7); padding:8px 11px; color-scheme:dark; max-width:100%; }
.fv-page input[type="checkbox"] { accent-color:var(--accent,#4f6ef7); width:16px; height:16px; flex-shrink:0; margin:0; }
.fv-filter-search { flex:1 1 190px; }
.fv-filter-search input { width:100%; }
.fv-picker { position:relative; flex:0 1 240px; min-width:175px; }
.fv-picker>summary { list-style:none; display:flex; justify-content:space-between; align-items:center; gap:12px; border:1px solid var(--border,#2a3548); border-radius:8px; background:#0d1624; padding:8px 11px; min-height:40px; cursor:pointer; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.fv-picker>summary::-webkit-details-marker { display:none; }
.fv-picker>summary>span { color:var(--muted,#8b9bb4); }
.fv-picker>summary>.fv-picker-caption { color:inherit; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; flex:1; }
.fv-picker-panel { position:absolute; z-index:25; top:calc(100% + 7px); left:0; min-width:290px; width:340px; max-width:calc(100vw - 60px); padding:12px; border:1px solid #41516c; border-radius:10px; background:#172235; box-shadow:0 14px 40px #0008; }
.fv-picker-panel>input { width:100%; }
.fv-picker-short { display:flex; gap:16px; padding:6px 0; }
.fv-picker-short button { background:transparent; border:none; color:#a6c2ff; padding:4px 0; font-size:14px; }
.fv-picker-list { max-height:260px; overflow-y:auto; }
.fv-picker-list>label { display:flex; gap:10px; padding:9px 5px; cursor:pointer; align-items:center; border-radius:5px; }
.fv-picker-list>label:hover { background:#22324b; }
.fv-picker-list span { overflow-wrap:anywhere; }
.fv-filter-period { display:flex; gap:14px; align-items:center; flex-wrap:wrap; border-top:1px solid #263347; padding-top:12px; margin-top:12px; }
.fv-filter-period label,.fv-small-control { display:inline-flex; gap:8px; align-items:center; font-size:14px; color:var(--muted,#8b9bb4); }
.fv-filter-period input,.fv-filter-period select { font-size:14px; min-height:34px; padding:5px 8px; }
#fv-custom-dates { display:flex; gap:10px; }
.fv-period-explain { margin-left:auto; color:var(--muted,#8b9bb4); font-size:14px; }
.fv-scope-line { display:flex; gap:8px; align-items:center; flex-wrap:wrap; font-size:14px; color:#bdcce0; }
.fv-scope-dot { width:7px; height:7px; background:var(--fv-green); border-radius:50%; }
.fv-scope-period { color:var(--muted,#8b9bb4); margin-left:auto; }
.fv-badge { padding:3px 9px; border-radius:20px; background:#1f2e46; color:#c1d3f2; }
.fv-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.fv-kpi { display:flex; flex-direction:column; align-items:flex-start; text-align:left; border:1px solid var(--border,#2a3548); border-radius:12px; background:var(--card,#151c2a); padding:15px 18px; gap:4px; color:var(--text,#e8eef7); }
.fv-kpi:hover { border-color:#627da6; background:#192438; }
.fv-kpi-label { color:#c4d2e4; font-size:14px; }
.fv-kpi strong { font-size:27px; font-weight:600; line-height:1.3; }
.fv-kpi>span:not(.fv-kpi-label) { font-size:14px; color:var(--muted,#8b9bb4); }
.fv-kpi.blue strong { color:var(--fv-blue); }.fv-kpi.green strong { color:var(--fv-green); }.fv-kpi.amber strong { color:var(--fv-amber); }.fv-kpi.violet strong { color:var(--fv-violet); }
.fv-kpi .fv-delta { display:block; margin-top:6px; font-size:12px!important; }
.fv-tabs { display:flex; gap:4px; background:#101a28; border:1px solid var(--border,#2a3548); border-radius:11px; padding:5px; overflow-x:auto; }
.fv-tabs button { border:0; background:transparent; color:#9eb1cb; padding:10px 17px; border-radius:8px; font-weight:600; white-space:nowrap; display:flex; gap:7px; align-items:center; }
.fv-tabs button.active { background:#243b60; color:#e8eef7; }
.fv-tabs button:hover { background:#1b2b43; }
.fv-tabs button i { width:6px; height:6px; border-radius:50%; background:var(--fv-amber); }
.fv-content { display:flex; flex-direction:column; gap:16px; }
.fv-panel { border:1px solid var(--border,#2a3548); border-radius:12px; background:var(--card,#151c2a); min-width:0; overflow:hidden; }
.fv-panel>header { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; padding:15px 18px; border-bottom:1px solid var(--border,#2a3548); }
.fv-panel h2 { margin:0; font-size:18px; font-weight:600; }
.fv-panel>header>div>span { display:block; margin-top:4px; }
.fv-two-panels { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.fv-chart-legend { display:flex; gap:22px; padding:14px 18px 0; color:#aabbd2; font-size:14px; flex-wrap:wrap; }
.fv-chart-legend span { display:flex; gap:7px; align-items:center; }
.fv-chart-legend i { width:9px; height:9px; border-radius:3px; }
.fv-blue { background:var(--fv-blue); }.fv-green { background:var(--fv-green); }
.fv-timeline { display:flex; padding:18px 22px 14px 18px; gap:14px; }
.fv-chart-scale { width:105px; flex:0 0 105px; height:180px; display:flex; flex-direction:column; justify-content:space-between; text-align:right; color:var(--muted,#8b9bb4); font-size:12px; }
.fv-month-bars { height:206px; display:flex; align-items:stretch; gap:12px; flex:1; min-width:0; border-bottom:1px solid #334359; background:repeating-linear-gradient(to top,transparent 0,transparent 89px,#263347 90px); }
.fv-month-col { min-width:35px; flex:1; display:flex; flex-direction:column; align-items:center; gap:8px; }
.fv-bar-pair { height:180px; width:100%; display:flex; justify-content:center; align-items:flex-end; gap:5px; }
.fv-chart-bar { width:30%; max-width:32px; min-width:7px; padding:0; border:0; border-radius:4px 4px 0 0; transition:filter .15s; }
.fv-chart-bar:hover { filter:brightness(1.3); }
.fv-month-col>span { color:var(--muted,#8b9bb4); font-size:12px; white-space:nowrap; }
.fv-chart-details { margin:0 18px 12px; color:#a6c2ff; font-size:14px; }
.fv-chart-details summary { cursor:pointer; padding:6px 0; }
.fv-distribution { padding:10px 18px 16px; }
.fv-dist-row { display:grid; grid-template-columns:minmax(100px,1.1fr) minmax(60px,1fr) minmax(75px,auto); gap:12px; align-items:center; width:100%; border:0; background:transparent; color:var(--text,#e8eef7); padding:11px 0; text-align:left; }
.fv-dist-row>span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; }
.fv-dist-row>div { height:6px; background:#26384e; border-radius:5px; overflow:hidden; }
.fv-dist-row i { display:block; height:100%; background:#709af2; border-radius:5px; }
.fv-dist-row strong { font-size:14px; font-weight:600; text-align:right; white-space:nowrap; }
.fv-dist-row:hover>span { color:#a6c2ff; }
.fv-small-control select { min-height:30px; padding:4px 8px; font-size:14px; }
.fv-overview-foot { display:flex; gap:18px; color:var(--muted,#8b9bb4); flex-wrap:wrap; font-size:14px; padding:0 3px; }
.fv-overview-foot b { color:#c6d4e8; }
.fv-table-scroll { overflow-x:auto; width:100%; }
.fv-page table { border-collapse:collapse; width:100%; font-size:14px; }
.fv-page th { text-align:left; color:#93a9c5; font-weight:600; background:#111c2c; font-size:14px; }
.fv-page td,.fv-page th { padding:12px 14px; border-bottom:1px solid #273348; vertical-align:top; }
.fv-page tbody tr:last-child td { border-bottom:0; }
.fv-page tbody tr:hover>td { background:#1a273a; }
.fv-page td small { display:block; color:var(--muted,#8b9bb4); font-size:12px; margin-top:3px; }
.fv-page .fv-num { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.fv-page .fv-date { white-space:nowrap; width:105px; }
.fv-ledger { min-width:1000px; }
.fv-ledger .fv-title { min-width:215px; max-width:360px; width:28%; }
.fv-ledger .fv-person { min-width:115px; }
.fv-ledger .fv-penalty { color:#e79eab; }
.fv-aggregate { min-width:1040px; }
.fv-aggregate td:first-child,.fv-aggregate th:first-child { min-width:200px; max-width:300px; }
.fv-page tfoot th { color:#d8e4f3; border-top:1px solid #415474; }
.fv-cell-link,.fv-number-link { border:0; color:#b6d0ff; padding:0; background:transparent; font-size:inherit!important; text-align:inherit; }
.fv-cell-link { white-space:normal; overflow-wrap:anywhere; }
.fv-cell-link:hover,.fv-number-link:hover { text-decoration:underline; }
.fv-number-link { white-space:nowrap; }
.fv-page .fv-table-note { color:var(--muted,#8b9bb4); padding:10px 18px; margin:0; font-size:14px; }
.fv-matrix { min-width:650px; }
.fv-matrix th:not(:first-child) { min-width:150px; max-width:220px; }
.fv-matrix td:first-child,.fv-matrix th:first-child { min-width:160px; position:sticky; left:0; background:#152033; z-index:1; }
.fv-ledger-tools { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.fv-ledger-tools label { display:flex; gap:7px; align-items:center; color:var(--muted,#8b9bb4); font-size:14px; }
.fv-ledger-tools select { min-height:34px; font-size:14px; padding:5px 8px; }
.fv-ledger-flags { padding:12px 18px; border-bottom:1px solid #273348; display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:14px; color:var(--muted,#8b9bb4); flex-wrap:wrap; }
.fv-ledger-flags label { display:flex; align-items:center; gap:8px; color:#c4d2e5; }
.fv-role { white-space:nowrap; color:#adbed7; }
.fv-status { display:inline-block; padding:4px 8px; font-size:12px; border-radius:6px; white-space:nowrap; }
.fv-status.paid { color:#8de0b9; background:#203c33; }.fv-status.unpaid { color:#f0cf81; background:#3a3221; }.fv-status.planned { color:#c6b1ff; background:#302844; }.fv-status.issued { color:#9abfff; background:#22354e; }
.fv-fact-detail>summary,.fv-payment-detail>summary { cursor:pointer; color:#d6e1f1; overflow-wrap:anywhere; }
.fv-fact-detail>summary small,.fv-payment-detail>summary small { color:var(--muted,#8b9bb4); }
.fv-fact-explain { margin-top:10px; padding:10px; border-radius:7px; background:#0e1929; display:flex; flex-direction:column; gap:6px; color:#a7bad3; font-size:12px; overflow-wrap:anywhere; }
.fv-pager { padding:12px 18px; display:flex; justify-content:space-between; gap:12px; align-items:center; flex-wrap:wrap; border-top:1px solid #2a3548; color:var(--muted,#8b9bb4); font-size:14px; }
.fv-pager>div { display:flex; align-items:center; gap:10px; }
.fv-pager select { min-height:32px; padding:4px 8px; font-size:14px; }
.fv-pager button { min-height:32px; padding:4px 11px; }
.fv-pager b { color:#d0dff1; }
.fv-selection { display:flex; align-items:center; justify-content:space-between; padding:14px 18px; gap:16px; background:#182944; border-top:1px solid #385276; }
.fv-selection>div { display:flex; flex-direction:column; gap:3px; }
.fv-selection span { font-size:12px; color:#9db2d0; }
.fv-group-heading th { background:#21314a; color:#d5e2f6; }
.fv-group-heading span { color:#91a8c6; font-weight:400; }
.fv-payment-items { margin-top:12px; display:flex; flex-direction:column; gap:9px; }
.fv-payment-items>div { display:flex; gap:18px; justify-content:space-between; border-top:1px solid #2a3548; padding-top:8px; }
.fv-payment-items b { white-space:nowrap; }
.fv-budget-controls { display:flex; align-items:center; gap:22px; flex-wrap:wrap; padding:16px 18px; }
.fv-budget-controls label { display:flex; align-items:center; gap:8px; color:#b8c9df; font-size:14px; }
.fv-budget-equation { display:flex; gap:18px; align-items:center; margin:0 18px 12px; padding:18px; border-radius:10px; background:#101c2f; flex-wrap:wrap; }
.fv-budget-equation>div { display:flex; flex-direction:column; gap:5px; flex:1; min-width:130px; }
.fv-budget-equation span { color:var(--muted,#8b9bb4); font-size:14px; }
.fv-budget-equation strong { font-size:23px; font-weight:600; }
.fv-budget-equation>i { color:#637d9e; font-size:22px; font-style:normal; }
.fv-budget-total strong { color:var(--fv-violet); }
.fv-budget-reason { max-width:330px; min-width:200px; color:#9eb3ce; }
.fv-unknown { color:#f0c66c; }
.fv-budget-unknown { border-top:1px solid #3d3541; background:#241e25; }
.fv-budget-unknown>summary { padding:14px 18px; color:#eac783; cursor:pointer; font-weight:600; }
.fv-budget-unknown>p { padding:0 18px; margin:0 0 12px; color:#b7a695; font-size:14px; }
.fv-budget-complete { padding:13px 18px; border-top:1px solid #2a3548; color:#93bba6; font-size:14px; }
.fv-empty { padding:28px 18px; min-height:120px; display:flex; flex-direction:column; justify-content:center; gap:6px; color:var(--muted,#8b9bb4); font-size:14px; }
.fv-empty strong { color:#c7d5e7; font-weight:600; }
.fv-error,.fv-loading { margin:24px 0; padding:24px; background:#151f30; border:1px solid #34445f; border-radius:12px; }
.fv-error h2 { font-size:20px; margin:0 0 12px; }.fv-error p { color:#e9afb8; }
.fv-is-loading .fv-content,.fv-is-loading .fv-kpis { opacity:.55; }
.fv-is-loading .fv-scope-dot { animation:fv-pulse .8s ease-in-out infinite alternate; }
@keyframes fv-pulse { to { opacity:.25; } }
@media (prefers-reduced-motion:reduce) { .fv-is-loading .fv-scope-dot { animation:none; } }
.fv-message { position:fixed; z-index:50; bottom:24px; right:24px; max-width:min(620px,calc(100vw - 48px)); padding:14px 18px; background:#213b39; border:1px solid #4f877c; border-radius:10px; color:#dcf5ed; box-shadow:0 8px 26px #0005; font-size:14px; }
.fv-message.error { background:#40252d; border-color:#9c5b68; color:#ffd8df; }
.fv-review { padding:0; max-width:min(780px,calc(100vw - 40px)); width:780px; max-height:calc(100vh - 60px); border:1px solid #4a6083; border-radius:14px; background:#152135; color:#e8eef7; box-shadow:0 25px 90px #0009; }
.fv-review::backdrop { background:#030815c9; }
.fv-review-head { display:flex; align-items:flex-start; gap:20px; justify-content:space-between; padding:20px 22px 10px; }
.fv-review-head h2 { margin:0; font-size:22px; font-weight:600; }.fv-review-head p { margin:7px 0 0; color:#a2b7d3; }
.fv-review-head>button { border:none; background:transparent; color:#b1c5df; padding:0 4px; }
.fv-review-notice { margin:0; padding:0 22px 16px; color:#b3c3da; font-size:14px; }
.fv-review-scroll { max-height:calc(100vh - 350px); min-height:100px; overflow:auto; border-block:1px solid #30425e; }
.fv-review-scroll thead { position:sticky; top:0; }
.fv-review-foot { padding:16px 22px; display:flex; justify-content:flex-end; align-items:center; gap:12px; flex-wrap:wrap; }
.fv-review-foot>div { display:flex; flex-direction:column; gap:3px; margin-right:auto; }.fv-review-foot span { color:#a2b7d3; font-size:14px; }.fv-review-foot strong { color:#efcf85; font-size:24px; font-weight:600; }
@media (max-width:1200px) { .fv-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }.fv-period-explain { margin-left:0; width:100%; }.fv-two-panels { grid-template-columns:1fr; }.fv-picker { flex-grow:1; }.fv-ledger-tools { width:100%; } }
@media (max-width:700px) { .fv-page { gap:12px; }.fv-kpis { gap:8px; }.fv-kpi { padding:12px; }.fv-kpi strong { font-size:23px; }.fv-kpi .fv-delta { display:none; }.fv-filter-primary { gap:8px; }.fv-picker { min-width:0; flex-basis:calc(50% - 8px); }.fv-filter-search { flex-basis:100%; order:2; }.fv-filter-primary>.fv-primary,.fv-filter-primary>.fv-link { order:3; }.fv-filter-primary>label:not(.fv-filter-search) { flex:1; }.fv-filter-primary>label>select { width:100%; }.fv-scope-period { width:100%; margin-left:15px; }.fv-tabs button { padding:9px 12px; }.fv-panel>header { padding:12px; }.fv-timeline { overflow-x:auto; padding-left:12px; }.fv-chart-scale { width:72px; flex-basis:72px; }.fv-month-bars { min-width:300px; }.fv-pager,.fv-selection { align-items:flex-start; flex-direction:column; }.fv-ledger-tools label { flex:1; }.fv-ledger-tools select { max-width:165px; }.fv-budget-equation { margin:0 12px; gap:12px; }.fv-budget-equation>div { flex-basis:40%; }.fv-budget-equation>i { display:none; }.fv-budget-controls { padding:12px; gap:12px; }.fv-page td,.fv-page th { padding:10px; } }

/* Approved people-first payments, using the existing site palette and font. */
.fv-payout-page { gap:14px; width:100%; max-width:1360px; margin-inline:auto; }
.fv-payout-page .fv-page-head p { display:none; }
.fv-payout-page .fv-page-head h1 { margin-bottom:0; }
.fv-payout-page .fv-tabs { padding:0; gap:24px; border:0; border-bottom:1px solid var(--border); border-radius:0; background:transparent; }
.fv-payout-page .fv-tabs button { padding:11px 2px; border-radius:0; border-bottom:2px solid transparent; }
.fv-payout-page .fv-tabs button.active { background:transparent; border-bottom-color:var(--accent); color:var(--text); }
.fv-payout-page .fv-tabs button:hover { background:transparent; color:var(--text); }
.fv-payout-summary { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:10px 0 5px; flex-wrap:wrap; }
.fv-payout-summary>div:first-child { display:flex; flex-direction:column; gap:5px; }
.fv-payout-total { border:0; background:transparent; color:var(--text); padding:0; font-size:36px!important; line-height:1.2; font-weight:600; font-variant-numeric:tabular-nums; text-align:left; }
.fv-payout-metrics { display:flex; gap:30px; flex-wrap:wrap; }
.fv-payout-metrics button { display:flex; flex-direction:column; gap:7px; align-items:flex-start; padding:0; border:0; background:transparent; color:var(--text); }
.fv-payout-metrics span { font-size:14px; color:var(--muted); }
.fv-payout-metrics strong { font-size:20px; font-weight:600; font-variant-numeric:tabular-nums; }
.fv-payout-metrics [data-kpi="paid"] strong { color:var(--green); }
.fv-payout-page .fv-filters { border:0; border-block:1px solid var(--border); border-radius:0; background:transparent; padding:12px 0; }
.fv-payout-page .fv-filter-primary .fv-filter-search { order:-1; flex-basis:190px; }
.fv-payout-page .fv-picker { flex:0 1 165px; min-width:140px; }
.fv-payout-page .fv-filter-period { padding-top:10px; margin-top:10px; border-top:0; }
.fv-payout-page>.fv-scope-line { display:none; }
.fv-date-picker { position:relative; min-width:0; flex:0 1 165px; }
.fv-date-picker>summary { list-style:none; min-height:40px; display:flex; align-items:center; gap:8px; padding:8px 10px; border:1px solid var(--border); border-radius:8px; background:#0d1624; cursor:pointer; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.fv-date-picker>summary::after { content:"⌄"; color:var(--muted); margin-left:auto; }
.fv-date-picker>.fv-filter-period { position:absolute; z-index:25; top:calc(100% + 7px); right:0; width:360px; max-width:calc(100vw - 40px); display:flex; align-items:flex-start; flex-direction:column; padding:16px; margin:0; background:var(--card2); border:1px solid var(--border); border-radius:10px; box-shadow:0 12px 35px #0006; }
.fv-date-picker .fv-period-explain { margin:0; white-space:normal; }
.fv-payout-page .fv-content { gap:0; }
.fv-payments-workspace { min-width:0; }
.fv-payments-toolbar { display:flex; justify-content:space-between; align-items:center; gap:14px; margin:3px 0 15px; flex-wrap:wrap; }
.fv-payments-toolbar h2 { margin:0; font-size:18px; font-weight:600; }
.fv-payments-toolbar .fv-ledger-tools { width:auto; }
.fv-ledger-options { position:relative; color:var(--muted); font-size:14px; }
.fv-ledger-options>summary { list-style:none; padding:7px 10px; border:1px solid var(--border); border-radius:8px; cursor:pointer; }
.fv-ledger-options>summary::after { content:" ⌄"; }
.fv-ledger-options>div { position:absolute; top:calc(100% + 7px); right:0; z-index:20; width:310px; max-width:calc(100vw - 40px); padding:15px; background:var(--card2); border:1px solid var(--border); border-radius:10px; box-shadow:0 12px 35px #0006; display:flex; flex-direction:column; gap:15px; }
.fv-ledger-options label { line-height:1.4; }
.fv-ledger-options label:first-child { flex-direction:column; align-items:stretch; }
.fv-payments-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:28px; align-items:start; }
.fv-payments-layout.no-detail { grid-template-columns:minmax(0,1fr); }
.fv-recipients { min-width:0; }
.fv-recipients { display:flex; flex-direction:column; gap:16px; }
.fv-recipient { border:1px solid var(--border); border-radius:12px; overflow:hidden; background:var(--prod); }
.fv-recipient-open { display:flex; align-items:center; gap:12px; width:100%; min-height:86px; padding:16px 18px; border:0; background:#182438; color:var(--text); text-align:left; }
.fv-recipient-open:hover { background:var(--prod); }
.fv-recipient-avatar { flex:0 0 34px; width:34px; height:34px; display:inline-flex; align-items:center; justify-content:center; background:#233959; color:#aecaff; border-radius:50%; font-size:16px; }
.fv-recipient-copy { display:flex; flex-direction:column; gap:4px; flex:1; min-width:0; }
.fv-recipient-copy>strong { font-size:18px; font-weight:600; }
.fv-recipient-copy>small { color:var(--muted); font-size:14px; }
.fv-recipient-amount { font-size:20px; font-weight:600; font-variant-numeric:tabular-nums; white-space:nowrap; }
.fv-recipient-chevron { font-size:26px; color:var(--muted); margin-left:4px; }
.fv-recipient.open .fv-recipient-chevron { transform:rotate(90deg); }
.fv-recipient-balance { display:flex; flex-direction:column; gap:4px; text-align:right; }
.fv-recipient-balance>small { font-size:14px; color:#a8b8cf; }
.fv-recipient-works { padding:8px 14px 14px; border-top:1px solid var(--border); }
.fv-select-person-page { display:flex; gap:9px; align-items:center; color:var(--muted); font-size:14px; padding:8px 0 13px; }
.fv-work-row { display:flex; gap:13px; align-items:center; padding:0 12px; margin:4px 0; border-radius:8px; border:1px solid #27354b; border-left:3px solid transparent; background:#131e2e; }
.fv-work-row:hover { background:var(--card); }
.fv-work-row.active { background:#213451; border-color:#43628f; border-left-color:#84aaff; }
.fv-work-row>input { flex-shrink:0; }
.fv-work-check-space { flex:0 0 16px; }
.fv-work-open { display:flex; gap:20px; align-items:center; min-height:90px; align-self:stretch; flex:1; min-width:0; border:0; background:transparent; color:var(--text); padding:14px 0; text-align:left; }
.fv-work-copy { display:flex; flex-direction:column; gap:4px; min-width:0; flex:1; }
.fv-work-copy>strong { font-size:16px; font-weight:600; line-height:1.35; overflow-wrap:anywhere; }
.fv-work-copy>small { font-size:14px; color:var(--muted); }
.fv-work-row-amount { font-size:16px; font-weight:600; font-variant-numeric:tabular-nums; white-space:nowrap; }
.fv-work-meta { display:flex; flex-direction:column; gap:3px; font-size:14px; line-height:1.35; }
.fv-work-meta>span { color:#c2cfe1; }
.fv-work-meta>time { color:#92a6c2; }
.fv-work-money { display:flex; flex-shrink:0; flex-direction:column; align-items:flex-end; gap:9px; min-width:116px; }
.fv-payment-status { display:inline-flex; align-items:center; gap:6px; padding:4px 9px; border:1px solid; border-radius:6px; font-size:14px; font-weight:600; line-height:1.25; white-space:nowrap; }
.fv-payment-status.paid { background:#163e35; border-color:#357e68; color:#93f1ca; }
.fv-payment-status.unpaid { background:#45381b; border-color:#8c7034; color:#ffda85; }
.fv-payment-list { min-width:0; }
.fv-payment-row { width:100%; display:flex; align-items:center; gap:16px; text-align:left; color:var(--text); background:#131e2e; border:1px solid var(--border); border-left:3px solid transparent; border-radius:10px; padding:18px 16px; margin-bottom:10px; }
.fv-payment-row:hover { background:#1a2940; }
.fv-payment-row.active { background:#213451; border-color:#43628f; border-left-color:#84aaff; }
.fv-payment-row>time { display:flex; flex-direction:column; gap:5px; font-size:16px; flex:0 0 102px; font-variant-numeric:tabular-nums; }
.fv-payment-row>time>span { font-size:14px; color:#a8b8cf; }
.fv-payment-copy { display:flex; flex-direction:column; gap:5px; flex:1; min-width:0; }
.fv-payment-copy>strong { font-size:16px; font-weight:600; }
.fv-payment-copy>span { font-size:14px; color:#c2cfe1; line-height:1.4; overflow-wrap:anywhere; }
.fv-payment-copy>small { font-size:14px; color:#92a6c2; }
.fv-payment-chevron { color:#a8b8cf; font-size:24px; }
.fv-history-layout { grid-template-columns:minmax(0,1fr) 370px; gap:22px; }
.fv-payment-person { display:flex; align-items:center; gap:10px; margin-bottom:18px; }
.fv-payment-person h2 { margin:0; }
.fv-payment-total { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.fv-payment-total .fv-work-amount { margin:0; }
.fv-payment-panel h3 { margin:24px 0 12px; font-size:16px; font-weight:600; }
.fv-payment-composition { max-height:265px; overflow:auto; display:flex; flex-direction:column; gap:7px; }
.fv-composition-row { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px; text-align:left; color:var(--text); border:1px solid var(--border); border-radius:8px; background:#101a29; }
.fv-composition-row.active { background:#233955; border-color:#6287b8; }
.fv-composition-row>span { display:flex; flex-direction:column; gap:5px; min-width:0; }
.fv-composition-row strong { font-size:16px; font-weight:400; overflow-wrap:anywhere; }
.fv-composition-row small { font-size:14px; color:#a8b8cf; }
.fv-composition-row>b { font-size:14px; font-weight:600; white-space:nowrap; }
.fv-payment-panel .fv-work-calculation { margin-top:12px; }
@media(max-width:1100px) { .fv-history-layout { grid-template-columns:minmax(0,1fr) 330px; }.fv-payment-row { gap:10px; }.fv-payment-row>.fv-recipient-avatar { display:none; } }
@media(max-width:700px) { .fv-payment-row { flex-wrap:wrap; }.fv-payment-row>time { flex-basis:100%; flex-direction:row; gap:8px; }.fv-payment-copy { flex-basis:45%; }.fv-work-money { min-width:100px; }.fv-recipient-works { padding-inline:8px; }.fv-work-row { padding-inline:8px; }.fv-recipient-open { padding-inline:12px; }.fv-work-check-space { display:none; } }
.fv-recipient .fv-pager { padding:12px 0 0; margin-top:10px; gap:10px; border:0; }
.fv-recipient .fv-pager>span { font-size:14px; }
.fv-work-detail { min-width:0; padding:20px; border-radius:12px; background:var(--card); border:1px solid var(--border); position:sticky; top:12px; }
.fv-work-detail-head { display:flex; gap:12px; align-items:center; justify-content:space-between; color:var(--muted); font-size:14px; margin-bottom:20px; }
.fv-close-detail { border:0; background:transparent; color:var(--muted); font-size:25px!important; line-height:1; padding:0 3px; }
.fv-work-detail h2 { font-size:20px; line-height:1.3; font-weight:600; margin:0 0 8px; overflow-wrap:anywhere; }
.fv-work-context { font-size:14px; color:var(--muted); margin:0; }
.fv-work-person { display:flex; align-items:center; gap:9px; margin:20px 0 24px; }
.fv-work-person .fv-recipient-avatar { flex-basis:28px; width:28px; height:28px; font-size:14px; }
.fv-work-amount { display:block; margin-top:5px; font-size:29px; line-height:1.2; font-weight:600; font-variant-numeric:tabular-nums; }
.fv-work-calculation { margin:24px 0 0; padding-top:13px; border-top:1px solid var(--border); }
.fv-work-calculation>div { display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:7px 0; font-size:14px; }
.fv-work-calculation dt { color:var(--muted); }
.fv-work-calculation dd { margin:0; text-align:right; font-variant-numeric:tabular-nums; }
.fv-work-calculation dd>small { display:block; color:var(--muted); font-size:14px; max-width:160px; }
.fv-work-calculation .fv-work-total { border-top:1px solid var(--border); padding-top:14px; margin-top:8px; font-weight:600; }
.fv-work-total dt { color:var(--text); }
.fv-work-penalty { color:var(--red); }
.fv-work-calculation .fv-work-reason { display:block; }
.fv-work-reason dd { text-align:left; margin-top:6px; overflow-wrap:anywhere; }
.fv-work-detail>.fv-primary { width:100%; margin-top:20px; }
.fv-work-note { font-size:14px; color:var(--muted); margin:10px 0 0; }
.fv-work-identifiers { margin-top:20px; font-size:14px; color:var(--muted); overflow-wrap:anywhere; }
.fv-work-identifiers summary { cursor:pointer; }
.fv-work-identifiers span { display:block; margin-top:8px; }
.fv-payments-workspace>.fv-selection { position:sticky; bottom:0; z-index:5; margin-top:18px; border:1px solid #385276; border-radius:10px; box-shadow:0 -5px 20px #0b122055; }
.fv-selection .fv-selection-actions { display:flex; flex-direction:row; align-items:center; gap:10px; }
.fv-is-loading .fv-payout-summary { opacity:.55; }
@media(max-width:1200px) { .fv-payments-layout { grid-template-columns:minmax(0,1fr) 290px; gap:20px; }.fv-payout-metrics { gap:20px; }.fv-work-detail { padding:17px; } }
@media(max-width:900px) { .fv-payments-layout { grid-template-columns:minmax(0,1fr); }.fv-work-detail { position:static; order:-1; }.fv-payout-metrics { gap:20px; }.fv-payments-toolbar .fv-ledger-tools { flex-wrap:wrap; width:100%; }.fv-work-open { gap:12px; }.fv-payout-page .fv-picker { flex-grow:1; }.fv-recipient-amount { font-size:18px; } }
@media(max-width:700px) { .fv-payout-page .fv-tabs { gap:15px; }.fv-payout-page .fv-filter-primary .fv-filter-search { flex-basis:100%; }.fv-payout-page .fv-picker { flex-basis:calc(50% - 8px); min-width:0; }.fv-date-picker { flex:1; }.fv-date-picker>.fv-filter-period { right:auto; left:0; }.fv-date-picker #fv-custom-dates { flex-wrap:wrap; }.fv-work-copy>strong { white-space:normal; overflow-wrap:anywhere; }.fv-work-copy>small { font-size:14px; }.fv-work-open { align-items:flex-start; min-height:74px; }.fv-recipient-open { gap:9px; }.fv-recipient-avatar { flex-basis:28px; width:28px; height:28px; }.fv-recipient-copy>strong { font-size:16px; }.fv-recipient-copy>small { font-size:14px; }.fv-recipient-amount { font-size:16px; }.fv-payout-total { font-size:32px!important; }.fv-work-row-amount { font-size:16px; }.fv-payments-workspace>.fv-selection { position:static; }.fv-payout-metrics strong { font-size:18px; } }

/* Native photos and one selection border for pointer interaction. */
.fv-recipient-avatar { position:relative; overflow:hidden; }
.fv-recipient-avatar img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.fv-page button[data-pointer-focus="true"]:focus-visible { outline:none; }

/* One compact workspace for all five finance tabs. */
.fv-unified { width:100%; max-width:1680px; gap:12px; }
.fv-unified .fv-page-head { min-height:38px; }
.fv-unified .fv-tabs { gap:22px; }
.fv-unified .fv-tabs button { padding-block:8px; }
.fv-unified .fv-filters { padding:10px 0; border-bottom:0; }
.fv-unified .fv-filter-primary { flex-wrap:nowrap; gap:8px; }
.fv-unified .fv-filter-search { flex:1 1 170px; min-width:140px; }
.fv-unified .fv-picker { flex:0 1 180px; min-width:130px; }
.fv-unified .fv-filter-primary>label:not(.fv-filter-search) { flex:0 0 132px; min-width:0; }
.fv-unified .fv-filter-primary>.fv-date-picker { flex:0 1 190px; }
.fv-unified .fv-filter-primary>label>.fv-choice { width:100%; }
.fv-unified .fv-filter-primary>[data-reset] { font-size:14px; }
.fv-unified .fv-picker>summary,.fv-unified .fv-date-picker>summary { min-height:36px; padding:6px 10px; font-size:16px; }
.fv-unified input[type=search] { min-height:36px; padding:6px 10px; }
.fv-unified .fv-picker-panel { padding:10px; width:310px; min-width:260px; border-radius:10px; background:#151f2f; }
.fv-unified .fv-picker-short { justify-content:space-between; padding:5px 2px; }
.fv-unified .fv-picker-list>label { min-height:36px; padding:7px 8px; gap:10px; font-size:16px; font-weight:400; }
.fv-unified .fv-picker-list>label:has(input:checked) { background:#243b5b; }
.fv-unified input[type=checkbox] { appearance:none; -webkit-appearance:none; width:15px; height:15px; min-width:15px; border:1px solid #72849d; border-radius:4px; background:transparent; vertical-align:middle; cursor:pointer; }
.fv-unified input[type=checkbox]:checked { border-color:#83a9ff; background:#628bea url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='m3 7 2.5 2.5L11 4' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center no-repeat; }
.fv-unified input[type=checkbox]:indeterminate { background:#628bea; border-color:#83a9ff; box-shadow:inset 0 0 0 3px #628bea,inset 0 6px #fff; }
.fv-unified input[type=checkbox]:focus-visible { outline:2px solid #aac5ff; outline-offset:3px; }
.fv-choice { position:relative; display:inline-block; min-width:0; vertical-align:middle; }
.fv-choice>summary { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:34px; padding:6px 10px; border:1px solid var(--border); border-radius:7px; background:#0e1827; color:var(--text); cursor:pointer; list-style:none; font-size:14px; font-weight:400; white-space:nowrap; }
.fv-choice>summary::-webkit-details-marker { display:none; }
.fv-choice>summary>span { min-width:0; overflow:hidden; text-overflow:ellipsis; }
.fv-choice>summary>i { width:6px; height:6px; border-right:1.5px solid #93aacb; border-bottom:1.5px solid #93aacb; transform:rotate(45deg) translateY(-2px); flex-shrink:0; }
.fv-filter-primary>.fv-choice>summary,.fv-filter-primary>label>.fv-choice>summary { min-height:36px; font-size:16px; }
.fv-choice[open]>summary { border-color:#7496c7; }
.fv-native-select { position:absolute!important; width:1px!important; height:1px!important; min-height:1px!important; padding:0!important; margin:0!important; opacity:0!important; clip-path:inset(50%); pointer-events:none; }
.fv-choice-menu { position:absolute; z-index:35; top:calc(100% + 6px); right:0; min-width:180px; max-height:290px; overflow:auto; padding:5px; border:1px solid #425471; border-radius:9px; background:#172235; box-shadow:0 12px 30px #0007; }
.fv-choice-menu>button { display:flex; width:100%; justify-content:space-between; align-items:center; gap:18px; border:0; background:transparent; color:var(--text); text-align:left; padding:8px 10px; border-radius:5px; font-size:16px; white-space:nowrap; }
.fv-choice-menu>button:hover,.fv-choice-menu>button:focus-visible { background:#263b58; }
.fv-choice-menu>button[aria-selected=true] { background:#243c60; color:#dce9ff; }
.fv-choice-menu i { font-style:normal; color:#a4c2ff; }
.fv-month-menu { width:254px; padding:10px; max-height:none; }
.fv-month-year { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; font-size:16px; }
.fv-month-year>button { border:0; background:transparent; color:#bed1ed; font-size:22px; width:30px; height:30px; border-radius:5px; }
.fv-month-year>button:hover { background:#263b58; }
.fv-month-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:5px; }
.fv-month-grid>button { border:0; border-radius:5px; padding:8px 4px; color:#c3d2e8; background:transparent; font-size:16px; }
.fv-month-grid>button:hover { background:#263b58; }
.fv-month-grid>button.active { background:#315185; color:#fff; }
.fv-summary-strip { display:flex; gap:0; border-block:1px solid var(--border); padding:11px 0; margin:0 0 4px; align-items:center; }
.fv-summary-value { display:flex; flex-direction:column; align-items:flex-start; gap:3px; padding:0 26px; background:transparent; border:0; border-right:1px solid var(--border); color:var(--text); text-align:left; }
.fv-summary-value:first-child { padding-left:0; }
.fv-summary-value>span { font-size:14px; color:#9bafcc; }
.fv-summary-value>strong { font-size:26px; font-weight:600; line-height:1.2; font-variant-numeric:tabular-nums; }
.fv-summary-value.debt>strong { color:#efca78; }.fv-summary-value.paid>strong { color:#79d8b3; }
.fv-summary-value .fv-delta { font-size:14px; }
.fv-summary-context { color:#8fa4c0; font-size:14px; margin-left:auto; white-space:nowrap; }
.fv-unified .fv-content { gap:14px; }
.fv-unified .fv-panel { background:transparent; border:1px solid var(--border); }
.fv-unified .fv-panel>header { padding:12px 16px; }
.fv-unified .fv-panel h2,.fv-unified h2 { font-size:18px; font-weight:600; margin:0; }
.fv-unified .fv-secondary { min-height:34px; padding:6px 12px; font-size:14px; border-radius:7px; }
.fv-overview-top { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:18px; }
.fv-period-facts { border-left:1px solid var(--border); padding:8px 0 4px 20px; min-width:0; }
.fv-period-facts h2 { font-size:16px!important; margin:0 0 10px!important; }
.fv-period-facts dl { margin:0; }.fv-period-facts dl>div { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:5px 0; font-size:14px; }
.fv-period-facts dt { color:#9bafcc; }.fv-period-facts dd { margin:0; font-size:16px; }
.fv-period-facts>.fv-link { margin-top:8px; padding-left:0; font-size:14px; }
.fv-month-flow { padding:12px 16px 4px; }
.fv-flow-row { display:grid; grid-template-columns:minmax(150px,1fr) minmax(100px,1.5fr) 135px; gap:18px; align-items:center; width:100%; min-height:46px; padding:4px 0; border:0; background:transparent; color:var(--text); text-align:left; }
.fv-flow-row>span:first-child { font-size:16px; }.fv-flow-row>strong { font-size:16px; text-align:right; font-weight:600; }
.fv-flow-track { height:9px; border-radius:4px; overflow:hidden; background:#22344d; }.fv-flow-track i { display:block; height:100%; border-radius:4px; }
.fv-flow-row:hover .fv-flow-track { filter:brightness(1.15); }
.fv-unified .fv-timeline { padding-block:12px; }
.fv-unified .fv-chart-scale,.fv-unified .fv-bar-pair { height:145px; }.fv-unified .fv-month-bars { height:174px; }
.fv-unified .fv-chart-details { margin:4px 16px 10px; }.fv-unified .fv-chart-details>summary { font-size:14px; }
.fv-overview-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.fv-unified .fv-two-panels { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.fv-unified .fv-dist-row { grid-template-columns:minmax(100px,1.1fr) minmax(60px,.7fr) minmax(90px,auto); min-height:45px; padding-block:8px; }
.fv-unified .fv-dist-row>span,.fv-unified .fv-dist-row>strong { font-size:16px; }
.fv-analysis-toolbar { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; padding:4px 0 13px; }
.fv-analysis-toolbar>div { display:flex; align-items:center; gap:12px; }.fv-analysis-toolbar>div:has(h2) { flex-direction:column; gap:4px; align-items:flex-start; }
.fv-segments { display:inline-flex; padding:3px; border:1px solid var(--border); border-radius:8px; gap:3px; background:#101a29; }
.fv-segments>button { padding:7px 12px; font-size:16px; color:#9fb3d0; border:0; background:transparent; border-radius:5px; }
.fv-segments>button.active { background:#284366; color:#e8f1ff; }
.fv-analysis-data { border:1px solid var(--border); border-radius:9px; overflow:hidden; }
.fv-unified .fv-aggregate { min-width:850px; }
.fv-unified .fv-aggregate td,.fv-unified .fv-aggregate th { padding:12px 15px; vertical-align:middle; font-size:16px; }
.fv-unified .fv-aggregate th { font-size:14px; }
.fv-unified .fv-aggregate td:first-child { min-width:230px; max-width:350px; }
.fv-unified .fv-cell-link { display:flex; align-items:center; gap:9px; color:var(--text); line-height:1.3; }
.fv-unified .fv-number-link.paid { color:#79d8b3; }.fv-unified .fv-number-link.debt { color:#edca83; }.fv-unified .fv-number-link.penalty { color:#dc9aab; }
.fv-analysis-note { margin-top:10px; color:#8fa4c0; font-size:14px; }
.fv-trend-section { border-top:1px solid var(--border); padding-top:10px; }
.fv-trend-section>summary { cursor:pointer; color:#b3c8e9; font-size:16px; padding:7px 0; }
.fv-unified .fv-payments-toolbar { margin:0 0 10px; }
.fv-unified .fv-payments-toolbar h2 { font-size:16px; }
.fv-unified .fv-payments-layout { grid-template-columns:minmax(0,1fr) 310px; gap:18px; }
.fv-unified .fv-payments-layout.no-detail { grid-template-columns:minmax(0,1fr); }
.fv-unified .fv-recipients { gap:12px; }
.fv-unified .fv-recipient-open { min-height:64px; padding:10px 14px; }
.fv-unified .fv-recipient-copy { gap:2px; }.fv-unified .fv-recipient-copy>strong { font-size:16px; }
.fv-unified .fv-recipient-avatar { width:30px; height:30px; flex-basis:30px; }
.fv-unified .fv-recipient-amount { font-size:18px; }.fv-unified .fv-recipient-balance { gap:1px; }
.fv-unified .fv-recipient-works { padding:5px 10px 10px; }
.fv-unified .fv-select-person-page { padding:7px 4px; }
.fv-unified .fv-work-row { margin:0; border:0; border-bottom:1px solid #2a394e; border-left:3px solid transparent; border-radius:0; background:transparent; }
.fv-unified .fv-work-row:last-of-type { border-bottom:0; }
.fv-unified .fv-work-row:hover { background:#17273d; }
.fv-unified .fv-work-row.active { background:#243956; border-left-color:#8eb6ff; border-radius:5px; }
.fv-unified .fv-work-open { min-height:64px; padding:10px 0; gap:16px; }
.fv-unified .fv-work-copy { gap:5px; }.fv-unified .fv-work-copy>strong { font-weight:400; }
.fv-unified .fv-work-meta { flex-direction:row; flex-wrap:wrap; gap:4px 16px; }
.fv-unified .fv-work-money { flex-direction:row; justify-content:flex-end; align-items:center; gap:16px; }
.fv-unified .fv-work-money>strong { min-width:95px; text-align:right; }
.fv-unified .fv-payment-status { font-size:14px; padding:3px 7px; font-weight:400; }
.fv-unified .fv-work-detail { padding:15px; border-radius:10px; }
.fv-unified .fv-work-detail-head { margin-bottom:12px; }
.fv-unified .fv-work-detail h2 { font-size:18px; margin-bottom:6px; }
.fv-unified .fv-work-person { margin:12px 0 14px; }
.fv-unified .fv-work-amount { font-size:26px; }
.fv-unified .fv-work-calculation { margin-top:14px; padding-top:8px; }
.fv-unified .fv-work-calculation>div { padding:5px 0; }
.fv-unified .fv-work-total { padding-top:10px; margin-top:5px; }
.fv-unified .fv-work-detail>.fv-primary { min-height:36px; margin-top:14px; padding:7px 10px; font-size:16px; }
.fv-unified .fv-pager { padding:10px 0 0; margin-top:4px; }
.fv-unified .fv-history-layout { grid-template-columns:minmax(300px,.7fr) minmax(0,1.3fr); gap:18px; }
.fv-unified .fv-payment-list { min-width:0; }
.fv-unified .fv-payment-row { border-radius:7px; padding:10px 12px; gap:10px; min-height:74px; margin-bottom:6px; flex-wrap:wrap; }
.fv-unified .fv-payment-row>time { flex:0 0 88px; font-size:14px; gap:2px; }
.fv-unified .fv-payment-row>time>span { display:none; }
.fv-unified .fv-payment-copy { flex:1 1 130px; gap:2px; }
.fv-unified .fv-payment-copy>span { display:none; }
.fv-unified .fv-payment-row .fv-work-money { flex-direction:column; gap:4px; min-width:100px; }
.fv-unified .fv-payment-row .fv-payment-status { padding:0; border:0; background:transparent; font-size:14px; }
.fv-unified .fv-payment-chevron { display:none; }
.fv-unified .fv-payment-panel { position:static; min-width:0; }
.fv-unified .fv-payment-person { display:inline-flex; margin:0; }
.fv-unified .fv-payment-panel .fv-payment-total { float:right; display:inline-flex; margin-top:0; }
.fv-unified .fv-work-detail:not(.fv-payment-panel)>.fv-payment-total { float:none; display:flex; margin-top:7px; width:100%; }
.fv-unified .fv-payment-panel h3 { clear:both; margin:20px 0 10px; font-size:16px; }
.fv-unified .fv-payment-composition { max-height:none; overflow:visible; gap:0; border-block:1px solid #34445e; }
.fv-unified .fv-composition-row { padding:10px 12px; border:0; border-bottom:1px solid #2a394e; border-radius:0; min-height:52px; background:transparent; }
.fv-unified .fv-composition-row:last-child { border-bottom:0; }
.fv-unified .fv-composition-row.active { background:#243956; box-shadow:inset 3px 0 #8eb6ff; }
.fv-unified .fv-composition-row>span { flex-direction:row; align-items:baseline; gap:12px; flex:1; }
.fv-unified .fv-composition-row strong { font-size:16px; flex:1; }
.fv-unified .fv-composition-row small { white-space:nowrap; padding-right:10px; }
.fv-unified .fv-composition-row>b { font-size:16px; }
.fv-unified .fv-payment-panel .fv-work-context { display:none; }
.fv-unified .fv-payment-panel .fv-work-calculation { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px 18px; padding-top:12px; margin-top:0; border:0; }
.fv-unified .fv-payment-panel .fv-work-calculation>div { display:flex; flex-direction:column; align-items:flex-start; gap:5px; padding:0; margin:0; border:0; }
.fv-unified .fv-payment-panel .fv-work-calculation dd { text-align:left; font-size:16px; }
.fv-unified .fv-payment-panel .fv-work-calculation .fv-work-reason { grid-column:1/-1; }
.fv-unified .fv-payment-panel .fv-work-calculation .fv-work-total dd { font-weight:600; color:#93d9bc; }
.fv-budget-split { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:20px; }
.fv-budget-list { min-width:0; border:1px solid var(--border); border-radius:9px; overflow:hidden; }
.fv-unified .fv-budget-controls { padding:12px 14px; gap:22px; border-bottom:1px solid var(--border); }
.fv-unified .fv-budget-person { display:flex; align-items:center; gap:8px; white-space:nowrap; }
.fv-unified .fv-budget-list td { font-size:16px; }.fv-unified .fv-budget-list td strong { font-weight:400; }
.fv-unified .fv-budget-list td small { font-size:14px; }
.fv-unified .fv-budget-unknown { background:#171e2b; border-color:#394459; }
.fv-unified .fv-budget-unknown summary { font-size:16px; font-weight:400; padding:12px 14px; }
.fv-budget-reserve { padding:16px 18px; border-left:1px solid var(--border); }
.fv-budget-reserve>span,.fv-budget-reserve>small { display:block; color:#a0b2cc; font-size:14px; }
.fv-budget-reserve>strong { display:block; font-size:32px; line-height:1.3; font-weight:600; color:#c3d6f6; margin:6px 0; }
.fv-budget-reserve dl { margin:18px 0; border-top:1px solid var(--border); padding-top:10px; }
.fv-budget-reserve dl>div { display:flex; gap:10px; justify-content:space-between; padding:7px 0; font-size:14px; }
.fv-budget-reserve dt { color:#a0b2cc; }.fv-budget-reserve dd { margin:0; color:#e0eaf7; white-space:nowrap; }
.fv-budget-reserve p { font-size:14px; }
@media(max-width:1400px) { .fv-unified .fv-filter-primary { flex-wrap:wrap; }.fv-unified .fv-payment-row>.fv-recipient-avatar { display:none; }.fv-unified .fv-work-money { flex-direction:column; gap:5px; align-items:flex-end; }.fv-unified .fv-work-open { min-height:70px; } }
@media(max-width:1050px) { .fv-unified .fv-filter-search { flex-basis:100%; }.fv-unified .fv-picker { flex:1; }.fv-summary-value { padding-inline:15px; }.fv-summary-context { display:none; }.fv-overview-top { grid-template-columns:minmax(0,1fr); }.fv-period-facts { border:0; padding:0; }.fv-period-facts dl { display:flex; gap:20px; flex-wrap:wrap; }.fv-period-facts dl>div { flex-direction:column; align-items:flex-start; }.fv-unified .fv-two-panels { grid-template-columns:minmax(0,1fr); }.fv-unified .fv-history-layout { grid-template-columns:280px minmax(0,1fr); }.fv-unified .fv-payment-panel .fv-payment-total { float:none; display:flex; margin-top:15px; }.fv-budget-split { grid-template-columns:minmax(0,1fr); }.fv-budget-reserve { border-left:0; border-top:1px solid var(--border); } }
@media(max-width:760px) { .fv-unified .fv-payments-layout,.fv-unified .fv-history-layout { grid-template-columns:minmax(0,1fr); }.fv-unified .fv-work-detail { order:0; }.fv-unified .fv-summary-strip { flex-wrap:wrap; gap:10px 0; }.fv-summary-value { padding-inline:10px; }.fv-summary-value>strong { font-size:22px; }.fv-unified .fv-payment-row { flex-wrap:nowrap; }.fv-unified .fv-composition-row>span { flex-direction:column; gap:3px; }.fv-unified .fv-payment-panel .fv-work-calculation { grid-template-columns:repeat(2,minmax(0,1fr)); }.fv-analysis-toolbar>div { flex-wrap:wrap; }.fv-flow-row { grid-template-columns:1fr 110px; gap:9px; }.fv-flow-track { grid-column:1; grid-row:2; }.fv-flow-row>strong { grid-column:2; grid-row:1/3; }.fv-choice-menu { max-width:calc(100vw - 45px); }.fv-date-picker>.fv-filter-period { right:0; left:auto; } }

.fv-unified .fv-secondary,.fv-unified .fv-choice>summary { font-size:16px; }
.fv-unified.fv-is-loading .fv-summary-strip { opacity:.55; }
.fv-unified .fv-work-detail:not(.fv-payment-panel) .fv-work-calculation dt { white-space:nowrap; }
.fv-active-filters {display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:0 0 12px;color:var(--muted,#97abc6);font-size:14px;}
.fv-active-filters button {display:inline-flex;align-items:center;gap:12px;padding:5px 10px;border:1px solid #405b80;border-radius:6px;background:#1b304c;color:#e4edfa;text-align:left;}
.fv-active-filters button span {font-size:18px;line-height:1;color:#a9c5f5;}
.fv-access-note {padding:10px 14px;margin:0 0 10px;border-left:3px solid #d6a747;background:#27271f;color:#e4cf9c;font-size:14px;line-height:1.5;}
.fv-budget-months {display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 16px;}
.fv-budget-months>span {color:#99adc7;font-size:14px;margin-right:4px;}
.fv-budget-months button {display:flex;flex-direction:column;gap:3px;align-items:flex-start;padding:8px 12px;border:1px solid #334861;border-radius:7px;background:#121f30;color:#dce7f5;text-align:left;}
.fv-budget-months button.active {border-color:#729cf0;background:#203651;}
.fv-budget-months button span {font-size:14px;color:#a6bcd7;}
.fv-budget-empty {padding:24px 18px;}
.fv-budget-empty p {margin:8px 0 0;color:#9bb0ce;font-size:14px;line-height:1.5;}
.fv-budget-workspace th:has(.fv-budget-sort) {padding:0;}
.fv-budget-sort {display:flex;align-items:center;gap:8px;width:100%;padding:12px 14px;border:0;border-radius:0;background:transparent;color:#a6bcd7;font:inherit;font-weight:600;text-align:left;cursor:pointer;white-space:nowrap;}
.fv-budget-sort i {font-style:normal;color:#8299ba;font-size:16px;}
.fv-budget-sort:hover {background:#20334e;color:#edf3ff;}
.fv-budget-sort.active,.fv-budget-sort.active i {color:#c0d5ff;}
.fv-budget-sort:focus-visible {outline:2px solid #8aafff;outline-offset:-3px;}
.fv-budget-workspace .fv-num .fv-budget-sort {justify-content:flex-end;}
