@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#19382f;--muted:#7b827e;--green:#183e38;--lime:#dbf3a3;--bg:#f6f7f3;--line:#e5e8e1;--red:#bd5a4c;--white:#fff;--radius:18px}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font-family:'DM Sans',Arial,sans-serif;font-size:14px}h1,h2,h3,strong,.brand{font-family:Manrope,Arial,sans-serif}h1,h2,h3,p{margin-top:0}h1{font-size:34px;letter-spacing:-1.5px;margin-bottom:0}h2{font-size:19px;letter-spacing:-.5px}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer;border:0}button:disabled{opacity:.5;cursor:wait}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.primary,.secondary{border-radius:10px;padding:13px 18px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:18px;white-space:nowrap}.primary{background:var(--green);color:white}.primary:hover{background:#28574d}.secondary{background:white;border:1px solid var(--line);color:var(--ink)}.secondary:hover{background:#f0f3ed}.wide{width:100%}.text-button{background:none;color:var(--green);font-weight:600;padding:8px 0}.icon-button{border:1px solid var(--line);border-radius:10px;background:white;width:43px;height:43px;font-size:24px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;margin-bottom:12px}.muted{color:var(--muted);line-height:1.65}.small{font-size:12px}.brand{display:flex;align-items:center;gap:13px;font-size:24px;font-weight:800;letter-spacing:-1px}.brand::first-letter{color:var(--green)}.brand>span{font-size:24px}.brand{font-size:34px}.sidebar{width:225px;background:white;border-right:1px solid var(--line);padding:35px 25px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column}.nav-caption{font-size:9px;letter-spacing:2px;color:#949b95;margin:55px 12px 20px}.sidebar nav{display:grid;gap:8px}.sidebar nav button{display:flex;gap:14px;align-items:center;background:none;color:#778079;text-align:left;font-size:19px;padding:14px 16px;border-radius:10px}.sidebar nav button span{font-size:13px}.sidebar nav button.active{background:#eff4e9;color:var(--ink);font-weight:600}.side-bottom{margin-top:auto;font-size:11px;color:var(--muted)}.side-bottom a,.side-bottom button{display:block;margin-top:20px;font-size:11px}.side-bottom button{background:none;padding:0;color:var(--muted)}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#81a471;margin-right:7px}main{margin-left:225px;padding:36px 48px 22px;max-width:1650px}header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:4px 0 28px}.header-actions{display:flex;gap:10px;align-items:center}.header-actions input{width:157px;margin:0;padding:11px;font-size:12px}.hero{background:var(--green);color:white;border-radius:22px;display:flex;justify-content:space-between;align-items:center;padding:32px 36px;min-height:214px;position:relative;overflow:hidden}.hero:after{content:'';width:240px;height:240px;border:1px solid #ffffff0a;border-radius:50%;position:absolute;right:-110px;top:-100px}.hero .eyebrow{color:#bfd3c1}.hero h2{font-size:44px;letter-spacing:-2px;margin:0 0 10px}.hero p:not(.eyebrow){color:#c1d0c5;font-size:12px;margin-bottom:13px}.hero-tag{color:var(--lime);font-size:11px;background:#ffffff0a;padding:7px 10px;border-radius:6px;display:inline-block}.hero-right{width:245px;border-left:1px solid #ffffff26;padding-left:30px;position:relative;z-index:1}.hero-right>span{display:block;font-size:11px;color:#c1d0c5}.hero-right strong{display:block;font-size:24px;margin:10px 0 17px}.hero-right small{font-size:10px;color:#c1d0c5}.goal-track{height:5px;background:#ffffff20;border-radius:4px;margin-bottom:12px;overflow:hidden}.goal-track span{display:block;background:var(--lime);height:100%;width:0;transition:width .4s}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:19px 0 28px}.metric{padding:22px 24px;background:white;border:1px solid var(--line);border-radius:var(--radius)}.metric>span{color:var(--muted);font-size:12px}.metric strong{display:block;font-size:24px;margin:11px 0 7px;letter-spacing:-.8px}.metric small{color:#9a9f99;font-size:10px}.section-heading,.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.section-heading{margin:0 0 16px}.section-heading h2,.panel-heading h2{margin-bottom:0}.section-heading>span,.panel-heading>span{color:var(--muted);font-size:10px}.account-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.account{padding:20px;background:#fff;border:1px solid var(--line);border-radius:15px}.account .account-symbol{display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;border-radius:9px;background:#eaf0df;font-size:17px;margin-bottom:16px}.account:nth-child(2) .account-symbol{background:#f6eadb}.account:nth-child(3) .account-symbol{background:#e4eee8}.account:nth-child(4) .account-symbol{background:#e6ebf2}.account strong{display:block;font-size:20px;letter-spacing:-.7px;margin-top:7px}.account p{font-size:10px;color:var(--muted);margin-top:9px;margin-bottom:0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:25px}.panel-heading{margin-bottom:24px}.budget-row{margin-bottom:24px}.budget-row .budget-top{display:flex;justify-content:space-between;margin-bottom:12px;font-size:12px}.budget-top small{color:var(--muted);font-size:11px}.track{height:7px;background:#f0f1eb;border-radius:4px;overflow:hidden}.track span{display:block;height:100%;background:#8fba76;border-radius:4px}.budget-foot{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:9px}.over{color:var(--red)!important}.over-bg{background:var(--red)!important}.schedule-row{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding:6px 0 18px;margin-bottom:16px}.schedule-row:last-child{border-bottom:none;margin-bottom:0}.day-box{background:#f3f5ed;border-radius:10px;width:42px;height:46px;display:grid;place-content:center;text-align:center;font-weight:700;font-size:18px}.day-box small{font-size:8px;font-weight:400}.schedule-main{flex:1}.schedule-main b{display:block;font-size:12px}.schedule-main small{color:var(--muted);font-size:10px}.badge{padding:5px 8px;background:#edf3e5;color:#5a7c48;font-size:9px;border-radius:5px;white-space:nowrap}.badge.warn{background:#fcf0e4;color:#a97a48}.badge.red{background:#f9e9e4;color:var(--red)}table{border-collapse:collapse;width:100%;font-size:12px}th{font-size:10px;font-weight:500;color:#8c948c;padding:0 10px 13px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:15px 10px;border-bottom:1px solid #f1f3ed}tbody tr:last-child td{border-bottom:0}td small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.amount{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.positive{color:#659054}.negative{color:#b16451}.table-wrap{overflow-x:auto}.empty{padding:34px 18px;text-align:center}.empty h3{font-size:17px;margin:0 0 8px}.empty p{font-size:12px;color:var(--muted)}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px;align-items:center}.toolbar .search{flex:1;min-width:180px}.toolbar input,.toolbar select{margin:0}.toolbar select{width:160px}.file-label{margin:0!important;cursor:pointer}.report-line{display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line);font-size:13px}.report-line.total{font-weight:700;border-top:2px solid var(--line);border-bottom:0;margin-top:10px}.category-row{margin:18px 0;display:flex;justify-content:space-between;align-items:center;font-size:12px}.category-row span{background:#f2f4ec;border-radius:4px;padding:7px 10px}.notice{background:#edf2e6;border:1px solid #dbe3cf;border-radius:10px;padding:13px 17px;font-size:12px;line-height:1.6;margin:0 0 20px}.notice.error{background:#fcefeb;border-color:#edcdc3;color:#96473c}.demo-banner{background:#e6efda;padding:11px 16px;margin:-36px -48px 30px;display:flex;justify-content:space-between;font-size:11px}.demo-banner button{background:none;font-weight:700;color:var(--ink)}footer{display:flex;gap:20px;margin-top:28px;font-size:10px;color:#9aa196}footer span:last-child{margin-left:auto}label{display:block;font-size:12px;font-weight:500;margin-bottom:18px}input,select{display:block;width:100%;border:1px solid #dce2d7;border-radius:9px;background:#fff;padding:12px 13px;color:var(--ink);margin-top:8px;min-height:44px}input:focus,select:focus{border-color:#7f9d75}.routine p{display:flex;align-items:center;gap:18px;font-size:12px;line-height:1.65}.routine b{padding:9px;border-radius:7px;background:#eff4e8;min-width:37px;text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.auth-shell{display:grid;grid-template-columns:1.05fr 1fr;min-height:100vh}.auth-story{background:var(--green);padding:48px 65px;color:white;display:flex;flex-direction:column;justify-content:space-between}.auth-story .brand{color:var(--lime)}.auth-story .brand span{color:white}.auth-story h1{font-size:55px;line-height:1.17;margin:25px 0}.auth-story p:not(.eyebrow){max-width:380px;line-height:1.8;color:#b6c8ba}.auth-story small{color:#91a89b;font-size:11px}.account-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:35px}.account-pills span{font-size:10px;border:1px solid #ffffff25;padding:9px 12px;border-radius:20px}.auth-form{padding:40px;display:grid;place-content:center}.auth-box{max-width:365px}.auth-box h2{font-size:30px}.auth-box .eyebrow{color:#8a9d7a}.auth-box label{margin:25px 0}.auth-box .text-button{width:100%;margin-top:7px}.auth-box small{display:block;text-align:center;margin-top:25px;font-size:10px}.divider{position:relative;border-top:1px solid var(--line);text-align:center;margin:27px 0 22px;height:1px}.divider span{position:relative;top:-8px;background:var(--bg);padding:0 15px;font-size:10px;color:var(--muted)}dialog{border:none;border-radius:20px;box-shadow:0 25px 80px #15291930;padding:30px;width:min(580px,92vw);max-height:90vh;color:var(--ink)}dialog::backdrop{background:#16352b65;backdrop-filter:blur(4px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.dialog-head h2{font-size:24px;margin:0}.dialog-head .eyebrow{font-size:9px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.form-grid .full{grid-column:1/-1}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:18px;border-top:1px solid var(--line)}.form-message{color:var(--red);font-size:12px;line-height:1.6}.form-message:empty{display:none}.void-button{background:none;color:var(--muted);font-size:10px}.spinner{opacity:.65;pointer-events:none}
@media(min-width:1550px){main{margin-right:auto}.hero{min-height:235px}}
@media(max-width:1150px){main{padding:28px}.sidebar{width:190px;padding:30px 18px}main{margin-left:190px}.header-actions{flex-wrap:wrap;justify-content:flex-end}.account-grid{grid-template-columns:repeat(2,1fr)}.demo-banner{margin:-28px -28px 25px}.auth-story{padding:40px}.auth-story h1{font-size:43px}}
@media(max-width:760px){.sidebar{position:static;width:auto;flex-direction:row;padding:16px 20px;align-items:center;border-right:0;border-bottom:1px solid var(--line);justify-content:space-between}.sidebar .brand,.sidebar .brand span{font-size:21px}.sidebar .nav-caption,.side-bottom{display:none}.sidebar nav{display:flex;gap:2px}.sidebar nav button{padding:9px;font-size:17px}.sidebar nav button span{display:none}main{margin:0;padding:22px 18px}header{align-items:flex-start;flex-direction:column;margin-bottom:20px;gap:15px}h1{font-size:28px}.header-actions{width:100%;justify-content:flex-start;flex-wrap:nowrap}.header-actions .primary{margin-left:auto;font-size:11px;padding:12px}.header-actions input{width:130px}.hero{padding:25px;align-items:flex-start;flex-direction:column;gap:20px}.hero h2{font-size:38px}.hero-right{width:100%;border-left:0;border-top:1px solid #ffffff20;padding:17px 0 0}.hero-right strong{margin:7px 0 12px;font-size:20px}.metric-grid{grid-template-columns:1fr;gap:9px;margin-bottom:24px}.metric{padding:15px 18px;position:relative}.metric strong{margin:6px 0;font-size:23px}.metric small{position:absolute;right:17px;bottom:20px;font-size:9px;max-width:95px;text-align:right}.two-col{grid-template-columns:1fr}.account-grid{gap:10px}.account{padding:17px}.account strong{font-size:19px}.section-heading>span{font-size:9px}.panel{padding:20px}.panel-heading>span{max-width:110px;text-align:right}.demo-banner{margin:-22px -18px 20px;gap:12px;align-items:center}.demo-banner button{font-size:10px;min-width:70px}.toolbar .search{flex-basis:100%}.toolbar select{flex:1}.toolbar button,.toolbar .file-label{font-size:11px;padding:11px}footer>span:nth-child(2){display:none}.auth-shell{grid-template-columns:1fr}.auth-story{padding:27px;min-height:320px}.auth-story .brand{font-size:25px}.auth-story h1{font-size:35px;margin:22px 0 15px}.auth-story p:not(.eyebrow){font-size:12px;margin-bottom:12px}.auth-story small,.auth-story .eyebrow{display:none}.account-pills{margin-top:15px}.auth-form{padding:33px 25px}.auth-box{max-width:450px}.form-grid{gap:0 12px}.form-grid label{font-size:11px}dialog{padding:23px}.dialog-head h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

#import-preview{overflow-x:auto}@media(max-width:760px){.header-actions{flex-wrap:wrap}.header-actions input{width:160px;flex:none}.header-actions .primary{flex-basis:100%;margin-left:0}.header-actions .icon-button{flex:none}}

.check-label{display:flex;align-items:center;gap:9px;font-size:12px}.check-label input{width:auto;min-height:auto;margin:0}.row-actions{display:flex;align-items:center;gap:14px;white-space:nowrap}.row-actions .text-button{font-size:11px}.review-heading{margin-top:25px}.review-card{margin-bottom:15px}.review-card h2{margin:12px 0 6px}.review-card>.panel-heading strong{font-size:24px}.review-card .toolbar{margin-bottom:0}.review-card .panel-heading{align-items:flex-start}@media(max-width:760px){.sidebar nav button{padding:8px}.review-card>.panel-heading strong{font-size:20px}}

.bulk-panel{margin:18px 0}.bulk-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.row-check{width:18px;min-height:18px;margin:0}.review-table td{vertical-align:top}.review-table select,.review-table input:not(.row-check){min-width:145px;margin:0;padding:9px;font-size:12px}.review-table td:first-child{width:28px}.review-table strong{font-size:12px}.danger-text{color:var(--red)}#planned-results{margin-bottom:22px}#allocation-preview{margin:18px 0}#allocation-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}@media(max-width:760px){.bulk-fields{grid-template-columns:1fr}.bulk-panel .toolbar{align-items:stretch}.bulk-panel .toolbar button{white-space:normal}#allocation-fields{grid-template-columns:1fr 1fr}}
