:root{--bg: #f3f4f8;--card: #ffffff;--card-2: #f7f8fb;--text: #0e1116;--ink-2: #3b4250;--hint: #6b7280;--line: rgba(15, 23, 42, .08);--btn: #4f46e5;--btn-text: #ffffff;--link: #4f46e5;--tint: rgba(79, 70, 229, .09);--danger: #dc2626;--danger-tint: rgba(220, 38, 38, .1);--pos: #15803d;--pos-tint: rgba(22, 163, 74, .11);--warn: #b45309;--warn-tint: rgba(217, 119, 6, .12);--shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 4px 16px rgba(15, 23, 42, .05);--grad: linear-gradient(135deg, #4f46e5, #7c3aed 60%, #a21caf);--r: 18px}:root[data-theme=dark]{--bg: #0a0c11;--card: #141821;--card-2: #1a1f2a;--text: #f3f4f6;--ink-2: #d1d5db;--hint: #8b93a3;--line: rgba(255, 255, 255, .07);--btn: #8b8bff;--btn-text: #0a0c11;--link: #a5a5ff;--tint: rgba(139, 139, 255, .13);--danger: #f87171;--danger-tint: rgba(248, 113, 113, .12);--pos: #4ade80;--pos-tint: rgba(74, 222, 128, .12);--warn: #fbbf24;--warn-tint: rgba(251, 191, 36, .12);--shadow: 0 1px 2px rgba(0, 0, 0, .3)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.45 Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 1}main{padding:8px 16px calc(92px + env(safe-area-inset-bottom));max-width:680px;margin:0 auto}svg.i{flex:none}h1{font-size:26px;font-weight:700;letter-spacing:-.5px;margin:14px 2px 12px}h2{font-size:16px;font-weight:600;letter-spacing:-.1px;margin:0 0 10px}h3{font-size:13px;margin:16px 0 8px;color:var(--hint);font-weight:600;text-transform:uppercase;letter-spacing:.4px}p{margin:0 0 10px}.head{display:flex;align-items:center;justify-content:space-between;gap:10px}.head h1,.head h2{margin-bottom:10px;min-width:0;overflow-wrap:anywhere}.sect{display:flex;align-items:center;justify-content:space-between;margin:22px 4px 10px}.sect h2{margin:0}.sect .link{padding:0;font-size:13px}.top{display:flex;align-items:center;gap:12px;padding:14px 2px 4px}.brand{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;color:#fff;flex:none;background:linear-gradient(135deg,#0ea5e9,#6366f1 60%,#8b5cf6);box-shadow:0 6px 18px #6366f14d}.top .ttl{font-size:20px;font-weight:700;letter-spacing:-.3px;line-height:1.15}.top .who{font-size:13px;color:var(--hint)}.top .grow{flex:1;min-width:0}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:600;font-size:14px;background:var(--tint);color:var(--btn);flex:none}.card{background:var(--card);border-radius:var(--r);padding:14px 16px;margin-bottom:12px;box-shadow:var(--shadow)}.card.attention{box-shadow:var(--shadow),inset 0 0 0 1.5px var(--warn)}.row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);min-height:48px}.row:last-child{border-bottom:0}.row>span:first-child{min-width:0;overflow-wrap:anywhere}.row .grow{flex:1;min-width:0;overflow-wrap:anywhere}.row small,.muted,.hint{color:var(--hint);font-size:13px}.row small{display:block}.row small.inline{display:inline}.row.click{cursor:pointer}.row.click:active{opacity:.7}.row.selected{background:var(--tint);margin:0 -16px;padding-left:16px;padding-right:16px}.row.total{font-weight:600}.row.off{opacity:.5}.row.entry.st-pending,.row.entry.st-disputed{background:var(--warn-tint);margin:0 -16px;padding-left:16px;padding-right:16px}.row.entry.st-cancelled,.row.entry.reversed{opacity:.5;text-decoration:line-through}.row .chev{color:var(--hint);opacity:.6;flex:none}.tile{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;flex:none;background:var(--tint);color:var(--btn)}.tile.good{background:var(--pos-tint);color:var(--pos)}.tile.warn{background:var(--warn-tint);color:var(--warn)}.tile.bad{background:var(--danger-tint);color:var(--danger)}.tile.muted{background:var(--card-2);color:var(--hint)}.right{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right;flex-shrink:0}.strong{font-weight:600;white-space:nowrap}.neg{color:var(--danger)}.pos{color:var(--pos)}.center{text-align:center}.mono{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;letter-spacing:.5px;font-feature-settings:normal}.small{font-size:12px}.empty{text-align:center;color:var(--hint);padding:26px 12px}.empty .tile{margin:0 auto 10px;width:46px;height:46px;border-radius:14px}.fatal{padding:60px 24px;text-align:center;max-width:420px;margin:0 auto}.fatal .ring{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;background:var(--tint);color:var(--btn)}.fatal h2{font-size:20px}.error{color:var(--danger);font-size:14px;margin:6px 0}.ok{color:var(--pos);margin:6px 0;display:flex;gap:8px;align-items:center}.warn{color:var(--warn)}.kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:12px}.kpi{background:var(--card);border-radius:var(--r);padding:14px 16px;box-shadow:var(--shadow);min-width:0}.kpi .h{display:flex;align-items:center;gap:8px;color:var(--hint);font-size:13px}.kpi .h .tile{width:28px;height:28px;border-radius:8px}.kpi .v{font-size:22px;font-weight:700;letter-spacing:-.5px;margin-top:8px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi .d{font-size:12px;color:var(--hint);margin-top:4px}.kpi.click{cursor:pointer}.feat{background:var(--grad);color:#fff;border-radius:var(--r);padding:16px 18px;margin-bottom:12px;box-shadow:0 10px 30px #4f46e540}.feat .h{display:flex;align-items:center;gap:8px;font-size:13px;color:#fffc}.feat .v{font-size:34px;font-weight:700;letter-spacing:-1px;margin-top:6px;line-height:1.1;overflow-wrap:anywhere}.feat .delta{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;padding:3px 8px;border-radius:99px;background:#ffffff2e;margin-top:8px}.feat .split{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.feat .split b{display:block;font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feat .split span{font-size:12px;color:#ffffffb8}.feat .chips{padding:0 0 10px}.feat .chip{background:#ffffff26;color:#fff;border:0}.feat .chip.on{background:#fff;color:#4f46e5}.chart{position:relative}.chart svg.plot{display:block;width:100%;height:auto;overflow:visible}.chart .bar{fill:var(--btn);transition:opacity .15s}.chart .bar.exp{fill:var(--hint);opacity:.45}.chart .dim{opacity:.3}.chart .base{stroke:var(--line)}.chart .lbl{fill:var(--hint);font-size:11px;font-family:inherit}.chart .tip{position:absolute;top:-8px;transform:translate(-50%,-100%);background:var(--text);color:var(--card);font-size:12px;font-weight:500;padding:6px 9px;border-radius:8px;white-space:nowrap;pointer-events:none}.legend{display:flex;gap:14px;font-size:12px;color:var(--hint);margin-top:8px}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}.meter{height:6px;border-radius:3px;background:var(--card-2);margin-top:6px;overflow:hidden}.meter i{display:block;height:100%;border-radius:3px;background:var(--btn)}.alert{display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:14px;margin-bottom:8px;font-size:14px;cursor:pointer}.alert.warn{background:var(--warn-tint);color:var(--warn)}.alert.bad{background:var(--danger-tint);color:var(--danger)}.alert.info{background:var(--tint);color:var(--btn)}.alert span{color:var(--text);flex:1}.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border:0;border-radius:14px;padding:14px;font:600 15px/1.2 Inter,sans-serif;background:var(--btn);color:var(--btn-text);cursor:pointer;text-align:center;margin:6px 0;transition:transform .1s,opacity .15s}.btn:active{transform:scale(.985)}.btn.grad{background:var(--grad);color:#fff;box-shadow:0 8px 20px #4f46e540}.btn.secondary{background:var(--tint);color:var(--btn)}.btn.danger{background:var(--danger-tint);color:var(--danger)}.btn.big{padding:16px 10px;font-size:15px;flex-direction:column;gap:6px}.btn.small{width:auto;padding:9px 13px;font-size:14px;margin:0;border-radius:12px}.btn:disabled{opacity:.45}.btn.need{box-shadow:inset 0 0 0 1.5px var(--warn)}.link{background:none;border:0;color:var(--link);font:500 15px Inter,sans-serif;padding:6px 0;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.link.danger{color:var(--danger)}.link.small{font-size:13px}.quick{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;margin-bottom:12px}.quick .btn,.quick .submit .btn,.quick .submit{margin:0}.quick.four{grid-template-columns:repeat(4,1fr)}.quick.four .btn.big{font-size:13px;padding:13px 2px}.submit{margin:4px 0 12px}.field{display:block;margin:12px 0}.field .label{display:block;font-size:13px;color:var(--hint);margin-bottom:6px;font-weight:500}.field .hint{display:block;margin-top:5px}input,select,textarea{width:100%;font:inherit;color:var(--text);background:var(--card-2);border:1px solid var(--line);border-radius:12px;padding:12px 13px;outline:none;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--btn);box-shadow:0 0 0 3px var(--tint)}input.bad{border-color:var(--danger)}input:disabled{opacity:.6}textarea{min-height:76px;resize:vertical}.search{position:relative;margin-bottom:6px}.search>svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--hint)}.search input{padding-left:40px}.money-input{display:flex;align-items:center;gap:8px}.money-input input{font-size:20px;font-weight:600}.money-input span{color:var(--hint)}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.two .field{margin:6px 0}.check{display:flex;gap:10px;align-items:center;margin:12px 0}.check input{width:22px;height:22px;flex-shrink:0;accent-color:var(--btn)}.check.need{color:var(--warn)}.chips{display:flex;gap:6px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex-shrink:0;border:1px solid var(--line);border-radius:99px;padding:8px 14px;font:500 13px Inter,sans-serif;background:var(--card);color:var(--ink-2);cursor:pointer}.card .chip{background:var(--card-2)}.chip.on,.card .chip.on{background:var(--text);color:var(--card);border-color:var(--text)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 8px;margin-top:6px}.stats div{display:flex;flex-direction:column;min-width:0}.stats b{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stats span{font-size:12px;color:var(--hint)}.big-amount{font-size:32px;font-weight:700;letter-spacing:-.8px;margin:4px 0 12px}dl{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;margin:0 0 8px}dt{color:var(--hint);font-size:14px}dd{margin:0;overflow-wrap:anywhere}.grid{width:100%;border-collapse:collapse;font-size:14px}.grid th,.grid td{text-align:right;padding:8px 4px;border-bottom:1px solid var(--line)}.grid th{font-weight:600}.grid tr:last-child td{border-bottom:0}.grid th:first-child,.grid td:first-child{text-align:left;color:var(--hint)}.table-wrap{overflow-x:auto}.badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:4px 9px;border-radius:99px;background:var(--tint);color:var(--btn);white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge.s-done,.badge.st-confirmed{background:var(--pos-tint);color:var(--pos)}.badge.s-issued,.badge.s-cancelled,.badge.st-cancelled{background:var(--card-2);color:var(--hint)}.badge.st-pending,.badge.st-disputed{background:var(--warn-tint);color:var(--warn)}.line{border:1px solid var(--line);border-radius:14px;padding:10px 12px;margin-bottom:10px}.line-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.svc-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.svc{text-align:left;border:1px solid var(--line);border-radius:14px;padding:11px;background:var(--card-2);color:var(--text);font:500 14px Inter,sans-serif;cursor:pointer}.svc small{display:block;color:var(--hint);font-size:13px;margin-top:3px;font-weight:400}.svc.other{border-style:dashed;background:none}.receipt{margin:12px 0}.receipt img,.receipt-img{max-width:100%;max-height:280px;border-radius:12px;margin-top:8px;display:block}.rules{padding-left:18px;margin:0 0 10px}.rules li{margin-bottom:8px}.diff{white-space:pre-wrap;font-size:11px;color:var(--hint);margin:6px 0 0;max-height:200px;overflow:auto}.month-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.month-nav b{font-size:16px;text-transform:capitalize}.month-nav .btn.small{padding:8px 10px}.tabs{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:center;background:var(--card);border-top:1px solid var(--line);box-shadow:0 -6px 20px #0f172a0d;padding:7px 4px calc(7px + env(safe-area-inset-bottom));z-index:10}.tabs button{flex:1;max-width:120px;border:0;background:none;color:var(--hint);font:500 11px Inter,sans-serif;padding:4px 0;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;position:relative}.tabs button.on{color:var(--btn)}.tabs .dot{position:absolute;top:-2px;left:calc(50% + 6px);background:var(--danger);color:#fff;font-size:10px;font-weight:700;border-radius:99px;min-width:17px;height:17px;display:grid;place-items:center;padding:0 4px;border:2px solid var(--card)}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(84px + env(safe-area-inset-bottom));background:var(--text);color:var(--card);padding:12px 16px;border-radius:14px;font-size:14px;font-weight:500;z-index:20;max-width:90%;display:flex;gap:8px;align-items:center;box-shadow:0 10px 30px #0003;animation:pop .22s ease-out}.toast.error{background:var(--danger);color:#fff}@keyframes pop{0%{opacity:0;transform:translate(-50%,10px)}}.file-tile{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;margin-top:8px;border-radius:12px;background:var(--tint)}.file-tile>span{display:inline-flex;gap:8px;align-items:center}.sk{background:linear-gradient(90deg,var(--card) 0%,var(--card-2) 50%,var(--card) 100%);background-size:200% 100%;animation:sh 1.2s infinite linear;border-radius:var(--r);margin-bottom:12px}@keyframes sh{to{background-position:-200% 0}}.bk{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bk small{flex-basis:100%}.bk-ok{color:var(--pos);display:inline-flex}.bk-bad{color:var(--danger);display:inline-flex}
