:root{--bg:#f6f7f9;--panel:#fff;--ink:#233c35;--muted:#74827d;--line:#e8ecea;--green:#195443;--soft:#edf3ef;--danger:#a7493d;--radius:16px;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);font-size:14px;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #71a896}button{cursor:pointer;background:#fff;color:var(--ink);border:1px solid #dce4df;border-radius:9px;padding:10px 14px;font-weight:600;white-space:nowrap;transition:background .15s,transform .15s}button:hover{background:#f0f5f1}button:active{transform:translateY(1px)}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}.primary{background:var(--green);color:#fff;border-color:var(--green)}.primary:hover{background:#113e31}p{line-height:1.6}h1,h2,h3,p{margin-top:0}h1{font-size:29px;font-weight:650;letter-spacing:-1px;line-height:1.25;margin-bottom:9px}h2{font-size:16px;letter-spacing:-.25px;margin-bottom:6px}h3{font-size:15px}small{font-size:12px}input,select,textarea{border:1px solid #dce4df;border-radius:8px;background:white;color:var(--ink);padding:11px 12px;min-width:0;width:100%}textarea{resize:vertical}label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600}input::placeholder{color:#8c9691}strong{font-weight:650}[hidden]{display:none!important}.sidebar{position:fixed;inset:0 auto 0 0;width:235px;background:#fff;border-right:1px solid var(--line);padding:32px 20px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:9px;font-size:28px;font-weight:750;letter-spacing:-1px;padding:0 8px}.brand:hover{text-decoration:none}.brand-icon{background:var(--green);color:white;border-radius:11px;width:36px;height:36px;text-align:center;font-size:31px;line-height:33px;position:relative}.brand-icon span{color:#c2d594;font-size:16px;position:absolute;right:5px;top:-2px}.version{font-size:8px;letter-spacing:.7px;background:#edf3ef;padding:4px 5px;border-radius:4px;margin-left:2px}.workspace{display:flex;align-items:center;gap:10px;margin:40px 0 30px;padding:13px 10px;background:#f8faf8;border:1px solid var(--line);border-radius:10px}.workspace strong{font-size:12px}.workspace small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.avatar{display:inline-grid;place-items:center;flex-shrink:0;width:34px;height:34px;background:#e3ece6;border:1px solid #d5e1d7;border-radius:50%;font-weight:600;color:var(--green)}.avatar.small{width:30px;height:30px;font-size:11px}.nav-label{font-size:8px;letter-spacing:1px;color:#7e8b85;margin:0 10px 13px;font-weight:600}nav{display:flex;flex-direction:column;gap:6px}nav a{display:flex;align-items:center;gap:12px;padding:13px 12px;color:#728078;font-size:12px;border-radius:8px}nav a span{font-size:19px;width:20px;line-height:20px;text-align:center}nav a:hover{background:#f7f9f7;text-decoration:none}nav a.active{background:#eaf1eb;color:var(--green);font-weight:650}nav a:last-child{margin-top:25px}.sidebar-bottom{margin-top:auto;font-size:11px;padding:16px 10px 0;border-top:1px solid var(--line)}.sidebar-bottom small{display:block;color:var(--muted);font-size:10px;margin:10px 0 16px}.local-dot{display:inline-block;width:6px;height:6px;background:#6b9a78;border-radius:50%;margin-right:5px}.app-shell{margin-left:235px}.topbar{height:73px;background:#fff;border-bottom:1px solid var(--line);padding:0 36px;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#839088}.topbar strong{font-size:11px;color:#4b6056;font-weight:500}.crumb{margin:0 13px;color:#c4cdc7}.top-right{display:flex;gap:20px;align-items:center}.demo-badge{font-size:8px;letter-spacing:.8px;padding:7px 9px;border:1px solid #e5e9e5;border-radius:5px;color:#7a877f}main{max-width:1570px;margin:auto;padding:38px 36px 20px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:30px}.eyebrow{font-size:9px;letter-spacing:1.5px;color:#829087;font-weight:650;margin-bottom:10px}.page-heading p{font-size:12px;color:var(--muted);margin-bottom:0}.heading-actions{display:flex;align-items:flex-end;gap:12px;flex-shrink:0}.heading-actions button{height:40px;font-size:11px}.month-label{font-size:9px;color:var(--muted);gap:5px}.month-label input{height:40px;width:170px;font-size:11px;padding:8px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.metric{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:23px 20px;min-width:0}.metric-label{font-size:11px;color:#6b7a72;display:flex;justify-content:space-between;align-items:center;gap:8px}.metric-label span{font-size:18px;color:#748f7e}.metric>strong{display:block;font-size:27px;letter-spacing:-1px;margin:17px 0 11px;white-space:nowrap;font-weight:600}.metric>small{font-size:10px;color:#809086;line-height:1.5;display:block}.metric.hero{background:var(--green);color:#fff;position:relative;overflow:hidden;border-color:var(--green)}.hero .metric-label,.hero .metric-label span,.hero>small{color:#c5dbce}.hero:after{content:'';position:absolute;right:-48px;bottom:-75px;width:185px;height:185px;border:1px solid #ffffff12;border-radius:50%;box-shadow:0 0 0 28px #ffffff03,0 0 0 57px #ffffff03;pointer-events:none}.summary-strip{display:grid;grid-template-columns:1fr 1fr 1.3fr;background:#fff;border:1px solid var(--line);border-radius:12px;margin:18px 0 24px;padding:19px 23px;gap:25px}.summary-strip>div{display:flex;align-items:center;gap:12px}.summary-strip>div+div{border-left:1px solid var(--line);padding-left:25px}.summary-icon{display:grid;place-items:center;background:#f0f5ef;width:32px;height:32px;border-radius:9px;font-size:16px;color:#6d8a70}.summary-strip small{display:block;font-size:10px;color:var(--muted);margin-bottom:6px}.summary-strip strong{font-size:15px;letter-spacing:-.3px}.summary-strip .commitment{display:block}.commitment>div:first-child{display:flex;justify-content:space-between;gap:10px}.commitment strong{font-size:13px}.progress{height:5px;background:#e8efea;border-radius:5px;overflow:hidden;margin-top:8px}.progress i{display:block;height:100%;border-radius:5px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);min-width:0;overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:24px 24px 12px}.panel-head h2{font-size:14px}.panel-head p{font-size:10px;color:var(--muted);margin:0}.panel-head a{font-size:10px;font-weight:600}.chart-grid{display:grid;grid-template-columns:1.06fr 1fr;gap:20px}.category-chart{display:flex;align-items:center;padding:23px 24px 29px;gap:24px;min-height:235px}.donut{border-radius:50%;width:165px;height:165px;flex-shrink:0;padding:19px;transform:rotate(-.001deg)}.donut>div{width:100%;height:100%;background:#fff;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.donut small{font-size:9px;color:var(--muted)}.donut strong{font-size:17px;letter-spacing:-.5px}.legend{flex:1;min-width:0}.legend>div{display:flex;align-items:center;gap:7px;margin:13px 0;font-size:10px}.legend-name{display:flex;align-items:center;gap:7px;flex:1}.legend i,.chart-key i{display:inline-block;width:7px;height:7px;border-radius:2px;flex-shrink:0}.legend strong{font-size:10px;white-space:nowrap}.legend small{font-size:9px;color:var(--muted);width:24px;text-align:right}.chart-key{display:flex;gap:16px;font-size:10px;padding:10px 24px;color:var(--muted)}.chart-key i{background:#285d49;margin-right:5px}.chart-key span+span i{background:#b5c7b9}.bar-chart{display:flex;gap:12px;margin:7px 24px 9px;height:190px;padding-top:10px;background:repeating-linear-gradient(to top,transparent 0,transparent 44px,#f0f3f1 45px,#f0f3f1 46px);border-bottom:1px solid var(--line)}.bar-group{display:flex;flex-direction:column;flex:1;align-items:center;min-width:0}.bar-pair{display:flex;align-items:flex-end;justify-content:center;gap:6px;width:100%;height:150px}.bar-pair>div{width:22%;max-width:20px;background:#285d49;border-radius:4px 4px 0 0;min-height:1px}.bar-pair>div+div{background:#b5c7b9}.bar-group>small{padding:11px 0 0;color:var(--muted);font-size:10px}.bar-group.selected>small{color:var(--green);font-weight:700}.chart-details{padding:7px 24px 17px;font-size:10px;color:#718278}.chart-details summary{cursor:pointer}.chart-details td,.chart-details th{padding:10px 6px;font-size:10px}.recent{margin-top:24px}.table-wrap{width:100%;overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:9px;font-weight:500;color:#809087;background:#fbfcfb;padding:13px 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}td{padding:15px 24px;border-bottom:1px solid #eff2ef;font-size:11px;color:#53685c}tbody tr:last-child td{border-bottom:0}td strong{font-size:11px;color:var(--ink)}td small{display:block;color:#88958c;font-size:9px;margin-top:5px;max-width:250px;overflow:hidden;text-overflow:ellipsis}.numeric{text-align:right}.amount{font-weight:650;color:var(--ink)}.positive{color:#337955}.badge{font-size:9px;border:0;padding:6px 9px;border-radius:5px;font-weight:500;display:inline-block}.paid{background:#edf5ee;color:#497355}.pending{background:#fbf3e6;color:#9c732c}.text-button{background:none;border:none;padding:6px;font-size:10px;font-weight:500}.danger{color:var(--danger)}.actions{white-space:nowrap}.footnote{font-size:10px;color:#829087;margin:15px 0 5px;line-height:1.7}footer{display:flex;justify-content:space-between;border-top:1px solid #e6ebe7;padding:19px 0 0;margin-top:30px;font-size:9px;color:#90a095}.muted{color:var(--muted)}.three{grid-template-columns:repeat(3,1fr);margin-bottom:23px}.filters{padding:21px 24px;display:flex;gap:15px;align-items:end}.filters label{flex:1;color:#718278;font-size:10px}.filters .search-label{flex:1.7}.filters input,.filters select{font-size:11px}.filter-count{font-size:10px;color:var(--muted);text-align:right;line-height:1.8;min-width:90px}.filter-count strong{color:var(--ink)}.empty{text-align:center;padding:45px 20px;color:var(--muted);font-size:12px}.empty>span{font-size:35px;color:#85a290;display:block;margin-bottom:10px}.empty h3{color:var(--ink);margin-bottom:7px}.empty p{font-size:12px}.info-banner{display:flex;align-items:center;gap:19px;padding:23px;border:1px solid #dfe9e0;background:#eff4ef;border-radius:12px;margin-bottom:25px}.info-banner>span{font-size:28px;color:#6b8b73}.info-banner div{flex:1}.info-banner strong{font-size:12px}.info-banner p{font-size:11px;margin:5px 0 0;color:#76897b}.info-banner button{font-size:11px}.section-title{display:flex;align-items:center;justify-content:space-between;margin:26px 0 18px}.section-title h2{margin:0}.count{background:#e7eee9;font-size:11px;border-radius:4px;padding:3px 6px;margin-left:5px}.rule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.rule-card{padding:24px}.rule-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.rule-symbol{font-size:24px;width:38px;height:38px;text-align:center;background:#edf3ee;border-radius:9px;line-height:38px}.rule-card h2{font-size:17px}.rule-card p{font-size:10px;color:var(--muted)}.rule-value{display:block;font-size:26px;margin:20px 0}.rule-value small{font-size:11px;color:var(--muted);font-weight:400}dl{font-size:11px}dl div{display:flex;justify-content:space-between;gap:15px;margin:15px 0}dt{color:var(--muted)}dd{margin:0;word-break:break-word}.rule-actions{display:flex;gap:8px;padding-top:15px;border-top:1px solid var(--line);margin-top:20px}.rule-actions button{font-size:10px;padding:8px 10px}.catalog-grid,.settings-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:22px}.catalog-list{padding:0 24px 15px}.catalog-row{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.catalog-row:last-child{border:0}.catalog-icon{width:33px;height:33px;background:#f1f5f1;border-radius:8px;display:grid;place-items:center}.catalog-row>div:not(.actions){flex:1;min-width:0}.catalog-row strong{font-size:12px;overflow-wrap:anywhere}.catalog-row small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.catalog-grid .panel-head button{font-size:10px}.settings-grid{grid-template-columns:.85fr 1.3fr;margin-bottom:24px}.settings-panel{padding:28px}.settings-panel>p{font-size:12px;color:var(--muted);line-height:1.7}.settings-panel form{display:flex;flex-direction:column;align-items:start;gap:15px;margin:25px 0}.settings-panel label{width:100%}.settings-panel button{font-size:11px}hr{border:0;border-top:1px solid var(--line);margin:27px 0}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.setting-row:last-child{border:0}.setting-row strong{font-size:12px}.setting-row small{display:block;font-size:10px;color:var(--muted);line-height:1.6;margin-top:5px}.file-button{position:relative;overflow:hidden;border:1px solid #dce4df;border-radius:9px;padding:10px 14px;font-size:11px;white-space:nowrap;cursor:pointer;display:block;width:auto!important;flex-shrink:0}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.file-button:focus-within{outline:3px solid #71a896;outline-offset:3px}dialog{width:min(550px,calc(100% - 28px));padding:28px;border:1px solid var(--line);border-radius:18px;box-shadow:0 30px 100px #122b3426;color:var(--ink);max-height:90vh;overflow:auto}dialog::backdrop{background:#142c2966;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.dialog-head .eyebrow{font-size:8px}.dialog-head h2{font-size:23px;margin:7px 0 0}.icon-button{border:0;font-size:25px;padding:0 6px;background:none;color:var(--muted)}#formFields>label{margin-bottom:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.dialog-footer{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:18px;margin-top:20px}.error{font-size:12px;color:var(--danger);margin:10px 0}.error:empty{display:none}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,15px);background:#173f32;color:white;padding:15px 23px;border-radius:11px;box-shadow:0 8px 30px #163c3325;opacity:0;pointer-events:none;transition:.2s;z-index:20;font-size:12px;max-width:calc(100% - 35px);line-height:1.5}#toast.visible{opacity:1;transform:translate(-50%,0)}.skip{position:fixed;top:-70px;left:10px;background:white;padding:15px;z-index:40}.skip:focus{top:10px}
@media(min-width:1500px){.metric>strong{font-size:32px}.category-chart{gap:35px}.donut{width:185px;height:185px}}
@media(max-width:1200px){.sidebar{width:210px;padding:28px 14px}.app-shell{margin-left:210px}main{padding:28px 24px}.topbar{padding:0 24px}.page-heading{align-items:flex-start;flex-direction:column;gap:20px}.heading-actions{align-self:flex-end;margin-top:-7px}.metric{padding:20px 15px}.metric>strong{font-size:24px}.category-chart{flex-direction:column;gap:18px}.legend{width:100%}.chart-grid{grid-template-columns:1fr 1fr}.bar-chart{height:285px;margin-top:28px}.bar-pair{height:245px}.rule-grid{grid-template-columns:repeat(2,1fr)}.catalog-grid{grid-template-columns:1fr 1fr}.settings-grid{grid-template-columns:1fr}.summary-strip{gap:16px;padding:19px 15px}.summary-strip>div+div{padding-left:16px}.summary-icon{display:none}}
@media(max-width:850px){.sidebar{width:175px;padding:24px 10px}.app-shell{margin-left:175px}.brand{font-size:24px;padding:0 7px;gap:7px}.version{display:none}.workspace{padding:10px 7px}.nav-label{font-size:7px;margin-left:8px;letter-spacing:.5px}nav a{font-size:11px;gap:8px;padding:12px 8px}.metric-grid{grid-template-columns:repeat(2,1fr)}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.three .metric>strong{font-size:20px}.summary-strip{grid-template-columns:1fr 1fr}.summary-strip .commitment{grid-column:1/-1;padding-left:0;border-left:0;padding-top:12px;border-top:1px solid var(--line)}.chart-grid,.catalog-grid{grid-template-columns:1fr}.category-chart{flex-direction:row}.bar-chart{height:200px;margin-top:7px}.bar-pair{height:160px}.rule-grid{grid-template-columns:1fr}.info-banner{flex-wrap:wrap}.filters{flex-wrap:wrap}.filters .search-label{flex-basis:100%}.filters label{min-width:140px}.topbar{font-size:10px}.demo-badge{font-size:7px;padding:5px}.top-right{gap:10px}footer span{display:none}}
@media(max-width:600px){.sidebar{position:static;width:100%;padding:15px 16px 10px;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:25px;padding:0}.brand-icon{width:32px;height:32px;font-size:28px;line-height:29px}.workspace,.nav-label,.sidebar-bottom{display:none}nav{flex-direction:row;overflow-x:auto;gap:4px;margin-top:15px;padding-bottom:3px}nav a{white-space:nowrap;padding:9px 10px;font-size:11px;gap:6px}nav a span{font-size:15px;width:16px}nav a:last-child{margin-top:0}.app-shell{margin-left:0}.topbar{height:47px;padding:0 17px}.topbar .avatar{display:none}main{padding:25px 16px 15px}h1{font-size:26px;max-width:310px}.page-heading{gap:24px;margin-bottom:22px}.page-heading p{font-size:11px}.heading-actions{align-self:stretch;margin:0;gap:10px;justify-content:space-between}.month-label{flex:1}.month-label input{width:100%;max-width:200px}.heading-actions button{font-size:10px}.metric-grid{gap:10px}.metric{padding:18px 13px;border-radius:12px}.metric-label{font-size:10px}.metric>strong{font-size:22px;margin:14px 0 9px}.metric>small{font-size:9px}.summary-strip{padding:16px 14px;gap:13px}.summary-strip strong{font-size:14px}.summary-strip small{font-size:9px}.panel-head{padding:20px 17px 12px}.panel-head h2{font-size:13px}.panel-head p{font-size:9px}.category-chart{padding:19px 17px 22px;gap:16px;flex-direction:column}.donut{width:165px;height:165px}.legend>div{margin:12px 0;font-size:11px}.legend strong{font-size:11px}.legend small{font-size:10px}.bar-chart{margin-left:17px;margin-right:17px}.chart-details{padding-left:17px;padding-right:17px}.recent{margin-top:18px}.recent .panel-head{gap:5px}.recent .panel-head a{font-size:9px}td,th{padding:13px 17px}.three{grid-template-columns:1fr}.three .metric{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7px}.three .metric>strong{text-align:right;margin:0}.three .metric>small{grid-column:1/-1}.filters{padding:18px 16px;gap:12px}.filter-count{margin-left:auto}.info-banner{padding:19px;gap:13px}.info-banner>span{display:none}.info-banner div{flex-basis:100%}.info-banner button{width:100%}.section-title h2{font-size:14px}.section-title button{font-size:10px}.catalog-list{padding:0 17px 12px}.catalog-row{gap:9px}.catalog-row .text-button{font-size:9px}.catalog-row strong{font-size:11px}.catalog-icon{width:28px;height:28px}.settings-panel{padding:21px}.setting-row{gap:12px;flex-wrap:wrap}.setting-row>div{flex-basis:100%}.form-grid{grid-template-columns:1fr 1fr;gap:12px}dialog{padding:21px}.dialog-head h2{font-size:21px}.form-grid label{font-size:10px}footer{margin-top:22px}.footnote{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
 .budget-list{padding:8px 24px 25px}.budget-list.large{padding:15px 28px 28px}.budget-row{display:grid;grid-template-columns:minmax(150px,1fr) 50px minmax(120px,1.5fr) auto;align-items:center;gap:15px;padding:14px 0;border-bottom:1px solid var(--line)}.budget-row:last-child{border-bottom:0}.budget-row strong{display:block;font-size:11px}.budget-row small{display:block;color:var(--muted);font-size:9px;margin-top:4px}.budget-row>span{text-align:right;font-size:11px;font-weight:650}.budget-row .progress{margin:0}.budget-row .over{background:#b25b48}.budget-row .danger{color:#b25b48}.file-warning{margin-bottom:18px}.card-item .progress{margin:10px 0 0}.card-item .rule-value{font-size:22px}
 .ledger-head{padding-bottom:18px}.ledger-actions{display:flex;gap:8px;align-items:center}.ledger-actions button{font-size:10px}
 .balance-controls{display:flex;align-items:end;gap:10px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px 18px;margin:18px 0 24px}.balance-controls label{width:240px;color:var(--muted);font-size:10px}.balance-controls input{height:38px;font-size:11px}.balance-controls button{font-size:10px;height:38px}
 .rule-category{margin-bottom:25px}.rule-category>h3{font-size:12px;color:var(--muted);margin:0 0 12px;text-transform:uppercase;letter-spacing:.6px}.field-help{display:block;color:var(--muted);font-size:10px;margin-top:-8px;margin-bottom:15px}
.metric-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.rule-list{overflow:hidden}.rule-list table td,.rule-list table th{padding-top:14px;padding-bottom:14px}table{text-align:center}th.numeric,td.numeric{text-align:center}.badge.pending{background:#fcebea;color:#b4473e;border:1px solid #e9bdb8}.badge.paid{background:#e8f5eb;color:#3d7d52;border:1px solid #b9dbbf}.metric.total-blue{border-color:#d8e6f3;background:#fff}.metric.total-blue .metric-label,.metric.total-blue .metric-label span,.metric.total-blue>strong{color:#24618f}.metric.total-paid{border-color:#d5ead9;background:#fff}.metric.total-paid .metric-label,.metric.total-paid .metric-label span,.metric.total-paid>strong{color:#377a4b}.metric.total-open{border-color:#f2d6d2;background:#fff}.metric.total-open .metric-label,.metric.total-open .metric-label span,.metric.total-open>strong{color:#b4473e}.page-heading,.section-title,.panel-head{text-align:center}.page-heading{justify-content:center}.heading-actions{justify-content:center}.section-title{justify-content:center;gap:18px}.panel-head{justify-content:center}.panel-head>div{flex:1}.panel-head button{flex-shrink:0}
.button,.primary,button[data-action]{box-shadow:0 4px 12px rgba(25,84,67,.12);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}button:hover{transform:translateY(-1px);box-shadow:0 7px 16px rgba(35,60,53,.12)}.primary{background:linear-gradient(135deg,#1c6651,#195443);box-shadow:0 6px 16px rgba(25,84,67,.22)}.primary:hover{background:linear-gradient(135deg,#23745c,#113e31)}.metric{box-shadow:0 3px 14px rgba(35,60,53,.035)}.panel{box-shadow:0 3px 14px rgba(35,60,53,.025)}.balance-controls{box-shadow:0 3px 14px rgba(35,60,53,.04)}.rule-list,.table-wrap{border-radius:var(--radius)}.filters select,.filters input,.balance-controls input{transition:border-color .18s,box-shadow .18s}.filters select:focus,.filters input:focus,.balance-controls input:focus{border-color:#71a896;box-shadow:0 0 0 4px #71a89622}.status-open{color:#b4473e}.status-paid{color:#3d7d52}
@media(max-width:600px){.balance-controls{display:grid;grid-template-columns:1fr;gap:10px;padding:14px}.balance-controls label{width:100%}.balance-controls button{width:100%}.heading-actions{flex-direction:column;align-items:stretch}.heading-actions button,.heading-actions .month-label{width:100%;max-width:none}.heading-actions .month-label input{max-width:none}.table-wrap{border:1px solid var(--line);background:#fff}.table-wrap table{min-width:780px}.panel-head{flex-wrap:wrap}.panel-head>div{flex-basis:100%}.panel-head button{width:100%}.ledger-actions{width:100%;justify-content:center;flex-wrap:wrap}.ledger-actions button{flex:1}.metric-grid.three{grid-template-columns:1fr}.metric-grid.three .metric{display:block}.metric-grid.three .metric>strong{text-align:center}.metric-grid.three .metric-label{justify-content:center}.metric-grid.three .metric>small{text-align:center}}
.quick-tools{display:flex;gap:10px;align-items:center;margin:12px 0}.quick-tools>*{flex:1}.quick-tools .file-button{display:flex;align-items:center;justify-content:center;cursor:pointer;background:#fff;border:1px solid #dce4df;border-radius:9px;padding:10px 14px;font-weight:600;font-size:13px}.quick-tools input{display:none}
@media(max-width:600px){.quick-tools{flex-direction:column;align-items:stretch}.quick-tools>*{width:100%}}

.invoice-preview{margin:14px 0 4px;border:1px solid var(--line);border-radius:12px;background:#fbfcfb;overflow:hidden}.invoice-preview-head{display:flex;justify-content:space-between;gap:12px;padding:14px 16px}.invoice-preview-head strong{display:block;font-size:12px}.invoice-preview-head small{display:block;color:var(--muted);margin-top:4px}.invoice-preview .table-wrap{max-height:300px}.invoice-preview table{min-width:560px}.invoice-preview th,.invoice-preview td{padding:10px 12px}.invoice-preview-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 14px;border-top:1px solid var(--line)}
@media(max-width:600px){.invoice-preview-actions{flex-direction:column}.invoice-preview-actions button{width:100%}}
.invoice-items{max-height:50vh;overflow:auto;margin:16px 0}.invoice-item{border:1px solid var(--line);border-radius:12px;margin:12px 0;padding:16px}.invoice-item legend{font-weight:700}.invoice-item input[type=checkbox]{width:auto}.invoice-item label{font-size:13px}.invoice-item small{display:block;margin:10px 0}#quickModal:has(.invoice-preview:not([hidden])){width:min(900px,96vw)}@media(max-width:600px){.invoice-item .form-grid{grid-template-columns:1fr}.invoice-item input,.invoice-item select{font-size:16px}}
