:root{--ink:#183c35;--green:#146653;--muted:#6d7c75;--paper:#f5f6f0;--line:#e1e7df;--yellow:#e8b655;--red:#ac4740}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;background:var(--green);color:white;border-radius:9px;padding:12px 17px;font-weight:600}button:hover{filter:brightness(.94)}button:disabled{opacity:.5;cursor:wait}button.secondary{background:#e9eee6;color:var(--ink)}button.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}button.danger{background:#faeae6;color:var(--red)}.shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}aside{padding:32px 22px;background:#173e35;color:#fff;display:flex;flex-direction:column;gap:35px;position:sticky;top:0;height:100vh}.brand{font-size:28px;font-weight:850;letter-spacing:-2px}.brand span{color:#e9bd6e}.brand small{display:block;letter-spacing:2px;font-size:9px;color:#bbd4c7;margin-top:8px}.nav{display:grid;gap:8px}.nav button{text-align:left;background:transparent;color:#bad0c5;padding:14px;border-radius:8px}.nav button.active{background:#31594d;color:white}.aside-foot{margin-top:auto;font-size:12px;color:#b8d0c3;line-height:1.6}.aside-foot strong{display:block;color:white;overflow-wrap:anywhere}main.content{padding:34px 42px;max-width:1500px;width:100%;margin:auto}header{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:30px}.eyebrow{text-transform:uppercase;font-size:10px;font-weight:750;letter-spacing:1.6px;color:var(--muted)}h1{font-size:32px;letter-spacing:-1px;margin:8px 0 12px;font-weight:700}h2{font-size:18px;letter-spacing:-.3px;margin:0 0 10px}p{line-height:1.6;color:var(--muted)}.head-actions,.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.pill{background:#e6ede3;border-radius:30px;padding:7px 12px;font-size:11px;color:var(--green);white-space:nowrap}.intro{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:25px}.intro p{margin-bottom:0}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.card{background:white;border:1px solid var(--line);border-radius:13px;padding:22px;min-width:0}.card .label{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px}.dot{height:7px;width:7px;border-radius:100%;display:inline-block;background:var(--green)}.card .value{font-size:clamp(20px,2.2vw,31px);letter-spacing:-.7px;font-weight:720;margin:18px 0 9px;white-space:nowrap}.card small{font-size:11px;color:var(--muted)}.card.highlight{background:var(--green);border-color:var(--green);color:white}.card.highlight .label,.card.highlight small{color:#d5e5d9}.card.held{background:#fff7e7;border-color:#eddfbf}.banner{display:flex;gap:15px;background:#edf1e7;border:1px solid #d9e2cf;border-radius:11px;padding:17px 20px;margin-bottom:24px;line-height:1.6;font-size:12px}.banner strong{color:var(--ink)}.banner.warning{background:#fff6e4;border-color:#eedbb7}.grid{display:grid;grid-template-columns:1.25fr 1fr;gap:22px;margin-bottom:24px}.panel{background:white;border:1px solid var(--line);padding:24px;border-radius:13px;min-width:0}.panel-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:24px}.panel-head p{font-size:12px;margin:0}.bar-row{margin:17px 0}.bar-text{display:flex;justify-content:space-between;font-size:12px;gap:10px;margin-bottom:8px}.track{height:9px;border-radius:8px;background:#eef1e9;overflow:hidden}.fill{height:100%;background:#4f8c71;border-radius:8px}.fill.expense{background:#ad745e}.fill.return{background:#80adbf}.fill.held{background:var(--yellow)}.stat-line{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:16px 0;gap:12px}.stat-line:last-child{border:0}.stat-line strong{white-space:nowrap}.muted{color:var(--muted)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}th{text-align:left;color:var(--muted);font-size:10px;letter-spacing:.5px;text-transform:uppercase;background:#f8f9f5;padding:14px 12px}td{padding:16px 12px;border-bottom:1px solid #edf0e8}td.name{white-space:normal;min-width:230px;max-width:340px;font-weight:600}td.detail{white-space:normal;min-width:190px;max-width:350px;color:var(--muted)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.positive{color:var(--green)}.negative{color:var(--red)}.badge{font-size:10px;padding:5px 8px;border-radius:6px;background:#edf4e9;color:var(--green)}.badge.expense,.badge.refund{background:#f9eee9;color:#a2624c}.badge.return{background:#eaf1f5;color:#4a788f}.badge.retained{background:#fff0ce;color:#936b1f}.filter{max-width:330px;width:100%}input,select,textarea{width:100%;padding:12px;border:1px solid #d4ded2;background:white;border-radius:8px;color:var(--ink);outline-color:var(--green)}textarea{min-height:85px;resize:vertical}label{display:block;font-weight:600;font-size:12px;margin:15px 0 7px}input[type=checkbox]{width:auto}dialog{border:1px solid var(--line);border-radius:16px;padding:28px;max-width:530px;width:calc(100% - 24px);color:var(--ink);box-shadow:0 24px 100px #133a3433}dialog::backdrop{background:#0e2b285c}dialog .actions{margin-top:22px;justify-content:end}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.login{max-width:440px;margin:9vh auto;padding:38px;background:white;border:1px solid var(--line);border-radius:18px}.login h1{margin-top:25px;font-size:36px}.login .brand{color:var(--green)}.login button[type=submit]{width:100%;margin-top:22px}.login small{display:block;color:var(--muted);line-height:1.7;margin-top:22px}.error{color:var(--red);font-size:13px;margin-top:12px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:14px 24px;border-radius:10px;display:none;z-index:10;max-width:90vw}.empty{text-align:center;color:var(--muted);padding:40px}footer{font-size:11px;color:var(--muted);margin-top:24px;line-height:1.8}.mobile-title{display:none}.present aside,.present header{display:none}.present .shell{display:block}.present main.content{max-width:100%;padding:30px}.present{font-size:17px}.present h1{font-size:40px}.present .value{font-size:36px}.present #end-present{display:block!important;position:fixed;bottom:20px;right:20px;z-index:5}.small-btn{font-size:10px;padding:6px 9px}.notice{font-size:12px;line-height:1.7;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:1050px){.cards{grid-template-columns:repeat(2,1fr)}.shell{grid-template-columns:190px 1fr}aside{padding:28px 14px}main.content{padding:28px 24px}.grid{grid-template-columns:1fr}}@media(max-width:650px){.shell{display:block}aside{position:static;height:auto;padding:16px;gap:15px}.brand{font-size:23px}.brand small{display:none}.nav{display:flex;overflow:auto;gap:4px}.nav button{white-space:nowrap;padding:10px;font-size:12px}.aside-foot{display:none}main.content{padding:20px 14px}header{margin-bottom:22px;padding-bottom:15px}.head-actions{gap:7px}.head-actions button{font-size:10px;padding:8px}.cards{gap:9px}.card{padding:15px}.card .value{font-size:22px;margin:13px 0 8px}.card .label{font-size:11px}.card small{font-size:10px}.intro{display:block}.intro .actions{margin-top:16px}h1{font-size:27px}.panel{padding:18px}.panel-head{align-items:start;flex-wrap:wrap}.login{margin:5vh 15px}.form-grid{grid-template-columns:1fr}.present .value{font-size:24px}}@media print{aside,header,button,.filter,.actions,dialog,#toast{display:none!important}.shell{display:block}.content{max-width:none!important;padding:0!important}.cards{grid-template-columns:repeat(4,1fr)}.grid{grid-template-columns:1fr 1fr}.panel,.card{break-inside:avoid;box-shadow:none}.table-wrap{overflow:visible}table{white-space:normal;font-size:9px}td{padding:8px}.card .value{font-size:21px}body{background:white}footer{display:block}}
