/* Haiyue mist-blue system, using local Chinese fonts and an 8px spacing rhythm. */
.supplier-page{--sp-ink:#263b50;--sp-muted:#60788c;--sp-line:#d3e3ed;--sp-soft:#f6fafc;--sp-blue:#4b75a2;color:var(--sp-ink);font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif}
.supplier-page *{box-sizing:border-box}
.supplier-workspace{padding:18px;border:1px solid var(--sp-line);border-radius:16px;background:#f9fcfd}
.supplier-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.supplier-toolbar-primary{display:flex;align-items:baseline;gap:12px;min-width:0}
.supplier-kicker{font-family:Songti SC,STSong,SimSun,serif;font-size:19px;font-weight:700;white-space:nowrap}
.supplier-toolbar-primary strong{font-size:13px;color:var(--sp-muted);font-weight:600;white-space:nowrap}
.supplier-toolbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.supplier-toolbar-actions .btn{min-height:42px}
.supplier-toolbar-actions [hidden]{display:none!important}
.supplier-notice{margin:0 0 14px;padding:12px 14px;border:1px solid #e7d5ab;border-left:4px solid #bb7e22;border-radius:9px;background:#fff8e9;color:#725020;font-size:14px;line-height:1.5}
.supplier-filters{display:grid;grid-template-columns:minmax(210px,2fr) repeat(3,minmax(130px,1fr)) auto;gap:9px;padding:0 0 15px;margin-bottom:15px;border-bottom:1px solid var(--sp-line)}
.supplier-filters input,.supplier-filters select{width:100%;min-width:0;min-height:42px;border:1px solid #b9cedd;border-radius:9px;background:#fff;color:var(--sp-ink);padding:8px 11px;font:inherit;font-size:14px}
.supplier-filters .btn{min-height:42px}
.supplier-columns{display:grid;grid-template-columns:minmax(330px,.95fr) minmax(0,1.25fr);gap:14px;align-items:start}
.supplier-list,.supplier-detail{min-width:0;min-height:360px;border:1px solid var(--sp-line);border-radius:12px;background:#fff;overflow:hidden}
.supplier-list-head,.supplier-row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.8fr) auto;align-items:center;gap:12px}
.supplier-list-head{padding:11px 15px;background:#eaf3f8;color:#47647e;font-size:12px;font-weight:700}
.supplier-list-head>span:last-child{text-align:right}
.supplier-row{width:100%;min-height:77px;padding:12px 15px;border:0;border-top:1px solid #e5edf2;background:#fff;color:var(--sp-ink);font:inherit;text-align:left;cursor:pointer}
.supplier-row:hover{background:#f4f9fc}.supplier-row.is-selected{background:#edf5fa;box-shadow:inset 3px 0 0 var(--sp-blue)}
.supplier-row:focus-visible{outline:3px solid var(--sp-blue);outline-offset:-3px}
.supplier-row-name{display:grid;gap:4px;min-width:0}.supplier-row-name strong{font-size:15px;line-height:1.35;overflow-wrap:anywhere}.supplier-row-name small{color:var(--sp-muted);font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.supplier-row-contact{color:#4b6379;font-size:13px;line-height:1.4;overflow-wrap:anywhere}
.supplier-tag,.supplier-priority{display:inline-flex;align-items:center;justify-content:center;min-height:25px;padding:3px 8px;border-radius:6px;font-size:12px;font-weight:700;white-space:nowrap}
.supplier-tag-active{background:#e9f6ef;color:#23674b}.supplier-tag-pending{background:#fff3dd;color:#8b5b09}.supplier-tag-rejected{background:#fff0ef;color:#a33d3b}.supplier-tag-inactive{background:#edf1f4;color:#64717a}
.supplier-priority-优先{background:#dfeee9;color:#246953}.supplier-priority-中等{background:#e8f1fa;color:#315d81}.supplier-priority-备选{background:#f2f3f5;color:#626e79}
.supplier-empty{display:grid;place-items:center;min-height:160px;padding:25px;color:var(--sp-muted);font-size:14px;text-align:center;line-height:1.6}
.supplier-detail{padding:0 18px 18px}
.supplier-detail-head{display:flex;align-items:start;justify-content:space-between;gap:12px;padding:20px 0 14px}
.supplier-detail-head small{font-size:12px;color:var(--sp-muted)}.supplier-detail-head h3{margin:2px 0 4px;font-family:Songti SC,STSong,SimSun,serif;font-size:21px;line-height:1.3;color:var(--sp-ink)}.supplier-detail-head p{margin:0;color:var(--sp-muted);font-size:13px;line-height:1.4}
.supplier-detail-tabs{display:flex;gap:2px;overflow-x:auto;border-bottom:1px solid var(--sp-line)}
.supplier-detail-tabs button{flex:0 0 auto;min-height:44px;padding:8px 13px;border:0;border-bottom:2px solid transparent;background:transparent;color:#536f84;font:inherit;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}
.supplier-detail-tabs button[aria-selected=true]{color:#345e83;border-bottom-color:var(--sp-blue)}.supplier-detail-tabs button:focus-visible{outline:3px solid var(--sp-blue);outline-offset:-3px}
.supplier-section-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px 0 10px}.supplier-section-bar h4{margin:0;font-size:16px;color:var(--sp-ink)}.supplier-section-bar .btn{min-height:38px;font-size:13px}
.supplier-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;border:1px solid var(--sp-line);border-radius:9px;overflow:hidden}
.supplier-facts>div{min-width:0;padding:11px 13px;border-bottom:1px solid #e7eff3}.supplier-facts>div:nth-child(odd){border-right:1px solid #e7eff3}.supplier-facts>div:nth-last-child(-n+2){border-bottom:0}
.supplier-facts dt{margin-bottom:4px;color:var(--sp-muted);font-size:12px}.supplier-facts dd{margin:0;color:var(--sp-ink);font-size:14px;font-weight:650;line-height:1.4;overflow-wrap:anywhere}
.supplier-note,.supplier-section-help{padding:11px 12px;border-radius:8px;background:var(--sp-soft);color:#526b80;font-size:13px;line-height:1.55}.supplier-section-help{margin:0 0 13px}
.supplier-offer-group{margin:12px 0;border:1px solid var(--sp-line);border-radius:9px;overflow:hidden}.supplier-offer-group h5{margin:0;padding:9px 12px;background:#edf5f9;color:#355c7e;font-size:13px}.supplier-offer-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:58px;padding:8px 12px;border-top:1px solid #e9f0f4}.supplier-offer-row strong{display:block;font-size:14px}.supplier-offer-row small{display:block;color:var(--sp-muted);font-size:12px}.supplier-offer-row>span{font-weight:700;color:#315e84}.supplier-offer-row .btn{min-height:36px;padding:5px 10px;font-size:13px}.supplier-offer-empty{margin:0;padding:14px;color:var(--sp-muted);font-size:13px}
.supplier-account-action{margin-top:12px;min-height:40px}
.supplier-dialog{width:min(780px,calc(100vw - 28px));max-height:min(88dvh,850px);padding:0;border:1px solid #c4d9e6;border-radius:15px;background:#fff;color:var(--sp-ink);box-shadow:0 24px 70px #152d4050;overflow:hidden;font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif}
.supplier-dialog::backdrop{background:#233a4e75;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.supplier-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 18px;border-bottom:1px solid var(--sp-line);background:#edf5f9}.supplier-dialog-head h3{margin:0;font-family:Songti SC,STSong,SimSun,serif;font-size:20px}.supplier-dialog-close{width:42px;height:42px;border:0;border-radius:8px;background:#f8fbfd;color:var(--sp-ink);font-size:25px;cursor:pointer}
.supplier-dialog-body{max-height:calc(88dvh - 70px);overflow-y:auto;padding:18px}.supplier-form-help{margin:0 0 15px;color:var(--sp-muted);font-size:13px;line-height:1.55}
.supplier-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}
.supplier-field{display:grid;align-content:start;gap:6px;min-width:0;color:#3f5b70;font-size:13px;font-weight:650}.supplier-field input,.supplier-field select,.supplier-field textarea{width:100%;min-width:0;min-height:42px;padding:9px 11px;border:1px solid #b8cfdd;border-radius:8px;background:#fff;color:var(--sp-ink);font:inherit;font-size:15px;font-weight:400}.supplier-field textarea{resize:vertical}.supplier-full,.supplier-category-choice,.supplier-employee-choice{grid-column:1/-1}
.supplier-category-choice,.supplier-employee-choice{min-width:0;margin:0;padding:10px 12px;border:1px solid var(--sp-line);border-radius:9px}.supplier-category-choice legend,.supplier-employee-choice legend{padding:0 5px;color:#3f5b70;font-size:13px;font-weight:700}
.supplier-category-choice-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px}.supplier-category-choice-row label,.supplier-employee-options label{display:flex;align-items:center;gap:8px;min-height:40px;cursor:pointer;font-size:14px}.supplier-category-choice-row input,.supplier-employee-options input{width:18px;height:18px;accent-color:var(--sp-blue)}.supplier-category-choice-row select{min-height:36px;border:1px solid #b8cfdd;border-radius:7px;background:#fff;color:var(--sp-ink);padding:5px 9px}.supplier-employee-options{display:flex;flex-wrap:wrap;gap:5px 14px}
.supplier-offer-category-choice{grid-column:1/-1;min-width:0;margin:0;padding:10px 12px;border:1px solid var(--sp-line);border-radius:9px}.supplier-offer-category-choice legend{padding:0 5px;color:#3f5b70;font-size:13px;font-weight:700}.supplier-picker-help{margin:0 0 9px;color:var(--sp-muted);font-size:12px;line-height:1.5}.supplier-employee-selected,.supplier-offer-category-chips{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 10px}.supplier-person-chip{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:3px 5px 3px 10px;border:1px solid #c5dae6;border-radius:7px;background:#eef6fa;color:#315c7b;font-size:13px}.supplier-person-chip button{min-width:28px;min-height:28px;border:0;border-radius:5px;background:transparent;color:#496b83;font-size:19px;cursor:pointer}.supplier-person-chip button:hover{background:#daeaf2}.supplier-person-results{display:grid;gap:3px;max-height:180px;overflow:auto}.supplier-person-results button{min-height:40px;padding:7px 10px;border:1px solid var(--sp-line);border-radius:7px;background:#fff;color:var(--sp-ink);font:inherit;text-align:left;cursor:pointer}.supplier-person-results button:hover,.supplier-person-results button:focus-visible{background:#eaf3f8;outline:2px solid var(--sp-blue)}.supplier-person-results p{margin:4px;color:var(--sp-muted);font-size:13px}.supplier-category-add{display:flex;gap:8px}.supplier-category-add input{flex:1;min-width:0;min-height:42px;padding:9px 11px;border:1px solid #b8cfdd;border-radius:8px;font:inherit}.supplier-category-add .btn{min-height:42px}.supplier-percent-field{display:flex;align-items:center;border:1px solid #b8cfdd;border-radius:8px;background:#fff}.supplier-percent-field:focus-within{outline:2px solid var(--sp-blue);outline-offset:1px}.supplier-percent-field input{border:0;outline:0;min-height:40px}.supplier-percent-field>span{padding:0 12px;color:#48677f;font-size:15px}.supplier-section-actions{display:flex;gap:7px;flex-wrap:wrap}.supplier-parameter-group>p{margin:0 0 12px;color:var(--sp-muted);font-size:13px;line-height:1.5}
.supplier-duplicate{margin-top:15px;padding:11px 13px;border:1px solid #d4e4ed;border-radius:9px;background:#f5fafc;color:#4d6579;font-size:13px;line-height:1.5}.supplier-duplicate strong,.supplier-duplicate small{display:block}.supplier-duplicate small{color:var(--sp-muted)}.supplier-duplicate button{display:flex;justify-content:space-between;gap:10px;width:100%;min-height:38px;padding:8px 0;border:0;border-top:1px solid #dae7ee;background:transparent;color:#315f83;text-align:left;cursor:pointer}
.supplier-dialog-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-top:16px}.supplier-dialog-actions .btn{min-height:43px}.supplier-review p{line-height:1.5}.supplier-review small{display:block;margin-top:12px;color:var(--sp-muted)}.supplier-price-history{margin-top:16px;padding:12px;border:1px solid var(--sp-line);border-radius:9px}.supplier-price-history h4{margin:0 0 8px}.supplier-price-history p{margin:7px 0;font-size:13px;color:#4c657a}
.supplier-import{display:grid;gap:14px}.supplier-import>p{margin:0;color:#4f687c;line-height:1.55}.supplier-import>.btn{justify-self:start}.supplier-import #supplierImportPreview{min-height:45px;padding:10px 12px;border-radius:8px;background:var(--sp-soft);font-size:13px}
.supplier-category-settings{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.supplier-parameter-group{min-width:0;padding:13px;border:1px solid #d3e3ed;border-radius:10px;background:#fff}.supplier-parameter-group h4{margin:0 0 10px;color:#345a7d;font-size:15px}.supplier-parameter-group>div{display:flex;gap:7px;flex-wrap:wrap}.supplier-category-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid #cbdfea;border-radius:7px;background:#f1f7fa;font-size:13px}.supplier-category-chip small{color:#5a7284}.supplier-category-chip button{min-height:30px;padding:2px 6px;border:0;background:transparent;color:#345e83;cursor:pointer}.supplier-parameter-group form{display:flex;gap:8px;margin-top:12px}.supplier-parameter-group input{flex:1;min-width:0;min-height:40px;padding:7px 9px;border:1px solid #bfd3df;border-radius:7px}.supplier-parameter-group .btn{min-height:40px}
@media(max-width:1100px){.supplier-columns{grid-template-columns:minmax(270px,.9fr) minmax(0,1.1fr)}.supplier-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.supplier-filters>input{grid-column:1/-1}}
@media(max-width:900px){.supplier-columns{grid-template-columns:minmax(0,1fr)}.supplier-detail{scroll-margin-top:72px}.supplier-list{min-height:0}.supplier-detail{min-height:220px}}
@media(max-width:600px){.supplier-workspace{padding:11px}.supplier-toolbar{align-items:flex-start;flex-direction:column;gap:10px}.supplier-toolbar-actions{width:100%}.supplier-toolbar-actions .btn{flex:1 1 45%;min-height:44px}.supplier-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.supplier-filters>input{grid-column:1/-1}.supplier-filters select{min-height:44px}.supplier-filters .btn{min-height:44px}.supplier-list-head{display:none}.supplier-row{grid-template-columns:minmax(0,1fr) auto;gap:7px}.supplier-row-contact{grid-column:1/-1;grid-row:2}.supplier-detail{padding:0 12px 14px}.supplier-detail-head h3{font-size:19px}.supplier-detail-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;overflow:visible}.supplier-detail-tabs button{min-width:0;padding:8px 3px;font-size:12px}.supplier-facts{grid-template-columns:minmax(0,1fr)}.supplier-facts>div:nth-child(odd){border-right:0}.supplier-facts>div:nth-last-child(2){border-bottom:1px solid #e7eff3}.supplier-form-grid,.supplier-category-settings{grid-template-columns:minmax(0,1fr)}.supplier-dialog{width:calc(100vw - 16px);max-height:92dvh}.supplier-dialog-body{max-height:calc(92dvh - 70px);padding:14px}.supplier-dialog-actions .btn{flex:1;min-height:44px}}
@media(max-width:600px){.supplier-category-add{flex-wrap:wrap}.supplier-category-add .btn{width:100%}.supplier-section-actions{justify-content:flex-end}.supplier-section-actions .btn{min-height:40px}}

/* Category labels retain their line; ranking is a compact, six-character control. */
.supplier-dialog .supplier-category-choice-row{justify-content:flex-start;gap:16px;padding:4px 0}
.supplier-dialog .supplier-category-choice-row>label{flex:1;min-width:0;white-space:nowrap;gap:9px;min-height:44px}
.supplier-dialog .supplier-category-choice-row>label input{flex:none;margin:0}
.supplier-dialog .supplier-category-choice-row>label span{white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}
.supplier-dialog .supplier-category-choice-row>select{flex:0 0 6em;width:6em;max-width:6em;min-width:0;min-height:44px;padding:7px 8px;font-size:14px}

/* Compact, clearly grouped entry; only the footer commits the full draft. */
.supplier-dialog{--sp-ink:#263b50;--sp-muted:#60788c;--sp-line:#d3e3ed;--sp-blue:#4b75a2;width:min(960px,calc(100vw - 28px))}
.supplier-dialog-body{padding:14px 18px}.supplier-form-help{margin-bottom:12px;padding:9px 12px;border-radius:8px;background:#eef5fa;font-size:13px;line-height:1.5}
.supplier-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px}
.supplier-form-section{grid-column:1/-1;margin:2px 0 0;padding:7px 0 5px;border-bottom:1px solid var(--sp-line);font-size:14px;color:#315b7c}
.supplier-summary{grid-column:span 2}.supplier-field{gap:4px}.supplier-dialog label{margin:0}.supplier-dialog label input{margin-top:0}.supplier-field input,.supplier-field select{min-height:44px;padding:8px 10px;font-size:14px}.supplier-field textarea{min-height:56px;padding:8px 10px;font-size:14px}
.supplier-category-choice{grid-column:1}.supplier-offer-category-choice{grid-column:2/-1}.supplier-category-choice,.supplier-offer-category-choice,.supplier-employee-choice{padding:8px 10px}
.supplier-dialog .supplier-category-choice-row{gap:10px;padding:0;min-height:44px}.supplier-picker-help{margin-bottom:6px}.supplier-category-add input,.supplier-category-add .btn{min-height:44px}
.supplier-employee-choice{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,1fr);gap:6px 12px;align-items:start}.supplier-employee-choice .supplier-picker-help{grid-column:1/-1}.supplier-employee-selected{margin:0}.supplier-person-results{grid-column:2}
.supplier-person-chip button{min-width:36px;min-height:36px}.supplier-duplicate{margin-top:10px;padding:8px 12px}.supplier-duplicate p{margin:4px 0}
.supplier-dialog-actions{position:sticky;bottom:-14px;align-items:center;margin-top:10px;padding:10px 0;background:#fff;border-top:1px solid var(--sp-line);z-index:2}.supplier-dialog-actions small{flex:1;color:var(--sp-muted);font-size:12px;line-height:1.4}.supplier-dialog-actions .btn{min-height:44px}
.supplier-form[aria-busy=true]{cursor:progress}.supplier-dialog-close:focus-visible,.supplier-person-chip button:focus-visible{outline:3px solid #426b96;outline-offset:1px}
.supplier-inline-error{color:var(--mist-danger,#9f3644);font-size:14px;line-height:1.5;margin:6px 0}
.supplier-inline-error:empty{display:none}.supplier-field textarea[aria-invalid=true]{border-color:var(--mist-danger,#9f3644);background:#fff7f7}
@media(max-width:700px){.supplier-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.supplier-summary{grid-column:1/-1}.supplier-category-choice,.supplier-offer-category-choice{grid-column:1/-1}.supplier-employee-choice{grid-template-columns:minmax(0,1fr)}.supplier-person-results{grid-column:1}.supplier-dialog-body{padding:12px}.supplier-dialog-actions{bottom:-12px}.supplier-dialog-actions small{flex-basis:100%}}
@media(max-width:430px){.supplier-form-grid{grid-template-columns:minmax(0,1fr)}.supplier-dialog{width:calc(100vw - 16px)}.supplier-dialog-actions .btn{flex:1}}
.supplier-readonly .supplier-detail-head{padding-top:0}
.supplier-readonly-offer{border-bottom:1px solid #d3e3ed;padding:8px 12px}
.supplier-readonly-offer summary{min-height:44px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;cursor:pointer}
.supplier-readonly-offer summary strong{flex:1;overflow-wrap:anywhere}
.supplier-readonly-offer summary span{color:#4e657a}
.supplier-readonly .supplier-facts dd{overflow-wrap:anywhere}
.maintenance-supplier-link{border:0;background:transparent;color:#426b96;text-decoration:underline;text-underline-offset:3px;font:inherit;font-weight:700;text-align:left;min-height:44px;cursor:pointer;padding:0;overflow-wrap:anywhere}
.maintenance-supplier-link:focus-visible{outline:2px solid #426b96;outline-offset:3px}
