/* ===== Fonts (keep only what you actually use) ===== */
@font-face {
  font-family: 'HelveticaNeue-Light';
  src: url("../../../testing/assets/fonts/HelveticaNeue-Light/HelveticaNeue-Light.eot");
}

/* ===== Base ===== */
:root{
  --bg: #002644;
  --brand: #193B68;
  --text: #193B68;
  --muted: #6b7280;
  --border: #e5e7eb;
  --card: #ffffff;
}

* { box-sizing: border-box; }

html, body { height: 100%; }

body{
  margin:0;
  padding:0;
  background: var(--bg);
  color: var(--text);
  font-family: 'HelveticaNeue-Light', Arial, sans-serif;
}

/* (Optional) if you have a logo in header */
header { text-align:center; padding: 14px 0 0; }

.site-logo-image { 
  max-width: 220px;
  height:auto;
  position: absolute;
  top: 15px;
  left: 15px;
}

/* ===== Layout ===== */
.wrapper{
  padding: 18px 14px 28px;
  display: flex;
  justify-content: center;
}

.login_box{
  width: 90%;
  max-width: 800px;
  padding: 5px;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 10px;
  overflow: hidden;
}

/* ===== Header ===== */
.login_header{
  background: var(--brand);
  color:#fff;
  text-align:center;
  padding: 18px 16px 16px;
  border-top-left-radius: 7px;
  border-top-right-radius: 7px;
}

.login_header img{
  max-width: 280px;
  width: 100%;
  height: auto;
}

.login_header h2{
  margin: 8px 0 0;
  font-weight: 100;
}

/* ===== Form ===== */
form { text-align: left; }

.form-group{
  padding: 16px 18px 18px;
}

label{
  display:block;
  margin: 10px 0 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--brand);
}

.required:after { content:" *"; color:red; }

input[type="text"],
input[type="email"],
input[type="date"],
select{
  width:100%;
  height: 40px;
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 0 12px;
  outline: none;
  font-size: 14px;
  background:#fff;
  transition: border-color .15s ease, box-shadow .15s ease;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="date"]:focus,
select:focus{
  border-color: #2c6dfc;
  box-shadow: 0 0 0 4px rgba(44, 109, 252, 0.15);
}

/* ===== Buttons ===== */
input[type="submit"],
input[type="button"]{
  width:100%;
  background: var(--brand);
  color:#fff;
  border: 1px solid var(--brand);
  border-radius: 8px;
  padding: 12px 14px;
  font-size: 15px;
  font-weight: 600;
  cursor:pointer;
  margin-top: 12px;
}

input[type="submit"]:hover,
input[type="button"]:hover{
  filter: brightness(1.05);
}

/* "Already have a code" link-button */
.muted-link-btn{
  display:block;
  width: 100%;
  background: transparent;
  border: none;
  padding: 10px 0 0;
  margin-top: 6px;
  color: #2563eb;
  text-decoration: underline;
  cursor: pointer;
  text-align: center;
  font-size: 14px;
}

/* If you still use .btn-secondary anywhere */
.btn-secondary{
  background: transparent;
  border: none;
  color: #2563eb;
  text-decoration: underline;
  cursor: pointer;
  width: 100%;
  text-align:center;
  padding: 10px 0 0;
}

/* ===== Messages ===== */
.error-box{
  margin-top: 10px;
  color: #b91c1c;
  font-size: 14px;
  line-height: 1.35;
}

.success-banner{
  margin-top: 12px;
  background: #e9fff0;
  border: 1px solid #b7f0c6;
  color: #1b5e20;
  padding: 12px 14px;
  border-radius: 10px;
  font-size: 14px;
  line-height: 1.35;
}

/* ===== AJAX loading state ===== */
.is-loading { opacity: .65; pointer-events:none; }

/* ===== Optional: code section spacing ===== */
.code-section{
  margin-top: 10px;
  padding-top: 6px;
  border-top: 1px dashed var(--border);
}

/* ===== Responsive ===== */
@media (max-width: 520px){
  .form-group{ padding: 14px 14px 16px; }
  .login_header{ padding: 16px 14px 14px; }
}