/* Shared finance/report presentation, scoped to avoid changing other screens. */
#thuchi,#baocao{--fv-income:#1677ff;--fv-expense:#ef6870;--fv-positive:#168260;--fv-border:#e2eaf3;--fv-muted:#6b7c91;max-width:1380px;margin-inline:auto}
#thuchi .page-head h1,#baocao .page-head h1{font-size:25px;letter-spacing:-.7px}
#thuchi .card,#baocao .card{border-color:var(--fv-border);border-radius:17px;box-shadow:0 3px 15px #102a4304}
#thuchi .sub,#baocao .sub{line-height:1.6}
.fv-page-eyebrow{font-size:10px;font-weight:700;letter-spacing:1.6px;color:#1677ff;margin-bottom:6px}
.fv-filter-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px!important;margin-bottom:14px}
.fv-filter-panel .field{margin:0;min-width:205px}.fv-filter-panel label{font-size:11px;font-weight:600;color:var(--fv-muted);display:block;margin-bottom:5px}
.fv-filter-panel .field-input{height:39px;font-size:12px}.fv-filter-note{max-width:530px;font-size:11px;color:var(--fv-muted)}
#thuchi .period-bar,#baocao .period-bar{gap:6px;margin-bottom:16px;align-items:center;flex-wrap:wrap}
#thuchi .period-chip,#baocao .period-chip{padding:9px 14px;border-radius:9px;font-size:12px}
#thuchi .period-custom,#baocao .period-custom{min-width:0;flex-wrap:wrap}
.fv-overview{display:grid;grid-template-columns:minmax(0,2fr) minmax(230px,1fr);gap:16px;margin-bottom:18px}
.fv-hero{background:linear-gradient(120deg,#102a43,#154475);color:#fff;border:1px solid #214868;border-radius:19px;padding:25px 27px;min-width:0}
.fv-hero-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.fv-hero-label{font-size:12px;color:#d1e3f4;display:block;margin-bottom:7px}
.fv-hero #finance-net{display:block;font-size:clamp(27px,3.5vw,39px);line-height:1.2;font-weight:700;letter-spacing:-1.2px;color:#7eedc4!important;font-variant-numeric:tabular-nums}
.fv-hero #finance-net.fv-negative{color:#ffa1a8!important}.fv-hero #finance-net-status{font-size:11px;color:#d2e3f2;margin-top:8px;display:block}
.fv-hero-link{border:1px solid #6f92b370;border-radius:8px;background:#ffffff0a;color:#eaf4ff;padding:8px 11px;cursor:pointer;font:inherit;font-size:11px;white-space:nowrap}
.fv-compare{display:grid;gap:13px;margin-top:24px}.fv-compare-label{display:flex;justify-content:space-between;gap:12px;font-size:11px;margin-bottom:6px;color:#d1e3f4}.fv-compare-label b{font-size:16px;color:#fff;font-variant-numeric:tabular-nums}
.fv-compare-track{height:11px;background:#ffffff12;border-radius:4px;overflow:hidden}.fv-compare-track i{display:block;height:100%;border-radius:4px;transition:width .2s ease}.fv-compare-track .income{background:#47b5f7}.fv-compare-track .expense{background:#ff7d87}
.fv-hero-note{margin:17px 0 0;font-size:10px;line-height:1.6;color:#c5d9ec;max-width:590px}
.fv-overview-aside{display:grid;gap:13px}.fv-mini-card{padding:19px!important;display:flex;flex-direction:column;justify-content:center}.fv-mini-card>span{color:var(--fv-muted);font-size:11px}.fv-mini-card>strong{font-size:25px;font-variant-numeric:tabular-nums;margin:7px 0;color:#a26613;line-height:1.25}.fv-mini-card>p{margin:0;font-size:10px;color:var(--fv-muted);line-height:1.5}.fv-mini-card:last-child>strong{color:#102a43}
.fv-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:20px}.fv-section-head h3{font-size:15px;margin:0 0 4px;letter-spacing:-.2px}.fv-section-head p{margin:0;font-size:11px;color:var(--fv-muted);line-height:1.6}
.fv-chart-card{padding:22px!important;margin-bottom:18px}.fv-composition-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.fv-composition-panel{min-width:0}.fv-composition-panel+ .fv-composition-panel{padding-left:24px;border-left:1px solid var(--fv-border)}
.fv-panel-label{font-size:11px;color:var(--fv-muted);display:block}.fv-panel-total{font-size:25px;letter-spacing:-.5px;display:block;margin:4px 0 20px;font-variant-numeric:tabular-nums}.fv-income-text{color:var(--fv-income)!important}.fv-expense-text,.fv-negative{color:#d94955!important}
.fv-donut-layout{display:grid;grid-template-columns:145px minmax(0,1fr);gap:17px;align-items:center}.fv-donut{position:relative;width:145px;height:145px;flex-shrink:0;margin:auto}.fv-donut svg{width:100%;height:100%;display:block}.fv-ring-base{stroke:#edf2f7;stroke-width:17;fill:none}.fv-donut-center{position:absolute;inset:29px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;pointer-events:none}.fv-donut-center span{font-size:9px;color:var(--fv-muted)}.fv-donut-center strong{font-size:25px;line-height:1.35;color:#102a43}.fv-donut-center small{font-size:9px;color:var(--fv-muted)}
.fv-category-list{display:grid;gap:12px;min-width:0}.fv-category{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:start;gap:7px;font-size:10px}.fv-category>i{width:7px;height:7px;border-radius:50%;margin-top:4px}.fv-category>span{line-height:1.45;min-width:0}.fv-category small{display:block;font-size:9px;color:var(--fv-muted);margin-top:2px}.fv-category strong{font-size:11px;white-space:nowrap;font-variant-numeric:tabular-nums}.fv-composition-empty{display:flex;gap:20px;align-items:center}.fv-composition-empty p,.fv-adjustment-note{font-size:11px;line-height:1.7;color:var(--fv-muted)}
.fv-trend{min-width:0}.fv-chart-unit{font-size:10px;color:var(--fv-muted);margin:0 0 5px}.fv-chart-scroll{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}.fv-chart-scroll svg{width:100%;display:block;max-height:290px}.fv-chart-scroll text{font:10px 'Be Vietnam Pro',sans-serif;fill:#6b7c91}.fv-chart-grid{stroke:#e9eef5;stroke-width:1}.fv-chart-zero{stroke:#a6b6c8;stroke-width:1}.fv-column.income{fill:var(--fv-income)}.fv-column.expense{fill:var(--fv-expense)}.fv-chart-scroll g[role=button]{cursor:pointer;outline:none}.fv-chart-scroll g[role=button]:hover .fv-column,.fv-chart-scroll g[role=button]:focus .fv-column,.fv-chart-scroll .is-selected .fv-column{stroke:#102a43;stroke-width:1.5}
.fv-chart-selection{display:flex;gap:14px;flex-wrap:wrap;padding:12px 14px;border-radius:10px;background:#f4f8fc;margin-top:12px;font-size:11px;line-height:1.5;font-variant-numeric:tabular-nums}.fv-data-details{margin-top:15px;font-size:11px}.fv-data-details summary{color:#1677ff;cursor:pointer;padding:6px 0}.fv-data-details .finance-table-wrap{margin-top:10px;max-height:330px;overflow:auto}
.fv-toolbar{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.fv-toggle{background:#f2f6fa;padding:4px;border-radius:10px;display:flex;gap:3px;flex-wrap:wrap}.fv-toggle button{border:0;background:transparent;font:inherit;font-size:11px;color:#62778b;padding:7px 12px;border-radius:7px;cursor:pointer}.fv-toggle button.active{background:#fff;color:#102a43;box-shadow:0 1px 5px #102a4312;font-weight:600}
#thuchi .finance-table th{font-size:10px;background:#f5f8fc;padding:12px;color:#6b7c91}#thuchi .finance-table td{padding:15px 12px;font-size:11px;line-height:1.5}#thuchi .finance-table tr[hidden]{display:none!important}#thuchi .finance-table .income-money{color:#1677ff}#thuchi .finance-table .expense-money{color:#d94955}.fv-table-note{font-size:10px;color:var(--fv-muted);margin:12px 0 0;line-height:1.6}
.fv-secondary{margin-top:16px}.fv-secondary>summary{font-size:12px;font-weight:600;padding:16px 19px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}.fv-secondary>summary::-webkit-details-marker{display:none}.fv-secondary>summary::after{content:'＋';color:#1677ff}.fv-secondary[open]>summary::after{content:'−'}.fv-secondary>div{padding:0 19px 18px}.fv-secondary .finance-breakeven{margin-bottom:0!important;box-shadow:none!important}.fv-secondary p{font-size:11px}
.fv-report-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.fv-report-metrics .metric{border:1px solid var(--fv-border);border-radius:14px;padding:19px;background:#fff;min-width:0}.fv-report-metrics .lbl{font-size:11px;line-height:1.5;color:#6b7c91}.fv-report-metrics .val{font-size:clamp(21px,2.3vw,29px);line-height:1.4;letter-spacing:-.6px;margin:6px 0 0;white-space:normal;overflow-wrap:anywhere}.fv-report-metrics .fv-profit-metric{background:#edf8f3;border-color:#d3eee1}.fv-profit-metric .val{color:#168260}.fv-report-metrics .metric small{font-size:9px;line-height:1.5;color:#6b7c91}
.fv-report-charts{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:18px}.fv-report-charts .fv-chart-card{min-width:0}.fv-report-charts .fv-donut-layout{grid-template-columns:135px minmax(0,1fr)}.fv-report-charts .fv-donut{width:135px;height:135px}.fv-report-note{padding:12px 16px;border-radius:10px;background:#f2f6fb;font-size:11px;line-height:1.6;margin-bottom:18px;color:#536b84}
.fv-ranking-scale{display:flex;justify-content:space-between;margin:6px 94px 10px 135px;font-size:9px;color:#8192a4;position:relative}.fv-ranking-scale b{position:absolute;left:50%;transform:translateX(-50%);font-weight:500}.fv-rank-row{border:0;border-top:1px solid #edf2f7;background:transparent;display:grid;grid-template-columns:125px minmax(70px,1fr) 90px;gap:10px;align-items:center;width:100%;padding:15px 0;cursor:pointer;text-align:left;font:inherit}.fv-rank-row:hover{background:#f6f9fd}.fv-rank-name b{display:block;font-size:11px;color:#102a43}.fv-rank-name small{font-size:9px;color:#6b7c91;line-height:1.5;display:block;margin-top:4px}.fv-rank-row>strong{font-size:11px;text-align:right;font-variant-numeric:tabular-nums}.fv-rank-track{position:relative;height:19px;border-radius:4px;background:linear-gradient(to right,#fff0f1 50%,#ecf6ff 50%)}.fv-rank-track::after{content:'';position:absolute;height:27px;top:-4px;left:50%;width:1px;background:#9fb0c2}.fv-rank-track i{position:absolute;height:11px;top:4px;border-radius:2px;background:#1677ff}.fv-rank-track i.loss{background:#ef6870}
.fv-vehicle-detail{border:1px solid var(--fv-border);border-radius:13px;margin-bottom:10px;background:#fff;overflow:hidden}.fv-vehicle-detail summary{display:flex;justify-content:space-between;align-items:center;gap:15px;list-style:none;cursor:pointer;padding:18px 20px}.fv-vehicle-detail summary::-webkit-details-marker{display:none}.fv-vehicle-detail summary b{font-size:12px;line-height:1.6}.fv-vehicle-detail summary small{display:block;font-size:10px;color:#6b7c91;margin-top:3px;line-height:1.6}.fv-vehicle-result{position:relative;padding-right:20px;flex-shrink:0;text-align:right}.fv-vehicle-result strong{font-size:18px;font-variant-numeric:tabular-nums}.fv-vehicle-result i{position:absolute;right:0;top:50%;font-style:normal;color:#6b7c91}.fv-vehicle-detail[open] .fv-vehicle-result i{transform:rotate(180deg)}.fv-vehicle-body{padding:0 20px 16px;border-top:1px solid #edf2f7}.fv-vehicle-body>div{display:flex;justify-content:space-between;gap:14px;font-size:11px;padding-top:13px}.fv-vehicle-body>div>span{color:#6b7c91}.fv-detail-total{margin-top:13px;border-top:1px solid #edf2f7}.fv-empty{padding:35px 15px;text-align:center;color:#6b7c91;font-size:12px;line-height:1.6}.fv-empty>span{color:#243b53;font-weight:600}.fv-empty p{font-size:11px;margin:5px 0}
#thuchi button:focus-visible,#baocao button:focus-visible,#thuchi summary:focus-visible,#baocao summary:focus-visible{outline:3px solid #1677ff66;outline-offset:3px}
@media(max-width:1150px){.fv-composition-grid{gap:18px}.fv-composition-panel+ .fv-composition-panel{padding-left:18px}.fv-donut-layout,.fv-report-charts .fv-donut-layout{grid-template-columns:1fr}.fv-report-charts{grid-template-columns:1.15fr 1fr}.fv-donut{width:145px;height:145px}.fv-category-list{width:100%}.fv-ranking-scale{margin-right:90px;margin-left:112px}.fv-rank-row{grid-template-columns:102px minmax(55px,1fr) 84px;gap:8px}}
@media(max-width:780px){.fv-overview{grid-template-columns:1fr}.fv-overview-aside{grid-template-columns:1fr 1fr}.fv-report-charts{grid-template-columns:1fr}.fv-report-charts .fv-donut-layout{grid-template-columns:140px minmax(0,1fr)}.fv-report-metrics{grid-template-columns:1fr 1fr}.fv-filter-panel{align-items:flex-start}.fv-report-metrics .val{font-size:24px}.fv-rank-row{grid-template-columns:120px minmax(70px,1fr) 100px}.fv-ranking-scale{margin-left:130px;margin-right:110px}}
@media(max-width:540px){#thuchi .page-head,#baocao .page-head{align-items:flex-start;gap:8px}#thuchi .page-head h1,#baocao .page-head h1{font-size:22px}#thuchi .page-head .btn,#baocao .page-head .btn{font-size:10px;padding:7px 10px}.fv-page-eyebrow{font-size:9px}.fv-hero{padding:22px 18px;border-radius:16px}.fv-hero #finance-net{font-size:29px}.fv-hero-link{font-size:10px;padding:7px 8px}.fv-compare-label b{font-size:15px}.fv-hero-note{font-size:10px}.fv-overview{gap:12px}.fv-overview-aside{gap:10px}.fv-mini-card{padding:14px!important}.fv-mini-card>strong{font-size:20px}.fv-mini-card>p{font-size:9px}.fv-chart-card{padding:18px 15px!important}.fv-section-head h3{font-size:14px}.fv-section-head{margin-bottom:16px;flex-wrap:wrap}.fv-section-head p{font-size:10px}.fv-composition-grid{grid-template-columns:1fr;gap:24px}.fv-composition-panel+ .fv-composition-panel{padding:22px 0 0;border-left:0;border-top:1px solid var(--fv-border)}.fv-donut-layout,.fv-report-charts .fv-donut-layout{grid-template-columns:115px minmax(0,1fr);gap:13px}.fv-donut,.fv-report-charts .fv-donut{width:115px;height:115px}.fv-donut-center{inset:23px}.fv-donut-center strong{font-size:22px}.fv-category{font-size:10px;grid-template-columns:6px minmax(0,1fr);gap:5px}.fv-category>strong{grid-column:2;font-size:11px}.fv-category small{display:inline;margin-left:5px;font-size:9px}.fv-category-list{gap:9px}.fv-panel-total{font-size:23px;margin-bottom:15px}.fv-filter-panel{flex-direction:column;padding:13px!important;gap:8px}.fv-filter-panel .field{width:100%;min-width:0}.fv-filter-note{font-size:10px}#thuchi .period-chip,#baocao .period-chip{font-size:10px;padding:7px 10px}#thuchi .period-custom,#baocao .period-custom{width:100%;margin-left:0;gap:6px}#thuchi .period-custom input,#baocao .period-custom input{min-width:0;width:114px;font-size:10px}.fv-chart-selection{font-size:10px;gap:8px 13px}.fv-chart-selection>b{width:100%}.fv-report-metrics{gap:10px}.fv-report-metrics .metric{padding:14px}.fv-report-metrics .val{font-size:21px}.fv-report-metrics .lbl{font-size:10px}.fv-report-metrics small{font-size:9px}.fv-vehicle-detail summary{padding:15px 13px;gap:10px}.fv-vehicle-detail summary b{font-size:11px}.fv-vehicle-detail summary small{font-size:9px}.fv-vehicle-result strong{font-size:15px}.fv-vehicle-result{padding-right:14px}.fv-rank-row{grid-template-columns:94px minmax(55px,1fr) 86px;gap:7px}.fv-ranking-scale{margin-left:101px;margin-right:93px}.fv-rank-name small{font-size:8px}.fv-rank-row>strong{font-size:10px}.fv-ranking-scale{font-size:8px}.fv-report-note{font-size:10px}.fv-secondary>summary{font-size:11px;padding:14px}.fv-secondary>div{padding:0 14px 14px}#thuchi .finance-table td{padding:4px 0;font-size:10px}.fv-toolbar{width:100%}.fv-toolbar .field-input{font-size:10px;max-width:160px}.fv-data-details .finance-table td{font-size:10px}}
@media(prefers-reduced-motion:reduce){.fv-compare-track i{transition:none}}
