/* Минимальный стиль для страницы входа */
:root{
  --card-w: 420px;
  --accent: #0d6efd; /* bootstrap primary */
  --bg: #f6f7fb;
  --card-bg: #ffffff;
  --muted: #6c757d;
}

html,body{
  height:100%;
}

.login-page{
  min-height:100vh;
  background: linear-gradient(180deg, #eef3fb 0%, var(--bg) 100%);
  padding: 2rem;
}

.login-card{
  width: var(--card-w);
  background: var(--card-bg);
  border-radius: 12px;
  box-shadow: 0 6px 24px rgba(20,25,40,0.08);
  padding: 1.25rem;
  display:flex;
  flex-direction:column;
  gap: .75rem;
}

.login-header{
  display:flex;
  align-items:center;
  gap:.75rem;
  border-bottom: 1px solid #f1f3f5;
  padding-bottom:.5rem;
  margin-bottom:.5rem;
}

.brand-icon{
  width:36px;
  height:36px;
  object-fit:contain;
  border-radius:6px;
}

.login-header h1{
  font-size:1.05rem;
  margin:0;
}

.login-form {
  display:flex;
  flex-direction:column;
  gap:.65rem;
}

.form-group label{
  font-weight:600;
  font-size:.9rem;
  margin-bottom:.25rem;
  display:block;
}

.form-control{
  padding:.6rem .75rem;
  border-radius:8px;
  border:1px solid #e6e9ef;
  font-size: .95rem;
  outline:none;
}

.form-control:focus{
  box-shadow:0 0 0 3px rgba(13,110,253,0.08);
  border-color: var(--accent);
}

.form-actions{
  margin-top:.25rem;
}

.form-error{
  color:#b00020;
  font-size:.9rem;
  padding:.25rem .25rem;
}

.login-footer{
  margin-top:.5rem;
  text-align:center;
  color:var(--muted);
  font-size:.85rem;
}

/* responsiveness */
@media (max-width:480px){
  .login-card{ width: 100%; border-radius:0; min-height:100vh; justify-content:center; }
}