@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap";:root{font-family:DM Sans,sans-serif;color:#202923;background:#f7f8f5;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.sidebar{width:252px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid #e8ece6;padding:27px 18px;display:flex;flex-direction:column;z-index:2}.brand{display:flex;align-items:center;gap:11px;padding:3px 8px 38px}.brand strong{display:block;font:800 15px Manrope,sans-serif;letter-spacing:-.3px}.brand span{display:block;color:#8a958c;font-size:9px;letter-spacing:1.4px;margin-top:4px}.brand-icon{width:54px;height:54px;border-radius:17px;background:#eaf3e9;color:#3d8051;display:grid;place-items:center}.brand-icon svg{width:26px;height:26px}.brand-icon.small{width:38px;height:38px;border-radius:12px}.brand-icon.small svg{width:20px}.nav-label,.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.5px;color:#929b92}.nav-label{padding:0 12px 12px}.sidebar nav{display:grid;gap:5px}.nav-item{border:0;background:transparent;color:#677269;border-radius:10px;padding:12px;display:flex;align-items:center;gap:12px;text-align:left;font-size:13px;font-weight:600}.nav-item:hover{background:#f5f7f3}.nav-item.active{background:#edf5ec;color:#387a49}.sidebar-bottom{margin-top:auto}.secure-note{margin:0 4px 13px;background:#f6f8f4;border:1px solid #edf0e9;border-radius:10px;padding:11px;color:#718071;display:flex;gap:9px;align-items:center;font-size:11px}.logout{width:100%;border-top:1px solid #eef0eb;border-radius:0;padding-top:17px}.main{margin-left:252px;max-width:1500px;padding:36px 48px 24px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:28px;border-bottom:1px solid #e8ece6}.topbar h1{font:800 27px Manrope,sans-serif;letter-spacing:-1px;margin:5px 0 0}.top-actions{display:flex;gap:10px;align-items:center}.month-control{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e6eae3;border-radius:10px;padding:5px 8px;font-size:12px;font-weight:700}.month-control button,.icon-button{border:0;background:transparent;color:#68766a;display:grid;place-items:center;padding:5px;border-radius:7px}.month-control button:hover,.icon-button:hover{background:#f0f4ee}.icon-button{background:#fff;border:1px solid #e6eae3;width:36px;height:36px}.welcome-row{display:flex;align-items:center;justify-content:space-between;margin:30px 0 19px}.welcome-row h2{font:700 19px Manrope;margin:0 0 5px}.welcome-row p,.panel-head p,.progress-heading p{margin:0;color:#8a948a;font-size:12px}.month-pill{display:flex;gap:7px;align-items:center;background:#fff;border:1px solid #e7ebe4;border-radius:20px;padding:8px 12px;color:#758175;font-size:11px}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.stat-card{background:#fff;border:1px solid #e9ede7;border-radius:14px;padding:20px 21px;min-height:143px;box-shadow:0 3px 12px #1d321008}.stat-top{display:flex;justify-content:space-between;align-items:center;color:#8b958c;font-size:9px;font-weight:700;letter-spacing:1.1px}.stat-icon{width:32px;height:32px;border-radius:10px;background:#eff6ed;color:#4c8b5a;display:grid;place-items:center}.expense-card .stat-icon{background:#fff3e9;color:#c47c3f}.remaining-card .stat-icon{background:#edf4f5;color:#527f83}.stat-card>strong{display:block;font:800 25px Manrope;letter-spacing:-.8px;margin:14px 0 4px}.stat-card small{font-size:10px;color:#98a097}.remaining-card>strong{color:#3f8752}.remaining-card.negative>strong{color:#bd5548}.progress-card,.panel{background:#fff;border:1px solid #e8ece6;border-radius:14px;box-shadow:0 3px 12px #1d321008}.progress-card{padding:20px 22px;margin-top:17px}.progress-heading{display:flex;align-items:center;justify-content:space-between}.progress-heading h3,.panel-head h3{font:700 14px Manrope;margin:0 0 5px}.progress-heading>strong{font:800 17px Manrope;color:#477e50}.progress-track{height:9px;background:#eff2ed;border-radius:20px;overflow:hidden;margin:17px 0 12px}.progress-fill{height:100%;background:#72a779;border-radius:20px;transition:width .25s}.progress-fill.high{background:#d99a57}.progress-legend{display:flex;gap:20px;color:#8a948a;font-size:10px}.progress-legend span{display:flex;align-items:center;gap:6px}.dot{width:7px;height:7px;border-radius:50%}.dot.green{background:#72a779}.dot.orange{background:#d99a57}.content-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:16px;margin-top:17px}.panel{padding:20px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:17px}.text-button{border:0;background:transparent;color:#4b8658;font-size:11px;font-weight:700}.record-list{display:grid}.record{display:flex;align-items:center;gap:11px;padding:11px 0;border-top:1px solid #f0f2ee}.record-symbol{width:34px;height:34px;border-radius:10px;background:#f4f6f1;color:#7c907b;display:grid;place-items:center}.record-info{display:grid;gap:3px;flex:1}.record-info strong{font-size:12px}.record-info span{font-size:10px;color:#9aa39a}.amount{font-weight:700;font-size:12px;white-space:nowrap}.expense-amount{color:#bd7651}.quick-panel{padding-bottom:10px}.quick-action{width:100%;display:flex;align-items:center;gap:11px;padding:12px 0;border:0;border-top:1px solid #f0f2ee;background:transparent;text-align:left;color:#68766a}.quick-action>span:nth-child(2){display:grid;gap:4px;flex:1}.quick-action b{font-size:12px;color:#344238}.quick-action small{font-size:10px;color:#9aa39a}.quick-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center}.quick-icon.income{background:#edf5ed;color:#4a8b56}.quick-icon.expense{background:#fff2e8;color:#c27d48}.page-panel{margin-top:28px;min-height:300px}.page-panel .panel-head{margin-bottom:20px}.primary{border:0;border-radius:9px;background:#477f50;color:#fff;padding:10px 14px;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:7px}.primary:hover{background:#396d43}.primary:disabled{opacity:.6;cursor:wait}.total-strip{background:#f1f6ef;border:1px solid #e8f0e5;border-radius:10px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;color:#6f806f;font-size:12px;margin-bottom:15px}.total-strip strong{font:800 17px Manrope;color:#447e4e}.expense-strip{background:#fff6ee;border-color:#f7eadc}.expense-strip strong{color:#b97749}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:9px;color:#939d93;letter-spacing:1px;text-transform:uppercase;font-weight:700;padding:12px 10px;border-bottom:1px solid #edf0eb}td{font-size:11px;color:#566258;padding:14px 10px;border-bottom:1px solid #f0f2ee}td.amount{text-align:right}.delete-button,.close-button{border:0;background:transparent;color:#a0a9a0;border-radius:7px;padding:6px}.delete-button:hover{background:#fff0ed;color:#b94e43}.notes-cell{color:#8e988f}.empty{padding:38px 15px;text-align:center;color:#89948a}.empty-icon{width:42px;height:42px;margin:0 auto 12px;border-radius:13px;background:#f1f5ef;color:#829782;display:grid;place-items:center}.empty strong{font:700 13px Manrope;color:#4b594d}.empty p{font-size:11px;margin:6px auto 0;max-width:320px;line-height:1.5}.history-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.history-summary>div{background:#f7f9f6;border:1px solid #edf0eb;border-radius:10px;padding:17px}.history-summary span{display:block;color:#8c978d;font-size:10px;margin-bottom:9px}.history-summary strong{font:800 17px Manrope}.green-text{color:#478151}.red{color:#bd5548}.history-note{margin-top:17px;background:#f7f9f6;border-radius:9px;padding:14px;color:#7d897e;font-size:11px;line-height:1.6}.footer{text-align:center;color:#a0a99f;font-size:10px;padding:28px 0 8px}.footer span{padding:0 7px;color:#c0c7bd}.setup-screen{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% 20%,#eef5eb 0,#f7f8f5 50%)}.login-card{width:min(100%,390px);background:#fff;border:1px solid #e8ece6;border-radius:20px;padding:35px;box-shadow:0 15px 50px #243b2410;text-align:center}.login-card .brand-icon{margin:0 auto 18px}.login-card h1{font:800 23px Manrope;letter-spacing:-.7px;margin:8px 0}.login-card .muted{font-size:12px;color:#929c92;line-height:1.6;margin:0 0 25px}.login-card .eyebrow{font-size:9px}.field-label{display:block;text-align:left;font-size:11px;font-weight:700;color:#657166;margin:14px 0 7px}.input{width:100%;border:1px solid #e2e8e0;border-radius:9px;padding:11px 12px;color:#344238;background:#fff;outline:none;font-size:12px}.input:focus{border-color:#80a985;box-shadow:0 0 0 3px #80a98520}.pin-input{text-align:center;letter-spacing:5px;font-size:17px}.full{width:100%;margin-top:16px;padding:13px}.login-foot{border-top:1px solid #f0f2ee;margin-top:22px;padding-top:16px;color:#a0a99f;font-size:10px}.error{margin-top:12px;background:#fff0ed;color:#a94438;border-radius:8px;padding:10px;font-size:11px}.error-banner{margin-top:18px;background:#fff0ed;color:#a94438;border-radius:9px;padding:12px;font-size:12px}.loading{text-align:center;padding:70px 20px;color:#879287;font-size:12px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#17251bb0;display:grid;place-items:center;padding:18px;z-index:5}.modal{width:min(100%,430px);background:#fff;border-radius:16px;padding:23px;box-shadow:0 20px 70px #0002}.modal-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:15px}.modal-head h2{font:800 18px Manrope;margin:0 0 5px}.modal-head p{font-size:11px;color:#929c92;margin:0;line-height:1.5}.close-button{font-size:23px;line-height:20px;align-self:flex-start}.modal form .field-label{margin-top:13px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.secondary{border:1px solid #e3e8e1;background:#fff;color:#667267;border-radius:9px;padding:10px 14px;font-size:11px;font-weight:700}@media(max-width:900px){.sidebar{width:210px}.main{margin-left:210px;padding:28px 25px}.stats-grid{grid-template-columns:1fr 1fr}.remaining-card{grid-column:span 2}.content-grid{grid-template-columns:1fr}}@media(max-width:640px){.sidebar{position:static;width:auto;height:auto;padding:12px 14px;border-right:0;border-bottom:1px solid #e8ece6}.brand{padding:0 4px 12px}.sidebar .nav-label,.sidebar-bottom{display:none}.sidebar nav{display:flex;overflow-x:auto;gap:5px}.nav-item{white-space:nowrap;padding:9px 10px;font-size:11px}.nav-item svg{width:15px}.main{margin:0;padding:22px 15px}.topbar{align-items:flex-start;flex-direction:column;padding-bottom:18px}.topbar h1{font-size:23px}.top-actions{width:100%;justify-content:space-between}.welcome-row{align-items:flex-start;gap:10px;flex-direction:column;margin:22px 0 15px}.stats-grid{grid-template-columns:1fr;gap:10px}.remaining-card{grid-column:auto}.stat-card{min-height:120px;padding:16px}.stat-card>strong{font-size:22px}.progress-card,.panel{padding:16px}.content-grid{gap:10px}.panel-head{align-items:flex-start}.panel-head .primary{white-space:nowrap}.history-summary{grid-template-columns:1fr}.month-pill{font-size:10px}.login-card{padding:27px 22px}}
