:root{--bg:#f4ecdf;--card:#fbf8f2;--ink:#1f2924;--mute:#6f685d;--line:#e4d9c6;--gold:#b98a52;--gold-d:#97703d;--dark:#232b26;--ok:#2f7d4f;--warn:#b7791f;--err:#b3412f;--r:16px;--serif:'Cormorant Garamond','Playfair Display',Georgia,serif;--sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,'Noto Sans Bengali',sans-serif}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--bg);color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}
[hidden]{display:none!important}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.1}
.wrap{max-width:1160px;margin:0 auto;padding:0 20px}

/* buttons / forms */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 22px;border-radius:999px;border:1px solid transparent;font:600 14px var(--sans);cursor:pointer;transition:.15s}
.btn-dark{background:var(--dark);color:#fff}.btn-dark:hover{background:#000}
.btn-gold{background:var(--gold);color:#fff}.btn-gold:hover{background:var(--gold-d)}
.btn-line{background:transparent;border-color:var(--ink);color:var(--ink)}.btn-line:hover{background:var(--ink);color:#fff}
.btn:disabled{opacity:.6;cursor:wait}.btn.loading::after{content:"";width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:sp .7s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.field label{font-size:13px;font-weight:600;color:var(--mute)}
input,select,textarea{font:15px var(--sans);padding:11px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);width:100%}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:-1px}
input[disabled]{background:#f1eadc;color:var(--mute)}
.lang-btn{background:transparent;border:1px solid var(--line);border-radius:999px;padding:6px 14px;font:600 13px var(--sans);cursor:pointer;color:var(--ink)}
.lang-btn:hover{border-color:var(--gold)}

/* toasts / banner */
#toasts{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:8px;z-index:99}
.toast{background:var(--dark);color:#fff;padding:12px 18px;border-radius:12px;font-size:14px;max-width:340px;box-shadow:0 8px 24px #0003}.toast.err{background:var(--err)}
.setup-banner{background:#fff4d6;border-bottom:1px solid #e9cf8a;padding:10px 20px;font-size:14px;text-align:center}

/* landing */
.site-head{position:absolute;inset:0 0 auto 0;z-index:5}
.site-head .wrap{display:flex;align-items:center;gap:24px;height:76px}
.brand{display:flex;align-items:center;gap:10px;font:700 22px var(--serif);letter-spacing:.04em}
.brand img{width:30px;height:30px}
.site-nav{display:flex;gap:26px;margin-left:auto;font-size:14px;font-weight:500}
.site-nav a:hover{color:var(--gold-d)}
.head-actions{display:flex;gap:10px;align-items:center}
.hero{position:relative;min-height:640px;padding:150px 0 140px;background:#ecd8b9 url(../assets/hero.svg) center/cover;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f6ecdcf2 0%,#f6ecdc99 45%,transparent 75%)}
.hero .wrap{position:relative;z-index:2}
.hero h1{font-size:clamp(46px,8vw,92px);font-weight:500;letter-spacing:-.01em}
.hero p{max-width:440px;margin:22px 0 28px;font-size:17px;color:#3b3a33}
.hero .cta{display:flex;gap:12px;flex-wrap:wrap}
.quick{position:relative;z-index:3;margin:-70px auto 0;max-width:1000px;background:#f3e6d2;border:1px solid #fff8;border-radius:24px;padding:18px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;box-shadow:0 18px 40px #6b4e2b26}
.quick a{display:flex;gap:12px;align-items:center;padding:10px 14px;border-radius:14px}
.quick a:hover{background:#fff8}
.quick .ic{font-size:26px}.quick b{display:block;font-size:14px}.quick small{color:var(--mute);font-size:12px}
section.block{padding:84px 0 0}
.block h2{font-size:clamp(32px,4vw,46px);text-align:center;margin-bottom:36px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.step{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:28px}
.step .n{width:38px;height:38px;border-radius:50%;background:var(--gold);color:#fff;display:grid;place-items:center;font-weight:700;margin-bottom:14px}
.step h3{font-size:26px;margin-bottom:6px}.step p{color:var(--mute);font-size:15px}
.safety{background:var(--dark);color:#f3e9d8;border-radius:28px;padding:48px;text-align:center}
.safety h2{margin-bottom:14px}.safety p{max-width:640px;margin:0 auto;color:#cfc4b0}
footer.site-foot{padding:60px 0 40px;text-align:center;color:var(--mute);font-size:14px}

/* auth */
.auth-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}
.auth-art{background:#ecd8b9 url(../assets/hero.svg) 65% center/cover;position:relative;display:flex;align-items:flex-end;padding:40px}
.auth-art h2{font-size:44px;color:var(--ink);text-shadow:0 1px 0 #fff6}
.auth-box{display:flex;flex-direction:column;justify-content:center;padding:40px;max-width:460px;margin:0 auto;width:100%}
.auth-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:34px}
.auth-box h1{font-size:40px;margin-bottom:6px}.auth-box .sub{color:var(--mute);margin-bottom:24px;font-size:15px}
.auth-box .alt{margin-top:18px;font-size:14px;color:var(--mute);text-align:center}.auth-box .alt a{color:var(--gold-d);font-weight:600}
.auth-box .btn{width:100%}

/* app shell */
body.app{display:grid;grid-template-columns:250px 1fr;min-height:100vh}
#sidebar{background:var(--dark);color:#d9d0bf;padding:22px 14px;display:flex;flex-direction:column;gap:18px;position:sticky;top:0;height:100vh}
#sidebar .brand{color:#f3e9d8;padding:0 10px;font-size:21px}
#sidebar nav{display:flex;flex-direction:column;gap:3px}
#sidebar nav.nav-bottom{margin-top:auto;border-top:1px solid #ffffff1c;padding-top:12px}
#sidebar nav a{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:10px;font-size:14px}
#sidebar nav a:hover{background:#ffffff12}
#sidebar nav a.active{background:#d9c19b;color:#2a2418;font-weight:600}
#sidebar .ic{width:20px;text-align:center}
.main{min-width:0;display:flex;flex-direction:column}
#topbar{display:flex;align-items:center;gap:14px;padding:14px 28px}
.tb-spacer{flex:1}
.menu-btn{display:none;background:none;border:0;font-size:24px;cursor:pointer}
.bell-wrap{position:relative}
.bell{background:var(--card);border:1px solid var(--line);width:40px;height:40px;border-radius:50%;cursor:pointer;position:relative;font-size:16px}
.bell .dot{position:absolute;top:8px;right:9px;width:9px;height:9px;background:var(--err);border-radius:50%;border:2px solid var(--card)}
.bell-panel{position:absolute;right:0;top:48px;width:320px;max-height:420px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 36px #0002;z-index:20}
.bp-head{padding:12px 16px;font-weight:700;border-bottom:1px solid var(--line)}
.bp-item{display:block;padding:12px 16px;border-bottom:1px solid var(--line);font-size:13px}.bp-item.unread{background:#fbf3e3}
.bp-item span{display:block;color:var(--mute)}.bp-item small{color:#a39a88}.bp-empty{padding:20px;color:var(--mute);font-size:14px}
.avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 0 0 1px var(--line)}
.avatar.big{width:96px;height:96px}
.avatar-fallback{display:grid;place-items:center;background:var(--gold);color:#fff;font-weight:700;font-size:14px}
.avatar.big.avatar-fallback{font-size:30px}
#content{padding:6px 28px 40px;max-width:1100px;width:100%}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px}
.banner{border-radius:20px;padding:36px 32px;background:#d9c19b url(../assets/hero.svg) 70% 40%/cover;position:relative;overflow:hidden;margin-bottom:20px;min-height:150px}
.banner::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f6ecdcee,#f6ecdc00 70%)}
.banner>*{position:relative;z-index:1}.banner h1{font-size:36px}.banner p{color:#4a463d}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.stat .v{display:block;font:600 34px var(--serif);margin-top:6px}.stat small{color:var(--mute);font-size:13px}
.stat .v.verified{color:var(--ok)}.stat .v.pending{color:var(--warn)}.stat .v.rejected{color:var(--err)}
.cols{display:grid;grid-template-columns:1.5fr 1fr;gap:16px}
.panel h2{font-size:26px;margin-bottom:12px}
ul.list{list-style:none;padding:0}
ul.list li{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}
ul.list li:last-child{border:0}ul.list li>div{flex:1;min-width:0}
ul.list small{display:block;color:var(--mute)}ul.list time{color:#a39a88;font-size:12px;white-space:nowrap}
ul.list .ai{color:var(--gold)}ul.list .empty{color:var(--mute)}
.verify-card{background:var(--dark);color:#f3e9d8;border-radius:var(--r);padding:24px}
.verify-card h2{color:#fff}.verify-card p{color:#cfc4b0;margin-bottom:16px;font-size:14px}
.badge{display:inline-block;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:700;background:#eadfca}
.badge.verified{background:#d9efe0;color:var(--ok)}.badge.pending{background:#fbeccb;color:var(--warn)}.badge.rejected{background:#f6d9d3;color:var(--err)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.form-grid .full{grid-column:1/-1}
.avatar-row{display:flex;gap:18px;align-items:center;margin-bottom:20px}
.soon{text-align:center;padding:90px 20px}.soon h1{font-size:48px;margin-bottom:10px}.soon p{color:var(--mute);margin-bottom:24px}

@media(max-width:900px){
 .site-nav{display:none}.quick{grid-template-columns:1fr 1fr;margin:-60px 16px 0}.steps{grid-template-columns:1fr}
 .auth-page{grid-template-columns:1fr}.auth-art{display:none}
 body.app{grid-template-columns:1fr}
 #sidebar{position:fixed;left:0;top:0;z-index:30;width:260px;transform:translateX(-100%);transition:.2s}
 body.nav-open #sidebar{transform:none;box-shadow:0 0 0 100vmax #0006}
 .menu-btn{display:block}#topbar{padding:12px 16px}#content{padding:4px 16px 32px}
 .stats{grid-template-columns:1fr 1fr}.cols{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}
 .banner h1{font-size:28px}.safety{padding:32px 20px}.head-actions .btn-line{display:none}
}
@media(max-width:520px){.quick{grid-template-columns:1fr}.hero{padding-top:120px}.bell-panel{width:280px;right:-60px}}

/* Part 2 */
.tabs{display:flex;gap:6px;margin:0 0 18px;border-bottom:1px solid var(--line)}
.tabs a,.tabs button{padding:10px 16px;font:600 14px var(--sans);background:none;border:0;border-bottom:2px solid transparent;color:var(--mute);cursor:pointer}
.tabs .on{color:var(--ink);border-color:var(--gold)}
.page-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.page-head h1{font-size:36px}.page-head p{color:var(--mute);font-size:14px}
.filters{display:grid;grid-template-columns:1.2fr 1.2fr .8fr 1fr auto;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px;margin-bottom:18px}
.filters input,.filters select{padding:10px 12px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.lcard{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px;transition:.15s}
.lcard:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:0 10px 24px #6b4e2b1c}
.lcard h3{font-size:26px;margin:10px 0 4px}.lc-meta{font-size:13px;color:var(--mute)}
.lc-top{display:flex;gap:6px;flex-wrap:wrap}.lc-user{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:13px;flex-wrap:wrap}
.avatar.sm{width:28px;height:28px;font-size:11px}
.chip{background:#e3efe4;color:var(--ok);font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px}.chip.alt{background:#f3e5cc;color:var(--gold-d)}
.detail{display:grid;grid-template-columns:1.4fr 1fr;gap:16px}
.kv{display:grid;grid-template-columns:130px 1fr;gap:8px 12px;font-size:14px;margin:14px 0}.kv dt{color:var(--mute)}.kv dd{margin:0;font-weight:500}
.tip{background:#fff4d6;border-radius:12px;padding:12px 14px;font-size:13px;margin-top:14px}
.row-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.btn-sm{padding:7px 14px;font-size:13px}
.btn-red{background:#fff;border-color:var(--err);color:var(--err)}.btn-red:hover{background:var(--err);color:#fff}
.contact{background:#e3efe4;border-radius:10px;padding:8px 12px;font-size:13px;margin-top:6px;display:inline-block}
.muted{color:var(--mute);font-size:14px}
@media(max-width:900px){.filters{grid-template-columns:1fr 1fr}.filters .btn{grid-column:1/-1}.detail{grid-template-columns:1fr}}

/* Part 3 */
.nbadge{margin-left:auto;background:var(--err);color:#fff;border-radius:999px;font-size:11px;font-weight:700;padding:1px 7px}
.chat{display:grid;grid-template-columns:320px 1fr;gap:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;height:calc(100vh - 110px);min-height:420px}
.inbox{border-right:1px solid var(--line);overflow:auto}
.conv{display:flex;gap:10px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line);cursor:pointer;width:100%;background:none;border-left:0;border-right:0;border-top:0;text-align:left;font:inherit;color:inherit}
.conv:hover,.conv.on{background:#f3ead9}.conv>div{flex:1;min-width:0}.conv b{display:block;font-size:14px}
.conv small{display:block;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.conv .nbadge{margin:0}
.pane{display:flex;flex-direction:column;min-width:0;min-height:0}
.pane-head{display:flex;gap:10px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}
.pane-head .back{display:none;background:none;border:0;font-size:20px;cursor:pointer}
.msgs{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:6px;background:#f7f0e3}
.bub{max-width:75%;padding:8px 12px;border-radius:14px;font-size:14px;white-space:pre-wrap;word-break:break-word;background:#fff;border:1px solid var(--line);align-self:flex-start}
.bub.me{align-self:flex-end;background:var(--dark);color:#fff;border-color:var(--dark)}
.bub time{display:block;font-size:10px;opacity:.6;margin-top:2px}
.composer{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line)}
.composer textarea{resize:none;border-radius:20px;padding:10px 14px}
.empty-pane{margin:auto;color:var(--mute);text-align:center;padding:20px}
@media(max-width:900px){.chat{grid-template-columns:1fr;height:calc(100vh - 90px)}.chat .pane{display:none}.chat.open .inbox{display:none}.chat.open .pane{display:flex}.pane-head .back{display:block}}
