:root{--blue:#0A66FF;--blue2:#2F6BFF;--green:#2E9E44;--red:#E53935;--txt:#333;--line:#C8C8C8}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:#fff;color:var(--txt);font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans Bengali",Arial,sans-serif}
body{min-height:100vh;display:flex;justify-content:center}
.app{width:100%;max-width:480px;min-height:100vh;display:flex;flex-direction:column;position:relative;padding-bottom:40px}
[hidden]{display:none!important}
button,input{font:inherit}
/* logo */
.logo{display:flex;align-items:flex-end;justify-content:center;gap:2px;user-select:none}
.logo b{font-size:44px;line-height:1;color:var(--blue);letter-spacing:-1px}
.logo small{font-size:14px;font-weight:700;color:#222;margin-bottom:6px}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1.5px solid var(--line)}
.topbar .logo{justify-content:flex-start}.topbar .logo b{font-size:34px}
.xbtn{width:44px;height:44px;border:0;background:none;font-size:28px;cursor:pointer;color:#000}
h1.title{margin:10px 0 4px;text-align:center;font-size:22px;color:#000}
.intro{padding:0 14px;font-size:13px;line-height:1.45;color:#444;margin:0}
.intro b,.blue{color:var(--blue);font-weight:700}
/* ===== সারি / ঘর / বাটন : সব ধাপে একই মাপ ===== */
.row{display:flex;align-items:flex-start;margin-top:12px;padding:0 10px}
.lbl{width:118px;min-height:44px;display:flex;align-items:center;font-size:14px;font-weight:700;color:#444;flex:none}
.col{width:12px;min-height:44px;display:flex;align-items:center;justify-content:center;font-weight:700;color:#444;flex:none;margin-right:8px}
.fld{flex:1;min-width:0}
.box{width:100%;min-height:44px;padding:10px 12px;border:1.5px solid var(--blue);border-radius:8px;background:#fff;color:#111;font-size:14px;line-height:1.2;outline:none;display:block;text-align:left}
.box::placeholder{color:#9A9A9A}
.box:focus{box-shadow:0 0 0 3px rgba(10,102,255,.15)}
.box:disabled{opacity:.6;background:#f6f6f6}
.box.ok{color:var(--green)}
select.box,button.box{appearance:none;cursor:pointer}
.star{width:16px;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:var(--red);flex:none;margin-left:4px}
.star.ok{color:var(--green)}
.opt{min-height:44px;display:flex;align-items:center;margin-left:8px;font-size:11px;color:#777;flex:none}
.hint{margin:3px 0 0 4px;font-size:10px;font-weight:700;color:#333}
.hint.err{color:var(--red)}.hint.okc{color:var(--green)}.hint.n{font-weight:400;color:#555}
.inline{display:flex;gap:6px}
.btn{min-width:76px;min-height:40px;padding:10px 16px;border:0;border-radius:8px;background:var(--blue);color:#fff;font-size:14px;font-weight:700;cursor:pointer;line-height:1.1}
.btn.back{background:#4A4A4A}.btn.grey{background:#9E9E9E}.btn.green{background:var(--green)}
.btn.skip{background:#fff;color:var(--blue);border:1.5px solid var(--blue)}
.btn:disabled{opacity:.6;cursor:default}
.btn.pill{background:var(--blue2);border-radius:12px;min-width:84px}
.btn.pill.green{background:#1FB58A}
.nav{display:flex;justify-content:space-between;align-items:center;padding:20px 16px 0 10px}
.nav .right{display:flex;gap:10px}
.rules{margin:4px 0 0 4px;font-size:12px;line-height:1.4;white-space:pre-line}
.rules .g{color:#1B8E3E;font-weight:700}.rules .r{color:var(--red)}
.head{padding:14px 14px 0;font-size:14px;font-weight:700;color:#444}
.info{padding:4px 14px 0;font-size:12px;color:#555;margin:0}
.otp{display:flex;gap:4px;flex:1;min-width:0}
.otp input{width:0;flex:1;min-height:44px;padding:0;text-align:center;font-size:16px;font-weight:700;border:1.5px solid var(--blue);border-radius:8px;outline:none}
.agu{display:flex;gap:6px}.agu .num{min-width:44px;min-height:44px;padding:0 8px;background:#000;color:#fff;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}
/* stepper */
.stepper{display:flex;align-items:flex-start;justify-content:center;margin:16px 0 6px}
.st{width:70px;display:flex;flex-direction:column;align-items:center;position:relative}
.st i{width:38px;height:38px;border-radius:50%;border:2.5px solid var(--blue);display:flex;align-items:center;justify-content:center;font-style:normal;font-weight:700;color:var(--blue);background:#fff;z-index:1}
.st span{margin-top:6px;font-size:14px;font-weight:700;color:var(--blue)}
.st:not(:last-child)::after{content:"";position:absolute;top:18px;left:50%;width:100%;height:2.5px;background:#9CC0FF}
.st.done i{background:var(--blue);color:#fff}.st.done:not(:last-child)::after{background:var(--blue)}
.st.cur i{background:var(--blue);color:#fff;box-shadow:0 0 0 6px #D6E4FF}
/* review */
.rev{padding:8px 44px 8px 14px;position:relative}.rev+.rev{border-top:2px solid var(--blue)}
.rev .r{display:flex;padding:7px 0;align-items:center}
.rev .r span:nth-child(1){width:118px;font-size:13px;font-weight:700;color:#555;flex:none}
.rev .r span:nth-child(2){width:14px;font-weight:700;flex:none}
.rev .r span:nth-child(3){flex:1;font-size:15px;font-weight:700;color:#444;word-break:break-word}
.rev .ed{position:absolute;right:10px;top:8px;width:30px;height:30px;border:0;background:none;font-size:20px;cursor:pointer}
.terms{display:flex;align-items:center;gap:8px;padding:16px 14px 0;font-size:13px}
.terms input{width:20px;height:20px}
.foot{text-align:center;margin-top:18px;font-size:16px;font-weight:700;letter-spacing:.3px}
.foot .big{font-size:28px;margin-bottom:12px}.foot a{color:var(--blue);text-decoration:none}
/* login */
.lg-bar{display:flex;align-items:center;justify-content:center;min-height:44px;position:relative}
.lg-bar .dots{position:absolute;right:8px;top:0;width:44px;height:44px;border:0;background:none;font-size:22px;font-weight:900;cursor:pointer}
.lg-back{margin:8px 0 0 14px;width:40px;height:40px;border:0;border-radius:50%;background:#E8E8E8;font-size:20px;cursor:pointer}
.menu{position:absolute;right:8px;top:44px;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 14px rgba(0,0,0,.15);z-index:20;overflow:hidden}
.menu button{display:block;width:100%;padding:12px 18px;border:0;background:#fff;text-align:left;font-size:15px;cursor:pointer;white-space:nowrap}
.menu button:hover{background:#f2f2f2}
.lang{border:0;background:none;font-size:15px;color:#000;cursor:pointer;padding:10px}
.cards{padding:44px 28px 0}
.card{display:flex;align-items:center;gap:14px;height:92px;margin-bottom:10px;padding:0 18px 0 10px;border:2.5px solid #8A8A8A;border-radius:24px;cursor:pointer;background:#fff}
.av{width:72px;height:72px;border-radius:50%;border:2.5px solid var(--blue);display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:700;color:var(--blue);flex:none;background:#EAF1FF}
.card .nm{flex:1;min-width:0;font-size:21px;font-weight:700;color:#000;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.card .rm{border:0;background:none;color:#F44336;font-weight:700;font-size:14px;cursor:pointer;padding:8px}
.card .ch{font-size:26px;font-weight:700;color:#000}
.link{text-decoration:none;display:block;margin:0 auto;border:0;background:none;color:var(--blue);font-size:19px;font-weight:700;padding:10px;cursor:pointer;text-align:center}
.lgform{padding:70px 14px 0}
.pill-in{width:100%;height:60px;padding:0 20px;border:2.5px solid #2B2B2B;border-radius:26px;font-size:18px;outline:none;margin-bottom:11px;display:block}
.pill-in::placeholder{color:#444}
.signin{display:block;width:200px;height:46px;margin:12px auto 0;border:0;border-radius:22px;background:var(--blue);color:#fff;font-size:22px;font-weight:700;cursor:pointer}
.regnew{display:block;width:calc(100% - 28px);height:52px;margin:24px 14px 0;border:2.5px solid var(--blue);border-radius:40px;background:#fff;color:var(--blue);font-size:21px;font-weight:700;cursor:pointer}
.spacer{flex:1;min-height:20px}
.flogo{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:10px;color:var(--blue);font-size:21px;font-weight:700;letter-spacing:.12em}
.flogo i{width:32px;height:32px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:18px;letter-spacing:0}
/* forgot */
.fp-method{width:180px;min-height:44px;margin:4px 0 0 14px;padding:0 0 0 12px;border:1.5px solid #AAA;border-radius:8px;display:flex;align-items:center;justify-content:space-between;background:#fff;font-size:16px;font-weight:700;color:#444;cursor:pointer;position:relative}
.fp-method em{font-style:normal;width:26px;height:26px;margin-right:8px;border:1.5px solid #AAA;border-radius:6px;display:flex;align-items:center;justify-content:center}
.fp-menu{position:absolute;left:0;right:0;top:100%;background:#fff;border:1px solid #ddd;border-radius:8px;z-index:10;overflow:hidden}
.fp-menu div{padding:12px;font-size:16px}.fp-menu div:hover{background:#f2f2f2}
.fp-sec{padding:0 14px}
.fp-lbl{font-size:15px;font-weight:700;color:#444;padding-left:4px;margin:0 0 6px}
.fp-in{width:100%;min-height:46px;padding:10px 12px;border:1.5px solid #B0B0B0;border-radius:10px;font-size:16px;outline:none}
.fp-in.b{border-color:var(--blue2)}
.fp-row{display:flex;align-items:center;justify-content:space-between;margin-top:6px;gap:10px}
.fp-row .t{font-size:14px;font-weight:700;color:#444;padding-left:4px}
.fp-find{display:flex;align-items:center;gap:8px;min-height:48px;padding:0 10px;border:1.5px solid #9A9A9A;border-radius:28px;background:#F1F1F1}
.fp-find b{font-size:17px;color:#444;white-space:nowrap}
.fp-find input{flex:1;min-width:0;height:40px;padding:0 10px;border:1.5px solid #B0B0B0;border-radius:10px;font-size:17px;font-weight:700;color:#444;outline:none}
.fp-list{margin-top:4px;border:1px solid #DDD;border-radius:8px}
.fp-list div{padding:10px;font-size:18px;color:#2F6BFF;font-weight:700;cursor:pointer}.fp-list div.none{color:#888;font-weight:400;cursor:default}
.msg{margin:12px 14px 0;font-size:13px;color:#D32F2F}
/* loading, toast, modal */
.ld{position:fixed;inset:0;background:rgba(255,255,255,.6);display:flex;align-items:center;justify-content:center;z-index:100}
.sp{width:44px;height:44px;border:4px solid #cfd8ea;border-top-color:var(--blue);border-radius:50%;animation:s 0.8s linear infinite}@keyframes s{to{transform:rotate(360deg)}}
.toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%);max-width:90%;background:#333;color:#fff;padding:12px 16px;border-radius:10px;font-size:14px;z-index:200;text-align:center}
.mod{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:150;padding:20px}
.mod .in{background:#fff;border-radius:14px;padding:18px;width:100%;max-width:360px}
.mod p{margin:0 0 12px;font-size:14px;line-height:1.4}
.mod .acts{display:flex;gap:8px;justify-content:flex-end;margin-top:14px;flex-wrap:wrap}

/* ================= ফোন / ট্যাবলেট / ডেস্কটপ ================= */
.brand{display:none}
@media (min-width:600px){
  body{background:#EEF3FB;align-items:flex-start}
  .app{margin:28px auto;min-height:calc(100vh - 56px);background:#fff;border-radius:22px;box-shadow:0 10px 40px rgba(10,60,160,.14);overflow:hidden}
}
@media (min-width:900px){
  body{align-items:stretch;justify-content:center;gap:40px;padding:0 40px;background:linear-gradient(135deg,#E6EFFF 0%,#F8FAFF 55%,#fff 100%)}
  .brand{display:flex;flex:1;max-width:520px;flex-direction:column;justify-content:center;padding:40px 0}
  .brand .logo{justify-content:flex-start}.brand .logo b{font-size:72px}.brand .logo small{font-size:22px;margin-bottom:10px}
  .brand h2{margin:26px 0 12px;font-size:30px;line-height:1.25;color:#0B2A66}
  .brand p{margin:0 0 22px;font-size:16px;line-height:1.6;color:#44546F}
  .brand ul{margin:0;padding:0;list-style:none}
  .brand li{display:flex;align-items:center;gap:12px;margin-bottom:14px;font-size:16px;font-weight:600;color:#1F3A6E}
  .brand li i{width:34px;height:34px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-style:normal;flex:none}
  .app{flex:none;width:600px;max-width:600px;margin:32px 0;min-height:calc(100vh - 64px);padding-bottom:48px}
  .topbar .logo{visibility:hidden}            /* ডেস্কটপে লোগো বাঁ প্যানেলে; ✕ বোতাম থাকে */
  .lbl{width:150px}.rev .r span:nth-child(1){width:150px}
  .intro{font-size:14px}.cards{padding-left:60px;padding-right:60px}
  .lgform{padding-left:50px;padding-right:50px}.regnew{width:calc(100% - 100px);margin-left:50px;margin-right:50px}
  h1.title{margin-top:26px}
}
