/* neon_glass.css (Neon Glass Base Theme)
   - Scoped to body.theme-neon so other themes can coexist
*/

/* =========================================================
   1) THEME TOKENS + BODY BASE
   ========================================================= */
body.theme-neon {
  --fg:            #eaf1ff;
  --muted:         rgba(234,241,255,.62);
  --muted-2:       rgba(234,241,255,.48);
  --border:        rgba(255,255,255,.12);
  --card-bg:       rgba(255,255,255,.05);
  --card-bg-2:     rgba(255,255,255,.03);
  --link:          #63e6ff;
  --link-hover:    #eaf1ff;
  --accent:        var(--fractals-primary, #00ffff);

  background: linear-gradient(135deg, #0f2027, #203a43, #2c5364);
  color: var(--fg);
  margin: 0;
  padding: 0;

  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}

/* Bootstrap compat: fix muted text contrast ONLY in neon scope */
body.theme-neon .text-muted { color: var(--muted) !important; }
body.theme-neon .card,
body.theme-neon .list-group-item { color: var(--fg); }


/* =========================================================
   2) TYPOGRAPHY (marketing pages)
   ========================================================= */
body.theme-neon a { color: var(--link); text-decoration: none; }

body.theme-neon a:hover {
  color: var(--link-hover);
  text-decoration: underline;
  text-underline-offset: 3px;
}

body.theme-neon h1,
body.theme-neon h2,
body.theme-neon h3,
body.theme-neon h4 {
  color: var(--accent);
  text-shadow: 0 0 5px rgba(0,255,255,.22);
  margin-top: 1.25rem;
}

body.theme-neon p,
body.theme-neon li {
  color: rgba(255,255,255,.88);
  line-height: 1.6;
}

body.theme-neon ul { padding-left: 1.1rem; }


/* =========================================================
   3) PAGE LAYOUT HELPERS
   ========================================================= */
body.theme-neon .page-shell {
  min-height: 100vh;
  padding: 1.25rem 1rem;
}

body.theme-neon .page-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.25rem;
}

body.theme-neon .page-header__meta {
  opacity: .75;
}

body.theme-neon .muted {
  color: var(--muted);
}


/* =========================================================
   4) CORE COMPONENTS (cards, buttons)
   ========================================================= */
body.theme-neon .neon-glass-card,
body.theme-neon .neon-card {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: 20px;
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  box-shadow: 0 4px 30px rgba(0,0,0,.5);
  padding: 1.25rem;
}

body.theme-neon .neon-glass-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 0 15px rgba(0,255,255,.18);
  transition: all .2s ease;
}

/* Optional: padding helper so templates can do: class="neon-glass-card card-pad" */
body.theme-neon .card-pad { padding: 1.25rem; }

body.theme-neon .btn-glass {
  background: rgba(255,255,255,.10);
  color: var(--accent);
  border: 1px solid rgba(255,255,255,.20);
  backdrop-filter: blur(10px);
  padding: .5rem 1rem;
  border-radius: 10px;
  transition: all .2s ease-in-out;
}

body.theme-neon .btn-glass:hover {
  background: rgba(0,255,255,.10);
  color: #ffffff;
  border-color: var(--accent);
  transform: translateY(-2px);
  box-shadow: 0 0 10px rgba(0,255,255,.55);
}


/* =========================================================
   5) HEADER / NAV HELPERS
   ========================================================= */
body.theme-neon .glass-header {
  position: sticky;
  top: 0;
  z-index: 50;
  margin: 1rem auto 1.25rem;
  border-radius: 18px;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  background: rgba(0,0,0,.35);
  border: 1px solid var(--border);
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
}

body.theme-neon .glass-header .navbar-brand,
body.theme-neon .glass-header .nav-link {
  color: var(--fg) !important;
  text-decoration: none;
}

body.theme-neon .glass-header .nav-link:hover {
  opacity: .92;
  text-decoration: underline;
  text-underline-offset: 3px;
}

body.theme-neon .brand-badge {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .35rem .7rem;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
}

body.theme-neon .brand-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 14px rgba(0,255,255,.35);
}


/* =========================================================
   6) TABLES
   ========================================================= */
body.theme-neon .neon-glass-card .table,
body.theme-neon .neon-glass-card .table th,
body.theme-neon .neon-glass-card .table td {
  color: var(--fg) !important;
  border-color: rgba(255,255,255,.08) !important;
  background: transparent !important;
}


/* =========================================================
   7) FORM CONTROLS (widgets)
   ========================================================= */
body.theme-neon .input-glass,
body.theme-neon .textarea-glass,
body.theme-neon select.input-glass {
  width: 100%;
  padding: .6rem .75rem;
  border-radius: 12px;
  background: rgba(0,0,0,.35);
  color: var(--fg);
  border: 1px solid var(--border);
  outline: none;
  box-sizing: border-box;
}

body.theme-neon .textarea-glass { resize: vertical; }

