/* ========================
   INQUIRIES PAGE — EvolutionOS
   ======================== */

/* Active nav link */
.nav-link-active { color: var(--accent) !important; }

/* Page wrap */
.page-wrap {
  max-width: 1140px;
  margin: 0 auto;
  padding: 3rem 2rem 5rem;
}

/* Page header */
.page-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 2rem;
  gap: 2rem;
}
.page-header-left { flex: 1; }
.page-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2rem, 4vw, 2.75rem);
  font-weight: 700;
  color: var(--fg);
  line-height: 1.15;
  margin-bottom: 0.5rem;
}
.page-sub {
  font-size: 0.95rem;
  color: var(--fg-muted);
}

/* Buttons */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.65rem 1.25rem;
  border-radius: 0.5rem;
  font-size: 0.9rem;
  font-weight: 500;
  cursor: pointer;
  border: none;
  transition: all 0.15s;
  white-space: nowrap;
  font-family: inherit;
}
.btn-primary {
  background: var(--accent);
  color: #fff;
}
.btn-primary:hover { background: #d4722e; }
.btn-ghost {
  background: transparent;
  color: var(--fg-muted);
  border: 1px solid var(--border);
}
.btn-ghost:hover { background: var(--bg-alt); }
.btn-danger {
  background: #dc2626;
  color: #fff;
}
.btn-danger:hover { background: #b91c1c; }
.btn-sm {
  padding: 0.4rem 0.75rem;
  font-size: 0.8rem;
}
.btn-icon {
  background: transparent;
  border: none;
  cursor: pointer;
  color: var(--fg-muted);
  padding: 0.3rem;
  border-radius: 0.3rem;
  display: flex;
  align-items: center;
  transition: color 0.15s, background 0.15s;
}
.btn-icon:hover { color: var(--fg); background: var(--bg-alt); }

/* Stats bar */
.stats-bar {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-bottom: 2.5rem;
}
.stat-pill {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: var(--bg-alt);
  border: 1px solid var(--border);
  border-radius: 2rem;
  padding: 0.4rem 1rem;
  font-size: 0.8rem;
}
.stat-num { font-weight: 700; font-size: 1rem; color: var(--fg); }
.stat-label { color: var(--fg-muted); }
.stat-pill-new { border-color: #60a5fa40; }
.stat-pill-new .stat-num { color: #2563eb; }
.stat-pill-planning { border-color: #fbbf2440; }
.stat-pill-planning .stat-num { color: #d97706; }
.stat-pill-quote { border-color: #a78bfa40; }
.stat-pill-quote .stat-num { color: #7c3aed; }
.stat-pill-booked { border-color: #34d39940; }
.stat-pill-booked .stat-num { color: #059669; }
.stat-pill-dead { border-color: #94a3b840; }
.stat-pill-dead .stat-num { color: #94a3b8; }

/* Pipeline grid */
.pipeline {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.25rem;
}

/* Card */
.inquiry-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 0.75rem;
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  transition: box-shadow 0.2s;
}
.inquiry-card:hover { box-shadow: 0 4px 16px rgba(15,45,74,0.08); }

.card-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 0.75rem; }
.card-name {
  font-family: 'Playfair Display', serif;
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--fg);
  line-height: 1.3;
}
.card-destination {
  font-size: 0.85rem;
  color: var(--fg-muted);
  display: flex;
  align-items: center;
  gap: 0.35rem;
}
.card-destination svg { flex-shrink: 0; }

/* Status badge */
.status-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.25rem 0.65rem;
  border-radius: 2rem;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  flex-shrink: 0;
  white-space: nowrap;
}
.status-badge::before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  opacity: 0.7;
}
.badge-new { background: #eff6ff; color: #2563eb; border: 1px solid #bfdbfe; }
.badge-planning { background: #fffbeb; color: #d97706; border: 1px solid #fde68a; }
.badge-quote_sent { background: #f5f3ff; color: #7c3aed; border: 1px solid #ddd6fe; }
.badge-booked { background: #ecfdf5; color: #059669; border: 1px solid #a7f3d0; }
.badge-dead { background: #f8fafc; color: #94a3b8; border: 1px solid #e2e8f0; }

/* Card body */
.card-budget { font-size: 1.1rem; font-weight: 700; color: var(--accent); font-family: 'Playfair Display', serif; }
.card-dates { font-size: 0.8rem; color: var(--fg-muted); display: flex; align-items: center; gap: 0.35rem; }
.card-notes {
  font-size: 0.85rem;
  color: var(--fg-muted);
  line-height: 1.55;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Card footer */
.card-footer { display: flex; justify-content: space-between; align-items: center; padding-top: 0.75rem; border-top: 1px solid var(--border); }
.card-date { font-size: 0.75rem; color: var(--fg-muted); }
.card-actions { display: flex; gap: 0.25rem; }

/* Empty state */
.empty-state {
  text-align: center;
  padding: 4rem 2rem;
  color: var(--fg-muted);
}
.empty-compass { margin: 0 auto 1.5rem; opacity: 0.4; }
.empty-title { font-family: 'Playfair Display', serif; font-size: 1.5rem; font-weight: 600; color: var(--fg); margin-bottom: 0.75rem; }
.empty-body { font-size: 0.95rem; line-height: 1.6; }

/* Form panel — slide-in from right */
.form-panel {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 460px;
  max-width: 95vw;
  background: var(--white);
  border-left: 1px solid var(--border);
  z-index: 200;
  transform: translateX(100%);
  transition: transform 0.3s cubic-bezier(0.4,0,0.2,1);
  overflow-y: auto;
  box-shadow: -8px 0 32px rgba(15,45,74,0.1);
}
.form-panel[aria-hidden="false"] { transform: translateX(0); }

.form-panel-inner { padding: 2rem; }

.form-panel-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--border);
}
.form-panel-title {
  font-family: 'Playfair Display', serif;
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--fg);
}
.form-close {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--fg-muted);
  padding: 0.3rem;
  border-radius: 0.3rem;
  display: flex;
  align-items: center;
  transition: color 0.15s;
}
.form-close:hover { color: var(--fg); }

/* Form fields */
.form-field { display: flex; flex-direction: column; gap: 0.4rem; margin-bottom: 1.25rem; }
.form-field label { font-size: 0.85rem; font-weight: 500; color: var(--fg); }
.required { color: var(--accent); }
.form-field input,
.form-field select,
.form-field textarea {
  padding: 0.65rem 0.85rem;
  border: 1px solid var(--border);
  border-radius: 0.5rem;
  font-size: 0.9rem;
  font-family: inherit;
  background: var(--bg);
  color: var(--fg);
  transition: border-color 0.15s, box-shadow 0.15s;
  width: 100%;
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-light);
  background: var(--white);
}
.form-field textarea { resize: vertical; min-height: 80px; }

.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.form-actions { display: flex; justify-content: flex-end; gap: 0.75rem; margin-top: 1rem; }

/* Overlay */
.overlay {
  position: fixed;
  inset: 0;
  background: rgba(15,45,74,0.35);
  z-index: 150;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
}
.overlay[aria-hidden="false"] { opacity: 1; pointer-events: auto; }

/* Delete modal */
.modal {
  position: fixed;
  inset: 0;
  z-index: 300;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s;
}
.modal[aria-hidden="false"] { opacity: 1; pointer-events: auto; }
.modal-inner {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 0.75rem;
  padding: 2rem;
  max-width: 400px;
  width: 90%;
  box-shadow: 0 20px 60px rgba(15,45,74,0.15);
}
.modal-title { font-family: 'Playfair Display', serif; font-size: 1.25rem; font-weight: 700; margin-bottom: 0.75rem; }
.modal-body { color: var(--fg-muted); font-size: 0.9rem; margin-bottom: 1.5rem; line-height: 1.5; }
.modal-actions { display: flex; justify-content: flex-end; gap: 0.75rem; }

/* Validation error */
.field-error { border-color: #dc2626 !important; }
.field-error-msg { font-size: 0.75rem; color: #dc2626; margin-top: 0.25rem; }

/* Mobile */
@media (max-width: 768px) {
  .page-header { flex-direction: column; }
  .form-row { grid-template-columns: 1fr; }
  .pipeline { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .page-wrap { padding: 2rem 1.25rem 4rem; }
  .form-panel { width: 100%; border-left: none; }
}