/* Neo Dark Theme */
:root{
  --neo-bg:#0b0f14;
  --neo-panel:#0f172a;
  --neo-border:rgba(148,163,184,.18);
  --neo-text:#e5e7eb;
  /* Slightly brighter muted text for readability on the dark gradient */
  --neo-muted:rgba(229,231,235,.78);
  --neo-accent:#22c55e;
  --neo-accent-2:#38bdf8;
  --neo-glow-1:rgba(56,189,248,.22);
  --neo-glow-2:rgba(34,197,94,.20);
}

html,body{height:100%}
body{
  background: radial-gradient(1200px 800px at 10% 10%, rgba(56,189,248,.10), transparent 60%),
              radial-gradient(1200px 800px at 90% 20%, rgba(34,197,94,.10), transparent 60%),
              var(--neo-bg);
  color:var(--neo-text);
}

a{color:var(--neo-accent-2);text-decoration:none}
a:hover{color:#7dd3fc;text-decoration:none}

/* Branding */
.brand{font-weight:700;letter-spacing:.25px}

.navbar.bg-dark{
  background: rgba(2,6,23,.95)!important;
  border-bottom:1px solid var(--neo-border);
  box-shadow: 0 10px 30px rgba(0,0,0,.28);
}

.card{
  background: rgba(15,23,42,.90)!important;
  border:1px solid var(--neo-border)!important;
  border-radius:16px!important;
  box-shadow: 0 18px 45px rgba(0,0,0,.35);
}

.shadow-soft{box-shadow:0 18px 45px rgba(0,0,0,.35)!important}

.text-muted,.form-text{color:var(--neo-muted)!important}

/* Panels inside forms (e.g., version selector) */
.neo-panel{
  background: rgba(2,6,23,.55);
  border:1px solid var(--neo-border);
  border-radius:14px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02);
}

/* Version selector readability */
.version-list .form-check-label{color:var(--neo-text)!important}
.version-list .version-title{color:rgba(229,231,235,.92)!important}
.version-list .version-meta{color:rgba(229,231,235,.80)!important}
.version-list .version-meta .mono{color:rgba(229,231,235,.92)!important}

.form-control,.form-select,textarea{
  background: rgba(2,6,23,.65)!important;
  border:1px solid var(--neo-border)!important;
  color:var(--neo-text)!important;
  border-radius:12px!important;
}
.form-control:focus,.form-select:focus{
  border-color:rgba(56,189,248,.55)!important;
  box-shadow:
    0 0 0 .25rem rgba(56,189,248,.14)!important,
    0 0 22px rgba(56,189,248,.10)!important;
}

/* Buttons */
.btn{border-radius:12px!important}
.btn-primary{
  background: linear-gradient(135deg, rgba(34,197,94,.95), rgba(56,189,248,.85))!important;
  border:0!important;
  box-shadow: 0 10px 26px rgba(0,0,0,.35);
}
.btn-primary:hover{
  filter: brightness(1.05);
  box-shadow: 0 12px 34px rgba(0,0,0,.38), 0 0 22px var(--neo-glow-1);
}
.btn-outline-secondary,.btn-outline-dark{
  color:var(--neo-text)!important;
  border-color:var(--neo-border)!important;
}
.btn-outline-secondary:hover,.btn-outline-dark:hover{
  background: rgba(56,189,248,.10)!important;
  box-shadow: 0 0 16px rgba(56,189,248,.12);
}

.table{
  color:var(--neo-text)!important;
  --bs-table-bg: transparent;
  --bs-table-color: var(--neo-text);
  --bs-table-border-color: var(--neo-border);
  --bs-table-striped-bg: rgba(56,189,248,.04);
  --bs-table-striped-color: var(--neo-text);
  --bs-table-hover-bg: rgba(56,189,248,.08);
  --bs-table-hover-color: var(--neo-text);
}
/* Bootstrap sets cell backgrounds via CSS variables; force dark/transparent cells */
.table>:not(caption)>*>*{
  background-color: transparent !important;
  border-color: var(--neo-border)!important;
}
.table thead th{
  background-color: rgba(2,6,23,.75)!important;
  color: var(--neo-text)!important;
  border-bottom: 1px solid var(--neo-border)!important;
}
.table thead.table-light th{background-color: rgba(2,6,23,.75)!important}
.table-hover tbody tr:hover > *{background-color: rgba(56,189,248,.08)!important}
.table-striped>tbody>tr:nth-of-type(odd)>*{background-color: rgba(56,189,248,.03)!important}

/* Sidebar */
.sidebar{
  width:260px;
  background: rgba(2,6,23,.55);
  border-right:1px solid var(--neo-border);
  backdrop-filter: blur(10px);
}
.sidebar .nav-link{
  color: rgba(229,231,235,.86)!important;
  border: 1px solid transparent;
  padding: .55rem .8rem;
  border-radius: 12px;
}
.sidebar .nav-link:hover{
  background: rgba(56,189,248,.08);
  border-color: rgba(56,189,248,.16);
  box-shadow: 0 0 18px rgba(56,189,248,.10);
  color: var(--neo-text)!important;
}
.sidebar .nav-link.active{
  background: linear-gradient(135deg, rgba(34,197,94,.16), rgba(56,189,248,.14));
  border-color: rgba(56,189,248,.22);
  box-shadow: 0 0 0 1px rgba(56,189,248,.18), 0 0 26px var(--neo-glow-1);
  color: var(--neo-text)!important;
}
.sidebar .sidebar-section-title{
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.72rem;
}

/* Sidebar collapse */
/* width is set above; keep collapse behavior */
.sidebar{transition:width .15s ease-in-out}
body.sidebar-collapsed .sidebar{width:76px!important}
body.sidebar-collapsed .sidebar .nav-text{display:none}
body.sidebar-collapsed .sidebar .sidebar-section-title{display:none}
body.sidebar-collapsed .sidebar .brand-mini{display:block}
.sidebar .brand-mini{display:none}

/* Alerts */
.alert{border:1px solid var(--neo-border)!important}
