@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@600;700&family=Inter:wght@400;500;600;700;800&display=swap";:root{color:#242424;font-synthesis:none;text-rendering:optimizelegibility;background:#f7f6f2;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}*{box-sizing:border-box}body{background:#f7f6f2;min-width:320px;margin:0}.page{width:min(1480px,100%);margin:0 auto;padding:18px}.toolbar{justify-content:flex-end;align-items:center;gap:10px;margin-bottom:12px;display:flex}.month-overview{align-content:start;gap:14px;display:grid}.month-title h1{letter-spacing:-.045em;color:#24211d;margin:34px 0 6px;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(48px,6vw,74px);line-height:.85}.month-title p{text-transform:uppercase;letter-spacing:.08em;color:#67615b;margin:0 0 0 18px;font-size:12px;font-weight:600}.toolbar select,.login input{color:#242424;background:#fff;border:1px solid #d7d1ca;border-radius:0;min-width:150px;padding:11px 13px;font-weight:700}.status{letter-spacing:.18em;border:1px solid;border-radius:0;padding:10px 14px;font-size:11px;font-weight:900}.safe{color:#407f5d;background:#e4f2e8}.watch{color:#9a6b18;background:#fff2ca}.danger{color:#a13535;background:#f9dede}.neg{color:#9b1c1c!important}.dashboard-grid{grid-template-columns:320px minmax(280px,1.1fr) minmax(360px,1.2fr) minmax(280px,1fr);grid-auto-flow:dense;gap:22px;display:grid}.left-stack{align-content:start;gap:22px;display:grid}.spending-side{gap:22px;display:grid}.breakdown-bottom{grid-column:3/-1}.requests-block{grid-column:1/3}.requests-block .sheet-panel{min-height:408px}.chart-panel{background:#ffffffad;border:1px solid #cbc8c2;min-height:100%;overflow:hidden}.balance-chart{grid-column:1/4;min-height:auto;padding:14px 14px 0}.spending-chart{grid-column:4/5;grid-template-rows:auto 1fr;min-height:auto;padding-bottom:8px;display:grid}.spending-chart h2{text-align:center;text-transform:uppercase;letter-spacing:.34em;margin:0;padding:11px 12px 4px;font-size:12px;font-weight:900}.sheet-panel{background:#ffffffa8;border:1px solid #cbc8c2;min-height:100%;overflow:hidden}.sheet-panel h2{text-transform:uppercase;letter-spacing:.34em;color:#0f0f0f;background:#fafafa;border-bottom:1px solid #d7d1ca;place-items:center;min-height:44px;margin:0;padding:14px 16px 13px;font-size:13px;font-weight:900;display:grid}.tone-blue h2{background:#cbeaf0}.tone-peach h2{background:#f7cfb3}.tone-pink h2{background:#efc7d8}.tone-lavender h2{background:#cbd3f5}.overview-table{grid-template-columns:1fr 1.2fr;font-size:13px;display:grid}.overview-table span,.overview-table b{background:#ffffff61;border-bottom:1px solid #e1ddd8;border-right:1px solid #e1ddd8;min-height:30px;padding:8px 10px;font-weight:500}.overview-table span{text-align:center;color:#333}.overview-table b{text-align:center;font-weight:700}.sheet-table{width:100%;font-size:12px}.sheet-row{border-bottom:1px solid #e7e3de;grid-template-columns:minmax(120px,1fr) minmax(86px,auto) minmax(86px,auto);align-items:center;min-height:29px;display:grid}.sheet-row.with-left{grid-template-columns:minmax(118px,1fr) minmax(82px,auto) minmax(82px,auto) minmax(82px,auto)}.sheet-row.with-check{grid-template-columns:28px minmax(120px,1fr) minmax(86px,auto) minmax(86px,auto)}.sheet-row.with-check.with-left{grid-template-columns:28px minmax(120px,1fr) minmax(82px,auto) minmax(82px,auto) minmax(82px,auto)}.sheet-row>*{min-width:0;padding:7px 9px}.sheet-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sheet-row b,.sheet-row em{text-align:right;color:#333;white-space:nowrap;font-style:normal;font-weight:600}.sheet-head{background:#ffffff59;min-height:27px}.sheet-head b{text-transform:uppercase;letter-spacing:.25em;color:#111;font-size:10px}.box{background:0 0;border:1px solid #d9c5ca;width:13px;height:13px;margin-left:7px}.compact .cash{grid-template-columns:1fr auto}.compact .cash span:first-child{padding-left:18px}.compact .total{text-transform:uppercase;letter-spacing:.12em;background:#e6f4f5}.compact .total b{font-weight:900}.breakdown-table{background:#ffffff57;width:100%;font-size:12px}.breakdown-head,.breakdown-row{grid-template-columns:minmax(110px,1fr) minmax(116px,auto) 64px;align-items:center;display:grid}.breakdown-head{background:#f6e6ec;border-bottom:1px solid #d8d1cb;min-height:31px;font-style:italic}.breakdown-head span,.breakdown-row>*{border-right:1px dotted #cfc8c1;padding:7px 10px}.breakdown-row{border-bottom:1px dotted #cfc8c1;min-height:27px}.breakdown-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.breakdown-row b{text-align:right;font-weight:500}.breakdown-row em{text-align:center;font-style:normal;font-weight:500}.donut-wrap{min-height:210px;padding:14px 12px 6px;position:relative}.donut-wrap strong{text-align:center;letter-spacing:-.05em;white-space:nowrap;font-size:clamp(24px,2.6vw,38px);font-weight:500;position:absolute;inset:52% 18px auto;transform:translateY(-50%)}.recharts-wrapper text{font-family:Inter,system-ui,sans-serif}.recharts-tooltip-wrapper .recharts-default-tooltip{font-size:12px;box-shadow:0 8px 24px #00000014;border:1px solid #ccc!important}.request-list{padding:2px 10px 8px}.request{border-bottom:1px solid #e7e3de;gap:4px;padding:10px 0;font-size:12px;display:grid}.request b{font-size:12px}.request span{color:#333}.request small,.muted{color:#817a73}.muted{margin:0;padding:0 16px 18px;font-size:13px}.login{background:#f7f6f2;place-items:center;min-height:100vh;padding:18px;display:grid}.login form{background:#fff;border:1px solid #cbc8c2;gap:13px;width:min(390px,100%);padding:28px;display:grid}.login h1{margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:44px}.login p{color:#67615b;margin:0}.login button{color:#fff;letter-spacing:.08em;text-transform:uppercase;background:#24211d;border:0;border-radius:0;padding:13px 14px;font-weight:800}.error,pre{color:#9b1c1c;white-space:pre-wrap}@media (width<=1240px){.dashboard-grid{grid-template-columns:repeat(2,minmax(310px,1fr))}.balance-chart,.spending-chart,.breakdown-bottom,.requests-block{grid-column:1/-1}.toolbar{justify-content:flex-start}}@media (width<=720px){.page{padding:12px}.dashboard-grid{grid-template-columns:1fr;gap:14px}.spending-side{gap:14px}.balance-chart{padding:8px 4px 0}.month-title h1{margin-top:12px}.toolbar{flex-wrap:wrap}.sheet-panel h2{letter-spacing:.22em;font-size:12px}.sheet-row,.sheet-row.with-left,.sheet-row.with-check,.sheet-row.with-check.with-left{grid-template-columns:1fr auto}.sheet-row.with-left em,.sheet-row.with-check .box,.sheet-head{display:none}}
