/* VintoxBd — standalone auth pages (locked design: gov font, zero emoji, compact) */
:root{--navy:#0B192C;--ink:#16233A;--slate:#4E6075;--mut:#8292A6;--blue:#0271E8;--blue-dark:#025CC7;
  --blue-soft:#EAF3FF;--line:#E2E8F1;--soft:#F5F8FC;--ok:#15803D;--bad:#C5302E;--bad-soft:#FCEBEA}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Noto Sans Bengali',system-ui,sans-serif;background:linear-gradient(180deg,#F5F8FC,#EDF3FA);
  min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--ink);padding:20px;
  -webkit-font-smoothing:antialiased}
.auth-wrap{width:100%;max-width:400px}
.auth-card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 30px rgba(11,25,44,.08);
  padding:26px 26px 20px}
.auth-brand{display:flex;align-items:center;gap:10px;margin-bottom:18px;text-decoration:none}
.auth-brand .mark{width:34px;height:34px;border-radius:9px;background:var(--navy);color:#fff;display:grid;
  place-items:center;font-weight:800;font-size:17px}
.auth-brand .nm{font-weight:700;color:var(--navy);font-size:16px}
h1{font-size:21px;color:var(--navy);margin-bottom:2px}
.sub{color:var(--slate);font-size:13.5px;margin-bottom:18px}
.aerr{background:var(--bad-soft);color:var(--bad);border:1px solid #F5CDCB;border-radius:10px;
  padding:10px 14px;font-size:13.5px;margin-bottom:14px}
.fld{display:block;margin-bottom:14px}
.fld span{display:block;font-weight:600;font-size:13px;color:var(--navy);margin-bottom:5px}
.fld input{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 13px;font:inherit;
  font-size:15px;color:var(--ink);background:#fff;outline:none;transition:border-color .15s}
.fld input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}
.btn-p{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:#fff;
  border:none;border-radius:10px;font-weight:700;font-size:15px;padding:12px;cursor:pointer;margin-top:4px;
  transition:background .15s}
.btn-p:hover{background:var(--blue-dark)}
.btn-block{width:100%}
.btn-p:disabled{opacity:.6;cursor:default}
.switch{text-align:center;font-size:13.5px;color:var(--slate);margin-top:16px}
.switch a{color:var(--blue);font-weight:600}
.back{text-align:center;font-size:13px;margin-top:10px}
.back a{color:var(--mut)}
.back a:hover{color:var(--blue)}
/* ---- brand logo (auth) ---- */
.auth-brand img.logo{display:block;width:36px;height:36px;border-radius:9px;object-fit:contain}

/* ---- social divider + Google button ---- */
.sep{display:flex;align-items:center;gap:10px;margin:18px 0 12px;color:var(--mut);
  font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}
.sep::before,.sep::after{content:"";flex:1;height:1px;background:var(--line)}
.gbtn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;border:1px solid var(--line);
  border-radius:10px;padding:10px 13px;font:inherit;font-weight:600;font-size:14.5px;color:#333;background:#fff;
  cursor:pointer;transition:background .15s,border-color .15s;text-align:center}
.gbtn:hover{background:#F6F8FB;border-color:#CDD5E0}
.gbtn:disabled{opacity:.6;cursor:default}
.gbtn svg{flex:0 0 auto}
.aok{background:#EAF7EF;color:#1C7C3E;border:1px solid #C9EBD6;border-radius:10px;
  padding:10px 12px;font-size:13.5px;margin-bottom:14px}
