:root { --ink:#232359; --muted:#66667d; --line:#d8d8e4; --paper:#fff; --canvas:#f5f5fa; --green:#232359; --green-dark:#171743; --green-soft:#eeeef6; --success:#237a3b; --success-soft:#e8f5eb; --amber:#806900; --amber-soft:#fff7c7; --red:#e51e2a; --red-soft:#fdecec; --blue:#2c2f78; --shadow:0 10px 30px rgba(35,35,89,.08); }
* { box-sizing:border-box; }
body { margin:0; background:var(--canvas); color:var(--ink); font:15px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif; }
a { color:var(--green-dark); }
.has-sidebar { padding-left:260px; }
.sidebar { position:fixed; inset:0 auto 0 0; z-index:10; width:260px; display:flex; flex-direction:column; overflow-y:auto; padding:20px 18px 16px; background:linear-gradient(180deg,#292960 0%,#1b1b45 100%); color:#fff; box-shadow:8px 0 30px rgba(23,23,67,.12); }
.brand { display:block; color:#fff; text-decoration:none; font-weight:750; letter-spacing:.01em; line-height:1.3; }
.sidebar .brand { padding:5px 12px 20px; margin-bottom:10px; border-bottom:1px solid rgba(255,255,255,.16); font-size:17px; }
.sidebar .sidebar-brand { display:grid; gap:10px; padding:2px 2px 18px; text-align:center; }
.sidebar-brand-logo { display:block; overflow:visible; padding:0; background:transparent; }
.sidebar-brand-logo img { display:block; width:100%; height:auto; clip-path:polygon(2px 2px,calc(100% - 2px) 2px,calc(100% - 2px) calc(68% - 1px),50% calc(100% - 2px),2px calc(68% - 1px)); filter:drop-shadow(0 6px 9px rgba(0,0,0,.22)); }
.sidebar-brand-name { color:#fff; font-size:13px; font-weight:750; letter-spacing:.13em; text-transform:uppercase; }
.sidebar-nav { display:grid; gap:8px; }
.sidebar-dashboard-link { margin:0; width:auto!important; }
.sidebar-nav-group { position:relative; display:grid; gap:0; padding:0 0 7px; }
.sidebar-nav-title { width:100%; padding:9px 10px 7px; margin-bottom:2px; border-bottom:1px solid rgba(255,255,255,.23); color:#bdbdce; font-size:10px; font-weight:800; letter-spacing:.14em; line-height:1.2; text-transform:uppercase; transition:color .15s ease,border-color .15s ease; }
.sidebar-nav-group:has(a.active) .sidebar-nav-title { color:#fff; border-bottom-color:rgba(229,30,42,.75); }
.sidebar-nav a,.link-button { position:relative; display:block; width:100%; padding:8px 10px 8px 14px; border:0; border-left:2px solid transparent; border-radius:0; color:#ddddeb; text-align:left; text-decoration:none; background:none; font:500 14px/1.35 system-ui,-apple-system,"Segoe UI",sans-serif; cursor:pointer; transition:color .15s ease,border-color .15s ease,transform .15s ease; }
.sidebar-nav a:hover,.link-button:hover,.link-button.active { background:none; color:#fff; }
.sidebar-nav a:hover { color:#fff; text-decoration:none; transform:translateX(3px); }
.sidebar-nav a.active { border-left-color:var(--red); background:none; color:#fff; font-weight:750; box-shadow:none; }
.sidebar-nav a.active:hover { background:none; color:#fff; text-decoration:none; }
.sidebar-footer { display:grid; gap:0; margin:auto 0 0; padding-top:12px; border-top:1px solid rgba(255,255,255,.16); }
.sidebar-footer form { margin:0; }
.sidebar-footer .link-button { padding-block:8px; color:#cfcfdd; font-size:13px; }.sidebar-footer .link-button:hover { color:#fff; transform:translateX(3px); }
.public-header { min-height:72px; padding:0 max(24px,calc((100vw - 1240px)/2)); display:flex; align-items:center; background:#232359; color:#fff; }
.public-brand { display:flex; align-items:center; gap:16px; padding:10px 0; }
.public-brand img { display:block; width:132px; height:auto; padding:0; background:transparent; clip-path:polygon(2px 2px,calc(100% - 2px) 2px,calc(100% - 2px) calc(68% - 1px),50% calc(100% - 2px),2px calc(68% - 1px)); filter:drop-shadow(0 4px 6px rgba(0,0,0,.2)); }
.public-brand span { font-size:14px; letter-spacing:.1em; text-transform:uppercase; }
.actions form { margin:0; }
.container { max-width:1240px; margin:0 auto; padding:42px 24px 80px; }
.page-heading,.section-heading,.actions { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.page-heading { margin-bottom:28px; align-items:flex-end; }
h1,h2,h3,p { margin-top:0; } h1 { font-size:clamp(28px,4vw,44px); line-height:1.1; margin-bottom:4px; letter-spacing:-.035em; } h2 { font-size:20px; }
.eyebrow { margin-bottom:7px; color:var(--green); text-transform:uppercase; letter-spacing:.12em; font-size:12px; font-weight:750; }
.muted,small { color:var(--muted); } small { display:block; margin-top:3px; }
.panel { background:var(--paper); border:1px solid var(--line); border-radius:16px; padding:24px; margin-bottom:22px; box-shadow:var(--shadow); }
.compact-panel { padding:16px 20px; }
.narrow { max-width:480px; margin:50px auto; }
.stat-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:14px; margin-bottom:22px; }
.stat { padding:20px; border:1px solid var(--line); border-radius:14px; background:var(--paper); }
.stat strong { display:block; font-size:30px; line-height:1.15; }.stat span { color:var(--muted); }.stat.warning { border-color:#e4b668; background:var(--amber-soft); }
.image-error-link { display:inline-block; margin-top:9px; color:var(--amber); font-size:13px; font-weight:400; text-decoration:none; }.import-progress-meta .image-error-link { margin-top:0; }.image-error-link:hover { color:var(--ink); text-decoration:none; }
.section-heading { margin-bottom:18px; }.section-heading h2 { margin:0; }.section-heading span { color:var(--muted); }
.table-wrap { overflow:auto; } table { width:100%; border-collapse:collapse; } th { color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.08em; text-align:left; } th,td { padding:13px 12px; border-bottom:1px solid var(--line); vertical-align:top; } tbody tr:last-child td { border-bottom:0; }
.strong-link { display:block; font-weight:700; text-decoration:none; }.url-cell,.url-text,.break-all { word-break:break-all; }.url-cell { min-width:300px; max-width:620px; }
.badge { display:inline-flex; align-items:center; border-radius:999px; padding:4px 9px; background:#edf0ee; color:#465249; font-size:12px; font-weight:700; white-space:nowrap; }.badge.large { font-size:14px; padding:7px 12px; }.badge.success,.status-completed,.status-fetched,.status-available,.status-active { color:var(--success); background:var(--success-soft); }.badge.running,.status-running,.status-fetching { color:var(--blue); background:#e8f0fb; }.status-completed_errors,.status-failed,.status-blocked,.status-unreachable,.status-unavailable { color:var(--red); background:var(--red-soft); }.status-pending,.status-queued,.status-daily_limit,.status-cancelled,.status-excluded,.status-draft { color:var(--amber); background:var(--amber-soft); }.status-disabled { color:var(--muted); background:#edf0ee; }
.button { min-height:42px; display:inline-flex; align-items:center; justify-content:center; border-radius:9px; padding:9px 15px; border:1px solid transparent; text-decoration:none; font:inherit; font-weight:700; cursor:pointer; }.button.primary { color:#fff; background:var(--green); }.button.primary:hover { background:var(--green-dark); }.button.secondary { color:var(--ink); background:#fff; border-color:#c8c8d8; }.button.danger { color:#fff; background:var(--red); }.button.danger:hover { background:#a90f15; }.button:disabled { opacity:.45; cursor:not-allowed; }
.messages { margin-bottom:18px; }.message { padding:13px 16px; border-radius:10px; background:#e8f0fb; margin-bottom:9px; }.message.success { background:var(--green-soft); color:var(--green-dark); }.message.warning { background:var(--amber-soft); color:var(--amber); }.message.error { background:var(--red-soft); color:var(--red); }
.pilot-document-table small { display:block; margin-top:4px; }.pilot-document-table td:nth-child(2) { min-width:280px; max-width:460px; }.pilot-row-actions { display:grid; gap:5px; }.link-button { border:0; padding:0; color:var(--blue); background:transparent; font:inherit; text-align:left; cursor:pointer; }.link-button:hover { text-decoration:underline; }.pilot-inline-form { margin-top:18px; }.pilot-inline-form .field { margin-bottom:14px; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }.form-stack { display:grid; gap:9px; }.field.wide,.full { grid-column:1/-1; }.field label,.form-stack label { display:block; font-weight:700; margin-bottom:6px; } input:not([type=checkbox]),textarea,select { width:100%; border:1px solid #c8c8d8; border-radius:8px; padding:10px 12px; background:#fff; font:inherit; } input:focus,textarea:focus,select:focus { outline:3px solid #d7dbea; border-color:var(--green); }.field-error,.error-text { display:block; color:var(--red); margin-top:5px; }.field-invalid input,.field-invalid textarea,.field-invalid select { border-color:var(--red); }.form-actions { display:flex; gap:10px; }
.page-intro { margin:10px 0 0; color:var(--muted); max-width:660px; }.source-form-heading,.source-form { max-width:1040px; }.product-edit-nav { display:flex; flex-wrap:wrap; gap:7px 18px; padding:0 2px 16px; margin-bottom:20px; border-bottom:1px solid var(--line); }.product-edit-nav a { color:var(--muted); font-size:13px; font-weight:700; text-decoration:none; }.product-edit-nav a:hover { color:var(--ink); text-decoration:underline; text-underline-offset:4px; }.form-section { padding:0; overflow:hidden; scroll-margin-top:16px; }.form-section-heading { display:flex; gap:14px; align-items:flex-start; padding:20px 24px; border-bottom:1px solid var(--line); background:var(--canvas); }.form-section-heading h2 { margin:0 0 3px; }.form-section-heading p { margin:0; color:var(--muted); }.form-section-number { flex:0 0 30px; height:30px; display:grid; place-items:center; border-radius:50%; background:var(--green); color:#fff; font-weight:750; }.form-section-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 26px; padding:24px; }.form-section-grid-three { grid-template-columns:repeat(3,minmax(0,1fr)); }.form-section-grid-four { grid-template-columns:repeat(4,minmax(0,1fr)); }.checkbox-field { display:flex; align-items:stretch; }.checkbox-control { width:100%; min-height:72px; display:flex!important; gap:12px; align-items:flex-start; padding:13px 14px; margin:0!important; border:1px solid #c8c8d8; border-radius:9px; background:var(--canvas); cursor:pointer; }.checkbox-control input { flex:0 0 auto; width:18px; height:18px; margin:3px 0 0; accent-color:var(--green); }.checkbox-control strong { display:block; }.checkbox-control small { font-weight:400; }.source-form-actions { display:flex; justify-content:flex-end; gap:10px; padding-top:2px; }.json-editor { font:13px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace; tab-size:2; }
.fixed-data-editor { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 18px; }.fixed-data-row>label { margin-bottom:6px; overflow-wrap:anywhere; }.fixed-data-empty { grid-column:1/-1; margin:0; padding:16px; border:1px dashed #c8c8d8; border-radius:9px; color:var(--muted); background:var(--canvas); }
.fixed-filter-editor { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 18px; }.fixed-filter-row>label { margin-bottom:6px; overflow-wrap:anywhere; }.fixed-filter-row>small { margin:4px 0 0; }.fixed-filter-row.readonly input { color:var(--muted); background:var(--canvas); }.fixed-filter-empty { grid-column:1/-1; margin:0; padding:16px; border:1px dashed #c8c8d8; border-radius:9px; color:var(--muted); background:var(--canvas); }
.text-content-editor { display:grid; gap:20px; }.text-tab-editor { min-width:0; border:1px solid #c8c8d8; border-radius:10px; background:#fff; overflow:hidden; }.text-tab-list { display:flex; gap:2px; overflow-x:auto; padding:8px 8px 0; border-bottom:1px solid var(--line); background:var(--canvas); }.text-tab-button { flex:0 0 auto; min-height:41px; padding:9px 14px; border:1px solid transparent; border-bottom:0; border-radius:8px 8px 0 0; background:transparent; color:var(--muted); font:inherit; font-weight:700; cursor:pointer; }.text-tab-button:hover { color:var(--ink); }.text-tab-button.active { border-color:var(--line); background:#fff; color:var(--ink); }.text-tab-panel { padding:18px; }.text-tab-title-input { margin-bottom:16px; }.text-tab-empty { margin:0; padding:22px; color:var(--muted); }.additional-text-blocks { display:grid; gap:16px; padding-top:4px; }.additional-text-blocks>h3,.additional-text-block h4 { margin:0; }.additional-text-block { display:grid; gap:8px; }.additional-text-block h4 { color:var(--muted); font-size:14px; text-transform:capitalize; }.html-editor { overflow:hidden; border:1px solid #c8c8d8; border-radius:9px; }.html-editor:focus-within { border-color:var(--green); box-shadow:0 0 0 3px #d7dbea; }.html-editor-toolbar { display:flex; flex-wrap:wrap; gap:5px; padding:8px; border-bottom:1px solid var(--line); background:var(--canvas); }.html-editor-toolbar button,.html-editor-toolbar select { width:auto; min-height:34px; padding:5px 9px; border:1px solid #c8c8d8; border-radius:6px; background:#fff; color:var(--ink); font:inherit; cursor:pointer; }.html-editor-toolbar button:hover { background:var(--green-soft); }.html-editor-toolbar .html-source-toggle { margin-left:auto; }.html-editor-surface,.html-source-editor { width:100%; min-height:280px; max-height:640px; overflow:auto; border:0; border-radius:0; padding:16px; background:#fff; }.html-editor-surface:focus,.html-source-editor:focus { outline:0; }.html-editor-surface { color:#20202e; }.html-editor-surface>:last-child { margin-bottom:0; }.html-source-editor { resize:vertical; font:13px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace; tab-size:2; }
.category-picker { display:grid; gap:10px; }.category-picker-selection { display:flex; flex-wrap:wrap; gap:8px; }.category-picker-empty { margin:0; padding:13px 14px; border:1px dashed #c8c8d8; border-radius:9px; color:var(--muted); background:var(--canvas); }.category-picker-chip { display:inline-flex; align-items:center; gap:9px; max-width:100%; padding:7px 8px 7px 11px; border:1px solid #c8c8d8; border-radius:999px; background:var(--green-soft); color:var(--ink); }.category-picker-chip>span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.category-picker-chip button { flex:0 0 24px; width:24px; height:24px; display:grid; place-items:center; padding:0; border:0; border-radius:50%; background:#fff; color:var(--muted); font:700 17px/1 system-ui,sans-serif; cursor:pointer; }.category-picker-chip button:hover { color:var(--red); }.category-picker-results { max-height:360px; overflow:auto; border:1px solid #c8c8d8; border-radius:9px; background:#fff; }.category-picker-results-heading { display:block; padding:11px 14px; border-bottom:1px solid var(--line); background:var(--canvas); }.category-picker-result-list { margin:0; padding:0; list-style:none; }.category-picker-result-list li { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:10px 12px 10px 14px; border-bottom:1px solid var(--line); }.category-picker-result-list li:last-child { border-bottom:0; }.category-picker-result-list li>span { min-width:0; overflow-wrap:anywhere; }.category-picker-result-list .button { flex:0 0 auto; min-height:34px; padding:5px 10px; font-size:13px; }.category-picker-results p { margin:0; padding:10px 14px; border-top:1px solid var(--line); color:var(--muted); font-size:13px; }.category-selection-meta { display:flex; justify-content:space-between; gap:12px; color:var(--muted); font-size:13px; }.category-selection-meta [data-category-count] { color:var(--ink); font-weight:700; }.field select[multiple] { min-height:260px; }
.url-filters { display:grid; grid-template-columns:minmax(280px,1fr) minmax(180px,240px) auto; gap:14px; align-items:end; padding:16px; margin-bottom:18px; border:1px solid var(--line); border-radius:12px; background:var(--canvas); }.filter-field label { display:block; margin-bottom:6px; font-weight:700; }.filter-actions { display:flex; gap:8px; }
.source-filters { display:grid; grid-template-columns:minmax(260px,1fr) minmax(150px,190px) minmax(170px,210px) auto; gap:14px; align-items:end; padding:16px; margin-bottom:22px; border:1px solid var(--line); border-radius:12px; background:var(--paper); box-shadow:var(--shadow); }
.source-list-table-heading { justify-content:flex-end; }
.draft-rule-panel { border-color:#e4b668; }.classification-rule-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }.classification-rule-heading p { max-width:850px; margin:5px 0 0; }.classification-rule-table .rule-pattern { min-width:260px; max-width:480px; word-break:break-word; }.rule-pattern code { font-size:12px; }.rule-actions { display:grid; gap:6px; min-width:90px; }
.detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }.detail-grid .panel { margin:0 0 22px; } dl { display:grid; grid-template-columns:minmax(130px,.7fr) 1.3fr; gap:11px 20px; margin:0; } dt { color:var(--muted); } dd { margin:0; }.pagination { display:flex; justify-content:center; align-items:center; gap:18px; padding-top:20px; }.empty { text-align:center; padding:40px 15px; }.lazy-loading { min-height:180px; display:grid; place-content:center; gap:3px; text-align:center; color:var(--muted); }[hidden],.hidden { display:none!important; }
.progress { height:12px; overflow:hidden; border-radius:999px; background:var(--green-soft); margin-bottom:14px; }.progress span { display:block; height:100%; border-radius:inherit; background:var(--green); transition:width .2s ease; }.compact-progress { width:min(240px,100%); height:7px; margin:6px 0 2px; }.source-progress-cell { min-width:210px; }.source-content { max-height:420px; overflow:auto; white-space:pre-wrap; word-break:break-word; padding:14px; border:1px solid var(--line); border-radius:8px; background:var(--canvas); font:13px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace; }
.import-progress-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }.import-progress-item { padding:18px; border:1px solid var(--line); border-radius:12px; background:var(--canvas); }.import-progress-item.import-progress-warning { border-color:#e4b668; background:var(--amber-soft); }.import-progress-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:15px; }.import-progress-item .progress { margin-bottom:10px; }.import-progress-item p { margin:0; }.import-progress-item p>strong { display:block; font-size:20px; }.import-progress-item p>small { margin-top:2px; }.import-progress-note { margin-top:10px!important; }.import-progress-meta { display:flex; flex-wrap:wrap; gap:6px 14px; margin-top:11px; color:var(--muted); font-size:13px; }
.metric-details { margin-top:1rem; }.metric-details summary { cursor:pointer; padding:.5rem 0; }.confusion-matrix { font-size:.78rem; }.confusion-matrix th,.confusion-matrix td { text-align:center; white-space:normal; }
.metric-chart-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.dashboard-section-error { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.dashboard-section-error[hidden] { display:none; }
.dashboard-section-error .button { flex:0 0 auto; min-height:34px; padding:6px 10px; }
.metric-chart-card { min-width:0; }
.metric-chart-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:18px; }.metric-chart-heading>div>span { display:block; font-size:18px; font-weight:700; }.metric-chart-heading>strong { font-size:30px; line-height:1; white-space:nowrap; }
.metric-chart-layout { display:grid; grid-template-columns:42px minmax(0,1fr); gap:10px; }
.metric-chart-y-axis { height:200px; display:flex; flex-direction:column; justify-content:space-between; color:var(--muted); font-size:11px; text-align:right; }
.metric-chart-plot { position:relative; height:200px; min-width:0; }.metric-chart-plot svg { display:block; width:100%; height:100%; overflow:visible; }.metric-chart-plot line { stroke:var(--line); stroke-width:1; vector-effect:non-scaling-stroke; }.metric-chart-line { fill:none; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }.cpu-line { stroke:#2c2f78; }.memory-line { stroke:var(--success); }.metric-chart-point { stroke:#fff; stroke-width:2; vector-effect:non-scaling-stroke; }.cpu-point { fill:#2c2f78; }.memory-point { fill:var(--success); }
.metric-chart-empty { position:absolute; inset:0; display:grid; place-items:center; color:var(--muted); font-size:13px; }
.metric-chart-x-axis { display:flex; justify-content:space-between; padding:7px 0 12px 52px; color:var(--muted); font-size:11px; }
.resource-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:22px; }
.resource-grid-single { grid-template-columns:1fr; }
.resource-card { min-width:0; padding:20px; border:1px solid var(--line); border-radius:14px; background:var(--paper); box-shadow:var(--shadow); }
.resource-card-heading { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-bottom:16px; }
.resource-card-heading>span { color:var(--muted); font-weight:700; }.resource-card-heading>strong { font-size:25px; white-space:nowrap; }
.resource-meter { height:9px; overflow:hidden; margin-bottom:10px; border-radius:999px; background:var(--green-soft); }.resource-meter span { display:block; width:0; height:100%; border-radius:inherit; background:var(--green); transition:width .35s ease,background .2s ease; }.resource-meter.warning span { background:#c49c00; }.resource-meter.critical span { background:var(--red); }
.system-dashboard-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }.system-dashboard-grid .panel { min-width:0; }
.system-dashboard-grid-single { grid-template-columns:1fr; }
.service-list { display:grid; }.service-list>div { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid var(--line); }.service-list>div:last-child { border-bottom:0; }
.dashboard-count-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }.dashboard-count-grid>div { padding:14px; border-radius:10px; background:var(--canvas); }.dashboard-count-grid strong { display:block; font-size:24px; }.dashboard-count-grid span { color:var(--muted); font-size:13px; }
.dashboard-count-grid>.dashboard-count-wide { grid-column:1/-1; }.dashboard-count-wide strong span { color:inherit; font-size:inherit; }
.dashboard-url-progress { padding:16px!important; }.dashboard-progress-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:10px; }.dashboard-progress-heading>span { color:var(--ink); font-size:14px; font-weight:700; }.dashboard-progress-heading>strong { font-size:18px; }.dashboard-url-progress .progress { margin-bottom:8px; }
.area-count-grid { margin:2px 0 18px; }
.area-card { display:flex; flex-direction:column; }.area-card p { flex:1; }.area-card .button { align-self:flex-start; }
.pipeline-panel { padding:24px; margin-bottom:22px; border:1px solid var(--line); border-radius:16px; background:var(--paper); box-shadow:var(--shadow); }.catalog-pipeline { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }.pipeline-stage { position:relative; min-width:0; padding:18px; border:1px solid var(--line); border-radius:12px; color:var(--ink); background:var(--canvas); text-decoration:none; transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease; }.pipeline-stage:hover { transform:translateY(-2px); border-color:#b8b8ce; box-shadow:0 8px 20px rgba(35,35,89,.1); text-decoration:none; }.pipeline-stage:not(:last-child)::after { content:"→"; position:absolute; z-index:2; top:50%; right:-24px; width:20px; color:var(--muted); font-size:22px; text-align:center; transform:translateY(-50%); }.pipeline-step { position:absolute; top:10px; right:10px; display:grid; width:26px; height:26px; place-items:center; border-radius:50%; color:#fff; background:var(--green); font-size:12px; font-weight:800; }.pipeline-label { display:block; padding-right:24px; margin-bottom:14px; font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }.pipeline-stage>strong { display:block; font-size:29px; line-height:1.1; }.pipeline-stage>span:not(.pipeline-step):not(.pipeline-label) { display:block; min-height:44px; margin-top:4px; color:var(--muted); font-size:13px; }.pipeline-stage .compact-progress { width:100%; }.pipeline-stage .progress i { display:block; height:100%; border-radius:inherit; background:var(--green); }.process-explanation { display:grid; gap:12px; padding-left:24px; margin:0; }.process-explanation li { padding-left:5px; }
.dashboard-pipeline-panel>.section-heading { align-items:flex-start; }
.dashboard-pipeline-flow { display:grid; gap:12px; }
.dashboard-pipeline-group { min-width:0; padding:16px; border:1px solid var(--line); border-radius:13px; background:#fafafd; }
.dashboard-pipeline-group-heading { display:flex; align-items:baseline; justify-content:space-between; gap:18px; margin-bottom:13px; }
.dashboard-pipeline-group-heading h3 { margin:0; font-size:15px; }
.dashboard-pipeline-group-heading small { margin:0; text-align:right; }
.dashboard-pipeline-processing { grid-template-columns:1fr; }
.dashboard-pipeline-connector { height:26px; color:var(--muted); font-size:24px; line-height:26px; text-align:center; }
.dashboard-pipeline-wide-stage { border:0; border-radius:0; background:transparent; box-shadow:none; }
.dashboard-pipeline-wide-stage:hover { border-color:transparent; box-shadow:none; transform:none; }
.dashboard-pipeline-wide-main { display:grid; grid-template-columns:minmax(190px,.75fr) minmax(0,2.25fr); align-items:center; gap:28px; }
.dashboard-pipeline-wide-main>.dashboard-pipeline-wide-primary,.dashboard-pipeline-wide-main>.dashboard-pipeline-wide-metrics { display:block; min-height:0; margin:0; color:inherit; font-size:inherit; }
.dashboard-pipeline-wide-primary>strong { display:block; font-size:29px; line-height:1.1; }
.dashboard-pipeline-wide-primary>span:last-child { display:block; margin-top:4px; color:var(--muted); font-size:13px; }
.dashboard-pipeline-wide-metrics { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.dashboard-pipeline-wide-metrics small { display:block; min-width:0; padding:12px 14px; margin:0; border-left:3px solid var(--green); border-radius:8px; background:var(--canvas); }
.dashboard-pipeline-wide-metrics small>strong { display:block; margin-bottom:3px; color:var(--ink); font-size:20px; line-height:1.1; }
.dashboard-classification-grid { display:grid; grid-template-columns:1fr; gap:16px; }
.dashboard-classification-card { display:block; min-width:0; padding:18px; border:1px solid var(--line); border-radius:11px; color:var(--ink); background:#fff; text-decoration:none; transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease; }
.dashboard-classification-card:hover { transform:translateY(-2px); border-color:#b8b8ce; box-shadow:0 8px 20px rgba(35,35,89,.1); text-decoration:none; }
.dashboard-classification-card>strong { display:block; font-size:29px; line-height:1.1; }
.dashboard-classification-card>span:not(.pipeline-label) { display:block; margin-top:4px; color:var(--muted); font-size:13px; }
.dashboard-classification-card small { display:block; margin-top:9px; color:#52526c; font-size:12.5px; line-height:1.45; }
.dashboard-identification-progress { width:100%; margin:12px 0 0; }
.dashboard-classification-group>.pipeline-stage-control { margin:14px -16px -16px; }
.dashboard-classification-group.pipeline-stage-paused .dashboard-classification-card { opacity:.72; }
.pipeline-runtime-badge { margin-left:4px; vertical-align:middle; }
.dashboard-classification-group.pipeline-stage-blocked { border-color:#c95353; background:#fff7f7; }
.dashboard-pipeline-stage small { margin-top:6px; color:#52526c; font-size:12.5px; line-height:1.45; }
.dashboard-pipeline-stage { display:flex; flex-direction:column; padding:0; }.pipeline-stage-main { flex:1; display:block; padding:18px; color:inherit; text-decoration:none; }.pipeline-stage-main:hover { text-decoration:none; }.pipeline-stage-main>strong { display:block; font-size:29px; line-height:1.1; }.pipeline-stage-main>span:not(.pipeline-step):not(.pipeline-label) { display:block; min-height:44px; margin-top:4px; color:var(--muted); font-size:13px; }.pipeline-stage-control { padding:10px 12px; border-top:1px solid var(--line); }.pipeline-stage-control button { width:100%; min-height:38px; display:flex; align-items:center; justify-content:center; gap:8px; border:1px solid #c8c8d8; border-radius:8px; color:var(--ink); background:#fff; font:inherit; font-size:13px; font-weight:750; cursor:pointer; }.pipeline-stage-control button:hover { border-color:var(--green); background:var(--green-soft); }.pipeline-control-icon { min-width:18px; font-size:17px; line-height:1; }.pipeline-stage-paused { border-color:#d7b36a; background:var(--amber-soft); }.pipeline-stage-paused .pipeline-step { background:#9a7219; }.pipeline-stage-paused .pipeline-stage-main { opacity:.72; }.pipeline-stage-paused .pipeline-stage-control button { border-color:#9a7219; color:#fff; background:#9a7219; }
.pipeline-stage-main .pipeline-scope { display:block; margin:0 32px 5px 0; color:var(--muted); font-size:11px; font-weight:750; letter-spacing:.05em; text-transform:uppercase; }
.product-image-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(145px,1fr)); gap:14px; }.product-image-grid figure { min-width:0; margin:0; overflow:hidden; border:1px solid var(--line); border-radius:10px; background:var(--canvas); }.product-image-grid a { display:block; padding:9px; background:#fff; }.product-image-grid img { display:block; width:100%; height:150px; object-fit:contain; }.product-image-grid figcaption { padding:8px 10px; color:var(--muted); font-size:12px; }.product-video-list { padding-top:22px; margin-top:22px; border-top:1px solid var(--line); }.product-video-list h3 { margin-bottom:12px; font-size:16px; }
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.helper-page-heading { padding-bottom:18px; border-bottom:1px solid var(--line); }.helper-page-heading h1 { color:var(--ink); }.helper-page-heading code { font-size:13px; }
.helper-stat-grid { grid-template-columns:repeat(3,minmax(0,1fr)); max-width:760px; }.helper-stat-grid .stat { position:relative; overflow:hidden; padding-left:24px; box-shadow:0 5px 18px rgba(35,35,89,.055); }.helper-stat-grid .stat::before { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:var(--red); }.helper-stat-grid .stat strong { color:var(--ink); }
.helper-table-panel { padding:0; overflow:hidden; }.helper-table-toolbar { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding:21px 24px; border-bottom:1px solid var(--line); background:linear-gradient(180deg,#fff 0%,#fafafd 100%); }.helper-table-toolbar h2 { margin:0; }.helper-table-toolbar small { margin-top:2px; }
.helper-table-search { width:min(360px,100%); }.helper-table-search>span { display:block; margin-bottom:5px; color:var(--muted); font-size:12px; font-weight:700; }.helper-table-search input { min-height:40px; background:#fff; }
.helper-table-list th:first-child,.helper-table-list td:first-child { width:68px; text-align:center; }.helper-table-list th:last-child,.helper-table-list td:last-child { width:110px; text-align:right; }.helper-table-list tbody tr { transition:background-color .15s ease; }.helper-table-list tbody tr:hover { background:#f8f8fc; }.helper-table-list tbody td { vertical-align:middle; }.helper-table-list .button { min-height:36px; padding:6px 12px; font-size:13px; }.helper-position { display:inline-grid; width:32px; height:32px; place-items:center; border-radius:50%; color:var(--muted); background:var(--green-soft); font-size:12px; font-weight:750; }.helper-table-name { color:var(--ink); font-size:16px; font-weight:750; text-decoration:none; }.helper-table-name:hover { color:var(--red); text-decoration:underline; text-underline-offset:3px; }.helper-table-list code,.helper-page-heading code { display:inline-block; border-radius:5px; padding:3px 7px; color:#343467; background:var(--green-soft); font:12px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; }.helper-table-panel>.empty { margin:0; }
.helper-value-form .form-section-heading { border-left:4px solid var(--red); }.helper-code-field input[readonly] { color:var(--muted); background:#f1f1f6; cursor:not-allowed; }.helper-value-form .checkbox-control { background:#fafafd; }
.page-tabs { position:sticky; top:0; z-index:5; display:flex; gap:4px; overflow-x:auto; padding:8px; margin:0 0 22px; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.96); box-shadow:0 5px 16px rgba(35,35,89,.06); }.page-tabs a { flex:0 0 auto; padding:9px 13px; border-radius:8px; color:var(--muted); font-weight:750; text-decoration:none; }.page-tabs a:hover { color:var(--ink); background:var(--green-soft); }.page-tabs a.active { color:#fff; background:var(--green); }.source-summary-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }.warning-stat { border-color:#e4b668!important; background:var(--amber-soft)!important; }.next-action-panel { display:flex; align-items:center; justify-content:space-between; gap:24px; }.next-action-panel h2 { margin-bottom:6px; }.next-action-panel p { margin:0; }.table-wrap table thead { position:sticky; top:0; z-index:1; background:var(--paper); box-shadow:0 1px 0 var(--line); }.compact-table th,.compact-table td { padding:9px 11px; font-size:13px; }.compact-table td small { display:block; margin-top:2px; }.url-cell,.truncate-text { max-width:420px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.inline-filter { display:flex; align-items:end; gap:12px; flex-wrap:wrap; margin-bottom:18px; }.inline-filter label { display:grid; gap:5px; font-weight:700; }.inline-filter select { min-width:210px; }.pagination { flex-wrap:wrap; }.pagination-jump { display:flex; align-items:center; gap:7px; }.pagination-jump label { color:var(--muted); font-size:13px; }.pagination-jump input { width:76px; min-height:36px; padding:5px 8px; }.pagination-jump .button { min-height:36px; padding:5px 10px; }.product-edit-nav { position:sticky; top:0; z-index:5; padding:10px 12px; border:1px solid var(--line); border-radius:10px; background:rgba(255,255,255,.96); box-shadow:0 4px 14px rgba(35,35,89,.05); }.form-section { scroll-margin-top:76px; }.technical-field-name { display:block; color:var(--muted); font:11px/1.35 ui-monospace,SFMono-Regular,Consolas,monospace; }.media-field-add { grid-column:1/-1; justify-self:start; }.source-delete-form .field { flex:1 1 320px; min-width:min(100%,320px); }.source-delete-form .field input { width:100%; }
.settings-readonly-prompt { padding:14px; border:1px solid var(--line); border-radius:10px; background:var(--canvas); }.settings-readonly-prompt>strong,.settings-readonly-prompt>small { display:block; }.settings-readonly-prompt>small { margin-top:3px; }.settings-readonly-prompt pre { max-height:280px; overflow:auto; padding:12px; margin:10px 0 0; border-radius:8px; color:var(--ink); background:#fff; font:12px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace; white-space:pre-wrap; }
@media (max-width:1100px) { .resource-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.catalog-pipeline { grid-template-columns:repeat(2,minmax(0,1fr)); }.pipeline-stage::after { display:none; } }
@media (max-width:960px) { .form-section-grid-three,.form-section-grid-four { grid-template-columns:repeat(2,minmax(0,1fr)); }.fixed-data-editor,.fixed-filter-editor { grid-template-columns:1fr; } }
.account-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.account-actions form { margin:0; }
.account-form { max-width:760px; }
.sidebar-footer .link-button.active { color:#fff; font-weight:750; border-left:3px solid var(--red); padding-left:10px; }
.account-form .field { min-width:0; }
.account-form input:not([type="checkbox"]) { width:100%; }
.account-form-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:12px; margin-top:20px; }
.account-sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media (max-width:960px) { .source-filters { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) { .has-sidebar { padding-left:0; }.sidebar { position:static; width:auto; min-height:0; padding:18px 16px; }.sidebar .brand { padding:0 8px 16px; }.sidebar .sidebar-brand { grid-template-columns:minmax(120px,190px) 1fr; align-items:center; text-align:left; }.sidebar-brand-name { font-size:12px; }.sidebar-nav { grid-template-columns:repeat(2,minmax(0,1fr)); }.sidebar-dashboard-link { grid-column:1/-1; }.sidebar-footer { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:12px 0 0; padding-top:12px; }.public-header { padding:14px 18px; }.container { padding:28px 16px 60px; }.page-heading { align-items:flex-start; flex-direction:column; }.actions,.helper-table-toolbar { flex-wrap:wrap; }.helper-table-search { width:100%; }.form-grid,.detail-grid,.url-filters,.source-filters,.form-section-grid,.form-section-grid-three,.form-section-grid-four,.system-dashboard-grid,.metric-chart-grid,.import-progress-grid { grid-template-columns:1fr; }.source-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.next-action-panel { align-items:flex-start; flex-direction:column; }.dashboard-pipeline-group-heading { align-items:flex-start; flex-direction:column; gap:3px; }.dashboard-pipeline-group-heading small { text-align:left; }.field.wide,.full { grid-column:auto; }.form-section-heading,.form-section-grid { padding:18px; }.source-form-actions { flex-direction:column-reverse; }.source-form-actions .button { width:100%; } dl { grid-template-columns:1fr; gap:3px; } dd { margin-bottom:12px; } }
@media (max-width:520px) { .resource-grid,.dashboard-count-grid,.helper-stat-grid,.catalog-pipeline { grid-template-columns:1fr; }.sidebar .sidebar-brand { grid-template-columns:1fr; text-align:center; }.helper-table-toolbar { align-items:stretch; }.helper-table-list th:first-child,.helper-table-list td:first-child { display:none; }.source-summary-grid { grid-template-columns:1fr; } }
.problem-summary-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.problem-heading { align-items:flex-start; }
.problem-heading>div { max-width:760px; }
.problem-heading p { margin:4px 0 0; }
.problem-heading form,.problem-url-table form { margin:0; }
.problem-url-table .problem-message { min-width:260px; max-width:440px; white-space:normal; overflow-wrap:anywhere; }
.problem-url-table .compact-button { min-height:36px; padding:6px 11px; white-space:nowrap; font-size:13px; }
@media (max-width:760px) { .problem-heading { align-items:stretch; flex-direction:column; }.problem-heading .button { width:100%; }.problem-summary-grid { grid-template-columns:1fr; } }
@media (max-width:900px) { .dashboard-pipeline-wide-main { grid-template-columns:1fr; }.dashboard-pipeline-wide-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) { .dashboard-classification-grid { grid-template-columns:1fr; } }
@media (max-width:520px) { .dashboard-pipeline-wide-metrics { grid-template-columns:1fr; } }
