/* =============================================================================
 * ims-modern-auth.css — modernized login / auth screen
 * Drop-in for resources/views/layouts/auth.php + admin/login.php
 * Loads AFTER admin.css + the inline auth <style>, so these rules win.
 * Navy glass card · gold primary · Public Sans. No markup/PHP changes.
 * ========================================================================== */

:root{
  --primary:#E7B53C; --secondary:#0e2c44;       /* override the old blue */
  --ims-navy:#0e2c44; --ims-gold:#E7B53C; --ims-gold2:#f5d57f;
  --ims-ink:#0c1e30; --ims-muted:#8a9bb0; --ims-line:#e3e8ef;
  --ims-ui:'Public Sans',system-ui,sans-serif; --ims-mono:'IBM Plex Mono',monospace;
}

body.auth-body{ font-family:var(--ims-ui); -webkit-font-smoothing:antialiased; }

/* darken/deepen the video overlay to a branded navy wash */
body.auth-body .auth-bg-overlay{
  background:
    radial-gradient(1100px 700px at 80% -10%,rgba(231,181,60,.16),transparent 55%),
    linear-gradient(135deg,rgba(7,16,26,.90),rgba(9,28,46,.92)) !important;
}

/* the card */
body.auth-body .auth-card{
  background:rgba(255,255,255,.97);
  border:1px solid rgba(255,255,255,.6);
  border-radius:18px !important;
  padding:38px 34px 30px !important;
  box-shadow:0 30px 90px rgba(0,0,0,.55), 0 0 0 1px rgba(231,181,60,.12) !important;
  position:relative; overflow:hidden;
}
/* gold accent bar at the top of the card */
body.auth-body .auth-card::before{
  content:""; position:absolute; top:0; left:0; right:0; height:4px;
  background:linear-gradient(90deg,var(--ims-gold),var(--ims-gold2));
}

/* brand / logo block */
body.auth-body .auth-logo{ text-align:center; margin-bottom:6px; }
body.auth-body .auth-logo img{ height:46px; width:auto; }
body.auth-body .auth-logo h2{
  font-size:20px; font-weight:800; color:var(--ims-navy); letter-spacing:-.2px; margin:4px 0 0;
}
body.auth-body .auth-title{
  text-align:center; font-size:23px; font-weight:800; color:var(--ims-ink); margin:14px 0 2px; letter-spacing:-.3px;
}
body.auth-body .auth-sub{
  text-align:center; font-size:12.5px; color:var(--ims-muted); margin:0 0 22px;
}

/* fields */
body.auth-body .auth-form .field{ display:block; margin-bottom:15px; }
body.auth-body .auth-form .field > span{
  display:block; font-size:12px; font-weight:600; color:#314b66; margin-bottom:6px;
}
body.auth-body .auth-form input{
  width:100%; font-family:var(--ims-ui); font-size:14px; color:var(--ims-ink);
  background:#fff; border:1px solid #d8dfe8; border-radius:10px; padding:11px 13px;
  transition:border-color .12s, box-shadow .12s; box-sizing:border-box;
}
body.auth-body .auth-form input:focus{
  outline:none; border-color:var(--ims-gold); box-shadow:0 0 0 3px rgba(231,181,60,.20);
}

/* primary button — gold, not blue */
body.auth-body .btn-primary,
body.auth-body .btn-block{
  width:100%; font-family:var(--ims-ui); font-size:14px; font-weight:700;
  color:var(--ims-ink) !important; background:var(--ims-gold) !important;
  border:1px solid var(--ims-gold) !important; border-radius:10px !important;
  padding:12px !important; margin-top:6px; cursor:pointer; transition:filter .14s, background .14s;
}
body.auth-body .btn-primary:hover,
body.auth-body .btn-block:hover{ background:var(--ims-gold2) !important; }

/* flash messages */
body.auth-body .flash{ border-radius:10px; font-size:13px; padding:11px 14px; margin-bottom:16px; border:1px solid; }
body.auth-body .flash-success{ background:#e7f7ee; color:#1f7a3c; border-color:#7dcfa1; }
body.auth-body .flash-error{ background:#fbe9e9; color:#b3261e; border-color:#e7a6a2; }

/* footer link */
body.auth-body .auth-footer{ text-align:center; margin-top:18px; }
body.auth-body .auth-footer a{
  font-size:13px; font-weight:600; color:#0e6da6; text-decoration:none;
}
body.auth-body .auth-footer a:hover{ color:#0a527c; }
