:root{font-family:Inter,system-ui,Arial,sans-serif;color:#22302c;background:#f5f7f7;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{border:0;border-radius:10px;background:#28594b;color:#fff;padding:12px 19px;font-weight:700;cursor:pointer}button:hover{background:#1f463b}.layout{display:flex;min-height:100vh}aside{background:#203d36;color:#fff;width:252px;flex-shrink:0;padding:29px 20px;display:flex;flex-direction:column}.brand{font-size:19px;font-weight:800;white-space:nowrap}.brand span{color:#80caa7;font-size:26px}nav{display:grid;gap:9px;margin-top:48px}nav a{border-radius:10px;padding:12px;color:#d2e3dd;font-size:14px}nav a.active{background:#385c51;color:#fff;font-weight:700}aside small{margin-top:auto;color:#a7c4b9}main{padding:42px 5%;flex:1;max-width:1280px;margin:auto;width:100%}header{display:flex;align-items:start;justify-content:space-between}header h1{font-size:32px;margin:5px 0}header p{color:#68766f;margin:4px 0 20px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:2px;color:#46876e}.preview{font-size:12px;color:#48725f;background:#e1f0e8;padding:9px 12px;border-radius:20px;font-weight:700}.notice{padding:14px;border:1px solid #e7d8ad;border-radius:10px;background:#fff8e4;color:#766024;font-size:13px;margin:8px 0 25px}.toolbar{display:flex;align-items:end;justify-content:space-between;margin:25px 0;gap:15px}.toolbar label,.form label{display:grid;gap:7px;color:#65726b;font-size:13px;font-weight:700}input[type=month],.form input{padding:11px 12px;border-radius:9px;border:1px solid #d7dfda;background:#fff;color:#26352d}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:25px}.stats article,.panel{background:#fff;border:1px solid #e5ebe7;box-shadow:0 3px 12px #1e3b2b08;border-radius:15px}.stats article{padding:23px 18px;min-width:0}.stats span{color:#69776f;font-size:12px}.stats strong{display:block;font-size:clamp(17px,2vw,25px);margin-top:14px;white-space:nowrap}.panel{padding:23px;margin-bottom:20px}.sectiontop{display:flex;justify-content:space-between;align-items:center}.sectiontop h2,.form h2{font-size:19px;margin:0 0 18px}.sectiontop span{font-size:13px;color:#69776f}.progress{height:7px;background:#edf1ee;border-radius:20px;margin-bottom:17px;overflow:hidden}.progress>div{background:#4b9b7d;height:100%;transition:width .2s}.entry{display:flex;justify-content:space-between;align-items:center;padding:16px 2px;border-top:1px solid #eff2ef;gap:12px}.entry label{display:flex;align-items:center;gap:14px}.entry input{accent-color:#398363;width:18px;height:18px}.entry label span,.amount{display:grid;gap:5px}.entry small{color:#89928d}.amount{text-align:right}.amount em{font-size:12px;font-weight:700;font-style:normal}.paid{color:#2c936b}.pending{color:#b0842e}.form{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.form h2{flex-basis:100%}.form label{flex:1;min-width:150px}@media(max-width:860px){aside{display:none}main{padding:27px 17px 90px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stats article{padding:16px 13px}.stats strong{font-size:19px}header h1{font-size:27px}.preview{font-size:10px}.entry{gap:10px}.entry b{font-size:14px}.toolbar{align-items:end}}.authpage{min-height:100vh;display:grid;place-items:center;background:#eff5f2;padding:20px}.authbox{background:#fff;border:1px solid #dfe9e3;border-radius:20px;padding:35px;width:100%;max-width:430px;display:grid;gap:14px;box-shadow:0 16px 40px #203c2c12}.authbox h1{margin:16px 0 0}.authbox p{margin:0 0 12px;color:#68766f}.authbox label{display:grid;gap:7px;font-weight:600;font-size:13px}.authbox input,.form select{padding:12px;border:1px solid #cfdbd4;border-radius:9px;background:#fff;color:#24392f}.authbox .linkbutton{background:transparent;color:#28594b}.dark{color:#21483d}.error{padding:14px;background:#ffefed;border:1px solid #efc5c0;border-radius:10px;color:#9a2d21;margin:12px 0}.navitem,.navactive{width:100%;text-align:left;background:transparent;color:#cee3d7}.navactive{background:#385c51}.asidefoot{margin-top:auto;display:grid;gap:12px}.entrymain{display:grid;gap:5px}.tiny{font-size:11px;padding:6px 10px}.secondary{background:#e7efea;color:#315647}.months{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.form select{min-width:140px}.form label:has(input[type=checkbox]){display:flex;align-items:center}footer{color:#819087;font-size:12px;padding:20px}.form{margin-top:15px}@media(max-width:860px){.authbox{padding:24px}.months{grid-template-columns:repeat(3,1fr)}.entry{align-items:start}.entrymain{max-width:50%}.tiny{max-width:135px}}:root{--forest:#173c33;--sage:#b8d9a6;--mist:#f2f5f2}body{background:var(--mist)}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;touch-action:manipulation}input,select{font-size:16px}.app-logo{display:inline-grid;place-items:center;background:#d4ebcc;color:#173c33;border-radius:13px;width:38px;height:38px;font-size:26px;margin-right:5px}.brand{display:flex;align-items:center;gap:6px}.hero-card{background:radial-gradient(circle at 91% 0%,#3e7462 0%,transparent 40%),linear-gradient(125deg,#173c33,#295c4d);border-radius:24px;padding:26px 28px;color:#fff;box-shadow:0 16px 35px #244f4226;margin:12px 0 28px}.hero-text>span{font-size:11px;color:#c6e5d1;letter-spacing:2px;font-weight:800}.hero-text h2{font-size:clamp(28px,4vw,44px);font-weight:750;letter-spacing:-1.2px;margin:10px 0 4px}.hero-text p{color:#d7e9df;margin:0 0 26px;font-size:13px}.hero-progress{height:7px;background:#ffffff40;border-radius:100px;overflow:hidden}.hero-progress>div{height:100%;background:var(--sage);border-radius:100px;transition:width .3s}.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;font-size:12px;color:#e4efe7}.hero-bottom span,.preview{display:flex;align-items:center;gap:5px}.stats article{border-radius:19px}.panel{border-radius:20px}.entry{min-height:75px}.entrymain small{font-size:12px;color:#71837a}.mobile-tabbar{display:none}@media(max-width:860px){.layout{display:block}main{padding:calc(18px + env(safe-area-inset-top,0px)) 16px calc(114px + env(safe-area-inset-bottom,0px));width:100%;max-width:560px}.hero-card{padding:25px 22px;border-radius:23px;margin-top:12px}.hero-text h2{font-size:35px}.hero-bottom{font-size:11px}header{align-items:center}header h1{font-size:27px;letter-spacing:-.8px}header p:not(.eyebrow){font-size:13px}.eyebrow{font-size:10px;letter-spacing:1.5px}header .preview{display:none}.toolbar{margin:20px 0 15px}.toolbar label{flex:1}.toolbar input{width:100%;max-width:205px}.toolbar button{height:45px;min-width:49px;border-radius:13px}.stats{gap:10px}.stats article{padding:18px 14px}.stats span{font-size:12px}.stats strong{font-size:20px;letter-spacing:-.6px}.sectiontop h2{font-size:18px}.panel{padding:19px 17px}.entrymain{min-width:0}.entrymain b,.amount b{font-size:14px}.amount em{font-size:11px}.mobile-tabbar{position:fixed;display:flex;align-items:center;justify-content:space-around;bottom:0;left:0;right:0;height:calc(72px + env(safe-area-inset-bottom,0px));padding:6px 9px calc(6px + env(safe-area-inset-bottom,0px));z-index:50;background:#fffefef2;border-top:1px solid #e3eae5;box-shadow:0 -8px 30px #1b39240e;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}.mobile-tabbar button{display:flex;flex-direction:column;gap:4px;flex:1;padding:7px 2px;background:transparent;color:#8a9b90;font-size:10px;font-weight:700;border-radius:12px}.mobile-tabbar button.active{color:#23654c}.mobile-tabbar button.tab-add{background:#1e5646;flex:0 0 52px;width:52px;height:52px;margin:-22px 7px 0;color:#fff;border:4px solid var(--mist);border-radius:18px;box-shadow:0 8px 19px #173c3333}.form{flex-direction:column;align-items:stretch;gap:13px}.form label,.form input,.form select{width:100%}.form button{min-height:47px}.authpage{padding:calc(20px + env(safe-area-inset-top,0px)) 16px calc(20px + env(safe-area-inset-bottom,0px));align-items:center}.authbox{padding:27px 23px;border-radius:25px;box-shadow:0 20px 60px #29483a14}.authbox h1{font-size:28px}.authbox button{min-height:49px;border-radius:13px}footer{text-align:center}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.password-field{position:relative;display:flex;align-items:center;width:100%}.password-field input{width:100%;padding-right:55px}.password-toggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);height:42px;width:43px;min-height:42px!important;display:grid;place-items:center;background:transparent;color:#476a5c;border-radius:10px;padding:0;box-shadow:none}.password-toggle:hover,.password-toggle:focus-visible{background:#edf5ef;color:#1b5140}.password-toggle:focus-visible{outline:2px solid #397e5e;outline-offset:1px}.account-filters{display:grid;grid-template-columns:1fr minmax(145px,210px);gap:10px;margin:8px 0 18px}.account-filters input,.account-filters select{width:100%;min-height:44px;padding:10px 12px;border:1px solid #d5dfd8;border-radius:11px;background:#fff;color:#263e32}.entry-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;margin-top:6px}.entry-actions .tiny{min-height:34px}.danger{background:#faece9;color:#a33229}.danger:hover{background:#f3d6d1}.annual-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.annual-cell{display:flex;flex-direction:column;text-align:left;align-items:flex-start;padding:15px;border:1px solid #e1e9e3;border-radius:15px;background:#f8fbf9;color:#28493b;gap:6px;font-size:12px}.annual-cell b{font-size:15px;text-transform:capitalize;margin-bottom:4px}.annual-cell:hover{background:#e5f2e9}@media(max-width:860px){.account-filters{grid-template-columns:1fr}.annual-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.annual-cell{padding:13px}.entry{flex-wrap:wrap}.entrymain{max-width:100%;flex:1 1 45%}.amount{flex:1 1 45%}.entry-actions{max-width:100%}}@media(max-width:390px){.annual-grid{grid-template-columns:1fr}}.category-inline{display:flex;flex-wrap:wrap;gap:9px;align-items:center;flex-basis:100%;padding-top:10px;border-top:1px solid #edf1ee}.category-inline input{flex:1;min-width:175px;padding:11px 12px;border:1px solid #d2dfd6;border-radius:10px}.export-button{margin:0 0 16px auto;display:flex}.form .category-inline button{min-height:42px}@media(max-width:860px){.category-inline{display:grid;grid-template-columns:1fr}.category-inline input{width:100%}}.editor-screen{width:100%;max-width:740px;margin:0 auto}.editor-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:8px 0 16px;color:#667c70;font-size:13px}.expense-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px;align-items:start;padding:26px}.expense-form h2,.expense-form .recurrence-field,.expense-form .editor-actions{grid-column:1/-1}.expense-form label{display:grid;gap:8px;width:100%;min-width:0;flex:none}.expense-form label:first-of-type{grid-column:1/-1}.expense-form input:not([type=radio]),.expense-form select{width:100%;min-width:0;min-height:48px;border:1px solid #cfdbd4;border-radius:11px;background:#fff;padding:10px 12px;color:#263e32}.category-manage-link{grid-column:1/-1;justify-self:start;background:transparent;color:#26664d;padding:0;font-weight:700;text-decoration:underline;text-underline-offset:4px}.category-manage-link:hover{background:transparent;color:#154e37}.recurrence-field{border:1px solid #e1e9e4;border-radius:14px;padding:16px;margin:0;display:grid;gap:13px;min-width:0}.recurrence-field legend{font-size:14px;font-weight:750;padding:0 6px}.expense-form .recurrence-option{display:flex;align-items:center;gap:11px;cursor:pointer;font-weight:550;color:#2e473a}.recurrence-option input{width:19px;height:19px;accent-color:#27654d}.expense-form .recurrence-end{padding:13px 14px;background:#f4f8f5;border-radius:12px;gap:9px}.recurrence-end small{font-size:12px;color:#66786d;font-weight:400}.editor-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:5px}.category-page{padding:28px}.category-page h2{margin:0 0 8px;font-size:20px}.category-page p{color:#738379;line-height:1.55}.category-list{margin:20px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.category-list-item{padding:13px;border-radius:11px;background:#f1f6f2;border:1px solid #e1eae4;font-weight:600}.category-create{margin-top:24px;padding-top:20px;border-top:1px solid #e3ebe5;display:grid;gap:12px}.category-create label{display:grid;gap:8px;font-size:13px;font-weight:700}.category-create input{padding:12px;border:1px solid #ccdcd1;border-radius:10px;font-size:16px}.category-create button{justify-self:start}@media(max-width:860px){.editor-screen{max-width:560px}.expense-form{padding:21px;grid-template-columns:1fr;gap:15px}.expense-form h2,.expense-form .recurrence-field,.expense-form .editor-actions,.expense-form label:first-of-type,.category-manage-link{grid-column:1}.editor-head{flex-wrap:wrap}.category-list{grid-template-columns:1fr}.editor-actions{display:grid;grid-template-columns:1fr 1fr}.editor-actions button{min-width:0;padding:11px 8px}.category-page{padding:20px}.category-create button{width:100%}}
