:root{--ink:#25222a;--muted:#77717d;--bg:#f8f6f9;--card:#fff;--purple:#7252a3;--lav:#eee7f7;--green:#28745b;--warn:#9a6427;--red:#a63c48;--line:#e9e4ea}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.top{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1080px)/2));position:sticky;top:0;z-index:5}.back{color:var(--muted);text-decoration:none;font-weight:650}.mark{font-weight:850;color:var(--purple);letter-spacing:.08em}.ghost,.x{border:0;background:transparent}main{max-width:1080px;margin:auto;padding:32px 24px 80px}.period-head{display:flex;justify-content:space-between;align-items:end;gap:20px}.period-head input{font-size:28px;font-weight:800;background:transparent;border:0;padding:0;color:var(--ink)}.status{margin-top:9px;font-weight:700;color:var(--green)}button{border:1px solid var(--line);background:#fff;border-radius:13px;padding:12px 17px;font:inherit;font-weight:750;cursor:pointer}.primary{background:var(--purple);color:#fff;border-color:var(--purple)}button:disabled{opacity:.45;cursor:not-allowed}.actions{display:flex;gap:10px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:28px 0 16px}.card,.panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px}.card span{display:block;color:var(--muted);font-size:14px}.card b{display:block;font-size:26px;margin-top:9px}.health{padding:15px 18px;border-radius:14px;background:#e8f5ef;color:var(--green);font-weight:750}.health.warn{background:#fff2df;color:var(--warn)}.tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin:26px 0 18px;overflow:auto}.tabs button{border:0;background:transparent;border-radius:0;color:var(--muted);white-space:nowrap}.tabs button.active{color:var(--purple);border-bottom:3px solid var(--purple)}.view{display:none}.view.active{display:block}.panel{margin-bottom:16px}.panel h2{font-size:19px;margin:0 0 18px}.move{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:10px;display:grid;grid-template-columns:1fr auto;gap:10px;cursor:pointer}.move small,.muted,.optional{color:var(--muted)}.move .money{text-align:right;font-weight:800}.expense .money{color:var(--red)}.filters,.inline{display:flex;gap:10px;margin-bottom:15px}.filters input{flex:1}input,select,textarea{width:100%;border:1px solid #dcd5df;border-radius:12px;padding:12px 13px;font:inherit;background:#fff}label{display:block;font-weight:720;margin:17px 0 7px}dialog{border:0;border-radius:24px;padding:0;width:min(600px,calc(100vw - 24px));max-height:92vh;box-shadow:0 24px 80px #2b173944}dialog::backdrop{background:#1c152460}dialog form,#detailBody{padding:24px}.dialog-head{display:flex;justify-content:space-between;align-items:start}.dialog-head h2{margin:3px 0}.x{font-size:28px;padding:2px 8px}.seg{display:grid;grid-template-columns:1fr 1fr;gap:8px}.seg.invoice{grid-template-columns:repeat(3,1fr)}.seg button.selected,.choices button.selected{background:var(--lav);border-color:#9b7bc4;color:#4f3375}.choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}.amount{font-size:24px;font-weight:800}.preview{background:var(--lav);border-radius:14px;padding:14px;margin:18px 0}.wide{width:100%;font-size:17px}.hidden{display:none!important}.liquid-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.person-total{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px}.person-total h2{margin-top:0}.line{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #f0edf1}.total{font-size:23px;font-weight:850;margin-top:18px}.alert-list{margin:12px 0}.alert{padding:10px 0}.doc-drop{border:2px dashed #cdbddc;border-radius:16px;padding:22px;text-align:center;background:#fbf9fd}.history-row{border-top:1px solid var(--line);padding:12px 0}details summary{cursor:pointer;color:var(--purple);font-weight:700;margin-top:16px}@media(max-width:760px){main{padding:22px 14px 70px}.period-head{align-items:stretch;flex-direction:column}.actions button{flex:1}.cards{grid-template-columns:1fr 1fr}.liquid-grid{grid-template-columns:1fr}.choices{grid-template-columns:1fr}.seg.invoice{grid-template-columns:1fr}.top{padding:0 16px}.card b{font-size:21px}}
