*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans Bengali","Noto Sans",Arial,sans-serif;background:#fff;color:#1b2236;min-height:100vh}
a{color:#3b5bdb;text-decoration:none}
.bar{height:56px;display:flex;align-items:center;gap:16px;padding:0 12px;border-bottom:1px solid #e7eaf0;box-shadow:0 1px 6px rgba(13,27,62,.05);font-size:20px;font-weight:700}
.back{width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:#3b5bdb}
.back svg{width:26px;height:26px}
.auth{max-width:440px;margin:0 auto;padding:24px 20px 40px;min-height:calc(100vh - 56px);display:flex;flex-direction:column}
.logo{width:84px;height:84px;border-radius:18px;background:#0d1b3e;display:flex;align-items:center;justify-content:center;margin-bottom:26px}
h1{font-size:30px;line-height:1.2;margin:0 0 12px}
.sub{color:#6b7385;font-size:19px;line-height:1.4;margin:0 0 28px}
.btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;height:52px;border-radius:9px;font-size:19px;font-weight:700;cursor:pointer;border:2px solid transparent;font-family:inherit}
.btn.green{background:#08b60b;color:#fff}
.btn.outline{background:#fff;color:#1b2236;border-color:#1b2236;margin-top:14px}
.btn[hidden]{display:none}
.terms{display:flex;gap:12px;align-items:flex-start;margin-top:16px;font-size:18px;line-height:1.4;color:#333;cursor:pointer}
.terms input{width:26px;height:26px;flex:0 0 26px;margin:2px 0 0;accent-color:#08b60b}
.req{color:#e5484d;font-size:18px;margin:8px 0 0}
.req[hidden],.form[hidden]{display:none}
.err{background:#fdecee;color:#b4232c;border-radius:9px;padding:12px 14px;margin:14px 0 0;font-size:16px}
.form{display:flex;flex-direction:column;gap:12px;margin-top:18px}
.form input[type=text],.form input[type=email],.form input[type=password]{height:52px;border:1px solid #cfd5e1;border-radius:9px;padding:0 14px;font-size:18px;font-family:inherit;outline:none}
.form input:focus{border-color:#3b5bdb;box-shadow:0 0 0 3px rgba(59,91,219,.15)}
.form small{color:#7a8499;margin-top:-4px}
.or{display:flex;align-items:center;gap:12px;color:#7a8499;margin:18px 0 4px}
.or:before,.or:after{content:"";flex:1;height:1px;background:#e1e5ee}
.switch{margin-top:auto;padding-top:34px;text-align:right;font-size:19px;font-weight:700}
