* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-family: Arial, sans-serif;
}

body {
  min-height: 100vh;
  background: linear-gradient(135deg, #0f4c81, #1fa2ff);
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Card */
.auth-card {
  background: #fff;
  width: 100%;
  max-width: 420px;
  padding: 25px;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}

/* Heading */
.auth-card h2 {
  text-align: center;
  color: #0f4c81;
  margin-bottom: 20px;
}

/* Inputs */
.auth-card input,
.auth-card select {
  width: 100%;
  padding: 12px;
  margin-bottom: 12px;
  border-radius: 6px;
  border: 1px solid #ccc;
  font-size: 14px;
}

/* Button */
.auth-card button {
  width: 100%;
  padding: 12px;
  background: #0f4c81;
  color: #fff;
  border: none;
  border-radius: 6px;
  font-size: 16px;
  cursor: pointer;
}

.auth-card button:hover {
  background: #0b3a63;
}

/* Checkbox row */
.checkbox-line {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  margin: 10px 0;
}

.checkbox-line a {
  color: #0f4c81;
  text-decoration: none;
}

/* reCAPTCHA spacing */
.g-recaptcha {
  margin: 10px 0;
  display: flex;
  justify-content: center;
}

/* Bottom text */
.bottom-text {
  text-align: center;
  font-size: 14px;
  margin-top: 10px;
}
/* ===== clean terms line fix ===== */
.agree-label{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:14px;
  color:#444;
  line-height:1.4;
}

.agree-label input{
  width:16px;
  height:16px;
  flex-shrink:0;
  cursor:pointer;
}

.agree-label span{
  display:inline;
}

.agree-label a{
  color:#0d6efd;
  text-decoration:none;
  font-weight:500;
}

.agree-label a:hover{
  text-decoration:underline;
}

@media(max-width:480px){
  .agree-label{
    align-items:flex-start;
    font-size:13px;
  }
}
/* ===== clean terms line fix ===== */
.agree-label{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:14px;
  color:#444;
  line-height:1.4;
}

.agree-label input{
  width:16px;
  height:16px;
  flex-shrink:0;
  cursor:pointer;
}

.agree-label span{
  display:inline;
}

.agree-label a{
  color:#0d6efd;
  text-decoration:none;
  font-weight:500;
}

.agree-label a:hover{
  text-decoration:underline;
}

@media(max-width:480px){
  .agree-label{
    align-items:flex-start;
    font-size:13px;
  }
}
/* ===== clean terms line fix ===== */
.agree-label{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:14px;
  color:#444;
  line-height:1.4;
}

.agree-label input{
  width:16px;
  height:16px;
  flex-shrink:0;
  cursor:pointer;
}

.agree-label span{
  display:inline;
}

.agree-label a{
  color:#0d6efd;
  text-decoration:none;
  font-weight:500;
}

.agree-label a:hover{
  text-decoration:underline;
}

@media(max-width:480px){
  .agree-label{
    align-items:flex-start;
    font-size:13px;
  }
}
/* ===== clean terms line fix ===== */
.agree-label{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:14px;
  color:#444;
  line-height:1.4;
}

.agree-label input{
  width:16px;
  height:16px;
  flex-shrink:0;
  cursor:pointer;
}

.agree-label span{
  display:inline;
}

.agree-label a{
  color:#0d6efd;
  text-decoration:none;
  font-weight:500;
}

.agree-label a:hover{
  text-decoration:underline;
}

@media(max-width:480px){
  .agree-label{
    align-items:flex-start;
    font-size:13px;
  }
}
/* Terms & Privacy line fix */
.checkbox-line{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    margin-top:10px;
    font-size:14px;
    text-align:center;
    width:100%;
}

.checkbox-line input{
    width:16px;
    height:16px;
    cursor:pointer;
}

.checkbox-line a{
    color:#0d6efd;
    text-decoration:none;
    font-weight:500;
}

.checkbox-line a:hover{
    text-decoration:underline;
}
/* Terms & privacy line fix */
.checkbox-line{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:14px;
    line-height:1.4;
}

/* checkbox size fix */
.checkbox-line input[type="checkbox"]{
    width:16px;
    height:16px;
    margin:0;
    position:relative;
    top:0;
}

/* link style */
.checkbox-line a{
    color:#0d6efd;
    text-decoration:none;
    font-weight:500;
}

.checkbox-line a:hover{
    text-decoration:underline;
}
/* ===== MOBILE FIX FOR LOGIN / SIGNUP ===== */

@media (max-width:768px){

.main-narrow{
max-width:100%;
margin:20px auto 40px;
padding:0 16px;
}

.auth-card{
padding:18px 16px;
border-radius:14px;
}

.auth-card h1{
font-size:20px;
text-align:center;
}

.auth-card p{
font-size:12px;
text-align:center;
}

.form-group{
margin-bottom:12px;
}

label{
font-size:12px;
}

input{
width:100%;
font-size:14px;
padding:10px;
border-radius:10px;
}

.btn{
width:100%;
padding:12px;
font-size:14px;
}

.helper{
font-size:11px;
text-align:center;
}

}
