:root{color:#283a34;font-synthesis:none;--green:#246b55;--muted:#84908a;--line:#e9ece5;--cream:#f7f8f4;background:#f7f8f4;font-family:Inter,Segoe UI,Microsoft JhengHei,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}button{transition:background .16s,transform .16s}button:active:not(:disabled){transform:translateY(1px)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #6fa28a}button svg{flex-shrink:0}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h2{letter-spacing:.02em;font-size:17px;font-weight:650}h3{font-size:16px}i{opacity:.5;margin:0 5px;font-style:normal}button,input,select{border-radius:9px}button{justify-content:center;align-items:center;gap:7px;display:inline-flex}input,select{color:#30453a;background:#fff;border:1px solid #dfe5dc;min-width:0;height:44px;padding:0 12px}input::placeholder{color:#a5afa8}select{cursor:pointer}input[type=checkbox]{width:17px;height:17px;accent-color:var(--green)}.app-shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--line);z-index:5;background:#fff;flex-direction:column;width:238px;padding:38px 22px 20px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.brand{letter-spacing:.1em;align-items:center;gap:12px;margin:0 8px 53px;font-size:23px;font-weight:750;display:flex}.brand-mark{background:var(--green);color:#fff;border-radius:13px;place-items:center;width:44px;height:44px;display:grid}.brand small{color:#89928c;letter-spacing:.14em;margin-top:4px;font-size:8px;font-weight:500;display:block}.sidebar-label{text-transform:uppercase;letter-spacing:.15em;color:#929d94;margin:0 12px 15px;font-size:10px}.book-switcher{gap:7px;display:grid}.book-switcher button{color:#738075;background:0 0;border:0;justify-content:flex-start;padding:13px 11px;font-size:13px}.book-switcher button.selected{color:#304c3b;background:#f1f5ed;font-weight:650}.selected-dot{background:#7c9b7c;border-radius:50%;width:6px;height:6px;margin-left:auto}.sidebar-line{background:var(--line);height:1px;margin:25px 10px}.sidebar nav{gap:9px;display:grid}.sidebar nav button{color:#7a877e;background:0 0;border:0;justify-content:flex-start;gap:13px;padding:14px}.sidebar nav button.active{color:var(--green);background:#eaf2e9;font-weight:650}.sidebar nav b{color:#fff;background:#e5a25c;border-radius:12px;min-width:20px;margin-left:auto;font-size:10px;line-height:20px}.sidebar-note{color:#789075;background:#f7f8f2;border:1px solid #edf0e7;border-radius:14px;margin:45px 8px 25px;padding:20px 17px}.sidebar-note strong{color:#667d63;margin:12px 0 9px;font-size:11px;display:block}.sidebar-note p{color:#97a18f;font-size:11px;line-height:1.9}.sidebar-bottom{color:#9aa59b;align-items:center;gap:7px;margin-top:auto;padding:18px 10px 0;font-size:10px;display:flex}.sidebar-bottom>span:last-child{margin-left:auto}.status-dot{vertical-align:middle;background:#75a581;border-radius:50%;width:5px;height:5px;display:inline-block}.workspace{width:calc(100% - 238px);margin-left:238px}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:78px;padding:0 48px;display:flex}.breadcrumb{color:#96a096;font-size:12px}.breadcrumb>span{color:#c6cec4;margin:0 13px}.breadcrumb strong{color:#6c7c6d;font-weight:500}.identity{color:#94a092;align-items:center;gap:8px;font-size:11px;display:flex}.identity select{appearance:none;background:0 0;border:0;max-width:140px;height:34px;padding:0 2px;font-size:12px}.avatar{color:#5b685d;border:2px solid #fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:13px;display:inline-flex}.avatar.small{width:29px;height:29px;font-size:10px}.workspace main{max-width:1360px;margin:auto;padding:23px 48px 0}.demo-notice{color:#728375;align-items:center;gap:8px;margin-bottom:27px;font-size:11px;line-height:1.6;display:flex}.demo-notice svg{flex-shrink:0}.page-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:30px;display:flex}.eyebrow{color:#9ba894;letter-spacing:.2em;margin-bottom:9px;font-size:9px;font-weight:600}h1{letter-spacing:.04em;font-size:29px;font-weight:650}.page-heading p{color:#8b978b;margin-top:10px;font-size:12px;line-height:1.7}.primary,.secondary{white-space:nowrap;min-height:41px;padding:10px 16px;font-size:12px;font-weight:550}.primary{border:1px solid var(--green);background:var(--green);color:#fff}.primary:hover:not(:disabled){background:#19533f}.secondary{color:#536b56;background:#fff;border:1px solid #dfe5db}.secondary:hover:not(:disabled){background:#f4f7ef}.add-button{padding:13px 20px;box-shadow:0 4px 10px #246b5510}.text-button{color:#758b6d;white-space:nowrap;background:0 0;border:0;min-height:30px;padding:5px 0;font-size:11px}.icon-button{color:#8b978a;background:0 0;border:0;border-radius:50%;padding:8px}.stats-grid{grid-template-columns:1.45fr 1fr 1fr;gap:19px;margin-bottom:27px;display:grid}.hero-card{color:#e7f0e6;background:#286b55;border-radius:15px;min-height:214px;padding:25px 27px 20px;position:relative;overflow:hidden}.hero-card:before{content:"";border:1px solid #ffffff0b;border-radius:50%;width:240px;height:240px;position:absolute;top:-40px;right:-65px;box-shadow:0 0 0 35px #ffffff04,0 0 0 70px #ffffff03}.hero-top,.hero-bottom{justify-content:space-between;align-items:center;gap:10px;display:flex;position:relative}.hero-top>span:first-child{letter-spacing:.04em;font-size:12px}.pill{color:#74856c;white-space:nowrap;background:#edf3e9;border-radius:6px;align-items:center;gap:6px;padding:6px 9px;font-size:10px;display:inline-flex}.pill.light{color:#dcebdc;background:#ffffff15;font-size:9px}.pill.light .status-dot{background:#bad2aa}.pill.muted{color:#a49775;background:#f5f1e8}.hero-amount{letter-spacing:.01em;margin:29px 0 12px;font-size:39px;font-weight:500;display:block}.hero-bottom{color:#b9d2bf;font-size:10px}.hero-bottom svg{color:#a8c6b555}.stat-card{border:1px solid var(--line);background:#fff;border-radius:15px;flex-direction:column;align-items:flex-start;padding:22px;display:flex}.stat-card>span:not(.stat-icon){color:#8b9989;font-size:11px}.stat-icon{color:#819774;background:#edf3e9;border-radius:9px;place-items:center;width:33px;height:33px;margin-bottom:13px;display:grid}.stat-icon.peach{color:#c9a47f;background:#f8eee3}.stat-card>strong{letter-spacing:.01em;margin:11px 0 6px;font-size:27px;font-weight:550}.stat-card p{color:#99a393;font-size:10px;line-height:1.7}.stat-card .text-button{margin-top:auto}.avatar-stack{margin:15px 0 8px;display:flex}.avatar-stack .avatar+.avatar{margin-left:-7px}.stat-card .subtle{margin-top:9px!important;font-size:10px!important}.overview-grid{grid-template-columns:minmax(0,1.8fr) minmax(240px,1fr);gap:23px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:14px;margin-bottom:23px;padding:24px}.panel-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:21px;display:flex}.panel-heading h2{font-size:15px}.subtle{color:#98a290;font-size:11px}.expense-row{border-bottom:1px solid #f0f2ec;align-items:center;gap:13px;min-width:0;padding:17px 0;display:flex}.expense-row:last-child{border:0}.category-symbol{border-radius:12px;flex-shrink:0;place-items:center;width:42px;height:42px;display:grid}.category-symbol img{opacity:.63}.expense-title{flex:1;min-width:0}.expense-title strong{white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:550;display:block;overflow:hidden}.expense-title>span{color:#99a291;white-space:nowrap;margin-top:7px;font-size:10px;display:block}.expense-amount{text-align:right;flex-shrink:0}.expense-amount strong{font-size:13px;font-weight:600}.expense-amount>span{color:#a1aa9c;margin-top:7px;font-size:9px;display:block}.refund{color:#9aa68d;font-size:10px}.category-stat{margin-bottom:24px}.category-stat>div:first-child{justify-content:space-between;align-items:center;font-size:11px;display:flex}.category-stat>div>span{color:#81907b;align-items:center;gap:9px;display:flex}.category-stat strong{color:#72816b;font-size:11px;font-weight:500}.category-stat img{opacity:.5}.bar{background:#f5f6f0;border-radius:5px;height:5px;margin-top:11px;overflow:hidden}.bar span{filter:saturate(.75)brightness(.94);border-radius:5px;height:100%;display:block}.category-foot{text-align:center;color:#a0aa93;border-top:1px dashed #e7ebdf;margin-top:28px;padding-top:18px;font-size:10px;line-height:1.9}.category-foot strong{color:#849477;font-size:11px;font-weight:500;display:block}.gentle-note{color:#8a9a7a;background:#f1f5eb;border:1px solid #e9eee1;border-radius:10px;align-items:center;gap:10px;padding:14px 18px;font-size:11px;display:flex}.gentle-note>.text-button{margin-left:auto;font-size:10px}.pending-banner{color:#9b8654;text-align:left;background:#fbf6e9;border:1px solid #ebe1c9;border-radius:10px;width:100%;margin-bottom:25px;padding:14px 18px;font-size:12px;display:flex}.pending-banner svg:last-child{margin-left:auto}.filters{flex-wrap:wrap;gap:10px;margin-bottom:15px;display:flex}.filters select{flex:1;font-size:12px}.search{color:#a0ab98;border:1px solid #e2e7dd;border-radius:8px;flex:1.5;align-items:center;gap:8px;min-width:180px;padding:0 12px;display:flex}.search input{background:0 0;border:0;width:100%;padding:0;font-size:12px}.balance-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:18px;display:grid}.balance-card{flex-direction:column;align-items:center;gap:10px;display:flex}.balance-card>span:not(.avatar){color:#91a084;font-size:12px}.balance-card strong{font-size:25px;font-weight:550}.balance-label{background:#f8eee5;border-radius:6px;padding:5px 12px;font-size:10px!important}.positive{color:#527b5c!important}.balance-label.positive{background:#edf4e8}.section-description{color:#8a9884;margin:0 0 12px;font-size:12px;line-height:1.9}.transfer-row{border-bottom:1px solid #edf0e7;flex-wrap:wrap;align-items:center;gap:10px;padding:18px 0;font-size:12px;display:flex}.transfer-row:last-child{border:0}.transfer-row strong{margin-left:auto;font-size:16px;font-weight:600}.transfer-row .avatar{width:32px;height:32px;font-size:10px}.transfer-row>.secondary,.transfer-row>.primary{margin-left:8px}.hint{color:#89967e;margin:12px 0;font-size:11px;line-height:1.9}.section-banner{color:#7d936f;background:#eef3e7;border-radius:12px;gap:15px;margin-bottom:22px;padding:20px 23px;display:flex}.section-banner strong{font-size:13px}.section-banner p{color:#91a080;margin-top:7px;font-size:11px;line-height:1.8}.period-card{justify-content:space-between;align-items:center;gap:20px;display:flex}.period-card h2{margin:13px 0 9px}.period-card p{color:#93a087;font-size:11px;line-height:1.8}.button-row{flex-wrap:wrap;gap:10px;display:flex}.empty{text-align:center;color:#94a087;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:45px 15px;display:flex}.empty h3{color:#6f8368;font-weight:500}.empty p{font-size:12px;line-height:1.8}.empty.compact{padding:25px}.category-choices{flex-wrap:wrap;gap:9px;display:flex}.category-choices button,.category-tag{color:#7d8d71;background:#fff;border:1px solid #e3e8dc;border-radius:8px;align-items:center;gap:7px;padding:10px 12px;font-size:11px;display:inline-flex}.chosen,.category-choices button.chosen{color:#52764d!important;background:#edf4e8!important;border-color:#8aa37b!important}.category-choices img{opacity:.6}.category-form{gap:10px;margin-top:22px;display:flex}.category-form input{flex:1}.capacity-form{flex-wrap:wrap;align-items:flex-end;gap:18px;display:flex}.capacity-form label{color:#849577;gap:10px;font-size:11px;display:grid}.capacity-form input{width:150px}.audit-list{margin-top:15px}.audit-list>div{border-bottom:1px solid #edf0e8;padding:13px 0}.audit-list strong{font-size:12px;display:block}.audit-list span{color:#92a085;margin-top:6px;font-size:11px;display:block}summary{color:#839875;cursor:pointer;font-size:12px}footer{color:#b0b7a7;justify-content:space-between;align-items:center;margin:30px 0;padding:18px 0;font-size:10px;display:flex}footer>span{font-size:9px}.toast{z-index:100;color:#fff;background:#263e32;border-radius:12px;align-items:center;gap:11px;max-width:calc(100vw - 32px);padding:13px 15px 13px 19px;font-size:12px;line-height:1.7;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 5px 24px #1c38222b}.toast>svg{flex-shrink:0}.toast .icon-button{color:#c4d3bf}.modal{color:#334931;background:#fff;border:1px solid #e4e9dd;border-radius:18px;width:min(540px,100vw - 30px);max-height:90dvh;padding:26px;box-shadow:0 20px 100px #102a2230}.modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1e322755}.modal-head{justify-content:space-between;align-items:center;margin-bottom:23px;display:flex}.modal-head h2{font-size:19px}.expense-form{gap:18px;display:grid}.expense-form>label,.form-two>label{color:#7f9274;gap:8px;font-size:12px;display:grid}.expense-form input,.expense-form select{width:100%}.expense-form fieldset{border:0;margin:0;padding:0}.expense-form legend{color:#7f9274;margin-bottom:12px;padding:0;font-size:12px}.form-two{grid-template-columns:1fr 1fr;gap:13px;display:grid}.conversion{color:#849777;background:#f2f6ec;border-radius:9px;justify-content:space-between;align-items:center;padding:11px 14px;font-size:11px;display:flex}.conversion strong{color:#54714c;font-size:16px}.segmented{background:#f7f8f3;border-radius:9px;gap:5px;margin-bottom:10px;padding:4px;display:flex}.segmented button{color:#90a080;background:0 0;border:1px solid #0000;flex:1;padding:9px 5px;font-size:11px}.participant{color:#6f8263;justify-content:space-between;align-items:center;gap:15px;padding:7px 0;font-size:12px;display:flex}.checkbox-label{white-space:nowrap;align-items:center;gap:8px;display:flex}.participant input[type=checkbox]{width:17px}.participant>input{width:130px;font-size:12px}.form-error{color:#ab6756;background:#fff0ec;border-radius:8px;padding:12px;font-size:12px;line-height:1.7}.full{width:100%;min-height:46px}.icon-search{height:44px}.icon-grid{grid-template-columns:repeat(6,1fr);gap:8px;max-height:400px;margin-top:18px;display:grid;overflow:auto}.icon-grid button{background:#fff;border:1px solid #e8ecdf;flex-direction:column;gap:7px;min-width:0;height:68px;padding:7px;display:flex}.icon-grid span{color:#a2ac95;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:8px;overflow:hidden}.recovery{max-width:600px;margin:15vh auto;padding:25px}.recovery p{margin:25px 0;line-height:1.9}@media (width>=1500px){.workspace main{padding-top:30px}.stats-grid{gap:24px}.hero-card{padding:27px 30px}.hero-amount{font-size:44px}}@media (width<=1150px){.sidebar{width:210px;padding-left:15px;padding-right:15px}.workspace{width:calc(100% - 210px);margin-left:210px}.workspace main{padding-left:27px;padding-right:27px}.topbar{padding:0 27px}.stats-grid{grid-template-columns:1.3fr 1fr 1fr;gap:12px}.hero-card{padding:23px 20px}.hero-amount{font-size:33px}.stat-card{padding:20px 16px}.overview-grid{grid-template-columns:minmax(0,1.6fr) minmax(220px,1fr);gap:16px}.panel{padding:20px}.period-card{flex-direction:column;align-items:flex-start}.refund{display:none}.sidebar-note{padding:16px 12px}}@media (width<=850px){.sidebar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffed;border:0;border-top:1px solid #e7ecdf;width:100%;height:72px;padding:0 8px;inset:auto 0 0}.sidebar>:not(nav){display:none}.sidebar nav{justify-content:space-around;gap:0;height:100%;display:flex}.sidebar nav button{flex-direction:column;justify-content:center;gap:5px;min-width:58px;padding:8px 5px;font-size:9px;display:flex;position:relative;background:0 0!important}.sidebar nav button.active{color:#246b55}.sidebar nav b{min-width:15px;font-size:8px;line-height:15px;position:absolute;top:6px;right:3px}.workspace{width:100%;margin-left:0;padding-bottom:74px}.topbar{height:65px;padding:0 22px}.workspace main{max-width:900px;padding:20px 22px 0}.identity>span:first-child{display:none}.demo-notice{margin-bottom:24px;font-size:10px}.page-heading{margin-bottom:23px}.page-heading h1{font-size:26px}.eyebrow{font-size:8px}.toast{width:max-content;max-width:calc(100vw - 26px);bottom:87px}.overview-grid{grid-template-columns:minmax(0,1.7fr) minmax(220px,1fr)}}@media (width<=600px){.workspace main{padding:18px 17px 0}.topbar{padding:0 17px}.breadcrumb{white-space:nowrap;max-width:48%;font-size:10px;overflow:hidden}.breadcrumb>span{margin:0 6px}.identity{gap:4px}.identity select{max-width:125px;font-size:10px}.identity .avatar{width:25px;height:25px}.page-heading{align-items:center;gap:8px}.page-heading h1{font-size:25px}.page-heading p{max-width:220px;font-size:10px}.add-button{min-height:40px;padding:10px 11px;font-size:11px}.add-button svg{width:16px}.stats-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:21px}.hero-card{grid-column:1/-1;min-height:193px;padding:24px}.hero-amount{margin:22px 0 7px;font-size:40px}.hero-top>span:first-child{font-size:12px}.stat-card{min-height:188px;padding:18px 17px}.stat-card>strong{font-size:25px}.stat-card p{font-size:9px}.stat-card .text-button{font-size:10px}.overview-grid{display:block}.panel{margin-bottom:18px;padding:19px 17px}.panel-heading h2{font-size:14px}.panel-heading .text-button{font-size:10px}.expense-row{gap:10px;padding:16px 0}.expense-title strong{font-size:11px}.expense-title>span{font-size:9px}.expense-amount strong{font-size:12px}.category-symbol{border-radius:10px;width:37px;height:37px}.category-symbol img{width:20px;height:20px}.category-panel .category-stat{margin-bottom:21px}.category-foot{margin-top:24px;padding-top:15px}.gentle-note{align-items:flex-start;gap:8px;padding:12px;font-size:10px;line-height:1.9}.gentle-note svg{flex-shrink:0;margin-top:2px}.gentle-note .text-button{display:none}footer{margin:16px 0;font-size:9px}footer>span{font-size:8px}.filters{gap:8px}.filters .search{flex-basis:100%}.filters select{width:30%;font-size:11px}.filters .secondary{padding:8px 10px;font-size:11px}.balance-grid{grid-template-columns:repeat(2,1fr);gap:12px}.balance-card{padding:20px 12px}.balance-card strong{font-size:23px}.transfer-row{gap:8px;font-size:11px}.transfer-row .avatar{width:25px;height:25px;font-size:9px}.transfer-row>svg{width:16px}.transfer-row strong{font-size:14px}.transfer-row>.secondary,.transfer-row>.primary{min-height:36px;margin-left:auto;padding:7px 10px;font-size:10px}.period-card{gap:18px}.button-row{gap:8px}.button-row button{padding:9px 10px;font-size:10px}.section-banner{gap:12px;padding:17px}.section-banner p{font-size:10px}.category-form{flex-wrap:wrap;gap:8px}.category-form input{width:calc(100% - 70px)}.category-form .primary{margin-left:auto;font-size:11px}.capacity-form{gap:12px}.capacity-form input{width:130px}.capacity-form label{font-size:10px}.modal{padding:22px 19px}.modal-head h2{font-size:17px}.icon-grid{grid-template-columns:repeat(4,1fr)}.pending-banner{padding:12px;font-size:11px;line-height:1.8}.pill{padding:6px 7px;font-size:9px}}.expense-title strong{font-size:13px}.expense-title>span{color:#67745f;font-size:11px}.expense-amount strong{font-size:14px}.expense-amount>span{color:#67745f;font-size:11px}.demo-notice,.section-description,.hint,.period-card p,.stat-card p,.stat-card .subtle,.page-heading p{color:#67745f}.pill{color:#53684e}.pill.light{color:#dcebdc}.category-stat>div>span,.category-stat strong{color:#607458}.sidebar nav button{color:#627365}.sidebar nav button.active{color:#246b55}@media (width<=600px){.stat-card p,.stat-card .subtle,.page-heading p{font-size:11px!important}.expense-title>span{font-size:10px}}.login-page{place-items:center;min-height:100dvh;padding:28px 16px;display:grid}.login-card{width:min(430px,100%);margin:0;padding:30px}.login-card .brand{margin:0 0 32px;font-size:23px}.login-card h1{margin-bottom:12px;font-size:25px}.login-card .expense-form{margin:23px 0 10px}.google-login{margin:20px 0 8px;display:flex}.google-login.disabled{opacity:.55;cursor:default}.dev-label{color:#765d2a;background:#faf3e2;border:1px solid #eee0ba;border-radius:9px;margin-bottom:20px;padding:12px 15px;font-size:12px;line-height:1.8}.invitation{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.invitation p{color:#64745e;font-size:13px}.invitation button{margin-left:auto}.export-row{margin-bottom:20px}.topbar>select{background:0 0;border:0;max-width:220px}@media (width<=600px){.login-card{padding:26px 22px}.page-heading>.button-row{flex-direction:column;gap:8px}.page-heading>.button-row button{min-height:36px;padding:8px 10px;font-size:11px}.topbar>select{max-width:180px;font-size:12px}}
