.supplier-admin-view{display:flex;flex-direction:column;gap:16px}
.supplier-admin-view.hidden{display:none}
.supplier-admin-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 28px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(135deg,#fff,#f1f8f4)}
.supplier-admin-hero h2{margin:2px 0 6px;font-size:28px}.supplier-admin-hero p{margin:0;color:var(--muted)}
.supplier-admin-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.supplier-permission-state{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;background:#edf3f0;color:#52675e;font-size:12px;font-weight:700}
.supplier-permission-state.allowed{background:#e4f4ea;color:#1f714c}.supplier-permission-state.readonly{background:#fff1df;color:#925b1f}
.supplier-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.supplier-summary article{display:flex;flex-direction:column;gap:5px;padding:18px 20px;border:1px solid var(--line);border-radius:18px;background:#fff}
.supplier-summary span{font-size:13px;color:var(--muted)}.supplier-summary strong{font-size:28px;color:#123f31}.supplier-summary small{color:#718078}
.supplier-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line)}.supplier-tabs button{padding:12px 18px;border:0;border-bottom:3px solid transparent;background:transparent;color:#64746d;font-weight:700;cursor:pointer}.supplier-tabs button.active{color:#176b50;border-bottom-color:#25a36f}
.supplier-panel{padding:0;overflow:hidden}.supplier-toolbar{display:flex;align-items:end;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid var(--line)}
.supplier-toolbar form{display:flex;align-items:end;gap:9px;flex-wrap:wrap}.supplier-toolbar label,.supplier-filter-field{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--muted)}
.supplier-toolbar label>input{min-width:150px;width:170px}.supplier-toolbar select{min-width:170px}.supplier-filter-field>span{font-size:12px;color:var(--muted)}.supplier-search-select{position:relative;width:170px}.supplier-search-select>input{width:100%;min-width:0;padding-right:34px}.supplier-filter-toggle{position:absolute;top:1px;right:1px;width:32px;height:calc(100% - 2px);border:0;border-left:1px solid var(--line);border-radius:0 8px 8px 0;background:#f7faf8;color:#53675f;cursor:pointer}.supplier-search-select:focus-within>input{border-color:#54a98a;box-shadow:0 0 0 3px rgba(62,159,123,.13)}
.supplier-filter-menu{position:absolute;z-index:35;top:calc(100% + 5px);left:0;width:250px;max-height:248px;padding:5px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 14px 32px rgba(25,62,49,.18)}.supplier-filter-menu button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:7px 9px;border:0;border-radius:7px;background:transparent;color:#263f36;text-align:left;cursor:pointer}.supplier-filter-menu button:hover{background:#edf6f2}.supplier-filter-menu button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.supplier-filter-menu button small{flex:none;color:#839087;font-size:11px}.supplier-filter-empty{padding:12px 9px;color:var(--muted);font-size:12px}.supplier-table-meta{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;color:var(--muted)}
.supplier-admin-table{width:100%;border-collapse:collapse}.supplier-admin-table th,.supplier-admin-table td{padding:13px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.supplier-product-table{table-layout:fixed}.supplier-product-table th:nth-child(1){width:45%}.supplier-product-table th:nth-child(2){width:15%}.supplier-product-table th:nth-child(3){width:25%}.supplier-product-table th:nth-child(4){width:8%;text-align:right}.supplier-product-table th:nth-child(5){width:120px}.supplier-product-table td:nth-child(4){text-align:right;white-space:nowrap}.supplier-product-table td:last-child{white-space:nowrap}
.supplier-admin-table th{font-size:12px;color:#66766f;background:#f6f9f7}.supplier-admin-table td b{display:block;color:#203c32}.supplier-admin-table td small{display:block;margin-top:4px;color:#859089}
.supplier-name-list{display:flex;gap:5px;flex-wrap:wrap}.supplier-name-pill,.supplier-source-chip,.supplier-chip{display:inline-flex;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:700}
.supplier-price-list{display:flex;align-items:flex-start;gap:5px;flex-wrap:wrap}.supplier-price-card{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;max-width:100%;padding:5px 8px;border:1px solid #cee5da;border-radius:9px;background:#edf8f2;color:#175f47;text-align:left;cursor:pointer}.supplier-price-card b{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.supplier-price-card small{margin:0!important;color:#527267!important;font-size:11px}.supplier-price-card.pending{background:#fff4e7;border-color:#f0d6ad;color:#925b1f}.supplier-price-card:disabled{cursor:default;opacity:1}
.supplier-name-pill{background:#e7f5ed;color:#176b50}.supplier-name-pill.pending{background:#fff0df;color:#a35b1f}.supplier-source-chip{background:#e9f1ff;color:#3468a8}.supplier-chip.active{background:#e3f4e9;color:#217348}.supplier-chip.inactive{background:#f1f2f1;color:#777}
.supplier-type-chip{display:inline-flex;align-items:center;width:max-content;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}.supplier-type-chip.factory{background:#fcebd9;color:#9a551c}.supplier-type-chip.warehouse{background:#e4efff;color:#2d639c}.supplier-type-chip.peer{background:#eee7fb;color:#6b4aa0}.supplier-type-chip.unclassified{background:#f2f2f2;color:#777}
.supplier-unmapped{color:#b6632a;font-weight:700}.supplier-empty{text-align:center!important;padding:34px!important;color:var(--muted)}
.supplier-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.supplier-form label,.supplier-form-control{display:flex;flex-direction:column;gap:6px}.supplier-form label>span,.supplier-form-control>span{font-size:13px;color:#5e6f67}.supplier-form label.wide{grid-column:1/-1}.supplier-form textarea{min-height:78px;resize:vertical}
.supplier-location-select{position:relative}.supplier-location-select summary{display:flex;align-items:center;min-height:38px;padding:8px 34px 8px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#243d34;cursor:pointer;list-style:none}.supplier-location-select summary::-webkit-details-marker{display:none}.supplier-location-select summary:after{content:'⌄';position:absolute;right:12px;color:#6c7c74}.supplier-location-select[open] summary{border-color:#54a98a;box-shadow:0 0 0 3px rgba(62,159,123,.13)}
.supplier-location-popover{position:absolute;z-index:20;top:calc(100% + 5px);left:0;right:0;padding:9px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 14px 34px rgba(25,62,49,.16)}.supplier-location-search{margin-bottom:7px}.supplier-location-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;max-height:180px;overflow:auto}.supplier-location-options label{display:flex;flex-direction:row;align-items:center;gap:7px;padding:7px 8px;border-radius:8px;cursor:pointer}.supplier-location-options label:hover{background:#f0f7f4}.supplier-location-options input{width:auto}.supplier-location-options label>span{font-size:13px;color:#27443a}.supplier-location-inline-create{width:100%;margin-top:7px;border:0;border-top:1px solid var(--line);border-radius:0;padding:9px 6px;background:#fff;color:var(--primary);text-align:left}.supplier-location-inline-create:hover{background:#f0f7f4}.supplier-location-legacy-option{grid-column:1/-1;background:#fff7e8}.supplier-location-legacy-option span{color:#925b1f!important}
.supplier-location-history{color:#925b1f;font-size:12px;line-height:1.45}
.supplier-location-dialog{width:min(760px,94vw)}.supplier-location-help{margin:-3px 0 14px;color:var(--muted);font-size:13px}.supplier-location-add{display:flex;gap:9px;margin-bottom:14px}.supplier-location-add input{flex:1}.supplier-location-table{width:100%;min-width:650px;table-layout:fixed;border-collapse:collapse}.supplier-location-table th,.supplier-location-table td{padding:10px;border-bottom:1px solid var(--line);text-align:left}.supplier-location-table th{font-size:12px;color:var(--muted);background:#f6f9f7}.supplier-location-table input,.supplier-location-table select{min-width:0;width:100%}.supplier-location-table th:first-child,.supplier-location-table td:first-child{width:290px}.supplier-location-table th:nth-child(2),.supplier-location-table td:nth-child(2){width:80px}.supplier-location-table th:nth-child(3),.supplier-location-table td:nth-child(3){width:75px;white-space:nowrap}.supplier-location-table th:nth-child(4),.supplier-location-table td:nth-child(4){width:90px}.supplier-location-table th:last-child,.supplier-location-table td:last-child{width:74px}
.warning-text{color:#925b1f}
.supplier-product-dialog{width:min(1320px,96vw);max-height:92vh;overflow:auto}.supplier-product-meta{margin:-2px 0 14px;color:var(--muted)}.supplier-link-table{width:100%;border-collapse:collapse}.supplier-link-table th,.supplier-link-table td{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.supplier-link-table th{font-size:12px;color:var(--muted);background:#f6f9f7}.supplier-link-table input[type=number]{width:100px}
.supplier-selected-heading{gap:16px}.supplier-product-add{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;min-width:min(520px,55vw)}.supplier-product-add-select{position:relative;width:min(500px,52vw)}.supplier-product-add-select>input{width:100%;padding-right:36px}.supplier-product-add-select>button{position:absolute;top:1px;right:1px;width:34px;height:calc(100% - 2px);border:0;border-left:1px solid var(--line);border-radius:0 8px 8px 0;background:#f7faf8;cursor:pointer}.supplier-product-add-options{position:absolute;z-index:40;top:calc(100% + 5px);right:0;width:min(500px,78vw);max-height:250px;padding:5px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 14px 32px rgba(25,62,49,.2)}.supplier-product-add-options button{display:grid;grid-template-columns:minmax(120px,1fr) minmax(180px,1.6fr);gap:10px;width:100%;padding:6px 8px;border:0;border-radius:7px;background:transparent;text-align:left;cursor:pointer}.supplier-product-add-options button:hover{background:#eef6f2}.supplier-product-add-options button b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.supplier-product-add-options button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px}.supplier-product-add-empty{padding:14px;color:var(--muted);text-align:center}.supplier-product-dialog-actions{position:sticky;z-index:8;bottom:-24px;margin:18px -2px -24px;padding:16px 2px 24px;background:linear-gradient(180deg,rgba(255,255,255,.88),#fff 24%);border-top:1px solid var(--line)}
.supplier-editor-section{margin-top:14px;border:1px solid var(--line);border-radius:16px;overflow:hidden}.supplier-editor-heading{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#f6f9f7}.supplier-editor-heading div{display:flex;flex-direction:column;gap:3px}.supplier-editor-heading span{font-size:12px;color:var(--muted)}
.supplier-legacy-warning{display:flex;flex-direction:column;gap:4px;margin:10px 0;padding:12px 14px;border:1px solid #efc98d;border-radius:12px;background:#fff8e9;color:#80551c}.supplier-legacy-warning span{font-size:13px}
.supplier-sku-tools{padding:9px 10px;border-bottom:1px solid var(--line);background:#fbfdfc}.supplier-sku-filterbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.supplier-sku-query{width:170px;min-width:150px}.supplier-sku-spec-filter{position:relative}.supplier-sku-spec-filter summary{display:flex;align-items:center;gap:7px;min-height:34px;padding:6px 9px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;list-style:none}.supplier-sku-spec-filter summary::-webkit-details-marker{display:none}.supplier-sku-spec-filter summary:after{content:'⌄';color:#6b7a73}.supplier-sku-spec-filter summary span{font-size:11px;color:#73827a}.supplier-sku-spec-filter[open] summary{border-color:#54a98a;box-shadow:0 0 0 2px rgba(62,159,123,.12)}.supplier-sku-spec-filter>div{position:absolute;z-index:25;top:calc(100% + 4px);left:0;display:grid;min-width:190px;max-height:220px;padding:6px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 12px 28px rgba(25,62,49,.16)}.supplier-sku-spec-filter label{display:flex;align-items:center;gap:7px;padding:6px 7px;border-radius:7px;white-space:nowrap;cursor:pointer}.supplier-sku-spec-filter label:hover{background:#eef6f2}.supplier-sku-spec-filter input,.supplier-sku-incomplete input,.supplier-sku-row-check,.supplier-sku-select-all input,.supplier-batch-mode input,.supplier-price-plan input[type=checkbox]{width:auto;min-width:0}.supplier-sku-incomplete{display:flex;align-items:center;flex-direction:row!important;gap:5px!important;color:#40574e!important;white-space:nowrap}.supplier-sku-visible-count{margin-left:auto;color:var(--muted);font-size:12px;white-space:nowrap}.supplier-price-plans{display:grid;gap:5px;margin-top:8px}.supplier-price-plan{display:grid;grid-template-columns:minmax(130px,.8fr) auto minmax(230px,1fr) minmax(230px,1fr);align-items:center;gap:8px;padding:6px 8px;border:1px solid #e2ebe6;border-radius:9px;background:#fff}.supplier-price-plan>label{display:grid;grid-template-columns:auto auto minmax(100px,1fr);align-items:center;gap:5px}.supplier-price-plan input[type=text],.supplier-price-plan input:not([type]){min-width:0;width:100%}.supplier-plan-default{color:#176b50;font-size:12px;white-space:nowrap}.supplier-sku-batches{display:grid;gap:6px;margin-top:8px}.supplier-sku-batch-wrap{border:1px solid #e2ebe6;border-radius:9px;background:#fff;overflow:hidden}.supplier-sku-batch{display:grid;grid-template-columns:minmax(165px,1fr) auto 112px auto minmax(260px,auto) auto;align-items:center;gap:7px;padding:6px 8px}.supplier-sku-batch-name{display:flex;align-items:center;gap:6px;min-width:0}.supplier-sku-batch-name b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.supplier-sku-batch-name small{color:var(--muted);white-space:nowrap}.supplier-sku-progress{color:#687970;font-size:12px;white-space:nowrap}.supplier-sku-batch-price{width:112px;min-width:0}.supplier-batch-mode{display:flex;align-items:center;gap:8px}.supplier-batch-mode label{display:flex;align-items:center;gap:4px;font-size:12px;white-space:nowrap}.supplier-formula-panel{padding:8px;border-top:1px solid #e2ebe6;background:#f8fbf9}.supplier-formula-head{display:grid;grid-template-columns:1fr 1fr 145px auto;gap:6px}.supplier-formula-steps{display:grid;gap:5px;margin-top:6px}.supplier-formula-step{display:grid;grid-template-columns:24px 100px 130px auto;align-items:center;gap:6px}.supplier-formula-actions{display:flex;align-items:center;gap:7px;margin-top:6px}.supplier-formula-actions>span{color:var(--muted);font-size:11px}.supplier-formula-preview-table{max-height:300px;overflow:auto}.supplier-formula-preview-table table{width:100%;border-collapse:collapse}.supplier-formula-preview-table th,.supplier-formula-preview-table td{padding:6px;border-bottom:1px solid var(--line);text-align:left}.supplier-sku-no-batch{color:var(--muted);font-size:12px}.supplier-sku-row-label{display:flex!important;align-items:flex-start;flex-direction:row!important;gap:8px!important;min-width:0!important}.supplier-sku-row-label>span{min-width:0}.supplier-sku-select-all{display:flex!important;align-items:center;flex-direction:row!important;gap:8px!important;min-width:0!important}.supplier-price-table{min-width:720px;width:100%;border-collapse:collapse}.supplier-price-table th,.supplier-price-table td{padding:9px 10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.supplier-price-table th{background:#f6f9f7}.supplier-price-table th b{display:block;margin-top:4px;white-space:nowrap}.supplier-price-table th small{display:block;margin-top:2px;color:var(--muted)}.supplier-price-table td:first-child{min-width:260px}.supplier-price-table td small{display:block;margin-top:3px;color:var(--muted)}.supplier-price-table td>label{display:flex;flex-direction:column;gap:4px;min-width:120px}.supplier-price-table td>label span{font-size:11px;color:var(--muted)}.supplier-price-table td>label input{width:120px}.supplier-price-empty{margin:0;padding:24px;text-align:center;color:var(--muted)}
.supplier-dialog-notice{position:fixed;z-index:120;inset:0;display:grid;place-items:center;padding:24px;background:rgba(20,43,35,.55)}.supplier-dialog-notice.hidden{display:none}.supplier-dialog-notice-card{width:min(560px,92vw);max-height:80vh;padding:20px;border-radius:16px;background:#fff;box-shadow:0 28px 70px rgba(0,0,0,.3);overflow:auto}.supplier-dialog-notice-card h3{margin:0 0 10px}.supplier-dialog-notice-card p{margin:8px 0;color:#53675f}.supplier-dialog-notice-card ul{margin:8px 0;padding-left:22px}.supplier-dialog-notice-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
@media(max-width:1100px){.supplier-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.supplier-admin-hero{align-items:flex-start;flex-direction:column}.supplier-summary{grid-template-columns:1fr}.supplier-toolbar{align-items:stretch;flex-direction:column}.supplier-form{grid-template-columns:1fr}.supplier-form label.wide{grid-column:auto}.supplier-location-options{grid-template-columns:1fr}.supplier-location-legacy-option{grid-column:auto}.supplier-selected-heading{align-items:stretch;flex-direction:column}.supplier-product-add{min-width:0;width:100%}.supplier-product-add-select{width:100%}.supplier-price-plan,.supplier-sku-batch,.supplier-formula-head{grid-template-columns:1fr}.supplier-sku-batch-price{width:100%}.supplier-sku-visible-count{width:100%;margin-left:0}.supplier-product-table{min-width:950px}}
.supplier-sku-spec-filter input,.supplier-sku-incomplete input,.supplier-sku-row-check,.supplier-sku-select-all input,.supplier-batch-mode input,.supplier-price-plan input[type=checkbox]{width:15px!important;height:15px!important;min-width:15px!important;min-height:15px!important;padding:0!important}
