:root{--brand:#12305f;--brand-2:#1c4585;--accent:#19b884;--bg:#f4f6f9;--card:#fff;--text:#14161a;--sub:#667085;--line:#e4e7ec;--hover:#f1f4f9;--input:#fff;--primary:#2563eb;--primary-ink:#fff;--good:#15803d;--good-bg:#e7f6ec;--bad:#c62828;--bad-bg:#fdecec;--warn:#b45309;--warn-bg:#fdf3e2;--info:#1d4ed8;--info-bg:#e8effd;--neutral-bg:#eef0f3;--bar-a:#2a78d6;--bar-b:#eb6834;--shadow:0 1px 2px #1018280f, 0 1px 3px #10182814;--radius:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0f1115;--card:#181b21;--text:#eef0f3;--sub:#9aa1ad;--line:#2a2e36;--hover:#20242c;--input:#111318;--primary:#3b82f6;--good:#4ade80;--good-bg:#13301f;--bad:#f87171;--bad-bg:#3a1618;--warn:#fbbf24;--warn-bg:#3a2a0e;--info:#93b4fd;--info-bg:#182744;--neutral-bg:#262a32;--bar-a:#3987e5;--bar-b:#d95926;--shadow:0 1px 2px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font:14px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,Helvetica Neue,Arial,sans-serif}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}h1{letter-spacing:-.01em;flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:22px;display:flex}h2{margin:0;font-size:15px}p{margin:.4em 0}.muted{color:var(--sub)}.small{font-size:12px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.nowrap{white-space:nowrap}.right{text-align:right}.num{text-align:right;font-variant-numeric:tabular-nums}.clip{text-overflow:ellipsis;white-space:nowrap;max-width:280px;overflow:hidden}.mr-auto{margin-right:auto}.shell{grid-template-columns:220px 1fr;min-height:100vh;display:grid}.side{background:linear-gradient(180deg, var(--brand) 0%, #0d2448 100%);color:#dfe7f5;flex-direction:column;height:100vh;padding:16px 12px;display:flex;position:sticky;top:0}.brand{color:#fff;align-items:center;gap:10px;padding:4px 8px 18px;font-size:17px;font-weight:700;display:flex}.brand img{border-radius:7px}.brand small{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;margin-top:2px;font-size:12px;font-weight:500}.side nav{flex-direction:column;gap:2px;display:flex}.nav{color:#c9d4e8;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-weight:500;display:flex}.nav:hover{color:#fff;background:#ffffff12;text-decoration:none}.nav-on{color:#fff;background:#ffffff21}.nav svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none}.side-foot{border-top:1px solid #ffffff1a;flex-direction:column;gap:8px;margin-top:auto;padding:12px 8px 0;display:flex}.me{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.linkish{color:#9fb3d6;cursor:pointer;text-align:left;font:inherit;background:0 0;border:0;padding:0;font-size:13px}.linkish:hover{color:#fff}.lang{border:1px solid #fff3;border-radius:7px;width:fit-content;display:inline-flex;overflow:hidden}.lang button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:4px 10px;font-size:12px}.lang button.on{color:#fff;background:#ffffff2e}.main{min-width:0;max-width:1280px;padding:24px 28px 48px}@media (width<=860px){.shell{grid-template-columns:1fr}.side{flex-flow:wrap;align-items:center;gap:8px;height:auto;padding:10px 12px;position:static}.brand{padding:0 8px 0 0}.side nav{flex-direction:row;flex:100%;order:3;overflow-x:auto}.nav span{white-space:nowrap}.side-foot{border:0;flex-direction:row;align-items:center;margin:0 0 0 auto;padding:0}.me{display:none}.main{padding:16px}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px;display:flex}.page-head p{margin-top:4px;font-size:13px}.page-actions{flex-wrap:wrap;gap:8px;display:flex}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;margin-bottom:16px;padding:16px}.card-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.card-actions{align-items:center;gap:8px;font-size:13px;display:flex}.grid-2{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px;display:grid}.grid-2>.card{margin-bottom:0}.grid-2{margin-bottom:16px}.stats{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-bottom:16px;display:grid}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);height:100%;padding:14px 16px}.stat-link{color:inherit}.stat-link:hover{text-decoration:none}.stat-link:hover .stat{border-color:var(--primary)}.stat-label{color:var(--sub);font-size:12.5px}.stat-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:2px;font-size:26px;font-weight:650}.stat-sub{color:var(--sub);font-size:12px}.kv{gap:8px;display:grid}.kv>div{border-bottom:1px dashed var(--line);justify-content:space-between;gap:12px;padding-bottom:6px;display:flex}.kv>div:last-child{border-bottom:0}.kv span{color:var(--sub)}.kv b{text-align:right;font-weight:550}.state{text-align:center;color:var(--sub);padding:28px 12px}.state-error{color:var(--bad)}.center{place-items:center;min-height:60vh;display:grid}.alert{background:var(--bad-bg);color:var(--bad);border-radius:8px;margin-bottom:12px;padding:10px 12px;font-size:13px}.alert-warn{background:var(--warn-bg);color:var(--warn)}.more,.pager{justify-content:center;align-items:center;gap:12px;padding-top:12px;display:flex}.sums{color:var(--sub);flex-wrap:wrap;gap:16px;padding:0 4px 10px;font-size:13px;display:flex}.sums b{color:var(--text)}.btn{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:7px 14px;font-weight:550;line-height:1.3;display:inline-flex}.btn:hover:not(:disabled){background:var(--hover);text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.btn-primary:hover:not(:disabled){background:var(--primary);filter:brightness(1.08)}.btn-danger{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 35%, var(--line))}.btn-danger:hover:not(:disabled){background:var(--bad-bg)}.btn-ghost{color:var(--sub);background:0 0;border-color:#0000}.btn-sm{padding:4px 10px;font-size:12.5px}.btn-block{width:100%;padding:10px}.input{border:1px solid var(--line);width:100%;font:inherit;color:var(--text);background:var(--input);border-radius:8px;min-width:0;padding:7px 10px}.input:focus{outline:2px solid color-mix(in srgb, var(--primary) 40%, transparent);outline-offset:0;border-color:var(--primary)}.input-sm{padding:4px 8px;font-size:13px}textarea.input{resize:vertical}.search{max-width:280px}.field{flex-direction:column;gap:4px;display:flex}.field-wide{grid-column:1/-1}.field-label{color:var(--sub);font-size:12.5px;font-weight:550}.field-hint{font-weight:400}.field-error{color:var(--bad);font-size:12px}.form-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:12px;display:grid}.check{cursor:pointer;align-self:end;align-items:center;gap:8px;padding-bottom:8px;display:flex}.check input{width:16px;height:16px;accent-color:var(--primary)}.row-end{justify-content:flex-end;gap:8px;display:flex}.row-end .btn-danger{margin-right:auto}.actions-list{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.actions-list .check{align-self:flex-start;padding-bottom:4px}.filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.filters .input{width:auto}.inline-field{color:var(--sub);align-items:center;gap:6px;font-size:13px;display:inline-flex}.add-row{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.add-row .input{width:auto;min-width:180px}.tabs{background:var(--neutral-bg);border-radius:9px;margin-bottom:12px;padding:3px;display:inline-flex}.tabs button{font:inherit;color:var(--sub);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:6px 16px;font-weight:550}.tabs button.on{background:var(--card);color:var(--text);box-shadow:var(--shadow)}.icon-btn{color:var(--sub);cursor:pointer;background:0 0;border:0;padding:0 6px;font-size:18px}.icon-btn:disabled{opacity:.3;cursor:default}.badge-btn{cursor:pointer;background:0 0;border:0;padding:0}.table-wrap{margin:0 -4px;overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th{text-align:left;color:var(--sub);border-bottom:1px solid var(--line);white-space:nowrap;padding:8px;font-size:12px;font-weight:600}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:9px 8px}.table tr:last-child td{border-bottom:0}.table-click tbody tr{cursor:pointer}.table-click tbody tr:hover,.table tbody tr:hover{background:var(--hover)}.badges{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.badge{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11.5px;font-weight:600;display:inline-block}.badge-neutral{background:var(--neutral-bg);color:var(--sub)}.badge-good{background:var(--good-bg);color:var(--good)}.badge-bad{background:var(--bad-bg);color:var(--bad)}.badge-warn{background:var(--warn-bg);color:var(--warn)}.badge-info{background:var(--info-bg);color:var(--info)}.items td{border:0;padding:4px}.items th{padding:4px}.items .input.num{max-width:120px;margin-left:auto;display:block}.modal-back{z-index:50;background:#0a101c80;place-items:center;padding:16px;animation:.12s fade;display:grid;position:fixed;inset:0}.modal{background:var(--card);border-radius:14px;flex-direction:column;width:min(520px,100%);max-height:calc(100vh - 32px);display:flex;box-shadow:0 20px 50px #0000004d}.modal-wide{width:min(1040px,100%)}.modal-head{justify-content:space-between;align-items:center;gap:12px;padding:16px 20px 8px;display:flex}.modal-x{color:var(--sub);cursor:pointer;background:0 0;border:0;font-size:22px;line-height:1}.modal-body{padding:8px 20px 16px;overflow:auto}.modal-foot{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:12px 20px 16px;display:flex}@keyframes fade{0%{opacity:0}}.editor-photo{grid-template-columns:1fr 300px;gap:20px;display:grid}@media (width<=820px){.editor-photo{grid-template-columns:1fr}}.receipt{align-self:start;display:block;position:sticky;top:0}.receipt img{border:1px solid var(--line);border-radius:8px;width:100%}.sub-h{color:var(--sub);margin:8px 0 4px;font-size:13px}.totals{border-top:1px solid var(--line);gap:4px;max-width:420px;margin:14px 0 14px auto;padding-top:10px;display:grid}.totals>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.totals span{color:var(--sub)}.totals b{font-variant-numeric:tabular-nums;margin-left:auto}.totals .grand b{font-size:17px}.secret{background:var(--neutral-bg);border-radius:10px;margin:8px 0;padding:12px}.secret-row{align-items:center;gap:8px;margin:6px 0;display:flex}.secret code{letter-spacing:.03em;-webkit-user-select:all;user-select:all;word-break:break-all;flex:1;font-size:16px;font-weight:600}.toasts{z-index:100;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:16px;right:16px}.toast{color:#fff;background:#1f2937;border-radius:9px;max-width:380px;padding:10px 14px;font-size:13px;animation:.15s fade;box-shadow:0 8px 20px #00000040}.toast-error{background:var(--bad)}.bars{width:100%;height:140px;display:block}.bar-a{fill:var(--bar-a)}.bar-b{fill:var(--bar-b)}.bars-axis{color:var(--sub);justify-content:space-between;margin-top:4px;font-size:11.5px;display:flex}.dot{vertical-align:-1px;border-radius:2px;width:9px;height:9px;display:inline-block}.dot-a{background:var(--bar-a)}.dot-b{background:var(--bar-b)}.login{background:radial-gradient(circle at 30% 20%, var(--brand-2), var(--brand) 60%, #0a1a35);place-items:center;min-height:100vh;padding:16px;display:grid}.login-card{background:var(--card);border-radius:16px;gap:14px;width:min(400px,100%);padding:28px;display:grid;box-shadow:0 20px 60px #00000059}.login-brand{align-items:center;gap:14px;margin-bottom:6px;display:flex}.login-brand img{border-radius:11px}.login-brand h1{font-size:20px}.login-brand p{margin:2px 0 0;font-size:13px}.login .lang{border-color:var(--line);color:var(--sub);justify-self:center}.login .lang button.on{background:var(--neutral-bg);color:var(--text)}
