@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";*{padding:0;margin:0;box-sizing:border-box}a{text-decoration:none;color:inherit}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:var(--color-bg);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .18s ease,color .18s ease}button{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;cursor:pointer;border:none;outline:none}input,select{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;outline:none}.loginPage{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-sidebar-bg) 0%,#232731 60%,#1e2940 100%);padding:16px}.loginPage .loginCard{background:var(--color-card-bg);border-radius:16px;padding:48px 32px;width:100%;max-width:420px;box-shadow:0 20px 60px #0000004d}.loginPage .loginCard .loginHeader{text-align:center;margin-bottom:32px}.loginPage .loginCard .loginHeader .logoRow{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:24px}.loginPage .loginCard .loginHeader .logoRow .logoIcon{width:40px;height:40px;background:var(--color-primary);border-radius:6px;display:flex;align-items:center;justify-content:center}.loginPage .loginCard .loginHeader .logoRow .logoIcon img{width:22px;height:22px;object-fit:contain}.loginPage .loginCard .loginHeader .logoRow .logoText{font-size:20px;font-weight:700;color:var(--color-text-primary);letter-spacing:-.3px}.loginPage .loginCard .loginHeader h1{font-size:22px;font-weight:600;color:var(--color-text-primary);margin-bottom:4px}.loginPage .loginCard .loginHeader p{font-size:14px;color:var(--color-text-secondary)}.loginPage .loginCard .loginForm{display:flex;flex-direction:column;gap:16px}.loginPage .loginCard .loginForm .formGroup{display:flex;flex-direction:column;gap:4px}.loginPage .loginCard .loginForm .formGroup label{font-size:13px;font-weight:500;color:var(--color-text-primary)}.loginPage .loginCard .loginForm .formGroup input{height:44px;padding:0 16px;border:1.5px solid var(--color-border);border-radius:6px;font-size:14px;color:var(--color-text-primary);background:var(--color-bg);transition:border-color .2s,box-shadow .2s}.loginPage .loginCard .loginForm .formGroup input::placeholder{color:var(--color-text-muted)}.loginPage .loginCard .loginForm .formGroup input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.12);background:var(--color-card-bg)}.loginPage .loginCard .loginForm .rememberRow{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.loginPage .loginCard .loginForm .rememberRow input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}.loginPage .loginCard .loginForm .rememberRow span{font-size:13px;color:var(--color-text-secondary)}.loginPage .loginCard .loginForm .loginError{background:rgba(var(--color-danger-rgb),.08);border:1px solid rgba(var(--color-danger-rgb),.2);border-radius:6px;padding:8px 16px;font-size:13px;color:var(--color-danger);text-align:center}.loginPage .loginCard .loginForm .loginButton{height:46px;background:var(--color-primary);color:#fff;border-radius:6px;font-size:15px;font-weight:600;letter-spacing:.2px;transition:background .2s,transform .1s}.loginPage .loginCard .loginForm .loginButton:hover:not(:disabled){background:var(--color-primary-dark)}.loginPage .loginCard .loginForm .loginButton:active:not(:disabled){transform:scale(.99)}.loginPage .loginCard .loginForm .loginButton:disabled{opacity:.6;cursor:not-allowed}:root{--color-primary: #2ecc71;--color-primary-rgb: 46, 204, 113;--color-primary-dark: #27ae60;--color-primary-light: #a8f0c6;--color-sidebar-bg: #1a1d23;--color-sidebar-text: #a0aab8;--color-sidebar-text-active: #ffffff;--color-sidebar-border: #2a2e38;--color-sidebar-hover: #22262f;--color-sidebar-active-bg: #22262f;--color-bg: #f4f6f9;--color-card-bg: #ffffff;--color-border: #e8ecf0;--color-text-primary: #1a1d23;--color-text-secondary: #6b7280;--color-text-muted: #9ca3af;--color-danger: #e74c3c;--color-danger-rgb: 231, 76, 60;--color-warning: #f39c12;--color-warning-rgb: 243, 156, 18;--color-success: #2ecc71;--color-success-rgb: 46, 204, 113;--color-chart-house: #2ecc71;--color-chart-media: #3498db;--shadow-card: 0 1px 3px rgba(0, 0, 0, .06), 0 2px 8px rgba(0, 0, 0, .04);--shadow-card-hover: 0 4px 16px rgba(0, 0, 0, .1);color-scheme:light}[data-theme=dark]{--color-primary: #34d17f;--color-primary-rgb: 52, 209, 127;--color-primary-dark: #28b96b;--color-primary-light: #1e3a2a;--color-sidebar-bg: #0b0d11;--color-sidebar-text: #c0c6d2;--color-sidebar-text-active: #ffffff;--color-sidebar-border: #1f242d;--color-sidebar-hover: #161a21;--color-sidebar-active-bg: #1c2129;--color-bg: #0f1115;--color-card-bg: #181b22;--color-border: #2a2f3a;--color-text-primary: #e6e8ec;--color-text-secondary: #9aa3b2;--color-text-muted: #6f7785;--color-danger: #ff6b5a;--color-danger-rgb: 255, 107, 90;--color-warning: #f5b041;--color-warning-rgb: 245, 176, 65;--color-success: #34d17f;--color-success-rgb: 52, 209, 127;--color-chart-house: #34d17f;--color-chart-media: #5dade2;--shadow-card: 0 1px 2px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .35);--shadow-card-hover: 0 6px 20px rgba(0, 0, 0, .5);color-scheme:dark}.adminLayout{display:flex;min-height:100vh}.adminLayout .sidebar{width:240px;min-width:240px;background:var(--color-sidebar-bg);display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:100;border-right:1px solid var(--color-sidebar-border)}.adminLayout .sidebar .sidebarHeader{padding:24px 16px;border-bottom:1px solid var(--color-sidebar-border)}.adminLayout .sidebar .sidebarHeader .logoRow{display:flex;align-items:center;gap:8px}.adminLayout .sidebar .sidebarHeader .logoRow .logoIcon{width:34px;height:34px;background:var(--color-primary);border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.adminLayout .sidebar .sidebarHeader .logoRow .logoIcon img{width:18px;height:18px;object-fit:contain}.adminLayout .sidebar .sidebarHeader .logoRow .logoText{font-size:15px;font-weight:700;color:#fff;letter-spacing:-.2px;line-height:1.2}.adminLayout .sidebar .sidebarHeader .logoRow .logoText span{display:block;font-size:10px;font-weight:400;color:var(--color-sidebar-text);letter-spacing:.5px;text-transform:uppercase}.adminLayout .sidebar .sidebarNav{flex:1;padding:16px 0}.adminLayout .sidebar .sidebarNav .navItem{display:flex;align-items:center;gap:8px;padding:8px 16px;color:var(--color-sidebar-text);font-size:14px;font-weight:400;border-left:3px solid transparent;transition:all .15s}.adminLayout .sidebar .sidebarNav .navItem svg{width:18px;height:18px;flex-shrink:0;opacity:.7}.adminLayout .sidebar .sidebarNav .navItem.active{color:var(--color-sidebar-text-active);background:var(--color-sidebar-active-bg);border-left-color:var(--color-primary);font-weight:500}.adminLayout .sidebar .sidebarNav .navItem.active svg{opacity:1}.adminLayout .sidebar .sidebarNav .navItem:hover:not(.active){background:var(--color-sidebar-hover);color:#fff}.adminLayout .sidebar .sidebarNav .navSection{padding:24px 16px 4px;font-size:10px;font-weight:600;color:var(--color-sidebar-text);letter-spacing:1px;text-transform:uppercase;opacity:.5}.adminLayout .sidebar .sidebarFooter{padding:16px;border-top:1px solid var(--color-sidebar-border)}.adminLayout .sidebar .sidebarFooter .logoutButton{width:100%;display:flex;align-items:center;gap:8px;padding:8px 16px;background:none;color:var(--color-sidebar-text);font-size:14px;border-radius:6px;transition:all .15s}.adminLayout .sidebar .sidebarFooter .logoutButton svg{width:16px;height:16px;flex-shrink:0}.adminLayout .sidebar .sidebarFooter .logoutButton:hover{background:rgba(var(--color-danger-rgb),.12);color:var(--color-danger)}.adminLayout .mainContent{margin-left:240px;flex:1;display:flex;flex-direction:column;min-width:0}.adminLayout .mainContent .topbar{height:64px;background:var(--color-card-bg);border-bottom:1px solid var(--color-border);display:flex;align-items:center;padding:0 32px;position:sticky;top:0;z-index:50}.adminLayout .mainContent .topbar h1{font-size:17px;font-weight:600;color:var(--color-text-primary)}.adminLayout .mainContent .topbar .topbarRight{margin-left:auto;display:flex;align-items:center;gap:16px}.adminLayout .mainContent .topbar .topbarRight .daysSelector{display:flex;align-items:center;gap:8px}.adminLayout .mainContent .topbar .topbarRight .daysSelector label{font-size:13px;color:var(--color-text-secondary);font-weight:500}.adminLayout .mainContent .topbar .topbarRight .daysSelector select{height:34px;padding:0 8px;border:1.5px solid var(--color-border);border-radius:6px;font-size:13px;color:var(--color-text-primary);background:var(--color-card-bg);cursor:pointer}.adminLayout .mainContent .topbar .topbarRight .daysSelector select:focus{border-color:var(--color-primary)}.adminLayout .mainContent .topbar .topbarRight .adminBadge{font-size:12px;font-weight:500;color:var(--color-text-secondary);background:var(--color-bg);padding:4px 10px;border-radius:20px;border:1px solid var(--color-border)}.adminLayout .mainContent .topbar .topbarRight .themeToggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--color-text-secondary);background:var(--color-bg);padding:6px 12px;border-radius:20px;border:1px solid var(--color-border);transition:background .15s ease,color .15s ease,border-color .15s ease}.adminLayout .mainContent .topbar .topbarRight .themeToggle svg{width:16px;height:16px;flex-shrink:0}.adminLayout .mainContent .topbar .topbarRight .themeToggle:hover{color:var(--color-text-primary);border-color:var(--color-primary)}.adminLayout .mainContent .topbar .topbarRight .themeToggle:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.25)}.adminLayout .mainContent .topbar .topbarRight .themeToggleLabel{line-height:1}.adminLayout .mainContent .pageContent{padding:32px;display:flex;flex-direction:column;gap:32px}.dashSection .sectionHeader{margin-bottom:24px}.dashSection .sectionHeader h2{font-size:16px;font-weight:600;color:var(--color-text-primary);margin-bottom:2px}.dashSection .sectionHeader p{font-size:13px;color:var(--color-text-secondary)}.dashSection .chartsGrid{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media(max-width:1024px){.dashSection .chartsGrid{grid-template-columns:1fr}}.dashSection .builderControls{display:flex;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}.chartCard{background:var(--color-card-bg);border-radius:10px;padding:24px;border:1px solid var(--color-border);box-shadow:var(--shadow-card)}.chartCard .chartCardHeader{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px}.chartCard .chartCardHeader .chartTitle{font-size:14px;font-weight:600;color:var(--color-text-primary);margin-bottom:4px}.chartCard .chartCardHeader .chartSubtitle{font-size:12px;color:var(--color-text-secondary)}.chartCard .chartCardHeader .totalBadge{font-size:22px;font-weight:700;color:var(--color-text-primary)}.chartCard .chartWrapper{height:220px}.chartCard .chartLoading,.chartCard .chartEmpty{height:220px;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--color-text-muted);background:var(--color-bg);border-radius:6px}.builderSelect{display:flex;align-items:center;gap:8px}.builderSelect label{font-size:13px;font-weight:500;color:var(--color-text-secondary);white-space:nowrap}.builderSelect select{height:38px;padding:0 16px;border:1.5px solid var(--color-border);border-radius:6px;font-size:14px;color:var(--color-text-primary);background:var(--color-card-bg);min-width:200px;cursor:pointer;transition:border-color .2s}.builderSelect select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.builderMultiSelect{position:relative;display:flex;align-items:center;gap:8px}.builderMultiSelect .builderMultiSelectLabel{font-size:13px;font-weight:500;color:var(--color-text-secondary);white-space:nowrap;cursor:default}.builderMultiSelect .builderMultiSelectTrigger{display:flex;align-items:center;gap:8px;height:38px;padding:0 16px;border:1.5px solid var(--color-border);border-radius:6px;font-size:14px;color:var(--color-text-primary);background:var(--color-card-bg);min-width:180px;cursor:pointer;transition:border-color .2s;justify-content:space-between}.builderMultiSelect .builderMultiSelectTrigger:hover,.builderMultiSelect .builderMultiSelectTrigger--open{border-color:var(--color-primary)}.builderMultiSelect .builderMultiSelectTrigger--open{box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.builderMultiSelect .builderMultiSelectChevron{color:var(--color-text-secondary);flex-shrink:0}.builderMultiSelect .builderMultiSelectPanel{position:absolute;top:calc(100% + 6px);left:0;min-width:220px;background:var(--color-card-bg);border:1.5px solid var(--color-border);border-radius:6px;box-shadow:0 8px 24px #0000001a;z-index:200;padding:8px 0}.builderMultiSelect .builderMultiSelectToggleAll{display:block;width:100%;text-align:left;padding:4px 16px;font-size:12px;font-weight:600;color:var(--color-primary);background:none;border:none;cursor:pointer;transition:background .12s}.builderMultiSelect .builderMultiSelectToggleAll:hover{background:rgba(var(--color-primary-rgb),.07)}.builderMultiSelect .builderMultiSelectDivider{height:1px;background:var(--color-border);margin:4px 0}.builderMultiSelect .builderMultiSelectList{list-style:none;margin:0;padding:0;max-height:260px;overflow-y:auto}.builderMultiSelect .builderMultiSelectItem{display:flex;align-items:center;gap:8px;padding:4px 16px;font-size:13px;color:var(--color-text-primary);cursor:pointer;transition:background .12s}.builderMultiSelect .builderMultiSelectItem:hover{background:var(--color-bg)}.builderMultiSelect .builderMultiSelectItem input[type=checkbox]{accent-color:var(--color-primary);width:14px;height:14px;cursor:pointer;flex-shrink:0}.builderRowList{display:flex;flex-direction:column;gap:32px}.builderRow .builderRowName{font-size:14px;font-weight:600;color:var(--color-text-secondary);margin-bottom:16px;padding-bottom:4px;border-bottom:1px solid var(--color-border)}.sectionDivider{border:none;border-top:1px solid var(--color-border);margin:0}.loadingOverlay{display:flex;align-items:center;justify-content:center;height:300px;color:var(--color-text-muted);font-size:14px;gap:8px}.loadingOverlay .spinner{width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.adminLayout .sidebarNav a.navItem{text-decoration:none;color:inherit}.crawlTableWrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:6px;background:var(--color-card-bg)}.crawlTable{width:100%;border-collapse:collapse;font-size:13px}.crawlTable th,.crawlTable td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--color-border)}.crawlTable th{font-weight:600;color:var(--color-text-secondary);background:var(--color-bg)}.crawlTable--compact th,.crawlTable--compact td{padding:6px 10px}.crawlTable .numCell{text-align:right;font-variant-numeric:tabular-nums}.crawlTable .numCellWarn{color:var(--color-warning);font-weight:600}.crawlStatus{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.crawlStatus--success{color:var(--color-success)}.crawlStatus--failed{color:var(--color-danger)}.linkButton{background:none;border:none;color:var(--color-primary);font-size:13px;font-weight:500;cursor:pointer;padding:0}.linkButton:hover{text-decoration:underline}.detailBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:200;display:flex;align-items:flex-start;justify-content:center;padding:48px 16px;overflow-y:auto}.detailPanel{background:var(--color-card-bg);border-radius:6px;max-width:720px;width:100%;box-shadow:0 20px 50px #00000026;border:1px solid var(--color-border)}.detailPanelHeader{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--color-border)}.detailPanelHeader h3{margin:0;font-size:16px;font-weight:600}.detailPanelBody{padding:24px;max-height:min(70vh,640px);overflow-y:auto}.detailDl{display:grid;grid-template-columns:120px 1fr;gap:8px 16px;margin:0 0 24px;font-size:13px}.detailDl dt{color:var(--color-text-secondary);font-weight:500}.detailDl dd{margin:0;color:var(--color-text-primary)}.detailError{color:var(--color-danger);font-weight:500}.detailSubhead{margin:24px 0 8px;font-size:14px;font-weight:600;color:var(--color-text-primary)}.detailPre{margin:0;padding:16px;background:var(--color-bg);border-radius:6px;font-size:11px;line-height:1.45;overflow-x:auto;border:1px solid var(--color-border)}.detailPre--stack{white-space:pre-wrap;word-break:break-word}.errorSampleList{list-style:none;margin:0;padding:0;font-size:13px}.errorSampleList li{padding:8px 0;border-bottom:1px solid var(--color-border)}.errorSampleList li:last-child{border-bottom:none}.errorSamplePhase{display:inline-block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);margin-bottom:4px}.errorSampleUrl{font-size:11px;color:var(--color-primary);word-break:break-all;margin-bottom:4px}.errorSampleMsg{color:var(--color-text-primary)}.fixRuleGrid{display:flex;flex-direction:column;gap:24px;max-width:720px}.fixRuleCard{background:var(--color-card-bg);border-radius:10px;padding:24px;border:1px solid var(--color-border);box-shadow:var(--shadow-card)}.fixRuleCardHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:8px}.fixRuleCardHeader h3{margin:0;font-size:15px;font-weight:600;color:var(--color-text-primary)}.fixRuleRunBtn{flex-shrink:0;height:34px;padding:0 16px;font-size:13px;font-weight:500;color:#fff;background:var(--color-primary);border:none;border-radius:6px;cursor:pointer;transition:opacity .15s}.fixRuleRunBtn:hover:not(:disabled){opacity:.92}.fixRuleRunBtn:disabled{opacity:.55;cursor:not-allowed}.fixRuleRunBtn--danger{background:var(--color-danger)}.fixRuleDescription{margin:0 0 8px;font-size:13px;color:var(--color-text-secondary);line-height:1.5}.deletionControls{margin-top:8px}.deletionConfirmPanel{max-width:560px}.deletionConfirmWarning{margin:0 0 16px;padding:8px;border:1px solid rgba(var(--color-danger-rgb),.35);border-radius:6px;background:rgba(var(--color-danger-rgb),.06);color:var(--color-danger);font-size:13px;line-height:1.45}.deletionConfirmBuilder{margin:0;font-size:13px;color:var(--color-text-primary)}.deletionConfirmActions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}.fixRuleId{display:block;font-size:11px;color:var(--color-text-secondary);margin-bottom:8px}.fixRuleProgress{margin:16px 0 0}.fixRuleProgressPhase{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);margin-bottom:4px}.fixRuleProgressLabel{font-size:12px;color:var(--color-text-primary);margin-bottom:6px;line-height:1.35}.fixRuleProgressBar{display:block;width:100%;height:8px;accent-color:var(--color-primary);border-radius:6px;overflow:hidden;vertical-align:middle;margin:0 0 4px}.fixRuleProgressBar::-webkit-progress-bar{background:var(--color-bg);border-radius:6px}.fixRuleProgressBar::-webkit-progress-value{background:var(--color-primary);border-radius:6px}.fixRuleProgressBar::-moz-progress-bar{background:var(--color-primary);border-radius:6px}.fixRuleProgressBar:indeterminate::-webkit-progress-value{background:var(--color-primary)}.fixRuleProgressFrac{font-size:11px;font-variant-numeric:tabular-nums;color:var(--color-text-secondary)}.fixRuleOutput{margin:8px 0 0;padding:16px;background:var(--color-bg);border-radius:6px;font-size:12px;line-height:1.45;overflow-x:auto;border:1px solid var(--color-border);white-space:pre-wrap;word-break:break-word}.fixRuleOutputError{color:var(--color-danger);border-color:rgba(var(--color-danger-rgb),.35);background:rgba(var(--color-danger-rgb),.06)}.unfixableSection{margin-top:16px}.unfixableToggle,.unfixableLoadMore{font-size:12px;background:transparent;border:1px solid var(--color-border);border-radius:6px;padding:4px 10px;cursor:pointer}.unfixableToggle:hover,.unfixableLoadMore:hover{background:var(--color-bg)}.unfixableList{margin-top:8px;display:flex;flex-direction:column;gap:8px}.unfixableRow{padding:8px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;font-size:12px}.unfixableRowTop{display:flex;gap:8px;align-items:center;justify-content:space-between}.unfixableBuilder{font-weight:600;color:var(--color-text-secondary)}.unfixableUrl{font-size:11px;color:var(--color-text-secondary);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60%}.unfixableUrl:hover{text-decoration:underline}.unfixableAddress{font-family:SF Mono,Menlo,monospace;margin-top:4px;word-break:break-word}.unfixableLocation{color:var(--color-text-secondary);margin-top:2px}.unfixableEmpty{font-size:12px;color:var(--color-text-secondary);margin:8px 0 0}.unfixableLoading{font-size:12px;color:var(--color-text-secondary);padding:8px 0}.migrationJobCard{max-width:720px}.migrationProgress{margin-top:16px;display:flex;flex-direction:column;gap:8px}.migrationProgressMeta{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--color-text-secondary)}.migrationDuration{font-size:12px;color:var(--color-text-muted)}.migrationProgressBar{position:relative;height:8px;background:var(--color-border);border-radius:100px;overflow:hidden}.migrationProgressFill{position:absolute;left:0;top:0;height:100%;background:var(--color-primary);border-radius:100px;transition:width .4s ease}.migrationProgressLabel{position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:10px;font-weight:600;color:var(--color-text-secondary);padding-right:2px;line-height:1;display:none}.migrationStats{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}.migrationStat{display:flex;flex-direction:column;align-items:center;padding:8px 16px;border-radius:6px;border:1px solid var(--color-border);min-width:80px;background:var(--color-bg)}.migrationStat--success{border-color:rgba(var(--color-success-rgb),.4);background:rgba(var(--color-success-rgb),.06)}.migrationStat--success .migrationStatValue{color:var(--color-success)}.migrationStat--warning{border-color:rgba(var(--color-warning-rgb),.4);background:rgba(var(--color-warning-rgb),.06)}.migrationStat--warning .migrationStatValue{color:var(--color-warning)}.migrationStat--danger{border-color:rgba(var(--color-danger-rgb),.4);background:rgba(var(--color-danger-rgb),.06)}.migrationStat--danger .migrationStatValue{color:var(--color-danger)}.migrationStatValue{font-size:20px;font-weight:700;color:var(--color-text-primary);line-height:1.2}.migrationStatLabel{font-size:11px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:500;margin-top:2px}.migrationDoneNote{font-size:12px;color:var(--color-text-muted);margin-top:2px}.builderIconGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px}.builderIconCard{display:flex;flex-direction:column;align-items:center;gap:24px;padding:24px;background:var(--color-card-bg);border-radius:10px;border:1px solid var(--color-border);box-shadow:var(--shadow-card);text-align:center}.builderIconPreview{position:relative;width:100%;height:96px;padding:8px;border-radius:6px;border:1px solid var(--color-border);background:var(--color-bg);display:flex;align-items:center;justify-content:center;overflow:visible}.builderIconPreview img{max-width:100%;max-height:100%;object-fit:contain}.builderIconPreviewPicking{cursor:crosshair;border-color:var(--color-primary);box-shadow:0 0 0 2px #2ecc7133}.builderIconPreviewPicking img{pointer-events:none}.builderIconPlaceholder{font-size:11px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.builderIconName{font-size:13px;font-weight:600;color:var(--color-text-primary);word-break:break-word;max-width:100%}.builderIconNameLink{color:var(--color-primary);text-decoration:none}.builderIconNameLink:hover{text-decoration:underline}.builderIconUploadBtn{height:32px;padding:0 16px;font-size:12px;font-weight:500;color:#fff;background:var(--color-primary);border:none;border-radius:6px;cursor:pointer;transition:opacity .15s}.builderIconUploadBtn:hover:not(:disabled){opacity:.92}.builderIconUploadBtn:disabled{opacity:.55;cursor:not-allowed}.builderIconError{margin-top:4px;font-size:11px;color:var(--color-danger);word-break:break-word}.builderIconNameRow{display:flex;align-items:center;justify-content:center;gap:8px;max-width:100%}.builderIconColorSwatch{display:inline-block;width:16px;height:16px;border-radius:4px;border:1px solid var(--color-border);flex-shrink:0;background-size:10px 10px}.builderIconActions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.builderIconPickBtn{height:32px;padding:0 16px;font-size:12px;font-weight:500;color:var(--color-text-primary);background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:6px;cursor:pointer;transition:background .15s,border-color .15s}.builderIconPickBtn:hover:not(:disabled){background:var(--color-bg);border-color:var(--color-primary)}.builderIconPickBtn:disabled{opacity:.55;cursor:not-allowed}.builderIconPickBtnActive{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.builderIconPickBtnActive:hover:not(:disabled){background:var(--color-primary-dark);color:#fff}.builderMagnifier{position:absolute;z-index:10;pointer-events:none;background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:6px;box-shadow:0 6px 18px #0000002e;padding:4px}.builderMagnifierCanvas{display:block;border-radius:4px;background:var(--color-bg)}.builderMagnifierLabel{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:11px;font-family:SF Mono,Menlo,monospace;color:var(--color-text-primary)}.builderMagnifierSwatch{display:inline-block;width:12px;height:12px;border-radius:2px;border:1px solid var(--color-border)}.builderMagnifierHex{text-transform:uppercase}.builderCarouselGrid{display:flex;flex-direction:column;gap:24px}.builderCarouselCard{padding:24px;background:var(--color-card-bg);border-radius:10px;border:1px solid var(--color-border);box-shadow:var(--shadow-card)}.builderCarouselNameRow{margin-bottom:16px}.builderCarouselStrip{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:88px;margin-bottom:16px;padding:8px;border-radius:6px;border:1px dashed var(--color-border);background:var(--color-bg)}.builderCarouselEmpty{font-size:12px;color:var(--color-text-muted)}.builderCarouselThumbWrap{position:relative;width:120px;height:80px;border-radius:6px;overflow:hidden;border:1px solid var(--color-border);flex-shrink:0;background:var(--color-border)}.builderCarouselThumb{width:100%;height:100%;object-fit:cover;display:block}.builderCarouselDeleteBtn{position:absolute;top:4px;right:4px;width:24px;height:24px;padding:0;line-height:22px;font-size:18px;font-weight:700;color:#fff;background:#0000008c;border:none;border-radius:4px;cursor:pointer;transition:background .15s}.builderCarouselDeleteBtn:hover:not(:disabled){background:#dc2626e6}.builderCarouselDeleteBtn:disabled{opacity:.5;cursor:not-allowed}.builderCarouselHint{font-size:12px;color:var(--color-text-muted);align-self:center}.statsGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px;margin-top:24px}.statCard{background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:10px;box-shadow:var(--shadow-card);padding:24px;display:flex;align-items:flex-start;gap:16px;transition:box-shadow .15s,transform .15s}.statCard:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-1px)}.statCard .statCardIcon{width:48px;height:48px;border-radius:6px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.statCard .statCardBody{min-width:0;flex:1}.statCard .statCardValue{font-size:28px;font-weight:700;color:var(--color-text-primary);line-height:1.1;letter-spacing:-.5px}.statCard .statCardLabel{font-size:13px;font-weight:600;color:var(--color-text-secondary);margin-top:4px}.statCard .statCardDesc{font-size:11px;color:var(--color-text-muted);margin-top:2px}.statCard .statSkeleton{display:inline-block;width:72px;height:28px;border-radius:6px;background:linear-gradient(90deg,var(--color-border) 25%,var(--color-bg) 50%,var(--color-border) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.crawlTesterPage .crawlTesterControls{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.crawlTesterPage .crawlTesterField{display:flex;flex-direction:column;gap:4px}.crawlTesterPage .crawlTesterField label{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.crawlTesterPage .crawlTesterField select,.crawlTesterPage .crawlTesterField input[type=number]{height:36px;padding:0 8px;border:1px solid var(--color-border);border-radius:6px;font-size:13px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--color-text-primary);background:var(--color-card-bg);outline:none;min-width:160px}.crawlTesterPage .crawlTesterField select:focus,.crawlTesterPage .crawlTesterField input[type=number]:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb),.15)}.crawlTesterPage .crawlTesterField select:disabled,.crawlTesterPage .crawlTesterField input[type=number]:disabled{background:var(--color-bg);color:var(--color-text-muted)}.crawlTesterPage .crawlTesterField input[type=number]{min-width:90px;max-width:90px}.crawlTesterPage .crawlTesterRunBtn{height:36px;padding:0 24px;background:var(--color-primary);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap}.crawlTesterPage .crawlTesterRunBtn:hover:not(:disabled){background:var(--color-primary-dark)}.crawlTesterPage .crawlTesterRunBtn:disabled{opacity:.5;cursor:not-allowed}.crawlTesterPage .crawlTesterRunBtn--stop{background:var(--color-danger)}.crawlTesterPage .crawlTesterRunBtn--stop:hover{background:#c0392b}.crawlTesterPage .crawlTesterSummaryBar{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding:16px;background:var(--color-bg);border-radius:6px;border:1px solid var(--color-border);margin-bottom:16px}.crawlTesterPage .crawlTesterPassBadge{display:flex;flex-direction:column;align-items:center;min-width:120px;padding:8px 16px;background:var(--color-card-bg);border-radius:6px;border:1px solid var(--color-border)}.crawlTesterPage .crawlTesterPassBadge--high{border-color:var(--color-success);background:rgba(var(--color-success-rgb),.08)}.crawlTesterPage .crawlTesterPassBadge--high .crawlTesterPassBadgeValue{color:var(--color-success)}.crawlTesterPage .crawlTesterPassBadge--mid{border-color:var(--color-warning);background:rgba(var(--color-warning-rgb),.1)}.crawlTesterPage .crawlTesterPassBadge--mid .crawlTesterPassBadgeValue{color:var(--color-warning)}.crawlTesterPage .crawlTesterPassBadge--low{border-color:var(--color-danger);background:rgba(var(--color-danger-rgb),.08)}.crawlTesterPage .crawlTesterPassBadge--low .crawlTesterPassBadgeValue{color:var(--color-danger)}.crawlTesterPage .crawlTesterPassBadgeLabel{font-size:11px;color:var(--color-text-secondary);text-align:center;margin-bottom:2px}.crawlTesterPage .crawlTesterPassBadgeValue{font-size:22px;font-weight:700;color:var(--color-text-primary)}.crawlTesterPage .crawlTesterSummaryStats{display:flex;gap:24px;margin-left:auto}.crawlTesterPage .crawlTesterStat{display:flex;flex-direction:column;align-items:center}.crawlTesterPage .crawlTesterStatValue{font-size:20px;font-weight:700;color:var(--color-text-primary)}.crawlTesterPage .crawlTesterStatValue--warn{color:var(--color-danger)}.crawlTesterPage .crawlTesterStatLabel{font-size:11px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.crawlTesterPage .crawlTesterStatusMsg{font-size:13px;color:var(--color-text-secondary);margin-left:8px}.crawlTesterPage .crawlTesterStatusMsg--standalone{margin:8px 24px;color:var(--color-danger)}.crawlTesterPage .crawlTesterProgressBar{height:4px;background:var(--color-border);border-radius:2px;overflow:hidden;margin-top:4px}.crawlTesterPage .crawlTesterProgressFill{height:100%;background:var(--color-primary);border-radius:2px;transition:width .3s ease}.crawlTesterPage .crawlTesterTable{font-size:12px}.crawlTesterPage .crawlTesterTable th{white-space:nowrap}.crawlTesterPage .crawlTesterRow--pass{background:rgba(var(--color-success-rgb),.07)}.crawlTesterPage .crawlTesterRow--fail{background:rgba(var(--color-warning-rgb),.07)}.crawlTesterPage .crawlTesterRow--error{background:rgba(var(--color-danger-rgb),.07)}.crawlTesterPage .crawlTesterFieldCell{text-align:center;font-weight:600}.crawlTesterPage .crawlTesterFieldCell--pass{color:var(--color-success)}.crawlTesterPage .crawlTesterFieldCell--fail{color:var(--color-danger)}.crawlTesterPage .crawlTesterFieldCell--na{color:var(--color-text-muted)}.crawlTesterPage .crawlTesterUrlLink{color:var(--color-primary-dark);text-decoration:none;font-size:11px;max-width:280px;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.crawlTesterPage .crawlTesterUrlLink:hover{text-decoration:underline}.crawlTesterPage .crawlTesterErrorCell{font-size:11px;color:var(--color-danger);max-width:200px;white-space:normal;word-break:break-word}.crawlTesterPage .crawlTesterBuilderSiteLink{display:inline-block;font-size:12px;color:var(--color-primary);text-decoration:none}.crawlTesterPage .crawlTesterBuilderSiteLink:hover{text-decoration:underline}.crawlTesterPage .crawlTesterRandomUrlLink{display:inline-block;padding:0;font-size:12px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--color-primary);text-align:left;background:none;border:none;cursor:pointer;text-decoration:none}.crawlTesterPage .crawlTesterRandomUrlLink:hover:not(:disabled){text-decoration:underline}.crawlTesterPage .crawlTesterRandomUrlLink:disabled{color:var(--color-text-secondary);cursor:default}.crawlTesterPage .crawlTesterUrlControls{display:grid;grid-template-columns:auto 1fr auto;column-gap:16px;row-gap:4px;align-items:end}.crawlTesterPage .crawlTesterUrlInputField{flex:1 1 320px}.crawlTesterPage .crawlTesterUrlInputField input[type=url]{width:100%;min-width:260px;max-width:none;height:36px;padding:0 8px;border:1px solid var(--color-border);border-radius:6px;font-size:13px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--color-text-primary);background:var(--color-card-bg);outline:none;box-sizing:border-box}.crawlTesterPage .crawlTesterUrlInputField input[type=url]:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb),.15)}.crawlTesterPage .crawlTesterUrlInputField input[type=url]:disabled{background:var(--color-bg);color:var(--color-text-muted)}.crawlTesterPage .crawlTesterUrlInputField input[type=url]::placeholder{color:var(--color-text-muted)}.crawlTesterPage .crawlTesterUrlLoading{margin-top:16px;font-size:13px;color:var(--color-text-secondary)}.crawlTesterPage .crawlTesterStatusMsg--error{color:var(--color-danger)}.crawlTesterPage .crawlTesterUrlResult{margin-top:16px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-card-bg);overflow:hidden}.crawlTesterPage .crawlTesterUrlResultHeader{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--color-bg);border-bottom:1px solid var(--color-border)}.crawlTesterPage .crawlTesterUrlResultTitle{font-size:13px;font-weight:600;color:var(--color-text-primary)}.crawlTesterPage .crawlTesterUrlFieldGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1px;background:var(--color-border)}.crawlTesterPage .crawlTesterUrlField{display:flex;flex-direction:column;gap:2px;padding:8px 16px;background:var(--color-card-bg)}.crawlTesterPage .crawlTesterUrlFieldLabel{font-size:11px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.crawlTesterPage .crawlTesterUrlFieldValue{font-size:13px;color:var(--color-text-primary);word-break:break-word}.crawlTesterPage .crawlTesterUrlFieldValue--missing{color:var(--color-text-muted);font-style:italic}.crawlTesterPage .crawlTesterUrlGallery{border-top:1px solid var(--color-border);padding:16px}.crawlTesterPage .crawlTesterUrlGalleryHeader{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--color-text-primary);margin-bottom:8px}.crawlTesterPage .crawlTesterUrlGalleryCount{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--color-primary);color:#fff;border-radius:10px;font-size:11px;font-weight:700}.crawlTesterPage .crawlTesterUrlGalleryEmpty{font-size:13px;color:var(--color-text-muted);margin:0}.crawlTesterPage .crawlTesterUrlGalleryList{margin:0;padding-left:24px;display:flex;flex-direction:column;gap:4px}.crawlTesterPage .crawlTesterUrlGalleryItem{display:flex;align-items:baseline;gap:8px;font-size:12px}.crawlTesterPage .crawlTesterUrlGalleryLink{color:var(--color-primary-dark);text-decoration:none;word-break:break-all}.crawlTesterPage .crawlTesterUrlGalleryLink:hover{text-decoration:underline}.crawlTesterPage .crawlTesterUrlGalleryTitle{flex-shrink:0;font-size:11px;color:var(--color-text-muted)}
