:root{--bg:#f2f5fa;--surface:#fff;--ink:#15243b;--muted:#69788d;--line:#e2e8f0;--blue:#2763e7;--red:#c33b36;--green:#17775d;--radius:18px;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 system-ui,-apple-system,Segoe UI,sans-serif;padding-bottom:90px}header{background:#101c2e;color:#fff;padding:20px max(18px,calc((100vw - 1060px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;gap:12px;align-items:center}.logo{background:#324a70;border:1px solid #56729a;border-radius:14px;font-size:25px;width:46px;height:46px;text-align:center;line-height:44px}strong{font-weight:650}small{display:block;font-size:12px;color:var(--muted)}header small{color:#a7b9d5;margin-top:3px}header .icon{color:white;background:#243753;border:0;font-size:24px;width:40px;padding:4px}main{max-width:1100px;margin:0 auto;padding:24px 20px}h1{font-size:26px;margin:0 0 5px;letter-spacing:-.7px}h2{font-size:19px;margin:0 0 12px}h3{font-size:16px;margin:18px 0 8px}p{margin:6px 0 14px}.muted{color:var(--muted)}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.wrap{flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.stat{background:var(--surface);border:1px solid var(--line);padding:16px;border-radius:var(--radius)}.stat b{font-size:22px;display:block;margin:8px 0 3px}.stat small{font-size:12px}.stat.urgent{border-color:#f1c9c2;background:#fff8f5}.tabs{display:flex;gap:8px;overflow-x:auto;padding:3px 0 12px;white-space:nowrap}button{font:inherit;cursor:pointer;border:1px solid var(--line);border-radius:12px;padding:10px 14px;color:var(--ink);background:var(--surface);min-height:42px;touch-action:manipulation}button:hover{filter:brightness(.97)}button:disabled{opacity:.5;cursor:wait}.tabs button{border-radius:25px;padding:8px 14px;min-height:38px}.tabs .active,button.primary{background:var(--blue);color:white;border-color:var(--blue)}button.danger{color:var(--red);border-color:#edb7b2}button.success{background:var(--green);color:#fff;border-color:var(--green)}button.small{font-size:12px;padding:6px 9px;min-height:32px}button.text{border:0;background:transparent;color:var(--blue)}.filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;margin-bottom:16px}input,select,textarea{font:inherit;background:var(--surface);border:1px solid #d2dce9;color:var(--ink);border-radius:11px;padding:11px;width:100%;min-height:44px}textarea{resize:vertical;min-height:85px}input:focus,select:focus,textarea:focus{outline:2px solid #92b6fb;outline-offset:1px}input[type=checkbox]{width:18px;min-height:18px;accent-color:var(--blue)}label{display:block;font-size:13px;font-weight:550;margin-bottom:6px}.field{margin-bottom:14px}.check{display:flex;align-items:center;gap:9px;font-size:14px;margin:12px 0}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:12px}.invoice{cursor:pointer;transition:border-color .15s}.invoice:hover{border-color:#95b5ea}.invoice h3{margin:0;font-size:16px}.invoice .amount{font-size:20px;font-weight:700;white-space:nowrap}.meta{margin-top:10px;color:var(--muted);font-size:13px;display:flex;flex-wrap:wrap;gap:6px 15px}.badge{display:inline-block;border-radius:7px;background:#edf2fa;color:#42608c;font-size:12px;padding:4px 8px;white-space:nowrap}.badge.owner{color:#805907;background:#fff1cc}.badge.payable,.badge.partial{color:#1c715c;background:#e2f5ed}.badge.paid{color:#586b60;background:#edf3ef}.badge.rejected{color:#a63d3d;background:#ffe9e7}.urgent-badge{background:#ffe9e2;color:#b9402c}.overdue{color:#bf3e31}.empty{text-align:center;padding:45px 18px;color:var(--muted)}.panel{max-width:730px;margin:0 auto}.notice{background:#edf3ff;color:#355781;border:1px solid #d4e2fb;border-radius:12px;padding:12px;font-size:13px;margin:12px 0}.warning{background:#fff4db;color:#815a11;border-color:#f4d78f}.actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}nav{position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom));display:flex;justify-content:center;gap:8px;z-index:10}nav button{border:0;background:transparent;color:var(--muted);min-width:100px}nav button.active{color:var(--blue);background:#edf3ff}#overlay{position:fixed;inset:0;background:#0e192d88;z-index:20;display:flex;align-items:flex-start;justify-content:center;padding:20px;overflow-y:auto}#dialog{background:var(--bg);border-radius:22px;padding:22px;width:100%;max-width:780px;position:relative;margin-bottom:30px}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.close{font-size:22px;padding:4px 13px}.details{display:grid;grid-template-columns:1fr 1fr;gap:15px}.details small{margin-bottom:3px}.details .full{grid-column:1/-1;white-space:pre-wrap}.files{display:flex;flex-direction:column;gap:8px}.file{display:flex;gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:11px}.file .name{flex:1;overflow-wrap:anywhere;font-size:13px}.history{padding:10px 0;border-top:1px solid var(--line)}.history p{font-size:13px;margin:5px 0;white-space:pre-wrap}.bar{background:#e2eaf5;height:7px;border-radius:10px;overflow:hidden;margin:12px 0}.bar span{display:block;height:100%;background:var(--green)}#toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);padding:13px 20px;background:#17283f;color:white;z-index:40;border-radius:12px;max-width:90vw;box-shadow:0 5px 30px #0003}.filelist{font-size:13px;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}.listrow{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:12px 0;gap:12px}.days{display:flex;flex-wrap:wrap;gap:8px}.days label{display:flex;gap:4px;align-items:center;font-size:12px}a{color:var(--blue)}[hidden]{display:none!important}.busy{pointer-events:none;opacity:.6}@media(max-width:600px){main{padding:20px 14px}.stats{gap:7px}.stat{padding:12px}.stat b{font-size:17px}.stat small{font-size:10px}.filters{grid-template-columns:1fr 1fr}.filters input{grid-column:1/-1}.grid2{gap:10px}.invoice .amount{font-size:17px}.invoice{padding:15px}.row.wrap{align-items:flex-start}#overlay{padding:8px}#dialog{padding:16px;border-radius:18px}.details{gap:12px}nav{gap:1px;padding-left:5px;padding-right:5px}nav button{min-width:0;flex:1;font-size:13px}.file{flex-wrap:wrap}.file .name{min-width:100%}.panel .grid2{grid-template-columns:1fr 1fr}}
@media(prefers-color-scheme:dark){:root{--bg:#121c2c;--surface:#1c2b40;--ink:#e3edfc;--muted:#9aabc3;--line:#304159;color-scheme:dark}input,select,textarea{border-color:#40516a}.stat.urgent{background:#34282a;border-color:#7b4139}.notice{background:#22354e;color:#b8d1f6;border-color:#385078}.warning{background:#44391f;color:#f2d28d;border-color:#756139}.badge{background:#30435f;color:#c2d5f5}.badge.owner{background:#4b4125;color:#f3d990}.badge.payable,.badge.partial{background:#234639;color:#a6dfc9}.badge.paid{background:#2c3c33;color:#bed3c5}.badge.rejected,.urgent-badge{background:#502e2d;color:#f4b1a7}nav button.active{background:#253c60}.bar{background:#35475d}}

.document-preview{width:100%;height:65vh;border:1px solid var(--line);border-radius:12px;background:#fff}.image-preview{display:block;max-width:100%;max-height:70vh;object-fit:contain;margin:auto}.payment-amount{width:160px;flex-shrink:0}@media(max-width:600px){.payment-amount{width:130px}}
