/* assets/auth.css — Red/Black/White theme, Calibri font */
:root{
  --red:#CC0000; --red-dark:#880000; --black:#000000;
  --white:#FFFFFF; --gray-light:#F5F5F5; --border:#BFBFBF; --text-dark:#1A1A1A;
  /* legacy aliases used by login.php inline styles */
  --blue-mid:#CC0000; --blue-header:#000000;
}
body.auth-body{
  font-family:'Calibri',Arial,sans-serif;
  background:linear-gradient(135deg,#000000 0%,#CC0000 60%,#880000 100%);
  min-height:100vh; display:flex; align-items:center; justify-content:center; padding:20px;
}
.auth-wrap{ width:100%; max-width:440px; }
.auth-logo{ text-align:center; margin-bottom:22px; }
.auth-logo .logo-badge{
  display:inline-flex; align-items:center; gap:10px;
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.35);
  padding:10px 20px; border-radius:6px;
}
.auth-logo .jc-tag{
  background:#FFFFFF; color:#CC0000;
  font-family:'Calibri',Arial,monospace; font-weight:700; font-size:16px;
  padding:3px 10px; border-radius:3px;
}
.auth-logo h1{ color:#fff; font-size:15px; font-weight:700; letter-spacing:.5px; margin:0; }
.auth-card{ border:none; border-radius:8px; box-shadow:0 12px 40px rgba(0,0,0,.4); overflow:hidden; }
.auth-card .card-header{
  background:#000000; color:#fff; padding:18px 24px; border:none;
  border-bottom:3px solid #CC0000;
}
.auth-card .card-header h2{ font-size:17px; font-weight:700; margin:0; color:#fff; }
.auth-card .card-header p{ font-size:12px; opacity:.7; margin:2px 0 0; }
.auth-card .card-body{ padding:24px; background:#FFFFFF; }
.form-label{
  font-size:11px; font-weight:700; color:#000000;
  text-transform:uppercase; letter-spacing:.5px; margin-bottom:5px;
  font-family:'Calibri',Arial,sans-serif;
}
.form-control{
  font-family:'Calibri',Arial,sans-serif;
  border:1.5px solid #BFBFBF;
}
.form-control:focus{ border-color:#CC0000; box-shadow:0 0 0 .2rem rgba(204,0,0,.15); }
.btn-jc{
  background:linear-gradient(135deg,#000000,#CC0000);
  color:#FFFFFF; font-weight:700; letter-spacing:.5px; border:none;
  font-family:'Calibri',Arial,sans-serif;
}
.btn-jc:hover{ filter:brightness(1.15); color:#FFFFFF; }
.btn-jc-green{ background:linear-gradient(135deg,#880000,#CC0000); color:#fff; font-weight:700; border:none; font-family:'Calibri',Arial,sans-serif; }
.btn-jc-green:hover{ filter:brightness(1.1); color:#fff; }
.auth-foot{
  text-align:center; padding:14px 24px; border-top:1px solid #eee;
  font-size:12px; color:#666; background:var(--gray-light);
  font-family:'Calibri',Arial,sans-serif;
}
.auth-foot a{ color:#CC0000; font-weight:700; text-decoration:none; }
.auth-foot a:hover{ text-decoration:underline; }
.pw-wrap{ position:relative; }
.pw-toggle{
  position:absolute; right:10px; top:50%; transform:translateY(-50%);
  background:none; border:none; cursor:pointer; font-size:14px; color:#777; padding:2px 6px;
}
.otp-input{ letter-spacing:8px; font-family:'Calibri',Arial,monospace; font-size:22px; text-align:center; }
.field-err{ color:#CC0000; font-size:11px; margin-top:3px; display:none; }
/* Bootstrap overrides */
.btn-outline-primary{ color:#CC0000; border-color:#CC0000; font-family:'Calibri',Arial,sans-serif; }
.btn-outline-primary:hover{ background:#CC0000; border-color:#CC0000; color:#fff; }
.alert-info{ border-color:#CC0000; }
.form-check-input:checked{ background-color:#CC0000; border-color:#CC0000; }
