:root{--bg-primary: #ffffff;--bg-secondary: #fafafa;--bg-tertiary: #f3f4f5;--bg-nav: #fafafa;--bg-hover: rgba(34, 34, 34, .05);--bg-selected: #feeded;--border: #e0e0e0;--border-strong: #cacaca;--text-primary: #222222;--text-secondary: #525252;--text-tertiary: #6d6d6d;--text-quaternary: #a3a3a3;--text-inverse: #ffffff;--accent-blue: #ed0600;--accent-blue-bg: #feeded;--accent-info: #0084ff;--accent-info-bg: #e5f2ff;--accent-green: #00a354;--accent-green-bg: #e0f0e4;--accent-amber: #b78000;--accent-amber-bg: #fdf2d9;--accent-red: #ed0600;--accent-red-bg: #feeded;--accent-purple: #6d4bdb;--accent-purple-bg: #efebff;--accent-teal: #0e8a8a;--accent-teal-bg: #e3f5f5;--accent-orange: #f97316;--accent-orange-bg: #ffe7d4;--accent-pink: #ec4899;--accent-pink-bg: #fde2f0;--radius-sm: 4px;--radius: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-pill: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .08);--shadow-modal: 0 24px 64px rgba(0, 0, 0, .18), 0 2px 8px rgba(0, 0, 0, .06);--shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 2px 4px rgba(0, 0, 0, .04);--shadow-lg: 0 8px 16px rgba(20, 44, 61, .05), 0 2px 4px rgba(20, 44, 61, .04);--shadow-focus: 0 0 0 3px rgba(0, 132, 255, .25);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font-display: "DM Sans", "Inter", sans-serif;--text-display: 32px;--text-h1: 24px;--text-h2: 18px;--text-h3: 14px;--text-body: 14px;--text-small: 12px;--text-micro: 10px;--leading-tight: 1.2;--leading: 1.45;--leading-loose: 1.6;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--space-2xs: 2px;--space-xs: 4px;--space-sm: 8px;--space: 12px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--brand-mobilesentrix: #1032cf;--brand-mobilesentrix-bg: #e5e9f8;--brand-foneday: #2f3f63;--brand-foneday-bg: #e4e7f0;--brand-mobileparts: #1a1a1a;--brand-mobileparts-bg: #e1f1f8;--brand-utopya: #1a237e;--brand-utopya-bg: #e8e9f5;--brand-gsmparts: #d02428;--brand-gsmparts-bg: #fce2e3;--brand-gsmpartscenter: #d02428;--brand-gsmpartscenter-bg: #fce2e3;--brand-faro: #3d6caa;--brand-faro-bg: #e4ecf6;--brand-ifixit: #0071bc;--brand-ifixit-bg: #e0eef7;--brand-repairwiki: #457b9d;--brand-repairwiki-bg: #e4ecf3;--brand-reamaze: #b78000;--brand-reamaze-bg: #fdf2d9;--brand-gsmarena: #fb9b1f;--brand-gsmarena-bg: #fff1e0;--brand-chatwoot: #1f93ff;--brand-chatwoot-bg: #e0f0ff;--brand-hello: #6b7280;--brand-hello-bg: #e5e7eb}body.dark{--bg-primary: #1a1a1a;--bg-secondary: #141414;--bg-tertiary: #222222;--bg-nav: #0f0f0f;--bg-hover: rgba(255, 255, 255, .05);--bg-selected: #3a0a0a;--border: #2e2e2e;--border-strong: #444444;--text-primary: #f5f5f5;--text-secondary: #cacaca;--text-tertiary: #a3a3a3;--text-quaternary: #6d6d6d;--text-inverse: #222222;--accent-blue: #f87171;--accent-blue-bg: #3a0a0a;--accent-info: #66b2ff;--accent-info-bg: #0a1f36;--accent-green: #4ade80;--accent-green-bg: #0f2419;--accent-amber: #f59e0b;--accent-amber-bg: #2b1f0f;--accent-red: #f87171;--accent-red-bg: #3a0a0a;--accent-purple: #a390ff;--accent-purple-bg: #241e3b;--accent-teal: #4dd4d4;--accent-teal-bg: #0f2626;--accent-orange: #fb923c;--accent-orange-bg: #2a190a;--accent-pink: #f472b6;--accent-pink-bg: #2c0d1f;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 4px 16px rgba(0, 0, 0, .45);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .55);--brand-mobilesentrix: #7c9bff;--brand-mobilesentrix-bg: #0f1840;--brand-foneday: #8da0c8;--brand-foneday-bg: #181e2e;--brand-mobileparts: #cfd2d4;--brand-mobileparts-bg: #2a2a2a;--brand-utopya: #7a82c8;--brand-utopya-bg: #15184f;--brand-gsmparts: #f2787b;--brand-gsmparts-bg: #3d1014;--brand-gsmpartscenter: #f2787b;--brand-gsmpartscenter-bg: #3d1014;--brand-faro: #82a8d2;--brand-faro-bg: #162437;--brand-ifixit: #4ea4d9;--brand-ifixit-bg: #0e2538;--brand-repairwiki: #7fa5c2;--brand-repairwiki-bg: #13222e;--brand-reamaze: #e0b048;--brand-reamaze-bg: #3a2a00;--brand-gsmarena: #ffa64d;--brand-gsmarena-bg: #2a1a0a;--brand-chatwoot: #5fb0ff;--brand-chatwoot-bg: #0e2a40;--brand-hello: #9ca3af;--brand-hello-bg: #1f2937}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-h3);line-height:1.45;-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01";overscroll-behavior:none}.scroll-body,.m-list,.m-detail-col,.cand-panel,.d-head,.sidebar,.our-card,.table-wrap{overscroll-behavior:contain}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;padding:0}a{color:inherit;text-decoration:none}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}*{scrollbar-width:thin;scrollbar-color:transparent transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:transparent;border-radius:8px;transition:background .14s ease}*:hover{scrollbar-color:color-mix(in srgb,var(--text-tertiary) 45%,transparent) transparent}*:hover::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text-tertiary) 45%,transparent)}*::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--text-tertiary) 70%,transparent)}.i{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;display:inline-block;vertical-align:middle}.i-sm{width:14px;height:14px;stroke-width:1.7}.i-xs{width:12px;height:12px;stroke-width:1.8}.app{display:grid;grid-template-columns:var(--sidebar-w, 232px) 1fr;grid-template-rows:100vh;height:100vh;background:var(--bg-nav);overflow:hidden;position:relative}.resize-handle{cursor:col-resize;position:relative}.resize-handle-line{position:absolute;top:0;bottom:0;width:1px;background:var(--border);transition:background .12s ease}.resize-handle:hover .resize-handle-line,.resize-handle.resizing .resize-handle-line{background:var(--accent-blue)}.sidebar-resize{position:absolute;top:0;left:var(--sidebar-w, 232px);width:4px;height:100%;margin-left:-2px;z-index:40}.sidebar-resize .resize-handle-line{left:50%;margin-left:-.5px}.mobile-menu-trigger,.mobile-menu-backdrop{display:none}.mobile-menu-trigger{position:fixed;top:max(env(safe-area-inset-top,0px),10px);left:max(env(safe-area-inset-left,0px) + 6px,14px);z-index:60;width:36px;height:36px;align-items:center;justify-content:center;padding:0;border:0;border-radius:12px;background:color-mix(in srgb,var(--bg-primary) 64%,transparent);backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);box-shadow:0 0 0 1px color-mix(in srgb,var(--text-primary) 10%,transparent),0 6px 16px -8px #0000002e,0 1px 2px #00000014;color:var(--text-primary);cursor:pointer;transition:transform .26s cubic-bezier(.34,1.56,.64,1),background-color .18s ease,box-shadow .2s ease}.mobile-menu-trigger:hover{background:color-mix(in srgb,var(--bg-primary) 88%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--text-primary) 14%,transparent),0 8px 22px -8px #00000038,0 1px 2px #00000014}.mobile-menu-trigger:active{transform:scale(.94)}.mobile-menu-trigger.is-open{background:transparent;box-shadow:0 0 0 1px color-mix(in srgb,var(--text-primary) 12%,transparent),none;backdrop-filter:none;-webkit-backdrop-filter:none}.mobile-menu-trigger .bars{position:relative;width:18px;height:14px;pointer-events:none}.mobile-menu-trigger .bars span{position:absolute;left:0;display:block;width:100%;height:1.6px;background:currentColor;border-radius:2px;transform-origin:center;transition:top .22s cubic-bezier(.4,0,.2,1),transform .28s cubic-bezier(.4,0,.2,1.2),opacity .16s ease}.mobile-menu-trigger .bars span:nth-child(1){top:2px}.mobile-menu-trigger .bars span:nth-child(2){top:50%;transform:translateY(-50%)}.mobile-menu-trigger .bars span:nth-child(3){top:calc(100% - 2px)}.mobile-menu-trigger.is-open .bars span:nth-child(1){top:50%;transform:translateY(-50%) rotate(45deg);transition:top .18s cubic-bezier(.4,0,.2,1),transform .26s .1s cubic-bezier(.34,1.56,.64,1)}.mobile-menu-trigger.is-open .bars span:nth-child(2){opacity:0;transform:translateY(-50%) scaleX(0);transition:opacity .12s ease,transform .2s ease}.mobile-menu-trigger.is-open .bars span:nth-child(3){top:50%;transform:translateY(-50%) rotate(-45deg);transition:top .18s cubic-bezier(.4,0,.2,1),transform .26s .1s cubic-bezier(.34,1.56,.64,1)}.mobile-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(140% 100% at 0% 50%,#080a0e8c,#080a0e59 40%,#080a0e26);z-index:50;border:0;padding:0;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .24s cubic-bezier(.32,.72,0,1);-webkit-tap-highlight-color:transparent}.sidebar{display:flex;flex-direction:column;padding:var(--space) var(--space-sm) 0 var(--space-sm);gap:1px;overflow-y:auto}.workspace{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-sm);border-radius:var(--radius-sm);cursor:pointer;margin-bottom:var(--space-xs)}.workspace:hover{background:var(--bg-hover)}.workspace-logo{width:22px;height:22px;border-radius:5px;background:#141414;color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--text-small);font-weight:var(--weight-bold);flex-shrink:0;letter-spacing:-.02em}body.dark .workspace-logo{background:#eceae4;color:#141414}.workspace-name{font-weight:var(--weight-semibold);font-size:var(--text-h3);flex:1;letter-spacing:-.005em}.workspace-chev{color:var(--text-tertiary)}.nav-group-label{font-size:var(--text-small);font-weight:var(--weight-semibold);color:var(--text-tertiary);letter-spacing:.01em;padding:var(--space) var(--space-sm) var(--space-xs);display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none;background:transparent;border:0;width:100%;text-align:left;font-family:inherit}.nav-group-label:hover{color:var(--text-secondary)}.nav-group-chev{display:inline-flex;align-items:center;color:var(--text-quaternary);transition:transform .12s ease}.nav-group-label[aria-expanded=false] .nav-group-chev{transform:rotate(-90deg)}.nav-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);font-size:var(--text-h3);flex-wrap:nowrap;white-space:nowrap;min-width:0}.nav-item>.lbl{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item.active{background:var(--bg-hover);color:var(--text-primary);font-weight:var(--weight-medium)}.nav-item .i{color:var(--text-tertiary)}.nav-item.active .i{color:var(--text-primary)}.nav-item .badge{font-size:var(--text-micro);padding:1px var(--space-sm);border-radius:10px;font-weight:var(--weight-medium);flex-shrink:0;white-space:nowrap;line-height:1.4}.nav-item .badge.live{background:var(--accent-green-bg);color:var(--accent-green)}.nav-item .badge.gray{background:var(--bg-hover);color:var(--text-tertiary);font-variant-numeric:tabular-nums}.sdot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.sdot.mobilesentrix{background:var(--brand-mobilesentrix)}.sdot.foneday{background:var(--brand-foneday)}.sdot.mobileparts{background:var(--brand-mobileparts)}.sdot.utopya{background:var(--brand-utopya)}.sdot.gsmparts,.sdot.gsmpartscenter{background:var(--brand-gsmpartscenter)}.sdot.faro{background:var(--brand-faro)}.sdot.ifixit{background:var(--brand-ifixit)}.sdot.repairwiki{background:var(--brand-repairwiki)}.sdot.reamaze{background:var(--brand-reamaze)}.sdot.gsmarena{background:var(--brand-gsmarena)}.sdot.chatwoot{background:var(--brand-chatwoot)}.nav-footer{margin-top:auto;padding:var(--space-sm) 0 var(--space);position:sticky;bottom:0;background:var(--bg-nav)}.user-menu{position:relative;width:100%}.user-row{display:flex;width:100%;align-items:center;gap:var(--space-sm);padding:var(--space-2xs) var(--space-sm);min-height:44px;background:transparent;border:0;border-radius:var(--radius);cursor:pointer;color:inherit;text-align:left}.user-row:hover,.user-row.on{background:var(--bg-hover)}.user-row:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.user-row-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;line-height:1.15}.user-row-text .name{font-size:var(--text-small);font-weight:var(--weight-medium);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-row-text .email{font-size:var(--text-micro);color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-pop{position:absolute;left:var(--space-2xs);right:var(--space-2xs);bottom:calc(100% + var(--space-2xs));background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-2xs);z-index:100;display:flex;flex-direction:column;gap:2px;font-size:var(--text-small)}.user-menu-pop[data-collapsed]{left:calc(100% + var(--space-2xs));right:auto;bottom:0;min-width:220px}.user-menu-header{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);min-width:0}.user-menu-sep{height:1px;background:var(--border);margin:var(--space-2xs) 0}.user-menu-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);background:transparent;border:0;border-radius:var(--radius);cursor:pointer;color:var(--text-primary);font-size:var(--text-small);text-align:left;width:100%}.user-menu-item:hover{background:var(--bg-hover)}.user-menu-item:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.user-menu-item-danger{color:var(--accent-red)}.user-menu-item-danger:hover{background:var(--accent-red-bg)}.user-menu-group{padding:var(--space-2xs) var(--space-sm) var(--space-sm);display:flex;flex-direction:column;gap:var(--space-2xs)}.user-menu-label{font-size:var(--text-micro);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-weight:var(--weight-medium)}.user-menu-theme{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2px;background:var(--bg-hover);border-radius:var(--radius);padding:2px}.user-menu-theme-opt{background:transparent;border:0;padding:var(--space-2xs) var(--space-xs);font-size:var(--text-micro);color:var(--text-secondary);cursor:pointer;border-radius:calc(var(--radius) - 2px);font-weight:var(--weight-medium)}.user-menu-theme-opt:hover{color:var(--text-primary)}.user-menu-theme-opt.on{background:var(--bg-primary);color:var(--text-primary);box-shadow:var(--shadow-sm)}.user-menu-theme-opt:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.user-row .avatar,.user-menu-header .avatar{width:32px;height:32px;border-radius:50%;background:#d8c6b0;color:#5a3a1a;display:flex;align-items:center;justify-content:center;font-size:var(--text-small);font-weight:var(--weight-bold);flex-shrink:0;letter-spacing:-.02em;overflow:hidden}.user-row .avatar img,.user-menu-header .avatar img{width:100%;height:100%;object-fit:cover;display:block}body.dark .user-row .avatar,body.dark .user-menu-header .avatar{background:#6b5846;color:#f1e8da}.signout-btn{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);padding:0}.signout-btn:hover{background:var(--accent-red-bg);color:var(--accent-red)}.signout-btn:focus-visible{outline:none;box-shadow:var(--shadow-focus);color:var(--accent-red)}.settings-grid{display:flex;flex-direction:column;gap:var(--space-lg);max-width:760px}.settings-section{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space)}.settings-section-head h2{margin:0;font-size:var(--text-h3);font-weight:var(--weight-semibold);color:var(--text-primary)}.settings-section-head p{margin:var(--space-2xs) 0 0;color:var(--text-tertiary);font-size:var(--text-small)}.settings-row{display:flex;align-items:flex-start;gap:var(--space-lg);padding-top:var(--space);border-top:1px solid var(--border)}.settings-row:first-of-type{border-top:0;padding-top:0}.settings-row-label{flex:1;min-width:0}.settings-row-title{font-size:var(--text-small);font-weight:var(--weight-medium);color:var(--text-primary)}.settings-row-sub{font-size:var(--text-small);color:var(--text-tertiary);margin-top:var(--space-2xs);line-height:1.45}.settings-row-control{flex-shrink:0;display:flex;align-items:center}.switch-toggle{position:relative;display:inline-flex;align-items:center;cursor:pointer;width:36px;height:20px;-webkit-user-select:none;user-select:none}.switch-toggle input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;margin:0;cursor:pointer}.switch-toggle-track{position:relative;width:36px;height:20px;border-radius:999px;background:var(--bg-hover);border:1px solid var(--border);transition:background .12s,border-color .12s}.switch-toggle.on .switch-toggle-track{background:var(--accent-blue);border-color:var(--accent-blue)}.switch-toggle-thumb{position:absolute;top:1px;left:1px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform .12s}.switch-toggle.on .switch-toggle-thumb{transform:translate(16px)}.switch-toggle input:focus-visible+.switch-toggle-track{box-shadow:var(--shadow-focus)}.sidebar-toggle{margin-left:auto;background:transparent;border:0;padding:var(--space-2xs);border-radius:4px;cursor:pointer;color:var(--text-tertiary);display:flex;align-items:center}.sidebar-toggle:hover{background:var(--bg-hover);color:var(--text-secondary)}.sidebar.collapsed{padding:var(--space) var(--space-xs) 0 var(--space-xs);align-items:stretch}.sidebar.collapsed .workspace{justify-content:center;padding:var(--space-sm) var(--space-xs);position:relative}.sidebar.collapsed .workspace-name,.sidebar.collapsed .nav-group-label,.sidebar.collapsed .nav-item>.badge,.sidebar.collapsed .user-row .user-row-text{display:none}.sidebar.collapsed .nav-item>.lbl{display:none}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:500;display:flex;align-items:center;justify-content:center;padding:var(--space-lg);animation:modal-fade .12s ease both}.modal{background:var(--bg-primary);border:1px solid var(--border);border-radius:10px;box-shadow:0 20px 48px #0003;width:480px;max-width:100%;max-height:calc(100vh - 40px);overflow:auto;display:flex;flex-direction:column}.modal-head{display:flex;align-items:center;padding:var(--space-md) var(--space-md);border-bottom:1px solid var(--border)}.modal-head h2{flex:1;margin:0;font-size:var(--text-h3);font-weight:var(--weight-semibold)}.modal-body{display:flex;flex-direction:column;gap:var(--space);padding:var(--space-md) var(--space-md)}.modal-foot{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-sm)}.field{display:flex;flex-direction:column;gap:var(--space-xs)}.field>.lbl{font-size:var(--text-small);font-weight:var(--weight-semibold);color:var(--text-secondary);letter-spacing:.01em}.field input,.field select,.field textarea{font-family:inherit;font-size:var(--text-small);padding:var(--space-xs) var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent-blue)}.field .mono{font-family:var(--font-mono)}.field>.seg-btns{align-self:flex-start}.field .hint{font-size:var(--text-micro);line-height:var(--leading-loose)}.field .hint code{background:var(--bg-tertiary);padding:1px var(--space-xs);border-radius:3px;font-size:var(--text-micro)}.form-err{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b;padding:var(--space-sm) var(--space);border-radius:var(--radius-sm);font-size:var(--text-small)}.cron-preview{background:var(--bg-tertiary);border:1px solid var(--border-soft, var(--border));border-radius:var(--radius-sm);padding:var(--space-sm) var(--space);display:flex;flex-direction:column;gap:var(--space-xs);font-size:var(--text-small)}.cron-preview-row{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:var(--space-sm)}.cron-preview-row .lbl{color:var(--text-secondary, var(--muted));font-size:var(--text-micro);text-transform:uppercase;letter-spacing:.04em}.cron-preview-err{color:#991b1b}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}.modal-wide{width:720px}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.clamp-2,.clamp-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.clamp-2{-webkit-line-clamp:2;line-clamp:2}.clamp-3{-webkit-line-clamp:3;line-clamp:3}.toast-stack{position:fixed;bottom:var(--space-md);right:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm);z-index:1000;max-width:380px;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:var(--space);padding:var(--space) var(--space);background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);border-left-width:3px;border-radius:var(--radius);box-shadow:var(--shadow-lg);font-size:var(--text-small);animation:toast-in .14s ease-out}.toast .toast-body{flex:1;min-width:0}.toast .toast-title{font-weight:var(--weight-semibold)}.toast .toast-msg{margin-top:var(--space-2xs);color:var(--text-secondary);font-size:var(--text-micro);word-break:break-word}.toast .toast-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--text-tertiary);cursor:pointer;padding:var(--space-2xs);border-radius:var(--radius-sm);flex-shrink:0}.toast .toast-close:hover{background:var(--bg-hover);color:var(--text-primary)}.toast.toast-ok{border-left-color:var(--accent-green)}.toast.toast-ok>svg{color:var(--accent-green)}.toast.toast-err{border-left-color:var(--accent-red)}.toast.toast-err>svg{color:var(--accent-red)}.toast.toast-info{border-left-color:var(--accent-info)}.toast.toast-info>svg{color:var(--accent-info)}.toast.toast-warn{border-left-color:var(--accent-amber)}.toast.toast-warn>svg{color:var(--accent-amber)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.err-banner{display:flex;align-items:flex-start;gap:var(--space);padding:var(--space-sm) var(--space);margin-bottom:var(--space);background:var(--accent-red-bg);color:var(--accent-red);border:1px solid color-mix(in srgb,var(--accent-red) 30%,transparent);border-radius:var(--radius-sm);font-size:var(--text-small)}.err-banner .err-banner-body{flex:1;min-width:0}.err-banner .err-banner-title{font-weight:var(--weight-semibold)}.err-banner .err-banner-msg{font-family:var(--font-mono);font-size:var(--text-micro);margin-top:var(--space-2xs);word-break:break-word;opacity:.85}.err-banner .btn{flex-shrink:0}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md)}.tabs{display:flex;align-items:center;gap:0;border-bottom:1px solid var(--border);margin:0;padding:0;list-style:none}.tabs button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;font:inherit;font-size:var(--text-h3);font-weight:var(--weight-medium);color:var(--text-secondary);padding:var(--space-sm) var(--space-md);cursor:pointer;position:relative;display:inline-flex;align-items:center;gap:var(--space-sm);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color 80ms ease,border-color 80ms ease}.tabs button:hover:not(:disabled){color:var(--text-primary)}.tabs button.on{color:var(--text-primary);border-bottom-color:var(--accent-blue)}.tabs button:disabled{color:var(--text-quaternary);cursor:not-allowed}.tabs button .tab-count{font-size:var(--text-micro);font-weight:var(--weight-medium);color:var(--text-tertiary);background:var(--bg-tertiary);padding:1px var(--space-sm);border-radius:9999px;font-family:var(--font-mono)}.tabs button.on .tab-count{color:var(--text-primary);background:var(--bg-selected)}.tabpanel{padding:var(--space-md) 0}.tip-wrap{position:relative;display:inline-flex;align-items:center}.tip-wrap .tip-bubble{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);background:#2c2c2c;color:#f5f5f5;font-size:var(--text-small);line-height:1.35;padding:var(--space-xs) var(--space-sm);border-radius:4px;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .1s ease,visibility .1s ease;z-index:600;box-shadow:0 4px 12px #0000002e}.tip-wrap .tip-bubble.tip-top{top:auto;bottom:calc(100% + 6px)}.tip-wrap:hover .tip-bubble,.tip-wrap:focus-within .tip-bubble{opacity:1;visibility:visible}body.dark .tip-wrap .tip-bubble{background:#f5f5f5;color:#222}.margin-row{display:flex;align-items:flex-end;gap:var(--space-sm)}.margin-row+.margin-row{margin-top:var(--space-sm)}.margin-row-field{flex:1}.margin-row .seg-btns{height:30px;align-self:stretch}.margin-tier{border:1px solid var(--border);border-radius:var(--radius, 6px);padding:var(--space) var(--space);margin-top:var(--space);background:var(--bg-secondary)}.margin-tier-title{font-size:var(--text-small);font-weight:var(--weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-sm)}.chip-picker{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.chip-picker-item{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space);border:1px solid var(--border);border-radius:999px;background:var(--bg-primary);font-size:var(--text-small);cursor:pointer;-webkit-user-select:none;user-select:none}.chip-picker-item:hover{border-color:var(--text-tertiary)}.pr-modal{display:grid;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);overflow:hidden;max-height:calc(100vh - 88px)}.pr-modal.v1{width:min(1440px,calc(100vw - 80px));grid-template-columns:220px minmax(0,1fr) 380px;grid-template-rows:auto 1fr auto;grid-template-areas:"head  head   head" "nav   body   side" "nav   foot   side"}.pr-modal.v2{width:min(1600px,calc(100vw - 40px));height:min(1200px,calc(100vh - 40px));min-height:520px;grid-template-columns:minmax(0,1fr) 320px;grid-template-rows:auto auto 1fr auto;grid-template-areas:"head  head" "step  step" "body  side" "foot  foot"}.pr-modal.v2.matches-view{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr auto;grid-template-areas:"head" "body" "foot"}.pr-modal.v2.matches-view .pr-body{padding:0;display:flex;flex-direction:column;gap:0}.pr-modal.v2.matches-view .pr-sub-wrap .tbl{width:100%!important}.pr-modal.v2.matches-view .pr-sub-wrap .tbl>thead>tr,.pr-modal.v2.matches-view .pr-sub-wrap .tbl>tbody>tr{width:100%!important;min-width:870px}.pr-modal.v2.matches-view .pr-sub-wrap .tbl th:nth-child(2),.pr-modal.v2.matches-view .pr-sub-wrap .tbl td:nth-child(2){flex:1 1 auto!important;width:auto!important;min-width:180px;max-width:none!important}.pr-step{grid-area:step;display:flex;align-items:stretch;gap:var(--space-sm);padding:var(--space) var(--space-lg);border-bottom:1px solid var(--border);background:var(--bg-secondary)}.pr-step .pr-nav-item{flex:1;flex-direction:column;gap:var(--space-sm);align-items:flex-start;padding:var(--space) var(--space-md)}.pr-step .pr-nav-item .pr-nav-icon{width:28px;height:28px}.pr-side-matches{gap:var(--space-sm)}.pr-side-matches-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-sm)}.pr-side-matches-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);align-items:flex-start}.pr-side-matches-stats>.pr-side-matches-count{display:flex;flex-direction:column;gap:2px;min-width:0}.pr-side-matches-stats .pr-side-matches-count .num{margin-right:0;text-align:left}.pr-side-matches-stats .pr-side-matches-count .lbl{white-space:normal;line-height:1.25;text-align:left}.pr-matches-count .num,.pr-side-matches-count .num{font-size:var(--text-h1);font-weight:var(--weight-bold);line-height:1;letter-spacing:-.015em;color:var(--text-primary);font-variant-numeric:tabular-nums}.pr-side-matches-count .num{margin-right:var(--space-md)}.pr-side-matches-count .lbl{font-size:var(--text-micro);letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary);font-weight:var(--weight-semibold)}.pr-side-matches-all{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);font-size:var(--text-small);font-weight:var(--weight-medium);color:var(--accent-info);background:transparent;border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:background .12s,border-color .12s;font-family:inherit}.pr-side-matches-all:hover{background:var(--bg-hover);border-color:var(--border-strong)}.pr-side-matches-list{display:flex;flex-direction:column;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;overflow:hidden}.pr-side-match-row{display:grid;grid-template-columns:1fr auto auto;gap:var(--space-sm);align-items:center;padding:var(--space-sm) var(--space);font-size:var(--text-small);border-bottom:1px solid var(--border)}.sync-chip{display:inline-flex;align-items:center;padding:1px 6px;border-radius:3px;font-size:var(--text-micro);font-weight:var(--weight-medium);letter-spacing:.02em;text-transform:lowercase;white-space:nowrap}.sync-chip-synced{background:var(--accent-green-bg);color:var(--accent-green)}.sync-chip-stale{background:var(--accent-yellow-bg);color:var(--accent-yellow)}.sync-chip-pending{background:var(--accent-blue-bg);color:var(--accent-blue)}.sync-chip-failed{background:var(--accent-red-bg);color:var(--accent-red)}.sync-chip-never{background:var(--bg-tertiary);color:var(--text-tertiary)}.sync-chip-magento-missing{background:var(--accent-yellow-bg);color:var(--accent-yellow)}.sync-chip-magento-failed{background:var(--accent-red-bg);color:var(--accent-red)}.sync-chip-unknown{background:var(--bg-tertiary);color:var(--text-quaternary)}.pr-side-match-row:last-child{border-bottom:none}.pr-side-match-row:hover{background:var(--bg-hover)}.pr-side-match-row .nm{color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pr-side-match-row .pr{font-family:var(--font-mono);font-size:var(--text-small);color:var(--text-secondary);font-variant-numeric:tabular-nums}.pr-side-match-more{display:flex;align-items:center;justify-content:center;gap:var(--space-xs);width:100%;padding:var(--space-sm) var(--space);font-family:inherit;font-size:var(--text-small);font-weight:var(--weight-medium);color:var(--accent-info);text-align:center;background:var(--bg-secondary);border:none;border-top:1px solid var(--border);font-variant-numeric:tabular-nums;cursor:pointer;transition:background .12s,color .12s}.pr-side-match-more:hover{background:var(--bg-hover);color:var(--text-primary)}.pr-side-matches-empty{padding:var(--space) var(--space);font-size:var(--text-small);color:var(--text-tertiary);background:var(--bg-primary);border:1px dashed var(--border);border-radius:6px;line-height:1.45}.pr-sub-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:color-mix(in oklab,var(--text-primary) 35%,transparent);display:flex;align-items:center;justify-content:center;padding:var(--space-xl) var(--space-xl);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.pr-sub-modal-wide{width:min(1600px,calc(100vw - 64px));height:min(820px,calc(100vh - 80px));background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg, 8px);box-shadow:var(--shadow-modal);display:flex;flex-direction:column;overflow:hidden}.pr-sub-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);padding:var(--space-md) var(--space-lg) var(--space-md);border-bottom:1px solid var(--border)}.pr-sub-head-main{min-width:0}.pr-sub-head h3{font-size:var(--text-h1);font-weight:var(--weight-bold);letter-spacing:-.015em;margin:0;color:var(--text-primary);font-variant-numeric:tabular-nums}h3.pr-sub-title{margin:0;font-size:var(--text-h2);font-weight:var(--weight-bold);letter-spacing:-.015em;color:var(--text-primary);font-variant-numeric:tabular-nums;line-height:1.25}.pr-modal.v2.matches-view .pr-head-title .pr-sub-eyebrow{margin-bottom:var(--space-2xs)}.pr-modal.v2.matches-view .pr-head-title .pr-sub-scope{margin-top:var(--space-xs)}.pr-sub-head-lbl{font-size:var(--text-h3);font-weight:var(--weight-medium);color:var(--text-secondary);margin-left:var(--space-xs)}.pr-sub-eyebrow{font-size:var(--text-micro);font-weight:var(--weight-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:var(--space-xs)}.pr-sub-scope{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space)}.pr-sub-filterbar{display:flex;align-items:center;gap:var(--space);padding:var(--space) var(--space-lg);border-bottom:1px solid var(--border);background:var(--bg-secondary)}.pr-sub-filterbar-label{display:inline-flex;align-items:center;gap:var(--space-sm);font-size:var(--text-small);font-weight:var(--weight-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary);flex-shrink:0}.pr-sub-filterbar-field{flex:1;min-width:0}.pr-sub-filterbar-meta{font-size:var(--text-small);color:var(--text-tertiary);font-variant-numeric:tabular-nums;flex-shrink:0}.pr-sub-wrap{flex:1;min-height:0;overflow:auto}.pr-sub-tbl td{max-width:none}.pr-sub-tbl td.idx{width:180px;font-size:var(--text-small)}.pr-sub-empty{padding:var(--space-xl) var(--space-lg)!important;text-align:center;color:var(--text-tertiary);font-size:var(--text-small);line-height:1.5;white-space:normal!important}.pr-sub-foot{display:flex;align-items:center;gap:var(--space);padding:var(--space) var(--space-lg);border-top:1px solid var(--border);background:var(--bg-secondary)}.pr-sub-foot-meta{font-size:var(--text-small);color:var(--text-tertiary);font-variant-numeric:tabular-nums}.pr-head{grid-area:head;display:flex;align-items:center;gap:var(--space);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border)}.pr-head-title{display:flex;flex-direction:column;gap:var(--space-2xs);flex:1;min-width:0}.pr-head-title h2{margin:0;font-size:var(--text-body);font-weight:var(--weight-semibold);letter-spacing:-.005em;display:flex;align-items:center;gap:var(--space-sm)}.pr-head-title .sub{font-size:var(--text-small);color:var(--text-tertiary)}.pr-nav{grid-area:nav;border-right:1px solid var(--border);background:var(--bg-secondary);padding:var(--space) var(--space);display:flex;flex-direction:column;gap:var(--space-2xs);overflow-y:auto}.pr-nav-group-lbl{font-size:var(--text-micro);font-weight:var(--weight-semibold);letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary);padding:var(--space-sm) var(--space-sm) var(--space-xs)}.pr-nav-item{display:flex;align-items:flex-start;gap:var(--space);padding:var(--space-sm) var(--space);border-radius:7px;cursor:pointer;color:var(--text-secondary);border:1px solid transparent;text-align:left;background:transparent;font-family:inherit;width:100%}.pr-nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.pr-nav-item.active{background:var(--bg-primary);border-color:var(--border);color:var(--text-primary);box-shadow:var(--shadow-sm)}.pr-nav-item .pr-nav-icon{width:24px;height:24px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:5px;background:var(--bg-tertiary);color:var(--text-secondary)}.pr-nav-item.active .pr-nav-icon{background:var(--accent-blue-bg);color:var(--accent-blue)}.pr-nav-item .pr-nav-txt{display:flex;flex-direction:column;gap:1px;min-width:0}.pr-nav-item .pr-nav-title{font-size:var(--text-small);font-weight:var(--weight-medium)}.pr-nav-item .pr-nav-desc{font-size:var(--text-small);color:var(--text-tertiary);line-height:1.35}.pr-body{grid-area:body;overflow-y:auto;padding:var(--space-lg) var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md);min-width:0}.pr-sec{display:flex;flex-direction:column;gap:var(--space)}.pr-sec-head{display:flex;align-items:center;gap:var(--space-sm);padding-bottom:4px}.pr-sec-head h4{margin:0;font-size:var(--text-small);font-weight:var(--weight-semibold);letter-spacing:.02em;text-transform:uppercase;color:var(--text-secondary)}.pr-sec-head .step-num{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-tertiary);color:var(--text-secondary);border-radius:50%;font-size:var(--text-micro);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.pr-sec-hint{font-size:var(--text-small);color:var(--text-tertiary);line-height:1.5}.pr-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space)}.pr-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space)}.pr-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space)}.pr-grid-tier{display:grid;grid-template-columns:1fr 1fr;gap:var(--space)}.pr-scope{display:flex;flex-wrap:wrap;gap:var(--space-sm);padding:var(--space-sm) var(--space-sm);min-height:36px;border:1px solid var(--border);border-radius:6px;background:var(--bg-primary);cursor:text;align-items:center;position:relative}.pr-scope:focus-within{border-color:var(--accent-info);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-info) 18%,transparent)}.pr-scope input{flex:1;min-width:120px;border:none;outline:none;background:transparent;font-family:inherit;font-size:var(--text-small);color:var(--text-primary)}.pr-chip{display:inline-flex;align-items:center;gap:var(--space-xs);padding:1.5px 3px 1.5px 7px;font-size:var(--text-small);font-weight:var(--weight-medium);border-radius:4px;background:var(--bg-tertiary);color:var(--text-secondary);max-width:100%}.pr-chip .k{font-size:var(--text-micro);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.04em;color:var(--text-quaternary);margin-right:var(--space-xs)}.pr-chip.brand{background:var(--accent-blue-bg);color:var(--accent-blue)}.pr-chip.brand .k{color:color-mix(in srgb,var(--accent-blue) 60%,transparent)}.pr-chip.cat{background:var(--accent-teal-bg);color:var(--accent-teal)}.pr-chip.cat .k{color:color-mix(in srgb,var(--accent-teal) 60%,transparent)}.pr-chip.sku{background:var(--accent-purple-bg);color:var(--accent-purple)}.pr-chip.sku .k{color:color-mix(in srgb,var(--accent-purple) 60%,transparent)}.pr-chip .x{width:16px;height:16px;margin-left:var(--space-2xs);display:inline-flex;align-items:center;justify-content:center;border-radius:3px;cursor:pointer;color:inherit;opacity:.6}.pr-chip .x:hover{background:#00000014;opacity:1}.pr-scope-drop{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:10;max-height:260px;overflow-y:auto;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;box-shadow:var(--shadow-lg, var(--shadow-modal));padding:var(--space-xs)}.pr-scope-drop .group-lbl{padding:var(--space-sm) var(--space-sm) var(--space-xs);font-size:var(--text-micro);font-weight:var(--weight-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary)}.pr-scope-drop .opt{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-sm);font-size:var(--text-small);border-radius:4px;cursor:pointer;color:var(--text-primary)}.pr-scope-drop .opt:hover,.pr-scope-drop .opt.active{background:var(--bg-hover)}.pr-scope-drop .opt .k{font-size:var(--text-micro);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.04em;color:var(--text-quaternary);padding:1px var(--space-xs);border-radius:3px;background:var(--bg-tertiary)}.pr-scope-drop .opt .sku-name{color:var(--text-tertiary);font-size:var(--text-small);margin-left:var(--space-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pr-scope-drop .empty{padding:var(--space) var(--space-sm);font-size:var(--text-small);color:var(--text-tertiary);text-align:center}.pr-tier{border:1px solid var(--border);border-radius:var(--radius);padding:var(--space) var(--space-md);background:var(--bg-secondary);display:flex;flex-direction:column;gap:var(--space)}.pr-tier-title{display:inline-flex;align-items:center;gap:var(--space-sm);font-size:var(--text-small);font-weight:var(--weight-bold);letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary)}.pr-amt{display:grid;grid-template-columns:1fr auto;border:1px solid var(--border);border-radius:6px;background:var(--bg-primary);overflow:hidden}.pr-amt:focus-within{border-color:var(--accent-info);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-info) 18%,transparent)}.pr-amt input{border:none;outline:none;background:transparent;padding:var(--space-sm) var(--space);font-family:var(--font-mono);font-size:var(--text-small);color:var(--text-primary);width:100%}.pr-amt-unit{display:inline-flex;border-left:1px solid var(--border);background:var(--bg-secondary)}.pr-amt-unit button{padding:0 10px;font-size:var(--text-small);font-weight:var(--weight-semibold);color:var(--text-tertiary);background:transparent;border:none;cursor:pointer;font-family:inherit;min-width:32px}.pr-amt-unit button.on{color:var(--text-primary);background:var(--bg-primary)}.pr-amt-unit button+button{border-left:1px solid var(--border)}.pr-comps{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm)}.pr-comp{display:flex;align-items:center;gap:var(--space);padding:var(--space-sm) var(--space);border:1px solid var(--border);border-radius:6px;background:var(--bg-primary);cursor:pointer;font-size:var(--text-small);transition:border-color 80ms,background 80ms}.pr-comp:hover{border-color:var(--border-strong)}.pr-comp.on{border-color:color-mix(in srgb,var(--accent-info) 40%,var(--border));background:color-mix(in srgb,var(--accent-info-bg) 60%,var(--bg-primary))}.pr-comp .tdot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.pr-comp.s-foneday .tdot{background:#e85d5d}.pr-comp.s-mobileparts .tdot{background:#2a9d8f}.pr-comp.s-utopya .tdot{background:#f4a261}.pr-comp.s-gsmpartscenter .tdot{background:#9b59b6}.pr-comp .nm{flex:1;color:var(--text-primary);font-weight:var(--weight-medium)}.pr-side{grid-area:side;border-left:1px solid var(--border);background:var(--bg-secondary);display:flex;flex-direction:column;overflow:hidden}.pr-side-head{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space) var(--space-md);border-bottom:1px solid var(--border);background:var(--bg-primary)}.pr-side-head h4{margin:0;font-size:var(--text-small);font-weight:var(--weight-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.pr-side-head .pill{margin-left:auto}.pr-side-body{padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-md);overflow-y:auto}.pr-side-block{display:flex;flex-direction:column;gap:var(--space-sm)}.pr-side-lbl{font-size:var(--text-micro);font-weight:var(--weight-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary)}.pr-level{display:flex;align-items:stretch;border:1px solid var(--border);border-radius:6px;background:var(--bg-primary);overflow:hidden}.pr-level-bar{width:4px;flex-shrink:0;background:var(--accent-blue)}.pr-level-body{padding:var(--space) var(--space);flex:1;min-width:0}.pr-level-title{font-size:var(--text-small);font-weight:var(--weight-semibold);color:var(--text-primary);display:flex;align-items:center;gap:var(--space-sm)}.pr-level-sub{font-size:var(--text-small);color:var(--text-tertiary);margin-top:var(--space-2xs)}.pr-ladder{display:flex;flex-direction:column;gap:var(--space-xs);margin-top:var(--space-sm)}.pr-ladder-row{display:grid;grid-template-columns:50px 1fr auto;gap:var(--space-sm);align-items:center;padding:var(--space-xs) var(--space-sm);font-size:var(--text-small);border-radius:4px;color:var(--text-tertiary)}.pr-ladder-row.current{background:var(--accent-blue-bg);color:var(--accent-blue);font-weight:var(--weight-semibold)}.pr-ladder-row .n{font-family:var(--font-mono);font-size:var(--text-micro)}.pr-example{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space) var(--space);border-radius:6px;background:var(--bg-primary);border:1px solid var(--border);font-size:var(--text-small)}.pr-example-row{display:grid;grid-template-columns:1fr auto;gap:var(--space-sm);align-items:baseline;padding:var(--space-xs) 0}.pr-example-row+.pr-example-row{border-top:1px dashed var(--border)}.pr-example-row .k{color:var(--text-tertiary);font-size:var(--text-small)}.pr-example-row .v{font-family:var(--font-mono);font-size:var(--text-small);color:var(--text-primary)}.pr-example-row.final .v{font-weight:var(--weight-bold);font-size:var(--text-h3);color:var(--accent-green)}.pr-example-row.final .k{color:var(--text-secondary);font-weight:var(--weight-semibold)}.pr-matches-count{display:flex;flex-direction:column;gap:var(--space-2xs)}.pr-matches-count .num{font-size:var(--text-h1);font-weight:var(--weight-bold);line-height:1;letter-spacing:-.015em;color:var(--text-primary);font-variant-numeric:tabular-nums}.pr-matches-count .lbl{font-size:var(--text-micro);letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary);font-weight:var(--weight-semibold)}.cfg-badges{display:inline-flex;flex-wrap:nowrap;gap:4px;align-items:center}.cfg-chip{display:inline-flex;align-items:center;gap:4px;padding:1px 6px;border-radius:4px;background:var(--bg-hover);font-size:var(--text-micro);font-family:var(--font-mono);white-space:nowrap;line-height:1.6}.cfg-chip-muted{background:transparent;color:var(--text-tertiary);border:1px dashed var(--border)}.cfg-chip-k{color:var(--text-tertiary)}.cfg-chip-v{color:var(--text-primary);font-weight:var(--weight-medium)}.pr-foot{grid-area:foot;display:flex;align-items:center;gap:var(--space);padding:var(--space) var(--space-lg);border-top:1px solid var(--border);background:var(--bg-secondary)}.pr-foot .meta{font-size:var(--text-small);color:var(--text-tertiary);display:inline-flex;align-items:center;gap:var(--space-sm)}.pr-foot .meta code{background:var(--bg-primary);padding:1px var(--space-xs);border-radius:3px;font-size:var(--text-micro);font-family:var(--font-mono);border:1px solid var(--border)}.pr-foot .spacer{flex:1}.pr-foot .actions{display:inline-flex;gap:var(--space-sm)}.type-badge{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space);font-size:var(--text-small);font-weight:var(--weight-semibold);border-radius:var(--radius-sm);background:var(--accent-blue-bg);color:var(--accent-blue)}.pr-slider-row{display:grid;grid-template-columns:1fr auto;gap:var(--space);align-items:center}.pr-slider,.field input[type=range].pr-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;padding:0;border:none;border-radius:2px;background:var(--bg-tertiary);outline:none;margin:0;box-sizing:content-box}.pr-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent-blue);cursor:pointer;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-blue) 18%,transparent)}.pr-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--accent-blue);cursor:pointer;border:none}.pr-slider-val{font-family:var(--font-mono);font-size:var(--text-small);color:var(--text-primary);min-width:48px;text-align:right}.name-row{display:grid;grid-template-columns:1fr auto;gap:var(--space);align-items:end}.pr-status-toggle{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space);background:var(--bg-tertiary);border-radius:6px;font-size:var(--text-small);color:var(--text-secondary)}.pr-delete{margin-right:auto;color:var(--text-tertiary);font-size:var(--text-small);display:inline-flex;align-items:center;gap:var(--space-xs);background:transparent;border:none;cursor:pointer;padding:var(--space-xs) var(--space-sm);border-radius:5px;font-family:inherit}.pr-delete:hover{color:var(--accent-red);background:var(--accent-red-bg)}.ss-wrap{position:relative}.ss-field{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space) var(--space-xs) var(--space);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);min-height:34px;cursor:text;transition:border-color .1s,box-shadow .1s}.ss-wrap.ss-open .ss-field,.ss-field:focus-within{border-color:var(--border-strong);box-shadow:0 0 0 3px color-mix(in srgb,var(--text-primary) 6%,transparent)}.ss-ic{width:15px;height:15px;color:var(--text-tertiary);flex-shrink:0}.ss-chips{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--space-xs);flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}.ss-chips::-webkit-scrollbar{display:none}.ss-input{flex:1 1 160px;min-width:120px;height:22px;line-height:22px;border:none;outline:none;background:transparent;color:var(--text-primary);font-family:inherit;font-size:var(--text-small);padding:0}.ss-input::placeholder{color:var(--text-quaternary)}.ss-lead{width:22px;height:22px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.ss-clear,.ss-lead-clear{width:22px;height:22px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;color:var(--text-tertiary);background:transparent;border:none;border-radius:4px;cursor:pointer;padding:0}.ss-clear:hover,.ss-lead-clear:hover{background:var(--bg-hover);color:var(--text-primary)}.ss-facet{display:inline-flex;align-items:stretch;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border);font-size:var(--text-small);line-height:1.45;background:var(--bg-primary);flex-shrink:0;max-width:none}.ss-facet-title{padding:var(--space-2xs) var(--space-sm);font-weight:var(--weight-semibold);background:var(--bg-hover);color:var(--text-primary);white-space:nowrap;border-right:1px solid var(--border)}.ss-facet-values{padding:var(--space-2xs) var(--space-xs) var(--space-2xs) var(--space-sm);display:inline-flex;align-items:center;gap:var(--space-xs);flex-wrap:nowrap;color:var(--text-primary);white-space:nowrap}.ss-facet-val{display:inline-flex;align-items:center;gap:var(--space-xs)}.ss-sep{font-style:italic;font-weight:var(--weight-semibold);font-size:var(--text-micro);opacity:.75;padding:0 2px}.ss-sep.and{color:var(--text-tertiary)}.ss-sep.or{color:var(--accent-purple)}.ss-facet-x{padding:0 6px;margin-left:var(--space-2xs);border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;border-left:1px dashed var(--border)}.ss-facet-x:hover{color:var(--accent-red);background:var(--accent-red-bg)}.ss-facet.acc-brand .ss-facet-title{box-shadow:inset 3px 0 0 var(--accent-blue)}.ss-facet.acc-cat .ss-facet-title{box-shadow:inset 3px 0 0 var(--accent-teal)}.ss-facet.acc-sku .ss-facet-title{box-shadow:inset 3px 0 0 var(--accent-amber)}.ss-facet.acc-text .ss-facet-title{box-shadow:inset 3px 0 0 var(--accent-purple)}.ss-facet.acc-status .ss-facet-title,.ss-facet.acc-green .ss-facet-title{box-shadow:inset 3px 0 0 var(--accent-green)}.ss-facet.acc-source .ss-facet-title{box-shadow:inset 3px 0 0 var(--accent-info)}.ss-facet.acc-mpn .ss-facet-title{box-shadow:inset 3px 0 0 var(--accent-orange)}.ss-facet.acc-quality .ss-facet-title{box-shadow:inset 3px 0 0 var(--accent-pink)}.ss-pop{position:fixed;z-index:1200;overflow-y:auto;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);padding:0;display:flex;flex-direction:column;overscroll-behavior:contain}.ss-list{padding:var(--space-2xs) 0;flex:0 0 auto}.ss-pop-footer{border-top:1px solid var(--border);flex:0 0 auto}.ss-pop-footer:first-child{border-top:none}.ss-section-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:var(--space-sm);padding:6px 10px;background:var(--bg-secondary);border-bottom:1px solid var(--border);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary)}.ss-section-head-trailing{margin-left:auto;font-weight:600;color:var(--text-tertiary)}.ss-result-row{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;border-top:1px solid var(--border);background:transparent;text-align:left;cursor:pointer;font:inherit;color:var(--text-primary)}.ss-result-row:first-of-type{border-top:none}.ss-result-row:hover:not(:disabled),.ss-result-row:focus-visible:not(:disabled){background:var(--bg-hover);outline:none}.ss-result-row:disabled{cursor:not-allowed;opacity:.5}.ss-result-row-sku{font-family:var(--font-mono);font-size:11.5px;color:var(--text-secondary)}.ss-result-row-name{font-size:12px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.ss-result-row-price{font-family:var(--font-mono);font-size:11.5px;font-weight:600;color:var(--text-secondary)}.ss-row{position:relative;display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space) var(--space-sm) var(--space-md);cursor:pointer;font-size:var(--text-small);color:var(--text-primary);border-bottom:1px solid transparent}.ss-row+.ss-row{border-top:1px solid var(--border);margin-top:-1px}.ss-row:hover,.ss-row.active{background:var(--bg-hover)}.ss-row.ss-field .ss-row-accent{position:absolute;left:0;top:4px;bottom:4px;width:2px;border-radius:0 2px 2px 0;background:var(--text-quaternary)}.ss-row.ss-field.acc-brand .ss-row-accent{background:var(--accent-blue)}.ss-row.ss-field.acc-cat .ss-row-accent{background:var(--accent-teal)}.ss-row.ss-field.acc-sku .ss-row-accent{background:var(--accent-amber)}.ss-row.ss-field.acc-text .ss-row-accent{background:var(--accent-purple)}.ss-row.ss-field.acc-status .ss-row-accent,.ss-row.ss-field.acc-green .ss-row-accent{background:var(--accent-green)}.ss-row.ss-field.acc-source .ss-row-accent{background:var(--accent-info)}.ss-row.ss-field.acc-mpn .ss-row-accent{background:var(--accent-orange)}.ss-row.ss-field.acc-quality .ss-row-accent{background:var(--accent-pink)}.ss-row-scope{font-size:var(--text-micro);font-weight:var(--weight-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);min-width:72px}.ss-row.ss-field.acc-brand .ss-row-scope{color:var(--accent-blue)}.ss-row.ss-field.acc-cat .ss-row-scope{color:var(--accent-teal)}.ss-row.ss-field.acc-sku .ss-row-scope{color:var(--accent-amber)}.ss-row.ss-field.acc-text .ss-row-scope{color:var(--accent-purple)}.ss-row.ss-field.acc-status .ss-row-scope,.ss-row.ss-field.acc-green .ss-row-scope{color:var(--accent-green)}.ss-row.ss-field.acc-source .ss-row-scope{color:var(--accent-info)}.ss-row.ss-field.acc-mpn .ss-row-scope{color:var(--accent-orange)}.ss-row.ss-field.acc-quality .ss-row-scope{color:var(--accent-pink)}.ss-row-sep{color:var(--border-strong);font-weight:var(--weight-normal)}.ss-row-verb{color:var(--text-tertiary);font-size:var(--text-small)}.ss-row-query{font-weight:var(--weight-semibold);color:var(--text-primary);max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ss-row-count{margin-left:auto;font-size:var(--text-small);font-variant-numeric:tabular-nums;color:var(--text-tertiary);font-family:var(--font-mono)}.ss-row-chev{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--text-tertiary);transition:transform .12s}.ss-row-chev.open{transform:rotate(90deg);color:var(--text-primary)}.ss-row-count+.ss-row-chev{margin-left:var(--space-sm)}.ss-row.ss-child{padding:var(--space-sm) var(--space) var(--space-sm) 90px;font-size:var(--text-small);gap:var(--space);background:var(--bg-secondary)}.ss-row.ss-child+.ss-row.ss-child{border-top:1px solid var(--border)}.ss-row.ss-child .ss-child-rail{position:absolute;left:78px;top:0;bottom:0;width:1px;background:var(--border)}.ss-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:var(--text-quaternary)}.ss-dot.acc-brand{background:var(--accent-blue)}.ss-dot.acc-cat{background:var(--accent-teal)}.ss-dot.acc-sku{background:var(--accent-amber)}.ss-dot.acc-text{background:var(--accent-purple)}.ss-dot.acc-status,.ss-dot.acc-green{background:var(--accent-green)}.ss-dot.acc-source{background:var(--accent-info)}.ss-dot.acc-mpn{background:var(--accent-orange)}.ss-dot.acc-quality{background:var(--accent-pink)}.ss-child-label{color:var(--text-primary);font-weight:var(--weight-medium)}.ss-child-meta{margin-left:auto;color:var(--text-tertiary);font-size:var(--text-small);font-family:var(--font-mono)}.ss-enter-hint{margin-left:var(--space-sm);font-size:var(--text-micro);color:var(--text-tertiary);letter-spacing:.02em;font-family:var(--font-mono)}.csv-pick{display:flex;align-items:center;gap:var(--space);flex-wrap:wrap}.csv-pick .spacer{flex:1}.csv-status{display:inline-flex;align-items:center;gap:var(--space-sm);font-size:var(--text-small);color:var(--text-secondary)}.csv-badge{display:inline-block;padding:var(--space-2xs) var(--space-sm);border-radius:999px;font-size:var(--text-small);font-weight:var(--weight-medium)}.csv-badge.ok{background:#ecfdf5;color:#047857}.csv-badge.bad{background:#fef2f2;color:#b91c1c}.csv-preview-scroll{max-height:240px;overflow:auto}.floating-tooltip{position:fixed;transform:translateY(-50%);background:var(--text-primary);color:var(--bg-primary);padding:var(--space-xs) var(--space);border-radius:4px;font-size:var(--text-small);font-weight:var(--weight-medium);white-space:nowrap;letter-spacing:0;z-index:1000;pointer-events:none;box-shadow:0 4px 12px #0000002e;animation:tooltip-in 90ms ease both}@keyframes tooltip-in{0%{opacity:0;transform:translate(-4px,-50%)}to{opacity:1;transform:translateY(-50%)}}.sidebar.collapsed .sidebar-toggle{position:absolute;right:-14px;top:50%;transform:translateY(-50%);background:var(--bg-primary);border:1px solid var(--border);opacity:0;transition:opacity .12s ease}.sidebar.collapsed:hover .sidebar-toggle{opacity:1}.sidebar.collapsed .nav-item,.sidebar.collapsed .user-row{justify-content:center;padding:var(--space-sm) var(--space-xs)}.main{background:var(--bg-primary);overflow:hidden;display:flex;flex-direction:column;height:100vh;max-height:100vh;min-width:0;min-height:0}.page-top{display:flex;align-items:center;gap:var(--space);padding:0 16px;border-bottom:1px solid var(--border);background:var(--bg-primary);height:42px;flex-shrink:0}.breadcrumb{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--text-h3);color:var(--text-tertiary)}.breadcrumb .cur{color:var(--text-primary);font-weight:var(--weight-medium);max-width:60vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}.page-top .spacer{flex:1}.page-header{padding:var(--space-md) var(--space-md) var(--space);flex-shrink:0}.page-title-row{display:flex;align-items:center;gap:var(--space)}.page-title{font-size:var(--text-h1);font-weight:var(--weight-bold);margin:0;letter-spacing:-.015em;display:inline-flex;align-items:center;gap:var(--space);white-space:nowrap}.page-title .title-icon{width:28px;height:28px;border-radius:var(--radius-sm);background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.page-sub{color:var(--text-tertiary);font-size:var(--text-h3);margin-top:var(--space-xs)}.btn{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:var(--text-small);font-weight:var(--weight-medium);color:var(--text-primary);cursor:pointer;background:var(--bg-primary);line-height:var(--leading);white-space:nowrap;flex-shrink:0}.btn:hover{background:var(--bg-hover)}.btn.primary{background:var(--text-primary);color:var(--text-inverse);border-color:var(--text-primary)}.btn.primary:hover{opacity:.88;background:var(--text-primary);color:var(--text-inverse)}.btn.ghost{border-color:transparent;background:transparent;color:var(--text-secondary)}.btn.ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.btn.danger{border-color:color-mix(in srgb,var(--accent-red) 30%,var(--border));color:var(--accent-red);background:var(--bg-primary)}.btn.danger:hover{background:var(--accent-red-bg);color:var(--accent-red)}.btn.sm{padding:var(--space-2xs) var(--space-sm);font-size:var(--text-small)}.btn.block{width:100%;justify-content:center}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-group{display:inline-flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.btn-icon{width:26px;height:26px;padding:0;display:inline-flex;align-items:center;justify-content:center;color:var(--text-tertiary);border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer}.btn-icon:hover{color:var(--text-primary);background:var(--bg-hover)}.pill{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--text-small);font-weight:var(--weight-medium);line-height:var(--leading);white-space:nowrap}.pill .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.pill.done{background:var(--accent-green-bg);color:var(--accent-green)}.pill.running{background:var(--accent-blue-bg);color:var(--accent-blue)}.pill.queued{background:var(--bg-hover);color:var(--text-tertiary)}.pill.failed{background:var(--accent-red-bg);color:var(--accent-red)}.pill.canceled{background:var(--bg-hover);color:var(--text-tertiary)}.pill.t-neutral{background:var(--bg-tertiary);color:var(--text-secondary)}.pill.t-gray{background:var(--bg-hover);color:var(--text-tertiary)}.pill.t-brand{background:var(--accent-blue-bg);color:var(--accent-blue)}.pill.t-info{background:var(--accent-info-bg);color:var(--accent-info)}.pill.t-green{background:var(--accent-green-bg);color:var(--accent-green)}.pill.t-amber{background:var(--accent-amber-bg);color:var(--accent-amber)}.pill.t-red{background:var(--accent-red-bg);color:var(--accent-red)}.pill.t-purple{background:var(--accent-purple-bg);color:var(--accent-purple)}.pill.t-teal{background:var(--accent-teal-bg);color:var(--accent-teal)}.pill.sm{font-size:var(--text-micro);padding:1px var(--space-xs)}.stag{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-2xs) var(--space-sm);border-radius:4px;font-size:var(--text-small);font-weight:var(--weight-medium)}.stag .tdot{width:6px;height:6px;border-radius:2px;flex-shrink:0}.stag.mobilesentrix{background:var(--brand-mobilesentrix-bg);color:var(--brand-mobilesentrix)}.stag.mobilesentrix .tdot{background:var(--brand-mobilesentrix)}.stag.foneday{background:var(--brand-foneday-bg);color:var(--brand-foneday)}.stag.foneday .tdot{background:var(--brand-foneday)}.stag.mobileparts{background:var(--brand-mobileparts-bg);color:var(--brand-mobileparts)}.stag.mobileparts .tdot{background:var(--brand-mobileparts)}.stag.utopya{background:var(--brand-utopya-bg);color:var(--brand-utopya)}.stag.utopya .tdot{background:var(--brand-utopya)}.stag.gsmparts,.stag.gsmpartscenter{background:var(--brand-gsmpartscenter-bg);color:var(--brand-gsmpartscenter)}.stag.gsmparts .tdot,.stag.gsmpartscenter .tdot{background:var(--brand-gsmpartscenter)}.stag.faro{background:var(--brand-faro-bg);color:var(--brand-faro)}.stag.faro .tdot{background:var(--brand-faro)}.stag.ifixit{background:var(--brand-ifixit-bg);color:var(--brand-ifixit)}.stag.ifixit .tdot{background:var(--brand-ifixit)}.stag.repairwiki{background:var(--brand-repairwiki-bg);color:var(--brand-repairwiki)}.stag.repairwiki .tdot{background:var(--brand-repairwiki)}.stag.reamaze{background:var(--brand-reamaze-bg);color:var(--brand-reamaze)}.stag.reamaze .tdot{background:var(--brand-reamaze)}.stag.gsmarena{background:var(--brand-gsmarena-bg);color:var(--brand-gsmarena)}.stag.gsmarena .tdot{background:var(--brand-gsmarena)}.stag.chatwoot{background:var(--brand-chatwoot-bg);color:var(--brand-chatwoot)}.stag.chatwoot .tdot{background:var(--brand-chatwoot)}.stag.is-dynamic{background:var(--brand-bg);color:var(--brand-primary)}.stag.is-dynamic .tdot,.sdot.is-dynamic{background:var(--brand-primary)}body.dark .stag.is-dynamic{background:var(--brand-dark-bg);color:var(--brand-dark-text)}body.dark .stag.is-dynamic .tdot,body.dark .sdot.is-dynamic{background:var(--brand-dark-text)}.pulse{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent-blue);box-shadow:0 0 0 0 var(--accent-blue);animation:pulse 1.6s infinite}@keyframes pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--accent-blue) 50%,transparent)}70%{box-shadow:0 0 0 5px transparent}to{box-shadow:0 0 0 0 transparent}}.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--text-h3)}.tbl th,.tbl td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:0;text-align:left;vertical-align:middle;height:32px;white-space:nowrap}.tbl thead th{background:var(--bg-secondary);color:var(--text-secondary);font-weight:var(--weight-medium);font-size:var(--text-small);padding:0 10px;position:sticky;top:0;z-index:2;border-top:1px solid var(--border)}.tbl th .h-cell{display:flex;align-items:center;gap:var(--space-sm);height:32px}.tbl th .h-cell .i{color:var(--text-tertiary)}.tbl td{padding:0 10px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;max-width:280px}.tbl tbody tr{cursor:pointer}.tbl tbody tr:hover td{background:var(--bg-hover)}.tbl tbody tr.empty-row,.tbl tbody tr.empty-row:hover,.tbl tbody tr.empty-row:hover td{background:transparent;cursor:default}.tbl td.idx{color:var(--text-tertiary);font-family:var(--font-mono);font-size:var(--text-small);width:46px;padding-left:12px}.num{font-variant-numeric:tabular-nums;text-align:right;font-family:var(--font-mono);font-size:var(--text-small)}.mono{font-family:var(--font-mono);font-size:var(--text-small)}.muted{color:var(--text-tertiary)}.footer-bar{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-xs) var(--space-md);border-top:1px solid var(--border);background:var(--bg-secondary);color:var(--text-tertiary);font-size:var(--text-small);font-family:var(--font-mono);min-height:26px;flex-shrink:0}.footer-bar .spacer{flex:1}.content{flex:1;overflow:auto;padding:var(--space-md) var(--space-lg) 40px;background:var(--bg-primary)}.card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-primary);overflow:hidden;margin-bottom:var(--space-md)}.card-head{display:flex;align-items:center;gap:var(--space);padding:var(--space) var(--space-md);border-bottom:1px solid var(--border);background:var(--bg-secondary)}.card-head h3{margin:0;font-size:var(--text-h3);font-weight:var(--weight-semibold);letter-spacing:-.005em;color:var(--text-primary)}.card-head .sub{font-size:var(--text-small);color:var(--text-tertiary)}.card-head .spacer{flex:1}.card-body{padding:var(--space) var(--space-md)}.card-body.flush{padding:0;overflow-x:auto;overflow-y:clip}.tip-portal{font-family:var(--font-sans);font-size:11px;font-weight:500;letter-spacing:-.005em;white-space:nowrap}.tip-portal[data-multiline=true]{white-space:normal}.tip-portal-bubble{display:inline-block;padding:5px 9px;border-radius:6px;background:color-mix(in srgb,var(--text-primary) 96%,transparent);color:var(--bg-primary);box-shadow:0 6px 18px -4px #00000047,0 1px 2px #00000014}.tip-portal[data-multiline=true] .tip-portal-bubble{max-width:360px;line-height:1.4}.tip-portal-arrow{position:absolute;left:50%;width:7px;height:7px;background:color-mix(in srgb,var(--text-primary) 96%,transparent);margin-left:-3.5px}.tip-portal[data-pos=top] .tip-portal-arrow{bottom:-3px;transform:rotate(45deg)}.tip-portal[data-pos=bottom] .tip-portal-arrow{top:-3px;transform:rotate(45deg)}.tg{display:inline-block;padding:2px 9px;border-radius:999px;background:var(--bg-tertiary);color:var(--text-secondary);font-family:var(--font-sans);font-size:11.5px;font-weight:600;letter-spacing:.005em;line-height:1.45;margin-right:5px;position:relative;vertical-align:middle}.tg.mono{font-family:var(--font-mono);font-size:11px;letter-spacing:0}.skeleton{display:inline-block;background:linear-gradient(90deg,var(--bg-tertiary) 0%,color-mix(in srgb,var(--bg-tertiary) 60%,var(--text-quaternary) 40%) 50%,var(--bg-tertiary) 100%);background-size:200% 100%;border-radius:4px;vertical-align:middle;animation:skeleton-shimmer 1.4s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.card-empty{min-height:220px;height:100%;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:40px var(--space-md);color:var(--text-tertiary);font-size:var(--text-small);text-align:center;user-select:none;-webkit-user-select:none;background:radial-gradient(circle,color-mix(in srgb,var(--text-tertiary) 16%,transparent) 1px,transparent 1.4px);background-size:14px 14px;background-position:center;border-radius:var(--radius-sm);font-weight:500;letter-spacing:.005em;box-sizing:border-box}.tbl:has(>tbody>tr.empty-row:only-child),.tbl:has(>tbody>tr.empty-row:only-child)>tbody,.tbl:has(>tbody>tr.empty-row:only-child)>tbody>tr.empty-row,.tbl:has(>tbody>tr.empty-row:only-child)>tbody>tr.empty-row>td{height:100%}.tbl:has(>tbody>tr.empty-row:only-child)>thead{display:none}.table-wrap:has(>.tbl>tbody>tr.empty-row:only-child){display:flex}.table-wrap:has(>.tbl>tbody>tr.empty-row:only-child)>.tbl{flex:1;min-width:100%;max-width:100%}.table-wrap:has(>.tbl>tbody>tr.empty-row:only-child)>.tbl>tbody,.table-wrap:has(>.tbl>tbody>tr.empty-row:only-child)>.tbl>tbody>tr.empty-row,.table-wrap:has(>.tbl>tbody>tr.empty-row:only-child)>.tbl>tbody>tr.empty-row>td{max-width:100%;width:auto}.card-empty:before{content:"";display:block;width:96px;height:96px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 96' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='14' y='20' width='60' height='56' rx='6' transform='rotate(-3 44 48)' opacity='0.4'/><rect x='22' y='14' width='60' height='56' rx='6'/><line x1='32' y1='30' x2='72' y2='30' opacity='0.6'/><line x1='32' y1='42' x2='62' y2='42' opacity='0.45'/><line x1='32' y1='54' x2='52' y2='54' opacity='0.3'/></svg>");background-repeat:no-repeat;background-size:contain;opacity:.7;flex-shrink:0}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.metric-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-primary);margin:var(--space-md) var(--space-lg);overflow:hidden}.metric{padding:var(--space-md) var(--space-md);border-right:1px solid var(--border)}.metric:last-child{border-right:none}.metric .k{font-size:var(--text-small);color:var(--text-tertiary);font-weight:var(--weight-medium);letter-spacing:.02em;text-transform:uppercase;margin-bottom:var(--space-sm);display:flex;align-items:center;gap:var(--space-sm)}.metric .k .i{color:var(--text-tertiary)}.metric .v{font-size:var(--text-h1);font-weight:var(--weight-bold);letter-spacing:-.015em;font-variant-numeric:tabular-nums;color:var(--text-primary)}.metric .v .unit{font-size:var(--text-small);color:var(--text-tertiary);font-weight:var(--weight-medium);margin-left:var(--space-xs)}.metric .sub{font-size:var(--text-small);color:var(--text-tertiary);margin-top:var(--space-xs);font-variant-numeric:tabular-nums}.metric .sub .up{color:var(--accent-green);font-weight:var(--weight-medium)}.metric .sub .dn{color:var(--accent-red);font-weight:var(--weight-medium)}.ibar{height:6px;border-radius:3px;background:var(--bg-hover);overflow:hidden;position:relative;min-width:80px}.ibar>span{display:block;height:100%;border-radius:3px;background:var(--accent-blue)}.hdot{width:6px;height:6px;border-radius:50%;display:inline-block;flex-shrink:0}.hdot.ok{background:var(--accent-green)}.hdot.warn{background:var(--accent-amber)}.hdot.err{background:var(--accent-red)}.hdot.idle{background:var(--text-quaternary)}.auth-screen{display:grid;place-items:center;min-height:100vh;padding:1rem;background:var(--bg-secondary)}.auth-card{width:100%;max-width:380px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow)}.auth-card h1{margin:0 0 4px;font-size:var(--text-h2);letter-spacing:-.015em}.auth-card .sub{color:var(--text-tertiary);font-size:var(--text-small);margin-bottom:var(--space-md)}.auth-field{display:block;margin-bottom:var(--space)}.auth-field>label{display:block;font-size:var(--text-small);color:var(--text-secondary);font-weight:var(--weight-medium);margin-bottom:var(--space-xs)}.auth-field input{width:100%;padding:var(--space-sm) var(--space);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-primary);color:var(--text-primary);outline:none;transition:border-color .1s,box-shadow .1s;font-size:var(--text-h3)}.auth-field input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--accent-blue-bg)}.auth-toggle{margin-top:.875rem;text-align:center;color:var(--text-tertiary);font-size:var(--text-small)}.auth-toggle button{background:none;border:none;color:var(--accent-blue);cursor:pointer;padding:0;font-weight:var(--weight-medium)}.auth-toggle button:hover{text-decoration:underline}.auth-status{margin-top:.875rem;padding:var(--space-sm) var(--space);border-radius:var(--radius);font-size:var(--text-small)}.auth-status.error{background:var(--accent-red-bg);color:var(--accent-red)}.auth-status.info{background:var(--accent-blue-bg);color:var(--accent-blue)}.auth-status.success{background:var(--accent-green-bg);color:var(--accent-green)}.auth-google{display:flex;align-items:center;justify-content:center;gap:var(--space);margin-bottom:var(--space-md);font-weight:var(--weight-medium);border:1px solid var(--border-strong);background:var(--bg-primary);color:var(--text-primary)}.auth-google:hover:not(:disabled){background:var(--bg-hover)}.auth-divider{display:flex;align-items:center;gap:var(--space);color:var(--text-tertiary);font-size:var(--text-small);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-md)}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.info-rows{display:flex;flex-direction:column;gap:var(--space-xs)}.info-row{display:flex;justify-content:space-between;padding:var(--space-xs) 0;font-size:var(--text-small)}.info-row .k{color:var(--text-tertiary)}.info-row .v{font-weight:var(--weight-medium);color:var(--text-primary)}.info-row .v.mono{font-family:var(--font-mono);font-size:var(--text-small)}.detail-header{padding:var(--space-md) var(--space-lg) var(--space-md);display:flex;align-items:flex-start;gap:var(--space-md);border-bottom:1px solid var(--border)}.detail-icon{width:40px;height:40px;border-radius:8px;background:var(--accent-blue-bg);color:var(--accent-blue);display:flex;align-items:center;justify-content:center;flex-shrink:0}.detail-title{font-size:var(--text-h1);font-weight:var(--weight-bold);margin:0;letter-spacing:-.015em}.detail-sub{color:var(--text-tertiary);font-size:var(--text-small);margin-top:var(--space-xs);display:flex;align-items:center;gap:var(--space);flex-wrap:wrap}.detail-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space) var(--space-md);padding:var(--space) var(--space-lg);background:var(--bg-primary);border-bottom:1px solid var(--border)}.meta-item{padding:0;display:flex;flex-direction:column;gap:2px;min-width:0}.meta-item .k{font-size:var(--text-small);color:var(--text-tertiary);letter-spacing:0;font-weight:var(--weight-medium);text-transform:none}.meta-item .v{font-size:var(--text-h3);color:var(--text-primary);font-weight:var(--weight-medium)}.meta-item .v.big{font-size:var(--text-h2);font-weight:var(--weight-bold);letter-spacing:-.015em;font-variant-numeric:tabular-nums}.err-row{display:inline-flex;align-items:center;gap:var(--space-xs);margin-left:var(--space-sm);vertical-align:middle}.err-caret{display:inline-flex;align-items:center;color:var(--text-tertiary);cursor:pointer;transition:transform .1s}.err-caret:hover{color:var(--accent-red)}.actv{display:flex;flex-direction:column}.actv-item{display:flex;gap:var(--space);padding:var(--space) 0;border-top:1px solid var(--border);font-size:var(--text-small)}.actv-item:first-child{border-top:none}.actv-dot{width:22px;height:22px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);flex-shrink:0;margin-top:1px}.actv-dot.price{background:#ffeef0;color:#d4334a}.actv-dot.stock{background:#fef5e6;color:#b45309}.actv-dot.rule{background:var(--accent-info-bg);color:var(--accent-info)}.actv-dot.user{background:var(--bg-tertiary);color:var(--text-primary)}.actv-body{flex:1;min-width:0;line-height:1.5}.actv-body .meta{font-size:var(--text-small);color:var(--text-tertiary);margin-top:1px}.chg-new.down{color:#d4334a;font-weight:var(--weight-semibold)}.chg-new.up{color:#0e894a;font-weight:var(--weight-semibold)}.side-block{margin-bottom:var(--space-lg)}.side-head{font-size:var(--text-micro);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.07em;color:var(--text-tertiary);margin:0 0 8px;display:flex;align-items:center;gap:var(--space-sm)}.side-head .add{margin-left:auto;color:var(--text-quaternary);cursor:pointer;padding:var(--space-2xs)}.prop-row{display:grid;grid-template-columns:98px 1fr;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);border-radius:4px;font-size:var(--text-small);align-items:baseline}.prop-row:hover{background:var(--bg-hover)}.prop-row .k{color:var(--text-tertiary);display:inline-flex;align-items:center;gap:var(--space-xs)}.prop-row .v{color:var(--text-primary);font-weight:var(--weight-medium);word-break:break-word}.prop-row .v.mono{font-family:var(--font-mono);font-size:var(--text-small)}.prop-row .v .dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:var(--space-xs);vertical-align:1px}.prop-row .v .pill{display:inline-block;padding:1px var(--space-sm);border-radius:3px;font-size:var(--text-small);font-weight:var(--weight-medium)}.prop-row .v .pill.oem{background:#e7f7ee;color:#0e894a}.prop-row .v .pill.brand{background:var(--bg-tertiary);color:var(--text-primary)}.src-row{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-sm);border-radius:4px;font-size:var(--text-small)}.src-row .d{width:8px;height:8px;border-radius:3px;flex-shrink:0}.src-row .n{flex:1;color:var(--text-primary);font-weight:var(--weight-medium)}.src-row .t{font-size:var(--text-micro);color:var(--text-tertiary);font-family:var(--font-mono)}.src-row .t.stale{color:#b45309}.rule-row{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm);border-radius:5px;font-size:var(--text-small);background:var(--bg-tertiary);margin-bottom:var(--space-sm)}.rule-row .dd{width:18px;height:18px;border-radius:4px;background:var(--accent-info-bg);color:var(--accent-info);display:flex;align-items:center;justify-content:center;flex-shrink:0}.rule-row .rn{font-weight:var(--weight-semibold);color:var(--text-primary)}.rule-row .rd{font-size:var(--text-small);color:var(--text-tertiary);margin-top:1px;line-height:1.4}.rel-row{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);border-radius:5px;font-size:var(--text-small);cursor:pointer}.rel-row .ri{width:26px;height:26px;border-radius:5px;background:var(--bg-tertiary);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-quaternary);flex-shrink:0}.rel-row .nm{flex:1;min-width:0;color:var(--text-primary);font-weight:var(--weight-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rel-row .pc{font-family:var(--font-mono);font-size:var(--text-small);color:var(--text-tertiary)}.sku-cell{display:flex;align-items:center;gap:var(--space-sm);min-width:0}.imgcell{padding-left:10px}.vsb{margin-left:var(--space-sm);font-size:var(--text-micro);color:var(--text-quaternary);font-family:var(--font-mono)}.kbd{display:inline-flex;align-items:center;justify-content:center;padding:1px var(--space-sm);border:1px solid var(--border);border-bottom-width:2px;border-radius:3px;background:var(--bg-tertiary);color:var(--text-tertiary);font-size:var(--text-micro);font-family:var(--font-mono);margin-left:var(--space-xs)}.spark-cell{display:flex;align-items:center;gap:var(--space-sm)}.spark-bars{display:flex;align-items:flex-end;gap:1.5px;height:18px}.spark-bars.up{color:var(--accent-green)}.spark-bars.dn,.spark-bars.down{color:var(--accent-red)}.spark-bars.flat{color:var(--text-tertiary)}.trend-v{font-size:var(--text-small);font-weight:var(--weight-semibold)}.trend-v.up{color:var(--accent-green)}.trend-v.dn,.trend-v.down{color:var(--accent-red)}.trend-v.flat{color:var(--text-tertiary)}.sku-flag{display:inline-flex;align-items:center;justify-content:center;padding:0 5px;height:15px;border-radius:3px;font-size:var(--text-micro);font-weight:var(--weight-bold);letter-spacing:.03em;flex-shrink:0}.sku-flag.max{background:#fee2e2;color:#991b1b}.sku-flag.tra{background:#fef3c7;color:#92400e}.sku-flag.str{background:#dbeafe;color:#1e3a8a}.inp{padding:var(--space-sm) var(--space);border:1px solid var(--border);border-radius:5px;font-size:var(--text-h3);background:var(--bg-primary);color:var(--text-primary);font-family:inherit;width:100%;box-sizing:border-box;height:30px;line-height:1.2}textarea.inp{height:auto;min-height:30px}select.inp{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding:0 30px 0 12px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none' stroke='%23737373' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><polyline points='1 1 5 5 9 1'/></svg>");background-repeat:no-repeat;background-position:right 12px center;color:var(--text-primary);cursor:pointer}select.inp:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--text-primary)}select.inp option{color:var(--text-primary);background:var(--bg-primary)}.inp.mono{font-family:var(--font-mono)}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.select{padding:var(--space-sm) var(--space);border:1px solid var(--border);border-radius:5px;font-size:var(--text-h3);background:var(--bg-primary);color:var(--text-primary);width:100%}.seg-btns{display:inline-flex;gap:0;border:1px solid var(--border);border-radius:5px;overflow:hidden}.seg-btns button{padding:var(--space-xs) var(--space);font-size:var(--text-small);color:var(--text-secondary);background:transparent;border:none;cursor:pointer}.seg-btns button.on{background:var(--bg-tertiary);color:var(--text-primary);font-weight:var(--weight-medium)}.toggle{width:38px;height:20px;border-radius:999px;background:var(--border);position:relative;cursor:pointer}.toggle.on{background:var(--accent-blue)}.toggle:after{content:"";width:16px;height:16px;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;transition:transform .15s}.toggle.on:after{transform:translate(18px)}.scroll-body{overflow-x:auto;overflow-y:clip}.views-bar{display:flex;align-items:center;gap:var(--space-2xs);padding:var(--space) var(--space-lg);border-bottom:1px solid var(--border);background:var(--bg-primary);flex-shrink:0;overflow-x:auto;flex-wrap:nowrap}.views-bar>.ss-wrap{flex:1 1 auto;min-width:0}.views-bar::-webkit-scrollbar{display:none}.brands-layout{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:var(--space-md);height:calc(100vh - 140px)}@media (max-width: 1023px){.brands-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(280px,1fr) auto;height:auto}}.view-tab{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space);border-radius:5px;font-size:var(--text-small);color:var(--text-secondary);cursor:pointer;white-space:nowrap;position:relative}.views-bar-divider{width:1px;height:18px;background:var(--border);margin:0 var(--space-xs);flex-shrink:0}.view-tab:hover{background:var(--bg-hover)}.view-tab.active{background:var(--bg-tertiary);color:var(--text-primary)}.view-tab .count{font-size:var(--text-micro);color:var(--text-tertiary);background:var(--bg-tertiary);padding:1px var(--space-xs);border-radius:3px;font-variant-numeric:tabular-nums}.view-tab.active .count{background:var(--bg-primary);color:var(--text-primary)}.view-tab .dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.views-tools{display:flex;align-items:center;gap:var(--space-xs)}.views-tools .chip,.chip{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space);font-size:var(--text-small);color:var(--text-secondary);background:transparent;border:1px solid transparent;border-radius:5px;cursor:pointer;white-space:nowrap}.chip:hover{background:var(--bg-hover)}.chip:disabled{opacity:.5;cursor:not-allowed}.stk{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-2xs) var(--space-sm);border-radius:3px;font-size:var(--text-small);font-weight:var(--weight-medium)}.stk.in{background:#e7f7ee;color:#0e894a}.stk.out{background:#ffeef0;color:#d4334a}.stk .sd{width:6px;height:6px;border-radius:50%;background:currentColor}.st-pill{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-2xs) var(--space-sm);border-radius:3px;font-size:var(--text-small);font-weight:var(--weight-medium)}.st-pill.in{background:#e7f7ee;color:#0e894a}.st-pill.out{background:#ffeef0;color:#d4334a}.st-pill.low{background:#fef5e6;color:#b45309}.st-pill .dd{width:5px;height:5px;border-radius:50%;background:currentColor}.scope{font-size:var(--text-micro);padding:1px var(--space-sm);background:var(--bg-tertiary);color:var(--text-secondary);border-radius:3px;font-weight:var(--weight-medium);letter-spacing:.02em}.view-tab.add{padding:var(--space-xs) var(--space);color:var(--text-tertiary)}.table-wrap{flex:1;min-height:0;overflow:auto;background:var(--bg-primary);border-bottom:1px solid var(--border)}.table-wrap .tbl{width:100%}.footer-bar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm) var(--space-md);padding:var(--space-sm) var(--space-lg);font-size:var(--text-small);color:var(--text-tertiary);background:var(--bg-secondary);border-top:1px solid var(--border);flex-shrink:0}@media (max-width: 720px){.footer-bar .spacer{display:none}}.footer-bar .pulse-green{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent-green);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-green) 20%,transparent);animation:pulse-fade 1.4s ease-in-out infinite;vertical-align:1px}@keyframes pulse-fade{0%,to{opacity:.5}50%{opacity:1}}.bulk-bar.dark{background:var(--text-primary);color:var(--bg-primary);border-radius:8px;margin:0 22px;position:sticky;bottom:16px;box-shadow:var(--shadow);padding:var(--space-sm) var(--space-lg);gap:var(--space)}.bulk-bar .n{font-weight:var(--weight-semibold)}.bulk-bar .sep{width:1px;height:16px;background:color-mix(in srgb,var(--bg-primary) 20%,transparent)}.bulk-bar .bulk-btn{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space);background:transparent;color:inherit;border:1px solid color-mix(in srgb,var(--bg-primary) 25%,transparent);border-radius:5px;font-size:var(--text-small);cursor:pointer}.bulk-bar .bulk-btn:hover{background:color-mix(in srgb,var(--bg-primary) 12%,transparent)}.bulk-bar .bulk-btn.danger{color:#fca5a5;border-color:#fca5a5}.bulk-bar .bulk-close{padding:var(--space-xs);background:transparent;color:inherit;border:none;cursor:pointer}.checkbox{display:inline-flex;width:14px;height:14px;border:1.5px solid var(--border-strong);border-radius:3px;background:var(--bg-primary);flex-shrink:0;align-items:center;justify-content:center}.checkbox.on{background:var(--accent-blue);border-color:var(--accent-blue)}.row-running{background:color-mix(in srgb,var(--accent-blue) 4%,transparent)}.row-running td{position:relative}.row-selected{background:color-mix(in srgb,var(--accent-blue) 6%,transparent)}.t-actions{width:1%;padding:0!important}.t-actions .wrap{display:flex;align-items:center;justify-content:flex-end;gap:1px;padding:0 10px 0 4px;opacity:0;transition:opacity .08s}.tbl tbody tr:hover .t-actions .wrap,.tbl tbody tr.sel .t-actions .wrap,.tbl tbody tr.expanded .t-actions .wrap,.t-actions .wrap.always-visible{opacity:1}.tact{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--text-tertiary);cursor:pointer}.tact:hover{background:var(--bg-primary);border-color:var(--border);color:var(--text-primary)}.tact.danger:hover{color:var(--accent-red);border-color:color-mix(in srgb,var(--accent-red) 30%,var(--border))}.tact.play:hover{color:var(--accent-green);border-color:color-mix(in srgb,var(--accent-green) 30%,var(--border))}.tact.resume-cta{color:var(--accent-green);background:color-mix(in srgb,var(--accent-green) 8%,transparent);border-color:color-mix(in srgb,var(--accent-green) 30%,var(--border))}.tact.resume-cta:hover{background:color-mix(in srgb,var(--accent-green) 16%,transparent)}.tact-sep{width:1px;height:14px;background:var(--border);margin:0 3px}.ctxmenu{position:fixed;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 24px #0000001f;padding:var(--space-xs);min-width:200px;z-index:200;font-size:var(--text-small)}.ctx-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space);cursor:pointer;border-radius:4px;color:var(--text-primary)}.ctx-item:hover{background:var(--bg-hover)}.ctx-item.danger{color:var(--accent-red)}.ctx-item .i{width:13px;height:13px;stroke-width:1.7;color:currentColor}.ctx-item .kbd{margin-left:auto;font-family:var(--font-mono);font-size:var(--text-micro);color:var(--text-quaternary);background:var(--bg-tertiary);padding:1px var(--space-xs);border-radius:3px;letter-spacing:-.02em}.ctx-sep{height:1px;background:var(--border);margin:var(--space-xs) 0}.ctx-disabled{opacity:.4;pointer-events:none}.ep-row{display:flex;align-items:center;gap:var(--space);padding:var(--space) 0;border-top:1px solid var(--border);font-size:var(--text-small)}.ep-row:first-child{border-top:none}.ep-row .meth{display:inline-flex;align-items:center;justify-content:center;min-width:44px;padding:var(--space-2xs) var(--space-sm);border-radius:4px;font-size:var(--text-micro);font-weight:var(--weight-bold);letter-spacing:.04em;font-family:var(--font-mono)}.ep-row .meth.m-get{background:#e7f7ee;color:#0e894a}.ep-row .meth.m-post{background:var(--accent-info-bg);color:var(--accent-info)}.ep-row .meth.m-del{background:#ffeef0;color:#d4334a}.ep-row .ep-path{font-family:var(--font-mono);font-size:var(--text-small);color:var(--text-primary);min-width:200px}.ep-row .ep-desc{flex:1;color:var(--text-tertiary);font-size:var(--text-small)}.code-block{background:#0e1116;color:#e6edf3;border:1px solid #1f2630;border-radius:var(--radius-sm);padding:var(--space) var(--space-md);font-family:var(--font-mono);font-size:var(--text-small);line-height:1.55;overflow:auto}.code-block .kw{color:#ff7b72;font-weight:var(--weight-medium)}.code-block .str{color:#a5d6ff}.code-block .cmt{color:#8b949e;font-style:italic}.copy{cursor:pointer;padding:1px var(--space-xs);border-radius:3px;color:var(--text-quaternary)}.copy:hover{background:var(--bg-hover);color:var(--text-primary)}.view-tab .count.ok{color:var(--accent-green);background:color-mix(in srgb,var(--accent-green) 15%,transparent)}.toast-wrap{position:fixed;bottom:22px;right:22px;display:flex;flex-direction:column;gap:var(--space-sm);z-index:100}@media (max-width: 900px){.app{grid-template-columns:1fr}.sidebar-resize{display:none}.mobile-menu-trigger{display:flex}.mobile-menu-backdrop{display:block}.app.mobile-menu-open .mobile-menu-backdrop{opacity:1;pointer-events:auto}.sidebar{position:fixed;top:0;left:0;height:100vh;width:min(84vw,304px);z-index:55;background:var(--bg-nav);transform:translate(-100%);box-shadow:6px 0 32px -8px #00000052,1px 0 color-mix(in srgb,var(--text-primary) 8%,transparent);transition:transform .32s cubic-bezier(.32,.72,0,1),box-shadow .32s cubic-bezier(.32,.72,0,1);padding-top:max(env(safe-area-inset-top,0px),10px);padding-bottom:max(env(safe-area-inset-bottom,0px),10px)}.app.mobile-menu-open .sidebar{transform:translate(0)}.app.mobile-menu-open .sidebar .workspace{padding-left:56px}.sidebar.collapsed .workspace-name,.sidebar.collapsed .nav-group-label,.sidebar.collapsed .nav-item>.lbl,.sidebar.collapsed .user-row .user-row-text{display:revert}.sidebar.collapsed .workspace,.sidebar.collapsed .nav-item,.sidebar.collapsed .user-row{justify-content:flex-start}.grid-2,.prod-layout,.ov-grid,.set-layout{grid-template-columns:1fr}}.qm-wrap{display:flex;flex-direction:column;gap:var(--space-sm);height:100%;min-height:0;padding:var(--space) var(--space-md);box-sizing:border-box}.qm-scroll{overflow:auto;flex:1;min-height:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-primary)}.qm-zone-head{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:var(--weight-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary)}.qm-canon-key{display:inline-flex;align-items:center;height:100%}.qm-canon-key code{font-family:var(--font-mono);font-size:12px;font-weight:var(--weight-semibold);color:var(--text-primary)}.qm-pin-left{position:sticky!important;left:0;background:var(--bg-primary);z-index:1}.tbl tbody tr:hover .qm-pin-left{background:var(--bg-hover)}.qm-pin-left-head{background:var(--bg-secondary)!important;z-index:3!important}.qm-cell-inner{display:flex;flex-direction:column;justify-content:space-between;height:100%;padding:8px;gap:6px;box-sizing:border-box}.qm-chips{display:flex;flex-wrap:wrap;gap:4px;flex:1;align-content:flex-start;overflow:hidden}.qm-chip{display:inline-flex;align-items:center;gap:2px;padding:1px 2px 1px 8px;border-radius:999px;background:var(--bg-secondary);border:1px solid var(--border);font-size:11px;line-height:1;height:20px;box-sizing:border-box;max-width:100%}.qm-chip-name_substring{border-style:dashed}.qm-chip-raw{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px;line-height:1.4}.qm-chip-actions{display:inline-flex;align-items:center;width:28px;justify-content:flex-end;opacity:0;transition:opacity 80ms linear}.qm-chip:hover .qm-chip-actions,.qm-chip:focus-within .qm-chip-actions{opacity:1}.qm-chip-btn{background:transparent;border:0;cursor:pointer;color:var(--text-tertiary);display:inline-flex;align-items:center;justify-content:center;padding:0;width:14px;height:14px;border-radius:3px}.qm-chip-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.qm-chip-btn.danger:hover{color:#c44}.qm-add{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:20px;padding:0 8px;background:transparent;border:1px dashed var(--border);border-radius:999px;font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary);cursor:pointer;align-self:flex-start;flex:0 0 auto}.qm-add:hover{background:var(--bg-hover);color:var(--text-primary);border-style:solid}.qm-form,.qm-rename{display:flex;gap:4px;align-items:center;height:20px;flex:0 0 auto}.qm-input{flex:1;min-width:0;font-size:11px;padding:0 6px;height:20px;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);color:var(--text-primary)}.qm-mode{font-size:10.5px;padding:0 4px;height:20px;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary)}.qm-ok,.qm-cancel{background:transparent;border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border-radius:3px;color:var(--text-tertiary)}.qm-ok:hover{color:#2a8;background:var(--bg-hover)}.qm-cancel:hover{color:#c44;background:var(--bg-hover)}.canon-maps-tab{display:flex;flex-direction:column;height:100%;min-height:0}.canon-maps-subnav{padding:var(--space-sm) var(--space-md) 0;border-bottom:1px solid var(--border)}.canon-maps-panel{flex:1;min-height:0;display:flex}.canon-maps-panel>*{flex:1;min-width:0}.qm-status{padding:var(--space-md);color:var(--text-tertiary)}.qm-status.err{color:#c44}.app:not(:has(aside.sidebar))>.main{visibility:hidden}.nav-group-label .add{cursor:pointer;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-tertiary);border-radius:3px}.nav-group-label .add:hover{color:var(--text-primary);background:var(--bg-hover)}.view-tab.add:hover,.chip:hover .i{color:var(--text-secondary)}.chip.primary:hover{opacity:.88;background:var(--text-primary);color:var(--text-inverse)}.tbl th .h-sort{margin-left:auto;opacity:0;color:var(--text-tertiary)}.tbl th:hover .h-sort{opacity:1}.checkbox:not(.on) svg{display:none}.imgcell svg{stroke:#6e6a62;fill:none;opacity:.7}.screen.active{display:flex}.form-row .lbl{font-size:13px;color:var(--text-secondary);display:flex;align-items:center;gap:8px}.btn.danger:hover{background:var(--accent-red-bg)}.login-shell.active{opacity:1;pointer-events:auto}.ms-opt.sel .ms-check svg{display:block}.kv{display:grid;grid-template-columns:120px 1fr;gap:0;font-size:13px}.sec-head{display:flex;align-items:center;gap:10px;margin:18px 0 10px}tr.expanded .err-caret{transform:rotate(90deg);color:var(--accent-red)}.bulk-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:5px;cursor:pointer;color:var(--bg-primary);background:transparent;border:none;font-size:12px;font-weight:500;letter-spacing:-.005em;white-space:nowrap}.bulk-btn:hover{background:color-mix(in srgb,var(--bg-primary) 14%,transparent)}.bulk-btn.danger:hover{background:color-mix(in srgb,#ff6b6b 30%,transparent);color:#fff}.bulk-close{background:transparent;border:none;color:color-mix(in srgb,var(--bg-primary) 60%,transparent);width:24px;height:24px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.bulk-close:hover{background:color-mix(in srgb,var(--bg-primary) 14%,transparent);color:var(--bg-primary)}.dlg-scrim.on{display:flex;animation:fadeIn .12s}tr.row-running .stag{animation:taskpulse 2s ease-in-out infinite}.clist .cp{color:var(--text-secondary);white-space:nowrap;display:inline-flex;align-items:center;gap:3px}.clist .cp .sq{width:6px;height:6px;border-radius:1px;background:currentColor;opacity:.45}.spark-bars i{display:block;width:2.5px;border-radius:1px;background:var(--text-tertiary);opacity:.55}.m-fpill:hover{background:var(--bg-hover)}.m-status{display:inline-flex;align-items:center;gap:4px;padding:1px 6px;border-radius:3px;font-size:10px;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.pipe-head h4{margin:0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);white-space:nowrap}.cand:hover{background:var(--bg-hover)}.cand.rejected{opacity:.55;background:repeating-linear-gradient(-45deg,transparent 0,transparent 8px,var(--bg-tertiary) 8px,var(--bg-tertiary) 9px)}.cand .ph{width:40px;height:40px;border-radius:4px;background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;color:var(--text-quaternary);flex-shrink:0}.cand .vendor-line{display:flex;align-items:center;gap:5px;margin-bottom:2px}.score-cell{display:flex;align-items:center;gap:6px}.cand-acts button{background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;padding:4px;border-radius:3px;display:inline-flex}.cand-acts button:hover{background:var(--bg-hover);color:var(--text-primary)}.cand-acts button.reject:hover{background:#fee4e2;color:#b83232}.cand-acts button.flag:hover{background:#fef5e6;color:#b45309}.g-card .thumb .device-icon{width:52px;height:80px;border:2px solid var(--text-quaternary);border-radius:8px;opacity:.35}.g-card.missing{border-style:dashed;background:var(--bg-secondary);opacity:.75}.g-card.missing:hover{opacity:1}.g-table-wrap{flex:1;overflow:auto;display:none;background:var(--bg-primary)}.g-table-wrap.on{display:block}.g-table th{position:sticky;top:0;background:var(--bg-secondary);border-bottom:1px solid var(--border);padding:8px 14px;text-align:left;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);white-space:nowrap}.g-table tbody tr:hover{background:var(--bg-hover)}.diff-chip{display:inline-block;font-size:10.5px;padding:2px 7px;border-radius:3px;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.cov-legend span{display:inline-flex;align-items:center;gap:5px}body.dark .cr-foot .acts button.danger:hover{background:#3a1414;color:#ff9898}.spark span{width:2px;background:var(--accent-blue);border-radius:1px;opacity:.6}.missing-inner{display:flex;align-items:center;gap:12px;padding:10px 4px}.pane{display:none}.pane.on{display:block}.code-block{background:#0f172a;color:#e2e8f0;border-radius:10px;padding:16px 18px;font-family:JetBrains Mono,monospace;font-size:12px;line-height:1.7;overflow-x:auto;position:relative}.code-block .copy{position:absolute;top:10px;right:10px;background:#1e293b;border:1px solid #334155;color:#94a3b8;font-size:11px;padding:4px 8px;border-radius:4px;cursor:pointer}.field .lbl .sub{display:block;font-size:11.5px;color:var(--text-muted);font-weight:400;margin-top:2px}.rec-img:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(79,79,157,.08),transparent 40%)}.rec-eyebrow .copy:hover{background:var(--bg-hover);color:var(--text-primary)}.rb-dismiss:hover{background:#0000000d;opacity:1}.rec-tab:hover{color:var(--text-primary)}.tab-body[hidden]{display:none}.sec-head h3{margin:0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-tertiary)}.chart-legend .cl:hover{background:var(--bg-hover)}.chart-legend .cl.off{opacity:.4}.cmp-spark i{width:3px;background:currentColor;opacity:.5;border-radius:1px;min-height:2px}.stock-head{display:flex;align-items:baseline;gap:14px;margin-bottom:16px}.side-head .add:hover{color:var(--text-primary)}.src-row:hover,.rel-row:hover{background:var(--bg-hover)}.ctbl thead th{text-align:left;padding:9px 12px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);border-bottom:1px solid var(--border);background:var(--bg-secondary)}.ctbl tbody tr:hover{background:var(--bg-hover)}.ctbl .src{display:flex;align-items:center;gap:8px}.ctbl .st-pill{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:3px;font-size:11.5px;font-weight:500}.ctbl .csp{display:flex;align-items:flex-end;gap:1.5px;height:22px}.ctbl .csp i{width:3px;background:currentColor;border-radius:1px;min-height:2px;opacity:.5}.chart-tip.on{opacity:1}.chart-tip .row{display:flex;align-items:center;gap:6px}.chart-tip .row .nm{opacity:.7;font-size:11px;min-width:36px}.guide-head .meta{color:var(--text-muted);font-size:12.5px;display:flex;gap:14px}.step .num{width:36px;height:36px;border-radius:50%;background:var(--bg-soft);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:var(--text)}
