:root{
  --lm-bg: #0b1220;
  --lm-surface: rgba(255,255,255,.92);
  --lm-surface-2: rgba(255,255,255,.72);
  --lm-text: #0f172a;
  --lm-muted: #64748b;
  --lm-border: rgba(15,23,42,.10);
  --lm-primary: #6366f1;
  --lm-primary-2: #22c55e;
  --lm-danger: #ef4444;
  --lm-shadow: 0 10px 30px rgba(2,6,23,.10);
  --lm-shadow-sm: 0 6px 18px rgba(2,6,23,.08);
  --lm-radius: 16px;
  --lm-radius-sm: 12px;
  --lm-ring: 0 0 0 .2rem rgba(99,102,241,.20);
}

html, body{
  height: 100%;
}

body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color: var(--lm-text);
  background: radial-gradient(1200px 800px at 10% 10%, rgba(99,102,241,.22), transparent 60%),
              radial-gradient(900px 600px at 90% 10%, rgba(34,197,94,.16), transparent 55%),
              radial-gradient(900px 700px at 50% 110%, rgba(59,130,246,.10), transparent 60%),
              #f6f8ff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.lm-admin{
  overflow-x: hidden;
}

/* Layout polish */
#wrapper{
  min-height: 100vh;
}

.container-fluid{
  padding-top: 1.25rem;
  padding-bottom: 2rem;
}

/* Cards */
.card{
  border: 1px solid var(--lm-border) !important;
  border-radius: var(--lm-radius) !important;
  box-shadow: var(--lm-shadow-sm);
  overflow: hidden;
  background: var(--lm-surface);
  backdrop-filter: blur(10px);
}

.card-header{
  background: transparent !important;
  border-bottom: 1px solid var(--lm-border) !important;
}

.card-footer{
  background: transparent !important;
  border-top: 1px solid var(--lm-border) !important;
}

/* Topbar */
.topbar.navbar{
  border: 1px solid var(--lm-border);
  border-radius: calc(var(--lm-radius) + 4px);
  margin: 1rem 1rem 0;
  box-shadow: var(--lm-shadow-sm);
  background: rgba(255,255,255,.88) !important;
  backdrop-filter: blur(10px);
  position: relative;
  z-index: 1035;
  overflow: visible;
}

.topbar .dropdown-menu{
  z-index: 1060;
}

/* Sidebar */
.sidebar{
  background: linear-gradient(180deg, rgba(2,6,23,.96), rgba(15,23,42,.96)) !important;
  border-right: 1px solid rgba(255,255,255,.06);
}

.sidebar .sidebar-brand{
  background: transparent !important;
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.sidebar .sidebar-heading{
  color: rgba(255,255,255,.72) !important;
  letter-spacing: .08em;
}

.sidebar .nav-item .nav-link{
  color: rgba(255,255,255,.86) !important;
  border-radius: 12px;
  margin: .15rem .75rem;
}

.sidebar .nav-item .nav-link i{
  color: rgba(255,255,255,.60) !important;
}

.sidebar .nav-item .nav-link:hover{
  background: rgba(255,255,255,.06) !important;
}

.sidebar .nav-item.active .nav-link{
  background: rgba(99,102,241,.18) !important;
  box-shadow: 0 0 0 1px rgba(99,102,241,.18) inset;
}

.sidebar .collapse-inner{
  border-radius: var(--lm-radius-sm) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  background: rgba(255,255,255,.04) !important;
}

.sidebar .collapse-item{
  color: rgba(255,255,255,.85) !important;
}

.sidebar .collapse-item:hover{
  background: rgba(255,255,255,.06) !important;
}

.sidebar .nav-item .nav-link[data-toggle="collapse"]::after{
  display: none !important;
  content: none !important;
}

/* Buttons */
.btn{
  border-radius: 999px !important;
  font-weight: 600;
}

.btn-primary{
  background: linear-gradient(135deg, var(--lm-primary), #8b5cf6) !important;
  border: none !important;
  box-shadow: 0 10px 22px rgba(99,102,241,.22);
}

.btn-primary:hover{
  filter: brightness(1.03);
}

.btn-secondary{
  border: 1px solid var(--lm-border) !important;
  background: rgba(15,23,42,.04) !important;
  color: var(--lm-text) !important;
}

.btn-danger{
  background: linear-gradient(135deg, var(--lm-danger), #fb7185) !important;
  border: none !important;
}

/* Forms */
.form-control,
.custom-select{
  border-radius: 14px !important;
  border: 1px solid rgba(15,23,42,.14) !important;
  box-shadow: none !important;
  background: rgba(255,255,255,.95);
}

.form-control:focus,
.custom-select:focus{
  border-color: rgba(99,102,241,.55) !important;
  box-shadow: var(--lm-ring) !important;
}

/* Tables */
.table{
  background: transparent;
}

.table thead th{
  border-top: 0 !important;
  border-bottom: 1px solid var(--lm-border) !important;
  color: var(--lm-muted);
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: .75rem;
}

.table td,
.table th{
  border-top: 1px solid var(--lm-border) !important;
}

/* Auth pages (SB Admin 2) */
.bg-gradient-primary{
  background: radial-gradient(1100px 700px at 15% 10%, rgba(99,102,241,.28), transparent 55%),
              radial-gradient(900px 650px at 85% 15%, rgba(34,197,94,.20), transparent 60%),
              #0b1220 !important;
}

.bg-login-image,
.bg-register-image{
  background: radial-gradient(700px 500px at 20% 20%, rgba(99,102,241,.28), transparent 55%),
              radial-gradient(600px 450px at 80% 30%, rgba(34,197,94,.18), transparent 60%),
              rgba(2,6,23,.92) !important;
}

.o-hidden{
  border-radius: calc(var(--lm-radius) + 6px) !important;
}

.shadow-lg{
  box-shadow: var(--lm-shadow) !important;
}

/* Utility */
.text-gray-900{ color: var(--lm-text) !important; }
.text-gray-800{ color: rgba(15,23,42,.88) !important; }
.text-gray-600{ color: rgba(15,23,42,.70) !important; }
.text-gray-500{ color: rgba(15,23,42,.60) !important; }
.text-gray-400{ color: rgba(15,23,42,.50) !important; }

@media (min-width: 768px){
  body.lm-admin{
    overflow: hidden;
  }

  #wrapper{
    height: 100vh;
    overflow: hidden;
  }

  #wrapper .sidebar{
    position: sticky;
    top: 0;
    height: 100vh;
    overflow-y: auto;
    flex-shrink: 0;
  }

  #wrapper #content-wrapper{
    height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;
  }
}
