/* ---------------------------------------------------------
   Creative Monkey - Dark Theme (Fixed) + Purple Accent
   Generated by ChatGPT
   Palette:
     bg:       #0b0a10
     surface1: #12101a
     surface2: #181626
     border:   #2a2740
     text:     #e9e7f2
     muted:    #a8a3c7
     accent:   #8b5cf6
     accent2:  #7c3aed
---------------------------------------------------------- */

:root{
  --cm-bg:#0b0a10;
  --cm-surface-1:#12101a;
  --cm-surface-2:#181626;
  --cm-border:#2a2740;
  --cm-text:#e9e7f2;
  --cm-muted:#a8a3c7;

  --cm-accent:#8b5cf6;
  --cm-accent-2:#7c3aed;
  --cm-accent-rgb:139,92,246;

  --cm-danger:#ef4444;
  --cm-success:#22c55e;
  --cm-warning:#f59e0b;

  --cm-shadow:0 10px 30px rgba(0,0,0,.35);
}

html, body{
  background:var(--cm-bg) !important;
  color:var(--cm-text) !important;
  color-scheme: dark;
}

/* Text helpers */
.text-dark{ color:var(--cm-text) !important; }
.text-black{ color:var(--cm-text) !important; }
.text-muted{ color:var(--cm-muted) !important; opacity: .9; }
small, .small{ color:var(--cm-muted) !important; }

/* Links */
a{ color:var(--cm-accent); }
a:hover, a:focus{ color:var(--cm-accent-2); }

/* Bootstrap color helpers */
.text-primary{ color:var(--cm-accent) !important; }
.border-primary{ border-color:rgba(var(--cm-accent-rgb), .55) !important; }
.link-primary{ color:var(--cm-accent) !important; }
.link-primary:hover{ color:var(--cm-accent-2) !important; }

*:focus-visible{
  outline:2px solid rgba(var(--cm-accent-rgb), .55);
  outline-offset:2px;
}


/* Background helpers */
.bg-white, .bg-light{ background:var(--cm-surface-1) !important; }
.bg-dark{ background:var(--cm-bg) !important; }
.bg-primary{ background:var(--cm-accent) !important; }
.bg-secondary{ background:var(--cm-surface-2) !important; }

hr, .dropdown-divider{ border-top-color:var(--cm-border) !important; }

/* Generic surfaces */
.card,
.dropdown-menu,
.modal-content,
.popover,
.toast,
.offcanvas,
.list-group-item{
  background:var(--cm-surface-1) !important;
  color:var(--cm-text) !important;
  border-color:var(--cm-border) !important;
  box-shadow:var(--cm-shadow);
}

.card-header,
.card-footer{
  background:var(--cm-surface-2) !important;
  border-color:var(--cm-border) !important;
}

/* Navbar */
.navbar, .navbar-light, .navbar-expand-lg{
  background:var(--cm-surface-1) !important;
  border-color:var(--cm-border) !important;
}
.navbar-light .navbar-brand,
.navbar-light .navbar-nav .nav-link{
  color:var(--cm-text) !important;
}
.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link:focus{
  color:var(--cm-accent) !important;
}

/* Forms */
.form-control,
.form-select,
input, textarea, select{
  background:var(--cm-surface-2) !important;
  color:var(--cm-text) !important;
  border-color:var(--cm-border) !important;
}
.input-group-text{
  background:var(--cm-surface-1) !important;
  color:var(--cm-muted) !important;
  border-color:var(--cm-border) !important;
}
.form-control:focus,
.form-select:focus,
input:focus, textarea:focus, select:focus{
  border-color:rgba(var(--cm-accent-rgb), .85) !important;
  box-shadow:0 0 0 .2rem rgba(var(--cm-accent-rgb), .22) !important;
  outline:none !important;
}
::placeholder{ color:rgba(168,163,199,.75) !important; }

/* Buttons */
.btn{
  border-color:var(--cm-border);
}
.btn-primary,
.btn.btn-primary{
  background:var(--cm-accent) !important;
  border-color:var(--cm-accent) !important;
  color:#fff !important;
}
.btn-primary:hover,
.btn-primary:focus{
  background:var(--cm-accent-2) !important;
  border-color:var(--cm-accent-2) !important;
  color:#fff !important;
}
.btn-outline-primary{
  color:var(--cm-accent) !important;
  border-color:rgba(var(--cm-accent-rgb), .55) !important;
}
.btn-outline-primary:hover,
.btn-outline-primary:focus{
  background:rgba(var(--cm-accent-rgb), .16) !important;
  border-color:rgba(var(--cm-accent-rgb), .85) !important;
  color:#fff !important;
}
.btn-light{
  background:var(--cm-surface-2) !important;
  border-color:var(--cm-border) !important;
  color:var(--cm-text) !important;
}
.btn-link{
  color:var(--cm-accent) !important;
}
.btn-link:hover{ color:var(--cm-accent-2) !important; }

/* Dropdown items */
.dropdown-item{
  color:var(--cm-text) !important;
}
.dropdown-item:hover,
.dropdown-item:focus{
  background:rgba(var(--cm-accent-rgb), .14) !important;
  color:var(--cm-text) !important;
}
.dropdown-item.active,
.dropdown-item:active{
  background:rgba(var(--cm-accent-rgb), .22) !important;
  color:#fff !important;
}

/* Tables */
.table{
  color:var(--cm-text) !important;
}
.table thead th{
  color:var(--cm-muted) !important;
  border-color:var(--cm-border) !important;
}
.table td, .table th{
  border-color:var(--cm-border) !important;
}
.table-striped tbody tr:nth-of-type(odd){
  background-color:rgba(255,255,255,.03) !important;
}
.table-hover tbody tr:hover{
  background-color:rgba(var(--cm-accent-rgb), .08) !important;
}

/* Pagination */
.page-link{
  background:var(--cm-surface-1) !important;
  border-color:var(--cm-border) !important;
  color:var(--cm-text) !important;
}
.page-link:hover{
  background:rgba(var(--cm-accent-rgb), .10) !important;
  color:#fff !important;
}
.page-item.active .page-link{
  background:var(--cm-accent) !important;
  border-color:var(--cm-accent) !important;
  color:#fff !important;
}

/* Alerts */
.alert{
  border-color:var(--cm-border) !important;
  background:var(--cm-surface-1) !important;
  color:var(--cm-text) !important;
}
.alert-primary{
  border-color:rgba(var(--cm-accent-rgb), .45) !important;
  background:rgba(var(--cm-accent-rgb), .12) !important;
}

/* Badges */
.badge,
.badge-primary, .bg-primary{
  box-shadow:none;
}
.badge-primary, .badge.bg-primary{
  background:var(--cm-accent) !important;
}

/* Modals */
.modal-header, .modal-footer{
  border-color:var(--cm-border) !important;
}
.close, .btn-close{
  filter: invert(1) grayscale(100%);
}

/* Shadows / borders helpers */
.border, .border-top, .border-bottom, .border-start, .border-end{
  border-color:var(--cm-border) !important;
}

/* Scrollbar (Chromium) */
*::-webkit-scrollbar{ width:12px; height:12px; }
*::-webkit-scrollbar-track{ background:var(--cm-bg); }
*::-webkit-scrollbar-thumb{
  background:rgba(168,163,199,.25);
  border:3px solid var(--cm-bg);
  border-radius:10px;
}
*::-webkit-scrollbar-thumb:hover{
  background:rgba(var(--cm-accent-rgb), .35);
}
