  :root{--ink:#10243A;--navy:#0B3D5C;--navy-deep:#072A40;--marigold:#F2A900;--sky:#E8F1F7;--paper:#F7F9FB;--line:#D7E0E8;--muted:#526275;--bad:#B42318;
    --display:'Anek Bangla','Noto Sans Bengali',sans-serif;--body:'Noto Sans','Noto Sans Bengali',system-ui,sans-serif}
  *{box-sizing:border-box}
  body{margin:0;min-height:100vh;display:grid;grid-template-columns:1fr 1fr;font-family:var(--body);color:var(--ink);background:var(--paper);font-size:16px;line-height:1.6}
  :focus-visible{outline:3px solid var(--marigold);outline-offset:2px;border-radius:4px}
  .side{background:var(--navy-deep);color:#fff;padding:40px 56px;display:flex;flex-direction:column}
  .brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font:700 21px var(--display)}
  .brand-mark{width:30px;height:38px;border-radius:5px;background:#fff;position:relative;flex:none}
  .brand-mark::before{content:"";position:absolute;inset:0 0 auto 0;height:13px;background:var(--marigold);border-radius:5px 5px 0 0}
  .brand-mark::after{content:"";position:absolute;left:9px;top:17px;width:12px;height:12px;border-radius:50%;background:var(--navy)}
  .side-body{margin:auto 0;max-width:30rem}
  .side h2{font:800 clamp(30px,3.4vw,44px)/1.15 var(--display);margin:0}
  .side p{color:#C9D6E2;margin:16px 0 0}
  .side ul{list-style:none;padding:0;margin:28px 0 0;color:#E3EBF2}
  .side li{padding:9px 0 9px 28px;position:relative;border-bottom:1px solid rgba(255,255,255,.12)}
  .side li::before{content:"";position:absolute;left:4px;top:17px;width:11px;height:6px;border-left:2px solid var(--marigold);border-bottom:2px solid var(--marigold);transform:rotate(-45deg)}
  .main{display:flex;align-items:center;justify-content:center;padding:40px 20px}
  form{width:100%;max-width:520px}
  h1{font:700 32px/1.2 var(--display);margin:0}
  .sub{color:var(--muted);margin:8px 0 28px}
  label{display:block;font-size:14px;font-weight:600;margin:0 0 6px}
  .field{margin-bottom:18px}
  input,select{font:inherit;width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}
  select{appearance:auto}
  .two{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
  @media (max-width:480px){.two{grid-template-columns:1fr}}
  .hint{font-size:13px;color:var(--muted);margin-top:4px}
  .terms{display:flex;gap:10px;align-items:flex-start;font-size:14px;font-weight:400;margin:4px 0 22px}
  .terms input{width:auto;margin-top:4px}
  input:focus,select:focus{outline:2px solid var(--navy);border-color:var(--navy)}
  .pw{position:relative}
  .pw input{padding-right:72px}
  .pw button{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--navy);font:600 13px var(--body);cursor:pointer;padding:6px 8px}
  .row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:-4px 0 22px;font-size:14px}
  .row label{display:flex;align-items:center;gap:8px;font-weight:400;margin:0}
  .row input{width:auto}
  a{color:var(--navy)}
  .submit{width:100%;font:600 16px var(--body);padding:13px;border:0;border-radius:10px;background:var(--navy);color:#fff;cursor:pointer}
  .submit:hover{background:var(--navy-deep)}
  .alt{text-align:center;margin-top:22px;color:var(--muted);font-size:15px}
  .msg{display:none;margin-top:18px;padding:12px 14px;border-radius:10px;background:var(--sky);color:var(--navy);font-size:14px}
  .msg.show{display:block}
  .back{display:inline-block;margin-bottom:28px;font-size:14px;text-decoration:none;color:var(--muted)}
  .back:hover{color:var(--navy)}
  @media (max-width:860px){body{grid-template-columns:1fr}.side{padding:20px}.side-body{display:none}}
  .alert{padding:12px 14px;border-radius:10px;font-size:14px;margin:0 0 18px}
  .alert.no{background:#FBE9E7;color:#B42318}
  .alert.ok{background:#E5F3EB;color:#1E7A4C}
  .alert ul{margin:6px 0 0;padding-left:18px}