body.theme-neon .input-glass::placeholder,
body.theme-neon .textarea-glass::placeholder {
  color: var(--muted);
}

body.theme-neon .input-glass:focus,
body.theme-neon .textarea-glass:focus,
body.theme-neon select.input-glass:focus {
  border-color: rgba(0,255,255,.55);
  box-shadow: 0 0 0 .2rem rgba(0,255,255,.12);
}


/* =========================================================
   8) FORMS LAYOUT + HELPERS (labels, grids, compact forms)
   ========================================================= */
body.theme-neon .card-title-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
}

body.theme-neon .card-title {
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--accent);
}

body.theme-neon .section-title {
  font-weight: 800;
  margin-bottom: .75rem;
  color: var(--accent);
}

body.theme-neon .form-label {
  font-weight: 700;
  opacity: .9;
  font-size: .9rem;
}

body.theme-neon .form-help {
  font-size: .9rem;
  color: var(--muted);
}

body.theme-neon .form-error-block,
body.theme-neon .errorlist {
  color: #ffb3b3;
  font-weight: 600;
  list-style: none;
  padding-left: 0;
}

/* Generic form group */
body.theme-neon .form-group {
  display: flex;
  flex-direction: column;
  gap: .25rem;
}

/* 2-column grid */
body.theme-neon .form-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
}

/* 4-column grid */
body.theme-neon .form-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: .75rem;
}

/* 6-column grid */
body.theme-neon .form-grid-6 {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: .75rem;
}

/* Span helpers */
body.theme-neon .span-2 { grid-column: span 2; }
body.theme-neon .form-group.span-2 { grid-column: 1 / -1; }

/* Compact form wrapper */
body.theme-neon .compact-form {
  display: grid;
  gap: .75rem;
}

body.theme-neon .form-actions {
  display: flex;
  align-items: end;
  justify-content: flex-end;
  gap: .5rem;
}

/* Prevent grid children from overflowing into adjacent columns */
body.theme-neon .form-grid-4 > *,
body.theme-neon .form-grid-6 > * {
  min-width: 0;
}

body.theme-neon .form-group input,
body.theme-neon .form-group select,
body.theme-neon .form-group textarea {
  min-width: 0;
}

/* Responsive collapse */
@media (max-width: 1100px) {
  body.theme-neon .form-grid-6 { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 900px) {
  body.theme-neon .form-grid-2 { grid-template-columns: 1fr; }

  body.theme-neon .form-grid-4,
  body.theme-neon .form-grid-6 {
    grid-template-columns: 1fr;
  }

  body.theme-neon .span-2 { grid-column: auto; }
  body.theme-neon .form-group.span-2 { grid-column: auto; }
}


/* =========================================================
   9) APP-SPECIFIC: DealerMaster dashboard + sidebar
   ========================================================= */
body.theme-neon .dm-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}

@media (min-width: 900px) {
  body.theme-neon .dm-grid {
    grid-template-columns: 1fr 1fr;
    gap: 1.6rem;
  }
}

body.theme-neon .sidebar__title {
  color: var(--accent);
  text-shadow: 0 0 5px rgba(0,255,255,.22);
  font-weight: 800;
  margin: .25rem 0 1rem;
}

body.theme-neon .sidebar__link,
body.theme-neon .sidebar__group {
  display: flex;
  gap: .6rem;
  align-items: baseline;
  padding: .45rem .6rem;
  border-radius: 12px;
  border: 1px solid transparent;
}

body.theme-neon .sidebar__link:hover {
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.12);
  text-decoration: none;
}

body.theme-neon .sidebar__code {
  opacity: .72;
  min-width: 58px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

body.theme-neon .sidebar__sublist {
  padding-left: 14px;
  margin-top: 6px;
}
.neon-glass-card input,
.neon-glass-card select,
.neon-glass-card textarea {
  width: 100%;
}
.table td, .table th { color: #e8f7ff; }
.table thead th { color: rgba(255,255,255,0.65); }
/* Keep action buttons from getting squashed in tables */
.neon-table .actions-cell {
  text-align: right;
  white-space: nowrap;
  width: 1%;
}

/* A consistent mini button for table actions */
.btn-mini {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.28rem 0.65rem;
  font-size: 0.78rem;
  line-height: 1.1;
  border-radius: 10px;
  min-width: 3.1rem;          /* keeps “Edit” consistent */
}

/* Optional: tighten table cell padding a touch, but not too much */
.neon-table th,
.neon-table td {
  padding: 0.45rem 0.65rem;
  vertical-align: middle;

.btn-danger-mini{
  border: 1px solid rgba(255, 80, 80, 0.35);
  color: rgba(255, 180, 180, 0.95);
}
.btn-danger-mini:hover{
  border-color: rgba(255, 80, 80, 0.65);
  background: rgba(255, 80, 80, 0.10);
}
.actions-cell { white-space: nowrap; width: 1%; text-align: right; }
.actions-cell form { margin-left: .35rem; }