/* Auth specific styles */
body.auth-body {
  min-height: 100vh;
  margin: 0;
  background: linear-gradient(135deg,#ff6b6b 0%,#ff8e53 100%);
  font-family: 'Inter','Noto Sans JP',sans-serif;
  color:#333;
  display:flex;
  flex-direction:column;
}

.auth-viewport {
  flex:1;
  display:grid;
  place-items:center;
  padding:2rem 1rem;
}

.auth-layout {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:2rem;
  width:100%;
  max-width:900px;
}

.auth-brand {
  flex:1 1 300px;
  color:#fff;
}
.auth-title { font-weight:600; }
.auth-tagline { opacity:.9; }

.auth-card {
  flex:1 1 320px;
  background:#fff;
  border-radius:20px;
  box-shadow:0 8px 24px rgba(0,0,0,.15);
  padding:2rem;
}

.auth-card label { font-weight:500; }
.auth-card input[type="text"],
.auth-card input[type="email"],
.auth-card input[type="password"],
.auth-card input[type="number"] {
  width:100%;
  padding:.75rem 1rem;
  border:1px solid #ced4da;
  border-radius:12px;
}
.auth-card .auth-toggle-password {
  position:absolute;
  top:50%;
  right:.75rem;
  transform:translateY(-50%);
}
.auth-card .btn-primary {
  background:linear-gradient(90deg,#ff6b6b,#ff8e53);
  border:none;
  border-radius:12px;
  padding:.75rem;
  font-weight:600;
  box-shadow:0 4px 12px rgba(0,0,0,.15);
}
.auth-card .btn-primary:disabled { opacity:.7; }

.auth-card .alert { border-radius:12px; }
.auth-caps-warning { margin-top:.25rem; }

@media (max-width:768px){
  .auth-layout { flex-direction:column; }
  .auth-brand { text-align:center; }
}

@media (prefers-color-scheme: dark){
  body.auth-body { background:linear-gradient(135deg,#a63e3e 0%,#a65440 100%); }
  .auth-card { background:#1e1f24; color:#fff; }
  .auth-card input[type="text"],
  .auth-card input[type="email"],
  .auth-card input[type="password"],
  .auth-card input[type="number"] {
    background:#333;
    border-color:#555;
    color:#fff;
  }
  .auth-card .btn-primary { color:#fff; }
}

.auth-card p { margin-bottom:1rem; }
.auth-card a { color:#0d6efd; }

@media (prefers-color-scheme: dark){
  .auth-card a { color:#66b2ff; }
}
