/* === Supplier Portal Styles === */
/* Inherits from style.css variables + reuses sub.css patterns */

/* --- Tab Bar --- */
.supplier-tab-bar {
  display: flex;
  background: var(--bg-surface);
  border-bottom: 1px solid var(--border);
  padding: 0 8px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.supplier-tab-btn {
  flex: 1;
  padding: 12px 8px;
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  color: var(--text-muted);
  font-size: 14px;
  font-weight: 500;
  font-family: 'Inter', sans-serif;
  cursor: pointer;
  white-space: nowrap;
  transition: color 0.15s, border-color 0.15s;
}
.supplier-tab-btn:hover { color: var(--text-secondary); }
.supplier-tab-btn.active {
  color: var(--text-primary);
  border-bottom-color: #7f1d1d;
}

/* --- Tables --- */
.supplier-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.supplier-table th {
  text-align: left;
  padding: 8px 6px;
  color: var(--text-muted);
  font-weight: 600;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-bottom: 1px solid var(--border);
  white-space: nowrap;
}
.supplier-table td {
  padding: 8px 6px;
  color: var(--text-primary);
  border-bottom: 1px solid var(--border);
}
.supplier-table tbody tr:last-child td { border-bottom: none; }
.supplier-table tbody tr:hover { background: rgba(127, 29, 29, 0.05); }

/* Responsive table scroll */
.supplier-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* --- Download link --- */
.supplier-download-link {
  color: #2563eb;
  font-size: 14px;
  text-decoration: none;
}
.supplier-download-link:hover { text-decoration: underline; }

/* --- Stat row for admin --- */
.supplier-stat-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.supplier-stat-pill {
  background: var(--bg-surface);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 10px 16px;
  flex: 1;
  min-width: 120px;
}
.supplier-stat-pill .val {
  font-size: 22px;
  font-weight: 700;
  color: var(--text-primary);
}
.supplier-stat-pill .lbl {
  font-size: 12px;
  color: var(--text-secondary);
  margin-top: 2px;
}

/* --- Admin takeoff table --- */
.supplier-admin-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
.supplier-admin-table th {
  text-align: left;
  padding: 10px 8px;
  color: var(--text-muted);
  font-weight: 600;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-bottom: 1px solid var(--border);
  white-space: nowrap;
}
.supplier-admin-table td {
  padding: 10px 8px;
  color: var(--text-primary);
  border-bottom: 1px solid var(--border);
  vertical-align: middle;
}
.supplier-admin-table tbody tr:hover { background: rgba(127, 29, 29, 0.06); }

.supplier-admin-btn {
  padding: 6px 14px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  border: none;
  cursor: pointer;
  font-family: 'Inter', sans-serif;
}
.supplier-admin-btn-view {
  background: transparent;
  color: #2563eb;
  border: 1px solid var(--border);
}
.supplier-admin-btn-view:hover { border-color: #2563eb; }
.supplier-admin-btn-order {
  background: #7f1d1d;
  color: #fff;
}
.supplier-admin-btn-order:hover { background: #a03030; }

/* --- Margin detail in modal --- */
.supplier-margin-detail {
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 14px 16px;
  margin-top: 12px;
}
.supplier-margin-row {
  display: flex;
  justify-content: space-between;
  padding: 4px 0;
  font-size: 14px;
}
.supplier-margin-row .label { color: var(--text-secondary); }
.supplier-margin-row .value { color: var(--text-primary); font-weight: 600; }
.supplier-margin-row.total .label { color: var(--text-primary); font-weight: 700; }
.supplier-margin-row.total .value { color: #22c55e; font-weight: 700; font-size: 16px; }

/* --- All Builds --- */
.supplier-search-wrap { position:relative;display:block;margin:16px 0 }.supplier-search-wrap span{position:absolute;left:12px;top:12px}.supplier-search-wrap input{box-sizing:border-box;width:100%;padding:12px 12px 12px 38px;border:1px solid var(--border);border-radius:10px;background:var(--bg-card);color:var(--text-primary);font:inherit}
.supplier-build-row{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;padding:15px 14px;margin-bottom:9px;border:1px solid var(--border);border-radius:11px;background:var(--bg-card);color:var(--text-primary);cursor:pointer}.supplier-build-row strong,.supplier-build-row small{display:block}.supplier-build-row small,.supplier-muted{color:var(--text-muted);margin-top:4px}.supplier-build-row b{font-size:28px;color:var(--text-muted)}
.supplier-back{padding:8px 0;border:0;background:none;color:var(--accent-light);font:inherit;font-weight:600;cursor:pointer}.supplier-detail-tabs{display:flex;border-bottom:1px solid var(--border);margin:14px 0}.supplier-detail-tabs button{padding:10px 12px;border:0;border-bottom:2px solid transparent;background:none;color:var(--text-muted);font:inherit;font-weight:600}.supplier-detail-tabs button.active{color:var(--text-primary);border-bottom-color:var(--accent-light)}
.supplier-progress-card{padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--bg-card)}.supplier-progress-card>div:first-child{display:flex;justify-content:space-between}.supplier-progress-track{height:7px;margin:12px 0 8px;border-radius:9px;background:var(--bg-primary);overflow:hidden}.supplier-progress-track span{display:block;height:100%;background:var(--accent)}.supplier-progress-card small{color:var(--text-muted)}
.supplier-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.supplier-info-grid>div{padding:13px;border:1px solid var(--border);border-radius:10px;background:var(--bg-card)}.supplier-info-grid small,.supplier-info-grid strong{display:block}.supplier-info-grid small{color:var(--text-muted);margin-bottom:5px}.supplier-plan-link{display:block;margin-top:10px;padding:12px;border:1px solid var(--border);border-radius:9px;color:var(--accent-light);text-decoration:none;background:var(--bg-card)}.supplier-section-label{margin-top:20px;color:var(--text-muted);font-size:12px;font-weight:700;text-transform:uppercase}.supplier-selection-section{margin-bottom:18px}.supplier-selection-row{display:grid;grid-template-columns:1fr 1.2fr;gap:12px;padding:11px 10px;border-bottom:1px solid var(--border)}.supplier-selection-row strong{text-align:right;overflow-wrap:anywhere}@media(max-width:520px){.supplier-tab-btn{flex:0 0 auto}.supplier-info-grid{grid-template-columns:1fr}}
.supplier-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.supplier-stat-grid>div{display:flex;flex-direction:column;padding:13px;border:1px solid var(--border);border-radius:10px;background:var(--bg-card)}.supplier-stat-grid small,.supplier-stat-grid span{color:var(--text-muted)}.supplier-stat-grid strong{font-size:18px;margin:4px 0}.supplier-overview-card{margin-top:14px;border:1px solid var(--border);border-radius:11px;background:var(--bg-card);overflow:hidden}.supplier-overview-card h3{margin:0;padding:12px 14px;border-bottom:1px solid var(--border);font-size:15px}.supplier-info-row{display:flex;justify-content:space-between;gap:15px;padding:9px 14px;border-bottom:1px solid var(--border);font-size:13px}.supplier-info-row:last-child{border-bottom:0}.supplier-info-row span{color:var(--text-muted)}.supplier-info-row strong{text-align:right;overflow-wrap:anywhere}.supplier-plan-link{display:flex;justify-content:space-between;gap:10px}.supplier-selection-search{box-sizing:border-box;width:100%;margin-bottom:14px;padding:11px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text-primary);font:inherit}.supplier-selection-section{border:1px solid var(--border);border-radius:11px;background:var(--bg-card);overflow:hidden}.supplier-selection-heading{display:flex;justify-content:space-between;align-items:center;padding:11px 13px;border-bottom:1px solid var(--border)}.supplier-selection-heading h3{margin:0}.supplier-selection-heading button{border:1px solid var(--border);border-radius:7px;padding:6px 9px;background:var(--accent);color:#fff}.supplier-selection-edit{padding:13px;border-bottom:1px solid var(--border)}.supplier-selection-edit>label{display:block;font-weight:600;margin-bottom:8px}.supplier-selection-controls{display:grid;grid-template-columns:minmax(0,1fr) 110px auto;gap:7px;align-items:center}.supplier-selection-controls input,.supplier-selection-controls select{box-sizing:border-box;width:100%;padding:9px;border:1px solid var(--border);border-radius:7px;background:var(--bg-primary);color:var(--text-primary);font:inherit}.supplier-save-state{font-size:11px;color:#4ade80;min-width:38px}.supplier-save-state.error{color:#f87171}.supplier-selection-assets,.supplier-selection-notes{margin-top:8px;font-size:12px}.supplier-selection-assets a{display:inline-block;margin-right:7px;color:var(--accent-light)}.supplier-selection-notes>div{margin-top:5px;padding:7px 9px;border-left:3px solid var(--accent);background:var(--bg-primary)}.supplier-selection-notes small{display:block;color:var(--text-muted);margin-bottom:2px}@media(max-width:520px){.supplier-selection-controls{grid-template-columns:1fr}.supplier-stat-grid{grid-template-columns:1fr 1fr}}
.supplier-safety-note{margin-bottom:12px;padding:10px 12px;border:1px solid #92400e;border-radius:8px;background:rgba(245,158,11,.1);color:#fbbf24;font-size:13px}.supplier-selection-controls input:disabled,.supplier-selection-controls select:disabled{opacity:1;cursor:not-allowed;border-color:transparent}.supplier-selection-actions{display:flex;gap:5px}.supplier-selection-actions button{padding:7px 10px;border:1px solid var(--border);border-radius:7px;font-weight:700;cursor:pointer}.supplier-edit-btn,.supplier-cancel-btn{background:var(--bg-primary);color:var(--text-primary)}.supplier-save-btn{background:#166534;color:#fff}.supplier-selection-controls.editing{padding:8px;border:1px solid #f59e0b;border-radius:8px;background:rgba(245,158,11,.06)}
