/* ═══ RFQ Pages ═══ */
.rfq-page { padding: 100px 0 60px; min-height: 100vh; }
.page-sub { color: rgba(255,255,255,0.45); font-size: 0.95rem; margin-bottom: 28px; }

/* ═══ Form Layout ═══ */
.rfq-form { max-width: 820px; margin: 0 auto; }
.form-section {
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 16px;
  padding: 28px;
  margin-bottom: 20px;
  transition: border-color 0.2s;
}
.form-section:hover { border-color: rgba(255,255,255,0.1); }

.section-title-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
}
.section-icon { width: 20px; height: 20px; color: var(--accent, #00E676); flex-shrink: 0; }
.section-title-row h3 { font-size: 1.05rem; font-weight: 600; color: rgba(255,255,255,0.9); margin: 0; }

.form-row { display: flex; gap: 16px; margin-bottom: 16px; }
.form-row.two-col .form-group { flex: 1; }
.form-row.three-col .form-group { flex: 1; }
.form-group.full { flex: 1; }
.form-group label { display: block; font-size: 0.82rem; color: rgba(255,255,255,0.55); margin-bottom: 6px; font-weight: 500; }

.form-input {
  width: 100%; padding: 10px 14px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 10px; color: #fff; font-size: 0.92rem;
  transition: border-color 0.2s, box-shadow 0.2s;
  box-sizing: border-box;
}
.form-input:focus {
  outline: none;
  border-color: var(--accent, #00E676);
  box-shadow: 0 0 0 3px rgba(0,230,118,0.08);
}
.form-input::placeholder { color: rgba(255,255,255,0.25); }
.form-input option { background: #111; color: #fff; }
select.form-input { cursor: pointer; }
textarea.form-input { resize: vertical; line-height: 1.5; }

.input-group { display: flex; gap: 8px; }
.input-group .form-input { flex: 1; }
.input-group .unit-select { width: 90px; flex: none; }
.input-suffix {
  display: flex; align-items: center; padding: 0 12px;
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08);
  border-radius: 10px; color: rgba(255,255,255,0.45); font-size: 0.82rem;
}

/* ═══ AI Button ═══ */
.ai-gen-btn {
  display: inline-flex; align-items: center; gap: 6px;
  background: linear-gradient(135deg, rgba(59,130,246,0.12), rgba(139,92,246,0.12));
  border: 1px solid rgba(99,102,241,0.2);
  border-radius: 8px; color: #818cf8; cursor: pointer;
  font-size: 0.8rem; padding: 6px 14px; margin-top: 8px;
  transition: all 0.2s;
}
.ai-gen-btn:hover { background: linear-gradient(135deg, rgba(59,130,246,0.2), rgba(139,92,246,0.2)); border-color: rgba(99,102,241,0.35); }

/* ═══ Items (form) ═══ */
.section-hint { color: rgba(255,255,255,0.4); font-size: 0.82rem; margin: -6px 0 14px; }
.item-card {
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px; padding: 0; margin-bottom: 16px;
  transition: border-color 0.2s;
  overflow: hidden;
}
.item-card:hover { border-color: rgba(0,230,118,0.18); }
.item-card-header-row {
  display: flex; justify-content: space-between; align-items: center;
  gap: 14px; padding: 14px 18px;
  background: rgba(0,230,118,0.04); border-bottom: 1px solid rgba(255,255,255,0.06);
}
.item-num-wrap { display: flex; align-items: center; gap: 12px; flex: 1; }
.item-number {
  font-size: 0.74rem; font-weight: 700; color: #000;
  background: var(--accent, #00E676); padding: 4px 10px; border-radius: 6px;
  letter-spacing: 0.05em; flex-shrink: 0;
}
.item-num-wrap .item-name {
  flex: 1; background: rgba(0,0,0,0.2); border: 1px solid rgba(255,255,255,0.08);
  font-size: 0.95rem; font-weight: 500;
}
.item-remove-btn {
  background: none; border: none; color: rgba(255,255,255,0.4); cursor: pointer;
  padding: 6px; border-radius: 6px; transition: all 0.2s; flex-shrink: 0;
}
.item-remove-btn:hover { color: #ef4444; background: rgba(239,68,68,0.1); }

.item-body { padding: 18px; }
.item-body .form-group { margin-bottom: 14px; }
.item-body .form-row { margin-bottom: 14px; }
.item-ai-btn { font-size: 0.74rem; padding: 5px 10px; margin-top: 6px; }

.item-uploads-section {
  display: grid; grid-template-columns: 1fr 1fr; gap: 14px;
  margin-top: 16px; padding-top: 16px;
  border-top: 1px dashed rgba(255,255,255,0.06);
}
.item-upload-col { display: flex; flex-direction: column; gap: 6px; }
.item-upload-label {
  display: flex; align-items: center; gap: 6px;
  font-size: 0.78rem; color: rgba(255,255,255,0.55); font-weight: 500;
}
.upload-zone-icon-sm { width: 20px; height: 20px; color: rgba(255,255,255,0.35); flex-shrink: 0; }
.item-image-zone, .item-file-zone {
  padding: 16px; display: flex; align-items: center; justify-content: center;
  gap: 8px; font-size: 0.82rem; color: rgba(255,255,255,0.5);
  border-radius: 10px;
}
.item-image-gallery { margin-top: 8px; }
.item-image-gallery:empty { display: none; }
.item-file-list { margin-top: 8px; }
.item-file-list:empty { display: none; }

.add-item-btn {
  display: flex; align-items: center; gap: 8px; width: 100%;
  padding: 14px; border: 2px dashed rgba(255,255,255,0.08);
  border-radius: 12px; background: none; color: rgba(255,255,255,0.5);
  cursor: pointer; font-size: 0.88rem; transition: all 0.2s;
  justify-content: center;
}
.add-item-btn:hover { border-color: var(--accent, #00E676); color: var(--accent, #00E676); }

/* Specifications */
.specs-section { margin-top: 14px; }
.specs-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.specs-label { font-size: 0.8rem; color: rgba(255,255,255,0.45); font-weight: 500; }
.add-spec-btn {
  display: flex; align-items: center; gap: 4px;
  background: none; border: 1px solid rgba(255,255,255,0.08);
  border-radius: 6px; color: rgba(255,255,255,0.5); cursor: pointer;
  font-size: 0.75rem; padding: 4px 10px; transition: all 0.2s;
}
.add-spec-btn:hover { border-color: var(--accent, #00E676); color: var(--accent, #00E676); }

.spec-row { display: flex; gap: 8px; margin-bottom: 6px; align-items: center; }
.spec-row .spec-key { flex: 1; }
.spec-row .spec-value { flex: 1.5; }
.spec-row .form-input { padding: 7px 10px; font-size: 0.85rem; }
.spec-remove {
  background: none; border: none; color: rgba(255,255,255,0.25); cursor: pointer;
  padding: 4px; border-radius: 4px; flex-shrink: 0;
}
.spec-remove:hover { color: #ef4444; }

/* ═══ Range Slider ═══ */
.range-slider-wrap { margin-top: 16px; }
.range-slider { position: relative; height: 36px; }
.range-track {
  position: absolute; top: 16px; left: 0; right: 0; height: 4px;
  background: rgba(255,255,255,0.08); border-radius: 2px;
}
.range-fill {
  position: absolute; top: 16px; height: 4px;
  background: var(--accent, #00E676); border-radius: 2px;
}
.range-slider input[type="range"] {
  position: absolute; top: 6px; width: 100%; height: 24px;
  -webkit-appearance: none; appearance: none;
  background: transparent; pointer-events: none; margin: 0;
}
.range-slider input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none; width: 18px; height: 18px;
  border-radius: 50%; background: var(--accent, #00E676);
  border: 2px solid #111; cursor: pointer; pointer-events: auto;
  box-shadow: 0 0 6px rgba(0,230,118,0.3);
}
.range-slider input[type="range"]::-moz-range-thumb {
  width: 18px; height: 18px; border-radius: 50%;
  background: var(--accent, #00E676); border: 2px solid #111;
  cursor: pointer; pointer-events: auto;
}
.range-labels {
  display: flex; justify-content: space-between;
  font-size: 0.75rem; color: rgba(255,255,255,0.3); margin-top: 4px;
}

/* ═══ Priority Chips ═══ */
.priority-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.priority-chip {
  padding: 7px 16px; border-radius: 20px;
  border: 1px solid rgba(255,255,255,0.08); background: transparent;
  color: rgba(255,255,255,0.6); cursor: pointer; font-size: 0.82rem;
  transition: all 0.2s;
}
.priority-chip.active { background: var(--accent, #00E676); color: #000; border-color: var(--accent, #00E676); font-weight: 600; }
.priority-chip:hover:not(.active) { border-color: rgba(255,255,255,0.2); }

/* ═══ Upload Zone ═══ */
.upload-zone {
  border: 2px dashed rgba(255,255,255,0.08); border-radius: 14px;
  padding: 32px; text-align: center; cursor: pointer; transition: all 0.2s;
}
.upload-zone:hover, .upload-zone.dragover { border-color: var(--accent, #00E676); background: rgba(0,230,118,0.02); }
.upload-zone-icon { width: 32px; height: 32px; color: rgba(255,255,255,0.3); margin: 0 auto 10px; display: block; }
.upload-zone p { color: rgba(255,255,255,0.5); font-size: 0.9rem; margin: 0 0 4px; }
.upload-hint { color: rgba(255,255,255,0.25); font-size: 0.78rem; }

/* Image Gallery (form upload preview) */
.image-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 12px; margin-top: 14px; }
.gallery-upload-item {
  position: relative; border-radius: 10px; overflow: hidden;
  border: 1px solid rgba(255,255,255,0.06); aspect-ratio: 4/3;
}
.gallery-upload-item img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gallery-item-overlay {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 6px; background: linear-gradient(transparent, rgba(0,0,0,0.8));
  display: flex; align-items: center; gap: 4px;
}
.gallery-title-input {
  flex: 1; background: transparent; border: none; color: #fff;
  font-size: 0.72rem; padding: 2px 4px; outline: none;
}
.gallery-title-input::placeholder { color: rgba(255,255,255,0.4); }
.gallery-remove {
  background: rgba(239,68,68,0.7); border: none; color: #fff;
  border-radius: 4px; cursor: pointer; padding: 2px; display: flex;
  transition: background 0.2s;
}
.gallery-remove:hover { background: #ef4444; }

/* File List */
.file-list { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; }
.file-item {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 14px; background: rgba(255,255,255,0.025);
  border: 1px solid rgba(255,255,255,0.06); border-radius: 10px;
}
.file-item-info { display: flex; align-items: center; gap: 8px; min-width: 0; flex-shrink: 0; }
.file-item-info svg { color: rgba(255,255,255,0.4); flex-shrink: 0; }
.file-name { font-size: 0.82rem; color: rgba(255,255,255,0.7); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 180px; }
.file-size { font-size: 0.72rem; color: rgba(255,255,255,0.3); }
.file-title-input { flex: 1; padding: 5px 8px; font-size: 0.8rem; }
.file-remove { background: none; border: none; color: rgba(255,255,255,0.3); cursor: pointer; padding: 4px; flex-shrink: 0; }
.file-remove:hover { color: #ef4444; }

/* ═══ Form Actions ═══ */
.form-actions { display: flex; justify-content: flex-end; gap: 12px; margin-top: 8px; padding-bottom: 40px; }
.form-actions .btn { display: flex; align-items: center; gap: 8px; }

/* ═══ Badges ═══ */
.priority-badge {
  display: inline-block; padding: 4px 12px; border-radius: 12px;
  font-size: 0.72rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.03em;
}
.priority-low { background: rgba(100,200,255,0.12); color: #64c8ff; }
.priority-medium { background: rgba(255,200,0,0.12); color: #ffc800; }
.priority-high { background: rgba(255,100,50,0.12); color: #ff6432; }
.priority-urgent { background: rgba(255,50,50,0.15); color: #ff3232; }

.status-badge {
  display: inline-block; padding: 4px 12px; border-radius: 12px;
  font-size: 0.72rem; font-weight: 600; text-transform: uppercase;
}
.status-open { background: rgba(0,230,118,0.12); color: #00E676; }
.status-reviewing { background: rgba(255,200,0,0.12); color: #ffc800; }
.status-awarded { background: rgba(100,100,255,0.12); color: #6464ff; }
.status-closed { background: rgba(255,255,255,0.06); color: rgba(255,255,255,0.35); }

/* ═══ Detail Page ═══ */
.rfq-detail-grid { display: grid; grid-template-columns: 1fr 380px; gap: 24px; align-items: start; }
.rfq-card {
  background: rgba(255,255,255,0.025); border: 1px solid rgba(255,255,255,0.06);
  border-radius: 16px; padding: 28px;
}
.rfq-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; gap: 8px; }
.rfq-badges { display: flex; gap: 8px; }
.rfq-date { color: rgba(255,255,255,0.35); font-size: 0.82rem; }
.rfq-title { font-size: 1.45rem; font-weight: 700; margin-bottom: 12px; line-height: 1.3; }
.rfq-description { color: rgba(255,255,255,0.55); line-height: 1.65; margin-bottom: 24px; font-size: 0.92rem; }

.detail-section-title {
  display: flex; align-items: center; gap: 8px;
  font-size: 0.95rem; font-weight: 600; margin: 24px 0 14px;
  color: rgba(255,255,255,0.8);
}
.detail-section-title svg { color: var(--accent, #00E676); }

/* Items in detail */
.rfq-item-card.detail {
  background: rgba(255,255,255,0.025); border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px; padding: 0; margin-bottom: 14px;
  overflow: hidden;
}
.rfq-item-card.detail .item-card-header {
  display: flex; justify-content: space-between; align-items: center;
  padding: 12px 18px;
  background: rgba(0,230,118,0.05); border-bottom: 1px solid rgba(255,255,255,0.06);
}
.item-card-head-left { display: flex; align-items: center; gap: 10px; }
.item-number-badge {
  font-size: 0.7rem; font-weight: 700; color: #000;
  background: var(--accent, #00E676); padding: 3px 8px; border-radius: 5px;
  letter-spacing: 0.05em;
}
.rfq-item-card.detail .item-name { font-weight: 600; font-size: 0.98rem; }
.rfq-item-card.detail .item-qty {
  color: var(--accent, #00E676); font-size: 0.84rem; font-weight: 600;
  background: rgba(0,230,118,0.1); padding: 3px 10px; border-radius: 6px;
}

.rfq-item-card.detail .item-description {
  color: rgba(255,255,255,0.65); line-height: 1.6;
  margin: 0; padding: 14px 18px 0; font-size: 0.9rem;
}

.item-meta-row {
  display: flex; flex-wrap: wrap; gap: 8px;
  padding: 12px 18px 0;
}
.item-meta-chip {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 5px 12px; border-radius: 8px;
  font-size: 0.78rem; font-weight: 500;
}
.item-meta-chip.budget {
  background: rgba(0,230,118,0.08); color: #00E676;
  border: 1px solid rgba(0,230,118,0.15);
}
.item-meta-chip.category {
  background: linear-gradient(135deg, rgba(99,102,241,0.1), rgba(139,92,246,0.1));
  color: #a78bfa; border: 1px solid rgba(139,92,246,0.2);
}
.item-meta-chip svg { flex-shrink: 0; }

.rfq-item-card.detail .item-specs {
  display: flex; gap: 8px; flex-wrap: wrap;
  padding: 12px 18px 0;
}
.item-gallery-wrap, .item-files-wrap { padding: 12px 18px 0; }
.rfq-item-card.detail > *:last-child { padding-bottom: 16px; }

.spec-chip {
  display: inline-flex; gap: 4px; padding: 4px 10px;
  background: rgba(255,255,255,0.04); border-radius: 6px; font-size: 0.78rem;
}
.spec-chip-key { color: rgba(255,255,255,0.45); }
.spec-chip-val { color: rgba(255,255,255,0.8); font-weight: 500; }

/* Specs grid */
.rfq-specs-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
  gap: 12px; margin-top: 20px;
}
.spec-item { background: rgba(255,255,255,0.025); padding: 12px 16px; border-radius: 10px; }
.spec-label { display: block; font-size: 0.72rem; color: rgba(255,255,255,0.35); margin-bottom: 4px; text-transform: uppercase; letter-spacing: 0.04em; }
.spec-value { font-size: 0.92rem; font-weight: 500; }

/* Detail Gallery */
.detail-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.gallery-item {
  position: relative; border-radius: 10px; overflow: hidden;
  border: 1px solid rgba(255,255,255,0.06); cursor: pointer;
  aspect-ratio: 4/3; transition: transform 0.2s;
}
.gallery-item:hover { transform: scale(1.02); }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gallery-caption {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 4px 8px; font-size: 0.7rem; color: #fff;
  background: linear-gradient(transparent, rgba(0,0,0,0.75));
}

/* Lightbox */
.lightbox {
  position: fixed; inset: 0; z-index: 9999;
  background: rgba(0,0,0,0.92); display: flex;
  align-items: center; justify-content: center; cursor: pointer;
}
.lightbox img { max-width: 90%; max-height: 90vh; border-radius: 8px; }
.lightbox-close {
  position: absolute; top: 20px; right: 20px; color: #fff; cursor: pointer;
  background: rgba(255,255,255,0.1); border-radius: 50%; padding: 8px; display: flex;
}

/* Attachments */
.rfq-attachments { margin-top: 20px; }
.attachment-link {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 14px; background: rgba(255,255,255,0.04);
  border-radius: 8px; color: var(--accent, #00E676);
  text-decoration: none; font-size: 0.82rem; margin: 4px;
  transition: background 0.2s;
}
.attachment-link:hover { background: rgba(255,255,255,0.08); }
.back-link {
  display: inline-flex; align-items: center; gap: 4px;
  margin-bottom: 20px; color: rgba(255,255,255,0.45);
  text-decoration: none; font-size: 0.88rem; transition: color 0.2s;
}
.back-link:hover { color: #fff; }

/* ═══ Offers ═══ */
.offers-section { margin-top: 24px; }
.section-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }
.section-header .btn { display: flex; align-items: center; gap: 6px; }
.offers-list { display: flex; flex-direction: column; gap: 14px; }
.empty-state { color: rgba(255,255,255,0.3); text-align: center; padding: 24px; font-size: 0.9rem; }
.loading-text { color: rgba(255,255,255,0.4); text-align: center; padding: 24px; }

.offer-card {
  background: rgba(255,255,255,0.025); border: 1px solid rgba(255,255,255,0.06);
  border-radius: 14px; padding: 20px; transition: border-color 0.2s;
}
.offer-card:hover { border-color: rgba(255,255,255,0.1); }
.offer-card.selected { border-color: var(--accent, #00E676); background: rgba(0,230,118,0.02); }
.offer-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.offer-supplier { display: flex; align-items: center; gap: 10px; }
.offer-supplier-name { font-weight: 600; }
.offer-verified { color: #00E676; font-size: 0.78rem; display: flex; align-items: center; gap: 4px; }
.offer-price { font-size: 1.25rem; font-weight: 700; color: var(--accent, #00E676); }
.offer-details { color: rgba(255,255,255,0.55); font-size: 0.88rem; line-height: 1.5; }
.offer-meta { display: flex; gap: 16px; margin-top: 12px; font-size: 0.78rem; color: rgba(255,255,255,0.35); }
.offer-actions { display: flex; gap: 8px; margin-top: 12px; }
.offer-selected-badge { margin-top: 10px; color: #00E676; font-weight: 600; font-size: 0.88rem; display: flex; align-items: center; gap: 6px; }
.offer-item-badge {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 4px 10px; border-radius: 6px; font-size: 0.78rem; font-weight: 500;
  background: linear-gradient(135deg, rgba(99,102,241,0.12), rgba(139,92,246,0.12));
  color: #a78bfa; border: 1px solid rgba(139,92,246,0.2);
}

/* Sidebar */
.rfq-sidebar { position: sticky; top: 90px; }
.company-card .company-name { font-weight: 600; font-size: 1rem; margin-top: 8px; }
.company-card .company-loc { color: rgba(255,255,255,0.4); font-size: 0.85rem; }
.offer-form-card h3 { margin-bottom: 16px; }
.offer-form-card .form-group { margin-bottom: 14px; }
.full-width { width: 100%; }

/* Comparison panel */
.comparison-panel {
  background: rgba(255,255,255,0.025); border: 1px solid rgba(0,230,118,0.15);
  border-radius: 16px; padding: 28px; margin-top: 24px;
}
.comparison-panel h2 { margin-bottom: 16px; }
.comparison-analysis { color: rgba(255,255,255,0.6); margin-bottom: 20px; line-height: 1.6; font-size: 0.9rem; }
.comparison-recommendation {
  padding: 14px; background: rgba(0,230,118,0.06);
  border-radius: 10px; margin-top: 16px; font-size: 0.9rem;
}
.comparison-scores { margin-top: 20px; }
.score-card {
  margin-bottom: 16px; padding: 14px;
  background: rgba(255,255,255,0.02); border-radius: 10px;
}
.score-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 8px; }
.score-bar { height: 6px; background: rgba(255,255,255,0.08); border-radius: 3px; overflow: hidden; margin-top: 4px; }
.score-fill { height: 100%; background: var(--accent, #00E676); border-radius: 3px; transition: width 0.5s ease; }
.score-strengths { margin-top: 6px; font-size: 0.78rem; color: #00E676; }
.score-weaknesses { font-size: 0.78rem; color: #ff6432; }

/* ═══ Browse Grid ═══ */
.rfq-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 18px; }
.rfq-grid-card {
  background: rgba(255,255,255,0.025); border: 1px solid rgba(255,255,255,0.06);
  border-radius: 14px; padding: 22px; cursor: pointer;
  transition: all 0.2s; text-decoration: none; color: inherit; display: block;
}
.rfq-grid-card:hover { border-color: rgba(255,255,255,0.12); transform: translateY(-2px); }
.rfq-grid-card .rfq-card-title { font-size: 1.02rem; font-weight: 600; margin-bottom: 8px; }
.rfq-grid-card .rfq-card-meta { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.rfq-grid-card .meta-tag {
  padding: 3px 10px; border-radius: 8px; font-size: 0.72rem;
  background: rgba(255,255,255,0.05); color: rgba(255,255,255,0.55);
}
.rfq-grid-card .rfq-card-bottom {
  display: flex; justify-content: space-between; align-items: center;
  margin-top: 12px; font-size: 0.78rem; color: rgba(255,255,255,0.35);
}
.rfq-grid-card .offers-count { color: var(--accent, #00E676); font-weight: 500; }

/* Filters */
.rfq-filters { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 24px; flex-wrap: wrap; }
.filter-chips { display: flex; gap: 8px; flex-wrap: wrap; }
.filter-chip {
  padding: 7px 16px; border-radius: 20px;
  border: 1px solid rgba(255,255,255,0.08); background: transparent;
  color: rgba(255,255,255,0.55); cursor: pointer; font-size: 0.8rem; transition: all 0.2s;
}
.filter-chip.active { background: var(--accent, #00E676); color: #000; border-color: var(--accent, #00E676); }
.filter-selects { display: flex; gap: 8px; }
.filter-control {
  padding: 7px 12px; background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08); border-radius: 10px; color: #fff; font-size: 0.8rem;
}
.filter-control option { background: #111; }
.load-more-wrap { text-align: center; margin-top: 32px; }

/* ═══ Responsive ═══ */
@media (max-width: 900px) {
  .rfq-detail-grid { grid-template-columns: 1fr; }
  .rfq-sidebar { position: static; }
}
@media (max-width: 700px) {
  .item-uploads-section { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .rfq-page { padding-top: 80px; }
  .form-row.two-col, .form-row.three-col { flex-direction: column; }
  .rfq-grid { grid-template-columns: 1fr; }
  .rfq-specs-grid { grid-template-columns: 1fr 1fr; }
  .rfq-filters { flex-direction: column; }
  .spec-row { flex-wrap: wrap; }
  .image-gallery { grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); }
}

/* ═══ Light Theme ═══ */
[data-theme="light"] .page-sub { color: var(--text3); }
[data-theme="light"] .form-section { background: var(--surface); border-color: var(--border); box-shadow: var(--card-shadow); }
[data-theme="light"] .section-title-row h3 { color: var(--text); }
[data-theme="light"] .form-group label { color: var(--text2); }
[data-theme="light"] .form-input { background: var(--surface2); border-color: var(--border); color: var(--text); }
[data-theme="light"] .form-input::placeholder { color: var(--text3); }
[data-theme="light"] .form-input option { background: #fff; color: var(--text); }
[data-theme="light"] .input-suffix { background: var(--surface2); border-color: var(--border); color: var(--text3); }

[data-theme="light"] .item-card { background: var(--surface); border-color: var(--border); }
[data-theme="light"] .item-remove-btn { color: var(--text3); }
[data-theme="light"] .add-item-btn { border-color: var(--border2); color: var(--text3); }
[data-theme="light"] .add-spec-btn { border-color: var(--border); color: var(--text3); }
[data-theme="light"] .spec-remove { color: var(--text3); }
[data-theme="light"] .specs-label { color: var(--text3); }

[data-theme="light"] .priority-chip { border-color: var(--border); color: var(--text2); }
[data-theme="light"] .upload-zone { border-color: var(--border2); }
[data-theme="light"] .upload-zone-icon { color: var(--text3); }
[data-theme="light"] .upload-zone p { color: var(--text2); }
[data-theme="light"] .upload-hint { color: var(--text3); }

[data-theme="light"] .range-track { background: var(--border); }
[data-theme="light"] .range-labels { color: var(--text3); }

[data-theme="light"] .rfq-card, [data-theme="light"] .offer-card, [data-theme="light"] .spec-item,
[data-theme="light"] .rfq-item-card { background: var(--surface); border-color: var(--border); }
[data-theme="light"] .offer-card.selected { border-color: var(--green); background: rgba(34,197,94,0.04); }

[data-theme="light"] .rfq-date { color: var(--text3); }
[data-theme="light"] .rfq-description { color: var(--text2); }
[data-theme="light"] .spec-label { color: var(--text3); }
[data-theme="light"] .offer-details { color: var(--text2); }
[data-theme="light"] .offer-meta { color: var(--text3); }

[data-theme="light"] .rfq-grid-card { background: var(--surface); border-color: var(--border); box-shadow: var(--card-shadow); }
[data-theme="light"] .rfq-grid-card:hover { border-color: var(--accent); }
[data-theme="light"] .rfq-grid-card .meta-tag { background: var(--surface2); color: var(--text2); }
[data-theme="light"] .rfq-grid-card .rfq-card-bottom { color: var(--text3); }
[data-theme="light"] .filter-chip { border-color: var(--border); color: var(--text2); }
[data-theme="light"] .filter-control { background: var(--surface); border-color: var(--border); color: var(--text); }
[data-theme="light"] .filter-control option { background: #fff; }
[data-theme="light"] .back-link { color: var(--text3); }
[data-theme="light"] .back-link:hover { color: var(--text); }
[data-theme="light"] .attachment-link { background: var(--surface2); color: var(--accent); }
[data-theme="light"] .comparison-panel { background: var(--surface); border-color: rgba(34,197,94,0.3); }
[data-theme="light"] .score-bar { background: var(--border); }
[data-theme="light"] .gallery-upload-item { border-color: var(--border); }
[data-theme="light"] .gallery-item { border-color: var(--border); }
[data-theme="light"] .file-item { background: var(--surface2); border-color: var(--border); }
[data-theme="light"] .file-name { color: var(--text2); }
[data-theme="light"] .file-remove { color: var(--text3); }
[data-theme="light"] .empty-state { color: var(--text3); }
[data-theme="light"] .spec-chip { background: var(--surface2); }
[data-theme="light"] .spec-chip-key { color: var(--text3); }
[data-theme="light"] .spec-chip-val { color: var(--text); }
[data-theme="light"] .ai-gen-btn { background: linear-gradient(135deg, rgba(59,130,246,0.08), rgba(139,92,246,0.08)); border-color: rgba(99,102,241,0.15); }
[data-theme="light"] .score-card { background: var(--surface2); }

/* ─── Offers v2: filters, supplier logo, products, gallery, files ─── */
.offers-toolbar{
  display:flex;gap:12px;flex-wrap:wrap;margin:12px 0 16px;
  padding:10px 14px;background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.06);border-radius:10px;
}
.toolbar-group{display:flex;align-items:center;gap:8px;font-size:0.82rem;color:rgba(255,255,255,0.6);}
.form-input-sm{padding:6px 10px;font-size:0.82rem;min-width:120px;}

.offer-supplier{display:flex;align-items:center;gap:8px;}
.offer-supplier-logo{width:28px;height:28px;border-radius:6px;object-fit:cover;background:#1e293b;}
.offer-supplier-name{color:#fff;font-weight:600;text-decoration:none;}
.offer-supplier-name:hover{color:var(--accent);}

.offer-products{margin:10px 0;padding:10px;background:rgba(0,230,118,0.04);border:1px dashed rgba(0,230,118,0.2);border-radius:8px;}
.offer-products .op-label{font-size:0.72rem;color:rgba(255,255,255,0.45);margin-bottom:8px;}
.offer-product-chip{
  display:inline-flex;align-items:center;gap:8px;padding:6px 10px;
  background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);
  border-radius:999px;text-decoration:none;color:#e2e8f0;font-size:0.78rem;margin:0 6px 6px 0;
  transition:all .15s;
}
.offer-product-chip:hover{border-color:var(--accent);background:rgba(0,230,118,0.08);}
.offer-product-chip img{width:18px;height:18px;border-radius:4px;object-fit:cover;}
.opc-name{font-weight:500;}
.opc-price{color:var(--accent);font-weight:600;}

.offer-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:6px;margin:10px 0;}
.offer-gallery-item{position:relative;aspect-ratio:1;border-radius:6px;overflow:hidden;cursor:pointer;background:#1e293b;}
.offer-gallery-item img{width:100%;height:100%;object-fit:cover;}
.offer-gallery-item .gallery-caption{
  position:absolute;left:0;right:0;bottom:0;padding:3px 6px;font-size:0.65rem;
  background:linear-gradient(transparent,rgba(0,0,0,0.85));color:#fff;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.offer-files{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0;}
.offer-files .attachment-link{
  display:inline-flex;align-items:center;gap:6px;padding:5px 10px;
  background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);
  border-radius:6px;font-size:0.76rem;color:#e2e8f0;text-decoration:none;
}
.offer-files .attachment-link:hover{border-color:var(--accent);}

/* Offer form: product picker + uploads */
.selected-products{
  display:flex;flex-wrap:wrap;gap:6px;padding:4px 0;min-height:24px;
}
.selected-product-chip{
  display:inline-flex;align-items:center;gap:6px;
  padding:4px 6px 4px 4px;background:rgba(0,230,118,0.08);
  border:1px solid rgba(0,230,118,0.3);border-radius:999px;
  font-size:0.78rem;color:#e2e8f0;
}
.selected-product-chip img,.selected-product-chip .chip-no-img{
  width:22px;height:22px;border-radius:50%;object-fit:cover;background:#1e293b;
}
.selected-product-chip .chip-name{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.selected-product-chip .chip-price{color:rgba(255,255,255,0.5);font-size:0.72rem;}
.selected-product-chip .chip-remove{
  background:transparent;border:none;color:rgba(255,255,255,0.5);cursor:pointer;
  padding:2px;border-radius:50%;display:flex;align-items:center;justify-content:center;
}
.selected-product-chip .chip-remove:hover{color:#ef4444;background:rgba(239,68,68,0.1);}
.picker-empty{color:rgba(255,255,255,0.4);font-size:0.78rem;}

/* ─── Product picker modal ─── */
.picker-modal{position:fixed;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:20px;}
.picker-modal-overlay{position:absolute;inset:0;background:rgba(0,0,0,0.75);backdrop-filter:blur(6px);}
.picker-modal-card{
  position:relative;width:100%;max-width:780px;max-height:88vh;
  background:#0B1426;border:1px solid rgba(255,255,255,0.08);border-radius:14px;
  display:flex;flex-direction:column;overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,0.5);
}
.picker-modal-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:12px;
  padding:14px 18px;border-bottom:1px solid rgba(255,255,255,0.06);
}
.picker-close{background:transparent;border:none;color:rgba(255,255,255,0.6);cursor:pointer;padding:4px;border-radius:6px;}
.picker-close:hover{background:rgba(255,255,255,0.05);color:#fff;}
.picker-search{
  margin:12px 18px 0;padding:9px 12px;font-size:0.85rem;
  background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);
  border-radius:8px;color:#e2e8f0;font-family:inherit;
}
.picker-search:focus{outline:none;border-color:#00E676;}
.picker-product-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;
  padding:14px 18px;overflow-y:auto;flex:1;
}
.picker-product-grid .picker-product{
  display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:0;
  background:rgba(255,255,255,0.03);border:1.5px solid rgba(255,255,255,0.08);
  border-radius:10px;cursor:pointer;overflow:hidden;transition:all .15s;position:relative;
}
.picker-product-grid .picker-product:hover{border-color:rgba(0,230,118,0.5);transform:translateY(-1px);}
.picker-product-grid .picker-product.selected{
  border-color:#00E676;background:rgba(0,230,118,0.08);
}
.picker-product-grid .picker-product img,
.picker-product-grid .picker-product .pp-no-img{
  width:100%;height:90px;object-fit:cover;background:#1e293b;
}
.picker-product-grid .picker-product .pp-info{padding:6px 10px 10px;display:flex;flex-direction:column;gap:2px;}
.picker-product-grid .picker-product .pp-name{font-size:0.82rem;color:#e2e8f0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.picker-product-grid .picker-product .pp-price{font-size:0.72rem;color:rgba(255,255,255,0.6);}
.pp-price-old{color:rgba(148,163,184,0.85);text-decoration:line-through;margin-right:4px;font-size:0.7rem;}
.pp-price-new{color:#22C55E;font-weight:700;}
.picker-product-grid .picker-product .pp-disc{
  position:absolute;top:6px;left:6px;display:inline-flex;align-items:center;gap:2px;
  font-size:0.65rem;font-weight:700;background:linear-gradient(135deg,#16A34A,#22C55E);
  color:#fff;padding:2px 6px;border-radius:999px;
  box-shadow:0 3px 10px rgba(34,197,94,0.4);
}
.picker-product-grid .picker-product .pp-check{
  position:absolute;top:6px;right:6px;opacity:0;color:#00E676;
  background:#fff;border-radius:50%;padding:2px;width:22px;height:22px;
}
.picker-product-grid .picker-product.selected .pp-check{opacity:1;}
.picker-modal-foot{
  display:flex;justify-content:space-between;align-items:center;
  padding:12px 18px;border-top:1px solid rgba(255,255,255,0.06);
  background:rgba(0,0,0,0.15);
}

.upload-zone-icon-sm{width:28px;height:28px;color:rgba(255,255,255,0.4);}
.file-item{
  display:flex;align-items:center;gap:8px;padding:8px;margin-bottom:6px;
  background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.06);border-radius:6px;
}
.file-item-info{display:flex;align-items:center;gap:6px;flex-shrink:0;max-width:120px;}
.file-name{font-size:0.78rem;color:#e2e8f0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.file-title-input{flex:1;font-size:0.76rem;padding:4px 8px;}
.file-remove{
  background:rgba(239,68,68,0.1);border:1px solid rgba(239,68,68,0.3);color:#ef4444;
  width:24px;height:24px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;
}

/* Owner actions on RFQ */
.rfq-owner-actions{display:flex;gap:8px;margin:12px 0;flex-wrap:wrap;}
.btn-danger{color:#fecaca !important;border-color:rgba(239,68,68,0.3) !important;}
.btn-danger:hover{background:rgba(239,68,68,0.1) !important;}

/* Competitor offers (supplier view, anonymized) */
.competitor-offers{display:flex;flex-direction:column;gap:6px;}
.competitor-row{
  display:grid;grid-template-columns:1fr auto auto auto;gap:12px;align-items:center;
  padding:10px 14px;background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.06);border-radius:8px;font-size:0.85rem;
}
.comp-item{color:#e2e8f0;font-weight:500;}
.comp-price{color:var(--accent);font-weight:700;}
.comp-meta{color:rgba(255,255,255,0.5);font-size:0.78rem;}
.comp-anon{
  font-size:0.7rem;padding:3px 8px;border-radius:999px;
  background:rgba(255,255,255,0.05);color:rgba(255,255,255,0.4);border:1px dashed rgba(255,255,255,0.1);
}
.empty-state-small{color:rgba(255,255,255,0.4);font-size:0.85rem;padding:14px;text-align:center;}

/* Quotation templates page */
.qt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:16px;}
.qt-card{
  background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);border-radius:12px;
  overflow:hidden;display:flex;flex-direction:column;
}
.qt-preview{height:140px;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;}
.qt-body{padding:14px;}
.qt-name{font-size:1rem;font-weight:600;color:#fff;margin-bottom:8px;}
.qt-row{display:flex;align-items:center;gap:8px;margin:6px 0;font-size:0.82rem;color:rgba(255,255,255,0.65);}
.qt-swatch{width:18px;height:18px;border-radius:4px;border:1px solid rgba(255,255,255,0.1);}
.qt-actions{display:flex;gap:8px;padding:10px 14px;border-top:1px solid rgba(255,255,255,0.05);}
.qt-default-badge{font-size:0.7rem;padding:2px 8px;border-radius:999px;background:rgba(0,230,118,0.15);color:var(--accent);}
