.login-page[data-v-d58c5694]{z-index:9999;background:linear-gradient(135deg,#0f172a 0%,#1e293b 50%,#334155 100%);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.login-card[data-v-d58c5694]{color:#0f172a;background:#fffffffa;border-radius:14px;width:360px;padding:36px 32px 28px;box-shadow:0 20px 50px #0000004d}.brand[data-v-d58c5694]{text-align:center;margin-bottom:24px}.brand-logo[data-v-d58c5694]{font-size:40px}.brand-title[data-v-d58c5694]{margin:8px 0 2px;font-size:20px;font-weight:600}.brand-sub[data-v-d58c5694]{color:#64748b;margin:0;font-size:12px}.login-form[data-v-d58c5694]{flex-direction:column;gap:14px;display:flex}.field[data-v-d58c5694]{flex-direction:column;gap:6px;display:flex}.field>span[data-v-d58c5694]{color:#475569;font-size:12px}.field input[data-v-d58c5694]{border:1px solid #cbd5e1;border-radius:8px;outline:none;padding:10px 12px;font-size:14px;transition:border-color .15s}.field input[data-v-d58c5694]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.btn-primary[data-v-d58c5694]{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;margin-top:6px;padding:11px;font-size:14px;font-weight:500;transition:background .15s}.btn-primary[data-v-d58c5694]:hover:not(:disabled){background:#1d4ed8}.btn-primary[data-v-d58c5694]:disabled{cursor:not-allowed;background:#94a3b8}.err[data-v-d58c5694]{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin:4px 0 0;padding:8px 10px;font-size:12px}.hint[data-v-d58c5694]{text-align:center;color:#94a3b8;margin:18px 0 0;font-size:11px}.attr-tags[data-v-1fc19cb9]{flex-wrap:wrap;gap:2px;display:flex}.attr-tag[data-v-1fc19cb9]{background:var(--border);color:var(--text-2);white-space:nowrap;border-radius:3px;padding:0 3px;font-size:10px}.tag-green[data-v-1fc19cb9]{color:#5f8;background:#1a3a1a}.tag-red[data-v-1fc19cb9]{color:#f85;background:#3a1a1a}.cs-wrapper[data-v-a2fa3deb]{width:100%;min-width:160px;position:relative}.cs-trigger[data-v-a2fa3deb]{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;box-sizing:border-box;justify-content:space-between;align-items:center;width:100%;min-height:36px;padding:8px 26px 8px 10px;transition:border-color .15s,box-shadow .15s;display:flex}.cs-trigger[data-v-a2fa3deb]:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);outline:none}.cs-trigger.open[data-v-a2fa3deb]{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.cs-trigger.disabled[data-v-a2fa3deb]{opacity:.4;cursor:not-allowed}.cs-value[data-v-a2fa3deb]{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;overflow:hidden}.cs-value.placeholder[data-v-a2fa3deb]{color:var(--text-3)}.cs-arrow[data-v-a2fa3deb]{color:var(--text-3);flex-shrink:0;margin-left:4px;font-size:10px;transition:transform .2s}.cs-trigger.open .cs-arrow[data-v-a2fa3deb]{transform:rotate(180deg)}.cs-clear[data-v-a2fa3deb]{color:var(--text-3);cursor:pointer;background:0 0;border:none;border-radius:3px;flex-shrink:0;padding:2px 4px;font-size:10px;transition:color .15s}.cs-clear[data-v-a2fa3deb]:hover{color:var(--text)}.cs-dropdown[data-v-a2fa3deb]{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);z-index:1000;width:100%;min-width:100%;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden;box-shadow:0 8px 24px #e2e8f0}.cs-search-wrap[data-v-a2fa3deb]{border-bottom:1px solid var(--border);padding:6px}.cs-search[data-v-a2fa3deb]{box-sizing:border-box;background:var(--surface-3);border:1px solid var(--border);width:100%;color:var(--text);border-radius:4px;outline:none;padding:5px 8px;font-family:inherit;font-size:12px}.cs-search[data-v-a2fa3deb]:focus{border-color:var(--primary)}.cs-options[data-v-a2fa3deb]{max-height:220px;overflow-y:auto}.cs-options[data-v-a2fa3deb]::-webkit-scrollbar{width:4px}.cs-options[data-v-a2fa3deb]::-webkit-scrollbar-track{background:var(--surface-2)}.cs-options[data-v-a2fa3deb]::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:2px}.cs-option[data-v-a2fa3deb]{cursor:pointer;color:var(--text);justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;font-size:13px;transition:background .1s;display:flex}.cs-option[data-v-a2fa3deb]:hover,.cs-option.focused[data-v-a2fa3deb]{background:var(--primary-glow)}.cs-option.selected[data-v-a2fa3deb]{color:var(--primary);font-weight:600}.cs-opt-label[data-v-a2fa3deb]{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.cs-opt-count[data-v-a2fa3deb]{color:var(--text-3);flex-shrink:0;font-family:ui-monospace,SF Mono,Consolas,Liberation Mono,monospace;font-size:11px}.cs-empty[data-v-a2fa3deb]{text-align:center;color:var(--text-3);padding:12px;font-size:12px}.cs-optgroup-label[data-v-a2fa3deb]{color:var(--primary);background:var(--surface-3);text-transform:none;letter-spacing:.3px;border-top:1px solid var(--border);z-index:1;padding:6px 10px 4px;font-size:11px;font-weight:600;position:sticky;top:0}.cs-optgroup-label[data-v-a2fa3deb]:first-child{border-top:none}.cs-options .cs-option[data-v-a2fa3deb]{padding-left:18px}.cs-drop-enter-active[data-v-a2fa3deb],.cs-drop-leave-active[data-v-a2fa3deb]{transition:opacity .15s,transform .15s}.cs-drop-enter-from[data-v-a2fa3deb],.cs-drop-leave-to[data-v-a2fa3deb]{opacity:0;transform:translateY(-4px)}.page-header[data-v-ba315f44]{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.page-header--card[data-v-ba315f44]{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;padding:18px 20px}.page-header--flat[data-v-ba315f44]{border-bottom:1px solid var(--border);align-items:center;padding:22px 0 16px}.page-header-main[data-v-ba315f44]{flex:1;min-width:0}.page-header-title[data-v-ba315f44]{color:var(--text);letter-spacing:-.01em;align-items:center;gap:8px;margin:0;font-size:18px;font-weight:700;line-height:1.4;display:flex}.page-header-icon[data-v-ba315f44]{font-size:18px;line-height:1}.page-header-subtitle[data-v-ba315f44]{color:var(--text-3);margin:4px 0 0;font-size:12px;line-height:1.6}.page-header-subtitle[data-v-ba315f44] strong{color:var(--text);font-weight:600}.page-header-right[data-v-ba315f44]{flex-shrink:0;align-items:center;gap:16px;display:flex}.page-header-stats[data-v-ba315f44]{align-items:center;gap:20px;display:flex}.page-header-stat[data-v-ba315f44]{flex-direction:column;align-items:center;gap:2px;display:flex}.page-header-stat-val[data-v-ba315f44]{color:var(--primary);font-size:18px;font-weight:700;font-family:var(--font-mono-num);line-height:1.2}.page-header-stat-val--ok[data-v-ba315f44]{color:var(--status-ok)}.page-header-stat-val--warn[data-v-ba315f44]{color:var(--status-warn,#ea580c)}.page-header-stat-val--alert[data-v-ba315f44]{color:var(--status-alert)}.page-header-stat-key[data-v-ba315f44]{color:var(--text-3);font-size:11px}.page-header-badge[data-v-ba315f44]{color:var(--primary);background:var(--primary-dim);border-radius:999px;align-items:center;padding:5px 12px;font-size:12px;font-weight:600;display:inline-flex}.table-desktop[data-v-cda08e60]{padding:0}.page-header[data-v-cda08e60]{margin-top:-16px;margin-bottom:16px}.grid-scroll[data-v-cda08e60]{max-height:calc(100vh - 320px);overflow:auto visible}.grid-table[data-v-cda08e60]{grid-template-columns:minmax(180px,1fr) minmax(100px,max-content) minmax(100px,max-content) minmax(40px,max-content) minmax(80px,max-content) minmax(110px,max-content);grid-auto-rows:auto;width:100%;display:grid}.grid-table>.grid-header[data-v-cda08e60],.grid-table>.grid-row[data-v-cda08e60]{grid-template-columns:subgrid;grid-column:1/-1;align-items:stretch;display:grid}.grid-table>.grid-detail-row[data-v-cda08e60]{grid-column:1/-1}.grid-header[data-v-cda08e60]{z-index:4;background:var(--surface-2,#f8fafc);box-shadow:0 1px 0 var(--border);position:sticky;top:0}.grid-cell[data-v-cda08e60]{border-right:1px solid var(--border);text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text,#0f172a);box-sizing:border-box;justify-content:flex-start;align-items:center;padding:8px 10px;font-size:12px;display:flex;overflow:hidden}.grid-cell[data-v-cda08e60]:last-child{border-right:none}.grid-head-cell[data-v-cda08e60]{color:var(--text-2);text-transform:none;letter-spacing:0;font-size:11.5px;font-weight:700}.grid-head-cell.sortable[data-v-cda08e60]{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.grid-head-cell.sortable[data-v-cda08e60]:hover{background:var(--surface-3,#f1f5f9)}.grid-head-cell.sorted[data-v-cda08e60]{color:var(--primary);background:#2563eb0f}.grid-head-cell .sort-icon[data-v-cda08e60]{opacity:.6;margin-left:4px;font-size:10px}.grid-head-cell.sorted .sort-icon[data-v-cda08e60]{opacity:1}.grid-cell.col-price[data-v-cda08e60],.grid-cell.col-tax_price[data-v-cda08e60]{justify-content:flex-end;padding-right:14px}.grid-cell.col-unit[data-v-cda08e60],.grid-cell.col-date[data-v-cda08e60],.grid-cell.col-category[data-v-cda08e60]{justify-content:center}.grid-cell.col-breed[data-v-cda08e60]{white-space:normal}.grid-row[data-v-cda08e60]{border-bottom:1px solid var(--border);cursor:pointer;background:var(--surface);transition:background .1s}.grid-row[data-v-cda08e60]:hover{background:#2563eb0a}.grid-row.stale-row[data-v-cda08e60]{background:#f59e0b0a}.grid-row.row-expanded[data-v-cda08e60]{background:#2563eb0d}.grid-row[data-v-cda08e60]:nth-child(2n){background:var(--surface-2,#f8fafc)}.grid-row[data-v-cda08e60]:nth-child(2n):hover{background:#2563eb0f}.grid-row:nth-child(2n).stale-row[data-v-cda08e60]{background:#f59e0b0f}.grid-row.stale-row[data-v-cda08e60]:hover{background:#f59e0b1a}.grid-detail-row[data-v-cda08e60]{background:var(--surface-2,#f8fafc);border-bottom:1px solid var(--border);padding:0}.skel .grid-cell[data-v-cda08e60]{background:0 0}.skel .skel-head[data-v-cda08e60]{color:var(--text-2);background:var(--surface-2);font-size:11.5px;font-weight:700}.skel .skel-grid-row[data-v-cda08e60]{background:linear-gradient(90deg,#f1f5f9 0%,#e2e8f0 50%,#f1f5f9 100%) 0 0/200% 100%;animation:1.4s linear infinite skelShimmer-cda08e60}.skel .skel-cell-bar[data-v-cda08e60]{background:#0f172a0f;border-radius:4px;height:22px}@keyframes skelShimmer-cda08e60{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-footer[data-v-cda08e60]{text-align:center;color:var(--text-3);padding:16px;font-size:12px}.detail-panel[data-v-cda08e60]{padding:14px 18px}.detail-panel-grid[data-v-cda08e60]{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 18px;display:grid}.detail-field[data-v-cda08e60]{flex-direction:column;gap:2px;display:flex}.detail-field.full-width[data-v-cda08e60]{grid-column:1/-1}.detail-field-label[data-v-cda08e60]{color:var(--text-3);font-size:11px;font-weight:600}.detail-field-value[data-v-cda08e60]{color:var(--text);word-break:break-word;font-size:13px;font-weight:500}.detail-field-value.spec-full[data-v-cda08e60]{white-space:pre-wrap}.detail-field-value.price-em[data-v-cda08e60]{color:var(--primary);font-family:Courier New,monospace;font-weight:700}.breed-cell[data-v-cda08e60]{flex-direction:column;gap:2px;width:100%;min-width:0;display:flex}.breed-name[data-v-cda08e60]{color:var(--text);font-size:13px;font-weight:600}.ctx-breed-link[data-v-cda08e60]{cursor:pointer;border-bottom:1px dashed #0000;border-radius:3px;padding:1px 2px;transition:color .15s,border-color .15s,background .15s}.ctx-breed-link[data-v-cda08e60]:hover{color:var(--primary);border-bottom-color:var(--primary);background:#2563eb0d}.breed-meta[data-v-cda08e60]{color:var(--text-3);flex-wrap:wrap;align-items:center;gap:4px;font-size:11px;display:flex}.meta-sep[data-v-cda08e60]{color:var(--text-3);opacity:.6}.meta-tag.city-tag[data-v-cda08e60]{color:var(--text-3)}.price-main[data-v-cda08e60]{color:var(--text);font-family:Courier New,monospace;font-size:13px;font-weight:700}.price-empty[data-v-cda08e60]{color:var(--text-3);font-family:Courier New,monospace;font-size:12px}.price-tax[data-v-cda08e60]{color:var(--text-3);font-family:Courier New,monospace;font-size:11px}.price-change[data-v-cda08e60]{font-family:Courier New,monospace;font-size:11px;font-weight:600}.price-change.up[data-v-cda08e60]{color:var(--status-alert,#ef4444)}.price-change.down[data-v-cda08e60]{color:var(--status-ok,#16a34a)}.stale-date[data-v-cda08e60]{color:var(--status-warn,#f59e0b)}.cat-badge[data-v-cda08e60]{color:var(--primary);text-overflow:ellipsis;white-space:nowrap;background:#2563eb1a;border-radius:3px;max-width:100%;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block;overflow:hidden}.attr-cell[data-v-cda08e60]{color:var(--text-3);font-size:11px}.table-mobile[data-v-cda08e60]{display:none}@media (width<=768px){.table-desktop[data-v-cda08e60]{display:none}.table-mobile[data-v-cda08e60]{display:block}}.cmd-mask[data-v-33c8e18f]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#0f172a73;justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}.cmd-panel[data-v-33c8e18f]{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;width:min(580px,92vw);max-height:70vh;display:flex;overflow:hidden;box-shadow:0 24px 64px #0f172a40,0 4px 12px #0f172a1f}.cmd-input-wrap[data-v-33c8e18f]{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:14px 18px;display:flex}.cmd-icon[data-v-33c8e18f]{font-size:16px}.cmd-input[data-v-33c8e18f]{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:15px}.cmd-input[data-v-33c8e18f]::placeholder{color:var(--text-3)}.cmd-hint[data-v-33c8e18f]{background:var(--surface-2);color:var(--text-3);border-radius:4px;padding:2px 8px;font-family:ui-monospace,monospace;font-size:11px}.cmd-results[data-v-33c8e18f]{flex:1;padding:6px;overflow-y:auto}.cmd-group-title[data-v-33c8e18f]{color:var(--text-3);text-transform:uppercase;letter-spacing:.6px;padding:8px 12px 4px;font-size:10px;font-weight:600}.cmd-empty[data-v-33c8e18f]{text-align:center;color:var(--text-3);flex-direction:column;align-items:center;gap:6px;padding:32px 16px;font-size:13px;display:flex}.cmd-empty-icon[data-v-33c8e18f]{opacity:.6;font-size:24px}.cmd-item[data-v-33c8e18f]{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:12px;width:100%;padding:10px 12px;transition:background .1s;display:flex}.cmd-item.is-active[data-v-33c8e18f]{background:var(--primary-dim)}.cmd-item-icon[data-v-33c8e18f]{background:var(--surface-2);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;display:inline-flex}.cmd-item-main[data-v-33c8e18f]{flex:1;min-width:0}.cmd-item-label[data-v-33c8e18f]{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.cmd-item-hint[data-v-33c8e18f]{color:var(--text-3);margin-top:2px;font-size:11px}.cmd-item-shortcut[data-v-33c8e18f]{background:var(--surface-2);color:var(--text-2);border-radius:4px;flex-shrink:0;padding:2px 7px;font-family:ui-monospace,monospace;font-size:11px}.cmd-footer[data-v-33c8e18f]{border-top:1px solid var(--border);color:var(--text-3);background:var(--surface-2);gap:16px;padding:10px 18px;font-size:11px;display:flex}.cmd-footer kbd[data-v-33c8e18f]{background:var(--surface);border:1px solid var(--border);border-radius:3px;margin-right:4px;padding:1px 5px;font-family:ui-monospace,monospace;font-size:10px;display:inline-block}.cmd-fade-enter-active[data-v-33c8e18f],.cmd-fade-leave-active[data-v-33c8e18f]{transition:opacity .15s}.cmd-fade-enter-from[data-v-33c8e18f],.cmd-fade-leave-to[data-v-33c8e18f]{opacity:0}.cmd-fade-enter-active .cmd-panel[data-v-33c8e18f],.cmd-fade-leave-active .cmd-panel[data-v-33c8e18f]{transition:transform .18s cubic-bezier(.16,1,.3,1)}.cmd-fade-enter-from .cmd-panel[data-v-33c8e18f],.cmd-fade-leave-to .cmd-panel[data-v-33c8e18f]{transform:scale(.96)translateY(-8px)}.mobile-sidebar-backdrop[data-v-149f960e]{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50;opacity:0;background:#0f172a8c;transition:opacity .2s;animation:.2s forwards backdrop-fade-in-149f960e;display:none;position:fixed;inset:0}@keyframes backdrop-fade-in-149f960e{to{opacity:1}}.sidebar[data-v-149f960e]{background:var(--surface);border-right:1px solid var(--border);width:210px;top:var(--topbar-h,0);height:calc(100vh - var(--topbar-h,56px));flex:0 0 210px;align-self:flex-start;padding:12px 0;position:sticky;overflow-y:auto}.sidebar-group[data-v-149f960e]{margin-bottom:14px;position:relative}.sidebar-group+.sidebar-group[data-v-149f960e]{border-top:1px solid var(--border);margin-top:6px;padding-top:4px}.sidebar-group-label[data-v-149f960e]{color:var(--text-2);letter-spacing:.3px;align-items:center;gap:6px;padding:14px 16px 8px 22px;font-size:12px;font-weight:700;display:flex;position:relative}.sidebar-group-label[data-v-149f960e]:before{content:"";background:var(--text-3);border-radius:2px;width:3px;height:12px;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.sidebar-group[data-module=view] .sidebar-group-label[data-v-149f960e]:before{background:var(--primary)}.sidebar-group[data-module=collect] .sidebar-group-label[data-v-149f960e]:before{background:var(--warning)}.sidebar-group[data-module=govern] .sidebar-group-label[data-v-149f960e]:before{background:#7c3aed}.sidebar-group[data-module=viz] .sidebar-group-label[data-v-149f960e]:before{background:var(--success)}.sidebar-group[data-module=view] .sidebar-group-label[data-v-149f960e]{padding-top:10px}.sidebar-item[data-v-149f960e]{text-align:left;width:100%;color:var(--text-2);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:0;align-items:center;gap:8px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:500;text-decoration:none;display:flex}.sidebar-item-icon[data-v-149f960e]{width:24px;height:24px;transition:all var(--transition-fast);background:0 0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;display:inline-flex}.sidebar-item-label[data-v-149f960e]{flex:1;min-width:0}.sidebar-item-key[data-v-149f960e]{font-size:10px;font-family:var(--font-mono-num);color:var(--text-3);border:1px solid var(--border);background:var(--surface-2);opacity:.6;border-radius:3px;padding:1px 5px;font-weight:600}.sidebar-item[data-v-149f960e]:hover{color:var(--text);background:var(--primary-light)}.sidebar-item:hover .sidebar-item-icon[data-v-149f960e]{background:var(--primary-dim)}.sidebar-item.active[data-v-149f960e]{color:var(--primary);background:rgba(var(--primary-rgb), .08);border-left:3px solid var(--primary);padding-left:13px;font-weight:600}.sidebar-item.active .sidebar-item-icon[data-v-149f960e]{background:rgba(var(--primary-rgb), .12)}.sidebar-item.active .sidebar-item-key[data-v-149f960e]{color:var(--primary);border-color:rgba(var(--primary-rgb), .3);background:var(--surface);opacity:1}@media (width<=768px){.mobile-sidebar-backdrop[data-v-149f960e]{display:block}.sidebar[data-v-149f960e]{top:var(--topbar-h,56px);height:calc(100vh - var(--topbar-h,56px));z-index:60;will-change:transform;transition:transform .28s cubic-bezier(.32,.72,0,1);position:fixed;left:0;transform:translate(-100%);box-shadow:4px 0 24px #0f172a33}.sidebar.mobile-open[data-v-149f960e]{transform:translate(0)}.dashboard.mobile-sidebar-open[data-v-149f960e]{overflow:hidden}}@media (width>=769px) and (width<=1100px){.sidebar[data-v-149f960e]{flex:0 0 64px;width:64px;padding:12px 0}.sidebar-group-label[data-v-149f960e]{display:none}.sidebar-item[data-v-149f960e]{justify-content:center;padding:10px 20px}.sidebar-item-label[data-v-149f960e],.sidebar-item-key[data-v-149f960e]{display:none}.sidebar-item.active[data-v-149f960e]{border-left:none;border-bottom:3px solid var(--primary);padding-left:16px}.sidebar-item.active .sidebar-item-icon[data-v-149f960e]{background:var(--primary);color:#fff}.sidebar-group-label[data-v-149f960e]:before{width:60%;height:2px;margin:0 auto;display:block;top:0;left:20%;transform:none}}.top-bar{z-index:200;background:var(--surface);height:var(--topbar-h,56px);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;margin-bottom:0;padding:0 20px;display:flex}.top-bar-left{flex:none;align-items:center;gap:12px;display:flex}.showcase-link{color:var(--text-2);border-radius:var(--radius);transition:all var(--transition-fast);align-items:center;gap:4px;padding:6px 12px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.showcase-link:hover{color:var(--primary);background:var(--surface-2)}.showcase-link-icon{transition:transform var(--transition-fast);font-size:14px}.showcase-link:hover .showcase-link-icon{transform:translate(-2px)}.brand-logo{color:#fff;letter-spacing:0;background:linear-gradient(135deg,#1e40af 0%,#7c3aed 100%);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:800;display:inline-flex;box-shadow:0 2px 8px #1e40af4d}.top-bar-title{color:var(--text);letter-spacing:.5px;font-size:16px;font-weight:700}.hamburger{cursor:pointer;width:28px;height:28px;transition:background var(--transition-fast);background:0 0;border:none;border-radius:4px;flex-direction:column;flex-shrink:0;justify-content:center;gap:4px;padding:4px;display:none}.hamburger:hover{background:rgba(var(--primary-rgb), .06)}.hamburger span{background:var(--text-2);width:100%;height:2px;transition:all var(--transition-fast);border-radius:1px;display:block}@media (width<=768px){.hamburger{display:flex}.dashboard.mobile-sidebar-open .brand-logo,.dashboard.mobile-sidebar-open .top-bar-title{display:none}}.top-bar-divider{background:var(--border);flex-shrink:0;width:1px;height:22px}.top-bar-meta{color:var(--text-2);flex:none;align-items:center;gap:6px;font-size:12px;display:flex}.meta-item{border-radius:var(--radius-round);background:var(--surface-2);transition:background var(--transition-fast);align-items:center;gap:4px;padding:2px 10px;display:flex}.meta-item:hover{background:rgba(var(--primary-rgb), .08)}.meta-item-btn{cursor:pointer;color:inherit;border:1px solid #0000;font-family:inherit}.meta-item-btn:hover{border-color:var(--primary)}.kpi-chip{padding-right:8px;transition:all .2s;position:relative}.kpi-chip .kpi-arrow{color:var(--primary);opacity:0;margin-left:2px;font-size:11px;transition:all .2s;transform:translate(-4px)}.kpi-chip:hover{background:var(--primary-light);border-color:var(--primary)}.kpi-chip:hover .kpi-arrow{opacity:1;transform:translate(0)}.kpi-chip:active{transform:scale(.96)}.meta-label{color:var(--text-3);font-size:11px;font-weight:500}.alert-badge{border-radius:var(--radius-round);cursor:pointer;color:#c2410c;background:#fff7ed;border:1px solid #fdba74;align-items:center;gap:4px;padding:2px 8px 2px 6px;font-family:inherit;font-size:11px;font-weight:600;transition:all .15s;display:inline-flex}.alert-badge:hover{background:#ffedd5;border-color:#f97316}.alert-badge.severe{color:#b91c1c;background:#fef2f2;border-color:#fca5a5}.alert-badge.severe:hover{background:#fee2e2;border-color:#ef4444}.alert-icon{font-size:12px;line-height:1}.alert-count{font-family:var(--font-mono-num);font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.alert-ok{border-radius:var(--radius-round);color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;align-items:center;gap:4px;padding:2px 10px;font-size:11px;font-weight:500;display:inline-flex}.alert-ok-dot{color:#22c55e;font-size:10px;line-height:1;animation:2.5s ease-in-out infinite alert-ok-pulse}@keyframes alert-ok-pulse{0%,to{opacity:1}50%{opacity:.5}}.alert-ok-text{font-size:11px}.last-refresh{background:var(--surface-2);border-radius:var(--radius-round);color:var(--text-3);font-size:11px;font-family:var(--font-mono-num);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;padding:2px 10px;display:inline-flex}.theme-toggle{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-round);cursor:pointer;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-family:inherit;transition:all .18s;display:inline-flex}.theme-toggle:hover{background:var(--surface-3);border-color:var(--primary);transform:rotate(15deg)}.theme-icon{font-size:14px;line-height:1;transition:transform .3s;display:inline-block}.theme-toggle:hover .theme-icon{transform:scale(1.15)}.refresh-btn{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-round);cursor:pointer;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-family:inherit;transition:all .18s;display:inline-flex}.refresh-btn:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary);transform:rotate(-180deg)}.refresh-icon{font-size:14px;line-height:1;display:inline-block}.pause-btn{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-round);cursor:pointer;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-family:inherit;transition:all .18s;display:inline-flex;position:relative}.pause-btn:hover{border-color:var(--primary)}.pause-icon{font-size:12px;line-height:1}.pause-btn.paused{color:var(--warning-orange,#ea580c);background:#ea580c1a;border-color:#fdba74}.pause-btn.paused:after{content:"";background:var(--warning-orange,#ea580c);border-radius:50%;width:6px;height:6px;animation:1.5s ease-in-out infinite pulse-dot;position:absolute;top:4px;right:4px}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.cmd-palette-trigger{background:var(--primary-light);cursor:pointer;color:var(--text-2);border:1px solid #1e40af33;border-radius:6px;align-items:center;gap:6px;padding:4px 8px 4px 10px;font-family:inherit;font-size:12px;transition:all .15s;animation:3s ease-in-out 1.5s cmd-pulse;display:inline-flex}@keyframes cmd-pulse{0%,to{box-shadow:0 0 #1e40af4d}50%{box-shadow:0 0 0 6px #1e40af00}}.cmd-palette-trigger:hover{background:var(--surface);border-color:var(--primary);color:var(--text);transform:translateY(-1px)}.cmd-hint-sep{color:var(--text-3);opacity:.5;font-size:10px}.cmd-hint-slash{background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);border-radius:3px;padding:0 4px;font-family:ui-monospace,monospace;font-size:11px;font-weight:600}.cmd-icon{font-size:12px}.user-menu{background:#94a3b81f;border:1px solid #94a3b840;border-radius:6px;align-items:center;gap:8px;margin-left:4px;padding:4px 6px 4px 12px;display:flex}.user-name{color:var(--text-secondary,#64748b);text-overflow:ellipsis;white-space:nowrap;max-width:100px;font-size:12px;font-weight:500;overflow:hidden}.logout-btn{color:#dc2626;cursor:pointer;background:0 0;border:1px solid #ef444466;border-radius:4px;padding:4px 10px;font-size:12px;transition:all .15s}.logout-btn:hover{background:#ef44441a;border-color:#dc2626}.logout-modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:9000;background:#0f172a8c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.logout-modal{text-align:center;color:#0f172a;background:#fff;border-radius:14px;width:380px;max-width:92vw;padding:28px 28px 20px;box-shadow:0 20px 50px #00000059}.logout-modal-icon{margin-bottom:4px;font-size:36px}.logout-modal-title{color:#0f172a;margin:0 0 8px;font-size:17px;font-weight:600}.logout-modal-body{color:#64748b;margin:0 0 22px;font-size:13px;line-height:1.55}.logout-modal-actions{justify-content:center;gap:10px;display:flex}.btn-cancel,.btn-confirm{cursor:pointer;border:1px solid #0000;border-radius:8px;padding:9px 20px;font-size:13px;font-weight:500;transition:background .15s,border-color .15s,transform 50ms}.btn-cancel{color:#475569;background:#fff;border-color:#cbd5e1}.btn-cancel:hover{background:#f1f5f9;border-color:#94a3b8}.btn-confirm{color:#fff;background:#dc2626;border-color:#dc2626}.btn-confirm:hover{background:#b91c1c;border-color:#b91c1c}.btn-cancel:active,.btn-confirm:active{transform:translateY(1px)}.modal-fade-enter-active,.modal-fade-leave-active{transition:opacity .18s}.modal-fade-enter-from,.modal-fade-leave-to{opacity:0}.cmd-hint{font-size:12px}.cmd-kbd{color:#475569;background:#0f172a0f;border:1px solid #0f172a1a;border-radius:3px;padding:1px 5px;font-family:ui-monospace,monospace;font-size:10px}.skip-link{z-index:9999;background:var(--primary);color:#fff;border-radius:6px;padding:8px 14px;font-size:13px;font-weight:600;text-decoration:none;transition:top .15s;position:absolute;top:-100px;left:8px;box-shadow:0 4px 12px #0f172a40}.skip-link:focus,.skip-link:focus-visible{outline-offset:2px;outline:2px solid #fff;top:8px}.main-content:focus,.main-content:focus-visible{outline:none}@media (width<=768px){.top-bar-meta{display:none}}.dashboard[data-v-ff3307db]{background:var(--bg-primary,#f8fafc);min-height:100vh;color:var(--text-primary,#0f172a);flex-direction:column;display:flex}.skip-link[data-v-ff3307db]{color:#fff;z-index:9999;background:#2563eb;border-radius:4px;padding:8px 14px;text-decoration:none;transition:top .15s;position:absolute;top:-100px;left:8px}.skip-link[data-v-ff3307db]:focus{top:8px}.dashboard-body[data-v-ff3307db]{flex:1;min-height:0;display:flex}.main-content[data-v-ff3307db]{outline:none;flex:1;min-width:0;padding:20px 28px;overflow-y:auto}.scroll-panel[data-v-ff3307db]{min-height:100%}.tab-loading[data-v-ff3307db]{color:#64748b;justify-content:center;align-items:center;gap:10px;padding:60px 20px;font-size:14px;display:flex}.loading-spinner[data-v-ff3307db]{border:2px solid #64748b40;border-top-color:#2563eb;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin-ff3307db}@keyframes spin-ff3307db{to{transform:rotate(360deg)}}@media (width<=768px){.main-content[data-v-ff3307db]{padding:14px 16px}}.showcase[data-v-c9681b0a]{box-sizing:border-box;margin:0;padding:0}.showcase[data-v-c9681b0a] *,.showcase[data-v-c9681b0a] :before,.showcase[data-v-c9681b0a] :after{box-sizing:border-box}.showcase[data-v-c9681b0a]{color:#f7f7f7;background:#0f0f0f;min-height:100vh;font-family:Inter,PingFang SC,Noto Sans SC,sans-serif;line-height:1.6;overflow-x:hidden}.read-progress[data-v-c9681b0a]{z-index:1000;pointer-events:none;background:linear-gradient(90deg,#00d9ff 0%,#e94560 100%);height:2px;transition:width .1s linear;position:fixed;top:0;left:0;box-shadow:0 0 8px #00d9ff80}.container[data-v-c9681b0a]{max-width:1200px;margin:0 auto;padding:0 24px}section[data-v-c9681b0a]{padding:80px 0;scroll-margin-top:80px;position:relative}.hero[data-v-c9681b0a]{text-align:center;background:linear-gradient(135deg,#0f0f0f 0%,#1a1a2e 100%);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative}.hero-content[data-v-c9681b0a]{z-index:2;position:relative}.hero h1[data-v-c9681b0a]{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:20px;margin-bottom:24px;display:flex}.hero-title-main[data-v-c9681b0a]{letter-spacing:-.04em;background:linear-gradient(135deg,#00d9ff 0%,#e94560 100%);-webkit-text-fill-color:transparent;text-shadow:0 0 40px #00d9ff4d;-webkit-background-clip:text;background-clip:text;font-size:clamp(56px,8vw,96px);font-weight:900;line-height:1}.hero-title-sub[data-v-c9681b0a]{color:#a0a0a0;letter-spacing:.2em;white-space:nowrap;-webkit-font-smoothing:antialiased;font-family:HarmonyOS Sans SC,OPPO Sans,Mi Sans,PingFang SC,Noto Sans SC,-apple-system,BlinkMacSystemFont,sans-serif;font-size:clamp(18px,2.2vw,26px);font-weight:300}.hero .subtitle[data-v-c9681b0a]{color:#a0a0a0;margin-bottom:32px;font-size:1.5rem}.hero .tagline[data-v-c9681b0a]{color:#888;margin-bottom:48px;font-size:1.2rem}.cta-button[data-v-c9681b0a]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#00d9ff 0%,#09c 100%);border:none;border-radius:8px;padding:16px 40px;font-family:inherit;font-size:1.1rem;font-weight:600;text-decoration:none;transition:transform .3s,box-shadow .3s;display:inline-block}.cta-button[data-v-c9681b0a]:hover{transform:translateY(-2px);box-shadow:0 10px 30px #00d9ff4d}.hero-footer[data-v-c9681b0a]{color:#666;margin-top:60px;font-size:.9rem}.hero-tags[data-v-c9681b0a]{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:40px;display:flex}.hero-tag-chip[data-v-c9681b0a]{color:#f7f7f7;cursor:pointer;background:#00d9ff0f;border:1px solid #00d9ff40;border-radius:999px;align-items:center;padding:8px 16px;font-size:13px;text-decoration:none;transition:all .25s;display:inline-flex}.hero-tag-chip[data-v-c9681b0a]:hover{background:#00d9ff24;border-color:#00d9ff;transform:translateY(-2px);box-shadow:0 8px 20px #00d9ff2e}.hero-tag-num[data-v-c9681b0a]{color:#00d9ff;letter-spacing:-.02em;margin-right:4px;font-family:JetBrains Mono,Fira Code,monospace;font-weight:700}.hero-tag-cta[data-v-c9681b0a]{background:linear-gradient(135deg,#00d9ff2e 0%,#0099cc1f 100%);border-color:#00d9ff66;font-weight:600}h2[data-v-c9681b0a]{color:#fff;margin-bottom:16px;font-size:3rem;font-weight:700}h3[data-v-c9681b0a]{color:#fff;margin-bottom:12px;font-size:2rem;font-weight:600}.section-subtitle[data-v-c9681b0a]{color:#a0a0a0;margin-bottom:48px;font-size:1.2rem}.workflow[data-v-c9681b0a]{background:#1a1a1a}.workflow-diagram[data-v-c9681b0a]{background:#0f0f0f;border:1px solid #2a2a2a;border-radius:16px;margin:40px 0;padding:48px}.workflow-steps[data-v-c9681b0a]{flex-direction:column;align-items:center;gap:24px;display:flex}.workflow-step[data-v-c9681b0a]{text-align:center;background:linear-gradient(135deg,#1a1a2e 0%,#0f0f0f 100%);border:1px solid #2a2a2a;border-radius:12px;width:100%;max-width:600px;padding:24px 32px}.workflow-step.highlight[data-v-c9681b0a]{border-color:#00d9ff;box-shadow:0 0 20px #00d9ff33}.workflow-step h4[data-v-c9681b0a]{color:#00d9ff;margin-bottom:8px;font-size:1.2rem}.workflow-step p[data-v-c9681b0a]{color:#a0a0a0;font-size:.95rem}.workflow-arrow[data-v-c9681b0a]{color:#00d9ff;font-size:2rem}.workflow-bottom[data-v-c9681b0a]{text-align:center;color:#a0a0a0;margin-top:48px;line-height:1.8}.case-study[data-v-c9681b0a]{background:#0f0f0f}.stats-grid[data-v-c9681b0a]{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:32px;margin:48px 0;display:grid}.stat-card[data-v-c9681b0a]{text-align:center;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:12px;padding:32px}.stat-number[data-v-c9681b0a]{color:#00d9ff;margin-bottom:8px;font-family:JetBrains Mono,Fira Code,monospace;font-size:3rem;font-weight:800}.stat-label[data-v-c9681b0a]{color:#a0a0a0;font-size:.95rem}.comparison-table[data-v-c9681b0a]{border-collapse:collapse;width:100%;margin:48px 0}.comparison-table th[data-v-c9681b0a]{text-align:left;color:#00d9ff;background:#1a1a2e;padding:16px;font-weight:600}.comparison-table td[data-v-c9681b0a]{color:#f7f7f7;border-bottom:1px solid #2a2a2a;padding:16px}.comparison-table tr[data-v-c9681b0a]:nth-child(2n){background:#1a1a1a}.comparison-table .before[data-v-c9681b0a]{color:#e94560}.comparison-table .after[data-v-c9681b0a]{color:#00d9ff}.case-link[data-v-c9681b0a]{color:#00d9ff;border-bottom:1px dashed #00d9ff66;font-weight:600;text-decoration:none;transition:all .2s}.case-link[data-v-c9681b0a]:hover{color:#e94560;border-bottom-style:solid;border-bottom-color:#e94560}.case-cta-wrap[data-v-c9681b0a]{text-align:center;margin-top:32px}.case-cta[data-v-c9681b0a]{color:#fff;background:linear-gradient(135deg,#00d9ff 0%,#09c 100%);border-radius:8px;padding:14px 32px;font-size:1.05rem;font-weight:600;text-decoration:none;transition:transform .3s,box-shadow .3s;display:inline-block}.case-cta[data-v-c9681b0a]:hover{transform:translateY(-2px);box-shadow:0 10px 30px #00d9ff4d}.pricing[data-v-c9681b0a]{background:#1a1a1a}.pricing-grid[data-v-c9681b0a]{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px;margin:48px 0;display:grid}.pricing-card[data-v-c9681b0a]{background:#0f0f0f;border:2px solid #2a2a2a;border-radius:16px;padding:40px;transition:transform .3s,border-color .3s;position:relative}.pricing-card[data-v-c9681b0a]:hover{border-color:#00d9ff;transform:translateY(-8px)}.pricing-card.featured[data-v-c9681b0a]{border-color:#e94560;transform:scale(1.05)}.pricing-card.featured[data-v-c9681b0a]:hover{border-color:#e94560;transform:scale(1.05)translateY(-8px)}.pricing-card.featured[data-v-c9681b0a]:before{content:"⭐ 推荐";color:#fff;background:#e94560;border-radius:20px;padding:4px 16px;font-size:.9rem;font-weight:600;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.pricing-card h3[data-v-c9681b0a]{margin-bottom:16px}.pricing-card .price-type[data-v-c9681b0a]{color:#a0a0a0;margin-bottom:24px}.pricing-card .suitable[data-v-c9681b0a]{color:#888;margin-bottom:16px;font-size:.9rem}.pricing-card ul[data-v-c9681b0a]{margin:24px 0;padding:0;list-style:none}.pricing-card ul li[data-v-c9681b0a]{color:#a0a0a0;padding:8px 0 8px 24px;position:relative}.pricing-card ul li[data-v-c9681b0a]:before{content:"✓";color:#00d9ff;font-weight:700;position:absolute;left:0}.pricing-card .cta-button[data-v-c9681b0a]{text-align:center;width:100%;margin-top:24px}.faq[data-v-c9681b0a]{background:#0f0f0f}.faq-list[data-v-c9681b0a]{max-width:800px;margin:0 auto}.faq-item[data-v-c9681b0a]{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:12px;margin-bottom:16px;overflow:hidden}.faq-question[data-v-c9681b0a]{cursor:pointer;color:#fff;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:24px;font-weight:600;transition:background .3s;display:flex}.faq-question[data-v-c9681b0a]:hover{background:#222}.faq-question[data-v-c9681b0a]:after{content:"+";color:#00d9ff;font-size:1.5rem;transition:transform .3s}.faq-item.active .faq-question[data-v-c9681b0a]:after{transform:rotate(45deg)}.faq-answer[data-v-c9681b0a]{opacity:0;color:#a0a0a0;max-height:0;padding:0 24px;line-height:1.8;transition:max-height .3s,padding .3s,opacity .25s;overflow:hidden}.faq-item.active .faq-answer[data-v-c9681b0a]{opacity:1;max-height:500px;padding:0 24px 24px;transition:max-height .3s,padding .3s,opacity .3s 50ms}.contact[data-v-c9681b0a]{text-align:center;background:#1a1a1a}.contact-email[data-v-c9681b0a]{color:#00d9ff;background:#0f0f0f;border:2px solid #00d9ff;border-radius:12px;margin-top:24px;padding:16px 32px;font-size:1.5rem;text-decoration:none;transition:all .3s;display:inline-block}.contact-email[data-v-c9681b0a]:hover{color:#fff;background:#00d9ff;box-shadow:0 10px 30px #00d9ff4d}.cta-button.is-disabled[data-v-c9681b0a],.contact-email.is-disabled[data-v-c9681b0a]{opacity:.45;cursor:not-allowed;pointer-events:none;filter:grayscale(.4);box-shadow:none!important;transform:none!important}.cta-button.is-disabled[data-v-c9681b0a]:after,.contact-email.is-disabled[data-v-c9681b0a]:after{content:"（暂未开放）";opacity:.8;margin-left:6px;font-size:.85em}.cta-button[data-v-c9681b0a]:focus-visible,.case-cta[data-v-c9681b0a]:focus-visible,.case-link[data-v-c9681b0a]:focus-visible,.faq-question[data-v-c9681b0a]:focus-visible,.contact-email[data-v-c9681b0a]:focus-visible{outline-offset:3px;outline:2px solid #00d9ff}@keyframes fadeInUp-c9681b0a{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fade-in[data-v-c9681b0a]{animation:.8s forwards fadeInUp-c9681b0a}.section-marker[data-v-c9681b0a]{align-items:center;gap:16px;max-width:1200px;margin:0 auto 24px;padding:0 24px;display:flex}.section-num[data-v-c9681b0a]{color:#00d9ff;letter-spacing:.1em;flex-shrink:0;font-family:JetBrains Mono,Fira Code,monospace;font-size:13px;font-weight:700}.section-divider[data-v-c9681b0a]{background:linear-gradient(90deg,#00d9ff66 0%,#0000 100%);flex:1;height:1px}.section-tagline[data-v-c9681b0a]{color:#888;letter-spacing:.3em;flex-shrink:0;font-family:JetBrains Mono,Fira Code,monospace;font-size:11px;font-weight:500}@media (width<=640px){.section-tagline[data-v-c9681b0a]{display:none}}@media (width<=768px){.hero h1[data-v-c9681b0a]{flex-direction:column;gap:8px}.hero-title-main[data-v-c9681b0a]{font-size:clamp(48px,14vw,72px)}.hero-title-sub[data-v-c9681b0a]{font-size:clamp(14px,4vw,20px)}.hero .subtitle[data-v-c9681b0a]{font-size:1.2rem}h2[data-v-c9681b0a]{font-size:2rem}.stats-grid[data-v-c9681b0a]{grid-template-columns:repeat(2,1fr);gap:16px}.stat-card[data-v-c9681b0a]{padding:24px 16px}.stat-number[data-v-c9681b0a]{font-size:2.2rem}.pricing-grid[data-v-c9681b0a]{grid-template-columns:1fr}.pricing-card.featured[data-v-c9681b0a]{transform:scale(1)}.case-cta[data-v-c9681b0a]{padding:12px 24px;font-size:.95rem}.contact-email[data-v-c9681b0a]{padding:12px 20px;font-size:1.1rem}}.section-header[data-v-0e96729f]{justify-content:space-between;align-items:center;gap:12px;padding:4px 0;display:flex}.section-header.with-divider[data-v-0e96729f]{border-bottom:1px solid var(--border-light);margin-bottom:14px;padding:0 0 12px}.section-header-left[data-v-0e96729f]{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.section-dot[data-v-0e96729f]{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.section-dot--blue[data-v-0e96729f]{background:var(--primary);box-shadow:0 0 8px #2563eb73}.section-dot--green[data-v-0e96729f]{background:var(--success);box-shadow:0 0 8px #16a34a73}.section-dot--purple[data-v-0e96729f]{background:var(--purple);box-shadow:0 0 8px #7c3aed73}.section-dot--amber[data-v-0e96729f]{background:var(--warning);box-shadow:0 0 8px #d9770673}.section-dot--red[data-v-0e96729f]{background:var(--danger);box-shadow:0 0 8px #dc262673}.section-dot--cyan[data-v-0e96729f]{background:var(--primary);box-shadow:0 0 8px #2563eb73}.section-title[data-v-0e96729f]{color:var(--text);letter-spacing:.2px;font-size:14px;font-weight:700}.section-subtitle[data-v-0e96729f]{color:var(--text-3);margin-left:4px;font-size:12px;font-weight:400}.section-header-right[data-v-0e96729f]{flex-shrink:0;align-items:center;gap:12px;display:flex}.market[data-v-356d8353]{color:#111827;background:#f9fafb;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}.m-topbar[data-v-356d8353]{z-index:10;background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:14px 32px;display:flex;position:sticky;top:0;box-shadow:0 1px #00000005}.m-brand[data-v-356d8353]{color:#1e40af;letter-spacing:.3px;font-size:16px;font-weight:700;text-decoration:none}.m-nav[data-v-356d8353]{gap:28px;display:flex}.m-nav a[data-v-356d8353]{color:#6b7280;font-size:14px;font-weight:500;text-decoration:none;transition:color .15s}.m-nav a[data-v-356d8353]:hover{color:#1e40af}.m-nav a.active[data-v-356d8353]{color:#1e40af;font-weight:600}.m-main[data-v-356d8353]{max-width:1280px;margin:0 auto;padding:32px}.m-hero[data-v-356d8353]{margin-bottom:24px}.m-hero h1[data-v-356d8353]{color:#111827;letter-spacing:-.5px;margin:0 0 8px;font-size:28px;font-weight:700}.m-hero-sub[data-v-356d8353]{color:#6b7280;margin:0 0 4px;font-size:14px}.m-hero-meta[data-v-356d8353]{color:#9ca3af;margin:0;font-size:12px}.m-kpi[data-v-356d8353]{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px;display:grid}.m-kpi-item[data-v-356d8353]{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:20px;transition:border-color .15s,box-shadow .15s}.m-kpi-item[data-v-356d8353]:hover{border-color:#d1d5db;box-shadow:0 2px 8px #0000000a}.m-kpi-label[data-v-356d8353]{color:#6b7280;margin-bottom:8px;font-size:13px;font-weight:500}.m-kpi-value[data-v-356d8353]{color:#111827;font-feature-settings:"tnum";font-size:28px;font-weight:700;line-height:1.2}.m-kpi-value.m-up[data-v-356d8353]{color:#dc2626}.m-kpi-value.m-down[data-v-356d8353]{color:#16a34a}.m-kpi-sub[data-v-356d8353]{color:#9ca3af;text-transform:uppercase;letter-spacing:.3px;margin-top:6px;font-size:11px}.m-card[data-v-356d8353]{background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:20px;padding:20px}.m-card h2[data-v-356d8353]{margin:0 0 4px;font-size:18px;font-weight:700}.m-subtitle[data-v-356d8353]{color:#9ca3af;margin:0 0 16px;font-size:12px}.m-attr-filters[data-v-356d8353]{background:#f9fafb;border:1px solid #f3f4f6;border-radius:8px;margin:12px 0 16px;padding:12px 14px}.m-attr-header[data-v-356d8353]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.m-attr-header-label[data-v-356d8353]{color:#6b7280;text-transform:uppercase;letter-spacing:.4px;align-items:center;gap:8px;font-size:11px;font-weight:700;display:flex}.m-attr-header-count[data-v-356d8353]{color:#fff;text-transform:none;letter-spacing:0;background:#1e40af;border-radius:8px;padding:1px 8px;font-family:ui-monospace,monospace;font-size:10px;font-weight:700}.m-attr-row[data-v-356d8353]{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px;display:flex}.m-attr-key-label[data-v-356d8353]{color:#1e40af;flex-shrink:0;min-width:100px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;font-weight:700}.m-attr-values[data-v-356d8353]{flex-wrap:wrap;flex:1;gap:6px;display:flex}.m-attr-chip[data-v-356d8353]{cursor:pointer;color:#374151;-webkit-user-select:none;user-select:none;background:#fff;border:1.5px solid #e5e7eb;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;font-weight:600;transition:all .15s;display:inline-flex}.m-attr-chip[data-v-356d8353]:hover{background:#f0f9ff;border-color:#93c5fd}.m-attr-chip.active[data-v-356d8353]{color:#fff;background:#1e40af;border-color:#1e40af;box-shadow:0 1px 3px #1e40af4d}.m-attr-chip.active .m-attr-chip-count[data-v-356d8353]{color:#bfdbfe}.m-attr-chip-count[data-v-356d8353]{color:#9ca3af;font-size:10px;font-weight:500}.m-spec-link[data-v-356d8353]{color:#3b82f6;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 8px;font-family:inherit;font-size:11px;font-weight:600;transition:all .15s}.m-spec-link[data-v-356d8353]:hover{color:#1e40af;background:#dbeafe}.m-reset-btn-block[data-v-356d8353]{text-align:center;width:100%;margin-top:8px;padding:8px;display:block}.m-heatmap-selectors[data-v-356d8353]{background:#f9fafb;border:1px solid #f3f4f6;border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:12px;margin:12px 0 16px;padding:12px 14px;display:flex}.m-selector[data-v-356d8353]{flex-direction:column;flex:1;gap:4px;min-width:200px;display:flex}.m-selector label[data-v-356d8353]{color:#6b7280;text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:700}.m-selector select[data-v-356d8353]{color:#111827;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:7px 10px;font-family:inherit;font-size:13px;transition:border-color .15s}.m-selector select[data-v-356d8353]:hover{border-color:#3b82f6}.m-selector select[data-v-356d8353]:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f626}.m-selector select[data-v-356d8353]:disabled{color:#9ca3af;cursor:not-allowed;background:#f3f4f6}.m-reset-btn[data-v-356d8353]{color:#6b7280;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:7px 14px;font-family:inherit;font-size:12px;transition:all .15s}.m-reset-btn[data-v-356d8353]:hover{color:#111827;background:#f3f4f6;border-color:#9ca3af}.m-coverage-badge[data-v-356d8353]{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;margin:0 0 12px;padding:6px 12px;font-size:12px;display:inline-block}.m-coverage-badge code[data-v-356d8353]{color:#1e3a8a;background:#fff;border:1px solid #dbeafe;border-radius:3px;padding:1px 6px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px}.m-heatmap-meta[data-v-356d8353]{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 16px;padding:0 4px;display:flex}.m-meta-pill[data-v-356d8353]{color:#4b5563;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:12px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex}.m-meta-pill strong[data-v-356d8353]{color:#1e40af;font-family:ui-monospace,SF Mono,Menlo,monospace;font-weight:700}.m-meta-pct[data-v-356d8353]{color:#6b7280;margin-left:2px;font-size:11px;font-weight:500}.m-heatmap-scroll[data-v-356d8353]{border:1px solid #e5e7eb;border-radius:8px;overflow-x:auto}.m-heatmap-grid[data-v-356d8353]{background:#f3f4f6;gap:2px;min-width:100%;font-size:11px;display:grid}.m-heatmap-cell[data-v-356d8353]{text-align:center;background:#fff;justify-content:center;align-items:center;min-height:36px;padding:6px 8px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-weight:600;display:flex}.m-heatmap-corner[data-v-356d8353]{color:#6b7280;background:#f9fafb;justify-content:flex-start;padding-left:12px;font-size:10px;font-weight:700}.m-heatmap-th[data-v-356d8353]{color:#374151;background:#f9fafb;font-size:11px;font-weight:500}.m-heatmap-row-label[data-v-356d8353]{background:#f9fafb;flex-direction:column;align-items:flex-start;min-width:0;padding:8px 12px}.m-row-name[data-v-356d8353]{color:#111827;text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-family:-apple-system,PingFang SC,sans-serif;font-size:12px;font-weight:600;overflow:hidden}.m-row-meta[data-v-356d8353]{color:#9ca3af;margin-top:2px;font-size:10px}.m-empty[data-v-356d8353]{text-align:center;color:#9ca3af;background:#fafbfc;border:1px dashed #e5e7eb;border-radius:8px;padding:60px 20px}.m-loading[data-v-356d8353],.m-error[data-v-356d8353]{text-align:center;border-radius:8px;margin-bottom:16px;padding:20px}.m-loading[data-v-356d8353]{color:#1e40af;background:#eff6ff;border:1px solid #dbeafe}.m-error[data-v-356d8353]{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.m-footnote[data-v-356d8353]{color:#9ca3af;text-align:center;border-top:1px solid #e5e7eb;margin-top:32px;padding-top:20px;font-size:12px;line-height:1.7}.m-footnote p[data-v-356d8353]{margin:4px 0}.m-footnote-meta[data-v-356d8353]{opacity:.7;font-size:11px;margin-top:12px!important}@media (width<=980px){.m-kpi[data-v-356d8353]{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.m-main[data-v-356d8353]{padding:20px 16px}.m-topbar[data-v-356d8353]{padding:12px 16px}.m-nav[data-v-356d8353]{gap:16px}.m-kpi[data-v-356d8353]{grid-template-columns:1fr}.m-hero h1[data-v-356d8353]{font-size:22px}}.not-found[data-v-b6ab258b]{background:var(--bg);min-height:100vh;color:var(--text);justify-content:center;align-items:center;padding:80px 20px;display:flex}.not-found-inner[data-v-b6ab258b]{text-align:center;max-width:520px}.not-found-code[data-v-b6ab258b]{font-size:96px;font-weight:800;font-family:var(--font-mono-num);color:var(--primary);letter-spacing:-.04em;justify-content:center;gap:4px;margin-bottom:24px;line-height:1;display:flex}.not-found-code .oops[data-v-b6ab258b]{color:var(--text-3);animation:4s ease-in-out infinite nf-spin-b6ab258b;position:relative}@keyframes nf-spin-b6ab258b{0%,to{transform:rotate(0)}25%{transform:rotate(-15deg)}75%{transform:rotate(15deg)}}.not-found-title[data-v-b6ab258b]{color:var(--text);letter-spacing:-.01em;margin:0 0 12px;font-size:28px;font-weight:700}.not-found-desc[data-v-b6ab258b]{color:var(--text-2);margin:0 0 32px;font-size:14px;line-height:1.7}.not-found-desc code[data-v-b6ab258b]{background:var(--surface-2);font-family:var(--font-mono-num);color:var(--primary);border:1px solid var(--border);border-radius:4px;padding:2px 6px;font-size:12px}.not-found-actions[data-v-b6ab258b]{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.nf-btn[data-v-b6ab258b]{cursor:pointer;border-radius:10px;align-items:center;padding:12px 24px;font-family:inherit;font-size:14px;font-weight:600;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.nf-btn-primary[data-v-b6ab258b]{background:var(--primary-grad);color:#fff;border:1px solid var(--primary);box-shadow:var(--shadow-primary)}.nf-btn-primary[data-v-b6ab258b]:hover{background:var(--primary-grad-hover);transform:translateY(-2px);box-shadow:0 8px 20px #1e40af40}.nf-btn-ghost[data-v-b6ab258b]{background:var(--surface);color:var(--text-2);border:1px solid var(--border)}.nf-btn-ghost[data-v-b6ab258b]:hover{background:var(--surface-2);color:var(--text);border-color:var(--border-strong)}@media (width<=480px){.not-found-code[data-v-b6ab258b]{font-size:72px}.not-found-title[data-v-b6ab258b]{font-size:22px}.not-found-actions[data-v-b6ab258b]{flex-direction:column;align-items:stretch}.nf-btn[data-v-b6ab258b]{justify-content:center}}html,body,#app{height:100%;margin:0;padding:0}:root{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-synthesis:none;font-feature-settings:"kern" 1, "liga" 1, "calt" 1, "tnum" 1;--bg:#f8fafc;--bg-grad:linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);--surface:#fff;--surface-2:#f1f5f9;--surface-3:#e2e8f0;--border:#e2e8f0;--border-light:#f1f5f9;--border-strong:#cbd5e1;--primary:#1e40af;--primary-soft:#2563eb;--primary-dark:#1e3a8a;--primary-dim:#1e40af12;--primary-light:#2563eb0a;--accent:#1e40af;--success:#059669;--danger:#e11d48;--warning:#d97706;--purple:#7c3aed;--status-ok:#059669;--status-ok-bg:#0596691a;--status-warn:#d97706;--status-warn-bg:#d977061a;--status-alert:#e11d48;--status-alert-bg:#e11d481a;--status-info:#1e40af;--status-info-bg:#1e40af1a;--status-muted:#64748b;--status-muted-bg:#64748b14;--primary-grad:linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);--primary-grad-hover:linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);--text:#0f172a;--text-2:#475569;--text-3:#94a3b8;--text-inverse:#fff;--shadow:0 1px 3px #0f172a0f, 0 1px 2px #0f172a0a;--shadow-sm:0 1px 2px #0f172a0a;--shadow-md:0 2px 6px #0f172a0f, 0 4px 12px #0f172a0a;--shadow-lg:0 4px 12px #0f172a14, 0 12px 28px #0f172a0a;--shadow-primary:0 4px 14px #1e40af26, 0 2px 6px #1e40af14;--shadow-focus:0 0 0 3px #1e40af2e;--shadow-card:0 1px 4px #0f172a0d, 0 2px 8px #0f172a08;--radius:10px;--radius-sm:6px;--radius-lg:14px;--radius-xl:18px;--radius-round:999px;--transition:.2s cubic-bezier(.4, 0, .2, 1);--transition-fast:.12s cubic-bezier(.4, 0, .2, 1);--font-sans:"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Source Han Sans CN", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", sans-serif;--font-mono-num:ui-monospace, "SF Mono", "JetBrains Mono", Consolas, "Liberation Mono", monospace;--font-cjk-num:"DIN Alternate", "Bahnschrift", "PingFang SC", "Microsoft YaHei", monospace;--topbar-h:56px;--theme-transition:background-color .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;--fs-page-title:18px;--fs-section-title:14px;--fs-card-title:13px;--page-pad-x:20px;--page-pad-y:16px;--card-pad:16px;--card-pad-sm:12px;--primary-rgb:30, 64, 175;--primary-dark-rgb:30, 58, 138;--success-rgb:5, 150, 105;--danger-rgb:225, 29, 72;--warning-rgb:217, 119, 6;--warning-orange-rgb:234, 88, 12;--purple-rgb:124, 58, 237;--text-rgb:15, 23, 42;--text-2-rgb:71, 85, 105;--text-3-rgb:148, 163, 184;--border-rgb:226, 232, 240;--surface-rgb:255, 255, 255;--surface-2-rgb:241, 245, 249;--warning-orange:#ea580c;--warning-orange-tint:#fff7ed;--warning-orange-soft:#fef3c7;--warning-orange-edge:#fdba74;--text-muted:#6a7a8a;--primary-bg-light:#dbeafe;--success-bg-light:#d1fae5;--danger-bg-light:#fee2e2;--warning-bg-light:#fef3c7;--info-tint:#f0f9ff;--cyan-tint:#ecfeff;--sky-tint:#e0f2fe;--sky-tint-2:#bae6fd;--amber-tint:#fffbeb;--purple-tint:#faf5ff;--warning-dark:#b45309;--indigo:#6366f1;--success-light:#10b981;--success-dark:#059669;--primary-soft-light:#818cf8;--sky-dark:#0369a1}[data-theme=dark]{--bg:#0b1220;--bg-grad:linear-gradient(180deg, #0b1220 0%, #111827 100%);--surface:#111827;--surface-2:#1f2937;--surface-3:#334155;--border:#1f2937;--border-light:#111827;--border-strong:#334155;--primary:#60a5fa;--primary-soft:#3b82f6;--primary-dark:#1d4ed8;--primary-dim:#60a5fa24;--primary-light:#60a5fa0f;--accent:#60a5fa;--text:#f1f5f9;--text-2:#cbd5e1;--text-3:#94a3b8;--text-inverse:#0f172a;--shadow:0 1px 3px #0006, 0 1px 2px #0000004d;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 2px 6px #0006, 0 4px 12px #0000004d;--shadow-lg:0 4px 12px #00000080, 0 12px 28px #0000004d;--shadow-primary:0 4px 14px #60a5fa33, 0 2px 6px #60a5fa1a;--shadow-focus:0 0 0 3px #60a5fa40;--shadow-card:0 1px 4px #0006, 0 2px 8px #0000004d}html,body,.showcase,.case-step-body,.biz-gain,.case-step,.s-case-chip,.section-title,.s-nav,.s-footer{transition:background-color .25s,color .25s,border-color .25s,box-shadow .25s}@media (prefers-color-scheme:dark){html:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0f172a;--bg-grad:linear-gradient(180deg, #0f172a 0%, #1e293b 100%);--surface:#1e293b;--surface-2:#334155;--surface-3:#475569;--border:#334155;--border-light:#1e293b;--border-strong:#475569;--primary:#60a5fa;--primary-soft:#3b82f6;--primary-dark:#2563eb;--primary-dim:#60a5fa1a;--primary-light:#60a5fa1a;--accent:#60a5fa;--text:#f1f5f9;--text-2:#cbd5e1;--text-3:#64748b;--text-inverse:#0f172a;--shadow:0 1px 3px #0006, 0 1px 2px #0000004d;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 2px 6px #0006, 0 4px 12px #0000004d;--shadow-lg:0 4px 12px #00000080, 0 12px 28px #0000004d;--shadow-primary:0 4px 14px #60a5fa33, 0 2px 6px #60a5fa1a;--shadow-focus:0 0 0 3px #60a5fa40;--shadow-card:0 1px 4px #0006, 0 2px 8px #0000004d;--primary-rgb:96, 165, 250;--primary-dark-rgb:37, 99, 235;--text-rgb:241, 245, 249;--text-2-rgb:203, 213, 225;--text-3-rgb:148, 163, 184;--border-rgb:51, 65, 85;--surface-rgb:30, 41, 59;--surface-2-rgb:51, 65, 85;--status-ok:#34d399;--status-warn:#fbbf24;--status-alert:#fb7185;--status-muted:#94a3b8;--status-ok-bg:#34d3991f;--status-warn-bg:#fbbf241f;--status-alert-bg:#fb71851f;--status-info:#60a5fa;--status-info-bg:#60a5fa1f;--status-muted-bg:#94a3b81a;--text-muted:#cbd5e1;--warning-orange:#fbbf24;--warning-orange-tint:#fbbf241a;--warning-orange-soft:#fbbf2426;--warning-orange-edge:#fcd34d}:root[data-theme=dark] body{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--bg);color:var(--text)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:focus{outline:none}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:3px;transition:outline-offset .1s}button:focus-visible,a:focus-visible,[role=button]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--primary);outline-offset:2px;box-shadow:0 0 0 4px rgba(var(--primary-rgb), .15)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[class*=-num],[class*=-value],[class*=-count],[class*=-pct],[class*=-price],[class*=-docs],.mono,.stat-num,.meta-value,.price-main,.price-tax,.stage-num,.pipe-stage-count,.city-overview-count,.card-pct,.ov-value,.scrape-card-pct,.unified-pct,.chip-pct,.cs-opt-count,.change-pct,.attr-num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-attachment:fixed;min-height:100vh;font-size:14px;line-height:1.6}@media (width<=768px){html,body{font-size:14px}}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-round);background:#94a3b859}::-webkit-scrollbar-thumb:hover{background:#47556980}.dashboard{flex-direction:column;width:100vw;max-width:none;height:100vh;margin:0 auto;padding:0;display:flex;overflow:hidden}.dashboard-body{flex:1;min-height:0;display:flex;overflow:hidden}.sidebar-group{margin-bottom:14px;position:relative}.main-content{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.scroll-panel{flex:1;min-height:0;overflow-y:auto}.meta-value{font-weight:700;font-family:var(--font-mono-num);color:var(--primary);letter-spacing:.2px;font-size:13px;transition:all .3s}.price-main{color:#1e293b;text-align:center;font-family:ui-monospace,SF Mono,Consolas,Liberation Mono,monospace;font-size:14px;font-weight:700;line-height:1.2}.data-table th,.result-table th{text-align:center;color:var(--text-2);text-transform:uppercase;letter-spacing:.7px;white-space:nowrap;border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--transition-fast), background var(--transition-fast);background:var(--surface);padding:10px 14px;font-size:11px;font-weight:700;position:relative}.data-table th.text-left,.result-table th.text-left{text-align:left;padding-left:20px}.data-table th.no-sort,.result-table th.no-sort{cursor:default}.data-table th.no-sort:hover,.result-table th.no-sort:hover{color:var(--text-2);background:0 0}.data-table th:hover,.result-table th:hover{background:rgba(var(--primary-rgb), .04);color:var(--primary)}.data-table th.sorted,.result-table th.sorted{color:var(--primary);font-weight:700}.sort-icon{opacity:.3;transition:opacity var(--transition-fast);margin-left:4px;font-size:10px}.data-table th.sorted .sort-icon,.result-table th.sorted .sort-icon{opacity:.7}.data-table th:hover .sort-icon{opacity:.6}.data-table td,.result-table td{color:var(--text);text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;text-align:center;background:inherit;max-width:180px;padding:5px 10px;font-size:12px;line-height:1.4;overflow:hidden}.data-table td.text-left,.result-table td.text-left{text-align:left}.data-table td.text-right,.result-table td.text-right{text-align:right}.data-table td.no-ellipsis,.result-table td.no-ellipsis{white-space:normal;text-overflow:clip;max-width:320px;line-height:1.5;overflow:visible}.data-table td.compact,.result-table td.compact{padding:4px 8px;font-size:12px}.data-table.compact-table tbody tr,.result-table.compact-table tbody tr{height:36px}.data-table.compact-table td,.result-table.compact-table td{padding:5px 10px;font-size:12px;line-height:1.4}.data-table .col-price,.data-table .col-unit,.data-table .col-date,.result-table .col-price,.result-table .col-unit,.result-table .col-date{text-align:center;padding-right:20px}.data-table .col-price .price-main,.result-table .col-price .price-main,.data-table .col-price .price-tax,.result-table .col-price .price-tax{text-align:center}.data-table tbody tr,.result-table tbody tr{border-bottom:1px solid var(--border-light);transition:background var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);background:var(--surface);z-index:1;height:36px;position:relative}.data-table tbody tr:nth-child(2n),.result-table tbody tr:nth-child(2n){background:rgba(var(--primary-rgb), .04)}.data-table tbody tr:last-child,.result-table tbody tr:last-child{border-bottom:none}.data-table tbody tr,.result-table tbody tr{position:relative}.data-table tbody tr:before,.result-table tbody tr:before{content:"";background:var(--primary);opacity:0;transform-origin:50%;pointer-events:none;width:3px;transition:opacity .15s,transform .15s;position:absolute;top:0;bottom:0;left:0;transform:scaleY(.3)}.data-table tbody tr:hover:before,.result-table tbody tr:hover:before{opacity:1;transform:scaleY(1)}.data-table tbody tr:hover,.result-table tbody tr:hover{transition:all var(--transition-fast);z-index:2;transform:scale(1.002);box-shadow:0 1px 4px #0f172a0f;background:rgba(var(--primary-rgb), .06)!important}.data-table.no-row-hover tbody tr:hover,.result-table.no-row-hover tbody tr:hover{background:inherit!important}.data-table tbody .data-row{cursor:pointer}.data-table tbody .data-row.row-expanded{background:rgba(var(--primary-rgb), .06)!important}.detail-row td{border-bottom:1px solid var(--border)!important;padding:0!important}.detail-panel{background:rgba(var(--primary-rgb), .02);border-top:1px solid var(--border-light);padding:14px 20px;animation:.2s cubic-bezier(.4,0,.2,1) detailSlideIn}@keyframes detailSlideIn{0%{opacity:0;max-height:0;padding-top:0;padding-bottom:0}to{opacity:1;max-height:300px;padding-top:14px;padding-bottom:14px}}.detail-panel-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px 20px;display:grid}.detail-field{flex-direction:column;gap:2px;display:flex}.detail-field.full-width{grid-column:1/-1}.detail-field-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:600}.detail-field-value{color:var(--text);word-break:break-word;font-size:13px;font-weight:500}.detail-field-value.spec-full{font-family:var(--font-mono-num);color:var(--text-2);font-size:12px;line-height:1.5}.detail-field-value.price-em{color:var(--primary);font-size:16px;font-weight:700}.nav-tab{border-radius:var(--radius-sm);color:#0f172aa6;cursor:pointer;letter-spacing:.3px;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;height:60px;margin:0;padding:4px 12px;font-family:inherit;font-size:14px;font-weight:600;transition:all .3s;display:flex}.top-bar-brand{color:var(--text);letter-spacing:.5px;white-space:nowrap;font-size:16px;font-weight:700}.filter-bar-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-width:180px;color:var(--text);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;flex:1;padding:8px 14px;font-family:inherit;font-size:14px}.filter-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px;font-size:11px;font-weight:600;display:block}.badge{border-radius:var(--radius-sm);white-space:nowrap;letter-spacing:.2px;padding:2px 8px;font-size:11px;font-weight:600;line-height:1.4}.panel-title{font-size:var(--fs-card-title);color:var(--text);font-weight:700}.card-title{font-size:var(--fs-card-title);color:var(--text-2);margin-bottom:12px;font-weight:600}.section-title{font-size:var(--fs-section-title);color:var(--text);font-weight:700}.dist-title,.cat-title,.health-title{font-size:var(--fs-page-title);color:var(--text);text-shadow:0 2px 12px #2563eb33;font-weight:700}.dist-subtitle,.cat-subtitle,.health-subtitle{color:var(--text-3);margin-top:4px;font-size:12px}.main-layout{flex-direction:column;gap:16px;padding:16px;display:flex}.filter-sidebar{width:240px;top:calc(var(--topbar-h,56px) + 20px);flex-shrink:0;position:sticky}.sidebar-section{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow);overflow:visible}.sidebar-section-title{color:var(--text-2);text-transform:uppercase;letter-spacing:.8px;border-bottom:1px solid var(--border-light);background:var(--surface-2);padding:14px 16px 12px;font-size:12px;font-weight:700}.qf-row{align-items:center;gap:6px;display:flex}.qf-select{flex:1}.qf-search{flex:1;padding:8px;font-size:13px}.advanced-filter-toggle{cursor:pointer;color:var(--text-2);border-top:1px solid var(--border-light);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:10px 12px;font-size:12px;font-weight:600;display:flex}.advanced-filter-toggle:hover{background:var(--surface-2)}.toggle-arrow{font-size:10px;transition:transform .2s}.toggle-arrow.open{transform:rotate(180deg)}.filter-group{padding:10px 12px 0}.filter-group:last-of-type{padding-bottom:4px}.filter-input{color:#1e293b;border-radius:var(--radius-sm);background:#fff;border:1px solid #f1f5f999;outline:none;width:100%;padding:8px 10px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}.filter-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb66}.filter-input::placeholder{color:#475569}.filter-input:disabled{color:#475569;cursor:not-allowed;background:#fff}.price-range-row{align-items:center;gap:5px;display:flex}.price-input{width:78px}.price-dash{color:var(--text-3);flex-shrink:0;font-size:13px}.filter-actions{gap:8px;padding:14px;display:flex}.btn-primary{background:var(--primary-grad);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:opacity var(--transition), transform var(--transition-fast), box-shadow var(--transition);letter-spacing:.3px;box-shadow:var(--shadow-primary);border:none;flex:1;padding:9px 12px;font-family:inherit;font-size:13px;font-weight:600}.btn-primary:hover{opacity:1;background:var(--primary-grad-hover);transform:translateY(-1px);box-shadow:0 6px 20px #2563eb66,0 2px 8px #2563eb33}.btn-primary:active{transform:scale(.97)}.btn-ghost{color:#475569;border-radius:var(--radius-sm);cursor:pointer;background:#fff;border:1px solid #f1f5f999;flex-shrink:0;padding:9px 12px;font-family:inherit;font-size:13px;transition:all .15s}.btn-ghost:hover{color:#2563eb;background:#2563eb1a;border-color:#2563eb4d}.cs-wrapper{width:100%;position:relative}.cs-trigger{cursor:pointer;box-sizing:border-box;align-items:center;width:100%;min-height:36px;display:flex;background:var(--surface)!important;border:1px solid var(--border)!important;border-radius:var(--radius-sm)!important;transition:border-color var(--transition-fast), box-shadow var(--transition-fast)!important;padding:8px 28px 8px 10px!important}.cs-trigger:focus,.cs-trigger.open{border-color:var(--primary)!important;box-shadow:var(--shadow-focus)!important}.cs-value{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.cs-value.placeholder{color:var(--text-3)}.cs-arrow{color:var(--text-3);flex-shrink:0;margin-left:4px;font-size:10px;transition:transform .2s}.cs-trigger.open .cs-arrow{transform:rotate(180deg)}.cs-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:1000;min-width:100%;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden;box-shadow:0 10px 24px #e2e8f0}.cs-search-wrap{border-bottom:1px solid var(--border);padding:6px}.cs-search{box-sizing:border-box;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);outline:none;padding:6px 10px;font-family:inherit;font-size:12px}.cs-search:focus{border-color:var(--primary)}.cs-options{max-height:200px;overflow-y:auto}.cs-options::-webkit-scrollbar{width:4px}.cs-options::-webkit-scrollbar-thumb{background:var(--text-3);border-radius:2px}.cs-option{cursor:pointer;color:var(--text);transition:background var(--transition-fast);justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:flex}.cs-option:hover,.cs-option.focused{background:rgba(var(--primary-rgb), .06)}.cs-option.selected{color:var(--primary);font-weight:600}.cs-opt-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.cs-opt-count{color:var(--text-3);flex-shrink:0;font-family:ui-monospace,SF Mono,Consolas,Liberation Mono,monospace;font-size:11px}.cs-empty{text-align:center;color:var(--text-3);padding:14px;font-size:12px}.cs-drop-enter-active,.cs-drop-leave-active{transition:opacity .15s,transform .15s}.cs-drop-enter-from,.cs-drop-leave-to{opacity:0;transform:translateY(-4px)}.content-area{box-sizing:border-box;flex:1;width:100%;min-width:0;padding:16px 20px 20px}.list-tree-layout .content-area{flex-direction:column;min-height:0;display:flex;overflow:hidden}.scroll-panel{min-height:0;overflow-y:overlay;flex:1;overflow-y:scroll}.scroll-panel::-webkit-scrollbar{width:8px}.scroll-panel::-webkit-scrollbar-track{background:0 0}.scroll-panel::-webkit-scrollbar-thumb{background:#0f172a26;border-radius:4px}.scroll-panel::-webkit-scrollbar-thumb:hover{background:#0f172a40}.content-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);flex-direction:column;padding:0;display:flex;overflow:hidden}.list-tree-layout .content-card{flex:1;min-height:0}.table-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);box-shadow:var(--shadow-card);padding:0;overflow:hidden}.content-card.table-card{background:#0f172a14;border-radius:14px;padding:0;overflow:hidden;box-shadow:0 8px 32px #e2e8f0}.table-card-header{border-bottom:1px solid var(--border-light);background:var(--surface-2);justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.table-count{color:var(--text-2);font-size:13px}.table-scroll{flex:1;min-height:0;overflow:auto}.result-table,.data-table{border-collapse:collapse;border-spacing:0;table-layout:auto;width:100%;font-size:13px}.result-table thead{background:var(--surface);z-index:3;position:sticky;top:0}.result-table td.price-cell{white-space:nowrap;vertical-align:middle;text-align:center;padding-top:0!important}.result-table td.tax-price-cell{white-space:nowrap;vertical-align:top;text-align:center;font-size:12px;color:var(--text-3)!important;padding-top:10px!important}.result-table td.unit-cell{white-space:nowrap;vertical-align:middle;text-align:center;color:var(--text)!important;font-size:12px!important}.result-table td.date-cell{white-space:nowrap;text-align:center;font-size:12px;color:#475569!important}.pagination{border-top:1px solid var(--border-light);background:var(--surface-2);flex-shrink:0;justify-content:center;align-items:center;gap:4px;padding:12px 18px;display:flex}.page-btn{background:var(--surface);border:1px solid var(--border);min-width:32px;height:30px;color:var(--text-2);cursor:pointer;transition:all var(--transition-fast);border-radius:6px;justify-content:center;align-items:center;padding:0 7px;font-family:inherit;font-size:13px;display:inline-flex}.page-btn:hover:not(:disabled){background:rgba(var(--primary-rgb), .08);color:var(--primary);border-color:rgba(var(--primary-rgb), .2)}.page-btn:disabled{opacity:.3;cursor:not-allowed}.page-btn.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:none;font-weight:600}.page-btn.nav{padding:0 9px;font-size:14px}.page-btn.ellipsis{cursor:default;color:var(--text-3)}.page-btn.ellipsis:hover:not(:disabled){background:#fff;border-color:#f1f5f999}.page-size-wrap{color:var(--text-3);align-items:center;gap:5px;margin-left:10px;font-size:12px;display:flex}.page-size-select{color:#1e293b;border-radius:var(--radius-sm);cursor:pointer;background:#fff;border:1px solid #f1f5f999;outline:none;height:32px;padding:4px 8px;font-family:inherit;font-size:13px}.page-jump-wrap{color:var(--text-3);align-items:center;gap:5px;margin-left:6px;font-size:12px;display:flex}.page-jump{background:var(--surface);border:1px solid var(--border);width:50px;color:var(--text);border-radius:var(--radius-sm);text-align:center;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);-moz-appearance:textfield;outline:none;height:30px;padding:4px 7px;font-family:inherit;font-size:13px}.page-jump::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.page-jump::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.page-jump:focus{border-color:var(--primary);box-shadow:var(--shadow-focus)}.loading-overlay{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-card);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:60px 20px;display:flex}.loading-spinner{border:2.5px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:var(--text-3);font-size:13px}.empty-state{background:var(--surface);border-radius:var(--radius);border:1px dashed var(--border);text-align:center;box-shadow:var(--shadow-card);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:60px 20px;display:flex}.empty-icon{opacity:.3;font-size:28px}.empty-title{color:var(--text-2);font-size:14px;font-weight:500}.empty-hint{color:var(--text-3);font-size:12px}.empty-suggestions{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.suggestion-chip{border-radius:var(--radius-round);background:rgba(var(--primary-rgb), .08);color:var(--primary);cursor:pointer;border:1px solid rgba(var(--primary-rgb), .15);transition:background var(--transition-fast);padding:2px 10px;font-size:11px}.suggestion-chip:hover{background:rgba(var(--primary-rgb), .15)}.error-state{background:var(--surface);border-radius:var(--radius);border:1px solid rgba(var(--danger-rgb), .2);border-left:4px solid var(--danger);text-align:center;box-shadow:var(--shadow-card);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:60px 20px;display:flex}.error-icon{opacity:.4;font-size:48px}.error-title{color:var(--danger);font-size:14px;font-weight:600}.error-hint{color:var(--text-3);font-size:12px}.error-retry-btn{margin-top:8px;padding:8px 20px;font-size:13px}.toast{background:var(--surface,#fff);border:1px solid var(--surface-3,#e2e8f0);color:var(--text,#0f172a);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg,0 4px 8px #0f172a0d);z-index:9999;white-space:nowrap;text-overflow:ellipsis;max-width:360px;padding:12px 20px;font-size:13px;position:fixed;bottom:24px;right:24px;overflow:hidden}.toast--success{border-left:3px solid var(--status-ok,#16a34a)}.toast--error{border-left:3px solid var(--danger,#dc2626)}.toast--info{border-left:3px solid var(--primary,#2563eb)}.toast--warn{border-left:3px solid var(--status-warn,#ea580c)}.toast-enter-active{animation:.25s toastIn}.toast-leave-active{animation:.2s toastOut}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)scale(.96)}}@keyframes toastOut{to{opacity:0;transform:translateY(-6px)scale(.96)}}.breed-match{color:#b45309;background:#fbbf2426;border-radius:2px;padding:0 2px;font-weight:700}@media (width<=900px){.main-layout{flex-direction:column}.filter-sidebar{width:100%;position:static}.sidebar-section{border-radius:var(--radius)}}.province-bar-cell{z-index:2;background:inherit;align-items:center;gap:8px;position:sticky;left:0;display:flex!important}.province-bar{opacity:.8;border-radius:2px;flex-shrink:0;width:4px;height:20px}.breed-text{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden;color:var(--text)!important}.price-cell{transition:background .15s;position:relative}.price-cell.price-high{border-left:2px solid #ef4444;background:linear-gradient(90deg,#f871711f,#f8717105)!important}.price-cell.price-high .price-main{color:#ef4444!important}.price-cell.price-low{border-left:2px solid #2563eb;background:linear-gradient(90deg,#2563eb1a,#2563eb05)!important}.price-cell.price-low .price-main{color:#2563eb!important}.price-main:empty:before,.price-main[data-empty=true]:before{content:"--";color:#475569}.price-cell.no-price .price-main{color:#475569!important}.price-cell.no-price .price-tax{opacity:.4}.price-tax{color:#2563eb;text-align:center;margin-top:1px;font-family:ui-monospace,SF Mono,Consolas,Liberation Mono,monospace;font-size:11px;font-weight:600}.price-change{text-align:center;border-radius:3px;margin-top:3px;padding:1px 6px;font-size:12px;font-weight:700;display:inline-block}.change-up{color:#ef4444;background:#f871711a}.change-down{color:#10b981;background:#34d3991a}.tab-loading{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-card);color:var(--text-3);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:60px 20px;font-size:13px;display:flex}.stale-row td{opacity:.6}.stale-date{background:#4755691f;border:1px dashed #47556966;border-radius:3px;padding:1px 5px;font-size:11px;font-style:italic;display:inline-block;color:#475569!important}.skeleton-header{background:var(--surface-2);border-bottom:1px solid #e2e8f0;gap:0;padding:11px 14px;display:flex}.skeleton-row{background:#fff;border-bottom:1px solid #e2e8f0;align-items:center;gap:12px;padding:10px 14px;display:flex}.skeleton-col{background:linear-gradient(90deg,#1e293b 25%,#334155 50%,#1e293b 75%) 0 0/200% 100%;border-radius:3px;flex-shrink:0;flex-basis:auto;height:14px;animation:1.4s infinite shimmer}.skeleton-col.has-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.4px;background:0 0;align-items:center;height:auto;font-size:11px;font-weight:600;animation:none;display:flex}.skeleton-footer{height:48px;color:var(--text-3);border-top:1px solid #e2e8f0;justify-content:center;align-items:center;font-size:12px;font-weight:500;display:flex}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.toolbar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);justify-content:space-between;align-items:center;margin-bottom:8px;padding:8px 14px;display:flex}.toolbar-left{align-items:center;gap:16px;display:flex}.toolbar-page{color:#475569;border-left:1px solid #0f172a14;margin-left:8px;padding-left:8px;font-size:12px}.toolbar-right{align-items:center;gap:16px;display:flex}.toolbar-btn{border-radius:var(--radius-sm);color:#475569;cursor:pointer;background:#fff;border:1px solid #f1f5f999;align-items:center;gap:4px;padding:5px 10px;font-family:inherit;font-size:12px;transition:all .2s;display:inline-flex}.toolbar-btn:hover{color:#2563eb;background:#2563eb66;border-color:#2563eb4d}.col-config-wrap{position:relative}.col-config-dropdown{z-index:200;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);min-width:140px;position:absolute;top:calc(100% + 4px);right:0;overflow:hidden}.col-config-title{color:var(--text-3);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-light);background:var(--surface-2);padding:8px 12px 6px;font-size:11px;font-weight:700}.col-toggle{cursor:pointer;color:var(--text);align-items:center;gap:8px;padding:7px 12px;font-size:13px;transition:background .1s;display:flex}.col-toggle:hover{background:var(--primary-dim)}.col-toggle input{cursor:pointer;accent-color:var(--primary)}.search-history{flex-wrap:wrap;align-items:center;gap:4px;margin-top:6px;padding:0 12px;display:flex}.history-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px;font-size:11px;font-weight:600;display:block}.history-chip{background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);cursor:pointer;border-radius:20px;padding:2px 8px;font-size:11px;transition:all .15s;display:inline-block}.history-chip:hover{background:var(--primary-dim);border-color:var(--primary);color:var(--primary)}.price-presets{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.preset-chip{background:var(--surface-2);border:1px solid var(--border);color:var(--text-3);cursor:pointer;border-radius:4px;padding:2px 8px;font-size:11px;transition:all .15s;display:inline-block}.preset-chip:hover,.preset-chip.active{background:var(--primary-dim);border-color:var(--primary);color:var(--primary)}.preset-chip.active{font-weight:700}.date-presets-inline{border-left:1px solid var(--border-light);align-items:center;gap:4px;margin-left:4px;padding-left:8px;display:inline-flex}.preset-chip-inline{background:var(--surface-2);border:1px solid var(--border);color:var(--text-3);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;padding:3px 9px;font-size:11px;transition:all .15s;display:inline-block}.preset-chip-inline:hover{background:var(--primary-dim);border-color:var(--primary);color:var(--primary)}.preset-chip-inline.active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:700}.data-row:hover{background:var(--primary-dim)!important}.data-row:hover td{opacity:1!important}.spec-text{text-overflow:ellipsis;white-space:nowrap;max-width:150px;display:block;overflow:hidden}.empty-actions{justify-content:center;gap:8px;margin-top:14px;display:flex}.meta-value.accent{text-shadow:none;color:var(--success)!important}.table-count strong{color:var(--primary);font-weight:700}.breed-cell{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-width:0;display:flex}.breed-name{color:var(--text);font-size:13px;font-weight:600;line-height:1.3;display:block}.breed-meta{z-index:1;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;margin-top:3px;display:flex;position:relative;background:0 0!important}.attr-cell{flex-wrap:wrap;align-items:center;gap:4px;padding:2px 0;display:flex}.meta-tag{white-space:nowrap;text-overflow:ellipsis;letter-spacing:.3px;border-radius:4px;align-items:center;gap:3px;max-width:180px;padding:2px 6px;font-size:10px;font-weight:500;transition:filter .15s;display:inline-flex;overflow:hidden}.meta-sep{color:var(--text-3);font-size:11px}.province-bar-inline{align-items:center;gap:8px;max-width:100%;display:flex;overflow:hidden}.view-tabs{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);gap:0;display:flex;overflow:hidden}.view-tab{color:var(--text-3);cursor:pointer;background:0 0;border:none;padding:5px 12px;font-family:inherit;font-size:12px;transition:all .15s}.view-tab.active{background:var(--primary);color:#fff;font-weight:600}.chart-view{margin-top:14px}.change-boards{grid-template-columns:1fr 1fr;gap:14px;display:grid}.change-boards-caption{color:#dc2626;text-align:center;padding:0 0 8px;font-size:11px;line-height:1.4}.change-board{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.change-board-title{border-bottom:1px solid var(--border-light);background:var(--surface-2);padding:10px 14px;font-size:13px;font-weight:700}.gainers .change-board-title{color:var(--success)}.losers .change-board-title{color:var(--danger)}.change-item{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:8px 14px;font-size:12px;display:flex}.change-item:last-child{border-bottom:none}.change-breed{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;margin-right:8px;font-weight:500;overflow:hidden}.change-pct{flex-shrink:0;font-family:ui-monospace,SF Mono,Consolas,Liberation Mono,monospace;font-size:13px;font-weight:700}.change-pct.up{color:var(--success)}.change-pct.down{color:var(--danger)}@keyframes cardIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.content-card{min-height:300px;animation:.25s cubic-bezier(.4,0,.2,1) cardIn}.skeleton-card{animation:.15s cubic-bezier(.4,0,.2,1) cardIn}.error-state,.empty-state{animation:.25s cubic-bezier(.4,0,.2,1) cardIn}.list-toolbar-sticky{top:var(--topbar-h,56px);z-index:90;background:var(--bg);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm);flex-shrink:0;margin:0 0 8px;padding:0;position:sticky}.list-toolbar-sticky .category-breadcrumb{background:var(--surface);border-bottom:1px solid var(--border-light);padding:6px 16px}.list-toolbar-sticky .filter-bar-inside{background:var(--surface);border-bottom:1px solid var(--border-light);padding:8px 16px}.list-toolbar-sticky .filter-tags{background:var(--surface-2);border-bottom:1px solid var(--border-light);padding:6px 16px}@media (width<=768px){.list-toolbar-sticky{top:var(--topbar-h,56px)}}.category-breadcrumb{color:var(--text-2);flex-shrink:0;align-items:center;gap:6px;padding:8px 0 0;font-size:12px;display:flex}.breadcrumb-icon{flex-shrink:0;font-size:14px}.breadcrumb-sep{color:var(--text-3);margin:0 2px;font-size:10px}.breadcrumb-part{color:var(--text-2);background:var(--surface-2);transition:all var(--transition-fast);border-radius:4px;padding:2px 6px;font-weight:500}.breadcrumb-part.active{color:var(--primary);background:var(--primary-dim);font-weight:700}.filter-bar{top:var(--topbar-h,56px);z-index:100;background:var(--surface);border-bottom:1px solid var(--border);min-width:0;box-shadow:var(--shadow-sm);flex-wrap:wrap;align-content:flex-start;align-items:center;gap:10px;padding:12px 20px;display:flex;position:sticky;overflow:hidden}.filter-bar-inside{z-index:auto;background:var(--surface);box-shadow:none;border-bottom:1px solid var(--border-light);border-radius:0;flex-shrink:0;margin:0;padding:10px 14px;position:static}.filter-bar-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1e40af2e,0 0 12px #1e40af1a}.filter-bar-input::placeholder{color:var(--text-3)}.filter-bar-select{flex-shrink:0;width:150px}.filter-bar-history{flex-wrap:nowrap;align-items:center;gap:6px;display:flex;overflow:hidden}.btn-more{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-2);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;padding:7px 14px;font-family:inherit;font-size:13px}.btn-more:hover{background:rgba(var(--primary-rgb), .06);border-color:rgba(var(--primary-rgb), .25);color:var(--primary);transform:translateY(-1px);box-shadow:0 2px 8px #2563eb26}.btn-more.btn-active{background:#2563eb1f;border-color:#2563eb}.btn-export{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-2);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;padding:7px 14px;font-family:inherit;font-size:13px}.btn-export:hover:not(:disabled){color:#16a34a;background:#22c55e14;border-color:#16a34a}.btn-export:disabled{opacity:.45;cursor:not-allowed}.list-tree-layout{flex:1;min-height:0;display:flex}.list-tree-panel{border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:240px;transition:width .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.list-tree-panel.collapsed{width:36px}.panel-toggle{z-index:10;border:1px solid var(--border);background:var(--surface);width:24px;height:24px;color:var(--text-3);cursor:pointer;transition:all var(--transition-fast);border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:12px;line-height:1;display:flex;position:absolute;bottom:12px;right:4px}.panel-toggle:hover{background:var(--primary-dim);color:var(--primary);border-color:var(--primary-soft)}.list-tree-panel.collapsed .panel-toggle{right:6px}.panel-inner{flex-direction:column;flex:1;min-height:0;display:flex}.drawer-backdrop{z-index:199;pointer-events:auto;background:#0f172a1a;position:fixed;inset:0}.drawer{background:var(--surface);border-left:1px solid var(--border);z-index:200;flex-direction:column;width:320px;height:100vh;display:flex;position:fixed;top:0;right:0;overflow-y:auto;box-shadow:-4px 0 24px #0f172a14}.drawer-header{border-bottom:1px solid var(--border);color:#1e293b;justify-content:space-between;align-items:center;padding:16px 20px;font-size:14px;font-weight:600;display:flex}.drawer-close{cursor:pointer;color:var(--text-3);padding:4px;font-size:18px}.drawer-close:hover{color:#1e293b}.drawer-body{flex:1;padding:12px 16px;overflow:visible}.drawer-body .filter-group{padding:10px 0}.cs-wrapper{overflow:visible}.drawer-footer{padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid #0f172a14;gap:10px;display:flex}.drawer-footer .btn-primary,.drawer-footer .btn-ghost{text-align:center;flex:1;min-height:44px;padding:12px}.drawer-enter-active,.drawer-leave-active{transition:opacity .25s,transform .25s}.drawer-enter-from,.drawer-leave-to{opacity:0;transform:translate(100%)}.fade-enter-active,.fade-leave-active{transition:opacity .2s}.fade-enter-from,.fade-leave-to{opacity:0}.btn-chart-toggle{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-2);white-space:nowrap;flex-shrink:0;padding:6px 12px;font-size:13px;transition:all .15s}.btn-chart-toggle:hover{background:var(--surface-3);color:var(--text)}.btn-chart-toggle.active{background:var(--primary);color:#fff;border-color:var(--primary)}@media (width>=1101px) and (width<=1400px){.list-tree-panel{width:200px}.data-table.compact-table .col-breed{width:220px!important;min-width:220px!important}.data-table.compact-table .col-spec{width:160px!important;min-width:160px!important}.content-card{padding:12px}}@media (width<=1200px){.sync-grid{grid-template-columns:repeat(2,1fr)!important}.province-chart-grid{grid-template-columns:repeat(3,1fr)!important}.list-tree-panel{width:180px}}@media (width<=1100px) and (width>=901px){.list-tree-panel{width:200px}.content-area{padding:0 12px}}@media (width<=900px){.sync-grid{grid-template-columns:repeat(1,1fr)!important}.province-chart-grid{grid-template-columns:repeat(2,1fr)!important}}@media (width<=768px){:root{--page-pad-x:12px;--page-pad-y:10px;--fs-page-title:14px}html{font-size:14px}body{font-size:13px}.top-bar{gap:0;height:50px;padding:0 12px}.top-bar-meta{display:none}.top-bar-brand{margin-right:8px;font-size:13px}.sidebar{z-index:100;width:240px;max-height:calc(100vh - 50px);transition:transform .25s;position:fixed;top:50px;left:0;transform:translate(-100%);box-shadow:4px 0 16px #00000080}.dashboard.mobile-sidebar-open .sidebar{transform:translate(0)}.mobile-sidebar-backdrop{z-index:99;background:#00000080;display:block;position:fixed;inset:50px 0 0}.main-content{width:100%}.sync-subtabs{gap:4px;padding:10px 12px 0}.sync-subtab{padding:6px 10px;font-size:12px}.sync-subtab-hint{display:none}.cockpit-kpi-row,[class*=-kpi-grid]{grid-template-columns:repeat(2,1fr)!important}.pipeline-grid,.pipelines-grid,.scrape-grid,.sync-grid,.skill-updates-grid{grid-template-columns:1fr!important}.filter-bar{gap:8px;padding:8px 12px;top:50px}.filter-bar-input{flex:1;min-width:0;padding:7px 10px;font-size:13px}.btn-more{white-space:nowrap;padding:7px 10px;font-size:12px}.filter-tags{gap:5px}.filter-tag{padding:3px 8px;font-size:12px}.content-area{padding:10px 12px 80px}.content-card{border-radius:var(--radius)}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.result-table{min-width:600px;font-size:12px}.result-table th,.result-table td{padding:8px 10px}.result-table tbody tr{height:44px}.pagination{flex-wrap:wrap;justify-content:center;gap:4px;padding:10px 8px}.page-jump-wrap,.page-size-wrap{display:none}.drawer{border-radius:16px 16px 0 0;width:100vw;max-height:80vh;inset:auto 0 0}.chart-card-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.chart-actions{gap:6px;display:flex}.chart-btn{color:var(--text-3);cursor:pointer;transition:all var(--transition-fast);background:#fff;border:1px solid #f1f5f999;border-radius:4px;align-items:center;gap:3px;padding:4px 10px;font-family:inherit;font-size:11px;display:inline-flex}.chart-btn:hover{color:var(--primary);border-color:var(--primary);background:#2563eb1a;transform:translateY(-1px)}.dist-page{gap:12px}.dist-header{border-radius:var(--radius);padding:12px 14px}.dist-subtitle{font-size:11px}.dist-card{border-radius:var(--radius);padding:12px 14px}.dist-cards{gap:12px}.province-chart-grid{grid-auto-rows:200px;grid-template-columns:1fr!important}.province-chart-cell{height:200px;padding:8px}.province-chart-box{height:150px;min-height:150px}.card-title{font-size:12px}.dist-table th,.dist-table td{padding:6px 8px;font-size:12px}.cat-page{gap:12px}.cat-header{border-radius:var(--radius);padding:12px 14px}.cat-subtitle{font-size:11px}.cat-grid{gap:10px;grid-template-columns:repeat(2,1fr)!important}.cat-card{border-radius:var(--radius);padding:12px}.cat-name{font-size:12px}.cat-emoji{font-size:18px;top:8px;right:8px}.cat-count{font-size:18px}.cat-pct{font-size:11px}.detail-stats{gap:8px;grid-template-columns:repeat(2,1fr)!important}.stat-card{padding:10px}.stat-value{font-size:16px}.breed-thead,.breed-row{grid-template-columns:30px 1fr 60px 60px!important}.health-page{gap:12px}.health-header{border-radius:var(--radius);padding:10px 14px}.health-subtitle{font-size:11px}.health-cards{gap:10px;grid-template-columns:repeat(2,1fr)!important}.stat-card-inner{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:14px 12px}.stat-label{white-space:normal;text-align:center;font-size:11px}.stat-num{font-size:26px}.sync-grid{grid-template-columns:repeat(1,1fr)!important}.sync-card{border-radius:var(--radius);padding:12px}.sync-card-title{overflow-wrap:break-word;max-width:100%;font-size:12px}.sync-card-header{flex-direction:column;align-items:flex-start;gap:6px}.sync-card-title-row{flex-wrap:wrap}.sync-card-meta{margin-bottom:8px}.sync-card-body{flex-direction:column;align-items:center;gap:10px}.sync-list-col{display:none!important}.sync-info-col{flex-direction:column;align-items:center;width:100%;display:flex}.sync-card-bar{border-radius:var(--radius-sm) 0 0 0;width:100%;height:3px}.sync-card-content{padding:10px 12px}.sync-card-bar.sync-card-bar{border-radius:var(--radius) 10px 0 0}.chart-panel{padding:12px}.btn-primary,.btn-ghost{padding:8px 12px;font-size:13px}.btn-refresh{padding:6px 10px;font-size:12px}.refresh-icon{font-size:12px}.empty-icon,.error-icon{font-size:36px}.empty-title,.error-title{font-size:14px}.empty-hint,.error-hint{font-size:12px}.toast{font-size:13px;bottom:80px;left:12px;right:12px}}@media (width<=480px){.nav-tab{padding:5px 6px;font-size:11px}.top-bar-brand{display:none}.cat-grid{grid-template-columns:1fr 1fr!important}.health-cards{grid-template-columns:repeat(2,1fr)!important}.province-chart-grid{grid-template-columns:1fr!important}.detail-stats{grid-template-columns:1fr 1fr!important}}@media (width<=768px){.table-desktop{display:none!important}}@media (width>=769px){.table-mobile{display:none!important}}.table-mobile{flex-direction:column;gap:8px;padding:0;display:flex}.mobile-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm);padding:12px 14px}.mobile-card:active{background:var(--surface-2);transform:scale(.98)}.mobile-card-expanded{border-color:var(--primary-soft);box-shadow:0 0 0 1px rgba(var(--primary-rgb), .2)}.mobile-card-main{justify-content:space-between;gap:12px;display:flex}.mobile-card-left{flex:1;min-width:0}.mobile-card-breed{color:var(--text);margin-bottom:4px;font-size:14px;font-weight:600;line-height:1.4}.mobile-card-spec{color:var(--text-2);font-size:12px;font-family:var(--font-mono-num);text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;overflow:hidden}.mobile-card-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.mobile-card-cat{background:var(--primary-dim);color:var(--primary);border-radius:3px;padding:1px 6px;font-size:10px;font-weight:500}.mobile-card-loc{color:var(--text-3);font-size:10px}.mobile-card-right{flex-direction:column;flex-shrink:0;justify-content:center;align-items:flex-end;min-width:80px;display:flex}.mobile-card-price{color:var(--primary);font-size:18px;font-weight:800;font-family:var(--font-mono-num);line-height:1.2}.mobile-card-unit{color:var(--text-3);font-size:10px}.mobile-card-date{color:var(--text-3);margin-top:2px;font-size:10px}.mobile-card-detail{border-top:1px solid var(--border-light);flex-direction:column;gap:6px;margin-top:10px;padding-top:10px;display:flex}@media (width<=768px){.result-table{font-size:12px}.result-table th,.result-table td{padding:6px 8px}.filter-bar{gap:6px;padding:10px 12px}.filter-bar-input{font-size:14px}.btn-more{padding:6px 10px;font-size:12px}.drawer{border-radius:0!important;width:100%!important;max-width:100%!important;right:0!important}.drawer-body{padding:16px 14px}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.pagination{flex-wrap:wrap;gap:4px;font-size:12px}.page-jump-wrap,.page-size-wrap{display:none}}@media (width<=480px){.result-table th.col-date,.result-table td.col-date{display:none}}.filter-tags{flex-wrap:wrap;align-items:center;gap:8px;display:flex;overflow:visible}.filter-tag{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);color:var(--text);align-items:center;gap:5px;padding:4px 10px;font-size:13px;display:inline-flex}.filter-tag strong{color:var(--text-2);font-weight:600}.filter-tag em{color:var(--primary);font-style:normal;font-weight:700}.tag-remove{cursor:pointer;color:var(--text-3);margin-left:2px;font-size:12px}.tag-remove:hover{color:var(--text)}.filter-tag-clear{color:var(--text-3);cursor:pointer;padding:4px 8px;font-size:12px}.filter-tag-clear:hover{color:#475569}.history-clear-btn{color:var(--text-3);cursor:pointer;background:0 0;border:none;border-radius:10px;margin-left:4px;padding:2px 6px;font-size:11px;transition:color .15s}.history-clear-btn:hover{color:var(--text-2)}.search-history-bar{flex-wrap:nowrap;align-items:center;gap:8px;padding:6px 16px;display:flex;overflow:hidden}.nav-tab:hover{color:#fff;background:#2563eb1f;border-bottom-color:#2563eb4d}.nav-tab.active{color:#2563eb;letter-spacing:.5px;background:#2563eb1a;border-bottom:3px solid #2563eb;font-weight:700;box-shadow:0 0 16px #2563eb1f}.sys-badge{color:#b45309;white-space:nowrap;text-overflow:ellipsis;background:#f59e0b1a;border:1px solid #f59e0b40;border-radius:4px;max-width:100px;padding:2px 6px;font-size:12px;display:inline-block;overflow:hidden}.cat-badge{color:#2563eb;white-space:nowrap;text-overflow:ellipsis;background:#2563eb1a;border:1px solid #2563eb33;border-radius:4px;max-width:110px;padding:2px 8px;font-size:12px;overflow:hidden}.meta-tag{padding:3px 8px;font-size:11px}span.meta-tag.tag-thickness{color:#2563eb;background:#2563eb1f;border:1px solid #2563eb40}span.meta-tag.tag-diameter{color:#7c3aed;background:#a78bfa1f;border:1px solid #a78bfa40}span.meta-tag.tag-grade{color:#1d4ed8;background:#60a5fa1f;border:1px solid #60a5fa40}span.meta-tag.tag-color{color:#059669;background:#34d3991f;border:1px solid #34d39940}span.meta-tag.tag-form{color:#7c3aed;background:#a78bfa1f;border:1px solid #a78bfa40}span.meta-tag.tag-series,span.meta-tag.tag-voltage{color:#b45309;background:#fbbf241f;border:1px solid #fbbf2440}span.meta-tag.tag-current{color:#dc2626;background:#f871711f;border:1px solid #f8717140}span.meta-tag.tag-cross{color:#7c3aed;background:#c084fc1f;border:1px solid #c084fc40}span.meta-tag.tag-material{color:#334155;background:#94a3b826;border:1px solid #94a3b84d}span.meta-tag.tag-ring_stiffness{color:#0d9488;background:#14b8a61f;border:1px solid #14b8a640}span.meta-tag.tag-length{color:#b45309;background:#f59e0b1f;border:1px solid #f59e0b40}span.meta-tag.tag-width{color:#7c3aed;background:#a855f71f;border:1px solid #a855f740}span.meta-tag.tag-height{color:#2563eb;background:#0ea5e91f;border:1px solid #0ea5e940}span.meta-tag.tag-height-range{color:#2563eb;background:#0ea5e914;border:1px solid #0ea5e933;font-style:italic}span.meta-tag.tag-asphalt{color:#475569;background:#64748b26;border:1px solid #64748b4d}span.meta-tag.tag-cement{color:#92742a;background:#a1845a26;border:1px solid #a1845a4d}span.meta-tag.tag-channels{color:#059669;background:#4ade801f;border:1px solid #4ade8040}span.meta-tag.tag-doors{color:#c2410c;background:#f973161f;border:1px solid #f9731640}span.meta-tag.tag-cores{color:#0d9488;background:#14b8a61f;border:1px solid #14b8a640}span.meta-tag.tag-fiber{color:#a21caf;background:#e879f91f;border:1px solid #e879f940}span.meta-tag.tag-range-len{color:#c2410c;background:#fb923c1f;border:1px solid #fb923c40}span.meta-tag.tag-media{color:#0e7490;background:#06b6d41f;border:1px solid #06b6d440}span.meta-tag.tag-range{color:#059669;background:#22c55e1f;border:1px solid #22c55e40}span.meta-tag.tag-output{color:#f9a8d4;background:#f472b61f;border:1px solid #f472b640}span.meta-tag.tag-cable{color:#4d7c0f;background:#84cc161f;border:1px solid #84cc1640}span.meta-tag.tag-temp{color:#be123c;background:#fb71851f;border:1px solid #fb718540}span.meta-tag.tag-humidity{color:#1d4ed8;background:#64a8e71f;border:1px solid #64a8e740}span.meta-tag.tag-drain{color:#4f46e5;background:#6366f11f;border:1px solid #6366f140}span.meta-tag.tag-install{color:#dc2626;background:#f565651f;border:1px solid #f5656540}span.meta-tag.tag-inlet{color:#0d9488;background:#2dd4bf1f;border:1px solid #2dd4bf40}span.meta-tag.tag-ip{color:#4d7c0f;background:#84cc161f;border:1px solid #84cc1640}span.meta-tag.tag-inner{color:#0e7490;background:#06b6d41f;border:1px solid #06b6d440}span.meta-tag.tag-wall{color:#2563eb;background:#0ea5e91f;border:1px solid #0ea5e940}span.meta-tag.tag-surface{color:#7c3aed;background:#a855f71f;border:1px solid #a855f740}span.meta-tag.tag-fire{color:#dc2626;background:#f871711f;border:1px solid #f8717140}span.meta-tag.tag-pressure{color:#a21caf;background:#e879f91f;border:1px solid #e879f940}span.meta-tag.tag-ring{color:#0d9488;background:#14b8a61f;border:1px solid #14b8a640}.meta-tag:hover{filter:brightness(1.15)}.meta-tag.city-tag{color:#475569;background:#64748b26;border:1px solid #64748b40;font-size:10px}.spec-quality-panel{border-radius:var(--radius);background:#0f172a0a;border:1px solid #0f172a14;margin-bottom:16px;padding:20px}.sq-header{align-items:center;gap:10px;margin-bottom:14px;display:flex}.sq-badge{border-radius:8px;padding:2px 12px;font-size:1.4rem;font-weight:700}.sq-badge.sq-ok{color:#059669;background:#22c55e33}.sq-badge.sq-warn{color:#fb923c;background:#fb923c33}.sq-sub{color:#0f172a73;font-size:.8rem}.sq-fail-row{background:#0f172a0a;border-radius:6px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:4px;padding:5px 8px;font-size:.78rem;display:flex}.sq-fail-spec{color:#fb923c;min-width:80px;font-weight:600}.sq-fail-cat{color:#f1f5f9b3}.sq-fail-exp{color:#059669;flex:1}.sq-fail-got{color:#ef4444}.sq-sample-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px;display:grid}.sq-sample-card{background:#0f172a0a;border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px}.sq-sample-card.no-attr{opacity:.75;border-color:#ef444433}.sq-sample-spec{color:#0f172ad9;word-break:break-all;margin-bottom:4px;font-size:.82rem}.sq-sample-meta{align-items:center;gap:6px;margin-bottom:4px;display:flex}.tag-ok{color:#059669;background:#22c55e33;border-radius:4px;padding:2px 7px;font-size:.72rem}.tag-empty{background:var(--surface);color:#0f172a59;border-radius:4px;padding:2px 7px;font-size:.72rem}.attr-chip{color:#1d4ed8;background:#3b82f626;border-radius:3px;padding:1px 5px;font-size:.65rem}.pipe-stage-btn{cursor:pointer;text-align:left;background:0 0;border:none;padding:0;transition:opacity .2s}.pipe-stage-btn:hover{opacity:.8}.pipe-stage-btn.disabled{opacity:.35;cursor:default}.dwd-drilldown-overlay{z-index:9999;background:#0f172a1f;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.dwd-drilldown-modal{background:#fff;border:1px solid #f1f5f999;border-radius:16px;flex-direction:column;width:100%;max-width:1400px;max-height:85vh;display:flex;overflow:hidden;box-shadow:0 24px 80px #0f172a14}.dwd-drilldown-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.dwd-drilldown-title{color:#0f172a;font-size:1.1rem;font-weight:600}.dwd-drilldown-close{background:var(--surface);color:#0f172a80;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;transition:background .2s;display:flex}.dwd-drilldown-close:hover{background:#0f172a1f}.dwd-drilldown-body{flex:1;padding:20px 24px;overflow-y:auto}.dwd-loading{color:#f1f5f9b3;text-align:center;padding:40px}.poll-toggle{background:var(--surface);color:#0f172a80;border-radius:var(--radius);cursor:pointer;border:1px solid #f1f5f999;flex-shrink:0;margin-left:auto;padding:3px 10px;font-size:.75rem;transition:all .2s}.poll-toggle.active{color:#059669;background:#22c55e1a;border-color:#22c55e4d}.poll-toggle:not(.active){color:#dc2626;background:#ef44441a;border-color:#ef44444d}.fix-overlay{z-index:9999;background:#cbd5e1;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.fix-modal{background:var(--surface);border:1px solid #0f172a1a;border-radius:16px;flex-direction:column;width:100%;max-width:640px;max-height:88vh;display:flex;overflow-y:auto;box-shadow:0 24px 80px #0f172a1f}.fix-header{background:var(--surface);z-index:1;border-bottom:1px solid #0f172a12;justify-content:space-between;align-items:center;padding:16px 20px;display:flex;position:sticky;top:0}.fix-title{color:#0f172a;letter-spacing:.3px;font-size:.9rem;font-weight:700}.fix-close{background:var(--surface);color:#0f172a80;cursor:pointer;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:1rem;display:flex}.fix-close:hover{background:#0f172a14}.fix-body{flex-direction:column;gap:12px;padding:14px 18px 20px;display:flex}.fix-spec-card{background:var(--surface-2);border-radius:var(--radius);border:1px solid #0f172a14;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.fix-spec-row{border-bottom:1px solid #0f172a0a;align-items:flex-start;gap:10px;padding:4px 0;display:flex}.fix-spec-row:last-child{border-bottom:none}.fix-spec-label{color:#0f172a61;flex-shrink:0;min-width:44px;padding-top:3px;font-size:.7rem}.fix-current{flex-wrap:wrap;flex:1;gap:5px;display:flex}.fix-spec-bar{background:var(--surface-2);border-radius:var(--radius);border:1px solid #0f172a14;padding:12px 14px}.fix-spec-bar-row{align-items:center;gap:10px;display:flex}.fix-spec-label{color:#0f172a61;flex-shrink:0;min-width:44px;font-size:.7rem}.fix-spec-value{color:#b45309;word-break:break-all;flex:1;font-family:Courier New,monospace;font-size:.88rem;font-weight:700}.fix-spec-sub{flex-direction:column;gap:4px;margin-top:8px;display:flex}.fix-spec-line{align-items:center;gap:8px;display:flex}.fix-attr-chip{color:#2563eb;background:#2563eb1f;border:1px solid #2563eb47;border-radius:20px;padding:2px 7px;font-size:.7rem;font-weight:600}.fix-ai-result-chip{color:#b45309;background:#fbbf241f;border:1px solid #fbbf2459;border-radius:20px;padding:2px 8px;font-size:.7rem;font-weight:600}.fix-current-empty{color:#0f172a38;font-size:.75rem}.fix-actions{display:flex}.btn-analyze{color:#1d4ed8;border-radius:var(--radius);cursor:pointer;background:#2563eb40;border:1px solid #2563eb80;justify-content:center;align-items:center;gap:8px;width:100%;padding:10px 20px;font-size:.85rem;font-weight:600;transition:background .2s,border-color .2s,box-shadow .2s;display:flex;box-shadow:0 2px 12px #2563eb26}.btn-analyze:hover{background:#2563eb61;border-color:#2563ebb3;box-shadow:0 4px 20px #2563eb40}.btn-analyze:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn-analyze-icon{font-size:.95rem}.fix-suggestions{flex-direction:column;gap:8px;display:flex}.fix-suggestions-header{align-items:center;gap:8px;padding:0 2px;display:flex}.fix-suggestions-count{color:#0f172a61;font-size:.75rem}.fix-suggestion-card{border-radius:var(--radius);background:#f8fafc;border:1px solid #0f172a17;transition:border-color .15s;overflow:hidden}.fix-suggestion-card:hover{border-color:#2563eb47}.fix-sg-card-header{background:#2563eb0f;border-bottom:1px solid #2563eb1a;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;display:flex}.fix-sg-rule-badge{flex-wrap:wrap;flex:1;align-items:center;gap:7px;min-width:0;display:flex}.fix-sg-attr-tag{background:var(--primary-dim);color:#2563eb;letter-spacing:.3px;white-space:nowrap;border:1px solid #2563eb59;border-radius:20px;padding:2px 7px;font-size:.68rem;font-weight:700}.fix-sg-note-tag{color:#0f172a99;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.78rem;overflow:hidden}.fix-sg-card-body{flex-direction:column;gap:7px;padding:10px 12px;display:flex}.fix-sg-pattern-row{align-items:center;gap:8px;display:flex}.fix-sg-key{color:#0f172a52;flex-shrink:0;min-width:44px;font-size:.68rem}.fix-sg-pattern{color:#b45309;text-overflow:ellipsis;white-space:nowrap;background:#fbbf2414;border-radius:6px;flex:1;padding:2px 8px;font-family:Courier New,monospace;font-size:.78rem;overflow:hidden}.fix-sg-code-block{background:#e2e8f0;border-radius:8px;padding:8px 10px;overflow-x:auto}.fix-sg-code{color:#059669;white-space:pre;margin:0;font-family:Courier New,monospace;font-size:.73rem;line-height:1.5}.fix-sg-card-footer{padding:8px 12px 11px}.btn-confirm-fix{color:#059669;cursor:pointer;background:#10b9811f;border:1px solid #10b98161;border-radius:8px;justify-content:center;align-items:center;gap:6px;width:100%;padding:8px;font-size:.82rem;font-weight:600;transition:background .2s,border-color .2s;display:flex}.btn-confirm-fix:hover{background:#10b98138;border-color:#10b9818c}.btn-confirm-fix:disabled{opacity:.5;cursor:not-allowed}.btn-confirm-fix.applied{color:#10b981;background:#10b98114;border-color:#10b98133}.fix-sg-result-row{align-items:center;gap:8px;display:flex}.fix-sg-result-tags{flex-wrap:wrap;flex:1;gap:4px;display:flex}.fix-sg-result-chip{color:#059669;background:#10b9811a;border:1px solid #10b98147;border-radius:20px;padding:2px 7px;font-size:.7rem;font-weight:600}.fix-loading-placeholder{color:#0f172a52;flex-direction:column;align-items:center;gap:14px;padding:32px 0;font-size:.8rem;display:flex}.fix-loading-funnel{justify-content:center;align-items:center;display:flex}.funnel-icon{filter:drop-shadow(0 0 8px #2563eb99);font-size:2rem;line-height:1}.dot{background:#2563eb99;border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite dotPulse}.dot:nth-child(2){animation-delay:.2s}.dot:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.fix-result{margin-top:2px}.fix-result-ok{color:#059669;border-radius:var(--radius);background:#10b9811a;border:1px solid #10b9814d;padding:10px 14px;font-size:.82rem;font-weight:500}.fix-result-fail{color:#dc2626;border-radius:var(--radius);background:#ef44441a;border:1px solid #ef44444d;padding:10px 14px;font-size:.82rem;font-weight:500}.sq-coverage{margin-bottom:16px}.sq-coverage-summary{color:#f1f5f9b3;align-items:center;gap:6px;margin-left:8px;font-size:.72rem;display:flex}.sq-green-dot{background:#16a34a;border-radius:50%;width:8px;height:8px;display:inline-block}.sq-red-dot{background:#dc2626;border-radius:50%;width:8px;height:8px;display:inline-block}.sq-cov-list{grid-template-columns:1fr 1fr;gap:3px 8px;display:grid}.sq-cov-item{background:var(--surface);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:5px 8px;font-size:.72rem;display:flex}.sq-cov-item:hover{background:var(--surface)}.sq-cov-item.cat-active{background:#2563eb1a}.sq-cov-cat{color:#0f172acc;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;width:72px;font-size:.72rem;overflow:hidden}.sq-cov-bar-wrap{background:#0f172a14;border-radius:3px;flex:1;min-width:40px;height:6px;overflow:hidden}.sq-cov-bar{border-radius:4px;height:100%;transition:width .3s}.bar-red{background:linear-gradient(90deg,#dc2626,#ef4444)}.bar-amber{background:linear-gradient(90deg,#b45309,#b45309)}.bar-green{background:linear-gradient(90deg,#16a34a,#22c55e)}.sq-cov-pct{color:#0f172acc;flex-shrink:0;width:32px;font-size:.72rem;font-weight:500}.sq-cov-count{color:#0f172a4d;flex:none;font-size:.7rem}.sq-sample-btn{color:#0f172a80;cursor:pointer;text-align:center;background:0 0;border:1px solid #0f172a2e;border-radius:4px;flex-shrink:0;padding:2px 7px;font-size:.68rem;transition:all .2s}.sq-sample-btn:hover{color:#2563eb;border-color:#2563eb80}.sq-sample-btn.btn-active{color:#2563eb;background:#2563eb1f;border-color:#2563ebb3}.sq-clean-btn{color:#0f172a80;cursor:pointer;text-align:center;background:0 0;border:1px solid #0f172a2e;border-radius:4px;flex-shrink:0;padding:2px 7px;font-size:.68rem;transition:all .2s}.sq-clean-btn:hover{color:#ef4444;border-color:#f8717180}.sq-clean-btn:disabled{opacity:.4;cursor:not-allowed}.sq-sample-actions{align-items:center;gap:8px;display:flex}.sq-clear-btn{color:#0f172a59;cursor:pointer;font-size:.72rem}.sq-clear-btn:hover{color:#ef4444}.sq-refresh-btn{color:#0f172a59;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:.8rem}.sq-refresh-btn:hover{color:#2563eb}.sq-sample-header{align-items:center;gap:6px;padding:6px 0 8px;display:flex}.sq-sample-label{color:#0f172a73;font-size:.72rem}.sq-sample-count{color:#2563eb;font-size:1rem;font-weight:700}.sq-sample-unit{color:#0f172a73;font-size:.72rem}.sq-sample-tip{color:#b45309;margin-left:6px;font-size:.7rem}.sq-sample-card{background:#0f172a0a;border:1px solid #0f172a14;border-radius:8px;flex-direction:column;gap:5px;padding:10px 12px;transition:all .2s;display:flex}.sq-sample-card:hover{background:var(--surface);border-color:#0f172a1f}.sq-sample-card.has-attr{border-color:#22c55e33}.sq-sample-top{justify-content:space-between;align-items:center;gap:6px;display:flex}.sq-sample-spec{color:#0f172ad9;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.8rem;font-weight:500;overflow:hidden}.sq-sample-status{border-radius:var(--radius);flex-shrink:0;padding:1px 6px;font-size:.72rem}.status-ok{color:#059669;background:#22c55e26}.status-empty{color:#0f172a4d;background:#0f172a14}.sq-sample-meta{align-items:center;gap:6px;display:flex}.sq-sample-cat{color:#f1f5f9b3;font-size:.7rem}.sq-sample-breed{color:#0f172a38;font-size:.68rem}.sq-sample-attrs{flex-wrap:wrap;gap:3px;display:flex}.sq-sample-footer{justify-content:flex-end;margin-top:2px;display:flex}.sq-sample-card .fix-btn{opacity:1;color:#1d4ed8;cursor:pointer;background:#3b82f626;border:1px solid #3b82f64d;border-radius:6px;padding:2px 8px;font-size:.72rem;transition:all .2s}.sq-sample-card .fix-btn:hover{background:#3b82f640}.sample-overlay{z-index:9999;background:#cbd5e1;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.sample-modal{background:var(--surface);border:1px solid #0f172a1a;border-radius:16px;flex-direction:column;width:100%;max-width:720px;max-height:80vh;display:flex;overflow:hidden;box-shadow:0 24px 80px #0f172a1f}.btn-primary,.btn-ghost,.toolbar-btn,.btn-more{position:relative;overflow:hidden}.btn-primary:after,.btn-ghost:after,.toolbar-btn:after,.btn-more:after{content:"";pointer-events:none;opacity:0;background:radial-gradient(circle,#ffffff59 10%,#0000 10.01%) 50% no-repeat;transition:transform .35s,opacity .5s;position:absolute;inset:0;transform:scale(10)}.btn-primary:active:after,.btn-ghost:active:after,.toolbar-btn:active:after,.btn-more:active:after{opacity:.3;transition:all;transform:scale(0)}.tab-content-enter-active,.tab-content-leave-active{transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1)}.tab-content-enter-from,.tab-content-leave-to{opacity:0;transform:translateY(8px)}.stat-card-inner,.cockpit-kpi-row>*,[class*=-kpi-card],.ov-card{transition:transform var(--transition), box-shadow var(--transition)}.stat-card-inner:hover,.cockpit-kpi-row>:hover,[class*=-kpi-card]:hover,.ov-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0f172a14,0 2px 8px #0f172a0a}.toast{top:calc(var(--topbar-h,56px) + 16px);bottom:auto;left:auto;right:24px}.pipeline-stage:after{content:"→";color:var(--text-3);font-size:14px;font-weight:700;position:absolute;top:50%;right:-12px;transform:translateY(-50%)}.pipeline-stage:last-child:after{content:none}.sync-card.status-ok{border-top:3px solid var(--status-ok)}.sync-card.status-warn{border-top:3px solid var(--status-warn)}.sync-card.status-alert{border-top:3px solid var(--status-alert)}.data-table tbody tr,.result-table tbody tr{will-change:transform, box-shadow;transform:scale(1)}[data-theme=dark] .data-table tbody tr,[data-theme=dark] .result-table tbody tr{background:var(--surface)}[data-theme=dark] .data-table tbody tr:nth-child(2n),[data-theme=dark] .result-table tbody tr:nth-child(2n){background:#94a3b80a}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#94a3b833}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#94a3b859}
