:root{
  --bg:#f5f5f7;--surface:#fff;--hover:#fbfbfd;--row-hover:#f0f0f3;--text:#1d1d1f;--text-body:#424245;--text-2:#6e6e73;--text-3:#86868b;--text-4:#aeaeb2;--faint:#d2d2d7;--hairline:rgba(0,0,0,.07);
  --accent:#0071e3;--accent-link:#0066cc;--live:#30d158;--danger:#d70015;--track:#e8e8ed;
  --r-pill:999px;--r-chip:6px;--r-thumb:12px;--r-sheet:16px;--r-card:18px;--r-panel:22px;
  --sh-card:0 1px 2px rgba(0,0,0,.04),0 8px 24px rgba(0,0,0,.05);--sh-panel:0 1px 3px rgba(0,0,0,.05),0 14px 40px rgba(0,0,0,.05);--sh-overlay:0 2px 8px rgba(0,0,0,.10),0 30px 80px rgba(0,0,0,.24);
  --ease-spring:cubic-bezier(.32,.72,0,1);--ease-out-quart:cubic-bezier(.25,1,.5,1);--page-max:1560px;--page-pad:clamp(18px,3vw,36px);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;color:var(--text);background:var(--bg);font-synthesis:none;font-optical-sizing:auto;-webkit-font-smoothing:antialiased
}
*{box-sizing:border-box}[hidden],input[type="file"]{display:none!important}html{background:var(--bg)}body{margin:0;min-width:320px;background:var(--bg);color:var(--text-body)}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid rgba(0,113,227,.24);outline-offset:2px}
header{min-height:50px;padding:0 max(var(--page-pad),calc((100vw - var(--page-max))/2));display:flex;align-items:center;justify-content:space-between;gap:20px;position:sticky;top:0;z-index:20;background:rgba(245,245,247,.76);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid transparent;transition:border-color .3s var(--ease-out-quart),box-shadow .3s var(--ease-out-quart)}header.scrolled{border-bottom-color:var(--hairline);box-shadow:0 1px 12px rgba(0,0,0,.04)}
h1{margin:0;font-size:clamp(18px,1.5vw,22px);font-weight:700;letter-spacing:-.025em;line-height:1.15}#health{max-width:min(46vw,620px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:7px 12px;border-radius:var(--r-pill);background:rgba(0,0,0,.045);color:var(--text-2);font-size:12px;font-weight:550}
main{width:min(var(--page-max),calc(100% - var(--page-pad)*2));margin:10px auto 28px}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;background:var(--surface);border-radius:var(--r-panel);box-shadow:var(--sh-panel)}.metrics div{min-width:0;padding:12px clamp(16px,1.8vw,24px)}.metrics div+div{border-left:1px solid var(--hairline)}.metrics b{display:block;color:var(--text);font-size:clamp(23px,2vw,30px);font-weight:650;letter-spacing:-.035em;line-height:1;font-variant-numeric:tabular-nums}.metrics span{display:block;margin-top:5px;color:var(--text-3);font-size:11.5px;font-weight:500}
.step-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;margin-top:10px;padding:3px;background:rgba(0,0,0,.045);border-radius:var(--r-pill)}.step-nav button{min-height:38px;padding:7px 12px;border:0;border-radius:var(--r-pill);background:transparent;color:var(--text-2);font-size:12.5px;font-weight:550;cursor:pointer;transition:background .22s var(--ease-out-quart),color .22s var(--ease-out-quart),box-shadow .22s var(--ease-out-quart),transform .1s ease-out}.step-nav button:hover{color:var(--text);background:rgba(255,255,255,.54)}.step-nav button.active{background:var(--surface);color:var(--text);font-weight:650;box-shadow:0 1px 2px rgba(0,0,0,.08),0 4px 14px rgba(0,0,0,.05)}
.panel{display:none;margin-top:10px;padding:18px clamp(18px,2vw,28px);background:var(--surface);border-radius:var(--r-panel);box-shadow:var(--sh-panel)}.panel.active{display:block}.section-title{display:flex;align-items:center;gap:10px;margin-bottom:12px}.section-title i{display:grid;place-items:center;width:30px;height:30px;border-radius:var(--r-thumb);background:var(--text);color:#fff;font-style:normal;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.section-title h3{margin:0;color:var(--text);font-size:clamp(19px,1.6vw,23px);font-weight:700;letter-spacing:-.02em;line-height:1.2}
.upload-row,.export-row,.platform-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sourcing-cards{grid-template-columns:minmax(280px,.72fr) minmax(540px,1.28fr)}article{min-width:0;padding:clamp(18px,2vw,26px);background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-card)}article h4{margin:0 0 16px;color:var(--text);font-size:16px;font-weight:650;letter-spacing:-.01em;line-height:1.4}.supplier-fields{display:grid;grid-template-columns:minmax(150px,.45fr) minmax(220px,1fr);gap:12px}
label{display:block;margin:0 0 12px;color:var(--text-2);font-size:12px;font-weight:550}input,select{display:block;width:100%;min-height:44px;margin-top:6px;padding:0 14px;border:1px solid rgba(0,0,0,.12);border-radius:var(--r-thumb);background:var(--surface);color:var(--text);transition:border-color .18s,box-shadow .18s}input::placeholder{color:var(--text-4)}input:hover,select:hover{border-color:rgba(0,0,0,.22)}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(0,113,227,.10);outline:0}
button,.button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:0 20px;border:0;border-radius:var(--r-pill);background:var(--accent);color:#fff;font-size:13px;font-weight:650;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer;transition:filter .18s var(--ease-out-quart),transform .1s ease-out,background .18s var(--ease-out-quart)}button:hover,.button:hover{filter:brightness(.95)}button:active,.button:active{transform:scale(.97)}.secondary{background:rgba(0,0,0,.055);color:var(--text)}.secondary:hover{background:rgba(0,0,0,.085);filter:none}.danger{margin-top:10px;background:var(--danger)}button:disabled,.button.disabled{opacity:.38;pointer-events:none}.card-status{color:var(--text-3);font-size:12px}article a:not(.button){display:inline-flex;min-height:44px;align-items:center;color:var(--accent-link);font-size:13px;font-weight:550;text-decoration:none}.platform-row select{width:160px;margin:0}.empty{margin:10px 0;color:var(--text-3);font-size:13px}
.platform-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.status-chip{padding:5px 10px;border-radius:var(--r-pill);background:rgba(0,0,0,.05);color:var(--text-3);font-size:11.5px;font-weight:550;white-space:nowrap}.status-chip.ok{background:rgba(48,209,88,.12);color:#16752d}.platform-action{display:grid;grid-template-columns:110px minmax(140px,1fr) auto;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--hairline)}.platform-action b{color:var(--text);font-size:14px}.platform-state{overflow:hidden;color:var(--text-2);font-size:12px;text-overflow:ellipsis;white-space:nowrap}#startAllPlatforms{margin-top:6px}.collection-job{margin-top:12px;padding:12px 14px;border-radius:var(--r-thumb);background:var(--bg);color:var(--text-2);font-size:12px;line-height:1.6}details{margin-top:14px;padding-top:12px;border-top:1px solid var(--hairline)}summary{min-height:44px;display:flex;align-items:center;color:var(--text-2);font-size:12px;font-weight:550;cursor:pointer}details .platform-row{margin-top:8px}
.issues{min-height:260px}.issue-actions{display:flex;align-items:center;gap:6px}.issue-actions .exclude{background:rgba(215,0,21,.08);color:var(--danger)}.issue-count{display:block;margin-top:3px;color:var(--text-3);font-size:11px}
.result-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.result-filters{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:1}.result-filters input{width:min(300px,30vw);margin:0}.result-filters select{width:150px;margin:0}.money-emphasis{color:#c62828;font-weight:750;font-variant-numeric:tabular-nums}.money-reference{display:block;color:#c62828;font-size:11px;font-weight:650}.key-number{color:#b42318;font-weight:750}.result-filters #clearSearch{padding-inline:16px}.results{min-height:260px}.table-wrap{max-height:min(66vh,820px);overflow:auto;border:1px solid var(--hairline);border-radius:var(--r-sheet);scrollbar-gutter:stable;background:var(--surface)}.data-table{width:100%;border-collapse:collapse;color:var(--text-body);font-size:12.5px;font-variant-numeric:tabular-nums}.data-table th{position:sticky;top:0;z-index:1;background:var(--track);color:var(--text);text-align:left;font-size:11.5px;font-weight:700;white-space:nowrap}.data-table th,.data-table td{padding:9px clamp(10px,1vw,16px);border-bottom:1px solid var(--hairline);line-height:1.35;vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr{transition:background .15s var(--ease-out-quart)}.data-table tbody tr:hover{background:var(--row-hover)}.result-table{min-width:1040px;width:100%;background:var(--surface)}.result-table .code{font-weight:700;white-space:nowrap}.result-table .name{min-width:140px;color:var(--text)}.result-table .spec{min-width:150px}.result-table .maker{min-width:210px}.result-table .state{color:var(--accent-link);font-weight:550;white-space:nowrap}.issue-table{min-width:860px}.issue-table th:first-child{width:31%}.issue-table th:nth-child(2){width:22%}.issue-table th:nth-child(3){width:31%}.issue-table th:last-child{width:16%}.issue-product{color:var(--text)}.issue-product b{display:inline;margin-right:8px;font-size:12.5px}.issue-product span{color:var(--text-body)}.small-button{min-height:36px;padding:0 13px;font-size:12px}.pagination{display:none;align-items:center;justify-content:center;gap:14px;margin-top:14px}.pagination.show{display:flex}.pagination button{min-height:38px;padding:0 15px}.pagination span{color:var(--text-2);font-size:12px;font-variant-numeric:tabular-nums}
.product-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;border:1px solid var(--hairline);border-radius:var(--r-sheet)}.product-fields div{min-width:0;padding:12px 14px;border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline);background:var(--surface)}.product-fields div:nth-child(3n){border-right:0}.product-fields div:nth-last-child(-n+3){border-bottom:0}.product-fields span{display:block;color:var(--text-3);font-size:11px}.product-fields b{display:block;margin-top:4px;color:var(--text);font-size:12px;line-height:1.5;word-break:break-all}.source-section{margin-top:14px}.source-section h4{margin:0 0 8px;color:var(--text);font-size:14px;font-weight:700}.source-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-top:14px}.source{padding:14px;border:1px solid var(--hairline);border-radius:var(--r-thumb);background:var(--surface);font-size:12px;line-height:1.65}.source b{display:block;margin-bottom:5px;color:var(--text)}.source a{margin-top:6px;color:var(--accent-link)}
dialog{width:min(980px,calc(100% - 32px));padding:clamp(20px,3vw,34px);border:0;border-radius:var(--r-panel);background:rgba(255,255,255,.88);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);box-shadow:var(--sh-overlay);opacity:0;transform:translateY(12px) scale(.98);transform-origin:center bottom;transition:opacity .28s var(--ease-spring),transform .4s var(--ease-spring),overlay .28s allow-discrete,display .28s allow-discrete}dialog[open]{opacity:1;transform:none}@starting-style{dialog[open]{opacity:0;transform:translateY(12px) scale(.98)}}dialog::backdrop{background:rgba(0,0,0,.32);opacity:0;transition:opacity .25s,overlay .25s allow-discrete,display .25s allow-discrete}dialog[open]::backdrop{opacity:1}@starting-style{dialog[open]::backdrop{opacity:0}}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.dialog-head h3{margin:0;color:var(--text);font-size:clamp(19px,2vw,26px);letter-spacing:-.02em}#dialogBody{max-height:68vh;overflow:auto;padding-right:3px}
#toast{position:fixed;right:clamp(16px,3vw,32px);bottom:clamp(16px,3vw,32px);z-index:60;max-width:min(440px,calc(100vw - 32px));padding:13px 18px;border-radius:var(--r-pill);background:rgba(29,29,31,.92);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--sh-card);color:#fff;font-size:13px;font-weight:550;opacity:0;pointer-events:none;transform:translateY(8px) scale(.98);transition:opacity .25s var(--ease-spring),transform .3s var(--ease-spring)}#toast.show{opacity:1;transform:none}#toast.error{background:rgba(180,0,18,.92)}
@media(max-width:1100px){.sourcing-cards{grid-template-columns:1fr}.result-actions{align-items:stretch;flex-direction:column}.result-filters{justify-content:flex-start}.result-filters input{width:min(360px,40vw)}}
@media(max-width:760px){:root{--page-pad:16px}header{min-height:54px}h1{font-size:17px}#health{max-width:48vw;font-size:11px}main{margin-top:14px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));border-radius:var(--r-card)}.metrics div+div{border-left:0}.metrics div:nth-child(even){border-left:1px solid var(--hairline)}.metrics div:nth-child(n+3){border-top:1px solid var(--hairline)}.metrics b{font-size:25px}.step-nav{display:flex;overflow-x:auto;border-radius:var(--r-card);scrollbar-width:none}.step-nav::-webkit-scrollbar{display:none}.step-nav button{flex:1 0 auto;min-width:116px}.panel{padding:20px 16px;border-radius:var(--r-card)}.section-title{margin-bottom:18px}.section-title h3{font-size:19px}.cards,.supplier-fields{grid-template-columns:1fr}.upload-row,.export-row,.platform-row,.result-filters{align-items:stretch;flex-direction:column}.upload-row button,.export-row .button,.platform-row button{width:100%}.platform-row select,.result-filters input,.result-filters select{width:100%}.platform-action{grid-template-columns:1fr 1fr}.platform-action button{grid-column:1/-1;width:100%}.product-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.product-fields div,.product-fields div:nth-child(3n),.product-fields div:nth-last-child(-n+3){border-right:0;border-bottom:1px solid var(--hairline)}.product-fields div:nth-child(odd){border-right:1px solid var(--hairline)}.product-fields div:nth-last-child(-n+2){border-bottom:0}.result-table .maker{min-width:190px}dialog{padding:20px 16px}}
@media(max-width:460px){header{align-items:flex-start;padding-top:11px;padding-bottom:11px;flex-direction:column;gap:6px}#health{max-width:100%}.metrics div{padding:14px}.metrics b{font-size:22px}.section-title i{width:30px;height:30px}.product-fields{grid-template-columns:1fr}.product-fields div,.product-fields div:nth-child(odd),.product-fields div:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--hairline)}.product-fields div:last-child{border-bottom:0}.pagination{gap:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}dialog,#toast{transform:none!important}}
@media(prefers-reduced-transparency:reduce){header,dialog,.result-table th{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}#toast{background:#1d1d1f;color:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}#toast.error{background:#b40012}}
@media(prefers-contrast:more){header,dialog,.panel,.metrics,article,.table-wrap{border:1px solid rgba(0,0,0,.35)}}

/* Four file inputs keep the confirmed order; platform collection is a separate step. */
.input-list{overflow:hidden;border:1px solid var(--hairline);border-radius:var(--r-card);background:var(--surface)}
.input-row{display:grid;grid-template-columns:28px minmax(280px,1fr) minmax(230px,330px);align-items:center;gap:14px;padding:10px 14px}
.input-row+.input-row{border-top:1px solid var(--hairline)}
.input-number{display:grid;place-items:center;width:26px;height:26px;border-radius:var(--r-pill);background:rgba(0,0,0,.055);color:var(--text);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}
.input-name{min-width:0}.input-name h4{margin:0;color:var(--text);font-size:14px;font-weight:650;letter-spacing:-.01em;line-height:1.35}.input-name p{margin:5px 0 0;color:var(--text-3);font-size:11.5px;line-height:1.4}.file-name{display:block;margin-top:3px;overflow:hidden;color:var(--text-3);font-size:11.5px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.upload-dropzone{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:7px 11px;border:1px dashed rgba(0,0,0,.18);border-radius:var(--r-thumb);background:var(--surface);color:var(--text);cursor:pointer;user-select:none;transition:border-color .2s var(--ease-out-quart),background .2s var(--ease-out-quart),box-shadow .2s var(--ease-out-quart),transform .1s ease-out}
.upload-dropzone:hover{border-color:rgba(0,113,227,.48);background:var(--hover)}
.upload-dropzone:active{transform:scale(.995)}
.upload-dropzone:focus-visible{outline:3px solid rgba(0,113,227,.24);outline-offset:2px}
.upload-dropzone.is-dragging{border-color:var(--accent);border-style:solid;background:rgba(0,113,227,.055);box-shadow:0 0 0 4px rgba(0,113,227,.10)}
.upload-dropzone.disabled{opacity:.42;cursor:not-allowed;pointer-events:auto}
.upload-dropzone.is-uploading{pointer-events:none;opacity:.62}
.upload-loading{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:rgba(245,245,247,.72);-webkit-backdrop-filter:saturate(150%) blur(14px);backdrop-filter:saturate(150%) blur(14px)}
.upload-loading-card{display:flex;align-items:center;gap:16px;width:min(460px,100%);padding:22px 24px;border:1px solid rgba(0,0,0,.08);border-radius:22px;background:rgba(255,255,255,.94);box-shadow:0 18px 60px rgba(0,0,0,.16)}
.upload-loading-card div{display:grid;gap:5px;min-width:0}.upload-loading-card strong{color:var(--text);font-size:16px}.upload-loading-card span:last-child{overflow:hidden;color:var(--text-2);font-size:12.5px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}
.upload-spinner{flex:0 0 34px;width:34px;height:34px;border:3px solid rgba(0,113,227,.16);border-top-color:var(--accent);border-radius:50%;animation:upload-spin .8s linear infinite}
body.upload-busy{overflow:hidden}@keyframes upload-spin{to{transform:rotate(360deg)}}
.upload-plus{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:rgba(0,113,227,.09);color:var(--accent);font-size:22px;font-weight:300;line-height:1}
.upload-copy{display:grid;min-width:0;text-align:left}.upload-copy strong{color:var(--text);font-size:12.5px;font-weight:650}
.platform-input-row{grid-template-columns:28px minmax(260px,.65fr) minmax(620px,1.35fr);align-items:start}
.platform-controls{min-width:0;padding:8px 10px;border:1px solid var(--hairline);border-radius:var(--r-thumb)}
.platform-head{display:flex;align-items:center;gap:10px;min-height:26px}.status-chip{padding:4px 9px;border-radius:var(--r-pill);background:rgba(0,0,0,.05);color:var(--text-3);font-size:11px;font-weight:550;white-space:nowrap}.status-chip.ok{background:rgba(48,209,88,.12);color:#16752d}.collection-job{margin:0;padding:0;overflow:hidden;background:transparent;color:var(--text-2);font-size:11.5px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}
.platform-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:6px}.platform-action{display:grid;grid-template-columns:auto minmax(80px,1fr) auto;align-items:center;gap:8px;padding:0;border:0}.platform-action b{color:var(--text);font-size:12.5px}.platform-state{overflow:hidden;color:var(--text-2);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.platform-action button{min-height:34px;padding:0 12px;font-size:11.5px}
.platform-buttons{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}.platform-buttons button{min-height:36px;padding:0 14px}.platform-buttons .danger{margin:0}.platform-buttons select{width:122px;min-height:36px;margin:0}.platform-buttons .upload-dropzone.compact{width:190px;min-height:36px;padding:2px 8px}.platform-buttons .upload-dropzone.compact .upload-plus{flex-basis:28px;width:28px;height:28px;font-size:20px}.platform-buttons a{display:inline-flex;min-height:36px;align-items:center;color:var(--accent-link);font-size:12px;font-weight:550;text-decoration:none}
input,select{padding-right:16px;border-radius:var(--r-pill);background-color:var(--surface)}
select{appearance:none;-webkit-appearance:none;padding-right:42px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%236e6e73' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
.pagination button{min-height:44px;padding-inline:16px}

@media(max-width:1100px){
  .platform-input-row{grid-template-columns:28px minmax(220px,1fr) minmax(520px,1.5fr)}
}
@media(max-width:760px){
  .step-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;border-radius:var(--r-pill)}
  .step-nav button{min-width:0;padding-inline:8px}
  .input-row,.platform-input-row{grid-template-columns:26px minmax(0,1fr);gap:8px 10px;padding:11px}
  .input-row>.upload-dropzone,.platform-input-row>.platform-controls{grid-column:2;width:100%}
  .platform-actions{grid-template-columns:1fr}.platform-buttons{align-items:stretch;flex-direction:column}.platform-buttons>*{width:100%!important}.platform-buttons a{justify-content:center}
}

@media(pointer:coarse){.small-button,.step-nav button,.platform-action button,.platform-buttons button,.platform-buttons .upload-dropzone.compact{min-height:44px}}

/* Responsive page widths remain fluid; only the preparation surface gets a custom layout. */
:root{--page-max:2160px;--page-pad:clamp(16px,3vw,48px)}
header{min-height:50px}
h1{font-size:clamp(18px,1.5vw,22px)}
main{margin:10px auto 28px}
.metrics div{padding:12px clamp(16px,1.8vw,24px)}.metrics b{font-size:clamp(23px,2vw,30px)}.metrics span{margin-top:5px;font-size:11.5px}
.step-nav{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:10px;padding:3px}.step-nav button{min-height:38px;font-size:12.5px}
.panel{margin-top:10px;padding:18px clamp(18px,2vw,28px)}.section-title{margin-bottom:12px}.section-title i{width:30px;height:30px}.section-title h3{font-size:clamp(19px,1.6vw,23px)}

.preparation-panel{padding:24px clamp(22px,2vw,32px) 28px}
.preparation-panel .section-title{margin-bottom:18px}
.input-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-radius:var(--r-panel)}
.input-row{display:grid;grid-template-columns:30px minmax(0,1fr);grid-template-rows:auto 1fr;align-items:start;gap:0 12px;min-height:190px;padding:22px;border:0!important}
.input-row:not(:last-child){border-right:1px solid var(--hairline)!important}
.input-row:nth-child(-n+4){border-bottom:0!important}
.input-number{width:28px;height:28px;font-size:12px}
.input-name{align-self:center}.input-name h4{font-size:15.5px;line-height:1.4}.input-name p{margin-top:6px;font-size:11.5px}.file-name{margin-top:5px;font-size:12.5px}
.input-row>.upload-dropzone{grid-column:1/-1;align-self:end;width:100%;min-height:82px;margin-top:20px;padding:12px 16px;border:1px dashed rgba(0,0,0,.18);border-radius:var(--r-sheet);background:var(--hover)}
.input-row>.upload-dropzone:hover{border-color:rgba(0,113,227,.42);background:rgba(0,113,227,.05)}
.input-row>.upload-dropzone.is-dragging{border:1px solid var(--accent);background:rgba(0,113,227,.08)}
.input-row>.upload-dropzone .upload-plus{flex-basis:44px;width:44px;height:44px;background:var(--surface);box-shadow:var(--sh-card);font-size:28px}
.input-row>.upload-dropzone .upload-copy{gap:4px;max-width:calc(100% - 60px)}
.input-row>.upload-dropzone .upload-copy strong{font-size:14px}
.input-row>.upload-dropzone .file-name{max-width:100%;margin:0;color:var(--text-2);font-size:12.5px;font-weight:500}

.platform-panel{padding:24px clamp(22px,2vw,32px) 28px}
.platform-panel .section-title{margin-bottom:18px}
.platform-workbench{overflow:hidden;border:1px solid var(--hairline);border-radius:var(--r-panel);background:var(--surface)}
.platform-stage+.platform-stage{border-top:1px solid var(--hairline)}
.platform-stage-head{display:flex;align-items:center;gap:10px;min-height:58px;padding:10px 20px}
.platform-stage-head h4{margin:0;color:var(--text);font-size:15px;font-weight:650;letter-spacing:-.01em}
.stage-number{display:grid;place-items:center;width:26px;height:26px;border-radius:var(--r-pill);background:rgba(0,0,0,.055);color:var(--text);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}
.platform-stage-head .status-chip,.platform-stage-head .optional-chip{margin-left:auto}
.optional-chip{padding:5px 10px;border-radius:var(--r-pill);background:rgba(0,0,0,.05);color:var(--text-3);font-size:11.5px;font-weight:550;white-space:nowrap}
.platform-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.platform-account-grid .platform-action{display:flex;min-height:168px;align-items:center;justify-content:center;flex-direction:column;gap:0;padding:20px;border-top:1px solid var(--hairline);background:var(--surface);text-align:center}
.platform-account-grid .platform-action:first-child{border-right:1px solid var(--hairline)}
.platform-logo{width:52px;height:52px;object-fit:contain;border-radius:var(--r-thumb);box-shadow:var(--sh-card)}
.platform-account-grid .platform-action b{margin-top:10px;font-size:15px}.platform-account-grid .platform-state{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:12.5px;white-space:normal}.platform-account-grid .platform-state::before{width:7px;height:7px;border-radius:50%;background:var(--faint);content:""}.platform-account-grid .platform-action.is-ready .platform-state{color:#16752d}.platform-account-grid .platform-action.is-ready .platform-state::before{background:var(--live)}.platform-account-grid .platform-action button{min-height:42px;margin-top:12px;padding:0 18px}
.platform-query-stage,.platform-import-stage{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);align-items:center}
.platform-query-stage .platform-stage-head,.platform-import-stage .platform-stage-head{border-right:1px solid var(--hairline)}
.platform-query-stage .collection-job{margin-left:auto;overflow:hidden;color:var(--text-2);font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}
.platform-stage-actions{display:flex;align-items:center;gap:10px;padding:12px 20px}
#startAllPlatforms{min-height:46px;margin:0;padding:0 22px}.platform-stage-actions .danger{margin:0}
.manual-import{display:grid;grid-template-columns:150px minmax(280px,1fr) auto;align-items:center;gap:10px;min-width:0;padding:12px 20px}.manual-import select{width:100%;min-height:46px;margin:0}.manual-import .upload-dropzone.compact{width:100%;min-height:56px;padding:7px 12px;border-radius:var(--r-sheet);background:var(--hover)}.manual-import .upload-dropzone.compact .upload-plus{flex-basis:36px;width:36px;height:36px}.manual-import .upload-copy{gap:2px}.manual-import .file-name{max-width:100%;margin:0;color:var(--text-2);font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.manual-import a{display:inline-flex;min-height:44px;align-items:center;color:var(--accent-link);font-size:12.5px;font-weight:550;text-decoration:none;white-space:nowrap}

@media(max-width:1500px){
  .input-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .input-row{min-height:170px}
  .input-row:not(:last-child){border-right:0!important}
  .input-row:nth-child(odd){border-right:1px solid var(--hairline)!important}
  .input-row:nth-child(-n+2){border-bottom:1px solid var(--hairline)!important}
  .platform-query-stage,.platform-import-stage{grid-template-columns:1fr}.platform-query-stage .platform-stage-head,.platform-import-stage .platform-stage-head{border-right:0;border-bottom:1px solid var(--hairline)}
}
@media(max-width:1050px){
  .platform-account-grid{grid-template-columns:1fr}.platform-account-grid .platform-action:first-child{border-right:0;border-bottom:1px solid var(--hairline)}
}
@media(max-width:760px){
  .step-nav{grid-template-columns:repeat(4,minmax(0,1fr))}
  .step-nav button{min-width:0;padding-inline:6px;font-size:11.5px}
  .input-list{grid-template-columns:1fr}
  .input-row{min-height:160px;padding:18px;border-right:0!important;border-bottom:1px solid var(--hairline)!important}
  .input-row:last-child{border-bottom:0!important}
  .input-row:nth-child(odd){border-right:0!important}
  .platform-account-grid .platform-action{min-height:154px}.platform-logo{width:46px;height:46px}
  .platform-stage-head{flex-wrap:wrap;padding:10px 14px}.platform-query-stage .collection-job{flex-basis:100%;margin:0;white-space:normal}.platform-stage-actions{padding:12px 14px}.platform-stage-actions button{width:100%}
  .manual-import{grid-template-columns:1fr;padding:12px 14px}.manual-import>*{width:100%!important;max-width:none!important}.manual-import a{justify-content:center}
}
@media(max-width:460px){
  .preparation-panel,.platform-panel{padding:18px 14px 20px}.input-row{padding:16px 14px}.input-row>.upload-dropzone{min-height:72px;margin-top:16px}
}

.execution-summary{margin-top:16px;padding:16px 18px;border:1px solid var(--hairline);border-radius:var(--r-sheet);background:var(--hover)}
.execution-summary-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.execution-summary h3,.review-heading h3{margin:0;color:var(--text);font-size:15px}.execution-summary-head p,.review-heading p{margin:4px 0 0;color:var(--text-3);font-size:11.5px}.execution-summary-head>span{padding:5px 10px;border-radius:var(--r-pill);background:rgba(0,0,0,.06);color:var(--text-2);font-size:11.5px;font-weight:650}.execution-summary-head>span.ready{background:rgba(48,209,88,.12);color:#16752d}#executionMessage{margin:12px 0 0;color:var(--text-2);font-size:12.5px}.execution-products{display:flex;gap:8px;margin-top:12px;overflow:auto;padding-bottom:2px}.execution-products span{flex:0 0 auto;padding:7px 10px;border:1px solid var(--hairline);border-radius:var(--r-pill);background:var(--surface);font-size:11.5px}.execution-products b{margin-right:6px;color:var(--text)}.empty.compact{margin:10px 0 0;padding:0;text-align:left}
.workflow-note{margin:4px 0 14px;color:var(--text-2);font-size:12px;line-height:1.55}.replacement-hint{margin:10px 0 0;color:var(--text-3);font-size:11.5px;line-height:1.5}.collection-control{display:grid;gap:0}.collection-actions{flex-wrap:wrap}
.review-section+.review-section{margin-top:22px;padding-top:22px;border-top:1px solid var(--hairline)}.review-heading{margin-bottom:12px}.replacement-table td{vertical-align:top}.replacement-table td>span,.replacement-table td>b{display:block}.replacement-table td>span{margin-top:4px;color:var(--text-3);font-size:11px}.replacement-table .condition{max-width:360px;color:var(--text-2);line-height:1.45}.replacement-table .condition.best{color:#16752d;font-weight:650}.decision{display:inline-flex;padding:4px 8px;border-radius:var(--r-pill);background:rgba(0,0,0,.06);color:var(--text-2);font-size:11px}.decision.confirmed{background:rgba(48,209,88,.12);color:#16752d}
.dialog-replacements{margin-top:18px}.dialog-replacements h4{margin:0 0 10px;color:var(--text);font-size:14px}.replacement-card{display:grid;gap:4px;margin-top:8px;padding:12px 14px;border:1px solid var(--hairline);border-radius:var(--r-thumb);background:var(--hover)}.replacement-card b{color:var(--text);font-size:12.5px}.replacement-card span,.replacement-card p{margin:0;color:var(--text-2);font-size:11.5px;line-height:1.5}
@media(max-width:760px){.execution-summary{padding:14px}.execution-summary-head{align-items:flex-start}.replacement-table{min-width:960px}.collection-actions{display:grid!important;grid-template-columns:1fr!important}}

.history-source-list{display:flex;flex-direction:column}.history-source-row{display:grid;grid-template-columns:80px minmax(140px,1fr) 70px 95px 160px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #eee;font-size:12px}.history-source-row:last-child{border-bottom:0}@media(max-width:720px){.history-source-row{grid-template-columns:1fr 2fr}.history-source-row span:last-child{grid-column:1/-1}}
