@import url('/static/base.css');
:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--theme-info,#182f45);background:var(--theme-surface,#f3f5f8);font-size:16px;font-synthesis:none;--ink:#182f45;--muted:#718194;--line:#e5eaf0;--accent:#2574dc;--nav:#142d44;--good:#247559;--bad:#c74f53;--radius:14px}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible{outline:3px solid var(--theme-info-border,#86b3ef);outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid var(--theme-info-border,#8bb3e9);outline-offset:1px}svg{flex-shrink:0}button svg{vertical-align:middle}h1,h2,h3,p{margin:0}h1{font-size:29px;line-height:1.24;font-weight:650;letter-spacing:-.8px}h2{font-size:18px;font-weight:650;line-height:1.5;letter-spacing:-.2px}h3{font-size:16px;font-weight:650}small{font-size:12px}button{border:0;background:none;color:inherit}.boot{min-height:100vh;min-height:100svh;padding:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;color:var(--muted)}.boot h2{color:var(--ink)}.boot p{max-width:440px;line-height:1.6}.app-shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:var(--nav);color:var(--theme-info,#cfdae5);padding:28px 16px 18px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:11px;padding:0 12px 30px;color:white;font-size:26px;font-weight:700;letter-spacing:-.8px}.brand img{width:35px;height:35px}.workspace{border:1px solid var(--theme-info-border,#456075);border-radius:9px;margin:0 5px 25px;padding:12px;display:flex;gap:10px;align-items:center;font-size:14px}.workspace strong{display:block;color:var(--theme-ink,#f3f7fa);font-weight:500}.workspace small{display:block;color:var(--theme-info,#9aafbf);margin-top:4px}.workspace-icon{height:29px;width:29px;border-radius:7px;background:var(--theme-info-bg,#2b475e);display:grid;place-items:center;color:var(--theme-info,#bcddff)}.nav-label{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;font-weight:600;color:var(--theme-info,#93a8b9);padding:15px 13px 9px}.nav-item{display:flex;gap:12px;align-items:center;padding:11px 13px;margin:2px 0;border-radius:8px;font-size:14px;color:var(--theme-info,#c2cfda);transition:background .15s}.nav-item svg{opacity:.8}.nav-item:hover{background:var(--theme-info-bg,#223f57);color:white}.nav-item.active{background:var(--theme-info-bg,#2d4a61);color:white}.nav-item.active svg{color:var(--theme-good,#c3f08f);opacity:1}.nav-item .counter{margin-left:auto;background:var(--theme-good-bg,#d5eeb7);color:var(--theme-good,#214427);font-size:11px;padding:2px 6px;border-radius:5px}.nav-bottom{margin-top:auto;border-top:1px solid var(--theme-info-border,#365064);padding-top:15px}.local-label{display:flex;gap:8px;align-items:center;font-size:12px;padding:8px 12px;color:var(--theme-info,#9db2c3)}.local-label .dot{background:var(--theme-good-bg,#bedf9d)}.main{min-width:0}.topbar{height:76px;background:var(--theme-surface,#fff);border-bottom:1px solid var(--line);padding:0 34px;display:flex;justify-content:space-between;align-items:center;gap:16px}.breadcrumb{display:flex;gap:12px;font-size:14px;color:var(--muted);align-items:center}.breadcrumb b{color:var(--ink);font-weight:500}.top-actions{display:flex;gap:13px;align-items:center}.workspace-toggle{padding:7px 11px;border:1px solid var(--line);border-radius:7px;font-size:13px;white-space:nowrap}.workspace-toggle.demo{background:var(--theme-warning-bg,#fff5dc);border-color:var(--theme-warning-border,#f2d38c);color:var(--theme-warning,#77561f)}.avatar{width:34px;height:34px;background:var(--theme-surface-raised,#e7edf4);border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:600}.main-content{padding:30px 34px 46px;max-width:1680px;margin:auto}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:23px}.page-heading p{font-size:14px;color:var(--muted);margin-top:8px;line-height:1.6}.heading-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:9px 14px;border:1px solid var(--theme-border,#dbe3ea);border-radius:8px;background:var(--theme-surface,#fff);font-size:14px;font-weight:550;line-height:1.3;white-space:nowrap;transition:.15s}.button:hover{border-color:var(--theme-info-border,#9bb1c5);box-shadow:0 2px 5px var(--theme-shadow-color,#223e5010)}.button.primary{background:var(--nav);color:var(--theme-on-accent,#fff);border-color:var(--nav)}.button.primary:hover{background:var(--theme-info-bg,#28475f)}.button.soft{background:var(--theme-surface,#eaf1fb);border-color:transparent;color:var(--theme-info,#2964b2)}.button.danger{color:var(--bad);border-color:var(--theme-bad-border,#efc9cb)}.button.small{min-height:30px;font-size:13px;padding:6px 10px}.button.link{border-color:transparent;background:none;color:var(--theme-info,#3476c8);padding-left:0}.icon-button{height:34px;width:34px;display:grid;place-items:center;border-radius:7px}.icon-button:hover{background:var(--theme-surface-raised,#edf1f6)}.segmented{display:inline-flex;padding:4px;background:var(--theme-surface-raised,#e6ebf0);border-radius:9px;gap:3px}.segmented button{padding:8px 16px;font-size:14px;border-radius:6px;color:var(--theme-muted,#607085);white-space:nowrap}.segmented button.active{background:var(--theme-surface,#fff);color:var(--theme-info,#1c3953);box-shadow:0 1px 4px var(--theme-shadow-color,#263b5314)}.toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:22px;flex-wrap:wrap}.filter-set{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.filter-set select,.filter-set input{border:1px solid var(--theme-border,#dde5ed);border-radius:8px;background:var(--theme-surface,#fff);padding:9px 11px;color:var(--theme-info,#3d5368);font-size:14px;min-height:38px;max-width:220px}.filter-set .period{width:137px}.range-separator{color:var(--theme-muted,#8b99a9);font-size:13px}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.kpi{background:var(--theme-surface,#fff);border:1px solid var(--line);border-radius:var(--radius);padding:20px 20px 18px;min-height:143px;position:relative}.kpi.focus{background:var(--nav);color:white;border-color:var(--nav)}.kpi-label{font-size:14px;color:var(--theme-muted,#728193);display:flex;justify-content:space-between;align-items:center;gap:8px}.focus .kpi-label{color:var(--theme-info,#c0cfdb)}.kpi-value{font-size:30px;letter-spacing:-1px;font-weight:630;line-height:1.25;margin:15px 0 12px;white-space:nowrap}.kpi-value .unit{font-size:21px;font-weight:450;color:var(--theme-info,#9bacc0);margin-left:4px}.kpi-foot{font-size:12px;color:var(--theme-muted,#8291a2);display:flex;gap:8px;align-items:center;line-height:1.4}.focus .kpi-foot{color:var(--theme-info,#c4d1db)}.delta{display:inline-flex;align-items:center;gap:3px;color:var(--good);background:var(--theme-surface-raised,#e9f5ee);padding:3px 6px;border-radius:5px;font-size:12px}.delta.negative{color:var(--bad);background:var(--theme-surface,#fff0ee)}.focus .delta{color:var(--theme-good,#c5f197);background:var(--theme-good-bg,#375744)}.grid-main{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr);gap:20px;margin-bottom:22px}.panel{background:var(--theme-surface,#fff);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:21px 22px 10px}.panel-header p{font-size:12px;color:var(--muted);margin-top:4px}.panel-body{padding:16px 22px 22px}.panel-footer{padding:13px 22px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px}.legend{display:flex;gap:17px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--theme-muted,#78889a)}.legend span{display:flex;align-items:center;gap:6px}.legend i{display:inline-block;width:8px;height:8px;border-radius:2px;background:var(--theme-info-bg,#428ddd)}.legend .profit{background:var(--theme-good-bg,#90bfac)}.legend .cost{background:var(--theme-info-bg,#acb8c8)}.chart{display:block;width:100%;height:250px;overflow:visible}.chart text{font-size:12px;fill:var(--theme-muted,#8190a1)}.chart-grid{stroke:var(--theme-grid,#ebeff4);stroke-dasharray:3 4}.chart-bar{fill:var(--theme-info,#70a4e7)}.chart-bar.last{fill:var(--theme-info,#276fd0)}.chart-line{fill:none;stroke:var(--theme-good,#2d8c75);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.chart-empty{min-height:228px;display:flex;align-items:center;justify-content:center;color:var(--theme-muted,#8595a7);font-size:14px;background:repeating-linear-gradient(0deg,var(--theme-surface,#fff),var(--theme-surface,#fff) 54px,var(--theme-surface,#f0f3f7) 55px,var(--theme-surface,#fff) 56px)}.donut-wrap{display:flex;align-items:center;gap:24px;padding:4px 0 20px}.donut{width:144px;height:144px;position:relative;flex-shrink:0;border-radius:50%;display:grid;place-items:center}.donut:after{content:'';position:absolute;inset:22px;border-radius:50%;background:white}.donut-center{position:relative;z-index:1;text-align:center;font-size:21px;font-weight:630;letter-spacing:-.6px}.donut-center small{display:block;color:var(--muted);font-weight:400;font-size:12px;letter-spacing:0;margin-bottom:4px}.cost-list{display:grid;gap:13px;width:100%}.cost-row{display:grid;grid-template-columns:10px 1fr auto;gap:9px;align-items:center;font-size:13px}.cost-row i{height:8px;width:8px;border-radius:2px}.cost-row b{font-weight:550;font-variant-numeric:tabular-nums}.insight{display:flex;align-items:flex-start;gap:11px;padding:14px 0;border-bottom:1px solid var(--theme-border,#eef1f5)}.insight:last-child{border:0;padding-bottom:0}.insight-icon{height:32px;width:32px;display:grid;place-items:center;border-radius:8px;background:var(--theme-warning-bg,#fff0e1);color:var(--theme-warning,#b57b36);flex-shrink:0}.insight-icon.red{background:var(--theme-surface,#fceced);color:var(--theme-bad,#c55359)}.insight-icon.blue{background:var(--theme-surface,#eaf1fb);color:var(--theme-info,#4b7db9)}.insight strong{font-size:14px;font-weight:550;display:block;line-height:1.45}.insight p{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.5}.insight a{margin-left:auto;padding-top:8px;color:var(--theme-muted,#7188a0)}.badge{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:12px;padding:4px 7px;border-radius:5px;background:var(--theme-surface,#edf2f8);color:var(--theme-muted,#61758e);line-height:1.3}.badge.green{color:var(--theme-good,#276a50);background:var(--theme-surface-raised,#eaf5ee)}.badge.orange{color:var(--theme-warning,#a4712f);background:var(--theme-warning-bg,#fff2df)}.badge.red{color:var(--theme-bad,#b54e56);background:var(--theme-surface,#fcecef)}.badge.blue{color:var(--theme-info,#316cac);background:var(--theme-surface,#eaf1fb)}.badge.gray{color:var(--theme-muted,#788697);background:var(--theme-surface,#f0f3f6)}.dot{height:6px;width:6px;display:inline-block;border-radius:50%;background:currentColor}.meta-strip{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--theme-muted,#78899a);margin:18px 0 0;flex-wrap:wrap}.table-wrap{width:100%;overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:14px;white-space:nowrap}.data-table th{padding:12px 20px;background:var(--theme-surface,#f8fafc);font-size:12px;font-weight:500;text-align:left;color:var(--theme-muted,#7a8a9a);border-bottom:1px solid var(--line)}.data-table td{padding:15px 20px;border-bottom:1px solid var(--theme-border,#edf1f5);vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:var(--theme-surface,#fafcfe)}.data-table .number{text-align:right;font-variant-numeric:tabular-nums}.data-table .highlight td{background:var(--theme-surface,#f0f5fb);font-weight:600}.data-table .total td{background:var(--theme-surface,#edf3fa);font-weight:650;border-top:1px solid var(--theme-info-border,#d7e2ee)}.data-table .dim td{color:var(--theme-muted,#7c8b9c)}.data-table .sticky{position:sticky;left:0;z-index:2;background:var(--theme-surface,#fff)}.data-table th.sticky{background:var(--theme-surface,#f8fafc)}.data-table td:first-child{white-space:normal;min-width:155px}.product-name{display:flex;gap:11px;align-items:center;min-width:210px;max-width:330px}.product-thumb{height:36px;width:36px;background:var(--theme-surface-raised,#edf2f7);border-radius:9px;display:grid;place-items:center;flex-shrink:0;color:var(--theme-muted,#7188a0)}.product-name strong{font-size:14px;font-weight:550;line-height:1.4;display:block}.product-name small{font-size:12px;color:var(--theme-muted,#8493a3);display:block;margin-top:3px}.mp-icon{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;flex-shrink:0;border-radius:7px;font-size:10px;font-weight:750;color:white;letter-spacing:-.4px}.mp-icon.wb{background:#a746b3}.mp-icon.ozon{background:#296ad8}.mp-icon.yandex{background:#f6cf46;color:#352c16}.cabinet-label{display:flex;align-items:center;gap:10px}.sparkline{display:block;width:86px;height:28px}.positive{color:var(--theme-good,#28765a)}.negative{color:var(--theme-bad,#bf5259)}.muted{color:var(--muted)}.empty{padding:45px 22px;text-align:center}.empty .empty-icon{width:54px;height:54px;display:grid;place-items:center;background:var(--theme-surface-raised,#ecf2f8);border-radius:15px;color:var(--theme-info,#577a9c);margin:0 auto 18px}.empty h2{font-size:21px;letter-spacing:-.4px}.empty p{font-size:14px;line-height:1.7;color:var(--muted);max-width:520px;margin:10px auto 20px}.empty-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:20px 0}.step{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:22px}.step-number{height:30px;width:30px;border:1px solid var(--theme-border,#dce5ed);border-radius:50%;display:grid;place-items:center;color:var(--theme-info,#718ba1);font-size:13px;margin-bottom:17px}.step h3{margin-bottom:7px}.step p{color:var(--muted);font-size:14px;line-height:1.6;margin-bottom:15px}.banner{border:1px solid var(--theme-warning-border,#e6cf98);background:var(--theme-warning-bg,#fff8e9);border-radius:10px;padding:13px 17px;font-size:14px;color:var(--theme-warning,#826128);line-height:1.5;margin-bottom:20px;display:flex;align-items:flex-start;gap:10px}.banner.info{background:var(--theme-surface,#edf4fc);border-color:var(--theme-info-border,#d6e4f5);color:var(--theme-info,#456d99)}.banner svg{margin-top:1px}.banner a{font-weight:600;text-decoration:underline}.demo-banner{background:var(--theme-warning-bg,#fff4d9);border-bottom:1px solid var(--theme-warning-border,#edd9aa);padding:9px 34px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px;color:var(--theme-warning,#7c602c)}.demo-banner button{text-decoration:underline;font-size:13px}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--theme-border,#dfe6ee);margin-bottom:25px;overflow:auto}.tabs button{padding:0 0 13px;border-bottom:2px solid transparent;font-size:14px;white-space:nowrap;color:var(--muted)}.tabs button.active{border-color:var(--theme-info-border,#223e55);color:var(--theme-info,#223e55);font-weight:600}.connection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.connection-card{background:var(--theme-surface,#fff);border:1px solid var(--line);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;min-height:211px}.connection-card h3{font-size:15px}.connection-top{display:flex;align-items:center;gap:10px;margin-bottom:15px}.connection-top .mp-icon{width:34px;height:34px}.connection-card p{font-size:13px;line-height:1.6;color:var(--muted);margin-top:10px}.connection-card .card-actions{margin-top:auto;display:flex;gap:8px;padding-top:19px}.connection-card .badge{align-self:flex-start}.connection-card .error-text{font-size:12px;color:var(--theme-bad,#bb5053);max-height:55px;overflow:hidden}.integration-detail{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);gap:22px}.guide{background:var(--theme-surface-raised,#eaf0f7);border-radius:var(--radius);padding:24px}.guide p,.guide li{font-size:14px;line-height:1.75;color:var(--theme-info,#52697e);margin:12px 0}.guide ol{padding-left:20px}.guide a{color:var(--theme-info,#2771bf);text-decoration:underline}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field.full{grid-column:1/-1}.field label{font-size:14px;color:var(--theme-info,#506579);font-weight:550}.field input,.field select,.field textarea{width:100%;border:1px solid var(--theme-border,#d9e2ea);border-radius:8px;background:white;padding:11px 12px;min-height:42px;color:var(--theme-info,#203b54);font-size:14px}.field textarea{resize:vertical;min-height:96px;line-height:1.65}.field small{font-size:12px;color:var(--theme-muted,#8a98a7);line-height:1.5}.form-actions{display:flex;gap:9px;justify-content:flex-end;border-top:1px solid var(--line);padding-top:19px;margin-top:24px;flex-wrap:wrap}.form-error{font-size:14px;line-height:1.6;color:var(--theme-bad,#b04750);background:var(--theme-surface,#fff0f0);padding:12px 14px;border-radius:7px;grid-column:1/-1}.form-error:empty{display:none}.checkbox{display:flex;gap:9px;align-items:flex-start;font-size:14px;line-height:1.5;color:var(--theme-muted,#52677a)}.checkbox input{width:16px;height:16px;margin-top:3px;flex-shrink:0}.secret-label{color:var(--theme-good,#559275);font-size:12px;margin-left:5px}.upload-area{border:1.5px dashed var(--theme-info-border,#b7c8da);border-radius:12px;background:var(--theme-surface,#f8fbff);padding:27px;display:flex;align-items:center;gap:19px;margin-bottom:21px}.upload-area.drag{background:var(--theme-info-bg,#e1edf9);border-color:var(--theme-info-border,#4277aa)}.upload-area .upload-icon{height:47px;width:47px;border-radius:11px;display:grid;place-items:center;background:var(--theme-info-bg,#e6eff9);color:var(--theme-info,#5e85ac)}.upload-area p{font-size:13px;color:var(--muted);margin-top:6px;line-height:1.5}.upload-area .button{margin-left:auto}.section-gap{margin-top:22px}.section-gap-lg{margin-top:30px}.search-field{border:1px solid var(--theme-border,#e0e6ed);border-radius:8px;padding:9px 12px;font-size:14px;max-width:270px;background:white}.settings-note{border-top:1px solid var(--line);padding-top:18px;margin-top:24px;font-size:13px;color:var(--muted);line-height:1.7}.issue-risk{display:flex;gap:10px;align-items:center}.risk-meter{width:50px;height:5px;background:var(--theme-surface-raised,#f1e4e5);border-radius:3px;overflow:hidden}.risk-meter i{height:100%;display:block;background:var(--theme-bad-bg,#d27b7b)}.file-name{max-width:370px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.raw-json{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--theme-surface,#f6f8fb);padding:16px;border-radius:9px;max-height:350px;overflow:auto;font-size:12px;line-height:1.65;color:var(--theme-muted,#61758c)}.details summary{cursor:pointer;font-size:14px;color:var(--theme-info,#416f9f);padding:9px 0}.separator{height:1px;background:var(--line);margin:23px 0}.fineprint{font-size:12px;color:var(--theme-muted,#7e8e9f);line-height:1.65}.row-actions{display:flex;align-items:center;gap:8px}.inline-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.inline-kpis>div{border:1px solid var(--line);border-radius:9px;padding:15px}.inline-kpis strong{display:block;font-size:20px;font-weight:600;margin-top:7px}.inline-kpis span{font-size:12px;color:var(--muted)}dialog{border:0;border-radius:18px;width:min(760px,calc(100vw - 32px));max-height:90vh;box-shadow:0 24px 90px var(--theme-shadow-color,#071c4050);padding:0;color:var(--ink);background:var(--theme-surface,#fff)}dialog::backdrop{background:var(--theme-overlay,#132b4166);backdrop-filter:blur(3px)}dialog.wide{width:min(1060px,calc(100vw - 32px))}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:25px 28px 20px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--theme-surface,#fff);z-index:3}.modal-header h2{font-size:21px}.modal-header p{font-size:13px;color:var(--muted);margin-top:6px}.modal-body{padding:25px 28px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(100px);opacity:0;background:var(--theme-info-bg,#17364d);color:var(--theme-ink,#fff);border-radius:10px;padding:14px 20px;font-size:14px;box-shadow:0 8px 25px var(--theme-shadow-color,#102d4030);transition:.2s;z-index:100;width:max-content;max-width:90vw;line-height:1.5}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.toast.error{background:var(--theme-bad-bg,#873d47)}.mobile-menu{display:none}.progress-line{height:3px;background:linear-gradient(90deg,var(--theme-info-bg,#507fbc),var(--theme-info-bg,#b8d9ef));animation:pulse 1.5s ease-in-out infinite}.job-note{padding:10px 14px;background:var(--theme-surface,#eaf2fb);color:var(--theme-info,#4c739b);border-radius:8px;font-size:13px;margin-bottom:14px}.empty-row{padding:30px!important;color:var(--theme-muted,#8391a0);text-align:center!important;font-size:14px}.num-tab{font-variant-numeric:tabular-nums}@keyframes pulse{50%{opacity:.45}}@media(min-width:1600px){.main-content{padding:34px 42px}.topbar{padding:0 42px}.kpi-value{font-size:34px}.chart{height:280px}}@media(max-width:1250px){.main-content{padding:24px}.topbar{padding:0 24px}.grid-main{grid-template-columns:minmax(0,1.55fr) minmax(270px,1fr)}.kpi-value{font-size:26px}.kpi{padding:18px 15px}.donut-wrap{gap:15px}.donut{width:119px;height:119px}.donut:after{inset:18px}.cost-row{font-size:12px}.connection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell{grid-template-columns:208px minmax(0,1fr)}.sidebar{padding-left:11px;padding-right:11px}.grid-main .panel-header{align-items:flex-start}.grid-main .legend{gap:8px}.donut-wrap{flex-wrap:wrap;justify-content:center}.cost-list{padding-top:4px}}@media(max-width:1000px){.grid-main{grid-template-columns:1fr}.donut-wrap{flex-wrap:nowrap}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-value{font-size:30px}.integration-detail{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.step{display:block}.page-heading{flex-wrap:wrap}.chart{height:260px}}@media(max-width:720px){.app-shell{display:block}.sidebar{position:fixed;left:-250px;width:224px;transition:left .2s}.sidebar.open{left:0;box-shadow:10px 0 50px var(--theme-shadow-color,#173a4b40)}.mobile-menu{display:grid}.topbar{padding:0 16px;height:62px}.breadcrumb>span:first-child,.breadcrumb .crumb-separator{display:none}.top-actions{gap:8px}.avatar{display:none}.main-content{padding:24px 16px}.demo-banner{padding:10px 16px;gap:10px;font-size:12px}.page-heading{gap:15px}.page-heading h1{font-size:25px}.page-heading p{font-size:13px}.kpi-grid{gap:11px}.kpi{padding:17px 14px;min-height:140px}.kpi-label{font-size:12px}.kpi-label svg{display:none}.kpi-value{font-size:25px;white-space:normal;margin-top:17px}.kpi-value .unit{font-size:17px}.kpi-foot{font-size:11px;flex-wrap:wrap;gap:5px}.filter-set{gap:6px}.filter-set select{font-size:13px;max-width:172px;padding:9px}.filter-set .period{width:125px}.toolbar{align-items:stretch}.segmented{width:100%}.segmented button{flex:1;padding:9px 10px;font-size:13px}.panel-header{padding:18px 17px 8px;flex-wrap:wrap}.panel-body{padding:15px 17px}.grid-main{gap:16px}.data-table td,.data-table th{padding:13px 16px}.connection-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.modal-header{padding:20px}.modal-body{padding:20px}.upload-area{flex-wrap:wrap;padding:20px}.upload-area .button{margin-left:0}.heading-actions{width:100%}.tabs{gap:19px}.tabs button{font-size:13px}.inline-kpis{grid-template-columns:1fr 1fr}.cost-row{font-size:13px}.meta-strip{font-size:11px}.search-field{max-width:100%;width:100%}.chart{height:220px}.section-gap-lg{margin-top:23px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

