.fv2-shell{display:grid;gap:18px}.fv2-page-head{margin-bottom:0}.fv2-eyebrow{margin-bottom:5px;color:var(--gold);font-size:10px;font-weight:900;letter-spacing:2.5px}.fv2-version{padding:7px 11px;border:1px solid rgba(242,193,58,.32);border-radius:99px;color:#e9d9a8;background:rgba(242,193,58,.07);font-size:11px;font-weight:800;white-space:nowrap}.fv2-tabs{display:flex;gap:5px;padding:5px;border:1px solid rgba(242,193,58,.2);border-radius:14px;background:rgba(0,0,0,.22);overflow-x:auto;scrollbar-width:none}.fv2-tabs::-webkit-scrollbar{display:none}.fv2-tab{flex:1;min-width:126px;padding:11px 13px;border:0;border-radius:10px;color:rgba(245,237,234,.58);background:transparent;font-size:13px;font-weight:800;white-space:nowrap}.fv2-tab:hover{color:#fff;background:rgba(255,255,255,.05)}.fv2-tab.active{color:#2a0f13;background:linear-gradient(90deg,#f2c13a,#d9a722);box-shadow:0 7px 18px rgba(242,193,58,.16)}.fv2-tab:disabled{opacity:.35;cursor:not-allowed}.fv2-loading,.fv2-empty{min-height:260px;display:grid;place-content:center;justify-items:center;gap:10px;text-align:center;border:1px solid var(--panel-border);border-radius:16px;background:rgba(255,255,255,.025)}.fv2-loading span{width:30px;height:30px;border:3px solid rgba(242,193,58,.18);border-top-color:var(--gold);border-radius:50%;animation:fv2spin .8s linear infinite}.fv2-empty p{color:var(--txt-dim);font-size:12px}.fv2-empty.compact{min-height:170px;border:0;background:transparent}@keyframes fv2spin{to{transform:rotate(360deg)}}
.fv2-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.fv2-stat{min-width:0;padding:16px 17px;border:1px solid var(--panel-border);border-radius:14px;background:linear-gradient(160deg,rgba(255,255,255,.055),rgba(255,255,255,.018))}.fv2-stat span{display:block;color:var(--txt-dim);font-size:11px}.fv2-stat strong{display:block;margin-top:5px;overflow:hidden;text-overflow:ellipsis;color:#fff;font-size:20px;white-space:nowrap}.fv2-stat strong.green{color:var(--green)}.fv2-stat strong.red{color:#ff8a8e}.fv2-stat strong.gold{color:var(--gold)}.fv2-preserve{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 16px;border:1px solid rgba(95,212,160,.27);border-radius:12px;background:rgba(95,212,160,.065)}.fv2-preserve b,.fv2-preserve span{display:block}.fv2-preserve b{color:var(--green);font-size:13px}.fv2-preserve span,.fv2-preserve p{margin-top:3px;color:var(--txt-dim);font-size:11px}.fv2-panel{overflow:hidden;padding:20px;border:1px solid var(--panel-border);border-radius:16px;background:linear-gradient(155deg,rgba(255,255,255,.052),rgba(255,255,255,.014))}.fv2-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.fv2-panel-head h3{font-size:16px}.fv2-panel-head p,.fv2-side-info>p{margin-top:4px;color:var(--txt-dim);font-size:11.5px;line-height:1.5}.fv2-required{color:#ff8a8e;font-size:11px;font-weight:800}.fv2-filters{display:grid;grid-template-columns:110px 100px minmax(160px,1.3fr) 120px 140px auto;gap:8px;margin-bottom:12px}.fv2-filters select,.fv2-form select,.fv2-form input,.fv2-form textarea,.fv2-upload select,.fv2-upload input,.fv2-bulk-table select{width:100%;min-height:42px;padding:9px 11px;border:1px solid rgba(242,193,58,.22);border-radius:10px;outline:0;background:#160b0d;color:#fff;font:inherit;font-size:13px}.fv2-filters select:focus,.fv2-form select:focus,.fv2-form input:focus,.fv2-form textarea:focus,.fv2-upload select:focus,.fv2-upload input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(242,193,58,.1)}.fv2-table-scroll{overflow:auto;border:1px solid rgba(255,255,255,.07);border-radius:12px}.fv2-table{width:100%;min-width:1040px;border-collapse:collapse}.fv2-table th{padding:11px 12px;color:#b99536;background:rgba(0,0,0,.16);font-size:10.5px;text-align:left;white-space:nowrap}.fv2-table td{padding:12px;border-top:1px solid rgba(255,255,255,.065);color:rgba(245,237,234,.77);font-size:12px;vertical-align:top}.fv2-table td>b{display:block;color:#f5edea}.fv2-table td small{display:block;margin-top:3px;color:var(--txt-dim);font-size:10.5px;line-height:1.35}.fv2-table tr.is-canceled{opacity:.48}.fv2-attachment{display:block;margin-top:4px;color:var(--gold);font-size:10.5px}.fv2-missing{display:block;margin-top:4px;color:#ff8a8e;font-size:10px}.fv2-amount{font-weight:900;white-space:nowrap}.fv2-amount.plus{color:var(--green)}.fv2-amount.minus{color:#ff8a8e}.fv2-amount.zero{color:#d5c7c0}.fv2-pill{display:inline-flex;align-items:center;padding:4px 7px;border-radius:99px;background:rgba(255,255,255,.08);font-size:10px;font-weight:900;white-space:nowrap}.fv2-pill.type-fee,.fv2-pill.member-full,.fv2-pill.bulk-auto_matched{color:var(--green);background:rgba(95,212,160,.13)}.fv2-pill.type-income{color:var(--gold);background:rgba(242,193,58,.13)}.fv2-pill.type-expense,.fv2-pill.status-canceled,.fv2-pill.bulk-duplicate{color:#ff8a8e;background:rgba(255,80,90,.13)}.fv2-pill.status-cancel_requested,.fv2-pill.member-partial,.fv2-pill.bulk-needs_review{color:#ffd364;background:rgba(242,193,58,.13)}.fv2-pill.member-unpaid{color:#d0bfc0}.fv2-row-actions{display:flex;gap:5px}.fv2-row-actions button{padding:5px 8px;border:1px solid rgba(255,255,255,.12);border-radius:7px;background:rgba(255,255,255,.05);color:#ddd;font-size:10px;font-weight:800}.fv2-row-actions .danger{border-color:rgba(255,80,90,.3);color:#ff8a8e}.fv2-row-actions .gold{border-color:rgba(242,193,58,.3);color:var(--gold)}.fv2-status-counts{display:flex;gap:7px;flex-wrap:wrap}.fv2-status-counts span{padding:5px 8px;border-radius:8px;background:rgba(255,255,255,.05);font-size:10px}.fv2-status-counts .full{color:var(--green)}.fv2-status-counts .partial{color:var(--gold)}.fv2-status-counts .unpaid{color:#ff8a8e}.fv2-member-status-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.055)}.fv2-member-status-list>div{display:grid;grid-template-columns:auto minmax(60px,1fr) auto auto;align-items:center;gap:7px;padding:9px 10px;background:#1c0e11;font-size:11px}.fv2-member-status-list>div.selected{position:relative;z-index:1;background:rgba(242,193,58,.12);box-shadow:inset 0 0 0 1px var(--gold)}.fv2-member-status-list small{color:var(--txt-dim)}.fv2-member-status-list strong{font-size:10px;white-space:nowrap}.fv2-member-dot{width:7px;height:7px;border-radius:50%;background:#aaa}.fv2-member-dot.full{background:var(--green)}.fv2-member-dot.partial{background:var(--gold)}.fv2-member-dot.unpaid{background:#ff8a8e}.fv2-muted{color:var(--txt-dim);font-size:12px}
.fv2-work-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,.75fr);gap:16px;align-items:start}.fv2-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.fv2-field{display:flex;flex-direction:column;gap:6px;min-width:0}.fv2-field.fv2-wide{grid-column:1/-1}.fv2-field label{color:#d9b94e;font-size:11px;font-weight:900}.fv2-field small{color:var(--txt-dim);font-size:10px}.fv2-field textarea{min-height:84px;resize:vertical}.fv2-optional{color:var(--txt-dim);font-weight:500}.fv2-money{display:grid;grid-template-columns:1fr auto;align-items:center}.fv2-money input{grid-column:1/-1;grid-row:1}.fv2-money span{grid-column:2;grid-row:1;padding-right:12px;color:var(--gold);font-size:11px;font-weight:900;pointer-events:none}.fv2-actions{display:flex;justify-content:flex-end;margin-top:17px}.fv2-actions .btn{min-width:150px;justify-content:center}.fv2-side-info{position:sticky;top:16px}.fv2-side-info>.fv2-stats{grid-template-columns:1fr 1fr;margin-top:15px}.fv2-side-info .fv2-stat{padding:12px}.fv2-side-info .fv2-stat strong{font-size:14px}.fv2-side-info .fv2-member-status-list{grid-template-columns:1fr;max-height:430px;overflow:auto;margin-top:14px}.fv2-side-info .fv2-panel{padding:0;border:0;background:transparent}.fv2-side-info .fv2-panel-head{display:none}.fv2-warning{display:grid;gap:4px;margin-top:15px;padding:12px;border:1px solid rgba(242,193,58,.25);border-radius:11px;background:rgba(242,193,58,.07)}.fv2-warning b{color:var(--gold);font-size:11px}.fv2-warning span{color:var(--txt-dim);font-size:10.5px;line-height:1.5}.fv2-warning.danger{border-color:rgba(255,80,90,.25);background:rgba(255,80,90,.06)}.fv2-warning.danger b{color:#ff8a8e}.fv2-formula{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:16px}.fv2-formula b{padding:9px;border-radius:8px;background:rgba(255,255,255,.045);font-size:11px}.fv2-formula i{align-self:center;color:var(--gold);font-style:normal}.fv2-formula strong{grid-column:1/-1;padding:11px;border-radius:8px;text-align:center;color:var(--gold);background:rgba(242,193,58,.1);font-size:13px}.fv2-reference-field[hidden]{display:none}.fv2-modal-copy{margin:-3px 0 14px;color:var(--txt-dim);font-size:12px;line-height:1.5}
.fv2-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}.fv2-steps div{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid rgba(255,255,255,.07);border-radius:10px;color:var(--txt-dim);font-size:11px}.fv2-steps b{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.07);color:#fff}.fv2-steps .active{color:var(--gold);border-color:rgba(242,193,58,.3);background:rgba(242,193,58,.06)}.fv2-steps .active b{background:var(--gold);color:#2a0f13}.fv2-upload{display:grid;grid-template-columns:minmax(260px,1fr) 110px 100px auto;gap:10px;align-items:end}.fv2-upload label{display:flex;flex-direction:column;gap:6px;color:#d9b94e;font-size:11px;font-weight:900}.fv2-legend{display:flex;align-items:center;gap:8px;margin-top:14px;flex-wrap:wrap}.fv2-legend span{padding:4px 7px;border-radius:7px;font-size:10px;font-weight:900}.fv2-legend .auto{color:var(--green);background:rgba(95,212,160,.12)}.fv2-legend .review{color:var(--gold);background:rgba(242,193,58,.12)}.fv2-legend .duplicate{color:#ff8a8e;background:rgba(255,80,90,.12)}.fv2-legend p{margin-left:auto;color:var(--txt-dim);font-size:10.5px}.fv2-bulk-table select{min-width:150px;min-height:34px;padding:6px 8px;font-size:11px}.fv2-bulk-table input[type=checkbox]{width:17px;height:17px;accent-color:var(--gold)}
.fv2-filters{grid-template-columns:100px 90px minmax(145px,1.2fr) 105px 115px 115px 125px auto}.fv2-audit-list{display:grid;gap:8px;max-height:min(56vh,430px);overflow:auto}.fv2-audit-list article{padding:11px;border:1px solid rgba(255,255,255,.09);border-radius:10px;background:rgba(255,255,255,.035)}.fv2-audit-list b,.fv2-audit-list span{display:block}.fv2-audit-list b{color:var(--gold);font-size:12px}.fv2-audit-list span,.fv2-audit-list p{margin-top:4px;color:var(--txt-dim);font-size:10.5px;line-height:1.45}
.fv2-chart-stack{display:grid;gap:14px}.fv2-chart-panel{overflow:hidden}.fv2-chart-legend{display:flex;align-items:center;gap:13px;flex-wrap:wrap;color:var(--txt-dim);font-size:10px;font-weight:800}.fv2-chart-legend span{display:flex;align-items:center;gap:5px}.fv2-chart-legend span:before{content:"";width:9px;height:9px;border-radius:3px;background:currentColor}.fv2-chart-legend .income{color:#5fd4a0}.fv2-chart-legend .expense{color:#ff7d87}.fv2-chart-legend .balance{color:#f2c13a}.fv2-annual-chart{display:grid;gap:11px}.fv2-annual-row{display:grid;grid-template-columns:54px minmax(0,1fr) 105px;align-items:center;gap:12px}.fv2-annual-row>b{color:#f8eee9;font-size:12px}.fv2-annual-row>strong{text-align:right;font-size:11px}.fv2-annual-row .plus,.fv2-month-column .plus{color:#f2c13a}.fv2-annual-row .minus,.fv2-month-column .minus{color:#ff7d87}.fv2-annual-bars{display:grid;gap:5px;min-width:0}.fv2-annual-bars span{position:relative;width:var(--bar);min-width:4px;height:20px;border-radius:5px;transition:width .45s ease}.fv2-annual-bars .income{background:linear-gradient(90deg,#328b6d,#5fd4a0)}.fv2-annual-bars .expense{background:linear-gradient(90deg,#a63846,#ff7d87)}.fv2-annual-bars i{position:absolute;left:7px;top:50%;transform:translateY(-50%);color:#14090b;font-size:9px;font-style:normal;font-weight:900}.fv2-annual-bars em{position:absolute;left:calc(100% + 7px);top:50%;transform:translateY(-50%);color:#d8c9c7;font-size:9px;font-style:normal;font-weight:700;white-space:nowrap}.fv2-chart-year{display:flex;align-items:center;gap:8px;color:var(--txt-dim);font-size:10px;font-weight:800}.fv2-chart-year select{min-height:34px;padding:6px 28px 6px 10px}.fv2-monthly-scroll{overflow-x:auto;padding:4px 2px 8px;scrollbar-color:rgba(242,193,58,.35) transparent}.fv2-monthly-chart{display:grid;grid-template-columns:repeat(12,minmax(66px,1fr));gap:7px;min-width:830px;height:235px;border-bottom:1px solid rgba(242,193,58,.18)}.fv2-month-column{display:grid;grid-template-rows:180px auto auto;gap:5px;align-items:end;text-align:center}.fv2-month-bars{height:180px;display:flex;align-items:flex-end;justify-content:center;gap:4px;padding:0 7px;background:linear-gradient(to top,rgba(255,255,255,.035) 1px,transparent 1px);background-size:100% 45px;border-radius:6px}.fv2-month-bars span{width:13px;min-height:2px;border-radius:4px 4px 1px 1px;transition:height .45s ease}.fv2-month-bars .income{background:linear-gradient(to top,#328b6d,#5fd4a0)}.fv2-month-bars .expense{background:linear-gradient(to top,#a63846,#ff7d87)}.fv2-month-column>b{color:#f8eee9;font-size:10px}.fv2-month-column>small{font-size:8px;white-space:nowrap}.fv2-chart-panel>.fv2-chart-legend{justify-content:center;margin-top:12px}
@media(max-width:1050px){.fv2-work-grid{grid-template-columns:1fr}.fv2-side-info{position:static}.fv2-filters{grid-template-columns:repeat(3,1fr)}.fv2-member-status-list{grid-template-columns:1fr 1fr}.fv2-upload{grid-template-columns:1fr 110px 100px}.fv2-upload .btn{grid-column:1/-1;justify-content:center}}
@media(max-width:720px){.fv2-shell{gap:12px}.fv2-page-head{align-items:flex-start}.fv2-version{font-size:9px}.fv2-tabs{margin:0 -4px}.fv2-tab{min-width:112px;padding:10px;font-size:12px}.fv2-stats{grid-template-columns:1fr 1fr;gap:8px}.fv2-stat{padding:12px}.fv2-stat strong{font-size:16px}.fv2-preserve{align-items:flex-start;flex-direction:column;gap:5px}.fv2-panel{padding:14px}.fv2-panel-head{margin-bottom:12px}.fv2-filters{grid-template-columns:1fr 1fr}.fv2-filters .btn{grid-column:1/-1;justify-content:center}.fv2-form-grid{grid-template-columns:1fr}.fv2-field.fv2-wide{grid-column:auto}.fv2-member-status-list{grid-template-columns:1fr}.fv2-member-status-list>div{grid-template-columns:auto minmax(70px,1fr) auto}.fv2-member-status-list>div>small{display:none}.fv2-steps{grid-template-columns:1fr 1fr}.fv2-upload{grid-template-columns:1fr 1fr}.fv2-upload label{grid-column:1/-1}.fv2-upload .btn{grid-column:1/-1}.fv2-legend p{width:100%;margin-left:0}.fv2-side-info>.fv2-stats{grid-template-columns:1fr 1fr}.fv2-chart-panel .fv2-panel-head{align-items:flex-start}.fv2-annual-row{grid-template-columns:38px minmax(0,1fr) 82px;gap:8px}.fv2-annual-bars em{display:none}.fv2-monthly-chart{height:205px}.fv2-month-column{grid-template-rows:150px auto auto}.fv2-month-bars{height:150px}}
@media(max-width:420px){.fv2-page-head .sub{max-width:240px}.fv2-version{display:none}.fv2-stats{grid-template-columns:1fr 1fr}.fv2-stat strong{font-size:14px}.fv2-panel{padding:12px;border-radius:13px}.fv2-panel-head{flex-direction:column}.fv2-form select,.fv2-form input,.fv2-form textarea,.fv2-filters select{font-size:16px}.fv2-actions .btn{width:100%}.fv2-upload{grid-template-columns:1fr}.fv2-upload label,.fv2-upload .btn{grid-column:auto}.fv2-steps div{padding:8px 7px}.fv2-steps span{font-size:10px}.fv2-member-status-list>div{padding:8px}.fv2-member-status-list>div strong{display:none}}
.fv2-dashboard{display:grid;gap:14px;min-width:0}.fv2-dashboard-toolbar{display:flex;justify-content:flex-end;align-items:end;gap:9px}.fv2-dashboard-toolbar label{display:grid;gap:5px}.fv2-dashboard-toolbar label>span{color:#c9a842;font-size:10px;font-weight:900}.fv2-dashboard-toolbar select,.fv2-dashboard-toolbar input{height:38px;padding:7px 31px 7px 11px;border:1px solid rgba(242,193,58,.28);border-radius:10px;outline:0;background:#180b0e;color:#f7efec;font:inherit;font-size:12px;font-weight:800}.fv2-dashboard-toolbar select:focus,.fv2-dashboard-toolbar input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(242,193,58,.1)}.fv2-calendar-picker{position:relative}.fv2-calendar-picker>span{position:absolute;left:10px;bottom:11px;z-index:1;color:var(--gold)!important;font-size:13px!important}.fv2-calendar-picker input{width:42px;padding:0;color:transparent}.fv2-calendar-picker input::-webkit-calendar-picker-indicator{width:100%;height:100%;margin:0;cursor:pointer;opacity:0}
.fv2-dashboard-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.fv2-dashboard-card{display:flex;align-items:center;gap:10px;min-width:0;min-height:92px;padding:14px;border:1px solid rgba(242,193,58,.18);border-radius:14px;background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.015));box-shadow:0 12px 24px rgba(0,0,0,.1)}.fv2-dashboard-card i{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:rgba(255,255,255,.07);color:#d7c8c4;font-size:19px;font-style:normal;font-weight:1000}.fv2-dashboard-card div{min-width:0}.fv2-dashboard-card span{display:block;color:#bcaeaa;font-size:10.5px;font-weight:800}.fv2-dashboard-card strong{display:block;margin-top:6px;overflow:hidden;text-overflow:ellipsis;color:#fff;font-size:18px;line-height:1.1;white-space:nowrap}.fv2-dashboard-card.paid i,.fv2-dashboard-card.paid strong,.fv2-dashboard-card.income i,.fv2-dashboard-card.income strong,.fv2-dashboard-card.balance i,.fv2-dashboard-card.balance strong{color:#61d49d}.fv2-dashboard-card.unpaid i,.fv2-dashboard-card.unpaid strong{color:#ff6974}.fv2-dashboard-card.expense i,.fv2-dashboard-card.expense strong{color:#74a3ee}.fv2-dashboard-card.members i,.fv2-dashboard-card.members strong{color:#f2c13a}
.fv2-dashboard-top{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(310px,.85fr);gap:14px;min-width:0}.fv2-dashboard-bottom{display:grid;grid-template-columns:minmax(380px,.8fr) minmax(0,1.45fr);gap:14px;min-width:0}.fv2-dashboard-panel{min-width:0;padding:17px}.fv2-dashboard-panel .fv2-panel-head{align-items:center;margin-bottom:13px}.fv2-dashboard-panel .fv2-panel-head h3{color:#f7eeeb;font-size:14px}.fv2-dashboard-panel .fv2-panel-head p{margin-top:3px;font-size:10px}.fv2-dashboard-legend{display:flex;align-items:center;gap:11px;flex-wrap:wrap;color:#c8bdb9;font-size:9.5px;font-weight:800}.fv2-dashboard-legend span{display:flex;align-items:center;gap:5px}.fv2-dashboard-legend span:before{content:"";width:8px;height:8px;border-radius:2px;background:currentColor}.fv2-dashboard-legend .income{color:#5fd4a0}.fv2-dashboard-legend .expense{color:#72a3ec}.fv2-dashboard-legend .partial{color:#f2ad38}.fv2-dashboard-legend .unpaid{color:#ff6570}
.fv2-dashboard-chart-scroll{overflow-x:auto;padding:10px 2px 2px;scrollbar-width:thin;scrollbar-color:rgba(242,193,58,.35) transparent}.fv2-dashboard-month-chart{display:grid;grid-template-columns:repeat(12,minmax(47px,1fr));gap:6px;min-width:680px;height:226px;padding-top:6px;border-bottom:1px solid rgba(242,193,58,.17);background:repeating-linear-gradient(to bottom,rgba(255,255,255,.04) 0 1px,transparent 1px 51px)}.fv2-dashboard-month{display:grid;grid-template-rows:190px 22px;align-items:end;text-align:center}.fv2-dashboard-bars{height:185px;display:flex;align-items:flex-end;justify-content:center;gap:4px}.fv2-dashboard-bars span{position:relative;width:15px;min-height:2px;border-radius:4px 4px 1px 1px;transition:height .35s ease}.fv2-dashboard-bars span.income{background:linear-gradient(to top,#2c8966,#65dda8)}.fv2-dashboard-bars span.expense{background:linear-gradient(to top,#3f67a7,#79aaf2)}.fv2-dashboard-bars em{position:absolute;left:50%;bottom:calc(100% + 4px);transform:translateX(-50%);color:inherit;font-size:7.5px;font-style:normal;font-weight:900;white-space:nowrap}.fv2-dashboard-bars .income em{color:#77dcb0}.fv2-dashboard-bars .expense em{color:#8fb7f3}.fv2-dashboard-month>b{color:#b8aaa7;font-size:9px}
.fv2-payment-layout{display:grid;grid-template-columns:minmax(145px,.8fr) minmax(145px,1fr);align-items:center;gap:16px;padding:9px 3px 4px}.fv2-donut{position:relative;width:min(180px,100%);aspect-ratio:1;margin:auto;border-radius:50%;background:conic-gradient(#5fd4a0 0 var(--paid),#f2a12b var(--paid) var(--partial),#ef5968 var(--partial) var(--unpaid),#756b6d var(--unpaid) 100%);box-shadow:0 0 28px rgba(0,0,0,.22)}.fv2-donut:after{content:"";position:absolute;inset:27%;border:1px solid rgba(255,255,255,.07);border-radius:50%;background:#1b0c0f}.fv2-donut>div{position:absolute;inset:29%;z-index:1;display:grid;place-content:center;text-align:center}.fv2-donut b{color:#fff;font-size:20px}.fv2-donut span{color:#a99996;font-size:8.5px;white-space:nowrap}.fv2-payment-list{display:grid;gap:10px}.fv2-payment-list>div{display:grid;grid-template-columns:minmax(72px,1fr) auto auto;align-items:center;gap:7px;color:#d7ccca;font-size:10px}.fv2-payment-list span{display:flex;align-items:center;gap:6px}.fv2-payment-list span:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}.fv2-payment-list .paid{color:#5fd4a0}.fv2-payment-list .partial{color:#f2a12b}.fv2-payment-list .unpaid{color:#ef5968}.fv2-payment-list .exempt{color:#8d8385}.fv2-payment-list b{color:#f4ece9;white-space:nowrap}.fv2-payment-list em{color:#8e8180;font-size:9px;font-style:normal;white-space:nowrap}
.fv2-age-chart{display:grid;grid-template-columns:repeat(6,minmax(54px,1fr));gap:6px;height:232px;padding-top:8px;border-bottom:1px solid rgba(242,193,58,.17);background:repeating-linear-gradient(to bottom,rgba(255,255,255,.04) 0 1px,transparent 1px 50px)}.fv2-age-group{display:grid;grid-template-rows:174px auto auto;gap:3px;align-items:end;text-align:center}.fv2-age-bars{height:170px;display:flex;align-items:flex-end;justify-content:center;gap:3px}.fv2-age-bars span{position:relative;width:11px;min-height:2px;border-radius:3px 3px 1px 1px}.fv2-age-bars span.income{background:#5fd4a0}.fv2-age-bars span.partial{background:#f2a12b}.fv2-age-bars span.unpaid{background:#ef5968}.fv2-age-bars em{position:absolute;left:50%;bottom:calc(100% + 3px);transform:translateX(-50%);color:inherit;font-size:8px;font-style:normal;font-weight:900}.fv2-age-group>b{color:#e8ddda;font-size:8.5px}.fv2-age-group>small{color:#847778;font-size:7px;white-space:nowrap}
.fv2-overdue-count{padding:5px 9px;border-radius:99px;color:#ff737d;background:rgba(239,89,104,.12);font-size:10px}.fv2-overdue-table{max-height:370px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;touch-action:pan-x pan-y;border-radius:10px;outline:none}.fv2-overdue-table:focus-visible{box-shadow:0 0 0 2px rgba(242,193,58,.35)}.fv2-overdue-table .head,.fv2-overdue-table .row{display:grid;grid-template-columns:minmax(72px,1fr) 67px 88px 92px 105px 130px;align-items:center;gap:8px;min-width:610px}.fv2-overdue-table .head{position:sticky;top:0;z-index:2;padding:8px 9px;color:#b99738;background:#1a0c0f;font-size:8.5px;font-weight:900}.fv2-overdue-table .row{padding:9px;border-top:1px solid rgba(255,255,255,.065);color:#bcb0ad;background:rgba(255,255,255,.008);font-size:9.5px}.fv2-overdue-table .row>b{color:#f5ece9}.fv2-overdue-table .row>strong{color:#ff6c77}.fv2-overdue-table .actions{display:flex;gap:5px}.fv2-overdue-table .actions button,.fv2-overdue-table .actions a{padding:5px 7px;border:1px solid rgba(242,193,58,.28);border-radius:6px;color:#d7c8a2;background:rgba(242,193,58,.05);font:inherit;font-size:8.5px;font-weight:900;text-decoration:none;white-space:nowrap}.fv2-overdue-table .actions a{color:#fff0eb;border-color:#a5232b;background:#77151d}.fv2-overdue-table .empty{min-width:610px;padding:35px 10px;text-align:center;color:#8e8180;font-size:10px}.fv2-overdue-modal{display:flex;flex-direction:column;width:min(980px,calc(100vw - 28px));max-height:min(850px,calc(100dvh - 32px));overflow:hidden}.fv2-overdue-modal>h3{flex:0 0 auto}.fv2-overdue-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-5px 0 12px}.fv2-overdue-modal-head p{color:#a99691;font-size:11px}.fv2-overdue-modal-head strong{padding:6px 11px;border-radius:99px;color:#ff7b84;background:rgba(239,89,104,.13);font-size:12px;white-space:nowrap}.fv2-overdue-modal .fv2-overdue-table{flex:1;max-height:min(66dvh,680px);border:1px solid rgba(255,255,255,.08)}.fv2-overdue-modal .form-actions{flex:0 0 auto;margin-top:12px}
@media(max-width:1240px){.fv2-dashboard-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.fv2-dashboard-top,.fv2-dashboard-bottom{grid-template-columns:1fr}.fv2-payment-layout{grid-template-columns:minmax(140px,220px) minmax(160px,1fr)}.fv2-donut{max-width:170px}}
@media(max-width:720px){.fv2-dashboard{gap:10px}.fv2-dashboard-toolbar{display:grid;grid-template-columns:1fr 1fr 42px}.fv2-dashboard-toolbar select{width:100%;font-size:16px}.fv2-dashboard-cards{grid-template-columns:1fr 1fr;gap:7px}.fv2-dashboard-card{min-height:77px;padding:10px}.fv2-dashboard-card i{width:34px;height:34px;font-size:15px}.fv2-dashboard-card strong{font-size:15px}.fv2-dashboard-panel{padding:13px}.fv2-dashboard-top,.fv2-dashboard-bottom{gap:10px}.fv2-dashboard-month-chart{height:208px}.fv2-dashboard-month{grid-template-rows:172px 22px}.fv2-dashboard-bars{height:167px}.fv2-payment-layout{grid-template-columns:135px 1fr;gap:10px}.fv2-donut{width:132px}.fv2-age-chart{min-width:500px}.fv2-dashboard-bottom>.fv2-dashboard-panel:first-child{overflow-x:auto}.fv2-dashboard-legend{font-size:8.5px}.fv2-overdue-table{max-height:420px}.fv2-overdue-table .head{display:none}.fv2-overdue-table .row{grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;min-width:0;margin-bottom:7px;padding:11px;border:1px solid rgba(255,255,255,.07);border-radius:10px}.fv2-overdue-table .row .name{font-size:12px}.fv2-overdue-table .row .months{justify-self:end}.fv2-overdue-table .row .amount:before{content:"미납금액 · ";color:#8f8180}.fv2-overdue-table .row .last-paid{justify-self:end}.fv2-overdue-table .row .phone{grid-column:1/-1}.fv2-overdue-table .row .phone:before{content:"연락처 · ";color:#8f8180}.fv2-overdue-table .row .actions{grid-column:1/-1;justify-content:flex-end}.fv2-overdue-table .empty{min-width:0}.fv2-overdue-modal{width:calc(100vw - 20px);padding:18px 13px}.fv2-overdue-modal-head{align-items:flex-start}.fv2-overdue-modal-head p{line-height:1.45}.fv2-overdue-modal .fv2-overdue-table{max-height:65dvh}}
@media(max-width:420px){.fv2-dashboard-card{gap:7px}.fv2-dashboard-card i{width:31px;height:31px}.fv2-dashboard-card span{font-size:9px}.fv2-dashboard-card strong{font-size:13px}.fv2-payment-layout{grid-template-columns:112px 1fr}.fv2-donut{width:110px}.fv2-payment-list{gap:7px}.fv2-payment-list>div{grid-template-columns:minmax(58px,1fr) auto auto;gap:4px;font-size:8.5px}.fv2-dashboard-panel .fv2-panel-head{align-items:flex-start}.fv2-dashboard-panel .fv2-panel-head h3{font-size:13px}}

/* U028 · 품목별 수입·지출 상세 및 통합 현황 */
.fv2-dashboard-card.is-action{position:relative;width:100%;border-color:rgba(242,193,58,.34);color:inherit;text-align:left;cursor:pointer;font:inherit}.fv2-dashboard-card.is-action:hover,.fv2-dashboard-card.is-action:focus-visible{transform:translateY(-2px);border-color:#f2c13a;box-shadow:0 14px 30px rgba(242,193,58,.12);outline:none}.fv2-card-more{position:absolute;right:11px;bottom:8px;color:#d7b943;font-size:8px;font-weight:900}.fv2-breakdown-modal{width:min(760px,calc(100vw - 28px));max-height:min(820px,calc(100dvh - 32px));padding:24px;overflow:auto}.fv2-breakdown-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:4px 0 16px;padding:14px;border:1px solid rgba(242,193,58,.24);border-radius:13px;background:rgba(242,193,58,.06)}.fv2-breakdown-head span{color:#c9b9b4;font-size:12px}.fv2-breakdown-head strong{color:#f2c13a;font-size:18px}.fv2-breakdown-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fv2-breakdown-categories article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border-radius:12px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.07)}.fv2-breakdown-categories article div{display:grid;gap:3px}.fv2-breakdown-categories article span{color:#a99691;font-size:10px}.fv2-breakdown-categories article strong{color:#f2c13a;font-size:15px}.fv2-breakdown-list{display:grid;gap:0;margin-top:16px;border-top:1px solid rgba(255,255,255,.09)}.fv2-breakdown-row{display:grid;grid-template-columns:84px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid rgba(255,255,255,.07)}.fv2-breakdown-row time,.fv2-breakdown-row span,.fv2-breakdown-row small{color:#a99691;font-size:10px}.fv2-breakdown-row div{display:grid;gap:3px;min-width:0}.fv2-breakdown-row div>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fv2-breakdown-row>strong{color:#fff;font-size:13px}.fv2-transactions{display:grid;gap:14px}.fv2-transaction-filters{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr)) auto;gap:8px;align-items:end}.fv2-transaction-filters label{display:grid;gap:5px}.fv2-transaction-filters label span{color:#bda8a2;font-size:9px;font-weight:900}.fv2-transaction-filters select,.fv2-transaction-filters input{width:100%;min-width:0;padding:10px;border:1px solid rgba(242,193,58,.2);border-radius:9px;color:#f6eeee;background:#19080c}.fv2-transaction-filters :disabled{opacity:.35}.fv2-transaction-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.fv2-transaction-totals article{display:grid;gap:6px;padding:14px;border:1px solid rgba(242,193,58,.18);border-radius:13px;background:rgba(255,255,255,.035)}.fv2-transaction-totals span{color:#aa9691;font-size:10px}.fv2-transaction-totals strong{font-size:18px}.fv2-category-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.fv2-category-summary article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px;padding:12px;border-radius:11px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.035)}.fv2-category-summary article b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fv2-category-summary article span{color:#a99691;font-size:10px}.fv2-category-summary article strong{grid-column:1/-1;margin-top:4px;font-size:14px}.fv2-category-summary .green,.fv2-transaction-totals .green{color:#61d49d}.fv2-category-summary .red,.fv2-transaction-totals .red{color:#ff6974}.fv2-transaction-totals .gold{color:#f2c13a}
@media(max-width:1240px){.fv2-transaction-filters{grid-template-columns:repeat(4,minmax(120px,1fr))}.fv2-category-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.fv2-breakdown-modal{width:calc(100vw - 18px);max-height:calc(100dvh - 18px);padding:17px}.fv2-breakdown-head{align-items:flex-start;flex-direction:column}.fv2-breakdown-categories{grid-template-columns:1fr 1fr}.fv2-breakdown-row{grid-template-columns:70px minmax(0,1fr) auto;gap:8px}.fv2-transaction-filters{grid-template-columns:1fr 1fr}.fv2-transaction-filters .btn{grid-column:1/-1;justify-content:center}.fv2-transaction-totals{grid-template-columns:1fr 1fr}.fv2-category-summary{grid-template-columns:1fr 1fr}.fv2-transactions .fv2-panel-head{align-items:flex-start}.fv2-transactions .fv2-panel-head .btn{width:100%;justify-content:center}}
@media(max-width:420px){.fv2-breakdown-categories{grid-template-columns:1fr}.fv2-breakdown-row{grid-template-columns:1fr auto}.fv2-breakdown-row time{grid-column:1/-1}.fv2-transaction-filters{grid-template-columns:1fr}.fv2-transaction-filters .btn{grid-column:auto}.fv2-category-summary{grid-template-columns:1fr 1fr}.fv2-transaction-totals strong{font-size:15px}}
