/* SP Autohub Quotation Generator (SPQG) Theme Styling */
/* Color Palette: White (#ffffff), Red (#dc2626 / #e31837), Grey/Slate (#0f172a, #334155, #f8fafc) */

:root {
  --sp-red: #e31837;
  --sp-red-dark: #b91c1c;
  --sp-dark: #0f172a;
  --sp-slate: #334155;
  --sp-light: #f8fafc;
  --sp-border: #e2e8f0;
}

body {
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  background-color: #f8fafc;
  color: #1e293b;
  min-height: 100vh;
}

h1, h2, h3, h4, h5, h6, .brand-font {
  font-family: 'Outfit', sans-serif;
  letter-spacing: -0.02em;
}

/* Sidebar Styles */
.spqg-sidebar {
  width: 260px;
  min-width: 260px;
  min-height: 100vh;
  background-color: #0b0f19 !important;
  transition: all 0.3s ease;
  z-index: 1040;
}

.spqg-sidebar .nav-link {
  color: #94a3b8;
  font-size: 0.875rem;
  font-weight: 500;
  padding: 0.65rem 1rem;
  border-radius: 0.5rem;
  transition: all 0.2s ease;
}

.spqg-sidebar .nav-link:hover {
  color: #ffffff;
  background-color: rgba(255, 255, 255, 0.06);
}

.spqg-sidebar .nav-link.active {
  color: #ffffff;
  background-color: var(--sp-red) !important;
  font-weight: 600;
  box-shadow: 0 4px 12px rgba(227, 24, 55, 0.35);
}

/* Topbar */
.spqg-topbar {
  background-color: #ffffff;
  border-color: #e2e8f0 !important;
}

/* Card Utilities */
.card {
  border-radius: 0.75rem;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.hover-lift:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1) !important;
}

/* Red Branding Accents */
.btn-danger {
  background-color: var(--sp-red);
  border-color: var(--sp-red);
}

.btn-danger:hover, .btn-danger:focus {
  background-color: var(--sp-red-dark);
  border-color: var(--sp-red-dark);
}

.text-danger {
  color: var(--sp-red) !important;
}

.border-danger {
  border-color: var(--sp-red) !important;
}

.bg-danger {
  background-color: var(--sp-red) !important;
}

/* Small Typography */
.fs-7 { font-size: 0.875rem !important; }
.fs-8 { font-size: 0.75rem !important; }

/* Table Enhancements */
.table > :not(caption) > * > * {
  padding: 0.85rem 1rem;
}

.table-hover tbody tr:hover {
  background-color: rgba(227, 24, 55, 0.02);
}

/* Responsive Mobile Sidebar */
@media (max-width: 767.98px) {
  .spqg-sidebar {
    position: fixed;
    left: -260px;
    top: 0;
    bottom: 0;
  }
  .spqg-sidebar.show {
    left: 0;
  }
}
