@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{--bg:#f6f6f2;--panel:#fff;--ink:#1e2923;--muted:#89918b;--line:#e9ece7;--green:#204b39;--lime:#d9e86c;--pale:#edf4ee;--red:#cb715c;--amber:#e0a84d;--shadow:0 8px 26px #2533270a}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px 'DM Sans',sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{min-height:100vh;display:flex}.sidebar{width:246px;background:#fff;border-right:1px solid var(--line);padding:27px 16px 16px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:5}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink);padding:0 11px 33px;font:800 20px Manrope}.brand small{display:block;font:600 8px 'DM Sans';letter-spacing:1.5px;color:#929a92;margin-top:3px}.brandmark{width:34px;height:34px;border-radius:12px;background:var(--green);color:var(--lime);font:800 25px Manrope;text-align:center;line-height:34px}.sidebar nav{display:grid;gap:5px}.nav-item{border:0;background:transparent;color:#788078;text-align:left;padding:11px 12px;border-radius:9px;font-size:18px;display:flex;align-items:center;gap:12px}.nav-item span{font-size:13px;font-weight:500}.nav-item:hover,.nav-item.active{background:#eff4ef;color:var(--green)}.nav-item.active span{font-weight:700}.side-bottom{margin-top:auto}.sync-card{border:1px solid var(--line);border-radius:11px;padding:12px;margin-bottom:16px}.sync-line{display:flex;gap:8px;align-items:center;font-size:11px}.sync-line i{width:8px;height:8px;border-radius:50%;background:#e0a84d}.sync-card small{display:block;margin:7px 0 0 16px;color:var(--muted);font-size:10px}.profile{border-top:1px solid var(--line);padding:14px 3px 0;display:flex;align-items:center;gap:9px}.avatar{width:32px;height:32px;border-radius:50%;background:var(--pale);color:var(--green);font-weight:700;display:grid;place-items:center}.profile-info{min-width:0;flex:1}.profile-info b,.profile-info small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-info b{font-size:11px}.profile-info small{font-size:10px;color:var(--muted);margin-top:3px}.icon-btn{border:0;background:transparent;font-size:21px;color:#859087}.main{margin-left:246px;padding:30px 40px 18px;max-width:1600px;width:calc(100% - 246px)}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.eyebrow{color:#919990;font-size:9px;font-weight:700;letter-spacing:1.5px;margin-bottom:7px}.topbar h1{font:700 25px Manrope;margin:0;letter-spacing:-.6px}.top-actions{display:flex;gap:12px;align-items:center}.period{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:11px;background:#fff;padding:9px 12px;border:1px solid var(--line);border-radius:8px}.period select{border:0;outline:0;background:transparent;color:var(--ink);font-size:11px;font-weight:600}.primary{background:var(--green);color:#fff;border:0;border-radius:8px;padding:11px 14px;font-size:12px;font-weight:600}.primary:hover{background:#163b2a}.mobile-menu{display:none}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.card,.stat{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.stat{padding:17px 18px;min-height:119px}.stat-top{display:flex;justify-content:space-between;color:#778078;font-size:11px;align-items:center}.stat-icon{width:26px;height:26px;background:#f1f5f1;border-radius:8px;display:grid;place-items:center;color:var(--green);font-size:14px}.stat-value{font:700 23px Manrope;margin-top:14px;letter-spacing:-.7px}.stat-sub{font-size:10px;color:#a0a69f;margin-top:5px}.stat-sub.good{color:#4f9b76}.grid-main{display:grid;grid-template-columns:1.7fr 1fr;gap:15px;margin-top:16px}.card{padding:18px}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.card-title{font:700 13px Manrope}.card-hint{font-size:10px;color:var(--muted)}.chart-wrap{height:208px;position:relative}.chart-wrap canvas{width:100%;height:100%}.legend{display:flex;gap:16px;color:var(--muted);font-size:10px}.legend i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.quick{border:1px solid var(--line);border-radius:9px;padding:12px}.quick small{color:var(--muted);font-size:10px}.quick b{display:block;font:700 15px Manrope;margin-top:7px}.quick-icon{float:right;color:var(--green);font-size:15px}.lower-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:15px;margin-top:15px}.row-list{display:grid}.list-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-top:1px solid #f0f2ef}.row-icon{width:32px;height:32px;border-radius:10px;background:#f1f5f1;display:grid;place-items:center;color:var(--green)}.row-meta{flex:1;min-width:0}.row-meta b,.row-meta small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-meta b{font-size:11px}.row-meta small{font-size:10px;color:var(--muted);margin-top:4px}.row-amount{font-size:11px;font-weight:700}.positive{color:#41855e}.negative{color:#c96857}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.section-head h2{font:700 17px Manrope;margin:0}.toolbar{display:flex;gap:8px;align-items:center}.input-small,.toolbar select{border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 10px;color:#626b63;font-size:11px}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:11px}.table{width:100%;border-collapse:collapse;min-width:690px}.table th{text-align:left;padding:12px;color:#8b948c;font-size:9px;text-transform:uppercase;letter-spacing:.8px;border-bottom:1px solid var(--line);font-weight:700}.table td{padding:12px;border-bottom:1px solid #f1f2ef;font-size:11px}.table tr:last-child td{border:0}.empty{text-align:center!important;color:#929990;padding:40px 12px!important}.pill{background:#edf4ee;color:#487257;border-radius:20px;padding:4px 8px;font-size:9px}.actions{display:flex;gap:7px}.text-btn{border:0;background:none;color:var(--green);font-size:10px;padding:2px}.progress{height:6px;border-radius:9px;background:#eef1ed;overflow:hidden;margin-top:9px}.progress i{display:block;height:100%;border-radius:9px;background:#86aa87}.budget-grid,.item-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.budget-card,.item-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:16px}.budget-card h3,.item-card h3{font:700 12px Manrope;margin:0}.budget-num{font:700 20px Manrope;margin-top:12px}.budget-note{color:var(--muted);font-size:10px;margin-top:4px}.alert{color:#c7793d}.modal-backdrop{position:fixed;inset:0;background:#14221bb3;display:none;align-items:center;justify-content:center;padding:18px;z-index:20}.modal-backdrop.open{display:flex}.modal{width:min(600px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:15px;padding:22px;box-shadow:0 25px 80px #101a1540}.modal header{display:flex;justify-content:space-between;align-items:start;margin-bottom:18px}.modal h2{font:700 19px Manrope;margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:10px;color:#69736a;font-weight:600}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:8px;padding:10px;background:#fff;outline:none;font-size:12px;color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{border-color:#8ca88d}.check-field{display:flex;align-items:center;gap:8px;font-size:11px;color:#59645a}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:17px}.secondary{border:1px solid var(--line);border-radius:8px;padding:10px 13px;background:#fff;color:#606b61;font-size:11px}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%) translateY(20px);background:#203c2d;color:white;padding:11px 17px;border-radius:9px;font-size:11px;opacity:0;transition:.2s;z-index:40;pointer-events:none}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}footer{padding:24px 2px;color:#a0a59e;font-size:10px}footer span{margin:0 5px}.footer-sync{float:right}.report-controls{display:flex;gap:8px}.mobile-nav{display:none}
@media(max-width:1100px){.sidebar{width:210px}.main{margin-left:210px;width:calc(100% - 210px);padding:26px}.stats{grid-template-columns:repeat(2,1fr)}.budget-grid,.item-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.sidebar{transform:translateX(-100%);transition:.2s;width:250px;box-shadow:0 0 0 transparent}.sidebar.open{transform:translateX(0);box-shadow:0 0 0 100vmax #13201966}.main{margin:0;width:100%;padding:19px 16px 78px}.topbar{gap:10px;align-items:flex-start;margin-bottom:19px}.mobile-menu{display:block;border:0;background:#fff;border-radius:8px;width:34px;height:34px;color:var(--green)}.topbar h1{font-size:21px}.topbar .eyebrow{font-size:8px}.top-actions{margin-left:auto;flex-direction:column;align-items:flex-end;gap:7px}.period{padding:7px 9px}.primary{padding:10px 11px}.primary span{display:none}.stats{gap:9px}.stat{padding:13px;min-height:104px}.stat-value{font-size:19px}.stat-top{font-size:10px}.grid-main,.lower-grid{grid-template-columns:1fr;gap:10px;margin-top:10px}.card{padding:15px}.chart-wrap{height:180px}.quick-grid{gap:7px}.quick{padding:10px}.budget-grid,.item-grid{grid-template-columns:1fr}.section-head{align-items:flex-start;gap:10px;flex-direction:column}.toolbar{width:100%;flex-wrap:wrap}.toolbar .input-small{flex:1}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.modal{padding:18px}.profile{margin-bottom:2px}.mobile-nav{display:flex;position:fixed;inset:auto 0 0;background:#fff;border-top:1px solid var(--line);justify-content:space-around;padding:8px 4px calc(8px + env(safe-area-inset-bottom));z-index:4}.mobile-nav button{border:0;background:none;color:#7d887e;font-size:9px;display:grid;justify-items:center;gap:3px}.mobile-nav b{font-size:16px}.footer-sync{display:none}}
.quick-actions,.card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.card-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px}.card-metrics>div{background:#f6f8f5;border-radius:8px;padding:10px}.card-metrics small{display:block;color:var(--muted);font-size:10px;margin-bottom:5px}.card-metrics b{font:700 13px Manrope}.card-hint{color:#7d887e;font-size:11px;line-height:1.55;margin:12px 0}.text-btn.negative{color:#bb6252}.field[hidden]{display:none!important}.table tr[hidden]{display:none!important}
@media(max-width:460px){.card-metrics{grid-template-columns:1fr}.card-metrics>div{display:flex;justify-content:space-between;align-items:center}.card-metrics small{margin:0}}
