:root{--bg:#f4f4f2;--surface:#fff;--border:#e4e3de;--border-strong:#cfcec8;--ink:#1c1c1a;--ink-2:#55544f;--ink-3:#8a8880;--accent:#159a8a;--accent-strong:#0f7568;--accent-wash:#e5f4f1;--accent-border:#b3ddd5;--danger:#b42318;--danger-wash:#fbebe9;--danger-border:#ecc8c4;--warn:#9a6700;--warn-wash:#fbf3df;--warn-border:#e8d5a7;--sidebar-bg:#123430;--sidebar-ink:#ffffffbd;--sidebar-ink-strong:#fff;--sidebar-active:#ffffff1a;--sidebar-accent:#3fbfae;--data-below:#2a78d6;--data-in:#898781;--data-above:#e34948;--data-own:#159a8a;--data-other:#c3c2b7;--map-own:#159a8a;--map-near:#eb6834;--map-other:#52514e;--case-post:#2a78d6;--case-ost:#1baf7a;--case-net:#898781;--chart-grid:#ebeae6;--chart-axis:#cfcec8;--radius:6px;--shadow:0 1px 2px #1c1c1a0d;color:var(--ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:14px}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg)}h1,h2,h3,p,dl,dd,dt,ul,figure{margin:0;padding:0}ul{list-style:none}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{min-width:960px;min-height:100vh}.sidebar{background:var(--sidebar-bg);width:224px;color:var(--sidebar-ink);z-index:20;flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-brand{border-bottom:1px solid #ffffff14;align-items:center;gap:10px;padding:18px 16px 16px;display:flex}.sidebar-logo-img{border-radius:7px;flex:none;display:block}.sidebar-title{color:var(--sidebar-ink-strong);letter-spacing:.04em;text-transform:uppercase;font-size:13px;font-weight:600}.sidebar-sub{margin-top:2px;font-size:11px;line-height:1.35}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:10px 8px;display:flex}.nav-item{border-radius:var(--radius);color:var(--sidebar-ink);border-left:2px solid #0000;align-items:center;gap:10px;padding:8px 10px;font-size:13.5px;text-decoration:none;display:flex}.nav-item:hover{color:var(--sidebar-ink-strong);background:#ffffff0f}.nav-item:focus-visible{outline:2px solid var(--sidebar-accent);outline-offset:-2px}.nav-item-active,.nav-item-active:hover{background:var(--sidebar-active);color:var(--sidebar-ink-strong);border-left-color:var(--sidebar-accent);font-weight:600}.sidebar-foot{color:#ffffff73;border-top:1px solid #ffffff14;padding:12px 16px;font-size:11px}.main{flex-direction:column;min-height:100vh;margin-left:224px;display:flex}.topbar{z-index:10;background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;height:52px;padding:0 24px;display:flex;position:sticky;top:0}.topbar-left{align-items:center;gap:16px;min-width:0;display:flex}.topbar-title{white-space:nowrap;font-size:14px;font-weight:600}.topbar-right{align-items:center;gap:14px;display:flex}.topbar-run{color:var(--ink-2);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12.5px}.topbar-user{border-left:1px solid var(--border);align-items:center;gap:10px;padding-left:14px;display:flex}.topbar-user-info{flex-direction:column;align-items:flex-end;line-height:1.2;display:flex}.topbar-user-name{font-size:12.5px;font-weight:600}.topbar-user-role{color:var(--ink-3);font-size:11px}.btn-logout{padding:5px 11px}.content{flex:1;width:100%;max-width:1280px;padding:24px}.page,.page-body{flex-direction:column;gap:16px;display:flex}.page-narrow{max-width:920px}.page-h h1{font-size:20px;font-weight:600}.page-sub{color:var(--ink-3);margin-top:3px;font-size:12.5px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.card-h{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.card-h h2{font-size:14px;font-weight:600}.card-note{color:var(--ink-3);font-size:12px}.card-table{overflow-x:auto}.no-runs{color:var(--ink-2);padding:28px 20px;font-size:13.5px}.notice{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--ink-2);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:13px;display:flex}.notice-error{border-color:var(--danger-border);color:var(--ink)}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}@media (width<=1180px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px 14px}.kpi-label{color:var(--ink-2);font-size:12px}.kpi-value{margin-top:4px;font-size:24px;font-weight:600;line-height:1.25}.kpi-hero .kpi-value{margin-top:6px;font-size:48px;line-height:1.05}.kpi-note{color:var(--ink-3);margin-top:4px;font-size:11.5px;line-height:1.4}.share-bar{gap:2px;height:20px;margin-top:10px;display:flex}.share-bar-empty{background:var(--bg);border-radius:4px}.share-seg{min-width:3px}.share-seg:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.share-seg:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.share-seg:hover{filter:brightness(1.1)}.share-seg:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.share-legend{color:var(--ink-2);gap:3px;margin-top:10px;font-size:12px;display:grid}.share-legend li{grid-template-columns:10px minmax(0,1fr) auto 46px;align-items:center;gap:7px;display:grid}.share-legend strong{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.share-legend-pct{text-align:right;color:var(--ink-3);font-variant-numeric:tabular-nums}.fill-below{background:var(--data-below);fill:var(--data-below)}.fill-in{background:var(--data-in);fill:var(--data-in)}.fill-above{background:var(--data-above);fill:var(--data-above)}.fill-own{background:var(--data-own)}.fill-other{background:var(--data-other)}.legend{color:var(--ink-2);flex-wrap:wrap;gap:4px 16px;font-size:12px;display:flex}.legend-item{align-items:center;gap:6px;display:inline-flex}.swatch{border-radius:2px;flex:none;width:10px;height:10px}.swatch-below{background:var(--data-below)}.swatch-in{background:var(--data-in)}.swatch-above{background:var(--data-above)}.swatch-own{background:var(--data-own)}.swatch-other{background:var(--data-other)}.swatch-map-own,.swatch-map-near,.swatch-map-other{border-radius:50%;width:11px;height:11px}.swatch-map-own{background:var(--map-own)}.swatch-map-near{background:var(--map-near)}.swatch-map-other{background:var(--map-other)}.mark{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.shape{flex:none;width:0;height:0;display:inline-block}.shape-above{border:5px solid #0000;border-top:0;border-bottom:8px solid var(--data-above)}.shape-below{border:5px solid #0000;border-bottom:0;border-top:8px solid var(--data-below)}.shape-in{background:var(--data-in);border-radius:50%;width:8px;height:8px;margin:0 1px}.charts{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}@media (width<=1180px){.charts{grid-template-columns:minmax(0,1fr)}}.chart-card{min-width:0}.chart-h{flex-wrap:nowrap;align-items:flex-start}.chart-hint{color:var(--ink-3);margin-top:2px;font-size:12px;line-height:1.4}.chart-legend{margin-bottom:8px}.chart-empty{text-align:center;color:var(--ink-3);padding:32px 0;font-size:13px}.hist{overflow:hidden}.hist svg{display:block}.hist text{fill:var(--ink-3);font-variant-numeric:tabular-nums;font-size:12px}.hist text.value{fill:var(--ink);font-weight:600}.hist .gridline{stroke:var(--chart-grid);stroke-width:1px}.hist .axis{stroke:var(--chart-axis);stroke-width:1px}.hist .bar-hit{fill:#0000;outline:none}.hist .col:hover .bar,.hist .col:focus-within .bar{filter:brightness(1.12)}.hist .bar-hit:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.chain-list{gap:2px;display:grid}.chain-row{border-radius:var(--radius);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(120px,200px) minmax(0,1fr);align-items:center;gap:12px;width:100%;padding:3px 6px;font-size:12.5px;display:grid}.chain-row:hover{background:var(--bg)}.chain-row:hover .track-fill,.chain-row:focus-visible .track-fill{filter:brightness(1.1)}.chain-row:focus-visible,.price-row:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.chain-row-selected,.chain-row-selected:hover{background:var(--accent-wash)}.chain-name,.price-name{align-items:baseline;gap:6px;min-width:0;display:flex}.chain-title,.price-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chain-name small,.price-name small{color:var(--ink-3);white-space:nowrap;flex:none;font-size:11.5px}.chain-row-selected .chain-title,.price-row-own .price-title{font-weight:600}.track{--room:58px;--len:calc((50% - var(--room)) * var(--ratio,0));height:22px;display:block;position:relative}.track-zero{background:var(--chart-axis);width:1px;position:absolute;top:-3px;bottom:-3px;left:50%}.track-fill{height:14px;width:var(--len);min-width:2px;position:absolute;top:4px}.track-val{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px;font-weight:600;line-height:16px;position:absolute;top:3px}.track-right .track-fill{border-radius:0 4px 4px 0;left:50%}.track-right .track-val{left:calc(50% + var(--len) + 6px)}.track-left .track-fill{border-radius:4px 0 0 4px;right:50%}.track-left .track-val{right:calc(50% + var(--len) + 6px)}.axis-caption{color:var(--ink-3);grid-template-columns:minmax(120px,200px) minmax(0,1fr);gap:12px;padding:8px 6px 0;font-size:12px;display:grid}.axis-ends{justify-content:space-between;display:flex}.notes h2{margin-bottom:8px;font-size:14px;font-weight:600}.notes ul{max-width:920px;color:var(--ink-2);padding-left:18px;font-size:13px;line-height:1.55;list-style:outside}.notes li+li{margin-top:4px}.notes strong{color:var(--ink);font-weight:600}.tip{z-index:1200;pointer-events:none;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);max-width:280px;padding:8px 10px;font-size:12px;position:fixed;top:0;left:0;box-shadow:0 2px 8px #1c1c1a1f}.tip-value{color:var(--ink);font-size:13px;font-weight:600}.tip-line{color:var(--ink-2)}.refetching{opacity:.55;pointer-events:none;transition:opacity .15s}.status-dot{background:var(--ink-3);border-radius:50%;flex:none;width:7px;height:7px}.status-mark{white-space:nowrap;align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.status-ok .status-dot,.job-running .status-dot{background:var(--accent)}.job-error .status-dot{background:var(--danger)}.tag{border:1px solid var(--border-strong);color:var(--ink-2);vertical-align:1px;white-space:nowrap;border-radius:4px;margin-left:6px;padding:0 5px;font-size:11px;display:inline-block}.btn{border-radius:var(--radius);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;align-items:center;gap:7px;padding:6px 13px;font-size:13px;font-weight:600;display:inline-flex}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}.btn-outline{background:var(--surface);border-color:var(--border-strong);color:var(--ink)}.btn-outline:hover:not(:disabled){border-color:var(--ink-3);background:var(--bg)}.btn-sm{padding:4px 10px;font-size:12px}.btn-danger{color:var(--danger)}.btn-danger:hover:not(:disabled){border-color:var(--danger-border);background:var(--danger-wash)}.select,.input{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);min-height:32px;padding:6px 9px;font-size:13px}.select:focus,.input:focus,.btn:focus-visible,.seg-item:focus-visible,.th-sort:focus-visible,.link:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.field{flex-direction:column;gap:4px;display:flex}.field-label{color:var(--ink-2);font-size:11.5px}.filters{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-wrap:wrap;align-items:flex-end;gap:12px;padding:12px 14px;display:flex}.filters-actions{align-items:flex-end;gap:10px;margin-left:auto;display:flex}.filter-scope{width:250px}.filter-mapped{width:220px}.filter-number{width:132px}.filter-run{width:130px}.seg{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);display:inline-flex;overflow:hidden}.seg-item{cursor:pointer;color:var(--ink-2);border:none;border-right:1px solid var(--border);white-space:nowrap;background:0 0;padding:6px 12px;font-size:12.5px}.seg-item:last-child{border-right:none}.seg-item:hover{background:var(--bg)}.seg-item:focus-visible{outline-offset:-2px}.seg-active,.seg-active:hover{background:var(--accent-wash);color:var(--accent-strong);font-weight:600}.form-error{color:var(--danger);margin-top:8px;font-size:12.5px}.form-notice{color:var(--accent-strong);margin-top:8px;font-size:12.5px}.check{cursor:pointer;align-items:center;gap:7px;font-size:13px;display:inline-flex}.check input{width:15px;height:15px;accent-color:var(--accent)}.link{color:var(--accent-strong);font-weight:600;text-decoration:none}.link:hover{text-decoration:underline}.table{border-collapse:collapse;width:100%;font-size:13px}.table th{text-align:left;color:var(--ink-2);border-bottom:1px solid var(--border-strong);white-space:nowrap;padding:0;font-size:11.5px;font-weight:600}.table th.th-plain{padding:10px 14px}.table th.num{text-align:right}.th-sort{width:100%;text-align:inherit;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:10px 14px;display:block}.th-sort:hover{color:var(--ink);background:var(--bg)}.th-sort:focus-visible{outline-offset:-2px}.sort-arrow{width:10px;color:var(--accent-strong);margin-left:4px;display:inline-block}.table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:9px 14px}.table tbody tr:last-child td{border-bottom:none}.table .num,.table td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.table-compact th.th-plain,.table-compact .th-sort{padding:8px 10px}.table-compact td{padding:7px 10px}.table-scroll{overflow-x:auto}.row-link{cursor:pointer}.row-link:hover td,.row-link:focus-visible td{background:#f8f8f6}.row-link:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.cell-title{font-weight:600}.cell-sub{color:var(--ink-3);margin-top:2px;font-size:12px;font-weight:400}.products-card{padding-bottom:8px}.table-tools{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.table-search{width:300px}.table-tools-gap{flex:1}.products-scroll{border-top:1px solid var(--border);margin:0 -16px}.products-table th .th-sort,.products-table td{padding-left:7px;padding-right:7px}.products-table th:first-child .th-sort,.products-table td:first-child{padding-left:16px}.products-table th:last-child .th-sort,.products-table td:last-child{padding-right:16px}.products-table th:first-child,.products-table td:first-child{z-index:1;background:var(--surface);box-shadow:1px 0 0 var(--border);position:sticky;left:0}.cell-product{min-width:180px}.cell-product-inner{overflow-wrap:anywhere;max-width:360px}.cell-product .cell-title{font-weight:400}.cell-index{white-space:nowrap}.mini{vertical-align:middle;width:44px;height:8px;margin-left:6px;display:inline-block;position:relative}.mini:before{content:"";background:var(--chart-axis);width:1px;position:absolute;top:-2px;bottom:-2px;left:50%}.mini b{height:8px;position:absolute;top:0}.mini-right{border-radius:0 2px 2px 0;left:50%}.mini-left{border-radius:2px 0 0 2px;right:50%}.more{justify-content:center;padding:14px 0 8px;display:flex}.only-narrow,.only-mnarrow,.only-xnarrow{display:none}@media (width<=1279px){.only-wide{display:none!important}.only-narrow{display:revert}}@media (width<=1399px){.only-mid{display:none!important}.only-mnarrow{display:revert}}@media (width<=1599px){.only-xwide{display:none!important}.only-xnarrow{display:revert}}.near-products-who{margin-top:2px;font-size:13px}.stats-row{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-rows:auto auto;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-flow:column;gap:2px 12px;margin-bottom:12px;padding:12px 0;display:grid}.stats-row>div,.panel-stats>div{display:contents}.stats-row dt{color:var(--ink-2);align-self:end;font-size:11.5px;line-height:1.25}.stats-row dd{font-size:18px;font-weight:600;line-height:1.3}.near-products-hint{margin:-4px 0 12px}.cell-cheapest{min-width:150px}.cell-cheapest-inner{max-width:200px}.cell-cheapest .cell-sub{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width<=1339px){.near-products-table .cell-product{min-width:140px}.near-products-table .cell-cheapest-inner{max-width:150px}.near-products-table .mini{display:none}}@media (width<=1180px){.near-products-scroll{max-height:calc(100vh - 160px);overflow:auto}.near-products-table thead th{z-index:2;background:var(--surface);position:sticky;top:0}.near-products-table thead th:first-child{z-index:3}}.modal-overlay{z-index:1100;background:#12343057;justify-content:center;align-items:flex-start;padding:40px 20px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;width:100%;max-width:780px;display:flex;box-shadow:0 12px 40px #1234303d}.modal:focus{outline:none}.modal-h{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px 12px;display:flex}.modal-h-text{min-width:0}.modal-h h2{overflow-wrap:anywhere;font-size:16px;font-weight:600;line-height:1.3}.modal-sub{color:var(--ink-3);margin-top:3px;font-size:12.5px}.modal-body{padding:16px 20px 20px}.dlg-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:4px;display:grid}.dlg-stats dt,.panel-stats dt{color:var(--ink-2);font-size:12px}.dlg-stats dd{margin-top:2px;font-size:20px;font-weight:600;line-height:1.3}.dlg-section{border-top:1px solid var(--border);margin-top:18px;padding-top:16px}.dlg-section h3,.panel-sub{margin-bottom:8px;font-size:13px;font-weight:600}.dlg-section-h{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.dlg-section-h h3{margin-bottom:0}.dlg-note{margin-top:8px}.dlg-own-hint{margin:-4px 0 6px}.dlg-section .table td:first-child,.dlg-section .table th:first-child{padding-left:0}.dlg-section .table td:last-child,.dlg-section .table th:last-child{padding-right:0}.price-list{gap:1px;display:grid}.price-row{border-radius:var(--radius);grid-template-columns:minmax(120px,220px) minmax(0,1fr);align-items:center;gap:12px;margin:0 -4px;padding:2px 4px;font-size:12.5px;display:grid}.price-row:hover{background:var(--bg)}.price-row:hover .price-fill,.price-row:focus-visible .price-fill{filter:brightness(.94)}.price-track{--len:calc((100% - 76px) * var(--ratio,0));height:20px;display:block;position:relative}.price-fill{height:12px;width:var(--len);border-radius:0 4px 4px 0;min-width:2px;position:absolute;top:4px;left:0}.price-val{left:calc(var(--len) + 6px);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px;font-weight:600;line-height:16px;position:absolute;top:2px}.map-grid{--map-h:clamp(420px, calc(100vh - 318px), 760px);grid-template-columns:minmax(0,2fr) minmax(340px,1fr);gap:16px;display:grid}.map-card{min-width:0;padding:0;overflow:hidden}.map-legend{border-bottom:1px solid var(--border);padding:10px 14px}.map-wrap{z-index:0;position:relative}.map-canvas{height:var(--map-h);font:inherit;background:#e9e8e3}.map-canvas:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.map-panel{min-height:320px;padding:0;position:relative}.map-panel-scroll{padding:14px 16px 16px;position:absolute;inset:0;overflow-y:auto}.leaflet-container .pin{stroke:#fff;stroke-width:2px;stroke-opacity:1;fill-opacity:1}.leaflet-container .pin-other{fill:var(--map-other)}.leaflet-container .pin-near{fill:var(--map-near)}.leaflet-container .pin-own{fill:var(--map-own);cursor:pointer}.leaflet-container .pin:hover,.leaflet-container .pin-active{stroke:var(--ink)}.leaflet-container .map-radius{stroke:var(--map-own);stroke-opacity:.9;fill:var(--map-own);fill-opacity:.08}.leaflet-container .map-tip{border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--ink);white-space:normal;width:max-content;max-width:260px;padding:8px 10px;font-family:inherit;font-size:12px;line-height:1.4;box-shadow:0 2px 8px #1c1c1a1f}.leaflet-container .map-tip:before{display:none}.leaflet-container .leaflet-control-attribution{color:var(--ink-2);font-size:11px}.leaflet-container .leaflet-control-attribution a{color:var(--ink-2)}.leaflet-container .leaflet-bar a{color:var(--ink)}.panel-h{margin-bottom:12px}.panel-h h2{overflow-wrap:anywhere;font-size:14px;font-weight:600}.panel-back{margin-bottom:12px}.panel-table{table-layout:fixed;width:calc(100% + 12px);margin:0 -6px}.panel-table th,.panel-table th.num{white-space:normal;vertical-align:bottom;line-height:1.25}.panel-table th.num{width:86px}.panel-table .th-sort{padding:6px}.panel-table td{padding:8px 6px}.panel-stats{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-rows:auto auto;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:column;gap:2px 10px;margin-bottom:14px;padding:12px 0;display:grid}.panel-stats dt{align-self:end;font-size:11.5px;line-height:1.25}.panel-stats dd{font-size:18px;font-weight:600;line-height:1.3}.near-list{display:grid}.near-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;gap:12px;margin:0 -6px;padding:9px 6px;font-size:13px;display:grid}.near-row:last-child{border-bottom:none}.near-row:hover,.near-row:focus-visible{background:#f8f8f6}.near-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.near-name{color:var(--ink-2);overflow-wrap:anywhere;margin-top:1px}.near-side{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.near-distance{font-weight:600}.near-gap{align-items:center;gap:6px;margin-top:3px;display:inline-flex}.dl{flex-direction:column;display:flex}.dl-row{border-bottom:1px solid var(--border);grid-template-columns:220px minmax(0,1fr);gap:12px;padding:8px 0;font-size:13px;display:grid}.dl-row:last-of-type{border-bottom:none}.dl-row dt{color:var(--ink-2)}.settings-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.settings-block{border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.settings-block-label{margin-bottom:8px}.settings-form{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.settings-form .field{min-width:180px}.row-actions{flex-wrap:wrap;gap:6px 8px;max-width:250px;display:flex}.user-locked{margin-top:3px;display:flex}.users-table th.th-plain,.users-table td{padding-left:10px;padding-right:10px}.users-table th:first-child,.users-table td:first-child{padding-left:0}.users-table th:last-child,.users-table td:last-child{width:1%;padding-right:0}.user-editor-row td:first-child{padding:10px 12px 12px}.user-editor-who{margin-bottom:8px;font-size:12.5px;font-weight:600}.user-editor-row td{background:var(--bg)}.user-editor{flex-wrap:wrap;align-items:flex-end;gap:12px;padding:4px 0;display:flex}.user-editor .field{min-width:150px}.user-editor-active{margin-bottom:7px}.user-editor-actions{gap:8px;margin-bottom:1px;display:flex}.skel-group{flex-direction:column;gap:10px;padding:4px 0;display:flex}.skel{background:#ececea;border-radius:4px}.error-box{background:var(--surface);border:1px solid var(--danger-border);border-radius:var(--radius);padding:16px}.error-title{margin-bottom:4px;font-weight:600}.error-msg{color:var(--ink-2);margin-bottom:12px;font-size:13px}.empty-box{background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius);text-align:center;color:var(--ink-3);padding:26px 16px;font-size:13px}.spin{animation:1.1s linear infinite rotate;display:inline-flex}@keyframes rotate{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spin{animation:none}.refetching{transition:none}}.login-screen{background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:14px;width:100%;max-width:360px;padding:26px 24px 24px;display:flex;box-shadow:0 4px 20px #1234301a}.login-brand{align-items:center;gap:12px;margin-bottom:4px;display:flex}.login-logo{border-radius:10px;flex:none;display:block}.login-title{letter-spacing:.02em;font-size:17px;font-weight:700}.login-sub{color:var(--ink-3);margin-top:2px;font-size:11.5px;line-height:1.35}.login-error{margin-top:0}.login-submit{justify-content:center;margin-top:4px;padding:9px 13px}.login-foot{color:var(--ink-3);font-size:11.5px}.auth-loading{min-height:100vh;color:var(--ink-3);justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex}.etalon-filters .file-buttons{align-items:center;min-height:32px}.file-buttons{flex-wrap:wrap;gap:6px;display:flex}.file-buttons .btn{gap:5px;font-weight:500}.file-buttons .btn svg{color:var(--ink-3)}.file-group .form-error{margin-top:4px}.run-now{align-items:center}.run-note{max-width:320px;color:var(--ink-2);text-align:right;font-size:12.5px;line-height:1.35}.run-note-refused{color:var(--ink)}.etalon-status{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:12.5px;line-height:1.45}.etalon-warn{color:var(--ink);background:var(--surface);border:1px solid var(--warn-border);border-radius:var(--radius);align-items:flex-start;gap:7px;padding:9px 12px;font-size:13px;line-height:1.4;display:flex}.warn-icon{color:var(--warn);flex:none;display:inline-flex}.etalon-warn .warn-icon{margin-top:2px}.kpi-grid-6{grid-template-columns:repeat(6,minmax(0,1fr))}@media (width<=1279px){.kpi-grid-6{grid-template-columns:repeat(3,minmax(0,1fr))}}.kpi-label-mark{align-items:center;gap:6px;display:inline-flex}.kpi-share{color:var(--ink-3);margin-left:7px;font-size:13px;font-weight:400}.kpi-warn{border-color:var(--warn-border)}.fill-case-post,.swatch-case-post{background:var(--case-post)}.fill-case-ost,.swatch-case-ost{background:var(--case-ost)}.fill-case-net,.swatch-case-net{background:var(--case-net)}.cat-legend-row,.cat-row{grid-template-columns:minmax(110px,170px) minmax(0,1fr) 64px;align-items:center;gap:12px;display:grid}.cat-legend-row{padding:0 6px}.cat-legend-row .chart-legend{grid-column:1/3}.cat-legend-total{color:var(--ink-2);text-align:right;margin-bottom:8px;font-size:12px}.cat-list{gap:1px;display:grid}.cat-row{border-radius:var(--radius);cursor:pointer;padding:3px 6px;font-size:12.5px}.cat-row:hover{background:var(--bg)}.cat-row-selected,.cat-row-selected:hover{background:var(--accent-wash)}.cat-name{text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;min-width:0;padding:2px 0;font-size:12.5px;overflow:hidden}.cat-name:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:2px}.cat-row-selected .cat-name{font-weight:600}.cat-bar{gap:2px;height:14px;display:flex}.cat-seg{min-width:3px}.cat-seg:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.cat-row:hover .cat-seg,.cat-seg:focus-visible{filter:brightness(1.08)}.cat-seg:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.cat-total{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink-2)}.row-selected td,.row-selected:hover td{background:var(--accent-wash)}.etalon-tabs-h{flex-wrap:wrap}.seg-count{color:var(--ink-3);font-variant-numeric:tabular-nums;margin-left:6px;font-weight:400}.chip-row{align-items:center;gap:8px;font-size:12.5px;display:flex}.chip-label{font-weight:600}.chip{border:1px solid var(--accent-border);background:var(--accent-wash);color:var(--accent-strong);cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.chip:hover{border-color:var(--accent)}.chip:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.field-inline{flex-direction:row;align-items:center;gap:8px}.etalon-shown,.etalon-tools-msg{margin:-4px 0 10px}.etalon-more-error{text-align:center;margin-bottom:8px}.etalon-table th,.etalon-table th.num{white-space:normal;vertical-align:bottom;line-height:1.25}.etalon-table .cell-cat{white-space:nowrap}.etalon-table .cell-artikul{white-space:nowrap;font-variant-numeric:tabular-nums}.etalon-table .cell-product{min-width:200px}.etalon-table .cell-product-inner{max-width:320px}.etalon-all-table .cell-product{min-width:170px}.etalon-all-table .cell-product-inner{max-width:260px}.cell-guid{color:var(--ink-2);white-space:nowrap;-webkit-user-select:all;user-select:all;font-family:ui-monospace,Consolas,Cascadia Mono,monospace;font-size:11.5px}.cell-price{font-weight:600}.cell-basis{min-width:120px;max-width:190px;line-height:1.3}.mark-wrap{white-space:normal;align-items:flex-start}.mark-wrap .warn-icon{margin-top:1px}.cell-change{white-space:nowrap}.change-val{font-variant-numeric:tabular-nums}.change-word{color:var(--ink-3);font-size:12px}.cell-muted{color:var(--ink-3)}.modal-wide{max-width:980px}.pair-sub{flex-wrap:wrap;align-items:center;gap:0 4px;line-height:1.8;display:inline-flex}.guid-text{color:var(--ink-2);-webkit-user-select:all;user-select:all;font-family:ui-monospace,Consolas,Cascadia Mono,monospace;font-size:12px}.btn-xs{margin-left:6px;padding:1px 8px;font-size:11.5px;font-weight:600}.dlg-stats dd.dlg-stat-text{padding-top:4px;font-size:14px;line-height:1.35}.dlg-stats dd .change-mark{font-size:20px}.line-chart{overflow:hidden}.line-chart svg{display:block}.line-chart text{fill:var(--ink-3);font-variant-numeric:tabular-nums;font-size:12px}.line-chart text.value{fill:var(--ink);font-weight:600}.line-chart .gridline{stroke:var(--chart-grid);stroke-width:1px}.line-chart .axis{stroke:var(--chart-axis);stroke-width:1px}.line-chart .crosshair{stroke:var(--ink-3);stroke-width:1px}.line-chart .line{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.line-chart .dot{fill:var(--accent);stroke:var(--surface);stroke-width:2px}.line-chart .hit-layer{fill:#0000}.line-chart .point-hit{fill:#0000;pointer-events:none;outline:none}.line-chart .point-hit:focus-visible{stroke:var(--accent);stroke-width:2px}.history-table th,.history-table th.num{white-space:normal;vertical-align:bottom;line-height:1.25}.ping-row{align-items:center;margin-top:10px}.status-wrap{white-space:normal}.etalon-job-error{margin:0 0 8px}.backfill-hint{margin:-4px 0 10px}.etalon-cities-table td{vertical-align:top}.etalon-cities-table th:first-child,.etalon-cities-table td:first-child{padding-left:0}.etalon-cities-table th:last-child,.etalon-cities-table td:last-child{padding-right:0}.etalon-cities-table .file-buttons{max-width:220px}.login-h{font-size:16px;font-weight:600;line-height:1.3}.login-text{color:var(--ink-2);margin-top:4px;font-size:13px;line-height:1.45}.login-code{letter-spacing:.12em;font-variant-numeric:tabular-nums;font-size:18px}.login-back{color:var(--accent-strong);cursor:pointer;background:0 0;border:0;align-self:center;padding:2px 6px;font-size:13px;font-weight:600}.login-back:hover:not(:disabled){text-decoration:underline}.login-back:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:2px}.login-back:disabled{opacity:.55;cursor:default}.login-steps{flex-direction:column;gap:14px;margin:0;padding:0;font-size:13px;line-height:1.45;list-style:none;display:flex}.login-steps li{grid-template-columns:22px minmax(0,1fr);gap:10px;display:grid}.login-step-no{background:var(--accent-wash);width:22px;height:22px;color:var(--accent-strong);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.login-step-body{flex-direction:column;gap:8px;min-width:0;padding-top:1px;display:flex}.login-qr{border:1px solid var(--border);border-radius:var(--radius);background:#fff;width:200px;max-width:100%;height:200px;display:block}.login-secret-label{color:var(--ink-3);font-size:12px}.login-secret{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.login-secret code{letter-spacing:.04em;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;font-family:ui-monospace,Consolas,Cascadia Mono,monospace;font-size:13px}.login-secret .btn-xs{margin-left:0}.login-hint{color:var(--ink-3);font-size:12px;line-height:1.4}@media (width<=480px){.login-screen{justify-content:flex-start;padding:24px 16px}.login-card{padding:22px 18px 20px}}@media (width<=1279px){.etalon-table .cell-guid{font-size:10.5px}.etalon-table .cell-product{min-width:170px}}
