.supplier-hero { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:32px; }
.supplier-eyebrow { color:#2563eb; font-size:.7rem; letter-spacing:.14em; font-weight:800; }
.supplier-hero h2 { font-weight:800; margin:8px 0; }
.supplier-hero p { color:var(--bs-secondary-color,#64748b); margin:0; }
.supplier-section-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; }
.supplier-section-heading h3 { font-size:1.05rem; font-weight:700; margin:0; }
.supplier-section-heading > span { color:var(--bs-secondary-color,#64748b); font-size:.78rem; }
.supplier-ranking { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.supplier-rank-card { border:1px solid rgba(148,163,184,.24); background:var(--card-bg,var(--bs-body-bg,#fff)); border-radius:16px; padding:22px; min-width:0; box-shadow:0 4px 18px rgba(15,23,42,.025); }
.supplier-rank-card.rank-0 { border-top:3px solid #2563eb; padding-top:20px; }
.supplier-rank-card.rank-1 { border-top:3px solid #14b8a6; padding-top:20px; }
.supplier-rank-card.rank-2 { border-top:3px solid #94a3b8; padding-top:20px; }
.supplier-rank-top { display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:.75rem; color:var(--bs-secondary-color,#64748b); }
.supplier-avatar { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; color:#2563eb; background:rgba(37,99,235,.1); font-size:1.25rem; }
.supplier-rank-card h3 { font-size:1.1rem; font-weight:700; margin:22px 0 12px; overflow-wrap:anywhere; }
.supplier-metric { font-size:2.6rem; font-weight:800; letter-spacing:-.06em; }
.supplier-metric span { font-size:.82rem; letter-spacing:normal; font-weight:400; margin-left:10px; color:var(--bs-secondary-color,#64748b); }
.supplier-rank-footer { display:flex; justify-content:space-between; gap:10px; border-top:1px solid rgba(148,163,184,.25); margin-top:20px; padding-top:16px; font-size:.8rem; }
.supplier-rank-footer a,.supplier-count { color:#2563eb; text-decoration:none; font-weight:600; }
.supplier-empty { grid-column:1/-1; border:1px dashed rgba(148,163,184,.5); padding:36px; text-align:center; border-radius:20px; }
.supplier-empty > i { font-size:2rem; color:#2563eb; }
.supplier-empty h3 { font-size:1.1rem; margin-top:12px; }
.supplier-empty p { color:var(--bs-secondary-color,#64748b); margin-bottom:0; }
.supplier-filters { display:grid; grid-template-columns:minmax(140px,1fr) 120px auto auto; gap:8px; margin-bottom:22px; }
.supplier-notes { max-width:300px; white-space:pre-wrap; overflow-wrap:anywhere; }
.repair-supplier-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto; gap:8px; margin-bottom:10px; }
.suppliers-page .form-control,.suppliers-page .form-select { border-radius:10px; }
.suppliers-page { --supplier-border:rgba(148,163,184,.22); }
.supplier-workspace { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:22px; align-items:start; }
.supplier-directory,.supplier-editor { min-width:0; padding:24px; border:1px solid var(--supplier-border); border-radius:16px; background:var(--card-bg,var(--bs-body-bg,#fff)); }
.supplier-editor { position:sticky; top:24px; scroll-margin-top:100px; }
.supplier-editor .supplier-section-heading { flex-direction:column; align-items:flex-start; margin-bottom:8px; }
.supplier-editor .supplier-section-heading a { font-size:.8rem; }
.supplier-editor-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; margin-bottom:18px; background:rgba(37,99,235,.08); color:#2563eb; font-size:1.2rem; }
.supplier-caption { color:var(--bs-secondary-color,#64748b); font-size:.82rem; margin:8px 0 0; line-height:1.6; }
.supplier-editor > .supplier-caption { margin-bottom:24px; }
.supplier-editor .form-label { font-size:.82rem; font-weight:600; }
.supplier-editor .form-control { min-height:44px; font-size:.9rem; }
.supplier-editor .btn { min-height:44px; }
.supplier-total { display:inline-block; margin-left:6px; background:rgba(148,163,184,.12); padding:4px 8px; border-radius:6px; color:var(--bs-secondary-color,#64748b); font-size:.75rem; }
.supplier-rank-label { font-size:.65rem; font-weight:700; letter-spacing:.12em; }
.supplier-table { font-size:.85rem; margin-bottom:0; }
.supplier-table thead th { padding:12px 10px; font-size:.7rem; letter-spacing:.03em; color:var(--bs-secondary-color,#64748b); background:rgba(148,163,184,.055); border-bottom:1px solid var(--supplier-border); white-space:nowrap; }
.supplier-table tbody td { padding:18px 10px; border-color:var(--supplier-border); }
.supplier-table strong { display:block; min-width:100px; overflow-wrap:anywhere; }
.supplier-status { display:flex; align-items:center; gap:5px; margin-top:6px; font-size:.7rem; color:var(--bs-secondary-color,#64748b); }
.supplier-status::before { content:''; width:6px; height:6px; background:#94a3b8; border-radius:50%; }
.supplier-status.active::before { background:#10b981; }
.supplier-phone { color:inherit; text-decoration:none; white-space:nowrap; }
.supplier-phone i { color:#2563eb; margin-right:4px; }
.supplier-phone:hover { color:#2563eb; text-decoration:underline; }
.supplier-table .btn { font-size:.75rem; white-space:nowrap; }
@media(max-width:1200px) { .supplier-workspace { grid-template-columns:1fr; } .supplier-editor { position:static; } .supplier-editor .row > .col-12:not(:last-child) { width:33.333%; } }
@media(max-width:800px) { .supplier-ranking { grid-template-columns:1fr; } .supplier-hero,.supplier-section-heading { align-items:flex-start; flex-direction:column; } .supplier-filters { grid-template-columns:1fr 1fr; } }
@media(max-width:575px) { .supplier-directory,.supplier-editor { padding:18px; } .supplier-editor .row > .col-12:not(:last-child) { width:100%; } .supplier-filters input { grid-column:1/-1; } }
@media(max-width:480px) { .repair-supplier-row { grid-template-columns:minmax(0,1fr) auto; } .repair-supplier-row input { grid-row:2; grid-column:1; } .repair-supplier-row button { grid-column:2; grid-row:1/3; } }
