@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&display=swap');

body {
  font-family:'Open Sans',sans-serif;
  background:#fff;
  margin:0;
  display:flex;
  flex-direction:column;
  min-height:100vh;
}
.main {
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
}
.form-container {
  width:320px;
  text-align:center;
}

.logo img{width:160px;margin-bottom:24px;}
h1{
  font-size:24px;
  font-weight:700;
  margin:0 0 16px;
}
input {
  width:100%;
  padding:10px 12px;
  margin-top:8px;
  border:1px solid #ccc;
  border-radius:4px;
}
button {
  width:100%;
  padding:10px 12px;
  margin-top:16px;
  background:#0a58ca;
  color:#fff;
  border:none;
  border-radius:4px;
  cursor:pointer;
}
button:disabled {
  background:#9ca3af;
  cursor:not-allowed;
}
.secondary-btn {
  background:#e5e7eb;
  color:#1f2937;
  margin-top:8px;
}
.links {
  text-align:right;
  font-size:12px;
  margin-top:4px;
}
.links a { color:#0a58ca; text-decoration:none; }
.links a:hover{text-decoration:underline;}
.small-text {
  font-size:12px;
  color:#6b7280;
  margin-top:8px;
}
.captcha {
  text-align:left;
  margin-top:16px;
}

.captcha-box {
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px;
  background:#f3f4f6;
  border:1px solid #ccc;
  border-radius:4px;
  cursor:pointer;
}

.captcha-check {
  width:20px;
  height:20px;
  border:1px solid #ccc;
  border-radius:3px;
}

#captcha:checked + .captcha-box .captcha-check {
  background:#0a58ca;
}

.captcha-box img {
  height:20px;
}
.footer {
  text-align:center;
  font-size:12px;
  color:#6b7280;
  padding:16px 0;
}
.powered {
  font-size:12px;
  margin-top:16px;
  color:#6b7280;
}
.powered img{height:20px;vertical-align:middle;margin-left:4px;}

.error-box {
  margin-top:16px;
  text-align:left;
  padding:12px 16px;
  background-color:#fff5f5;
  border:1px solid #f1dbdb;
  color:#080808;
  border-radius:4px;
  font-size: small;
}

.error-heading {
  display:flex;
  align-items:center;
  font-weight:600;
  margin-bottom:4px;
}

.error-icon {
  display:inline-block;
  width:8px;
  height:8px;
  line-height:8px;
  text-align:center;
  font-size:6px;
  color:#fff;
  background-color:rgba(255, 255, 255, 0);
  border: 2px solid #dc2626;
  border-radius:50%;
  margin-right:8px;
}
