@charset "UTF-8";:root{font-family:Inter,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#253a34;background:#f6f7f4;font-synthesis:none;--green:#245b49;--line:#e4e9e3;--muted:#849087}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0}button:disabled{opacity:.5;cursor:wait}a{color:var(--green);text-decoration:none}input,select,textarea{border:1px solid #dce2db;border-radius:9px;padding:11px 12px;background:white;color:#243d33;max-width:100%;outline:none}input:focus,textarea:focus,select:focus{border-color:#689382;box-shadow:0 0 0 3px #dcebe4}label{display:grid;gap:8px;font-size:13px;color:#65736b}h1,h2,h3,p{margin-top:0}h2{font-size:17px;letter-spacing:-.3px}h3{font-size:15px}small{font-size:12px}button:focus-visible,a:focus-visible{outline:3px solid #78aa97;outline-offset:3px}[hidden]{display:none!important}.primary,.secondary{padding:11px 19px;border-radius:9px;font-weight:600;font-size:14px}.primary{background:var(--green);color:#fff}.primary:hover{background:#163e31}.secondary{background:#eef3ed;color:var(--green);border:1px solid #dbe4d9}.text-button{background:transparent;color:var(--green);padding:7px 0;font-size:13px;white-space:nowrap}.danger{color:#af6860}.muted{color:var(--muted);font-weight:400}.small{font-size:12px;line-height:1.7}.eyebrow{font-size:10px;letter-spacing:2px;color:#8b9b8d;font-weight:700}.login{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr;background:#fafbf8}.login-card{max-width:390px;width:100%;margin:auto;padding:50px 32px}.brand-mark{width:47px;height:47px;border-radius:14px;background:#204a3b;color:#fff;display:grid;place-items:center;font-size:25px;font-weight:700;margin-bottom:40px}.login h1{font-size:34px;letter-spacing:-1px;margin:14px 0}.login p{color:#8a958e;font-size:14px;line-height:1.8}.login form{display:grid;gap:20px;margin:36px 0 32px}.login .primary{display:flex;justify-content:space-between;padding:14px 18px}.login small{color:#9aa49c}.login-art{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:11%;background:#193f33;color:#e7eee0}.login-art h2{font-size:clamp(34px,4vw,62px);line-height:1.45;font-weight:400;letter-spacing:4px;margin:20px 0}.login-art span{font-size:10px;letter-spacing:3px;color:#9fb69b}.login-art p{color:#9fb69b}.art-lines{position:absolute;width:650px;height:650px;border:1px solid #55705a;border-radius:50%;left:38%;top:49%;opacity:.45;box-shadow:0 0 0 55px #193f33,0 0 0 56px #55705a,0 0 0 110px #193f33,0 0 0 111px #55705a}.sidebar{width:230px;position:fixed;inset:0 auto 0 0;background:#fcfdfb;border-right:1px solid var(--line);padding:36px 22px;display:flex;flex-direction:column}.logo{display:flex;gap:12px;align-items:center;padding:0 8px;margin-bottom:56px}.logo>b{display:grid;place-items:center;background:#234c3c;color:white;width:37px;height:37px;border-radius:11px;font-size:22px}.logo>span{font-size:17px;font-weight:700;letter-spacing:1px}.logo small{display:block;font-size:8px;letter-spacing:2px;color:#92a090;margin-top:4px}nav{display:grid;gap:8px}nav button{display:flex;gap:14px;text-align:left;align-items:center;background:transparent;color:#7c8980;padding:14px;border-radius:9px;font-size:14px}nav button span{font-size:19px;width:22px;text-align:center}nav button.active{background:#eaf0e6;color:#2d5d43;font-weight:600}.sidebar-foot{margin-top:auto;color:#9ca79c;font-size:11px;padding:15px 7px}.sidebar-foot button{display:block;background:none;color:#8b968d;font-size:12px;margin-top:20px;padding:0}.status-dot{display:inline-block;width:6px;height:6px;background:#75a978;border-radius:50%;margin-right:7px}main{margin-left:230px;padding:40px 42px 20px;max-width:1660px}header{display:flex;justify-content:space-between;align-items:center;gap:20px}header h1{font-size:28px;font-weight:600;margin:10px 0 0;letter-spacing:-1px}.header-actions{display:flex;gap:14px;align-items:center}.month-label input{background:#fff;font-size:13px}.intro{display:flex;justify-content:space-between;color:#89958b;font-size:12px;margin:25px 0 32px}.intro>span:last-child{font-size:10px;color:#a0aa9f}.section-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.section-title h2{margin:0}.section-title>.muted{font-size:11px}.section-title>select{font-size:11px;padding:7px 26px 7px 12px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:25px}.stat{background:white;border:1px solid var(--line);border-radius:14px;padding:24px 22px;min-height:160px;display:flex;flex-direction:column}.stat>span{font-size:12px;color:#859186;display:flex;justify-content:space-between}.stat strong{font-size:clamp(20px,2.1vw,31px);font-weight:600;margin:19px 0 17px;letter-spacing:-.7px}.stat small{font-size:10px;color:#9daa9e}.stat.dark{background:#244c3b;color:#edf3e6;border-color:#244c3b}.stat.dark>span,.stat.dark small{color:#adbea4}.green{color:#55835c}.orange{color:#c89561}.two-col{display:grid;grid-template-columns:1.05fr 1fr;gap:25px}.panel{padding:25px;background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:25px;min-width:0}.empty{text-align:center;padding:35px 14px;color:#8f9c91;min-height:160px}.empty>span{display:block;font-size:29px;color:#c4d2c1;margin-bottom:12px}.empty h3{font-weight:500;color:#7d907d;margin-bottom:8px}.empty p{font-size:12px;line-height:1.7;margin-bottom:18px}.bar-row{margin:21px 0}.bar-row>div:first-child{display:flex;justify-content:space-between;font-size:12px;margin-bottom:10px}.bar-row b{font-size:12px;font-weight:500}.bar-track{height:7px;background:#edf2e9;border-radius:10px;overflow:hidden}.bar-track i{display:block;height:100%;background:#7c9b77;border-radius:10px}.bar-track .over{background:#bc806d}.account-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #f0f2ec}.account-row:last-child{border:0}.account-icon{background:#f0f3ea;color:#7b9172;border-radius:10px;width:35px;height:35px;display:grid;place-items:center;font-size:18px}.account-row b{display:block;font-size:13px;font-weight:500}.account-row small{display:block;color:#a3ada1;font-size:10px;margin-top:4px}.account-row strong{margin-left:auto;font-size:14px;font-weight:600}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{font-size:10px;color:#9da89d;text-align:left;font-weight:500;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:17px 12px;border-bottom:1px solid #f0f3ed}td b{font-weight:500;white-space:nowrap}td small{display:block;color:#9ca69b;font-size:10px;margin-top:5px;white-space:nowrap}.right{text-align:right}.amount{white-space:nowrap;font-weight:600}.income{color:#5d8661}.expense{color:#a97862}.transfer{color:#82918b}.note{max-width:230px;overflow-wrap:anywhere;color:#849083}.voided{opacity:.5}.voided .amount{text-decoration:line-through}.account-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.account-card{border:1px solid var(--line);border-radius:13px;padding:24px;background:white}.account-card>div{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.currency-tag{font-size:10px;letter-spacing:1px;color:#8b9a8b}.account-card h3{font-weight:500}.account-card strong{font-size:25px;display:block;margin:13px 0}.account-card small{color:#9aa69c;font-size:10px}.filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.filters input{font-size:12px}.filters select{font-size:12px}.check{display:flex;align-items:center;font-size:11px}.check input{accent-color:var(--green)}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:23px}.chips span{padding:7px 11px;background:#f0f4ed;font-size:12px;border-radius:7px;color:#72856f}.budget{padding:15px 0;border-bottom:1px solid var(--line)}.budget>div:first-child{display:flex;justify-content:space-between;font-size:12px}.budget>div span{color:#99a497;font-size:10px}.budget strong{font-weight:500;display:block;font-size:19px;margin:14px 0}.budget small{font-weight:400;color:#98a393;font-size:11px}.budget .bar-track{margin-bottom:10px}.settings{max-width:640px}.settings p{font-size:13px;line-height:1.9}.settings form{display:grid;gap:18px;max-width:340px;margin-top:25px}.settings hr{border:0;border-top:1px solid var(--line);margin:32px 0}footer{display:flex;justify-content:space-between;font-size:10px;color:#a0ad9c;margin-top:45px;padding:20px 0}#message{position:fixed;top:20px;left:50%;transform:translateX(-50%);padding:13px 24px;border-radius:9px;font-size:13px;z-index:10;box-shadow:0 4px 20px #0001}.success{background:#e4f2e7;color:#336441}.error{background:#f9e9e4;color:#a45345}dialog{border:0;border-radius:19px;padding:30px;width:460px;max-width:calc(100% - 32px);box-shadow:0 20px 100px #132c3540;color:#2b4437}dialog::backdrop{background:#182d3355;backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.dialog-head h2{font-size:24px;margin:9px 0 0}.close{background:transparent;color:#92a08f;font-size:25px}.dialog-actions .close{font-size:14px;color:var(--green)}#form-fields{display:grid;gap:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.money-input{font-size:29px;width:100%;padding:16px 12px;font-weight:500;letter-spacing:1px}.type-tabs{display:flex;gap:10px}.type-tabs label{flex:1;text-align:center}.type-tabs input{position:absolute;opacity:0;pointer-events:none}.type-tabs span{padding:11px;border-radius:8px;background:#f2f4ee;color:#9ba594}.type-tabs input:checked+span{background:#e5eddf;color:#39673e;font-weight:700}.type-tabs input:focus-visible+span{outline:2px solid #75a282}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}#form-error,#login-error{color:#b46b5c;font-size:12px;margin:12px 0 0}
@media(min-width:1500px){main{padding:48px 60px}.stats{gap:24px}.stat{padding:28px}.two-col{gap:28px}}@media(max-width:1100px){.sidebar{width:190px;padding:30px 15px}main{margin-left:190px;padding:30px 24px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{grid-template-columns:1fr}.stat{min-height:140px}.stat strong{font-size:28px}.logo{padding:0}.logo>span{font-size:15px}.section-title{flex-wrap:wrap}}@media(max-width:700px){.login{grid-template-columns:1fr}.login-art{display:none}.login-card{padding:35px 28px}.sidebar{inset:auto 0 0 0;width:auto;height:65px;padding:0 8px;border-right:0;border-top:1px solid var(--line);z-index:5}.logo,.sidebar-foot{display:none}nav{display:flex;justify-content:space-around;gap:0}nav button{padding:8px 3px 6px;gap:4px;flex-direction:column;font-size:10px;border-radius:0;min-width:55px}nav button span{font-size:19px}nav button.active{background:transparent;color:#245b49}main{margin:0;padding:24px 16px 80px}header{align-items:flex-end;gap:8px}header h1{font-size:23px}.header-actions{gap:7px;align-items:flex-end;flex-direction:column}.header-actions .primary{font-size:12px;padding:9px 14px}.month-label input{font-size:11px;padding:6px 9px;width:129px}.eyebrow{font-size:8px;letter-spacing:1.4px}.intro{font-size:10px;margin:21px 0}.intro>span:last-child{display:none}.stats{gap:10px;margin-bottom:17px}.stat{padding:17px 14px;min-height:135px;border-radius:11px}.stat strong{font-size:24px;margin:17px 0 14px}.stat>span{font-size:10px}.stat small{font-size:9px}.panel{padding:18px 14px;margin-bottom:17px;border-radius:11px}.section-title{margin-bottom:14px}.section-title h2{font-size:15px}.two-col{gap:0}.account-grid{gap:10px}.account-card{padding:18px 14px}.account-card strong{font-size:20px}.account-card h3{font-size:13px}.filters{gap:8px;width:100%}.filters>input{width:100%}th,td{padding-left:8px;padding-right:8px}td{font-size:11px}.note{min-width:80px}footer{margin-top:15px}.form-grid{gap:12px}dialog{padding:24px 20px}.empty{padding:27px 8px;min-height:140px}}

.bar-track .p0{width:0%}.bar-track .p1{width:1%}.bar-track .p2{width:2%}.bar-track .p3{width:3%}.bar-track .p4{width:4%}.bar-track .p5{width:5%}.bar-track .p6{width:6%}.bar-track .p7{width:7%}.bar-track .p8{width:8%}.bar-track .p9{width:9%}.bar-track .p10{width:10%}.bar-track .p11{width:11%}.bar-track .p12{width:12%}.bar-track .p13{width:13%}.bar-track .p14{width:14%}.bar-track .p15{width:15%}.bar-track .p16{width:16%}.bar-track .p17{width:17%}.bar-track .p18{width:18%}.bar-track .p19{width:19%}.bar-track .p20{width:20%}.bar-track .p21{width:21%}.bar-track .p22{width:22%}.bar-track .p23{width:23%}.bar-track .p24{width:24%}.bar-track .p25{width:25%}.bar-track .p26{width:26%}.bar-track .p27{width:27%}.bar-track .p28{width:28%}.bar-track .p29{width:29%}.bar-track .p30{width:30%}.bar-track .p31{width:31%}.bar-track .p32{width:32%}.bar-track .p33{width:33%}.bar-track .p34{width:34%}.bar-track .p35{width:35%}.bar-track .p36{width:36%}.bar-track .p37{width:37%}.bar-track .p38{width:38%}.bar-track .p39{width:39%}.bar-track .p40{width:40%}.bar-track .p41{width:41%}.bar-track .p42{width:42%}.bar-track .p43{width:43%}.bar-track .p44{width:44%}.bar-track .p45{width:45%}.bar-track .p46{width:46%}.bar-track .p47{width:47%}.bar-track .p48{width:48%}.bar-track .p49{width:49%}.bar-track .p50{width:50%}.bar-track .p51{width:51%}.bar-track .p52{width:52%}.bar-track .p53{width:53%}.bar-track .p54{width:54%}.bar-track .p55{width:55%}.bar-track .p56{width:56%}.bar-track .p57{width:57%}.bar-track .p58{width:58%}.bar-track .p59{width:59%}.bar-track .p60{width:60%}.bar-track .p61{width:61%}.bar-track .p62{width:62%}.bar-track .p63{width:63%}.bar-track .p64{width:64%}.bar-track .p65{width:65%}.bar-track .p66{width:66%}.bar-track .p67{width:67%}.bar-track .p68{width:68%}.bar-track .p69{width:69%}.bar-track .p70{width:70%}.bar-track .p71{width:71%}.bar-track .p72{width:72%}.bar-track .p73{width:73%}.bar-track .p74{width:74%}.bar-track .p75{width:75%}.bar-track .p76{width:76%}.bar-track .p77{width:77%}.bar-track .p78{width:78%}.bar-track .p79{width:79%}.bar-track .p80{width:80%}.bar-track .p81{width:81%}.bar-track .p82{width:82%}.bar-track .p83{width:83%}.bar-track .p84{width:84%}.bar-track .p85{width:85%}.bar-track .p86{width:86%}.bar-track .p87{width:87%}.bar-track .p88{width:88%}.bar-track .p89{width:89%}.bar-track .p90{width:90%}.bar-track .p91{width:91%}.bar-track .p92{width:92%}.bar-track .p93{width:93%}.bar-track .p94{width:94%}.bar-track .p95{width:95%}.bar-track .p96{width:96%}.bar-track .p97{width:97%}.bar-track .p98{width:98%}.bar-track .p99{width:99%}.bar-track .p100{width:100%}

/* Compact UI: labels and values only. */
.login{display:flex;align-items:center;justify-content:center}.login-card{width:360px;max-width:100%;padding:32px 24px}.login h1{font-size:28px;margin:0 0 28px}.login form{margin:0;gap:18px}.login .primary{display:block;text-align:center}.login #login-error:empty{display:none}header{margin-bottom:24px}header h1{margin:0}.logo{margin-bottom:32px}.sidebar-foot{padding-bottom:0}.stat{min-height:112px;padding:20px}.stat strong{margin:16px 0 0}.empty{min-height:76px;padding:24px 8px}.empty p{margin:0;font-size:13px}.empty button{margin-top:14px}.settings form{margin-top:16px}.dialog-head h2{margin:0;font-size:22px}@media(max-width:700px){.login-card{padding:28px 24px}header{margin-bottom:22px}.stat{min-height:108px;padding:16px 14px}.stat strong{margin:16px 0 0}.empty{min-height:68px;padding:20px 8px}}
