/* ============================================================
   Login CSS (light mode)
   ------------------------------------------------------------
   Účel:
   - Styly pro přihlašovací stránku aplikace.
   - Světlý režim (výchozí).
   - Tmavé varianty jsou v darkmode.css.
   ============================================================ */

.login-container {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  min-height: 60vh;
}

.login-card {
  width: 100%;
  max-width: 420px;
  background: #fff; /* světlý režim */
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(16, 24, 40, 0.08);
  padding: 1.6rem;
  border: 1px solid rgba(15, 23, 42, 0.04);
}

.login-card h1 {
  margin: 0 0 0.6rem;
  font-size: 1.25rem;
  color: #0b5fff;
}
.login-card p.lead {
  margin: 0 0 1rem;
  color: #586274;
  font-size: 0.95rem;
}

/* Form */
.login-form {
  display: grid;
  gap: 0.75rem;
}
.login-form label {
  font-size: 0.85rem;
  color: #425162;
  margin-bottom: 0.25rem;
}
.login-form input {
  width: 100%;
  padding: 0.65rem 0.75rem;
  border-radius: 8px;
  border: 1px solid #e6eef6;
  background: #fbfdff;
  font-size: 0.95rem;
  color: #12263a;
  transition: border-color .12s ease, box-shadow .12s ease;
}
.login-form input:focus {
  outline: none;
  border-color: #0b5fff;
  box-shadow: 0 6px 18px rgba(11,95,255,0.06);
}

/* Submit button */
.btn-login {
  width: 100%;
  padding: 0.7rem 0.9rem;
  border-radius: 8px;
  border: none;
  background: linear-gradient(180deg, #0b5fff, #084ed6);
  color: #fff;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(11,95,255,0.12);
}
.btn-login:active { transform: translateY(1px); }
.btn-login:disabled { opacity: 0.6; cursor: not-allowed; }
.btn-login:focus-visible {
  outline: 2px solid #0b5fff;
  outline-offset: 2px;
}

/* Actions and helper links */
.login-actions {
  display: flex;
  justify-content: space-between;
  margin-top: 0.4rem;
  font-size: 0.9rem;
  color: #556677;
}
.login-actions a { color: #0b5fff; text-decoration: none; }
.login-actions a:hover { text-decoration: underline; }
.login-actions a:focus-visible { outline: 2px solid #0b5fff; outline-offset: 2px; }

.login-note {
  margin-top: 0.6rem;
  font-size: 0.82rem;
  color: #7b8a95;
}

/* Flash messages */
.flash-list {
  margin: 0 0 0.75rem;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.5rem;
}
.flash-list li {
  padding: 0.5rem 0.75rem;
  border-radius: 8px;
  font-size: 0.9rem;
}
.flash-list li.success { background: #e8f8f2; color: #08664b; }
.flash-list li.info    { background: #eef6ff; color: #084ed6; }
.flash-list li.danger  { background: #fff2f2; color: #a61919; }
