:root{--teal:#0b5351;--teal-deep:#07393c;--teal-soft:#dceee9;--mint:#f2f8f5;--ink:#10201f;--muted:#5b6e6c;--line:#d8e5e0;--amber:#e8a13c;--amber-soft:#fbf0dc;--red:#c34a36;--green:#2e7d5b;--white:#fff;--radius:14px;--shadow:0 10px 30px #07393c1a;--display:"Sora","Noto Sans Bengali",system-ui,sans-serif;--body:"Inter","Noto Sans Bengali",system-ui,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--body);color:var(--ink);background:var(--mint);font-size:15px;line-height:1.55}h1,h2,h3,h4{font-family:var(--display);letter-spacing:-.01em}button{font-family:var(--body);cursor:pointer}input,select,textarea{font-family:var(--body);border:1.5px solid var(--line);background:var(--white);width:100%;color:var(--ink);border-radius:10px;outline:none;padding:10px 12px;font-size:14px;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--teal)}label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:12px 0 5px;font-size:12.5px;font-weight:600;display:block}a{color:inherit}.btn{border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:11px 20px;font-size:14px;font-weight:600;transition:transform .1s;display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--teal);color:#fff}.btn-primary:hover{background:var(--teal-deep)}.btn-amber{background:var(--amber);color:#3b2a10}.btn-ghost{border:1.5px solid var(--line);color:var(--ink);background:0 0}.btn-ghost:hover{border-color:var(--teal);color:var(--teal)}.btn-danger{color:var(--red);background:#fdeeea}.btn-sm{border-radius:8px;padding:7px 13px;font-size:13px}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:22px}.pill{letter-spacing:.03em;border-radius:99px;padding:3px 10px;font-size:11.5px;font-weight:600;display:inline-block}.pill-teal{background:var(--teal-soft);color:var(--teal)}.pill-amber{background:var(--amber-soft);color:#8a5a10}.pill-green{color:var(--green);background:#e3f2ea}.pill-red{color:var(--red);background:#fdeeea}.muted{color:var(--muted)}.small{font-size:13px}.row{flex-wrap:wrap;gap:12px;display:flex}.row>*{flex:1;min-width:160px}.mt{margin-top:16px}.mb{margin-bottom:16px}hr.sep{border:none;border-top:1px solid var(--line);margin:18px 0}#auth,.auth-wrap{grid-template-columns:1.05fr 1fr;min-height:100vh;display:grid}.auth-left{background:linear-gradient(160deg,var(--teal-deep) 0%,var(--teal) 55%,#0e6b60 100%);color:#eaf6f1;flex-direction:column;justify-content:center;padding:56px;display:flex;position:relative;overflow:hidden}.auth-left:before{content:"";background:radial-gradient(circle at 85% 15%,#e8a13c2e,#0000 45%),repeating-linear-gradient(45deg,#0000 0 34px,#ffffff08 34px 35px);position:absolute;inset:0}.auth-left>*{position:relative}.brand{font-family:var(--display);align-items:center;gap:10px;font-size:19px;font-weight:800;display:flex}.brand .cross{background:var(--amber);color:#3b2a10;border-radius:9px;flex:none;place-items:center;width:34px;height:34px;font-size:19px;display:grid}.auth-left h1{margin:28px 0 14px;font-size:clamp(28px,3.4vw,44px);font-weight:800;line-height:1.14}.auth-left h1 em{color:var(--amber);font-style:normal}.auth-left p{color:#bfdcd3;max-width:48ch}.eco{flex-wrap:wrap;gap:8px;margin-top:26px;display:flex}.eco span{background:#ffffff17;border:1px solid #ffffff29;border-radius:99px;padding:6px 13px;font-size:12.5px}.mini-card{background:#ffffff14;border:1px solid #ffffff2e;border-radius:18px;width:330px;max-width:100%;margin-top:30px;padding:20px}.mini-card .top{letter-spacing:.14em;text-transform:uppercase;color:#bfdcd3;justify-content:space-between;font-size:11px;display:flex}.mini-card .name{font-family:var(--display);margin-top:14px;font-size:18px;font-weight:700}.mini-card .id{color:var(--amber);letter-spacing:.12em;margin-top:2px;font-size:12.5px}.mini-card .qr-dot{background:conic-gradient(#fff 25%,transparent 0 50%,#fff 0 75%,transparent 0) 0 0/14px 14px,#0b3d3b;border:3px solid #fff;border-radius:8px;width:52px;height:52px;margin-top:14px}.auth-right{justify-content:center;align-items:center;padding:36px;display:flex;overflow:auto}.auth-box{width:100%;max-width:440px}.switch-line{color:var(--muted);text-align:center;margin-top:16px;font-size:13.5px}.switch-line a{color:var(--teal);cursor:pointer;font-weight:600;text-decoration:underline}.err{color:var(--red);background:#fdeeea;border-radius:10px;margin-top:14px;padding:10px 13px;font-size:13.5px}.ok-note{color:var(--green);background:#e3f2ea;border-radius:10px;margin-top:14px;padding:10px 13px;font-size:13.5px}.langbtn{border:1.5px solid var(--line);color:var(--teal);background:#fff;border-radius:99px;padding:6px 14px;font-size:13px;font-weight:600}.shell{grid-template-columns:246px 1fr;min-height:100vh;display:grid}.side{background:var(--teal-deep);color:#cfe8df;flex-direction:column;height:100vh;padding:22px 14px;display:flex;position:sticky;top:0}.side .brand{color:#fff;padding:0 8px;font-size:16px}.side nav{flex-direction:column;gap:3px;margin-top:24px;display:flex;overflow:auto}.side nav a,.side nav .navlink{color:#cfe8df;cursor:pointer;border-radius:9px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.side nav a:hover{background:#ffffff12}.side nav a.on{background:var(--amber);color:#3b2a10;font-weight:700}.side .foot{color:#8fb8ac;margin-top:auto;padding:10px 8px;font-size:12.5px}.topbar{background:var(--white);border-bottom:1px solid var(--line);z-index:5;justify-content:space-between;align-items:center;gap:10px;padding:14px 28px;display:flex;position:sticky;top:0}.topbar .who{align-items:center;gap:10px;display:flex}.avatar{background:var(--teal);color:#fff;width:38px;height:38px;font-weight:700;font-family:var(--display);border-radius:50%;place-items:center;display:grid}.main{max-width:1120px;padding:28px}.page-h{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:18px;display:flex}.page-h h2{font-size:24px;font-weight:800}.grid2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.grid3{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.grid4{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}@media (width<=980px){.grid2,.grid3,.grid4{grid-template-columns:1fr 1fr}}@media (width<=640px){.grid2,.grid3,.grid4{grid-template-columns:1fr}}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1.5px solid var(--line);padding:8px 10px;font-size:11.5px}td{border-bottom:1px solid var(--line);vertical-align:top;padding:11px 10px}tr:last-child td{border-bottom:none}.tabs{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.tabs button{border:1.5px solid var(--line);background:var(--white);color:var(--muted);border-radius:99px;padding:8px 15px;font-size:13.5px;font-weight:600}.tabs button.on{background:var(--teal);border-color:var(--teal);color:#fff}.empty{text-align:center;color:var(--muted);padding:34px;font-size:14px}.stat{padding:18px}.stat .n{font-family:var(--display);color:var(--teal);font-size:28px;font-weight:800}.stat .l{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-top:2px;font-size:12px}.doc-item{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:15px 0;display:flex}.doc-item:last-child{border-bottom:none}.walletbig{color:#fff;border-radius:var(--radius);background:linear-gradient(135deg,#07393c,#0b5351 60%,#12705f);padding:26px}.walletbig .bal{font-family:var(--display);color:var(--amber);font-size:38px;font-weight:800}.hcard{aspect-ratio:1.586;color:#eaf6f1;width:440px;max-width:100%;box-shadow:var(--shadow);background:linear-gradient(135deg,#07393c 0%,#0b5351 52%,#12705f 100%);border-radius:20px;flex-direction:column;justify-content:space-between;padding:24px;display:flex;position:relative;overflow:hidden}.hcard:before{content:"";background:radial-gradient(circle at 88% 8%,#e8a13c47,#0000 42%),repeating-linear-gradient(-45deg,#0000 0 30px,#ffffff09 30px 31px);position:absolute;inset:0}.hcard>*{position:relative}.hcard .h-top{justify-content:space-between;align-items:flex-start;display:flex}.hcard .h-brand{font-family:var(--display);font-size:15px;font-weight:800}.hcard .h-brand span{color:var(--amber)}.hcard .chip{background:linear-gradient(135deg,#f3c87a,#e8a13c);border-radius:6px;width:42px;height:32px;box-shadow:inset 0 0 0 2px #00000026}.hcard .h-mid{justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.hcard .h-name{font-family:var(--display);font-size:20px;font-weight:700}.hcard .h-id{letter-spacing:.16em;color:var(--amber);margin-top:2px;font-size:13px}.hcard .h-meta{color:#bfdcd3;gap:18px;margin-top:10px;font-size:11.5px;display:flex}.hcard .h-meta b{color:#fff;font-size:13px;font-weight:600;display:block}.hcard .qrbox{background:#fff;border-radius:10px;flex:none;padding:7px}.hcard .qrbox canvas,.hcard .qrbox img{display:block;width:86px!important;height:86px!important}.hcard .h-foot{color:#9cc7ba;letter-spacing:.08em;text-transform:uppercase;font-size:10.5px}#scanBox,.scan-box{border:2px dashed var(--line);border-radius:14px;margin-top:12px;padding:10px}.modalback{z-index:50;background:#0720208c;justify-content:center;align-items:flex-start;padding:40px 16px;display:flex;position:fixed;inset:0;overflow:auto}.modal{background:var(--white);border-radius:16px;width:100%;max-width:560px;padding:26px}.modal h3{margin-bottom:4px;font-size:19px}.toast{background:var(--ink);color:#fff;z-index:99;box-shadow:var(--shadow);border-radius:99px;padding:12px 20px;font-size:14px;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.credbox{background:var(--amber-soft);border:1.5px dashed var(--amber);border-radius:12px;margin-top:14px;padding:16px;font-size:15px}.credbox b{font-family:var(--display)}.rx-item{grid-template-columns:2fr 1fr 1fr 2fr auto;align-items:center;gap:8px;margin-bottom:8px;display:grid}@media (width<=900px){.auth-wrap{grid-template-columns:1fr}.auth-left{min-height:280px;padding:36px}.shell{grid-template-columns:1fr}.side{z-index:40;width:246px;transition:left .2s;position:fixed;left:-266px}.side.open{left:0}#menuBtn{display:inline-flex}.main{padding:18px}.rx-item{grid-template-columns:1fr 1fr}}#menuBtn{display:none}@media print{body *{visibility:hidden}#printArea,#printArea *{visibility:visible}#printArea{width:100%;position:fixed;top:0;left:0}}
