:root{
  --navy-deep:#0A1B33; --navy-mid:#122B4D; --navy-card:#173763;
  --blue-signal:#2C6FD1; --blue-bright:#4C8DF0; --amber:#F2A73B;
  --green:#25D366; --paper:#F5F6F8; --white:#FFFFFF; --ink:#10151F;
  --steel:#5C6B7A; --line:#DDE2E8; --line-dark:#28406A; --danger:#F26A6A;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{background:var(--navy-deep);color:var(--ink);font-family:'IBM Plex Sans',Arial,sans-serif;line-height:1.5;}
.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;}
.auth-card{background:var(--white);width:100%;max-width:400px;padding:36px 32px;border-radius:4px;}
.auth-logo{display:flex;justify-content:center;margin-bottom:20px;}
.auth-title{font-family:'Barlow Condensed',Arial,sans-serif;font-weight:800;text-transform:uppercase;font-size:22px;color:var(--navy-deep);text-align:center;margin-bottom:6px;}
.auth-sub{text-align:center;color:var(--steel);font-size:13.5px;margin-bottom:24px;}
.field{margin-bottom:16px;}
.field label{display:block;font-size:11.5px;color:var(--steel);letter-spacing:0.04em;text-transform:uppercase;margin-bottom:6px;}
.field input{width:100%;border:1px solid var(--line);border-radius:3px;padding:11px 12px;font-size:14px;font-family:inherit;}
.field input:focus{outline:2px solid var(--blue-bright);outline-offset:1px;}
.btn-primary{width:100%;background:var(--blue-signal);color:var(--white);border:none;padding:12px;font-weight:600;font-size:14.5px;border-radius:3px;cursor:pointer;transition:background .15s;}
.btn-primary:hover{background:var(--blue-bright);}
.btn-primary:disabled{opacity:.6;cursor:not-allowed;}
.auth-links{text-align:center;margin-top:18px;font-size:13px;}
.auth-links a{color:var(--blue-signal);text-decoration:none;}
.auth-links a:hover{text-decoration:underline;}
.form-msg{font-size:13px;padding:10px 12px;border-radius:3px;margin-bottom:16px;}
.form-msg.error{background:#FDECEC;color:#B23434;}
.form-msg.ok{background:#E7F9EF;color:#1D8348;}
