.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}body{margin:0;font-family:PingFang SC,Microsoft YaHei,sans-serif;background:#f4f7fb;color:#1f2937}.layout{max-width:1200px;margin:0 auto;padding:20px}.vendor-layout{max-width:900px}nav{display:flex;gap:16px;margin-bottom:12px;flex-wrap:wrap}a{color:#2563eb;text-decoration:none;font-weight:600}input,select,button{margin:6px;padding:8px 10px;border:1px solid #d1d5db;border-radius:8px;background:#fff}section{border:1px solid #e5e7eb;padding:16px;border-radius:12px;background:#fff;box-shadow:0 2px 8px #0000000d}.admin-login-bar{display:flex;align-items:center;gap:8px;margin-bottom:12px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:16px;z-index:1000}.modal-panel{width:min(560px,100%);background:#fff;border-radius:12px;padding:20px;box-shadow:0 20px 50px #0003;border:1px solid #e5e7eb}.modal-panel h3{margin:0 0 12px}.modal-hint{margin:0 0 12px;color:#4b5563;line-height:1.5;font-size:14px}.modal-warn{margin:0 0 12px;padding:10px 12px;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;color:#92400e;font-size:13px;line-height:1.5}.modal-textarea{width:100%;box-sizing:border-box;margin:0 0 12px;padding:10px 12px;border-radius:8px;border:1px solid #d1d5db;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px;resize:vertical;min-height:72px}.modal-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.modal-secondary{background:#f3f4f6;color:#111827}.vendor-login-hint{font-size:14px;color:#4b5563;line-height:1.55;margin:0 0 12px}.vendor-login-hint code{background:#f3f4f6;padding:2px 6px;border-radius:4px;font-size:13px}.vendor-login-error{color:#dc2626;font-size:14px;margin:8px 0}.vendor-password-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:8px 0}.vendor-show-pw{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:#374151;-webkit-user-select:none;user-select:none}.catalog-list{list-style:none;padding:0;margin:12px 0 0}.catalog-row{border:1px solid #e5e7eb;border-radius:8px;padding:10px 12px;margin-bottom:8px;background:#fafafa}.catalog-view,.catalog-edit{display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:space-between}.catalog-status{color:#6b7280;font-size:13px;margin-left:6px}.catalog-actions{display:flex;gap:8px;flex-wrap:wrap}.vendor-file-hint{font-size:14px;color:#374151;margin:8px 0}.vendor-upload-actions{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin:16px 0}.vendor-upload-block{border:1px solid #e5e7eb;border-radius:10px;padding:14px;background:#fafafa}.vendor-upload-label{display:block;font-weight:700;font-size:15px;margin-bottom:6px;color:#111827}.vendor-upload-desc{margin:0 0 10px;font-size:13px;color:#6b7280;line-height:1.4}.vendor-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.vendor-pending-card{border:1px solid rgba(99,102,241,.22);background:linear-gradient(135deg,#eef2ff,#e0e7ff 40%,#dbeafe);border-radius:14px;padding:16px 18px;margin:12px 0;box-shadow:0 8px 28px #6366f11a}.vendor-pending-card h4{margin:0 0 10px;font-size:15px}.vendor-pending-stats{margin:0 0 12px;padding-left:18px;line-height:1.6;font-size:14px}.vendor-pending-warn{color:#b45309}.vendor-pending-actions{display:flex;flex-wrap:wrap;gap:10px}.vendor-btn-primary{background:#2563eb;color:#fff;border-color:#1d4ed8;font-weight:600}.vendor-progress-panel{border:1px solid #e5e7eb;border-radius:10px;padding:14px 16px;margin:12px 0;background:#fff}.vendor-progress-panel h4{margin:0 0 8px}.vendor-progress-meta,.vendor-progress-current,.vendor-progress-speed{font-size:14px;margin:6px 0;color:#374151}.vendor-progress-track{height:10px;background:#e5e7eb;border-radius:999px;overflow:hidden}.vendor-progress-track-sub{height:8px;margin-top:6px}.vendor-progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:999px;transition:width .2s ease}.vendor-progress-fill-overall{background:linear-gradient(90deg,#059669,#34d399)}.vendor-upload-busy{color:#1d4ed8;font-weight:600;font-size:14px;padding:10px 14px;border-radius:10px;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #93c5fd}.vendor-portal-shell{--vp-accent: #0d9488;--vp-accent2: #6366f1;--vp-surface: #ffffff;--vp-muted: #64748b;border:none;background:linear-gradient(145deg,#f8fafc,#f1f5f9,#e2e8f0);box-shadow:0 4px 24px #0f172a14}.vendor-portal-header{margin:-8px 0 20px;padding-bottom:16px;border-bottom:1px solid rgba(148,163,184,.35)}.vendor-portal-title{margin:0 0 6px;font-size:1.5rem;letter-spacing:-.02em;color:#0f172a}.vendor-portal-sub{margin:0;font-size:13px;color:var(--vp-muted)}.vendor-preflight-panel{border-radius:14px;padding:18px 20px;margin:16px 0;background:linear-gradient(135deg,#fffbeb,#fef3c7 40%,#fde68a);border:1px solid #fbbf24;box-shadow:0 8px 28px #f59e0b26}.vendor-preflight-head{display:flex;align-items:center;gap:12px;margin-bottom:8px}.vendor-preflight-head h4{margin:0;font-size:16px;color:#78350f}.vendor-preflight-badge{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:#b45309;color:#fff}.vendor-preflight-hint{margin:0 0 12px;font-size:13px;line-height:1.55;color:#92400e}.vendor-preflight-stats{display:flex;flex-wrap:wrap;gap:16px;font-size:13px;font-weight:600;color:#78350f;margin-bottom:8px}.vendor-preflight-track{height:12px;background:#ffffffa6;border:1px solid rgba(180,83,9,.25)}.vendor-preflight-fill-hash{background:linear-gradient(90deg,#d97706,#f59e0b,#fbbf24);box-shadow:0 0 12px #f59e0b73}.vendor-preflight-current{margin:10px 0 6px;font-size:12px;color:#78350f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vendor-preflight-filebar{height:4px;background:#ffffff80;border-radius:999px;overflow:hidden}.vendor-preflight-filebar-fill{height:100%;border-radius:999px;background:#b45309;transition:width .2s ease}.vendor-progress-panel-elevated{border:1px solid rgba(13,148,136,.25);background:linear-gradient(180deg,#fff,#f0fdfa);box-shadow:0 12px 40px #0d94881f;border-radius:14px}.vendor-progress-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.vendor-progress-head h4{margin:0}.vendor-progress-chip{font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;background:linear-gradient(90deg,var(--vp-accent),#14b8a6);color:#fff}.vendor-progress-pct{margin-left:8px;font-weight:800;color:var(--vp-accent)}.vendor-progress-track-glow{height:14px;background:#e2e8f0;box-shadow:inset 0 1px 2px #0f172a0f}.vendor-progress-fill-sub{background:linear-gradient(90deg,var(--vp-accent2),#818cf8)}.vendor-progress-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-top:14px}.vendor-metric{padding:10px 12px;border-radius:10px;background:#ffffffe6;border:1px solid #e2e8f0}.vendor-metric-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--vp-muted);margin-bottom:4px}.vendor-metric-value{font-size:15px;font-weight:700;color:#0f172a}.vendor-log-title{margin:20px 0 10px;font-size:1.05rem;color:#334155}.vendor-log-list{max-height:280px;overflow-y:auto;font-size:13px;line-height:1.5;background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:12px;padding:12px 12px 12px 28px}body.admin-backend-body{background:#0b1120}.layout.admin-layout{width:100%;max-width:none;margin:0;min-height:100vh;box-sizing:border-box;padding:20px clamp(14px,2.5vw,28px);background:linear-gradient(165deg,#0b1120,#0f172a 42%,#111827);color:#e2e8f0}.layout.admin-layout header h1{color:#f8fafc}.layout.admin-layout nav a{color:#38bdf8}.layout.admin-layout nav a:hover{color:#7dd3fc}.layout.admin-layout .admin-login-bar input{background:#1e293b;border-color:#475569;color:#f1f5f9}.layout.admin-layout .admin-login-bar button{background:#0ea5e9;border-color:#0284c7;color:#fff}.layout.admin-layout main>section{background:#0f172aeb;border:1px solid rgba(51,65,85,.65);border-radius:14px;padding:18px 20px;color:#e2e8f0;box-shadow:0 8px 32px #00000059}.layout.admin-layout main>section h2,.layout.admin-layout main>section h3{color:#cbd5e1}.layout.admin-layout main input:not([type=checkbox]):not([type=radio]),.layout.admin-layout main select,.layout.admin-layout main textarea{background:#1e293b;border-color:#475569;color:#f1f5f9}.admin-dashboard{color:#e2e8f0;width:100%}.admin-dashboard-hero{background:linear-gradient(145deg,#0f172a,#0b1222,#111827);border:1px solid rgba(34,211,238,.22);border-radius:14px;padding:20px 22px;margin-bottom:16px;box-shadow:0 0 40px #22d3ee0f,inset 0 1px #ffffff0a}.admin-dashboard-title h2{margin:0 0 8px;font-size:1.35rem;letter-spacing:.02em;background:linear-gradient(90deg,#e2e8f0,#22d3ee);-webkit-background-clip:text;background-clip:text;color:transparent}.admin-dashboard-sub{margin:0;font-size:13px;line-height:1.55;color:#94a3b8;max-width:720px}.admin-dashboard-sub a{color:#22d3ee}.admin-dashboard-muted{color:#64748b;font-size:14px}.admin-dashboard-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-top:18px}.admin-kpi{background:#0f172aa6;border:1px solid rgba(148,163,184,.2);border-radius:10px;padding:12px 14px}.admin-kpi-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin-bottom:6px}.admin-kpi-value{font-size:1.25rem;font-weight:700;color:#f1f5f9;font-variant-numeric:tabular-nums}.admin-kpi-value-small{font-size:12px;color:#94a3b8;word-break:break-all}.admin-dashboard-panel{background:#0f172a;border:1px solid rgba(51,65,85,.6);border-radius:14px;padding:18px 20px;margin-bottom:16px}.admin-dashboard-panel h3{margin:0 0 12px;font-size:15px;color:#cbd5e1}.admin-dashboard-hint{margin:0 0 14px;font-size:13px;color:#64748b;line-height:1.5}.admin-catalog-import{margin:14px 0;padding:14px 16px;background:#1e293b8c;border:1px solid rgba(71,85,105,.55);border-radius:10px;font-size:13px;line-height:1.55;color:#94a3b8}.admin-catalog-import code{font-size:12px}.admin-catalog-import-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:10px}.admin-chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (min-width: 1600px){.admin-chart-grid{grid-template-columns:1.2fr .8fr}}@media (max-width: 900px){.admin-chart-grid{grid-template-columns:1fr}}.admin-chart-wide{grid-column:1 / -1}.admin-chart-cell{min-height:200px;background:#02061780;border-radius:10px;border:1px solid rgba(51,65,85,.45)}.admin-dash-grid-wrap{width:100%}.admin-dash-grid-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-bottom:10px}.admin-dash-grid-hint{font-size:12px;color:#64748b}.admin-dash-reset{font-size:13px}.admin-dash-grid{min-height:80px}.admin-dash-grid-item-root{height:100%}.admin-dash-grid .react-grid-item.react-grid-placeholder{background:#22d3ee1f;border:1px dashed rgba(34,211,238,.45);border-radius:8px;opacity:1}.admin-dash-grid .react-grid-item>.react-resizable-handle:after{border-color:#94a3b873}.admin-dash-widget{height:100%;background:#0206178c;border-radius:10px;border:1px solid rgba(51,65,85,.5);overflow:hidden;display:flex;flex-direction:column}.admin-dash-widget-head{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#1e293bd9;border-bottom:1px solid rgba(51,65,85,.55);flex-shrink:0}.admin-dash-widget-drag{cursor:grab;color:#64748b;font-size:14px;line-height:1;letter-spacing:-3px;-webkit-user-select:none;user-select:none;padding:2px 4px;border-radius:4px}.admin-dash-widget-drag:hover{color:#22d3ee;background:#22d3ee14}.admin-dash-widget-drag:active{cursor:grabbing}.admin-dash-widget-title{font-size:13px;font-weight:600;color:#22d3ee}.admin-dash-widget-body{flex:1;min-height:0;position:relative}.admin-dash-chart-host{position:absolute;top:0;right:0;bottom:0;left:0}.admin-filter-row{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-end;margin-bottom:14px}.admin-filter-row label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#94a3b8}.admin-filter-row select,.admin-filter-row input{margin:0;background:#020617;border-color:#334155;color:#e2e8f0;min-width:140px}.admin-filter-row button{margin:0;background:linear-gradient(180deg,#0891b2,#0e7490);color:#fff;border-color:#155e75;font-weight:600}.admin-filter-row button.admin-btn-ghost{background:transparent;border:1px solid rgba(71,85,105,.9);color:#cbd5e1;font-weight:500}.admin-filter-row button.admin-btn-ghost:hover{border-color:#22d3ee73;color:#e2e8f0}.admin-upload-table-wrap{overflow-x:auto;border-radius:10px;border:1px solid rgba(51,65,85,.45);background:#02061759}.admin-upload-table{width:100%;border-collapse:collapse;font-size:12px;color:#cbd5e1}.admin-upload-table th,.admin-upload-table td{padding:10px 12px;text-align:left;border-bottom:1px solid rgba(51,65,85,.5);vertical-align:top}.admin-upload-table th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#64748b;white-space:nowrap;background:#0f172ad9;position:sticky;top:0;z-index:1}.admin-upload-table tbody tr:hover{background:#22d3ee0f}.admin-upload-table .cell-mono{font-family:ui-monospace,monospace;font-size:11px;color:#94a3b8;word-break:break-all;max-width:220px}.admin-upload-pager{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;font-size:13px;color:#94a3b8}.admin-upload-pager button:disabled{opacity:.45;cursor:not-allowed}.admin-dashboard-trace .admin-trace-list{max-height:220px;overflow-y:auto;font-size:12px;line-height:1.45;padding-left:18px;color:#94a3b8}.admin-inline-code{padding:2px 6px;border-radius:4px;background:#0f172ad9;border:1px solid rgba(51,65,85,.6);font-size:12px;color:#22d3ee}.admin-form-error{color:#fca5a5;font-size:14px;margin:0 0 10px}.admin-form-notice{color:#6ee7b7;font-size:14px;margin:0 0 10px}.admin-filter-row.admin-filter-row-stack{flex-direction:column;align-items:stretch}.admin-filter-row.admin-filter-row-stack label{width:100%;max-width:440px}.admin-filter-row.admin-filter-row-stack input,.admin-filter-row.admin-filter-row-stack select{width:100%;box-sizing:border-box;max-width:440px}.admin-vendor-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.admin-vendor-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:10px;background:#02061773;border:1px solid rgba(51,65,85,.5)}.admin-vendor-meta{display:flex;flex-direction:column;gap:4px;font-size:13px}.admin-vendor-actions{display:flex;flex-wrap:wrap;gap:10px}.admin-vendor-actions .admin-btn-ghost{background:transparent;border:1px solid rgba(71,85,105,.9);color:#cbd5e1;font-weight:500;margin:0;padding:8px 14px;border-radius:8px;cursor:pointer}.admin-vendor-actions .admin-btn-ghost:hover{border-color:#22d3ee73;color:#e2e8f0}.admin-modal-backdrop{background:#020617b8}.admin-modal-panel{background:linear-gradient(145deg,#0f172a,#111827);border:1px solid rgba(34,211,238,.22);color:#e2e8f0;box-shadow:0 24px 60px #00000073}.admin-modal-panel h3{color:#f1f5f9}.admin-modal-hint{color:#94a3b8}.admin-modal-textarea{background:#020617;border-color:#334155;color:#e2e8f0}body.vendor-portal-body{background:#0b1120;color:#e2e8f0}.layout.vendor-layout{width:min(1960px,99vw);max-width:none;min-height:100vh;box-sizing:border-box;margin:0 auto;padding:20px 24px 40px;background:linear-gradient(165deg,#0b1120,#0f172a 42%,#111827);color:#e2e8f0}.layout.vendor-layout main{max-width:920px;margin:0 auto}.vendor-search-select{display:inline-flex;flex-direction:column;gap:4px;min-width:160px;vertical-align:top}.vendor-search-select>label{font-size:14px;color:#334155}.vendor-search-select-box{position:relative}.vendor-search-select-box input{width:100%;min-width:200px;box-sizing:border-box}.vendor-search-select-box.is-disabled input{opacity:.65;cursor:not-allowed}.vendor-search-select-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:50;max-height:240px;overflow-y:auto;margin:0;padding:4px 0;list-style:none;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 12px 32px #0f172a1f}.vendor-search-select-item{display:block;width:100%;padding:8px 12px;border:none;background:none;text-align:left;font-size:14px;color:#1e293b;cursor:pointer}.vendor-search-select-item:hover{background:#f1f5f9}.vendor-search-select-item.is-active{background:#e0f2fe;color:#0369a1}.vendor-search-select-empty{padding:10px 12px;font-size:13px;color:#64748b}.vendor-dimension-selects{display:flex;flex-wrap:wrap;gap:16px 20px;align-items:flex-end}.vendor-resume-panel{margin:8px 0 12px;border:1px solid rgba(71,85,105,.5);border-radius:10px;padding:10px;background:#0f172a80}.vendor-resume-head{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:10px}.vendor-resume-head input{min-width:320px}.vendor-resume-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px}.vendor-resume-card{text-align:left;border:1px solid #334155;border-radius:10px;background:#020617a6;color:#cbd5e1;padding:10px 12px;cursor:pointer}.vendor-resume-card:hover{border-color:#0ea5e9}.vendor-resume-card.is-active{border-color:#22d3ee;box-shadow:inset 0 0 0 1px #22d3ee59}.vendor-resume-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;font-size:12px}.vendor-resume-batchid{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:11px;color:#7dd3fc}.vendor-resume-meta{font-size:12px;color:#94a3b8;margin-top:3px}.vendor-resume-files{margin-top:6px;font-size:12px;color:#fcd34d}.vendor-resume-confirm{margin:8px 0 12px;padding:10px 12px;border-radius:10px;border:1px solid rgba(34,211,238,.35);background:#082f4959}.vendor-resume-confirm-title{font-weight:700;color:#67e8f9;margin-bottom:6px}.vendor-resume-confirm-actions{display:flex;flex-wrap:wrap;gap:8px}.vendor-recent-panel{margin:10px 0 12px;border:1px solid rgba(71,85,105,.45);border-radius:10px;padding:10px;background:#02061773}.vendor-recent-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;color:#cbd5e1;font-size:13px}.vendor-recent-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px}.vendor-recent-card{border:1px solid #334155;border-radius:10px;background:#0f172a99;padding:10px 12px;color:#e2e8f0}.vendor-recent-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.vendor-recent-meta{font-size:12px;color:#94a3b8;margin-top:3px}.vendor-batch-status{font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid #475569;color:#cbd5e1}.vendor-batch-status.status-success{border-color:#166534;color:#86efac}.vendor-batch-status.status-uploading{border-color:#075985;color:#7dd3fc}.vendor-batch-status.status-paused{border-color:#a16207;color:#fde68a}.vendor-batch-status.status-incomplete,.vendor-batch-status.status-failed,.vendor-batch-status.status-error{border-color:#991b1b;color:#fca5a5}.layout.vendor-layout .vendor-search-select>label{color:#475569}.layout.vendor-layout .vendor-search-select-list{background:#1e293b;border-color:#475569;box-shadow:0 12px 36px #00000073}.layout.vendor-layout .vendor-search-select-item{color:#e2e8f0}.layout.vendor-layout .vendor-search-select-item:hover{background:#334155}.layout.vendor-layout .vendor-search-select-item.is-active{background:#0c4a6e;color:#e0f2fe}.layout.vendor-layout .vendor-search-select-empty{color:#94a3b8}.layout.vendor-layout input,.layout.vendor-layout select,.layout.vendor-layout button{background:#020617;border:1px solid #334155;color:#e2e8f0;border-radius:8px}.layout.vendor-layout button:not(.vendor-search-select-item){background:linear-gradient(180deg,#0891b2,#0e7490);border-color:#155e75;color:#fff;font-weight:600}.layout.vendor-layout .vendor-portal-shell{border:1px solid rgba(34,211,238,.22);border-radius:14px;padding:22px 24px;background:linear-gradient(145deg,#0f172a,#0b1222,#111827);box-shadow:0 0 40px #22d3ee0f,inset 0 1px #ffffff0a}.layout.vendor-layout .vendor-portal-header{border-bottom-color:#334155a6}.layout.vendor-layout .vendor-portal-title{font-size:1.35rem;letter-spacing:.02em;background:linear-gradient(90deg,#e2e8f0,#22d3ee);-webkit-background-clip:text;background-clip:text;color:transparent}.layout.vendor-layout .vendor-portal-sub,.layout.vendor-layout .vendor-login-hint{color:#94a3b8}.layout.vendor-layout .vendor-login-hint code{background:#0f172ad9;border:1px solid rgba(51,65,85,.6);color:#22d3ee}.layout.vendor-layout .vendor-login-error{color:#fca5a5}.layout.vendor-layout .vendor-file-hint{color:#94a3b8}.layout.vendor-layout .vendor-file-hint strong{color:#e2e8f0}.layout.vendor-layout .vendor-upload-block{background:#0206178c;border-color:#3341558c}.layout.vendor-layout .vendor-upload-label{color:#cbd5e1}.layout.vendor-layout .vendor-upload-desc{color:#64748b}.layout.vendor-layout .vendor-pending-card{background:#1e1b4b59;border-color:#6366f159}.layout.vendor-layout .vendor-pending-warn{color:#fcd34d}.layout.vendor-layout .vendor-preflight-panel{background:linear-gradient(135deg,#78350f73,#b4530940);border-color:#fbbf2459}.layout.vendor-layout .vendor-preflight-head h4,.layout.vendor-layout .vendor-preflight-hint,.layout.vendor-layout .vendor-preflight-stats,.layout.vendor-layout .vendor-preflight-current{color:#fde68a}.layout.vendor-layout .vendor-progress-panel-elevated{background:linear-gradient(180deg,#0f172af2,#0f766e1f);border-color:#22d3ee40}.layout.vendor-layout .vendor-progress-track-glow{background:#1e293b}.layout.vendor-layout .vendor-metric{background:#020617a6;border-color:#334155}.layout.vendor-layout .vendor-metric-value{color:#f1f5f9}.layout.vendor-layout .vendor-log-title{color:#cbd5e1}.layout.vendor-layout .vendor-log-list{background:#02061780;border-color:#334155;color:#94a3b8}.layout.vendor-layout .vendor-upload-busy{background:#0891b226;border-color:#22d3ee59;color:#22d3ee}.layout.vendor-layout .vendor-btn-primary{background:linear-gradient(180deg,#0891b2,#0e7490);border-color:#155e75}
