:root{color:#17231d;font-synthesis:none;--green:#1f7550;--green-dark:#165c3e;--mint:#e5f1e9;--red:#c84e4e;--ink:#17231d;--muted:#718079;--line:#dfe5e1;--surface:#fff;--soft:#f7f9f7;background:#f4f6f3;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}a{color:inherit;text-decoration:none}.splash{justify-content:center;align-items:center;gap:12px;height:100vh;font-size:20px;font-weight:700;display:flex}.brand-mark{color:#fff;background:var(--green);border-radius:8px;place-items:center;width:48px;height:48px;display:grid}.brand-mark.small{width:38px;height:38px}.login-page{background:#fff;grid-template-columns:minmax(420px,1.1fr) minmax(400px,.9fr);min-height:100vh;display:grid}.login-visual{color:#fff;background:#183f30;flex-direction:column;justify-content:space-between;min-height:100vh;padding:42px;display:flex;position:relative;overflow:hidden}.login-visual:before{content:"";background-image:linear-gradient(#ffffff0a 1px,#0000 1px),linear-gradient(90deg,#ffffff0a 1px,#0000 1px);background-size:42px 42px;position:absolute;inset:0}.brand-lockup{z-index:1;align-items:center;gap:12px;font-size:18px;display:flex;position:relative}.login-visual .brand-mark{color:#1a6243;background:#e9f5ed}.visual-balance{z-index:1;max-width:600px;padding-bottom:50px;position:relative}.visual-balance>span{color:#bcd3c6;margin-bottom:14px;font-size:17px;display:block}.visual-balance>strong{letter-spacing:0;font-size:clamp(40px,5vw,70px);font-weight:650}.visual-bars{border-bottom:1px solid #ffffff40;align-items:flex-end;gap:14px;height:190px;margin-top:55px;display:flex}.visual-bars i{background:#e4b85d;border-radius:3px 3px 0 0;flex:1;max-width:48px;display:block}.login-panel{place-items:center;padding:40px;display:grid}.login-form{gap:22px;width:min(400px,100%);display:grid}.login-form h1{margin:5px 0;font-size:34px}.eyebrow{color:var(--green);letter-spacing:1.5px;margin:0 0 6px;font-size:11px;font-weight:800}.muted{color:var(--muted);margin:0}.login-form label,.modal label{color:#39473f;gap:8px;font-size:13px;font-weight:650;display:grid}input,select,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #d7dfda;border-radius:6px;outline:none;padding:11px 12px;transition:border .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:#559875;box-shadow:0 0 0 3px #1f75501a}textarea{resize:vertical}.primary,.secondary{white-space:nowrap;border:0;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:10px 15px;font-weight:700;display:inline-flex}.primary{background:var(--green);color:#fff}.primary:hover{background:var(--green-dark)}.secondary{color:#33443b;background:#fff;border:1px solid #d6ded9}.secondary:hover{background:#f5f8f6}.wide{width:100%}.app-shell{min-height:100vh}.sidebar{z-index:30;color:#dce9e1;background:#173b2e;flex-direction:column;width:240px;padding:20px 14px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar .brand-lockup{color:#fff;padding:0 6px 20px}.sidebar .brand-mark{color:#1c6847;background:#e8f2eb}.sidebar-close{margin-left:auto;display:none}.main-nav{gap:4px;display:grid}.main-nav button,.main-nav a{color:#bad0c3;text-align:left;background:0 0;border:0;border-radius:5px;align-items:center;gap:11px;padding:10px 12px;font-size:14px;display:flex}.main-nav button:hover,.main-nav button.active,.main-nav a:hover{color:#fff;background:#285441}.side-section{border-top:1px solid #ffffff1a;margin-top:18px;padding-top:18px}.side-heading{text-transform:uppercase;color:#91ad9c;justify-content:space-between;align-items:center;padding:0 8px 8px;font-size:11px;display:flex}.icon-btn{color:inherit;background:0 0;border:0;border-radius:5px;place-items:center;width:34px;height:34px;display:grid}.icon-btn:hover{background:#6e827721}.side-heading .icon-btn{width:28px;height:28px}.ledger-link{color:#bbcec2;text-align:left;background:0 0;border:0;border-radius:5px;grid-template-columns:8px 1fr auto;align-items:center;gap:10px;width:100%;padding:9px 8px;display:grid}.ledger-link:hover,.ledger-link.active{color:#fff;background:#224d3a}.ledger-link i{border-radius:50%;width:8px;height:8px}.ledger-link em{color:#91ad9c;font-size:10px;font-style:normal}.sidebar-user{border-top:1px solid #ffffff1a;grid-template-columns:34px 1fr 34px;align-items:center;gap:9px;margin-top:auto;padding-top:16px;display:grid}.avatar{color:#21372d;background:#e5b95d;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.sidebar-user div:nth-child(2){min-width:0;display:grid}.sidebar-user b{font-size:13px}.sidebar-user small{color:#91ad9c;text-overflow:ellipsis;font-size:10px;overflow:hidden}.workspace{min-height:100vh;margin-left:240px}.topbar{border-bottom:1px solid var(--line);z-index:20;background:#ffffffeb;justify-content:space-between;align-items:center;height:68px;padding:0 28px;display:flex;position:sticky;top:0}.menu-button{display:none}.book-select-wrap{align-items:center;display:flex;position:relative}.book-select{appearance:none;background:0 0;border:0;padding:8px 30px 8px 0;font-size:17px;font-weight:750}.book-select:focus{box-shadow:none}.book-select-wrap svg{pointer-events:none;position:absolute;right:4px}.topbar-sub{color:var(--muted);margin-left:10px;font-size:12px}.top-actions,.inline-actions{align-items:center;gap:10px;display:flex}.month-picker{background:var(--soft);width:145px;padding:8px 10px}.page-content{max-width:1460px;margin:0 auto;padding:28px}.page-title{justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px;display:flex}.page-title h1{letter-spacing:0;margin:0;font-size:26px}.title-note{color:var(--muted);margin:0;font-size:13px}.metric-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px;display:grid}.metric-grid article,.metric{border:1px solid var(--line);background:#fff;border-radius:7px;flex-direction:column;align-items:flex-start;min-height:126px;padding:19px;display:flex;position:relative}.metric>span,.metric-grid article>span{color:var(--muted);font-size:12px}.metric strong,.metric-grid article>strong{letter-spacing:0;margin-top:13px;font-size:25px}.metric small{color:var(--muted);margin-top:auto}.metric>svg{color:#809089;position:absolute;top:18px;right:18px}.metric.balance{color:#fff;background:#173f30;border-color:#173f30}.metric.balance span,.metric.balance small{color:#bcd1c4}.income{color:#1d8155!important}.expense{color:var(--red)!important}.overview-grid{grid-template-columns:minmax(0,1.65fr) minmax(310px,.8fr);gap:14px;margin-bottom:14px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:7px;padding:20px}.panel-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.panel-heading h2{margin:0 0 4px;font-size:16px}.panel-heading p{color:var(--muted);margin:0;font-size:11px}.legend{color:var(--muted);align-items:center;gap:6px;font-size:11px;display:flex}.legend i{border-radius:50%;width:7px;height:7px;margin-left:7px}.income-dot{background:#2b9365}.expense-dot{background:#e27c68}.bar-chart{align-items:flex-end;gap:7px;height:230px;padding-top:20px;display:flex;overflow-x:auto}.bar-day{flex:1;grid-template-rows:1fr 18px;gap:6px;min-width:23px;height:100%;display:grid}.bar-pair{border-bottom:1px solid #e5eae7;justify-content:center;align-items:flex-end;gap:2px;display:flex}.bar-pair i{border-radius:2px 2px 0 0;width:min(7px,42%);min-height:2px}.income-bar{background:#2b9365}.expense-bar{background:#e27c68}.bar-day small{color:#829089;text-align:center;font-size:8px}.category-list{gap:15px;display:grid}.category-row{grid-template-columns:8px 62px minmax(50px,1fr) auto;align-items:center;gap:9px;font-size:12px;display:grid}.category-row>i{border-radius:50%;width:8px;height:8px}.category-row strong{font-size:11px}.mini-progress{background:#edf1ee;border-radius:3px;height:4px;overflow:hidden}.mini-progress b{height:100%;display:block}.transaction-list{display:grid}.transaction-row{text-align:left;color:inherit;background:0 0;border:0;border-bottom:1px solid #edf0ee;grid-template-columns:38px minmax(160px,1fr) 82px 110px auto;align-items:center;gap:11px;padding:12px 2px;display:grid}.transaction-row:last-child{border-bottom:0}.recent-panel .transaction-row{grid-template-columns:38px minmax(160px,1fr) 82px 110px;width:100%}.category-icon{border-radius:7px;place-items:center;width:36px;height:36px;display:grid}.tx-main{min-width:0;display:grid}.tx-main b{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.tx-main small,.tx-date{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:10px;overflow:hidden}.transaction-row>strong{text-align:right;font-size:13px}.align-left{text-align:left;color:inherit;background:0 0;border:0;padding:0}.text-button{color:var(--green);background:0 0;border:0;font-size:12px;font-weight:700}.empty{color:#93a099;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:210px;font-size:12px;display:flex}.empty.compact{min-height:70px}.empty.full{grid-column:1/-1}.list-toolbar{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:11px;display:flex}.search-box{border:1px solid var(--line);border-radius:6px;align-items:center;gap:8px;width:min(390px,70%);padding:0 10px;display:flex}.search-box input{background:0 0;border:0;padding:9px 0}.search-box input:focus{box-shadow:none}.danger{color:#b64646}.notice{color:#326047;background:#eef5f0;border:1px solid #d5e5da;border-radius:7px;gap:13px;padding:17px;display:flex}.notice div{gap:3px;display:grid}.notice span{color:#668073;font-size:12px}.budget-summary,.debt-summary{border:1px solid var(--line);background:#fff;border-radius:7px;grid-template-columns:repeat(3,1fr);margin-bottom:14px;display:grid}.budget-summary div,.debt-summary article{border-right:1px solid var(--line);gap:8px;padding:18px;display:grid}.budget-summary div:last-child,.debt-summary article:last-child{border-right:0}.budget-summary span,.debt-summary span{color:var(--muted);font-size:11px}.budget-summary strong,.debt-summary strong{font-size:21px}.budget-row{cursor:pointer;border-bottom:1px solid #edf0ee;padding:15px 0}.budget-row:last-child{border-bottom:0}.budget-name,.budget-numbers{align-items:center;display:flex}.budget-name{gap:9px}.budget-name i{border-radius:50%;width:8px;height:8px}.budget-name b{font-size:13px}.budget-name span{color:var(--muted);margin-left:auto;font-size:11px}.budget-name span.over{color:var(--red)}.progress{background:#edf1ee;border-radius:5px;height:7px;margin:10px 0 6px;overflow:hidden}.progress b{background:var(--green);border-radius:5px;height:100%;display:block}.progress b.over{background:var(--red)}.budget-numbers{color:var(--muted);justify-content:space-between;font-size:10px}.account-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px;display:grid}.account-item{border:1px solid var(--line);background:#fff;border-radius:7px;gap:7px;min-height:165px;padding:18px;display:grid}.account-top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.account-logo{border-radius:7px;place-items:center;width:38px;height:38px;display:grid}.account-top small,.account-item>span{color:var(--muted);text-transform:capitalize;font-size:10px}.account-item>b{font-size:13px}.account-item>strong{font-size:22px}.tag-list{flex-wrap:wrap;gap:8px;display:flex}.tag-list>span{border:1px solid var(--line);border-radius:5px;align-items:center;gap:6px;padding:7px 9px;font-size:12px;display:flex}.tag-list i{border-radius:50%;width:7px;height:7px}.tag-list small{color:var(--muted);font-size:9px}.debt-summary{grid-template-columns:repeat(2,1fr)}.debt-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.debt-item{border:1px solid var(--line);background:#fff;border-radius:7px;padding:18px}.debt-head{justify-content:space-between;align-items:center;display:flex}.debt-head>span{color:var(--red);background:#fbeaea;border-radius:4px;padding:4px 7px;font-size:10px}.debt-head>span.owed_to_me{color:var(--green);background:#e8f4ed}.debt-head small{color:var(--muted)}.debt-item h3{margin:17px 0 4px;font-size:15px}.debt-item p{color:var(--muted);margin:0 0 18px;font-size:11px}.debt-item>strong{font-size:23px}.debt-meta{color:var(--muted);justify-content:space-between;margin:8px 0 16px;font-size:10px;display:flex}.entry-preview{border-top:1px solid var(--line);color:var(--muted);gap:5px;padding:10px 0;font-size:10px;display:grid}.analysis-controls{border:1px solid var(--line);background:#fff;border-radius:7px;align-items:center;gap:12px;margin-bottom:14px;padding:15px;display:flex}.analysis-controls input{width:170px}.segmented{background:#edf1ee;border-radius:6px;padding:3px;display:flex}.segmented.full{width:100%}.segmented button{color:#68776f;background:0 0;border:0;border-radius:4px;padding:7px 15px;font-weight:700}.segmented.full button{flex:1}.segmented button.active{color:var(--green);background:#fff;box-shadow:0 1px 3px #14281c17}.analysis-report{border:1px solid var(--line);background:#fff;border-radius:7px;padding:24px}.report-heading{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding-bottom:19px;display:flex}.report-heading>span{width:40px;height:40px;color:var(--green);background:#e8f2eb;border-radius:7px;place-items:center;display:grid}.report-heading h2{margin:0 0 4px;font-size:17px}.report-heading p{color:var(--muted);margin:0;font-size:11px}.report-text{white-space:pre-wrap;padding:24px 0;font-size:14px;line-height:1.85}.report-foot{color:var(--muted);border-top:1px solid var(--line);align-items:center;gap:7px;padding-top:15px;font-size:10px;display:flex}.analysis-empty{text-align:center;color:#819087;border:1px dashed #cbd5cf;border-radius:7px;place-content:center;min-height:390px;display:grid}.analysis-empty h2{font-size:16px}.admin-page{max-width:1000px}.admin-metrics article>svg{color:var(--green)}.status-list{display:grid}.status-list>div{border-bottom:1px solid var(--line);justify-content:space-between;padding:12px 0;font-size:12px;display:flex}.status-list>div:last-child{border:0}.success{color:var(--green)!important}.warning{color:#a86a10!important}.modal-backdrop{z-index:60;background:#0f1b158a;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:8px;width:min(580px,100%);max-height:calc(100vh - 36px);padding:22px;overflow:auto;box-shadow:0 24px 70px #00000040}.modal header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.modal h2{margin:0;font-size:20px}.modal form{gap:16px;display:grid}.form-grid{grid-template-columns:repeat(2,1fr);gap:13px;display:grid}.amount-input>div{position:relative}.amount-input i{font-size:20px;font-style:normal;position:absolute;top:13px;left:13px}.amount-input input{padding-left:38px;font-size:28px;font-weight:650}.toast{z-index:80;color:#fff;background:#183e2f;border-radius:6px;align-items:center;gap:8px;padding:11px 15px;font-size:12px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0003}.error-toast{background:#a83f3f;bottom:74px}.mobile-nav,.scrim{display:none}@media (width<=1100px){.metric-grid,.account-grid,.debt-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=820px){.login-page{display:block}.login-visual{display:none}.login-panel{min-height:100vh}.login-form{width:100%;min-width:0}.sidebar{transition:transform .2s;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-close{display:grid}.scrim{z-index:25;background:#0a140f73;display:block;position:fixed;inset:0}.workspace{margin-left:0;padding-bottom:67px}.topbar{height:60px;padding:0 16px}.menu-button{display:grid}.topbar .book-select-wrap{margin-left:5px;margin-right:auto}.page-content{padding:18px 14px}.page-title{align-items:center}.page-title h1{font-size:22px}.overview-grid{grid-template-columns:1fr}.mobile-nav{z-index:22;height:64px;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line);background:#fff;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{color:#829087;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:9px;display:flex}.mobile-nav button.active{color:var(--green)}.transaction-row{grid-template-columns:38px minmax(120px,1fr) 94px auto}.transaction-row .tx-date{display:none}.recent-panel .transaction-row{grid-template-columns:38px minmax(120px,1fr) 94px}.analysis-controls{flex-wrap:wrap}.debt-grid{grid-template-columns:1fr}.admin-metrics{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.add-button span{display:none}.add-button{width:38px;height:38px;padding:0}.month-picker{width:128px}.topbar-sub{display:none}.page-title{margin-bottom:17px}.inline-actions .secondary{display:none}.metric-grid{grid-template-columns:repeat(2,1fr);gap:8px}.metric-grid article,.metric{min-height:112px;padding:15px}.metric strong,.metric-grid article>strong{font-size:19px}.metric>svg{display:none}.panel{padding:15px}.overview-grid{gap:8px}.account-grid{grid-template-columns:1fr 1fr;gap:8px}.account-item{min-height:150px;padding:14px}.account-item>strong{font-size:18px}.budget-summary{grid-template-columns:1fr}.budget-summary div{border-right:0;border-bottom:1px solid var(--line)}.budget-summary div:last-child{border-bottom:0}.transaction-row{grid-template-columns:34px minmax(90px,1fr) 85px auto;gap:7px}.transaction-row .danger{width:28px}.recent-panel .transaction-row{grid-template-columns:34px minmax(90px,1fr) 85px}.category-icon{width:32px;height:32px}.list-toolbar .search-box{width:78%}.form-grid{grid-template-columns:1fr}.modal{padding:18px}.modal-backdrop{align-items:end;padding:8px}.modal{border-radius:8px 8px 0 0;max-height:92vh}.analysis-controls>*{flex:1}.analysis-controls .segmented{flex-basis:100%}.debt-summary{grid-template-columns:1fr 1fr}.debt-summary strong{font-size:17px}.visual-balance>strong{font-size:36px}}.analysis-numbers{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.analysis-numbers>div{border-right:1px solid var(--line);gap:6px;padding:18px;display:grid}.analysis-numbers>div:last-child{border-right:0}.analysis-numbers span{color:var(--muted);font-size:10px}.analysis-numbers strong{font-size:18px}.bill-tabs{background:#e9efeb;border-radius:7px;gap:6px;width:max-content;margin:0 0 14px;padding:4px;display:flex}.bill-tabs button{color:#6b7c73;background:0 0;border:0;border-radius:5px;align-items:center;gap:7px;padding:9px 15px;font-size:12px;font-weight:700;display:flex}.bill-tabs button.active{color:var(--green);background:#fff;box-shadow:0 1px 3px #14281c1a}.list-toolbar-actions{align-items:center;gap:12px;display:flex}.entry-group{border-top:1px solid var(--line);margin-top:8px;padding:17px 0 0}.entry-group-head{justify-content:space-between;align-items:center;padding:0 2px 6px;display:flex}.entry-group-head>div:first-child{gap:3px;display:grid}.entry-group-head b{font-size:14px}.entry-group-head small{color:var(--muted);font-size:10px}.entry-group-head>div:last-child{gap:12px;font-size:12px;display:flex}.bill-report{gap:14px;display:grid}.bill-period{color:#fff;background:#173f30;border-radius:7px;justify-content:space-between;align-items:center;padding:20px 22px;display:flex}.bill-period div:first-child{gap:4px;display:grid}.bill-period span{color:#b8d0c2;font-size:12px}.bill-period b{font-size:23px}.bill-period .segmented{background:#ffffff1f}.bill-period .segmented button{color:#bad0c3}.bill-period .segmented button.active{color:var(--green)}.bill-hero{border:1px solid var(--line);background:#fff;border-radius:7px;grid-template-columns:1.35fr 1fr 1fr auto;display:grid;overflow:hidden}.bill-hero>div{border-right:1px solid var(--line);gap:7px;padding:18px;display:grid}.bill-hero span{color:var(--muted);font-size:11px}.bill-hero strong{font-size:22px}.bill-hero>small{color:var(--muted);align-self:end;padding:18px;font-size:10px}.bill-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;display:grid}.category-row strong{justify-items:end;gap:2px;display:grid}.category-row strong small{color:var(--muted);font-size:9px;font-weight:400}.bill-bars{align-items:flex-end;gap:7px;height:220px;padding-top:12px;display:flex;overflow-x:auto}.bill-bar-item{flex:1;grid-template-rows:1fr 18px;gap:6px;min-width:25px;height:100%;display:grid}.bill-bar-pair{border-bottom:1px solid #e5eae7;justify-content:center;align-items:flex-end;gap:2px;display:flex}.bill-bar-pair i{border-radius:2px 2px 0 0;width:7px;min-height:2px}.annual-row{border-bottom:1px solid #edf0ee;grid-template-columns:45px minmax(100px,1fr) 100px 110px;align-items:center;gap:10px;padding:10px 0;font-size:11px;display:grid}.annual-row:last-child{border-bottom:0}.annual-row>span{color:var(--muted)}.annual-progress{background:#edf1ee;border-radius:4px;height:6px;overflow:hidden}.annual-progress b{background:#e27c68;border-radius:4px;height:100%;display:block}.annual-row strong,.annual-row small{text-align:right}.bill-loading{min-height:300px}.sidebar .sidebar-close{display:none}@media (width<=820px){.login-panel{padding:28px 20px;overflow:hidden}.login-form{width:calc(100vw - 80px);min-width:0;max-width:none}.sidebar .sidebar-close{display:grid}}@media (width<=560px){.month-picker{width:124px;padding-left:6px;padding-right:6px;font-size:12px}.month-picker::-webkit-calendar-picker-indicator{display:none}.book-select{max-width:115px}}@media (width<=820px){.bill-grid{grid-template-columns:1fr}.bill-hero{grid-template-columns:repeat(3,1fr)}.bill-hero>small{border-top:1px solid var(--line);grid-column:1/-1;padding:10px 18px}.list-toolbar{align-items:flex-start;gap:10px}.list-toolbar-actions{flex-direction:column;align-items:flex-end}}@media (width<=560px){.bill-tabs{width:100%}.bill-tabs button{flex:1;justify-content:center;padding:9px 6px}.list-toolbar{display:grid}.search-box{width:100%}.list-toolbar-actions{flex-direction:row;justify-content:space-between;align-items:center}.entry-group-head>div:last-child{text-align:right;gap:2px;display:grid}.bill-period{padding:16px}.bill-period b{font-size:19px}.bill-hero{grid-template-columns:1fr 1fr}.bill-hero>div{padding:14px}.bill-hero>div:first-child{grid-column:1/-1}.bill-hero strong{font-size:18px}.annual-row{grid-template-columns:32px minmax(60px,1fr) 80px}.annual-row small{grid-column:2/-1}.bill-bars{height:190px}}.bill-bars{scrollbar-width:none}.bill-bars::-webkit-scrollbar{display:none}.transaction-filters{border-bottom:1px solid var(--line);align-items:center;gap:10px;margin-bottom:12px;padding:0 0 14px;display:flex}.transaction-filters>input{width:160px}.date-range{align-items:center;gap:8px;display:flex}.date-range input{width:150px}.date-range span{color:var(--muted);font-size:11px}.bill-period-filter input{background:#fffffff2;border:0;width:145px}.compact-list{margin-bottom:14px;padding:4px 18px}.compact-money-row{border-bottom:1px solid var(--line);grid-template-columns:40px minmax(150px,1fr) auto;align-items:center;gap:12px;padding:13px 0;display:grid}.compact-money-row:last-child{border-bottom:0}.compact-money-row>div{gap:3px;display:grid}.compact-money-row b{font-size:13px}.compact-money-row small{color:var(--muted);font-size:10px}.compact-money-row>strong{font-size:15px}.fund-bottom-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.compact-history{display:grid}.compact-history>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(100px,1fr) 80px auto;gap:10px;padding:9px 0;font-size:11px;display:grid}.compact-history>div:last-child{border-bottom:0}.compact-history small{color:var(--muted)}.credit-summary{border:1px solid var(--line);background:#fff;border-radius:7px;grid-template-columns:repeat(3,1fr);margin-bottom:14px;display:grid}.credit-summary>div{border-right:1px solid var(--line);gap:7px;padding:17px;display:grid}.credit-summary>div:last-child{border-right:0}.credit-summary span{color:var(--muted);font-size:10px}.credit-summary strong{font-size:20px}.credit-list{padding:0 18px}.credit-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(220px,1.1fr) minmax(340px,1.4fr) minmax(180px,.8fr) auto;align-items:center;gap:18px;padding:16px 0;display:grid}.credit-row:last-child{border-bottom:0}.credit-bank{border-left:3px solid;grid-template-columns:38px 1fr;align-items:center;gap:10px;padding-left:12px;display:grid}.credit-bank>span{color:#fff;border-radius:6px;place-items:center;width:36px;height:36px;display:grid}.credit-bank>div{gap:4px;min-width:0;display:grid}.credit-bank b{font-size:13px}.credit-bank small{color:var(--muted);font-size:10px}.credit-metrics{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.credit-metrics>div{gap:4px;display:grid}.credit-metrics span{color:var(--muted);font-size:9px}.credit-metrics b{font-size:12px}.credit-usage{gap:6px;display:grid}.credit-usage>div{background:#edf1ee;border-radius:4px;height:6px;overflow:hidden}.credit-usage b{background:var(--green);border-radius:4px;height:100%;display:block}.credit-usage b.dangerFill{background:var(--red)}.credit-usage span{color:var(--muted);font-size:9px}.credit-actions{gap:6px;display:flex}.credit-actions .secondary{padding:7px 9px;font-size:11px}.directory-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-bottom:13px;display:flex}.directory-toolbar .search-box{width:300px}.party-group{border-bottom:1px solid var(--line)}.party-group:last-child{border-bottom:0}.party-row{width:100%;color:inherit;text-align:left;background:0 0;border:0;grid-template-columns:38px minmax(150px,1fr) 70px 120px 24px;align-items:center;gap:12px;padding:14px 2px;display:grid}.party-row:hover{background:#fafcfb}.party-avatar{width:36px;height:36px;color:var(--green);background:#e6f0ea;border-radius:50%;place-items:center;font-weight:800;display:grid}.party-main{gap:3px;display:grid}.party-main b{font-size:13px}.party-main small{color:var(--muted);font-size:10px}.party-direction{color:var(--red);text-align:center;background:#f9e8e8;border-radius:4px;padding:4px 6px;font-size:10px}.party-direction.owed_to_me{color:var(--green);background:#e8f4ed}.party-row>strong{text-align:right;font-size:14px}.party-row>svg{transition:transform .18s}.party-row>svg.rotate{transform:rotate(180deg)}.party-details{border-top:1px solid var(--line);background:#f7f9f7;padding:0 14px}.debt-compact-row{border-bottom:1px solid #e3e8e5;grid-template-columns:minmax(170px,1fr) 100px 60px 90px;align-items:center;gap:12px;padding:12px 0;display:grid}.debt-compact-row:last-child{border-bottom:0}.debt-compact-row>div:first-child{gap:3px;display:grid}.debt-compact-row b{font-size:12px}.debt-compact-row small{color:var(--muted);font-size:9px}.debt-compact-row>strong{text-align:right;font-size:12px}.debt-compact-row>span{text-align:center;color:var(--muted);font-size:9px}.debt-compact-row>span.settled{color:var(--green)}.debt-compact-row .secondary{padding:7px;font-size:10px}.debt-entry-line{color:var(--muted);grid-column:1/-1;font-size:9px;gap:12px!important;display:flex!important}.debt-entry-line span{white-space:nowrap}@media (width<=1100px){.credit-row{grid-template-columns:minmax(200px,1fr) minmax(300px,1.4fr)}.credit-usage,.credit-actions{grid-column:auto}.credit-actions{justify-content:flex-end}.fund-bottom-grid{grid-template-columns:1fr}}@media (width<=820px){.transaction-filters{flex-wrap:wrap;align-items:flex-start}.fund-tabs{width:100%}.fund-tabs button{flex:1;justify-content:center}.credit-row{grid-template-columns:1fr}.credit-metrics{grid-template-columns:repeat(4,1fr)}.credit-actions{justify-content:flex-start}.directory-toolbar{flex-direction:column;align-items:stretch}.directory-toolbar .search-box{width:100%}.party-row{grid-template-columns:38px minmax(110px,1fr) 65px 90px 18px}.debt-compact-row{grid-template-columns:minmax(130px,1fr) 90px 55px 78px}}@media (width<=560px){.transaction-filters{display:grid}.transaction-filters .segmented{width:100%}.transaction-filters .segmented button{flex:1;padding:7px 6px}.transaction-filters>input{width:100%}.date-range{grid-template-columns:1fr 15px 1fr;display:grid}.date-range input{width:100%}.date-range .secondary{grid-column:1/-1}.bill-period-filter input{width:122px}.credit-summary{grid-template-columns:1fr 1fr}.credit-summary>div{padding:13px}.credit-summary>div:first-child{border-bottom:1px solid var(--line);grid-column:1/-1}.credit-summary strong{font-size:17px}.credit-list{padding:0 14px}.credit-metrics{grid-template-columns:1fr 1fr}.credit-row{gap:12px}.party-row{grid-template-columns:34px minmax(85px,1fr) 72px 18px}.party-row .party-direction{display:none}.party-row>strong{font-size:12px}.party-details{padding:0 10px}.debt-compact-row{grid-template-columns:minmax(110px,1fr) 75px 68px}.debt-compact-row>span{display:none}.debt-entry-line{overflow-x:auto}.compact-history>div{grid-template-columns:1fr auto}.compact-history small{display:none}}.book-switcher{min-width:0;position:relative}.book-switcher-trigger{max-width:260px;height:42px;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:9px;padding:0 8px;font-size:16px;font-weight:750;display:flex}.book-switcher-trigger:hover,.book-switcher-trigger[aria-expanded=true]{background:#f1f5f2}.book-switcher-trigger>i{border-radius:50%;flex:none;width:8px;height:8px}.book-switcher-trigger>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.book-switcher-trigger>svg{flex:none;transition:transform .18s}.book-switcher-trigger>svg.rotate{transform:rotate(180deg)}.book-switcher-menu{z-index:50;background:#fff;border:1px solid #d9e1dc;border-radius:7px;width:250px;padding:6px;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 12px 32px #173b2e29}.book-switcher-menu button{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:5px;grid-template-columns:9px minmax(0,1fr) 18px;align-items:center;gap:10px;padding:10px;display:grid}.book-switcher-menu button:hover{background:#f3f7f4}.book-switcher-menu button.active{color:var(--green-dark);background:#e8f2eb}.book-switcher-menu button>i{border-radius:50%;width:8px;height:8px}.book-switcher-menu button>span{gap:2px;min-width:0;display:grid}.book-switcher-menu b{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.book-switcher-menu small{color:var(--muted);font-size:10px;font-weight:500}.book-switcher-menu button.active small{color:#56806a}@media (width<=820px){.topbar .book-switcher{margin-left:3px;margin-right:auto}.book-switcher-trigger{max-width:180px}}@media (width<=560px){.book-switcher-trigger{max-width:128px;padding:0 5px;font-size:15px}.book-switcher-menu{width:min(240px,100vw - 28px)}}
