:root{--bg: #f4f5f8;--panel: #ffffff;--panel-2: #f9fafc;--line: #e7e9ef;--line-strong: #d9dce5;--text: #16181f;--text-2: #464b5a;--muted: #8b90a0;--accent: #5b4fcf;--accent-hover: #4e43bd;--accent-soft: #eeecfb;--accent-tint: #f7f6fd;--ssp: #0f8a5f;--ssp-soft: #e3f5ec;--dsp: #2f6fed;--dsp-soft: #e6eefc;--pos: #0f8a5f;--neg: #d23b3b;--neg-soft: #fdecec;--warn-soft: #fff7e6;--warn-text: #8a5a00;--sidebar: #17181f;--sidebar-text: #a9adbd;--sidebar-active: #ffffff;--radius: 10px;--radius-sm: 8px;--shadow-sm: 0 1px 2px rgba(16, 18, 30, .04), 0 1px 3px rgba(16, 18, 30, .04);--shadow-pop: 0 12px 32px rgba(16, 18, 30, .14), 0 2px 6px rgba(16, 18, 30, .06);--th-h: 40px;--ctl-h: 34px}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font:13.5px/1.45 Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01"}b,strong{font-weight:600}.layout{display:grid;grid-template-columns:224px 1fr;min-height:100vh}.content{padding:22px 28px 40px;min-width:0}.sidebar{background:var(--sidebar);color:var(--sidebar-text);padding:18px 12px;display:flex;flex-direction:column;gap:22px;position:sticky;top:0;height:100vh}.sidebar-top{display:flex;align-items:center;justify-content:space-between}.sidebar-menu{display:flex;flex-direction:column;gap:22px;flex:1;min-height:0}.burger,.menu-backdrop,.pop-backdrop{display:none}.brand{display:flex;align-items:center;gap:10px;padding:2px 8px;color:#fff;font-weight:600;font-size:14px;letter-spacing:.1px}.brand-mark{width:28px;height:28px;border-radius:8px;background:var(--accent);display:grid;place-items:center;flex:none}.brand-mark svg{width:18px;height:18px}.brand small{display:block;font-weight:400;font-size:11px;color:var(--sidebar-text);margin-top:1px}.sidebar nav{display:flex;flex-direction:column;gap:2px}.sidebar nav a{display:flex;align-items:center;gap:10px;color:var(--sidebar-text);text-decoration:none;padding:8px 10px;border-radius:8px;font-weight:500;transition:background .12s,color .12s}.sidebar nav a svg{width:17px;height:17px;opacity:.8;flex:none}.sidebar nav a:hover{background:#ffffff0f;color:#e6e8f0}.sidebar nav a.active{background:#ffffff1a;color:var(--sidebar-active)}.sidebar nav a.active svg{opacity:1}.sidebar-foot{margin-top:auto;padding:0 10px;font-size:11.5px;color:#6b7080}.page-header{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-bottom:16px;position:relative}.page-title{margin:0 8px 0 0;display:flex;flex-direction:column;gap:2px}.page-title h1{font-size:20px;font-weight:600;margin:0;letter-spacing:-.2px;line-height:1.2;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.page-title .sub{font-size:12.5px;color:var(--muted)}.crumb{color:var(--muted);text-decoration:none;font-weight:500}.crumb:hover{color:var(--accent)}.crumb-sep{color:var(--line-strong);font-weight:400}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex:1}.toolbar .spacer{flex:1}.toolbar .export{margin-left:auto}.page-header-stack{align-items:stretch;flex-direction:column;gap:12px}.page-header-stack .page-title{margin-right:0}.page-header-stack .toolbar{width:100%;flex:none}.control-group{display:inline-flex;align-items:center;gap:8px;flex-wrap:nowrap}.create-partner input{width:180px}select,input,button,.btn{font:inherit;height:var(--ctl-h);padding:0 11px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--panel);color:var(--text);outline:none;transition:border-color .12s,box-shadow .12s,background .12s}input::placeholder{color:var(--muted)}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}input[type=date]{padding:0 8px}input[type=checkbox]{height:15px;width:15px;padding:0;margin:0;accent-color:var(--accent);vertical-align:-2px}select{padding-right:28px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238b90a0' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center}label{display:inline-flex;align-items:center;gap:6px;color:var(--text-2)}button,.btn{display:inline-flex;align-items:center;gap:7px;cursor:pointer;font-weight:500;text-decoration:none;white-space:nowrap;background:var(--panel);color:var(--text);border-color:var(--line-strong);box-shadow:var(--shadow-sm)}button:hover,.btn:hover{border-color:#c9cdd8;background:var(--panel-2)}button:active,.btn:active{transform:translateY(.5px)}button:disabled{opacity:.5;cursor:default}button svg,.btn svg{width:15px;height:15px;flex:none}.btn-primary,button.primary{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 1px 2px #5b4fcf4d}.btn-primary:hover,button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}button.secondary{color:var(--accent)}.search{position:relative}.search svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--muted);pointer-events:none}.search input{padding-left:30px;width:240px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:16px}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;box-shadow:var(--shadow-sm);min-width:0}.k-head{display:flex;align-items:center;justify-content:space-between;min-height:24px}.kpi .k-label{font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--muted)}.k-icon{width:26px;height:26px;border-radius:8px;display:grid;place-items:center}.k-icon svg{width:14px;height:14px}.k-icon.revenue{color:var(--accent);background:var(--accent-soft)}.k-icon.profit{color:var(--pos);background:var(--ssp-soft)}.k-icon.payout{color:#a66b00;background:var(--warn-soft)}.k-icon.impressions{color:var(--dsp);background:var(--dsp-soft)}.kpi .k-value{font-size:21px;font-weight:600;letter-spacing:-.3px;margin-top:4px;font-variant-numeric:tabular-nums;white-space:nowrap}.kpi .k-value small{font-size:13px;font-weight:500;color:var(--muted);margin-left:3px}.kpi .k-sub{margin-top:6px;font-size:12px;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap;font-variant-numeric:tabular-nums}.kpi .k-sub b{color:var(--text-2)}.k-bar{height:5px;border-radius:3px;background:var(--dsp-soft);overflow:hidden;margin-top:9px;display:flex}.k-bar i{display:block;height:100%;background:var(--ssp)}.k-bar em{display:block;height:100%;background:var(--dsp);flex:1}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;vertical-align:1px}.dot.ssp{background:var(--ssp)}.dot.dsp{background:var(--dsp)}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}table.grid{border-collapse:separate;border-spacing:0;width:100%;white-space:nowrap}.grid th,.grid td{padding:0 12px;height:38px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.grid tbody tr:last-child td{border-bottom:0}.grid th{height:var(--th-h);position:sticky;top:0;z-index:2;background:var(--panel-2);color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;border-bottom:1px solid var(--line-strong)}.grid td.num,.grid th.num{text-align:right;font-variant-numeric:tabular-nums}.grid th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.grid th.sortable:hover{color:var(--text-2)}.grid th.sorted{color:var(--text)}.grid th .sort-ic{display:inline-block;width:10px;height:10px;margin-left:4px;opacity:0;vertical-align:-1px;transform:rotate(90deg);transition:transform .15s,opacity .12s}.grid th .sort-ic.asc{transform:rotate(-90deg)}.grid th.sortable:hover .sort-ic{opacity:.5}.grid th.sorted .sort-ic{opacity:1;color:var(--accent)}.grid th.group-start,.grid td.group-start{border-left:1px solid var(--line)}.grid td.hi,.grid th.hi{background:var(--accent-tint)}.grid th.hi{color:var(--accent)}.grid td.zero{color:var(--muted)}.grid td.neg{color:var(--neg)}.grid thead tr.total td{position:sticky;top:var(--th-h);z-index:2;background:var(--panel);font-weight:600;border-bottom:2px solid var(--line-strong)}.grid thead tr.total td.hi{background:var(--accent-tint)}.grid thead tr.total td .muted{font-weight:400}.grid tr.partner{cursor:pointer}.grid tr.partner td{background:var(--panel);transition:background .1s}.grid tr.partner:hover td{background:var(--panel-2)}.grid tr.partner.open td{background:var(--panel-2);border-bottom-color:transparent}.grid tr.partner td.hi{background:var(--accent-tint)}.grid tr.child td{background:var(--panel-2);color:var(--text-2);height:34px;font-size:13px}.grid tr.child td.hi{background:var(--accent-tint)}.grid tr.child.last td{border-bottom:1px solid var(--line)}.grid tr.child td:nth-child(2):before{content:"";position:absolute;left:10px;top:0;bottom:0;width:2px;background:var(--line-strong)}.grid tr.child.last td:nth-child(2):before{bottom:50%}.grid tr.child td:nth-child(2):after{content:"";position:absolute;left:10px;top:50%;width:8px;height:2px;background:var(--line-strong)}.grid tr.warn td{background:var(--warn-soft)}.grid tr.empty td{color:var(--muted);text-align:center;height:80px}.chev{color:var(--muted)}.chev-ic{display:inline-flex;width:18px;height:18px;align-items:center;justify-content:center;border-radius:5px;color:var(--muted);transition:transform .15s,background .12s}.chev-ic svg{width:12px;height:12px}tr.partner:hover .chev-ic{background:var(--accent-soft);color:var(--accent)}tr.partner.open .chev-ic{transform:rotate(90deg)}.count{display:inline-block;min-width:18px;padding:0 5px;height:18px;line-height:18px;border-radius:9px;background:var(--line);color:var(--text-2);font-size:11px;font-weight:600;text-align:center;margin-left:6px;vertical-align:1px}.partner-link{color:var(--text);text-decoration:none;font-weight:600}.partner-link:hover{color:var(--accent)}.day-wd{color:var(--muted);font-weight:400;margin-left:6px}.muted{color:var(--muted)}.small{font-size:12px;white-space:normal;max-width:460px}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.error{background:var(--neg-soft);color:#8a1c1c;padding:10px 14px;border-radius:var(--radius-sm);margin-bottom:12px;border:1px solid #f5c9c9}.notice{background:var(--accent-soft);color:var(--accent);padding:8px 14px;border-radius:var(--radius-sm);margin-bottom:12px;font-weight:500}.loading{color:var(--muted);display:inline-flex;align-items:center;gap:8px;margin-bottom:12px}.spinner{width:14px;height:14px;border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.tag{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.4px;padding:0 6px;height:18px;line-height:18px;border-radius:5px;margin-right:7px;vertical-align:1px}.tag.ssp{background:var(--ssp-soft);color:var(--ssp)}.tag.dsp{background:var(--dsp-soft);color:var(--dsp)}.status{display:inline-flex;align-items:center;gap:6px;padding:0 9px;height:22px;border-radius:11px;font-size:12px;font-weight:500;background:var(--line);color:var(--text-2)}.status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status.ok{background:var(--ssp-soft);color:var(--ssp)}.status.error{background:var(--neg-soft);color:var(--neg)}.status.running{background:var(--warn-soft);color:var(--warn-text)}.status.running:before{animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.3}}.pill{display:inline-block;padding:0 8px;height:20px;line-height:20px;border-radius:10px;font-size:11.5px;background:var(--line);color:var(--text-2)}.pill.manual{background:var(--accent-soft);color:var(--accent)}.period{position:relative}.period-btn{font-weight:500;gap:8px}.period-btn .period-icon{color:var(--accent)}.period-chev{width:11px;height:11px;margin-left:1px;color:var(--muted);transform:rotate(90deg);transition:transform .15s}.period-chev.open{transform:rotate(-90deg)}.period-pop{position:absolute;z-index:20;top:calc(100% + 6px);left:0;width:480px;max-width:calc(100vw - 280px);background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-pop);padding:14px 16px}.period-section+.period-section{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.period-title{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:600;margin-bottom:8px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip-sep{width:1px;align-self:stretch;margin:2px 6px;background:var(--line)}label.toggle{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:var(--panel);font-size:13px;cursor:pointer;white-space:nowrap}.chip{height:28px;padding:0 11px;border-radius:14px;font-size:13px;background:var(--panel-2);border-color:transparent;box-shadow:none;color:var(--text-2)}.chip:hover{background:var(--accent-soft);color:var(--accent);border-color:transparent}.chip.active{background:var(--accent);color:#fff}.chip.active:hover{background:var(--accent-hover);color:#fff}.period-range{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.grid.tree th:nth-child(1),.grid.tree td:nth-child(1){position:sticky;left:0;z-index:3;padding-right:0;width:36px}.grid.tree th:nth-child(2),.grid.tree td:nth-child(2){position:sticky;left:36px;z-index:3;min-width:220px;max-width:360px;overflow:hidden;text-overflow:ellipsis}.grid.tree tbody td:nth-child(2),.grid.tree thead td:nth-child(2){box-shadow:6px 0 8px -6px #10121e24}.grid.tree thead th:nth-child(1),.grid.tree thead th:nth-child(2){z-index:5}.grid.tree thead tr.total td:nth-child(1),.grid.tree thead tr.total td:nth-child(2){z-index:4}.grid.tree td.num{font-size:12.5px}.grid.tree th,.grid.tree td{padding:0 9px}.grid.tree td:nth-child(2){padding-left:12px}.grid.tree tr.child td:nth-child(2){padding-left:24px}.grid.plain tbody tr:hover td{background:var(--panel-2)}.grid.plain tbody tr.warn:hover td{background:#fff1d6}.grid.plain th{white-space:nowrap}.grid.plain select{height:30px}@media (max-width: 980px){.layout{grid-template-columns:188px 1fr}.content{padding:18px 20px 32px}.kpis{grid-template-columns:repeat(2,minmax(180px,1fr))}.period-pop{max-width:calc(100vw - 230px)}}.month-picker{display:inline-flex;align-items:center;gap:4px}.month-label{display:inline-flex;align-items:center;gap:6px}.month-label>svg{width:15px;height:15px;color:var(--accent)}.month-label select{font-weight:600;min-width:170px}.icon-btn{padding:0;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center}.icon-btn svg{width:15px;height:15px}.rot180{transform:rotate(180deg)}button.sm{padding:0 8px;height:26px;font-size:12px}select.sm{height:28px;font-size:12px;padding:0 6px;max-width:320px}tr.legal-row td{background:var(--panel-2)}.merge-list{max-height:260px;overflow:auto;margin-top:8px;display:flex;flex-direction:column;gap:2px}.cf-item.picked{background:var(--accent-soft);border-radius:8px}td.nowrap{white-space:nowrap}.grid.advertisers td.edit{padding:2px 4px}.cell-input{width:100%;min-width:92px;height:28px;border:1px solid transparent;background:transparent;border-radius:6px;padding:0 6px;font:inherit;text-align:right;font-variant-numeric:tabular-nums;color:inherit}.cell-input.text{text-align:left;min-width:160px}.cell-input:hover{border-color:var(--line);background:var(--panel)}.cell-input:focus{outline:none;border-color:var(--accent);background:var(--panel)}.grid.advertisers tr.company-first td{border-top:1px solid var(--line)}.grid.advertisers tr.company-next td{border-top:1px dashed var(--line)}.icon-btn.chev{width:22px;height:22px;padding:0}.chev-ic.open svg{transform:rotate(90deg)}.section-title{margin:24px 0 8px;font-size:15px;display:flex;align-items:center;gap:6px}button.sm svg{width:13px;height:13px}td.actions{white-space:nowrap;text-align:right}td.actions button+button{margin-left:6px}.block{display:block}.inline-ic{width:12px;height:12px;vertical-align:-1px}h2.section{font-size:14px;font-weight:600;margin:22px 0 8px;color:var(--text-2)}.pill.warn{background:#fff3cd;color:#7a4d00;margin-left:6px}.pill svg{width:11px;height:11px;vertical-align:-2px}.muted-row td{color:var(--muted)}.status.due{background:var(--accent-soft);color:var(--accent)}.status.paid{background:var(--ssp-soft);color:var(--ssp)}.status.carry{background:#fff3cd;color:#7a4d00}.status.negative{background:var(--neg-soft);color:#8a1c1c}.status.zero{opacity:.6}tr.st-due td:first-child{box-shadow:inset 3px 0 0 var(--accent)}tr.st-paid td:first-child{box-shadow:inset 3px 0 0 var(--ssp)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#14141e73;display:flex;align-items:flex-start;justify-content:center;padding:8vh 16px;z-index:100}.modal{background:var(--panel);border-radius:12px;width:520px;max-width:100%;box-shadow:0 20px 60px #00000040;display:flex;flex-direction:column;max-height:84vh}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font-size:16px;font-weight:600}.modal-body{padding:16px 18px;overflow:auto}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--line)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}.form-grid .field:nth-child(1){grid-column:1 / -1}.field{display:flex;flex-direction:column;gap:4px}.field-label{font-size:12px;font-weight:500;color:var(--muted)}.field-hint{font-size:11.5px;color:var(--muted)}.field input,.field select{width:100%}.field.check{flex-direction:row;align-items:center;gap:8px;grid-column:1 / -1;font-size:13px}.modal p.small{margin:12px 0 0}.status-chips{margin:-4px 0 12px}.chip .chip-n{display:inline-block;margin-left:6px;padding:0 6px;border-radius:9px;background:#00000014;font-size:11px;font-variant-numeric:tabular-nums}.chip.active .chip-n{background:#ffffff40}.fx-badge{display:flex;align-items:center;gap:8px;margin:0 2px 10px;padding:8px 8px 8px 10px;border-radius:var(--radius-sm);background:#ffffff0d;border:1px solid rgba(255,255,255,.07);color:var(--sidebar-text);font-size:11.5px;line-height:1.3}.fx-badge-body{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.fx-badge-rate{color:#e6e8f0;font-variant-numeric:tabular-nums;white-space:nowrap}.fx-badge-rate b{font-weight:600;color:var(--sidebar-active)}.fx-badge-meta{color:#6b7080;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fx-badge-btn{flex:none;width:26px;height:26px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:7px;color:var(--sidebar-text);box-shadow:none}.fx-badge-btn svg{width:13px;height:13px}.fx-badge-btn:hover{background:#ffffff1a;border-color:transparent;color:var(--sidebar-active)}.fx-badge-btn:disabled{opacity:.6;cursor:default}.fx-badge-btn.spin svg{animation:fx-spin .9s linear infinite}@keyframes fx-spin{to{transform:rotate(360deg)}}.fx-badge.stale{border-color:#ffb84d59;background:#ffb84d14}.fx-badge.stale .fx-badge-rate b{color:#ffcf7a}.fx-badge.stale .fx-badge-meta{color:#c9a25a}.fx-badge.error{border-color:#e65a5a59;background:#e65a5a14}.fx-badge.error .fx-badge-meta{color:#e08a8a}.sidebar-tail{margin-top:auto;display:flex;flex-direction:column}.sidebar-tail .sidebar-foot{margin-top:0}.chips-hint{align-self:center;margin-left:6px;font-size:12px}.grid th .th-inner{display:inline-flex;align-items:center;gap:2px}.col-filter{width:20px;height:20px;padding:0;margin-left:4px;border:0;border-radius:5px;background:transparent;box-shadow:none;color:var(--muted);opacity:.45;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}.col-filter svg{width:11px;height:11px}.col-filter:hover{opacity:1;background:var(--accent-soft);color:var(--accent);border:0}.col-filter.active{opacity:1;color:var(--accent);background:var(--accent-soft)}.col-filter.active svg{fill:currentColor}.col-filter-pop{position:fixed;z-index:60;width:240px;max-height:360px;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-pop);text-transform:none;letter-spacing:0;font-size:13px;font-weight:400;color:var(--text);cursor:default}.cf-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 8px;border-bottom:1px solid var(--line)}.cf-title{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:600}.cf-links{display:inline-flex;gap:8px}button.link{height:auto;padding:0;border:0;background:none;box-shadow:none;color:var(--accent);font-weight:500;font-size:12px}button.link:hover{background:none;text-decoration:underline}button.link:disabled{color:var(--muted);text-decoration:none}.cf-list{overflow:auto;padding:6px}.col-filter-pop:has(.cf-find){width:280px;max-height:440px}.cf-find{padding:8px 10px 6px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:6px}.cf-find input{width:100%;height:30px;font-size:13px}.cf-find .cf-links{display:flex;gap:12px}.cf-item{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:6px;color:var(--text);cursor:pointer}.cf-item:hover{background:var(--panel-2)}.cf-item.empty{color:var(--muted)}.cf-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cf-n{min-width:22px;text-align:center;padding:0 5px;height:18px;line-height:18px;border-radius:9px;background:var(--line);color:var(--text-2);font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}.cf-item.empty .cf-n{background:transparent;color:var(--muted)}.cf-empty{padding:10px;text-align:center}.grid.payouts td.ids{max-width:160px;overflow:hidden;text-overflow:ellipsis}input.readonly{background:var(--panel-2);color:var(--text-2);font-variant-numeric:tabular-nums;cursor:default}input.readonly:focus{border-color:var(--line-strong);box-shadow:none}@media (max-width: 899.98px){:root{--topbar-h: 56px;--th-h: 36px}body{overflow-x:clip}.layout{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr}.sidebar{display:block;position:sticky;top:0;z-index:50;height:auto;padding:8px 12px;box-shadow:0 1px #ffffff0f}.sidebar-top{min-height:40px}.brand{padding:0}.burger{display:inline-flex;width:40px;height:40px;padding:0;align-items:center;justify-content:center;flex:none;background:transparent;border-color:transparent;box-shadow:none;color:#fff;border-radius:8px;touch-action:manipulation}.burger svg{width:22px;height:22px}.burger:hover,.burger:active{background:#ffffff1a;border-color:transparent;transform:none}.menu-backdrop{display:block;position:fixed;left:0;right:0;top:var(--topbar-h);bottom:0;background:#10121e73;z-index:40}.sidebar-menu{display:none;position:absolute;left:0;right:0;top:100%;z-index:50;gap:14px;background:var(--sidebar);padding:6px 12px 14px;border-top:1px solid rgba(255,255,255,.08);box-shadow:0 16px 32px #0000004d;max-height:calc(100vh - var(--topbar-h));max-height:calc(100dvh - var(--topbar-h));overflow:auto;-webkit-overflow-scrolling:touch}.sidebar.open .sidebar-menu{display:flex}.sidebar nav a{padding:11px 10px;font-size:14px}.sidebar-tail{margin-top:0}.content{padding:12px 12px 32px}.page-header{flex-direction:column;align-items:stretch;gap:10px;margin-bottom:12px}.page-title{margin-right:0}.page-title h1{font-size:18px}.toolbar{width:100%;flex:none}.toolbar .search{flex:1 1 200px}.search input{width:100%}.toolbar .export{margin-left:0}.period-pop{max-width:calc(100vw - 24px)}.table-wrap{overflow:auto;max-height:calc(100vh - var(--topbar-h) - 24px);max-height:calc(100dvh - var(--topbar-h) - 24px);touch-action:pan-x pan-y}table.grid{font-size:13px}.grid th,.grid td{padding:0 8px;height:36px}.grid th{font-size:10.5px}.grid tr.child td{height:32px;font-size:12.5px}.grid.tree th,.grid.tree td{padding:0 7px}.grid.tree td.num{font-size:12.5px}.grid.tree th:nth-child(1),.grid.tree td:nth-child(1){width:28px}.grid.tree th:nth-child(2),.grid.tree td:nth-child(2){left:28px;min-width:140px;max-width:45vw;white-space:normal;overflow-wrap:anywhere;line-height:1.3;padding-top:6px;padding-bottom:6px}.grid.tree td:nth-child(2){padding-left:8px}.grid.tree tr.child td:nth-child(2){padding-left:20px}.grid.tree tr.child td:nth-child(2):before,.grid.tree tr.child td:nth-child(2):after{left:8px}.grid.plain th:first-child,.grid.plain td:first-child{position:sticky;left:0;z-index:3;background:var(--panel);min-width:120px;max-width:45vw;white-space:normal;overflow-wrap:anywhere;line-height:1.3;padding-top:6px;padding-bottom:6px;box-shadow:6px 0 8px -6px #10121e24}.grid.plain thead th:first-child{z-index:5;background:var(--panel-2)}.grid.plain tbody tr:hover td:first-child{background:var(--panel-2)}.grid.plain tr.warn td:first-child{background:var(--warn-soft)}.grid.plain tr.st-due td:first-child{box-shadow:inset 3px 0 0 var(--accent),6px 0 8px -6px #10121e24}.grid.plain tr.st-paid td:first-child{box-shadow:inset 3px 0 0 var(--ssp),6px 0 8px -6px #10121e24}.grid tr.empty td:first-child{position:static;max-width:none}.grid.plain thead th:last-child:empty,.grid.plain td.actions{position:sticky;right:0;z-index:3;background:var(--panel);box-shadow:-6px 0 8px -6px #10121e24}.grid.plain thead th:last-child:empty{z-index:5;background:var(--panel-2)}.grid.plain tbody tr:hover td.actions{background:var(--panel-2)}td.actions{padding-left:8px;padding-right:8px}td.actions button.sm{height:36px;min-width:36px;padding:0 10px;font-size:13px;touch-action:manipulation}td.actions button.sm svg{width:14px;height:14px}td.actions button+button{margin-left:8px}.col-filter{width:28px;height:28px;opacity:.7;margin-left:2px;touch-action:manipulation}.col-filter svg{width:13px;height:13px}.chev-ic{width:22px;height:22px}.grid.plain select{height:34px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.col-filter-pop{max-width:calc(100vw - 16px)}.cf-item{min-height:36px}}@media (max-width: 599.98px){:root{--ctl-h: 38px}.brand small{display:none}input:not([type=checkbox]),select{font-size:16px}.page-title .sub{white-space:normal}.toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.toolbar .spacer{display:none}.toolbar .search,.toolbar .period,.toolbar .month-picker,.toolbar .export,.toolbar>label,.toolbar .control-group,.toolbar .create-partner{grid-column:1 / -1}.toolbar>button,.toolbar>.btn,.toolbar .period-btn,.control-group .btn{width:100%;justify-content:center;min-width:0}.toolbar .search input{width:100%}.toolbar>select{width:100%}.month-picker{display:flex;gap:6px}.month-label{flex:1;min-width:0}.month-label select{width:100%;min-width:0}.month-picker .icon-btn{width:44px;height:var(--ctl-h);flex:none}.control-group{display:flex;flex-wrap:wrap;gap:8px}.control-group label,.control-group .btn{flex:1 1 100%}.create-partner input{width:100%;flex:1}.kpis{display:flex;overflow-x:auto;gap:10px;margin:0 -12px 12px;padding:0 12px 4px;scroll-snap-type:x mandatory;scroll-padding-left:12px;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}.kpis::-webkit-scrollbar{display:none}.kpi{flex:0 0 74vw;max-width:320px;scroll-snap-align:start;padding:10px 12px}.kpi .k-value{font-size:19px}.status-chips{flex-wrap:nowrap;overflow-x:auto;margin:-2px -12px 10px;padding:2px 12px;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}.status-chips::-webkit-scrollbar{display:none}.status-chips .chip{flex:none;height:32px}.chips-hint{white-space:nowrap}.grid.payouts td.actions .btn-label{display:none}.grid.payouts td.actions button.sm{width:38px;padding:0;justify-content:center}.grid.payouts td.actions button.sm svg{width:16px;height:16px}.modal-overlay{padding:0;align-items:stretch}.modal{width:100%!important;max-width:none;max-height:none;height:100%;border-radius:0}.modal-head{padding:12px 16px}.modal-head .icon-btn{width:36px;height:36px}.modal-body{flex:1;padding:14px 16px;-webkit-overflow-scrolling:touch}.modal-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.modal-foot button{flex:1;justify-content:center;height:42px}.form-grid{grid-template-columns:minmax(0,1fr)}.pop-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#10121e59;z-index:19}.period-pop{position:fixed;left:0;right:0;top:auto;bottom:0;width:auto;max-width:none;z-index:20;max-height:80vh;max-height:80dvh;overflow:auto;-webkit-overflow-scrolling:touch;border-radius:16px 16px 0 0;padding:14px 16px calc(16px + env(safe-area-inset-bottom))}.period-pop .chip{height:32px}.period-range input[type=date]{flex:1 1 120px;min-width:0}.period-range button{flex:1 1 100%;justify-content:center}.col-filter-pop{top:auto!important;left:0!important;right:0;bottom:0;width:auto;max-width:none;max-height:70vh;max-height:70dvh;border-radius:16px 16px 0 0}.cf-head{padding:12px 14px 10px}.cf-list{padding:8px 10px calc(8px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}.cf-item{min-height:42px;padding:6px 8px;font-size:14px}.cf-item input[type=checkbox]{width:18px;height:18px}}.sev-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--muted);vertical-align:middle;flex:none}.sev-dot.sev-error{background:var(--neg);box-shadow:0 0 0 3px var(--neg-soft)}.sev-dot.sev-warn{background:#e0a100;box-shadow:0 0 0 3px var(--warn-soft)}.sev-dot.sev-info{background:var(--dsp);box-shadow:0 0 0 3px var(--dsp-soft)}.kpi-btn{text-align:left;cursor:pointer;font:inherit;color:inherit;display:block;height:auto;transition:border-color .12s,box-shadow .12s}.kpi-btn:hover{background:var(--panel);border-color:var(--line-strong)}.kpi-btn.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.rc-chips .chip{text-transform:none}.chip.sev-chip{display:inline-flex;align-items:center;gap:6px;background:var(--accent-soft);color:var(--accent)}.chip.sev-chip svg{width:12px;height:12px}.bulk-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;margin-bottom:10px;background:var(--accent-tint);border:1px solid var(--accent-soft);border-radius:var(--radius-sm)}.grid.reconcile th.chk,.grid.reconcile td.chk{width:32px;padding-right:0}.grid.reconcile td.chk input,.grid.reconcile th.chk input{width:15px;height:15px;accent-color:var(--accent);vertical-align:middle;margin:0}.grid.reconcile td.sev{width:24px;padding:0 6px 0 4px}.grid.reconcile td.who{max-width:260px;overflow:hidden;text-overflow:ellipsis}.grid.reconcile td.who .small{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid.reconcile td.detail{white-space:normal;min-width:320px;max-width:640px;line-height:1.35;padding-top:7px;padding-bottom:7px;height:auto;color:var(--text-2)}.grid.reconcile td.detail>div:first-child{color:var(--text)}.grid.reconcile td.nowrap{white-space:nowrap}.grid.reconcile tr.sev-error td.sev{box-shadow:inset 3px 0 0 var(--neg)}.grid.reconcile tr.sev-warn td.sev{box-shadow:inset 3px 0 #e0a100}.grid.reconcile tr.selected td{background:var(--accent-tint)}.grid.reconcile tr.st-resolved td,.grid.reconcile tr.st-ignored td{color:var(--muted)}.grid.reconcile tr.st-resolved td.detail>div:first-child,.grid.reconcile tr.st-ignored td.detail>div:first-child{color:var(--text-2)}.code-pill{display:inline-block;padding:0 8px;height:22px;line-height:22px;border-radius:6px;font-size:12px;font-weight:500;background:var(--panel-2);border:1px solid var(--line);color:var(--text-2);white-space:nowrap}.grid.reconcile td.actions button .btn-icon{display:none}.rc-foot{max-width:none;margin-top:12px;line-height:1.5}.rc-legend{display:inline-flex;align-items:center;gap:6px;margin-left:12px;white-space:nowrap}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 899.98px){.grid.reconcile td.detail{min-width:240px;max-width:70vw}.grid.reconcile th.chk,.grid.reconcile td.chk{min-width:0;max-width:none;width:36px;padding:0 4px 0 10px;box-shadow:none}.grid.reconcile td.sev{padding-left:2px}.grid.reconcile td.who,.grid.reconcile td.who .small{max-width:180px}.grid.reconcile td.actions .btn-label{display:none}.grid.reconcile td.actions button .btn-icon{display:inline}.grid.reconcile td.actions button.sm{width:38px;padding:0;justify-content:center}.bulk-bar{position:sticky;top:var(--topbar-h);z-index:6}}.tip{position:fixed;z-index:1000;max-width:260px;padding:7px 10px;border-radius:8px;background:#1d1d24;color:#fff;font:400 12.5px/1.45 Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;letter-spacing:0;text-transform:none;text-align:left;white-space:pre-line;overflow-wrap:anywhere;cursor:default;box-shadow:0 8px 24px #10121e38,0 1px 3px #10121e24;pointer-events:none;opacity:0}.tip.wide{max-width:320px}.tip.shown{opacity:1;animation:tip-in .12s ease-out}.tip b{color:#fff;font-weight:600}.tip:after{content:"";position:absolute;left:var(--arrow-x, 50%);width:8px;height:8px;background:#1d1d24;transform:translate(-50%) rotate(45deg);border-radius:1px}.tip.top:after{bottom:-4px}.tip.bottom:after{top:-4px}@keyframes tip-in{0%{opacity:0;transform:translateY(2px)}}@media (prefers-reduced-motion: reduce){.tip.shown{animation:none}}.help{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;padding:0;margin-left:5px;flex:none;border:1px solid var(--line-strong);border-radius:50%;background:transparent;box-shadow:none;color:var(--muted);font-size:10px;font-weight:600;line-height:1;letter-spacing:0;text-transform:none;cursor:help;vertical-align:1px;transition:color .12s,border-color .12s,background .12s}.help:hover,.help:focus-visible{color:var(--accent);border-color:var(--accent);background:var(--accent-soft);transform:none}.help:active{transform:none}.grid th .help{margin-left:3px;opacity:.8}.grid th:hover .help{opacity:1}.field-label .help{vertical-align:-1px}@media (max-width: 899.98px){.help{width:20px;height:20px;font-size:11px;touch-action:manipulation}}.settings-tabs{margin:-4px 0 14px}.settings-tabs .chip{height:32px;padding:0 14px}.settings-kpis{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.settings-help{line-height:1.4}.settings-kpis .icon-btn{width:26px;height:26px}.settings-kpis .icon-btn.spin svg{animation:spin .8s linear infinite}.settings-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:12px}.settings-bar .spacer{flex:1}.settings-bar .small{max-width:640px}.settings-foot{margin-top:10px;max-width:none}.grid td.actions{text-align:right;white-space:nowrap;width:1%}.grid .num-input{width:72px;text-align:right;font-variant-numeric:tabular-nums}.grid .num-input.wide{width:96px}.grid .rate-input{width:110px;text-align:right}.grid .bin-input{width:90px;font-family:ui-monospace,SF Mono,Menlo,monospace}.grid tr.dirty td{background:var(--warn-soft)}.grid thead tr.add-row td{background:var(--panel-2);font-weight:400}.grid thead tr.add-row input{height:30px}.src-tag{display:inline-block;font-size:11.5px;padding:0 8px;height:20px;line-height:20px;border-radius:10px;background:var(--line);color:var(--text-2)}.src-tag.src-sheet{background:var(--ssp-soft);color:var(--ssp)}.src-tag.src-manual{background:var(--accent-soft);color:var(--accent)}.src-tag.src-auto{background:var(--warn-soft);color:var(--warn-text)}.costs-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:16px}.costs-head{width:100%;display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;height:auto;min-height:44px;padding:8px 14px;border:0;border-radius:var(--radius);background:transparent;box-shadow:none;text-align:left}.costs-head:hover{background:var(--panel-2)}.costs-chev{width:14px;height:14px;transition:transform .15s;color:var(--muted)}.costs-panel.open .costs-chev{transform:rotate(90deg)}.costs-title{font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--muted)}.costs-summary{font-size:12.5px;font-variant-numeric:tabular-nums}.costs-summary b{color:var(--text-2)}.costs-body{padding:0 14px 14px}.costs-meta{font-size:12.5px;margin-bottom:4px}.costs-sub{font-size:13px;font-weight:600;margin:12px 0 8px}.costs-wrap{box-shadow:none}.costs-empty{font-size:13px;padding:4px 0}.grid.costs tfoot td{font-weight:600;border-top:2px solid var(--line-strong);border-bottom:0;height:38px;padding:0 12px}.grid.costs tfoot td.hi{background:var(--accent-tint)}@media (max-width: 899px){.costs-body{padding:0 10px 10px}.costs-summary{flex-basis:100%}.settings-bar>input{flex:1 1 100%}.settings-bar .small{flex-basis:100%}}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f5f7fa}.auth-card{width:min(100%,440px);display:flex;flex-direction:column;gap:20px;background:#fff;padding:32px;border:1px solid #e1e6ee;border-radius:16px;box-shadow:0 16px 48px #172a4210}.auth-card h1{margin:0}.auth-card input{width:100%}.auth-card .field{display:flex;flex-direction:column;gap:8px}.sidebar-account{display:flex;flex-direction:column;gap:8px;padding:16px;overflow-wrap:anywhere}.user-actions{display:flex;flex-wrap:wrap;gap:6px}.audit-meta{white-space:pre-wrap;overflow-wrap:anywhere;max-height:360px;overflow:auto}
