:root{--ink:#203333;--muted:#758080;--border:#e1e7e5;--bg:#f6f8f7;--accent:#244c4a;--warn:#ac582f}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font:14px/1.5 Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button,a,summary{cursor:pointer}button{border:1px solid var(--border);color:var(--ink);background:#fff;border-radius:7px;padding:9px 14px}button:hover{background:#eaf0ee}button:disabled{opacity:.55;cursor:wait}button.primary{background:var(--accent);color:#fff;border-color:var(--accent);margin-top:18px}input,select,textarea{color:var(--ink);background:#fff;border:1px solid #d5ddda;border-radius:6px;min-width:0;max-width:100%;padding:10px}input:focus,select:focus,textarea:focus,button:focus-visible{outline-offset:2px;outline:2px solid #799e94}h1,h2,h3,p{margin:0}h1{letter-spacing:-1px;font-size:30px;font-weight:600;line-height:1.2}h2{letter-spacing:-.3px;margin-bottom:8px;font-size:18px}h3{font-size:15px}p{color:#687574;margin:10px 0}small{color:var(--muted);font-size:11px}.shell{grid-template-columns:225px minmax(0,1fr);min-height:100vh;display:grid}aside{border-right:1px solid var(--border);background:#fff;flex-direction:column;width:225px;height:100vh;padding:34px 18px;display:flex;position:fixed}.brand,.login-brand{letter-spacing:-1.6px;color:var(--ink);padding:0 16px;font-size:30px;font-weight:700;display:block}.brand span,.login-brand span{letter-spacing:3px;color:#81938d;margin-top:4px;font-size:10px;font-weight:400;display:block}.workspace{color:var(--muted);margin:45px 14px 15px;font-size:11px}nav{gap:7px;display:grid}nav button{text-align:left;color:#6c7877;background:0 0;border:0;padding:12px 14px}nav button.active{color:var(--accent);background:#eaf1ed;font-weight:600}.navicon{width:18px;margin-right:14px;font-size:18px;display:inline-block}.aside-bottom{margin-top:auto;padding:15px;font-size:12px}.dot{background:#5e8b71;border-radius:100%;width:7px;height:7px;margin-right:8px;display:inline-block}.aside-bottom button{border:0;padding:0;font-size:11px}.shell>main{grid-column:2;width:100%;max-width:1750px;padding:36px 42px}header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:10px;display:flex}.eyebrow{letter-spacing:2px;color:#83918a;margin-bottom:12px;font-size:9px;display:block}header p{margin:9px 0;font-size:13px}.outline{white-space:nowrap;background:0 0;font-size:12px}.sync-status{color:#81918b;margin:10px 0 25px;font-size:10px}.warning{color:var(--warn)!important}.notice{background:#edf3ec;border:1px solid #d6e3d2;border-radius:7px;justify-content:space-between;align-items:center;margin:15px 0;padding:12px 16px;font-size:13px;display:flex}.notice button{margin-left:12px;padding:1px 8px}.cash-hero{color:#fff;background:#234542;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:20px;padding:27px 32px;display:flex}.cash-hero span{letter-spacing:2px;color:#bdd1c9;font-size:10px}.cash-hero strong{letter-spacing:-1px;margin-top:4px;font-size:42px;font-weight:400;display:block}.cash-hero p{color:#afc5bd;font-size:11px}.cash-hero button{color:#fff;background:#ffffff0d;border-color:#ffffff30;font-size:12px}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:20px 0;display:grid}.metric{border:1px solid var(--border);background:#fff;border-radius:8px;padding:20px}.metric>span{color:#75817c;font-size:11px;display:block}.metric strong{letter-spacing:-.5px;margin:9px 0 4px;font-size:24px;font-weight:500;display:block}.metric.negative strong{color:var(--warn)}.panel{border:1px solid var(--border);background:#fff;border-radius:9px;margin:20px 0;padding:24px}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.toolbar p{margin:0;font-size:12px}.legend{color:var(--accent);gap:18px;font-size:10px;display:flex}.legend span:last-child{color:#92a8a2}.chart svg{width:100%;height:auto;margin-top:15px}.chart-detail{border-top:1px solid var(--border);color:#6c7974;flex-wrap:wrap;gap:20px;padding-top:14px;font-size:11px;display:flex}.chart-detail b{color:var(--ink)}.two-col{grid-template-columns:1.2fr 1fr;gap:20px;display:grid}.two-col .panel{margin-top:0}.alert-row{text-align:left;border:0;border-top:1px solid #edf0ed;border-radius:0;align-items:center;gap:12px;width:100%;padding:14px 0;font-size:12px;display:flex}.alert-row>span:last-child{margin-left:auto}.alert-dot{background:#bc8d59;border-radius:50%;flex-shrink:0;width:5px;height:5px}.badge{white-space:nowrap;background:#f0f3ef;border-radius:4px;padding:5px 8px;font-size:10px;font-weight:400}.fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-top:18px;display:grid}.field{color:#63716b;flex-direction:column;gap:7px;margin-top:5px;font-size:12px;display:flex}.wide{grid-column:1/-1}.field input,.field select{width:100%}textarea{width:100%;min-height:70px}.hint{color:var(--muted);font-size:11px}.cash-form{margin:15px 0}summary{padding:14px 0;font-weight:500}details{border-top:1px solid var(--border);margin-top:14px}.table-wrap{margin-top:16px;overflow:auto}table{border-collapse:collapse;text-align:left;white-space:nowrap;width:100%;font-size:12px}th{color:#89938c;background:#fafbf9;padding:14px 12px;font-size:10px;font-weight:400}td{border-bottom:1px solid #eef1ed;padding:16px 12px}td small{margin-top:4px;display:block}tbody tr:hover{background:#fafcf9}.text-button{color:var(--accent);text-align:left;background:0 0;border:0;padding:0;font-weight:500}.tabs{gap:8px;margin:18px 0;display:flex}.tabs button{background:0 0;border:0;font-size:12px}.tabs button.active{color:var(--accent);background:#e9f0eb}.list-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;padding:16px 0;font-size:12px;display:flex}.list-row small{display:block}.filters{flex-wrap:wrap;gap:8px;margin:15px 0;display:flex}.filters input,.filters select{max-width:220px;font-size:11px}.incoming{color:#43775a}.calendar{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.calendar-day{border:1px solid var(--border);border-radius:7px;padding:12px;font-size:12px}.calendar-day button{text-align:left;width:100%;margin:8px 0;padding:8px;display:block}.calendar-day strong{font-size:12px;display:block}.modal-backdrop{z-index:10;background:#14252166;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;width:100%;max-width:800px;max-height:90vh;padding:32px;position:relative;overflow:auto;box-shadow:0 15px 70px #0002}.modal .fields{grid-template-columns:1fr 1fr}.close{position:absolute;top:12px;right:15px}.budget-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:25px;display:grid}.budget-card{border:1px solid var(--border);border-radius:8px;padding:18px}.budget-card .fields{display:block}.budget-card p{justify-content:space-between;font-size:11px;display:flex}.budget-card progress{accent-color:#497762;width:100%;height:5px}.empty{text-align:center;padding:40px}.login{border:1px solid var(--border);background:#fff;border-radius:14px;width:440px;max-width:90vw;margin:10vh auto;padding:45px}.login-brand{margin-bottom:45px;padding:0}.login h1{font-size:35px;line-height:1.2}.login .fields{display:block}.login small{margin-top:35px;display:block}footer{color:#91a096;padding-top:25px;font-size:10px}hr{border:0;border-top:1px solid var(--border);margin:25px 0}@media (min-width:1600px){.shell>main{padding:45px 65px}}@media (max-width:1100px){.shell>main{padding:28px 22px}.metrics{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.fields{grid-template-columns:1fr 1fr}.calendar,.budget-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){.shell{display:block}aside{border-bottom:1px solid var(--border);width:100%;height:auto;padding:15px;position:static}.brand{font-size:23px}.brand span{letter-spacing:2px;margin-left:15px;font-size:8px;display:inline}.workspace,.aside-bottom{display:none}nav{gap:3px;margin-top:15px;display:flex;overflow:auto}nav button{white-space:nowrap;padding:8px;font-size:11px}.navicon{display:none}.shell>main{padding:22px 14px}h1{font-size:24px}header{align-items:flex-start}header button{font-size:10px}.cash-hero{padding:20px;display:block}.cash-hero strong{font-size:35px}.cash-hero button{margin-top:12px}.metric{padding:15px}.metric strong{font-size:21px}.metrics{gap:10px}.panel{padding:18px}.fields,.modal .fields,.calendar,.budget-grid{grid-template-columns:1fr}.chart-detail,.legend{gap:10px}.tabs{flex-wrap:wrap}.modal{padding:25px}.sync-status{overflow-wrap:anywhere}}
