:root{
  --dm-bg:#070708;
  --dm-panel:#0f1012;
  --dm-panel2:#14151a;
  --dm-border:#2a0f13;
  --dm-red:#e61a23;
  --dm-red2:#b50f16;
  --dm-text:#e9e9ee;
  --dm-muted:#b7b7c2;
  --dm-shadow: 0 10px 30px rgba(0,0,0,.45);
}

html,body{height:100%;}
body{
  background: radial-gradient(1200px 700px at 20% 10%, rgba(230,26,35,.18), transparent 55%),
              radial-gradient(900px 600px at 80% 30%, rgba(230,26,35,.10), transparent 60%),
              linear-gradient(180deg, #050506, #08080a 40%, #050506);
  color: var(--dm-text);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", Arial, sans-serif;
}

h1,h2,h3,h4,h5,h6{letter-spacing:.02em;}

a{color: var(--dm-text); text-decoration:none;}
a:hover{color: var(--dm-red);}

code{
  color: var(--dm-text);
  background: rgba(230,26,35,.08);
  border: 1px solid rgba(230,26,35,.16);
  padding: .05rem .35rem;
  border-radius: 10px;
}

.dm-nav{
  background: rgba(8,8,10,.75);
  border-bottom: 1px solid rgba(230,26,35,.25);
  backdrop-filter: blur(10px);
}

.dm-brand{
  display:flex; align-items:center; gap:.75rem;
  font-weight:800; letter-spacing:.06em;
  text-transform:uppercase;
}

.dm-logo{width:44px; height:44px; object-fit:contain; filter: drop-shadow(0 8px 14px rgba(0,0,0,.55));}

.dm-card{
  background: linear-gradient(180deg, rgba(24,25,30,.96), rgba(14,15,18,.96));
  color: var(--dm-text) !important;
  border: 1px solid rgba(230,26,35,.22);
  border-radius: 18px;
  box-shadow: var(--dm-shadow);
  transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.dm-card:hover{
  transform: translateY(-2px);
  border-color: rgba(230,26,35,.32);
  box-shadow: 0 16px 46px rgba(0,0,0,.55);
}

.dm-card .card-header{
  background: rgba(0,0,0,.25);
  color: var(--dm-text) !important;
  border-bottom: 1px solid rgba(230,26,35,.18);
}

/* Readability fixes: Bootstrap cards default to dark text via --bs-body-color */
.dm-card, .dm-card .card-body, .dm-card .card-header { color: var(--dm-text) !important; }
.dm-card .form-label { color: var(--dm-text) !important; font-weight: 650; letter-spacing: .02em; }
.dm-card .form-text, .dm-card .dm-small { color: var(--dm-muted) !important; }
.form-control::placeholder, .form-select::placeholder { color: rgba(233,233,238,.55) !important; }

.dm-badge{
  display:inline-flex; align-items:center; gap:.4rem;
  padding:.35rem .6rem;
  border-radius: 999px;
  border: 1px solid rgba(230,26,35,.22);
  background: rgba(230,26,35,.10);
  color: var(--dm-text);
  font-size:.85rem;
}

.dm-input, .form-control, .form-select{
  background: rgba(10,10,12,.9) !important;
  border: 1px solid rgba(230,26,35,.25) !important;
  color: var(--dm-text) !important;
  border-radius: 12px !important;
}
.form-control:focus, .form-select:focus{
  box-shadow: 0 0 0 .25rem rgba(230,26,35,.18) !important;
}

.btn-dm{
  background: linear-gradient(180deg, var(--dm-red), var(--dm-red2));
  border: 0;
  border-radius: 12px;
  box-shadow: 0 10px 20px rgba(230,26,35,.18);
  color:#fff;
  font-weight:700;
}
.btn-dm:hover{filter: brightness(1.05);}
.btn-dm:active{transform: translateY(1px);}

.btn-outline-dm{
  border: 1px solid rgba(230,26,35,.45);
  color: var(--dm-text);
  border-radius: 12px;
  background: rgba(230,26,35,.06);
}
.btn-outline-dm:hover{background: rgba(230,26,35,.14); color: var(--dm-text);}

.dm-hero{
  border-radius: 22px;
  padding: 26px;
  background: linear-gradient(135deg, rgba(230,26,35,.18), rgba(0,0,0,.0) 55%),
              linear-gradient(180deg, rgba(20,21,26,.85), rgba(12,12,14,.85));
  border: 1px solid rgba(230,26,35,.22);
  box-shadow: var(--dm-shadow);
}

.dm-small{color: var(--dm-muted); font-size:.92rem;}
.dm-divider{height:1px; background: rgba(230,26,35,.18); margin: 14px 0;}

/* Server list snippets */
.dm-scroll{max-height: 520px; overflow:auto; padding-right: .35rem;}
.dm-scroll::-webkit-scrollbar{width:10px;}
.dm-scroll::-webkit-scrollbar-thumb{background: rgba(230,26,35,.18); border-radius:999px;}
.dm-server-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: .75rem;
  padding: .7rem .25rem;
  border-bottom: 1px solid rgba(230,26,35,.10);
}
.dm-server-row:last-child{border-bottom:0;}
.dm-server-left{display:flex; align-items:flex-start; gap:.65rem; min-width:0;}
.dm-server-name{font-weight: 700; line-height:1.2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width: 18rem;}
.dm-server-sub{color: var(--dm-muted); font-size:.86rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width: 18rem;}
.dm-dot{width:10px; height:10px; border-radius:999px; margin-top:.35rem; box-shadow: 0 0 0 3px rgba(230,26,35,.06);}
.dm-dot-success{background: rgba(25,135,84,1);} /* bootstrap success */
.dm-dot-danger{background: rgba(220,53,69,1);} /* bootstrap danger */
.dm-dot-warning{background: rgba(255,193,7,1);} /* bootstrap warning */
.dm-dot-secondary{background: rgba(108,117,125,1);} /* bootstrap secondary */

/* Utility */
.border-dm{border-color: rgba(230,26,35,.45) !important;}

.table{
  color: var(--dm-text) !important;
}
.table thead th{
  background: rgba(230,26,35,.10);
  color: var(--dm-text);
  border-bottom: 1px solid rgba(230,26,35,.25) !important;
}
.table td, .table th{
  border-color: rgba(230,26,35,.12) !important;
}
.table tbody tr:hover{background: rgba(230,26,35,.06);}
.alert{
  border-radius: 14px;
}

.navbar-toggler{border-color: rgba(230,26,35,.35);} .navbar-toggler:focus{box-shadow:0 0 0 .25rem rgba(230,26,35,.18);} 


/* Autofill readability */
input.form-control:-webkit-autofill,
input.form-control:-webkit-autofill:hover,
input.form-control:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--dm-text) !important;
  box-shadow: 0 0 0px 1000px rgba(10,10,12,.95) inset !important;
  transition: background-color 9999s ease-in-out 0s;
}



/* Nav active state */
.navbar .nav-link.active{
  color: var(--dm-red) !important;
  font-weight: 750;
}
.navbar .nav-link{
  color: var(--dm-text) !important;
}

/* Toast */
.toast{
  border-radius: 14px;
  box-shadow: var(--dm-shadow);
}
