body {
  background: #000;
  min-height: 100vh;
  margin: 0;
  font-family: 'Segoe UI', 'Roboto', Arial, sans-serif;
  display: flex;
  align-items: center;
  justify-content: center;
}

.login-container {
  position: relative;
  width: 100%;
  max-width: 380px;
  background: rgba(20, 20, 20, 0.97);
  border-radius: 1.5rem;
  box-shadow: 0 0 40px 10px rgba(251, 191, 36, 0.15), 0 1.5px 10px rgba(0,0,0,0.65);
  padding: 3rem 2.2rem 2rem 2.2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 1;
  overflow: hidden;
}

.glow {
  position: absolute;
  top: -60px;
  right: -80px;
  width: 240px;
  height: 240px;
  background: radial-gradient(circle at 60% 35%, #fde047 0%, transparent 75%);
  opacity: 0.35;
  z-index: 0;
  pointer-events: none;
  filter: blur(8px);
}

.login-content {
  position: relative;
  z-index: 2;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.title-main {
  font-size: 2.2rem;
  font-weight: 800;
  color: #fde047;
  letter-spacing: 2px;
  margin-bottom: 0.3em;
  text-shadow: 0 2px 16px rgba(251,191,36,0.25), 0 2px 10px rgba(0,0,0,0.25);
}

.title-sub {
  font-size: 1.3rem;
  font-weight: 700;
  color: #ffe47b;
  opacity: 0.8;
  letter-spacing: 7px;
  margin-bottom: 2.5em;
  text-transform: uppercase;
  text-align: center;
}

.discord-btn {
  background: linear-gradient(90deg, #fde047 70%, #fbbf24 100%);
  color: #161616;
  font-size: 1.12rem;
  font-weight: bold;
  border: none;
  border-radius: 1rem;
  box-shadow: 0 4px 18px #fde04780;
  padding: 0.92em 2.2em;
  margin-bottom: 2.2em;
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  transition: background 0.18s, transform 0.14s, box-shadow 0.2s;
  outline: none;
}

.discord-btn:hover, .discord-btn:focus {
  background: linear-gradient(90deg, #fff176 70%, #fde047 100%);
  transform: translateY(-3px) scale(1.03);
  box-shadow: 0 4px 32px #fde047cc, 0 2px 12px #0007;
}

.discord-icon {
  width: 1.8em;
  height: 1.8em;
  margin-right: 2px;
}

.disclaimer {
  color: #ffe47b;
  opacity: 0.62;
  font-size: 0.89rem;
  text-align: center;
  margin-top: 1.4em;
  letter-spacing: 0.5px;
  line-height: 1.5em;
}

.dashboard-container {
  width: 100%;
  max-width: 600px;
  margin: 40px auto 0 auto;
  background: rgba(20,20,20,0.97);
  border-radius: 1.7rem;
  box-shadow: 0 0 40px 10px rgba(251, 191, 36, 0.15), 0 1.5px 10px rgba(0,0,0,0.65);
  padding: 2.2rem 1.4rem 2.7rem 1.4rem;
  z-index: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.dash-title {
  font-size: 2.1rem;
  color: #fde047;
  font-weight: 800;
  text-align: center;
  letter-spacing: 1.8px;
  margin-bottom: 1.9rem;
  text-shadow: 0 2px 16px rgba(251,191,36,0.25), 0 2px 10px rgba(0,0,0,0.25);
}
.dash-title span {
  color: #ffe47b;
  opacity: 0.8;
  letter-spacing: 9px;
  font-size: 1.0rem;
  font-weight: 700;
  text-transform: uppercase;
  margin-left: 10px;
}

.dashboard-card {
  background: rgba(30,30,30,0.95);
  border: 1.5px solid #fde04744;
  border-radius: 1rem;
  margin-bottom: 2.2rem;
  padding: 1.4rem 1.2rem;
  box-shadow: 0 0 16px 0 #fde04710;
  width: 100%;
}

.dashboard-card h2 {
  color: #fde047;
  font-size: 1.25rem;
  margin-bottom: 1.1em;
  letter-spacing: 1.2px;
}

.dashboard-card label {
  color: #ffe47b;
  font-size: 1rem;
  display: block;
  margin-bottom: 0.28em;
  margin-top: 0.76em;
  letter-spacing: 0.5px;
}

.dashboard-card input,
.dashboard-card select,
.dashboard-card textarea {
  width: 100%;           /* Ensures the field fills the container width */
  max-width: 480px;      /* Prevents it from getting too wide on large screens */
  box-sizing: border-box;
  padding: 0.65em 1em;
  border-radius: 0.7em;
  border: 1px solid #fde04788;
  background: #181818;
  color: #fde047;
  font-size: 1rem;
  margin-bottom: 0.45em;
  outline: none;
  transition: border-color 0.18s;
  margin-left: auto;     /* Centers the field horizontally */
  margin-right: auto;
}

.dashboard-btn {
  background: linear-gradient(90deg, #fde047 70%, #fbbf24 100%);
  color: #181818;
  font-size: 1.1rem;
  font-weight: 700;
  border: none;
  border-radius: 0.9em;
  padding: 0.68em 2.1em;
  margin-top: 1.1em;
  box-shadow: 0 4px 18px #fde04744;
  cursor: pointer;
  transition: background 0.18s, transform 0.14s, box-shadow 0.2s;
}

.dashboard-btn:hover, .dashboard-btn:focus {
  background: linear-gradient(90deg, #fff176 70%, #fde047 100%);
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 4px 32px #fde047cc, 0 2px 12px #0007;
}

.dashboard-footer {
  text-align: center;
  color: #ffe47b;
  opacity: 0.6;
  margin-top: 2.2rem;
  font-size: 0.92rem;
  letter-spacing: 0.5px;
}

input::placeholder, textarea::placeholder {
  white-space: pre-line;
  word-break: break-word;
}

#mention_roles_input {
  min-height: 3em;
  height: 4em;
  max-height: 8em;
  white-space: pre-line;
  resize: vertical;
}

@media (max-width: 480px) {
  .login-container {
    padding: 2.2rem 1.1rem 1.4rem 1.1rem;
    max-width: 97vw;
  }
  .title-main { font-size: 1.5rem; }
  .title-sub { font-size: 1rem; }
  .discord-btn { font-size: 1rem; padding: 0.75em 1.5em; }
}
