/* SHOTOTA admin login — demo-exact login card (Stage 3).
   Same card as the member login: max-width 430px, padding 2.2rem,
   radius .7rem, page bg #f2f7ff, #435ebe primary. */
:root {
  --blue: #435ebe;
  --blue-dark: #3950a2;
  --blue2: #f2f7ff;
  --ink: #25396f;
  --muted: #6c757d;
  --line: #dce7f1;
  --green: #198754;
  --red: #dc3545;
  --radius: .7rem;
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: 'SolaimanLipi', 'Nunito', 'Noto Sans Bengali', sans-serif;
  background: var(--blue2); color: #607080; font-size: 1rem; line-height: 1.5;
}
button, input, select, textarea { font-family: inherit; }
a { color: var(--blue); text-decoration: none; }
a:hover { text-decoration: underline; }
h1, h2, h3 { color: var(--ink); }
.login-wrap {
  min-height: 100vh; display: flex; align-items: center; justify-content: center;
  background: var(--blue2); padding: 20px;
}
.login-wrap .card {
  width: 100%; max-width: 430px; background: #fff; border: none;
  border-radius: var(--radius); padding: 2.2rem;
  box-shadow: 0 2px 14px rgba(37,57,111,.08);
}
.brand-logo { display: block; max-width: 210px; height: auto; margin: 0 auto 14px; }
.login-emoji { font-size: 38px; text-align: center; }
.login-wrap h2 { text-align: center; font-size: 1.65rem; font-weight: 700; }
.text-muted { color: var(--muted); text-align: center; }
.field { margin-bottom: 1rem; }
.fl { display: block; font-weight: 600; font-size: .95rem; color: var(--ink); margin-bottom: .45rem; }
.f, select.f, textarea.f {
  width: 100%; padding: .5rem .8rem; border: 1px solid var(--line); border-radius: .45rem;
  font-size: .97rem; background: #fff; color: var(--ink);
}
.f:focus { outline: none; border-color: #aebfff; box-shadow: 0 0 0 .22rem rgba(67,94,190,.16); }
.btn {
  display: inline-block; padding: .5rem 1.05rem; border-radius: .45rem; border: 1px solid var(--blue);
  background: var(--blue); color: #fff; font-weight: 600; font-size: .95rem; cursor: pointer;
}
.btn:hover { background: var(--blue-dark); }
.btn.primary { width: 100%; padding: 12px; font-size: 15.5px; }
.alert { padding: 12px 14px; border-radius: 10px; margin-bottom: 14px; font-weight: 600; }
.alert.error { background: #fbe9e7; color: #842029; border: 1px solid #f5c2c7; }
.alert.success { background: #d1e7dd; color: #0f5132; border: 1px solid #badbcc; }
.err-list { margin: 6px 0 0; padding-left: 18px; }
.mt { margin-top: 14px; }
.lang-switch { display: flex; background: var(--blue2); border: 1px solid var(--line); border-radius: 999px; padding: 3px; gap: 2px; flex: none; }
.lang-switch a {
  border: 0; background: transparent; padding: 6px 12px; border-radius: 999px;
  font-weight: 800; font-size: 13px; color: var(--muted); text-decoration: none; letter-spacing: .03em; line-height: 1.2;
}
.lang-switch a.active { background: var(--blue); color: #fff; }