@media(max-width:720px){.kpi-value{font-size:24px;line-height:1.25}.kpi{min-height:150px}}

/* Cabinet management and catalog controls */
.cost-config {border:1px solid var(--border, #dce4eb);border-radius:12px;padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cost-config h3 {grid-column:1/-1;margin:0 0 6px;font-size:15px}
.formula-text {line-height:1.7;overflow-wrap:anywhere;font-size:14px}
.catalog-search {width:100%;box-sizing:border-box;margin:12px 0;padding:12px 14px;border:1px solid var(--theme-border,#dce4eb);border-radius:10px;background:white;color:var(--theme-info,#173042)}
.history-job {padding:16px 0;border-bottom:1px solid var(--theme-border,#dce4eb)}
.button.danger {color:var(--theme-bad,#b63d4a)}
.card-actions {flex-wrap:wrap}
@media(max-width:600px){.cost-config{grid-template-columns:1fr}.cost-config .field{grid-column:1/-1}.toolbar[data-form=online-period]{align-items:stretch}}
/* Upload progress is driven by bytes transferred and completed file checks. */
.upload-progress{margin:20px 0;padding:18px;border:1px solid var(--theme-info-border,#dce5ee);border-radius:14px;background:var(--theme-surface,#f7f9fc)}
.upload-progress-heading{display:flex;justify-content:space-between;gap:12px}
.upload-progress progress{display:block;width:100%;height:14px;margin:12px 0;accent-color:#2563eb;border:0;border-radius:10px;overflow:hidden}
.upload-progress progress::-webkit-progress-bar{background:var(--theme-surface-raised,#e3eaf3);border-radius:10px}
.upload-progress progress::-webkit-progress-value{background:var(--theme-info-bg,#2563eb);border-radius:10px;transition:width .2s}
.upload-progress.processing progress::-webkit-progress-value{background:linear-gradient(110deg,var(--theme-info-bg,#2563eb),var(--theme-info-bg,#7bb6f4),var(--theme-info-bg,#2563eb));background-size:200% 100%;animation:upload-shimmer 1.6s linear infinite}
.upload-progress p{margin:8px 0;font-size:13px;color:var(--theme-info,#53697e)}
.upload-progress ol{max-height:190px;overflow:auto;padding-left:22px;font-size:12px;overflow-wrap:anywhere}
.upload-progress li{margin:8px 0}.upload-progress .complete{color:var(--theme-good,#247753)}.upload-progress .failed{color:var(--theme-bad,#b63e4e)}
.mapping-list{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:8px;font-size:12px}.mapping-list dt,.mapping-list dd{margin:0;overflow-wrap:anywhere}
@keyframes upload-shimmer{to{background-position:-200% 0}}
@media(prefers-reduced-motion:reduce){.upload-progress.processing progress::-webkit-progress-value{animation:none}}

body.page-loading::before{content:"";position:fixed;z-index:200;top:0;left:0;right:0;height:3px;pointer-events:none;background:linear-gradient(90deg,transparent,var(--theme-info-bg,#6c94bb),transparent) -100% 0/50% 100% no-repeat;animation:page-wait 1.5s ease-in-out infinite}@keyframes page-wait{to{background-position:200% 0}}@media(prefers-reduced-motion:reduce){body.page-loading::before{animation:none;background-position:center}}
.connection-group{margin:24px 0 30px}
.connection-group-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.connection-group-header>div{display:flex;align-items:center;gap:12px;min-width:0}
.connection-group-header h2{font-size:18px;margin:0;overflow-wrap:anywhere}
.connection-group-count{font-size:12px;color:var(--muted);white-space:nowrap}
.connection-group-header>.button{flex-shrink:0}
@media(max-width:500px){.connection-group-header>div{align-items:flex-start;flex-direction:column;gap:4px}}

.toast[popover]{inset:auto auto 24px 50%;margin:0;border:0;overflow:visible;z-index:2000}.toast::backdrop{background:transparent;pointer-events:none}.connection-proxy-summary{background:var(--theme-surface,#f5f7fa);padding:16px;border-radius:8px}.connection-proxy-summary p{font-size:14px;margin:8px 0 12px}

/* Navigation stays usable while only the page data refreshes. */
.page-data-placeholder{display:flex;align-items:center;gap:10px;padding:24px;color:var(--muted);min-height:84px;}
[data-page-refresh]:empty{display:none;}
