/* ─────────────────────────────────────
   লোক চাই টিউটর পোর্টাল
───────────────────────────────────── */
:root{
  --pr:var(--teal600);--pr-d:var(--teal800);--pr-l:var(--teal50);
  /* টিল র‍্যাম্প — ৫০ (lightest) → ৯০০ (darkest) — premium reskin: deepened/desaturated ink-green */
  --teal50:#EEF4F1;--teal100:#B9D6C8;--teal200:#7FB89E;--teal400:#3C8468;
  --teal600:#0B4A3A;--teal800:#073328;--teal900:#052620;
  --green:var(--teal600);--green-l:var(--teal50);
  --gold:#B8894A;--gold-d:#8A6A1F;--gold-l:#F5EBD8;
  /* সেমান্টিক রং — success/warning/error/info, UI অর্থ বহন করে, ব্র্যান্ড রং না */
  --success:#15803D;--success-l:#ECFDF5;--success-d:#166534;
  --warning:#B8851F;--warning-l:#FEF3C7;--warning-d:#92660F;
  --error:#DC2626;--error-l:#FEF2F2;--error-d:#991B1B;
  --info:#0369A1;--info-l:#EFF6FF;--info-d:#075985;
  --gr:var(--success);--gr-l:var(--success-l);
  --rd:var(--error);--rd-l:var(--error-l);
  --g50:#F8FAFC;--g100:#F1F5F9;--g200:#E2E8F0;--g300:#CBD5E1;
  --g400:#64748B;--g500:#64748B;--g600:#475569;--g800:#1E293B;--g900:#0F172A;
  --r6:6px;--r10:10px;--r16:16px;--r-full:999px;
  /* শ্যাডো স্কেল — ৩ স্টেপ — premium reskin: softer, more diffused, tinted with brand ink */
  --s1:0 1px 2px rgba(11,74,58,.05);--s2:0 10px 24px -8px rgba(11,74,58,.14);--s3:0 30px 60px -20px rgba(11,74,58,.28);
  /* মোশন টোকেন */
  --dur1:120ms;--dur2:200ms;--ease:cubic-bezier(.4,0,.2,1);
  --bn:'Noto Sans Bengali',sans-serif;--en:'Noto Sans Bengali',sans-serif;
  --bn-display:'Hind Siliguri',var(--bn);
  /* টাইপ স্কেল — ৬ স্টেপ, এর বাইরে নতুন font-size যুক্ত করা এড়িয়ে চলুন */
  --fs-xs:12px;--fs-sm:13px;--fs-base:14px;--fs-md:16px;--fs-lg:20px;--fs-xl:24px;--fs-2xl:32px;
  /* স্পেসিং — 4px grid */
  --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
body{line-height:1.65}
h1,h2,h3,.h-display{font-family:var(--bn-display);font-weight:700}
.ic-svg{width:16px;height:16px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px;margin-right:3px}
.bn-ic .ic-svg{width:22px;height:22px;margin-right:0;display:block;margin:0 auto;overflow:visible}
.fab .ic-svg,#mob-btn .ic-svg{margin-right:5px}
body{background:var(--g50);color:var(--g800);font-family:var(--bn);line-height:1.5;-webkit-font-smoothing:antialiased;padding-top:62px;display:flex;flex-direction:column;min-height:100vh}
/* ── established "sticky footer" flex-pattern — কম-content-এর পেজে (যেমন
   খালি বুস্ট-পেজ, কোনো-বুকিং-নেই-অবস্থা) site-footer viewport-এর মাঝামাঝি বসে
   যাচ্ছিল, প্রকৃত নিচে না গিয়ে। #main-content (সবগুলো .view-section ধরে রাখে)
   flex:1 দিয়ে অবশিষ্ট জায়গা শুষে নেয়, footer-কে সবসময় viewport-bottom-এ ঠেলে
   দেয় — কিন্তু লম্বা-content-এর পেজে আগের 40px breathing-room অপরিবর্তিত থাকে।
   navbar/modal/toast/FAB/bottom-nav সবই position:fixed, flex-flow-এর বাইরে,
   তাই সম্পূর্ণ অপ্রভাবিত ── */
#main-content{flex:1}
button,input,select,textarea{font-family:var(--bn);font-size:14px}
.link{color:var(--pr);cursor:pointer;font-weight:600}

/* ── NAVBAR ── */
.navbar{position:fixed;top:0;left:0;right:0;height:62px;background:#fff;border-bottom:1px solid var(--g200);z-index:100;display:flex;align-items:center}
.nav-inner{width:100%;max-width:1180px;margin:0 auto;padding:0 16px;display:flex;align-items:center;gap:6px}
.nav-back{font-size:12px;font-weight:600;color:var(--green);text-decoration:none;padding:5px 11px;border-radius:50px;background:var(--green-l);white-space:nowrap}
.logo{font-family:var(--bn);font-weight:800;font-size:18px;color:var(--green);cursor:pointer;margin-left:4px;white-space:nowrap}
.logo span{font-size:10px;color:var(--g400);font-weight:400;font-family:var(--bn);margin-left:6px}
.nav-links{display:flex;align-items:center;gap:2px;margin-left:auto}
.nb{background:none;border:none;padding:8px 11px;border-radius:var(--r6);color:var(--g600);font-weight:500;font-size:13.5px;cursor:pointer;white-space:nowrap}
.nb:hover{background:var(--g100)}
.nb.on{background:var(--pr-l);color:var(--pr);font-weight:600}
.btn-sec{background:none;border:1.5px solid var(--g200);color:var(--g600);padding:7px 14px;border-radius:var(--r6);font-weight:600;font-size:13px;cursor:pointer}
.btn-sec:hover{border-color:var(--pr);color:var(--pr)}
.btn-pr{background:var(--pr);color:#fff;border:none;padding:12px 18px;min-height:44px;border-radius:var(--r6);font-weight:600;font-size:13.5px;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:.15s}
.btn-pr:hover{background:var(--pr-d)}
.btn-pr:disabled{opacity:.6;cursor:wait}
#mob-btn{display:none;background:none;border:none;font-size:22px;color:var(--g600);cursor:pointer;padding:11px 14px;min-height:44px;min-width:44px}

/* ── MOBILE MENU ── */
.mob-menu{position:fixed;top:62px;left:0;right:0;background:#fff;border-bottom:1px solid var(--g200);box-shadow:var(--s2);z-index:99;display:none;flex-direction:column;padding:8px}
.mob-menu.open{display:flex}
.mob-item{background:none;border:none;padding:13px 16px;text-align:left;font-size:15px;color:var(--g600);border-radius:var(--r6);cursor:pointer}
.mob-item:hover{background:var(--pr-l);color:var(--pr)}
.bottom-nav{display:none}
@media(max-width:740px){
  .bottom-nav{
    display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;
    background:#fff;border-top:1px solid var(--g200);
    padding:6px 4px calc(6px + env(safe-area-inset-bottom, 0px));
    box-shadow:0 -2px 10px rgba(0,0,0,.04);
  }
  .bn-item{
    flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:2px;min-height:48px;padding:4px 2px;background:none;border:none;cursor:pointer;
    color:var(--g500);border-radius:var(--r6);
  }
  .bn-item.on{color:var(--pr)}
  .bn-ic{font-size:19px;line-height:1}
  .bn-lb{font-size:12px;font-weight:600;line-height:1}
  /* bottom-nav-এর জন্য পেজ-কন্টেন্টে নিচে যথেষ্ট জায়গা রাখা, যাতে কোনো content
     এর পেছনে চাপা না পড়ে — চ্যাট-থ্রেড খোলা থাকলে bottom-nav hide হয় (JS),
     তখন এই padding-ও বাতিল করি (body.chat-thread-active), নাহলে chat-input-footer-এর
     নিচে অপ্রয়োজনীয় ফাঁকা জায়গা থেকে যেত */
  body{padding-bottom:calc(58px + env(safe-area-inset-bottom, 0px))}
  body.chat-thread-active{padding-bottom:0}
  /* ── "✏️ পোস্ট করুন" FAB — bottom-nav যুক্ত হওয়ার আগে bottom:64px calibrate করা
     হয়েছিল; এখন bottom-nav (mobile) এর সাথে crowd/overlap করছিল, তাই এখানে আলাদাভাবে
     উপরে তুলে দেওয়া হলো (bottom-nav visible থাকলে), এবং thread-open অবস্থায়
     (bottom-nav hidden, chat-input-footer visible) আরেকটা নির্দিষ্ট মান ── */
  .fab{bottom:calc(74px + env(safe-area-inset-bottom, 0px))}
  body.chat-thread-active .fab{bottom:calc(90px + env(safe-area-inset-bottom, 0px))}
}

/* ── VIEWS ── */
.view{display:none}
.view.on{display:block}
.sec{max-width:880px;margin:0 auto;padding:16px 16px 90px}

/* ── HERO ── */
.hero{background:linear-gradient(170deg,#0F5544 0%,#0B4A3A 55%,#073328 100%);padding:38px 16px 28px;text-align:center}
.hero-wave{height:22px;background:linear-gradient(170deg,#0F5544 0%,#073328 100%);clip-path:ellipse(55% 100% at 50% 0%);margin-top:-1px;margin-bottom:0}
.hero h1{font-family:var(--en);font-size:clamp(22px,4.2vw,34px);font-weight:800;color:#fff;margin-bottom:8px;line-height:1.25}
.hero h1 em{font-style:normal;color:#D9C08A}
.hero p{font-size:14px;color:rgba(255,255,255,.78);margin-bottom:22px}
.search-wrap{position:relative;max-width:560px;margin:0 auto}
.search-wrap input{width:100%;padding:14px 94px 14px 44px;border:none;border-radius:var(--r16);font-size:14.5px;outline:none;box-shadow:0 6px 24px rgba(0,0,0,.18)}
.search-wrap .ic{position:absolute;left:15px;top:50%;transform:translateY(-50%);font-size:16px;pointer-events:none}
.search-wrap button{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:var(--pr);color:#fff;border:none;border-radius:var(--r10);padding:8px 16px;font-weight:600;font-size:13px;cursor:pointer}
.search-hint{font-size:12px;color:rgba(255,255,255,.55);margin-top:10px}
.hero-tutor-cta{font-size:12px;color:rgba(255,255,255,.7);margin-top:8px}
.hero-tutor-cta .link{color:#D9C08A;font-weight:600;cursor:pointer}
.hero-tutor-cta .link:hover{text-decoration:underline}

/* ── FILTER BAR ── */
.filter-bar{background:#fff;border:1.5px solid var(--g200);border-radius:var(--r16);padding:10px 12px;margin-bottom:12px;display:flex;gap:7px;flex-wrap:wrap;align-items:center;box-shadow:var(--s1)}
.filter-bar select{appearance:none;border:1.5px solid var(--g200);border-radius:999px;padding:7px 28px 7px 13px;font-size:12.5px;color:var(--g600);background:var(--g50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='6'%3E%3Cpath d='M0 0l4.5 6L9 0z' fill='%2394A3B8'/%3E%3C/svg%3E") no-repeat right 11px center;cursor:pointer;outline:none;max-width:150px}
.filter-bar select:focus,.filter-bar select.active{border-color:var(--pr);background-color:var(--pr-l);color:var(--pr)}
.filter-bar input[type="text"],.filter-bar input[type="number"]{border:1.5px solid var(--g200);border-radius:999px;padding:7px 13px;font-size:12.5px;color:var(--g600);outline:none;background:var(--g50)}
.fstep{display:flex}
.fstep-more{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.seats-toggle{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--g700);background:#fff;border:1.5px solid var(--g200);border-radius:10px;padding:7px 12px;cursor:pointer}
.seats-toggle input{width:15px;height:15px;cursor:pointer}
.sort-bar{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
/* ── Skill group shortcut bar ── */
.mode-pills{display:flex;background:var(--g100);border-radius:999px;padding:3px;gap:2px;flex-shrink:0}
.gps-btn{width:100%;border:1.5px solid var(--pr);background:var(--pr-l);color:var(--pr);border-radius:10px;padding:11px;font-size:13.5px;font-weight:600;cursor:pointer;font-family:inherit}
.gps-btn:hover{background:#d8efe3}
.gps-link{border:none;background:none;color:var(--pr);font-size:12px;font-weight:600;text-transform:none;letter-spacing:normal;cursor:pointer;font-family:inherit;padding:0;display:inline-flex;align-items:center}
.gps-link:hover{text-decoration:underline}
.mode-pill{border:none;background:none;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600;color:var(--g500);cursor:pointer;font-family:inherit;white-space:nowrap}
.mode-pill.on{background:#fff;color:var(--pr);box-shadow:0 1px 3px rgba(0,0,0,.1)}
.mode-pill-single{border:1.5px solid var(--g200);background:#fff;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600;color:var(--g500);cursor:pointer;font-family:inherit;white-space:nowrap;flex-shrink:0}
.mode-pill-single.on{border-color:var(--pr);background:var(--pr-l);color:var(--pr)}
.f-check-sm{padding:5px 9px;font-size:12px}
.f-sort-inline{appearance:none;border:1.5px solid var(--g200);border-radius:999px;padding:6px 24px 6px 10px;font-size:12px;color:var(--g600);background:var(--g50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='6'%3E%3Cpath d='M0 0l4.5 6L9 0z' fill='%2394A3B8'/%3E%3C/svg%3E") no-repeat right 8px center;cursor:pointer;outline:none;max-width:130px;flex-shrink:0}
.f-sort-inline:focus{border-color:var(--pr)}
.f-pagesize{appearance:none;border:1.5px solid var(--g200);border-radius:999px;padding:7px 28px 7px 13px;font-size:12.5px;color:var(--g600);background:var(--g50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='6'%3E%3Cpath d='M0 0l4.5 6L9 0z' fill='%2394A3B8'/%3E%3C/svg%3E") no-repeat right 11px center;cursor:pointer;outline:none}
.pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 0;margin-top:8px}
.pg-btn{border:1.5px solid var(--g200);border-radius:999px;padding:8px 16px;font-size:13px;background:#fff;cursor:pointer;color:var(--g600)}
.pg-btn:disabled{opacity:.4;cursor:default}
.pg-btn:not(:disabled):hover{border-color:var(--pr);color:var(--pr)}
.pg-info{font-size:13px;color:var(--g500)}
.row-poster{display:flex;align-items:center;gap:8px;margin:3px 0 4px;flex-wrap:wrap}
.poster-name{font-size:12.5px;font-weight:600;color:var(--g800)}
.poster-trust{font-size:12px;color:var(--g500)}
.poster-rating{font-size:12px;color:var(--gold-d);font-weight:600}
.row-inst{font-size:12px;color:var(--g500);margin:1px 0 2px}
.row-poster-subj{font-size:12px;color:var(--g700);font-weight:500;margin:1px 0}
.row-av-photo{overflow:hidden;font-size:0}
/* redesigned name row */
.row-poster2{display:flex;align-items:center;gap:4px;margin:2px 0 3px;flex-wrap:wrap}
.row-poster2 .poster-name{font-size:13px;font-weight:700;color:var(--g900);margin-right:3px}
.poster-name-link{cursor:pointer}
.vck{font-size:10px;font-weight:600;padding:1px 5px;border-radius:999px}
.vck.gender-female{background:#fce7f3;color:#9d174d}
.vck.gender-male{background:#dbeafe;color:#1e40af}
.pds-gender-pill{font-size:12px;font-weight:600;padding:1px 7px;border-radius:99px;vertical-align:middle;margin-left:4px}
.pds-gender-pill.female{background:#fce7f3;color:#9d174d}
.pds-gender-pill.male{background:#dbeafe;color:#1e40af}
.vck.nid,.vck.ph,.vck.em{background:#EEF4F1;color:#0B4A3A}
.vck.rat{background:#fef3c7;color:#92400e}
.vck.tru{padding:1px 6px}
.vck.tru-hi{background:#EEF4F1;color:#0B4A3A}
.vck.tru-mid{background:#fef3c7;color:#92400e}
.vck.tru-lo{background:#f3f4f6;color:var(--g500)}
/* info line: exp · subjects · medium */
.row-info{font-size:12px;color:var(--g500);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.detail-btn{border:none;background:none;font-size:12px;color:var(--pr);cursor:pointer;padding:2px 0;white-space:nowrap;font-weight:600}
.search-hint em{font-style:normal;color:var(--pr);font-weight:600}
.f-check{display:inline-flex;align-items:center;gap:5px;border:1.5px solid var(--g200);border-radius:999px;padding:7px 13px;font-size:12.5px;color:var(--g600);cursor:pointer;background:var(--g50)}
.f-check input{accent-color:var(--pr);cursor:pointer}
.f-check:has(input:checked){border-color:var(--pr);background-color:var(--pr-l);color:var(--pr)}
.f-salary-custom{display:none;align-items:center;gap:5px}
.f-salary-custom input{width:64px;border:1.5px solid var(--g200);border-radius:999px;padding:7px 10px;font-size:12.5px;color:var(--g600);outline:none;background:var(--g50)}
.f-salary-custom input:focus{border-color:var(--pr);background:#fff}
.f-salary-custom span{font-size:12px;color:var(--g400)}
.mode-row{display:flex;flex-direction:column;gap:7px}
.mode-chk{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--g600);border:1.5px solid var(--g200);border-radius:10px;padding:9px 11px;cursor:pointer}
.mode-chk input{accent-color:var(--pr);width:15px;height:15px;cursor:pointer}
.mode-chk:has(input:checked){border-color:var(--pr);background:var(--pr-l)}
.grp-row{display:flex;gap:6px;background:var(--g50);border-radius:999px;padding:4px}
.grp-btn{flex:1;padding:8px 6px;border:none;border-radius:999px;background:none;font-size:12.5px;font-weight:600;color:var(--g500);cursor:pointer;font-family:inherit}
.grp-btn.on{background:var(--pr);color:#fff}
#clear-btn{display:none;background:none;border:1.5px solid var(--g300);border-radius:999px;padding:6px 13px;font-size:12px;color:var(--g500);cursor:pointer;align-items:center;gap:4px}
#clear-btn:hover{border-color:var(--rd);color:var(--rd)}
.list-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding:0 2px}
.sort-select{font-family:var(--bn);font-size:12.5px;font-weight:600;color:var(--g600);background:#fff;border:1px solid var(--g200);border-radius:var(--r6);padding:5px 8px;cursor:pointer;outline:none}
.sort-select:focus{border-color:var(--pr)}
#list-count{font-size:12.5px;color:var(--g400)}

/* ── ROW LIST ── */
.row-list{border:1.5px solid var(--g200);border-radius:var(--r16);overflow:hidden;background:#fff}
.prow{padding:14px 16px;cursor:pointer;display:flex;flex-direction:column;gap:4px;border-radius:14px;border:1px solid var(--g100);margin:0 10px 8px;box-shadow:0 1px 2px rgba(11,74,58,.04),0 8px 20px -8px rgba(11,74,58,.10);transition:border-color .15s,box-shadow .15s,background .12s}
.prow-inner{display:flex;align-items:flex-start;gap:13px}
.prow:hover,.prow.expanded{background:var(--pr-l);border-color:var(--pr);box-shadow:0 4px 16px rgba(15,110,86,.10)}
.prow.boosted{background:linear-gradient(90deg,#FFFBEB,#fff 70%);border-color:var(--gold)}
.prow.boosted:hover{background:linear-gradient(90deg,#FEF3C7,#fff 70%)}
.row-av{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0;font-family:var(--en);color:#374151;margin-top:2px}
.row-av.blue{background:linear-gradient(135deg,#3B6FA5,#234A73)}
.row-av.green{background:linear-gradient(135deg,var(--teal600),var(--teal800))}
.row-av.avc0{background:linear-gradient(135deg,#CFE3DA,#A8C9BA)}
.row-av.avc1{background:linear-gradient(135deg,#CDDCF0,#A9C2E6)}
.row-av.avc2{background:linear-gradient(135deg,#DDD3EC,#C3B3DE)}
.row-av.avc3{background:linear-gradient(135deg,#ECDAC0,#DCBD93)}
.row-av.avc4{background:linear-gradient(135deg,#C8E0E2,#A0C9CC)}
.row-av.avc5{background:linear-gradient(135deg,#ECCFD8,#DBA9BA)}
.row-av.avc6{background:linear-gradient(135deg,#C7DDC9,#A3C7A8)}
.row-av.avc7{background:linear-gradient(135deg,#E7CDBD,#D1A688)}
.row-av.trust-hi{box-shadow:0 0 0 2.5px #16a34a,0 0 0 4px #EEF4F1}
.row-av.trust-mid{box-shadow:0 0 0 2.5px #f59e0b,0 0 0 4px #fef9ee}
.trust-score-wrap{display:flex;align-items:center;gap:5px;margin:3px 0 1px}
.trust-score-label{font-size:12px;font-weight:700;padding:1.5px 7px;border-radius:999px;white-space:nowrap}
.trust-score-label.ts-hi{background:#EEF4F1;color:#0B4A3A}
.trust-score-label.ts-mid{background:#fef3c7;color:#92400e}
.trust-score-label.ts-lo{background:#f1f5f9;color:#64748b}
.trust-bar-mini{flex:1;max-width:52px;height:4px;border-radius:999px;background:#e2e8f0;overflow:hidden}
.trust-bar-mini-fill{height:100%;border-radius:999px;transition:width .4s}
.ts-hi .trust-bar-mini-fill{background:linear-gradient(90deg,#16a34a,#22c55e)}
.ts-mid .trust-bar-mini-fill{background:linear-gradient(90deg,#f59e0b,#fbbf24)}
.ts-lo .trust-bar-mini-fill{background:#94a3b8}
.row-av-link{cursor:pointer;transition:opacity .15s}
.row-av-link:hover{opacity:.75}
.row-body{flex:1;min-width:0}
.row-title{font-weight:700;font-size:15px;color:var(--g900);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}
.match-tags{display:flex;gap:5px;margin-bottom:3px;flex-wrap:wrap}
.match-tag{font-size:10px;font-weight:700;color:var(--green);background:var(--green-l);padding:2px 8px;border-radius:999px;white-space:nowrap}
.row-meta{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:4px}
.row-loc{font-size:12px;color:var(--g500)}
.pill{background:var(--pr-l);color:var(--pr);border-radius:999px;padding:2px 9px;font-size:12px;font-weight:500}
.pill.rm{cursor:pointer}
.vb{display:inline-flex;align-items:center;gap:2px;border-radius:999px;padding:2px 6px;font-size:11px}
.vb.otp{background:var(--pr-l)}
.vb.nid{background:var(--gold-l)}
.vb.qual{background:#EEF4F1;color:#0B4A3A}
.vb.online{background:#e6f1fb;color:#0c447c}
.vb.offline{background:#EEF4F1;color:#0B4A3A}
.vb.rating{background:#fff7e0;color:#92660a;font-weight:700}
.vb.rating small{font-weight:500;opacity:.85}
.row-end{text-align:right;flex-shrink:0;max-width:88px}
.row-sal{font-weight:800;font-size:16px;color:#16a34a;font-family:var(--en)}
.row-seats{font-size:12px;font-weight:700;color:var(--success);margin-top:2px}
.row-seats.low{color:var(--warning-d)}
.row-seats.full{color:var(--g400)}
.coaching-row{background:#fff}
.coaching-seats{margin-bottom:6px}
.coaching-seats .cs-label{font-size:12px;color:var(--g400)}
.coaching-seats .cs-val{font-size:13px;font-weight:700;color:var(--pr)}
.row-time{font-size:12px;color:var(--g400);margin-top:3px}
.row-quick-actions{display:flex;gap:5px;justify-content:flex-end;margin-top:6px}
.bm-btn-sm{border:1.5px solid var(--g200);background:#fff;border-radius:9px;padding:4px 8px;font-size:11px;font-weight:600;color:var(--g500);cursor:pointer;display:flex;align-items:center;gap:3px;white-space:nowrap;font-family:inherit}
.bm-btn-sm svg{width:12px;height:12px;flex-shrink:0}
.bm-btn-sm.share-wa{background:#e9f9ef;border-color:#b7ead1;color:#15803d}
.rep-btn-sm{border:1.5px solid var(--g200,#e2e8e4);background:#fff;border-radius:8px;width:26px;height:26px;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.bm-btn-sm:hover{border-color:var(--gold);background:var(--gold-l)}
.bm-btn-sm.saved{border-color:var(--gold);background:var(--gold-l)}
.rep-btn-sm:hover{border-color:#dc2626;background:#fef2f2}
.vb.verif-count{background:#EEF4F1;color:#0B4A3A;font-weight:700}
.vb.type-badge{font-weight:700;font-size:10px}
.vb.type-achi{background:#EEF4F1;color:#0B4A3A}
.vb.type-chai{background:#eff6ff;color:#2563eb}

/* ── ROW DETAIL ── */
.row-detail{max-height:0;overflow:hidden;background:var(--g50);border-bottom:1px solid var(--g100);padding:0 16px 0 64px;transition:max-height .25s ease,padding .25s ease}
.row-detail.open{max-height:800px;padding:10px 14px 12px 64px}
.detail-chevron{display:inline-block;transition:transform .2s ease}
.prow.expanded .detail-chevron{transform:rotate(180deg)}
.rd-grid{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}
.rd-item{background:#fff;border:1px solid var(--g200);border-radius:999px;padding:3px 10px;display:flex;align-items:center;gap:4px}
.rd-l{font-size:12px;color:var(--g500);font-weight:500}
.rd-v{font-size:12px;font-weight:600;color:var(--g800)}
.rd-subs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:7px}
.rd-desc{font-size:12.5px;color:var(--g600);line-height:1.55;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.rd-actions{display:flex;align-items:center;gap:8px;margin-top:10px}
.rd-msg-btn{flex:1;padding:10px 14px;background:var(--pr);color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;text-align:center}
.rd-icon-btn{width:40px;height:40px;border:1.5px solid var(--g200);border-radius:10px;background:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.own-post{color:var(--g400);font-size:13px}

/* ── EMPTY STATE ── */
/* ── Assured in-feed card ── */
.assured-card{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#0B4A3A 0%,#073328 100%);color:#fff;border-radius:14px;padding:16px 14px;margin-bottom:10px;text-decoration:none;cursor:pointer;transition:opacity .15s}
.assured-card:hover{opacity:.93}
.assured-icon{font-size:28px;flex-shrink:0}
.assured-body{flex:1}
.assured-title{font-size:14px;font-weight:800;margin-bottom:2px}
.assured-sub{font-size:12px;opacity:.85;line-height:1.4}
.assured-cta{flex-shrink:0;background:#fff;color:#0B4A3A;font-size:12px;font-weight:800;padding:7px 12px;border-radius:8px;white-space:nowrap}
.empty-state{text-align:center;padding:56px 20px}
.empty-state-new{background:var(--pr-l);border-radius:16px;padding:40px 20px}
.empty-icon{width:56px;height:56px;border-radius:50%;background:var(--g100);color:var(--g500);display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.empty-icon .ic-svg{width:26px;height:26px}
.empty-state-new .empty-icon{background:rgba(255,255,255,.6);color:var(--pr)}
.empty-title{font-size:var(--fs-md);font-weight:700;color:var(--g600);margin-bottom:5px}
.empty-state-new .empty-title{color:var(--pr)}
.empty-sub{font-size:var(--fs-sm);color:var(--g400);margin-bottom:18px}
.empty-state-new .empty-sub{color:var(--pr);opacity:.8}
.empty-alt-btn{display:block;margin:10px auto 0;border:none;background:none;color:var(--pr);font-size:12.5px;text-decoration:underline;cursor:pointer;font-family:inherit}
.empty-mini{text-align:center;color:var(--g400);padding:22px;font-size:13px;line-height:1.7}

/* ── POST FORM ── */
.pf-wrap{max-width:600px;margin:0 auto;background:#fff;border-radius:var(--r16);padding:22px;box-shadow:var(--s2);border:1.5px solid var(--g200)}
.pf-dots{display:flex;gap:6px;align-items:center;margin-bottom:20px}
.pf-dot{width:28px;height:28px;border-radius:50%;border:2px solid var(--g200);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--g400);flex-shrink:0}
.pf-dot.active{border-color:var(--pr);background:var(--pr);color:#fff}
.pf-dot.done{border-color:var(--gr);background:var(--gr);color:#fff}
.pf-line{flex:1;height:2px;background:var(--g200)}
.step-label{font-size:12px;font-weight:700;color:var(--pr);text-transform:uppercase;letter-spacing:.5px;margin-bottom:14px}
.fg{margin-bottom:13px}
.fg label{display:block;font-size:13px;font-weight:600;color:var(--g600);margin-bottom:5px}
.fg input,.fg select,.fg textarea{width:100%;border:1.5px solid var(--g200);border-radius:var(--r6);padding:10px 12px;font-size:14px;color:var(--g800);outline:none;background:var(--g50);transition:.12s}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--pr);background:#fff}
.fg input.field-error,.fg select.field-error,.fg textarea.field-error{border-color:var(--rd,#dc2626);background:#fef2f2}
.field-error-msg{color:var(--rd,#dc2626);font-size:12px;margin-top:4px;display:none}
.field-error-msg.show{display:block}
.field-highlight-new{animation:field-pulse-glow 1.5s ease}
@keyframes field-pulse-glow{0%{box-shadow:0 0 0 3px rgba(10,60,47,.18);border-color:var(--pr)}100%{box-shadow:0 0 0 0 rgba(10,60,47,0)}}
.fg2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:13px}
.fg2 .fg{margin:0}
.type-btns{display:flex;gap:8px;margin-bottom:14px}
.type-btn{flex:1;border:1.5px solid var(--g200);border-radius:var(--r10);padding:11px;text-align:center;cursor:pointer;font-size:13px;color:var(--g600);background:var(--g50);transition:.12s}
.type-btn.on{border-color:var(--pr);background:var(--pr-l);color:var(--pr);font-weight:600}
.sub-grid{display:flex;flex-wrap:wrap;gap:6px}
.subi{border:1.5px solid var(--g200);border-radius:999px;padding:6px 14px;font-size:12.5px;cursor:pointer;color:var(--g600);background:var(--g50);transition:.1s;user-select:none}
.subi.on{background:var(--pr);color:#fff;border-color:var(--pr)}
.day-row,.dur-row{display:flex;gap:6px;flex-wrap:wrap}
.day-btn,.dur-btn{border:1.5px solid var(--g200);border-radius:var(--r6);padding:13px 13px;min-height:44px;font-size:13px;cursor:pointer;background:var(--g50);color:var(--g600)}
.day-btn.on,.dur-btn.on{background:var(--pr);color:#fff;border-color:var(--pr)}
.headline-box{background:var(--pr-l);border:2px solid var(--pr);border-radius:var(--r10);padding:13px;margin-bottom:14px}
.headline-box .hl-label{font-size:12px;font-weight:700;color:var(--pr);text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px}
#headline-preview{font-family:var(--en);font-size:14.5px;font-weight:600;color:var(--g900);line-height:1.45;margin-bottom:8px}
.btn-cancel{border:1.5px solid var(--g200);background:none;border-radius:var(--r6);padding:9px 17px;cursor:pointer;font-size:13.5px;color:var(--g600)}
.add-sub-row{display:flex;gap:6px;margin-top:8px}
.add-sub-row input{flex:1;border:1.5px solid var(--g200);border-radius:var(--r6);padding:8px 11px;font-size:13px;outline:none}
#custom-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}

/* ── PROFILE ── */
.profile-card{background:linear-gradient(135deg,var(--green),#073328);border-radius:var(--r16);padding:22px;color:#fff;margin-bottom:13px}
.pav-wrap{position:relative;display:inline-block;margin-bottom:10px}
#profile-av{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,rgba(255,255,255,.28),rgba(255,255,255,.1));border:2px solid rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center;font-family:var(--en);font-weight:800;font-size:var(--fs-xl);color:#fff;overflow:hidden}
#profile-av img{width:100%;height:100%;object-fit:cover}
.pav-edit{position:absolute;bottom:-2px;right:-2px;background:var(--pr);border:2px solid #fff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:12px;cursor:pointer}
/* photo upload buttons — bottom of avatar */
.pav-upload-btn{position:absolute;bottom:-8px;background:#fff;border:1.5px solid var(--g200);border-radius:999px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;font-size:13px;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.12)}
.pav-upload-btn{right:28px}
.pav-cam-btn{right:0}
.pav-upload-btn:hover,.pav-cam-btn:hover{background:var(--g50)}
/* hero stats */
.hero-stats{display:flex;align-items:center;justify-content:center;gap:0;margin-top:14px;background:rgba(255,255,255,.12);border-radius:12px;padding:10px 20px}
.hs-item{display:flex;flex-direction:column;align-items:center;padding:0 18px}
.hs-num{font-family:var(--en);font-size:20px;font-weight:800;color:#fff;line-height:1}
.hs-lbl{font-size:12px;color:rgba(255,255,255,.75);margin-top:3px}
.hs-div{width:1px;height:28px;background:rgba(255,255,255,.25)}
#profile-name{font-family:var(--en);font-size:var(--fs-lg);font-weight:700}
#profile-email,#profile-role{font-size:12px;color:rgba(255,255,255,.7);margin-top:2px}
.profile-rating{font-size:13px;color:#fff;margin-top:6px;font-weight:600}
.profile-rating span{font-size:12px;font-weight:500;color:rgba(255,255,255,.7);margin-left:2px}
.vbadges{display:flex;flex-wrap:wrap;gap:5px;margin-top:11px}
.vbadge{display:none;align-items:center;gap:3px;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:600;background:rgba(255,255,255,.16);color:#fff}
.trust-wrap{margin-top:13px}
.trust-label{font-size:12px;color:rgba(255,255,255,.6);margin-bottom:5px}
.trust-bar{background:rgba(255,255,255,.18);border-radius:999px;height:8px;overflow:hidden}
#trust-fill{height:100%;background:linear-gradient(90deg,#60A5FA,#34D399);border-radius:999px;transition:width .6s}
/* ── Profile Completion Bar ── */
.pc-wrap{background:#fff;border-radius:var(--r16);border:1px solid var(--g200);padding:16px 18px;margin-bottom:14px;box-shadow:var(--s1)}
.pc-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.pc-title{font-size:13px;font-weight:700;color:var(--g800)}
.pc-pct{font-size:13px;font-weight:800;color:var(--pr)}
.pc-bar-bg{height:7px;background:var(--g100);border-radius:999px;overflow:hidden;margin-bottom:12px}
.pc-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#16a34a,#22c55e);transition:width .5s ease}
.pc-bar-fill.mid{background:linear-gradient(90deg,#f59e0b,#fbbf24)}
.pc-bar-fill.low{background:linear-gradient(90deg,#ef4444,#f87171)}
.pc-steps{display:flex;flex-direction:column;gap:7px}
.pc-step{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;cursor:pointer;border:1.5px solid transparent;background:var(--g50);transition:.12s}
.pc-step:hover{border-color:var(--pr);background:var(--pr-l)}
.pc-step.done{background:var(--success-l);cursor:default}
.pc-step.done:hover{background:var(--success-l);border-color:transparent}
.pc-step-ic{font-size:18px;flex-shrink:0;width:24px;height:24px;text-align:center;display:flex;align-items:center;justify-content:center}
.pc-step-ic-empty{width:16px;height:16px;border-radius:50%;border:2px solid var(--g300)}
.pc-step-body{flex:1;min-width:0}
.pc-step-label{font-size:13px;font-weight:600;color:var(--g800)}
.pc-step.done .pc-step-label{color:#15803d}
.pc-step-hint{font-size:12px;color:var(--g500);margin-top:1px}
.pc-step-pts{font-size:12px;font-weight:700;color:var(--pr);background:var(--pr-l);padding:2px 7px;border-radius:999px;flex-shrink:0}
.pc-msg{font-size:12px;color:#15803d;background:#f0fdf4;border-radius:8px;padding:8px 12px;margin-top:10px;text-align:center;font-weight:500}
.p-box{background:#fff;border-radius:var(--r16);padding:14px;border:1px solid var(--g200);margin-bottom:10px;box-shadow:var(--s1)}
.p-box h4{font-family:var(--en);font-size:14.5px;font-weight:700;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center}
.info-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--g100);font-size:13px}
.info-row:last-child{border:none}
.info-row .lbl{color:var(--g400);font-size:12px}
.edu-card{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px;background:var(--g50);border-radius:var(--r10);margin-bottom:8px}
.edu-info{flex:1;min-width:0}
.edu-level{font-size:12px;font-weight:700;color:var(--pr)}
.edu-sub{font-size:12.5px;color:var(--g600);margin-top:2px;line-height:1.5}
.edu-del{border:none;background:none;cursor:pointer;font-size:14px;opacity:.6;flex-shrink:0}
.edu-del:hover{opacity:1}

/* ── Public Profile Summary (বুকিং/চ্যাট/পোস্ট-ডিটেইল) ── */
.pub-profile-card{background:#fff;border:1px solid var(--g200);border-radius:var(--r8);padding:8px 11px;margin:7px 0 0;font-size:12px}
.pub-mini{background:var(--pr-l);border-radius:var(--r10);padding:8px 12px;margin:10px 0;font-size:12px;font-weight:600;color:var(--pr);display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.pub-skeleton .sk{display:inline-block;background:linear-gradient(90deg,var(--g100) 25%,var(--g200) 37%,var(--g100) 63%);background-size:400% 100%;animation:sk-pulse 1.4s ease infinite;border-radius:999px}
.pub-skeleton .sk-pill{height:16px;margin-right:6px}
.pub-skeleton .sk-line{display:block;height:10px;border-radius:6px;margin-top:8px}
@keyframes sk-pulse{0%{background-position:100% 50%}100%{background-position:0 50%}}

/* ── জেনেরিক লিস্ট-স্কেলেটন — কোনো তালিকা লোড হওয়ার সময় plain "লোড হচ্ছে…"
   টেক্সটের বদলে এটা বসানো যায়, perceived-performance বাড়ানোর জন্য ── */
.sk-row{display:flex;align-items:center;gap:12px;padding:12px 0}
.sk-row .sk-avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0;background:linear-gradient(90deg,var(--g100) 25%,var(--g200) 37%,var(--g100) 63%);background-size:400% 100%;animation:sk-pulse 1.4s ease infinite}
.sk-row .sk-lines{flex:1;display:flex;flex-direction:column;gap:7px}
.sk-row .sk-bar{height:11px;border-radius:6px;background:linear-gradient(90deg,var(--g100) 25%,var(--g200) 37%,var(--g100) 63%);background-size:400% 100%;animation:sk-pulse 1.4s ease infinite}
.sk-row .sk-bar.w60{width:60%}
.sk-row .sk-bar.w40{width:40%}
.sk-row .sk-bar.w80{width:80%}
.pub-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.pub-trust{font-weight:700;color:var(--pr);font-size:12.5px}
.pub-rating{font-weight:700;color:var(--gold-d)}
.pub-rating small{font-weight:500;color:var(--g500)}
.pub-rating-none{color:var(--g400);font-weight:500}
.pub-badges{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:6px}
.pub-badge{background:#EEF4F1;color:#0B4A3A;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600}
.pub-rows{margin-bottom:4px}
.pub-row{display:flex;justify-content:space-between;gap:8px;padding:3px 0;font-size:12px}
.pub-lbl{color:var(--g400);font-size:12px;flex-shrink:0}
.pub-edu-list{margin-top:6px;padding-top:6px;border-top:1px solid var(--g200)}
.pub-edu-item{font-size:12px;color:var(--g600);line-height:1.6}
.pub-profile-wrap:empty{margin:0}
.exp-2col{display:grid;grid-template-columns:1fr 1fr;gap:0}
.ver-row{display:flex;justify-content:space-between;align-items:center;padding:11px;background:var(--g50);border-radius:var(--r10);margin-bottom:8px;font-size:13px;font-weight:600}
.ver-row label{cursor:pointer}
.my-ad{display:flex;justify-content:space-between;align-items:center;padding:11px;background:var(--g50);border-radius:var(--r10);margin-bottom:8px;gap:10px}
.my-ad-title{font-size:13px;font-weight:600;color:var(--g800)}
.my-ad-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:3px;font-size:12px;color:var(--g400)}
.my-ad-views{color:var(--g500);font-weight:500}
.my-stat{flex:1;background:var(--g50);border-radius:10px;padding:10px;text-align:center}
.my-stat-num{font-size:var(--fs-lg);font-weight:800;color:var(--pr)}
.my-stat-lbl{font-size:12px;color:var(--g500);margin-top:2px}
.st-act{color:var(--gr)}
.st-exp{color:var(--rd)}
.my-ad-btns{display:flex;gap:6px;flex-shrink:0}
.my-ad-info{flex:1;min-width:0}
.btn-sm{border:none;border-radius:var(--r6);padding:12px 14px;min-height:44px;font-size:12px;cursor:pointer;font-weight:500;white-space:nowrap}
.btn-sm.blue{background:var(--pr-l);color:var(--pr)}
.btn-sm.gray{background:var(--g100);color:var(--g600)}
.btn-sm.red{background:var(--rd-l);color:var(--rd)}

/* ── CHAT ── */
.chat-layout{display:grid;grid-template-columns:250px 1fr;height:calc(100vh - 76px);height:calc(100dvh - 76px);height:calc(var(--vh-actual, 100vh) - 76px);max-width:900px;margin:0 auto;background:#fff;border-radius:0;overflow:hidden;border-left:1.5px solid var(--g200);border-right:1.5px solid var(--g200)}
.chat-side{border-right:1px solid var(--g200);overflow-y:auto;background:var(--g50)}
.chat-side-hd{padding:14px 15px;font-family:var(--en);font-weight:700;font-size:14px;border-bottom:1px solid var(--g200);background:#fff}
.thread{padding:10px 14px;border-bottom:1px solid var(--g100);cursor:pointer;background:#fff;transition:.1s}
.thread:hover,.thread.active{background:var(--pr-l)}
.thread-av{width:40px;height:40px;font-size:13px;margin-top:0}
.thread-name{font-weight:600;font-size:13.5px;color:var(--g800)}
.thread-pre{font-size:12px;color:var(--g400);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.thread.unread .thread-pre{color:var(--g600);font-weight:500}
.thread-unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--rd,#dc2626);color:#fff;font-size:10.5px;font-weight:700;margin-left:6px;vertical-align:middle}
.chat-main{display:flex;flex-direction:column;min-width:0}
.chat-hd{padding:10px 16px;border-bottom:1px solid var(--g200);font-weight:600;font-size:14px;background:#fff;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.chat-back-btn{display:none;border:none;background:none;font-size:18px;color:var(--g600);cursor:pointer;padding:0 10px 0 0;line-height:1}
.chat-hd-av{width:36px;height:36px;font-size:13px;margin-top:0;flex-shrink:0}
.chat-hd-info{display:flex;flex-direction:column;min-width:0;line-height:1.3}
.chat-hd-info #chat-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-hd-status{font-size:12px;font-weight:500;color:var(--g400)}
.chat-hd-status.online{color:var(--success,#15803D)}

/* ── মেসেজ-লিস্টে তারিখ-বিভাজক ── */
.chat-date-divider{display:flex;justify-content:center;margin:10px 0 4px}
.chat-date-divider span{background:#fff;border:1px solid var(--g200);color:var(--g500);font-size:12px;font-weight:600;padding:3px 12px;border-radius:999px;box-shadow:var(--s1)}

/* ── বুকিং-স্ট্রিপ — চ্যাট হেডারের নিচে সবসময় visible, কোনো click/sheet-এর অপেক্ষা নেই ── */
.chat-booking-strip{padding:10px 16px;background:var(--green-l);border-bottom:2px solid var(--g200);display:flex;align-items:center;justify-content:space-between;gap:14px}
.cbs-post{font-size:12px;color:var(--g800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}
.cbs-post::before{content:"📌 "}
.cbs-book-btn{background:var(--pr);color:#fff;border:none;border-radius:8px;padding:10px 18px;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;font-family:var(--bn);min-height:40px;flex-shrink:0;box-shadow:var(--s1)}
.cbs-book-btn:hover{background:var(--pr-d)}

/* ── ppv-card: legacy (used in booking/chat mini views) ── */
.ppv-card{background:var(--g50);border-radius:var(--r10);padding:10px 12px;margin:7px 0 0}
.ppv-head{display:flex;align-items:center;gap:8px}
.ppv-av{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--teal600),var(--teal800));color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}
.ppv-info{flex:1;min-width:0}
.ppv-name{font-size:12.5px;font-weight:700;color:var(--g800);cursor:pointer}
.ppv-name:hover{text-decoration:underline}
.ppv-msg-btn{width:100%;justify-content:center;padding:11px;font-size:13px;min-height:44px}
/* ── ppv menu (shared) ── */
.ppv-menu-wrap{position:relative;flex-shrink:0}
.ppv-menu-btn{width:32px;height:32px;border:none;background:none;font-size:16px;color:var(--g400);cursor:pointer;display:flex;align-items:center;justify-content:center}
.ppv-menu-drop{display:none;position:absolute;right:0;top:34px;background:#fff;border:1px solid var(--g200);border-radius:var(--r10);box-shadow:var(--s2);z-index:20;min-width:160px;overflow:hidden}
.ppv-menu-drop.open{display:block}
.ppv-menu-drop button{display:block;width:100%;text-align:right;padding:9px 12px;border:none;background:none;font-size:12px;color:var(--g800);cursor:pointer;font-family:var(--bn)}
.ppv-menu-drop button:hover{background:var(--g50)}
.ppv2-profile-link{display:flex;align-items:center;gap:3px;border:none;background:none;padding:0;font-size:12px;font-weight:700;color:var(--pr);cursor:pointer;font-family:inherit;flex-shrink:0;white-space:nowrap}
.ppv2-profile-link .ic-svg{width:12px;height:12px;margin:0}

/* ── ppv2: redesigned profile card (post detail) ── */
.ppv2{background:#fff;border:1px solid var(--g200);border-radius:12px;padding:12px;margin:9px 0 0;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.ppv2-top{display:flex;align-items:flex-start;gap:10px;margin-bottom:4px}
.ppv2-av{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--teal600),var(--teal800));color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--fs-md);font-weight:800;flex-shrink:0;letter-spacing:-.5px}
.ppv2-id{flex:1;min-width:0}
/* name + ticks on one line */
.ppv2-name-row{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-bottom:2px}
.ppv2-name{font-size:14px;font-weight:700;color:var(--g900);cursor:pointer;line-height:1.3}
/* qual line: status · subject · institution · experience */
.ppv2-qual{font-size:12px;color:var(--g500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:5px}
/* tick badges (verif + rating + students) */
.ppv2-tick{font-size:10px;font-weight:600;padding:1px 5px;border-radius:999px;background:#EEF4F1;color:#073328;cursor:pointer;user-select:none}
.ppv2-tick-info{background:var(--g100);color:var(--g500);font-weight:700}
.ppv2-rat{background:#fef3c7;color:#92400e}
.ppv2-stu{background:#e8f0ff;color:#1a3a7a;cursor:default}
/* rating + students + trust pills row */
.ppv2-pills{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-bottom:8px}
.ppv2-trust{font-size:10px;font-weight:600;padding:1px 6px;border-radius:999px;cursor:pointer;user-select:none}
/* trust dropdown */
.ppv2-tdrop{background:var(--g50);border:1px solid var(--g200);border-radius:8px;padding:7px 11px;margin:0 0 8px;font-size:12px}
.ppv2-tdrop-title{font-weight:600;color:var(--g700);margin-bottom:4px}
.ppv2-trow{display:flex;justify-content:space-between;padding:2px 0;color:var(--g500);border-bottom:1px solid var(--g100)}
.ppv2-trow:last-child{border-bottom:none}
.ppv2-trow b{color:#0B4A3A;font-weight:700}
/* tip popup */
.ppv2-tip-box{background:#1d4030;color:#EEF4F1;font-size:12px;padding:6px 10px;border-radius:8px;margin:4px 0 7px;line-height:1.5;position:relative}
/* cta */
.ppv2-actions{margin-bottom:2px}
.ppv2-cta{width:100%;justify-content:center;padding:11px;font-size:13px;font-weight:700;min-height:44px;border-radius:10px}
/* disclaimer */
.ppv2-disc{font-size:12px;color:var(--g400);line-height:1.6;border-top:1px solid var(--g100);padding-top:8px}
.ppv2-disc-link{color:var(--pr);font-weight:600;cursor:pointer;text-decoration:underline}

/* ── "···" overflow menu — touch-target ৩২×৩২px (visual icon ছোট, WCAG 2.5.8 মান) ── */
.ppv-menu-wrap{position:relative;flex-shrink:0}
.ppv-menu-btn{width:32px;height:32px;border:none;background:none;font-size:16px;color:var(--g400);cursor:pointer;display:flex;align-items:center;justify-content:center}
.ppv-menu-drop{display:none;position:absolute;right:0;top:34px;background:#fff;border:1px solid var(--g200);border-radius:var(--r10);box-shadow:var(--s2);z-index:20;min-width:160px;overflow:hidden}
.ppv-menu-drop.open{display:block}
.ppv-menu-drop button{display:block;width:100%;text-align:right;padding:9px 12px;border:none;background:none;font-size:12px;color:var(--g800);cursor:pointer;font-family:var(--bn)}
.ppv-menu-drop button:hover{background:var(--g50)}

/* ── পূর্ণ প্রোফাইল deep-dive (bottom-sheet-এর ভেতরে) ── */
.pdd-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.pdd-name{font-size:14px;font-weight:700;color:var(--g800);margin:0}
.pdd-rating{font-size:12px;color:var(--g500);margin:2px 0 0}
.pdd-bio{background:var(--g50);border-radius:8px;padding:9px 11px;font-size:12px;color:var(--g600);line-height:1.6;font-style:italic;margin-bottom:12px}
.pdd-section{margin-bottom:12px}
.pdd-label{font-size:12px;font-weight:700;color:var(--g500);text-transform:uppercase;letter-spacing:.4px;margin-bottom:5px}
.pdd-text{font-size:12.5px;color:var(--g600);margin:0 0 3px;line-height:1.55}
.pdd-verif-row{display:flex;align-items:center;justify-content:space-between;background:var(--g50);border-radius:6px;padding:6px 10px;font-size:12px;color:var(--g600);margin-bottom:5px}
.pdd-verif-row .ti-yes{color:var(--gr);font-style:normal;font-weight:700}
.pdd-verif-row .ti-no{color:var(--g400);font-style:normal}
.pdd-disclaimer{font-size:12px;color:var(--g500);line-height:1.6;margin-top:12px;border-top:1px solid var(--g100);padding-top:10px}
.pdd-report-link{color:var(--pr);font-weight:600;cursor:pointer;text-decoration:underline}
.pdd-report-link{display:none}

/* ── Onboarding Wizard ──────────────────────────────────── */
#wiz-wrap{margin-bottom:14px}
.wiz-progress{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.wiz-dots{display:flex;gap:5px}
.wiz-dot{width:24px;height:4px;border-radius:999px;background:var(--g200);transition:.2s}
.wiz-dot.done{background:var(--pr)}
.wiz-dot.active{background:var(--pr);opacity:.5}
.wiz-pct-lbl{font-size:12px;color:var(--g500)}
.wiz-bar-bg{height:4px;background:var(--g100);border-radius:999px;margin-bottom:14px;overflow:hidden}
.wiz-bar-fill{height:100%;background:var(--pr);border-radius:999px;transition:.3s}
.wiz-panel{background:#fff;border:1px solid var(--g200);border-radius:14px;padding:16px;box-shadow:var(--s1)}
.wiz-badge{display:inline-block;font-size:12px;font-weight:600;color:var(--pr);background:var(--pr-l);padding:2px 9px;border-radius:999px;margin-bottom:8px}
.wiz-title{font-size:15px;font-weight:700;color:var(--g900);margin-bottom:5px}
.wiz-why{font-size:12px;color:var(--g500);line-height:1.5;margin-bottom:14px;padding:8px 10px;background:var(--g50);border-radius:8px;border-left:3px solid var(--pr)}
/* photo */
.wiz-photo-area{display:flex;align-items:center;gap:14px;margin-bottom:14px;padding:10px;background:var(--g50);border-radius:10px}
.wiz-av{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--teal600),var(--teal800));color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--fs-lg);font-weight:700;flex-shrink:0;overflow:hidden}
.wiz-av img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.wiz-photo-btns{display:flex;flex-direction:column;gap:6px}
.wiz-upload-btn{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--pr);background:#fff;border:1.5px solid var(--pr);border-radius:8px;padding:6px 12px;cursor:pointer}
/* fields */
.wiz-field{margin-bottom:10px}
.wiz-label{display:block;font-size:12px;font-weight:600;color:var(--g600);margin-bottom:4px}
.wiz-opt{font-weight:400;color:var(--g400);font-size:12px}
.wiz-input,.wiz-select,.wiz-textarea{width:100%;border:1px solid var(--g200);border-radius:8px;padding:9px 11px;font-family:inherit;font-size:14px;color:var(--g800);background:#fff;box-sizing:border-box}
.wiz-textarea{resize:vertical;min-height:90px;line-height:1.5}
.wiz-input:focus,.wiz-select:focus,.wiz-textarea:focus{outline:none;border-color:var(--pr)}
.wiz-2col{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.wiz-check-row{display:flex;gap:16px;margin-top:4px}
.wiz-check{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--g700);cursor:pointer}
/* subject chips */
.wiz-chips{display:flex;flex-wrap:wrap;gap:5px;min-height:4px;margin-bottom:6px}
.wiz-chip{display:inline-flex;align-items:center;gap:4px;background:var(--pr-l);color:var(--pr-d,#0B4A3A);font-size:12px;font-weight:600;padding:3px 8px;border-radius:999px}
.wiz-chip-x{border:none;background:none;cursor:pointer;font-size:14px;line-height:1;color:var(--pr-d,#0B4A3A);padding:0}
.wiz-chip-add{display:flex;gap:6px;align-items:center;margin-bottom:6px}
.wiz-chip-add .wiz-input{margin:0;flex:1}
.wiz-chip-btn{background:var(--pr);color:#fff;border:none;border-radius:8px;padding:9px 13px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}
.wiz-chip-presets{display:flex;flex-direction:column;gap:5px;margin-top:4px}
.wiz-preset-group{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.wiz-preset-lbl{font-size:12px;margin-right:2px}
.wiz-preset-chip{font-size:12px;padding:3px 9px;border-radius:999px;border:1px solid var(--g200);background:#fff;cursor:pointer;color:var(--g700);transition:.1s}
.wiz-preset-chip:hover{border-color:var(--pr);color:var(--pr)}
.wiz-preset-chip.used{background:var(--pr-l);border-color:var(--pr);color:var(--pr-d,#0B4A3A);font-weight:600}
/* education adaptive form */
.wiz-edu-add-row{display:flex;gap:8px;align-items:center;margin-bottom:10px}
.wiz-edu-entry{display:flex;align-items:center;gap:6px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:7px 10px;margin-bottom:6px}
.wiz-edu-entry-lbl{font-size:12px;font-weight:700;color:#15803d;flex-shrink:0}
.wiz-edu-entry-det{font-size:12px;color:var(--g500);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* education blocks (legacy profile tab) */
.wiz-edu-block{border:1px solid var(--g100);border-radius:10px;padding:10px 12px;margin-bottom:10px;background:var(--g50)}
.wiz-edu-head{font-size:12px;font-weight:700;color:var(--g700);margin-bottom:8px}
/* documents */
.wiz-privacy-note{font-size:12px;color:#073328;background:#EEF4F1;border-radius:8px;padding:8px 10px;margin-bottom:12px;line-height:1.5}
.wiz-doc-block{margin-bottom:12px}
.wiz-id-type-row{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.wiz-id-type-opt{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--g700);padding:9px 12px;border:1.5px solid var(--g200);border-radius:9px;cursor:pointer;transition:.12s}
.wiz-id-type-opt:has(input:checked){border-color:var(--pr);background:var(--pr-l);font-weight:600}
.wiz-doc-head{font-size:12px;font-weight:700;color:var(--g700);margin-bottom:7px}
.wiz-doc-row{display:flex;gap:8px}
.wiz-doc-item{flex:1;display:flex;flex-direction:column;gap:4px}
.wiz-doc-btn{display:flex;align-items:center;justify-content:center;gap:5px;font-size:12px;font-weight:600;color:var(--pr);border:1.5px dashed var(--pr);border-radius:8px;padding:10px 8px;cursor:pointer;text-align:center;background:#fff}
.wiz-doc-btn.done{border-style:solid;background:#EEF4F1;color:#073328;border-color:#B9D6C8}
.wiz-doc-status{font-size:12px;color:var(--g500);text-align:center}
/* nav */
.wiz-nav{display:flex;align-items:center;justify-content:space-between;margin-top:16px;gap:8px}
.wiz-next-btn{background:var(--pr);color:#fff;border:none;border-radius:9px;padding:11px 20px;font-size:13px;font-weight:700;cursor:pointer;min-height:44px}
.wiz-back-btn{background:none;border:1px solid var(--g200);border-radius:9px;padding:10px 14px;font-size:13px;color:var(--g600);cursor:pointer}
.wiz-skip-btn{background:none;border:none;font-size:12px;color:var(--g400);cursor:pointer;padding:4px}
/* profile modal header bar */
.pddmo-bar{display:flex;align-items:center;justify-content:space-between;padding:0 0 10px;border-bottom:1px solid var(--g100);margin-bottom:4px}
.pddmo-bar-title{font-size:13px;font-weight:600;color:var(--g500);letter-spacing:.3px}
.pddmo-bar-actions{display:flex;align-items:center;gap:4px}
.mo-close-inline{background:none;border:none;font-size:18px;color:var(--g400);cursor:pointer;line-height:1;padding:6px 8px;border-radius:8px}
.mo-close-inline:hover{background:var(--g100);color:var(--g700)}
.pddmo-more-wrap{position:relative}
.pddmo-more-btn{background:none;border:none;font-size:15px;cursor:pointer;color:var(--g400);padding:6px 8px;border-radius:8px;line-height:1;font-weight:700}
.pddmo-more-btn:hover{background:var(--g100);color:var(--g700)}
.pddmo-menu{display:none;position:absolute;right:0;top:calc(100% + 4px);background:#fff;border:1px solid var(--g200);border-radius:10px;box-shadow:0 4px 16px rgba(0,0,0,.12);min-width:180px;z-index:10;overflow:hidden}
.pddmo-menu.open{display:block}
.pddmo-menu button{display:block;width:100%;text-align:left;background:none;border:none;padding:11px 16px;font-size:13px;font-family:var(--bn);cursor:pointer;color:#dc2626;border-top:1px solid var(--g100)}
.pddmo-menu button:first-child{border-top:none;color:var(--g700)}
.pddmo-menu button:hover{background:var(--g50)}
.pddmo-menu button.danger{color:#dc2626}
.pddmo-menu button.danger:hover{background:#fff5f5}
.chat-profile-panel{padding:0 16px 12px;background:#fff;border-bottom:1px solid var(--g200)}
.chat-profile-panel .ppv-card{margin:10px 0 0}
.chat-profile-panel .pub-profile-card{margin:10px 0 0}
#msgs{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:6px;background:var(--teal50)}
.msg-wrap{display:flex;flex-direction:column;max-width:75%}
.msg-wrap.sent{align-self:flex-end;align-items:flex-end}
.msg-wrap.recv{align-self:flex-start;align-items:flex-start}
/* brand bubble — teal fill for sent, white card for received, soft shadow instead of a borrowed WhatsApp tail */
.msg{padding:8px 13px 5px;font-size:13.5px;line-height:1.55;word-break:break-word;border-radius:14px;box-shadow:var(--s1)}
.sent .msg{background:var(--teal600);color:#fff;border-radius:14px 14px 3px 14px}
.recv .msg{background:#fff;color:var(--g800);border-radius:14px 14px 14px 3px;border:1px solid var(--g100)}
.msg-time{font-size:12px;color:var(--g400);margin-top:2px;padding:0 2px}
.msg-receipt{margin-left:3px;font-size:10px;color:var(--g400)}
.msg-wrap.sent .msg-receipt.read{color:var(--gold)}
#chat-footer{padding:10px 12px calc(10px + env(safe-area-inset-bottom, 0px));border-top:1px solid var(--g200);display:none;gap:8px;background:#fff;align-items:flex-end;flex-shrink:0}
#msg-inp{flex:1;border:1.5px solid var(--g200);border-radius:22px;padding:10px 16px;font-size:13.5px;outline:none;font-family:var(--bn);resize:none;max-height:120px;overflow-y:auto;line-height:1.45;display:block;background:var(--g50);box-shadow:none;transition:border-color .15s,background .15s}
#msg-inp:focus{border-color:var(--pr);background:#fff;box-shadow:0 0 0 3px var(--teal50)}
#msg-send-btn{flex-shrink:0;border-radius:50%;width:44px;height:44px;min-width:44px;padding:0;display:flex;align-items:center;justify-content:center;font-size:16px;touch-action:manipulation}

/* ── BOOST ── */
.boost-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;max-width:900px;margin:0 auto}
.panel-mini{background:#fff;border:1px solid var(--g200);border-radius:var(--r16);padding:14px;max-width:400px;margin:0 auto}
.b-plan{background:#fff;border:1.5px solid var(--g200);border-radius:var(--r16);padding:26px;position:relative;display:flex;flex-direction:column}
.b-plan.premium{border-color:var(--gold);box-shadow:0 8px 30px rgba(245,158,11,.1)}
.p-tag{position:absolute;top:13px;right:13px;background:var(--gold-l);color:var(--gold-d);font-size:12px;font-weight:700;padding:3px 11px;border-radius:999px}
.b-plan h3{font-family:var(--en);font-size:var(--fs-md);font-weight:700;margin-bottom:10px}
.b-plan .price{font-family:var(--en);font-size:30px;font-weight:800;margin-bottom:18px}
.b-plan .price span{font-size:13px;color:var(--g400);font-weight:400;font-family:var(--bn)}
.b-plan ul{list-style:none;margin-bottom:24px;display:flex;flex-direction:column;gap:10px;flex:1}
.b-plan li{font-size:13.5px;color:var(--g600)}

/* ── MODALS ── */
.ov{position:fixed;inset:0;background:rgba(15,23,42,.5);backdrop-filter:blur(3px);z-index:1200;display:none;align-items:center;justify-content:center;padding:16px}
.ov.open{display:flex}

/* ── Bottom-sheet (প্রোফাইল deep-dive) — established mobile pattern: নিচ থেকে স্লাইড আপ,
   drag-handle দিয়ে বোঝা যায় এটা sheet, partial-screen তাই চ্যাট-context হারায় না ── */
.sheet-ov{align-items:flex-end;padding:0;background:rgba(15,23,42,.4)}
.sheet{background:#fff;width:100%;max-width:480px;margin:0 auto;border-radius:16px 16px 0 0;max-height:80vh;overflow-y:auto;padding:10px 18px 22px;position:relative;animation:sheetUp .25s ease}
.sheet-handle{width:34px;height:4px;border-radius:999px;background:var(--g200);margin:0 auto 10px}
@keyframes sheetUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
@media (min-width:700px){
  .sheet-ov{align-items:center;padding:16px}
  .sheet{border-radius:16px;max-height:85vh;animation:none}
}
.mo{background:#fff;border-radius:var(--r16);padding:22px;max-width:420px;width:100%;max-height:92vh;overflow-y:auto;position:relative;animation:moUp .18s ease-out}
@keyframes moUp{from{transform:translateY(14px);opacity:0}to{transform:translateY(0);opacity:1}}
.mo h3{font-family:var(--en);font-size:16.5px;font-weight:700;margin-bottom:3px}
.mo .sub{font-size:13px;color:var(--g500);margin-bottom:17px}
.mo-close{position:absolute;top:13px;right:15px;background:none;border:none;font-size:20px;color:var(--g400);cursor:pointer;line-height:1}
.social-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;border:1.5px solid var(--g200);border-radius:var(--r10);padding:11px;font-size:14px;font-weight:600;color:var(--g800);background:#fff;cursor:pointer;margin-bottom:12px}
.social-btn:hover{background:var(--g50)}
.divider{display:flex;align-items:center;gap:10px;margin-bottom:13px}
.divider div{flex:1;height:1px;background:var(--g200)}
.divider span{font-size:12px;color:var(--g400)}
.mo-input{width:100%;border:1.5px solid var(--g200);border-radius:var(--r10);padding:11px 14px;font-size:14px;outline:none;margin-bottom:10px;transition:.12s}
.mo-input:focus{border-color:var(--pr)}
.mo-submit{width:100%;background:var(--pr);color:#fff;border:none;border-radius:var(--r10);padding:13px;font-size:14.5px;font-weight:700;cursor:pointer;margin-top:4px}
.mo-submit:disabled{opacity:.6;cursor:wait}
.mo-foot{text-align:center;margin-top:13px;font-size:13px;color:var(--g500)}
.role-row{display:flex;gap:8px;margin-bottom:13px}
.role-label{flex:1;display:flex;align-items:center;gap:7px;border:1.5px solid var(--g200);border-radius:var(--r10);padding:10px;cursor:pointer;font-size:12.5px}
.role-label:has(input:checked){border-color:var(--pr);background:var(--pr-l)}
.mo-btns{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}

/* ── TOAST ── */
.toast{position:fixed;bottom:18px;right:18px;background:var(--g900);color:#fff;padding:12px 18px;border-radius:var(--r10);z-index:300;font-size:13.5px;max-width:320px;box-shadow:var(--s3);display:none}
.toast.show{display:block;animation:moUp .18s ease-out}
.toast.ok{background:#064E3B;border-left:3px solid var(--gr)}
.toast.er{background:#7F1D1D;border-left:3px solid var(--rd)}

/* ── FAB ── */
.fab{position:fixed;bottom:64px;right:20px;background:var(--gold);color:#1a1a1a;border:none;border-radius:999px;padding:13px 21px;font-weight:700;font-size:14.5px;cursor:pointer;box-shadow:0 6px 24px rgba(0,0,0,.35),0 0 0 3px rgba(255,255,255,.15);z-index:50;font-family:var(--bn)}
.fab:hover{background:var(--gold-d);color:#fff;transform:translateY(-2px)}

/* ── RESPONSIVE ── */
@media(max-width:740px){
  .nav-links .nb{display:none}
  #nav-login-btn,#nav-reg-btn,#nav-profile-btn,#nav-logout-btn{display:none!important}
  #mob-btn{display:block}
  /* ── ৩২০-৩৬০px cheap-phone-width-এ "← মূল সাইট" + লোগো + সাবটাইটেল + hamburger
     একসাথে আঁটার calculated-ঝুঁকি ছিল — সাবটাইটেল ছোট-স্ক্রিনে hide, back-বাটন
     compact করা হলো, hamburger-এর জন্য জায়গা নিশ্চিত রাখতে ── */
  .logo span{font-size:9px;margin-left:4px}
  .nav-back{padding:5px 9px;font-size:12px}
  .logo{font-size:15px}
  .rd-grid{flex-wrap:wrap}
  .boost-grid{grid-template-columns:1fr}
  .row-detail{padding-left:16px}
  .chat-layout{grid-template-columns:1fr;height:calc(100vh - 120px);height:calc(100dvh - 120px);height:calc(var(--vh-actual, 100vh) - 120px)}
  .chat-layout.thread-open{height:calc(100vh - 62px);height:calc(100dvh - 62px);height:calc(var(--vh-actual, 100vh) - 62px)}
  .chat-side{max-height:none;border-right:none;border-bottom:1px solid var(--g200)}
  .chat-back-btn{display:inline-block}
  /* ── থ্রেড খোলা থাকলে (mobile) — ইনবক্স সরে গিয়ে চ্যাট পুরো স্ক্রিন নেয়,
     established WhatsApp/Messenger sequential-flow পরিচালনা করতে ── */
  .chat-layout.thread-open .chat-side{display:none}
  .chat-layout:not(.thread-open) .chat-main{display:none}
  .fg2{grid-template-columns:1fr}
  .b-plan{padding:18px}
  input,select,textarea{font-size:16px!important}
  .filter-bar{overflow-x:auto;flex-wrap:nowrap}
  .filter-bar select{flex-shrink:0}
}

/* ── নতুন ফিচার: Unread Badge + Bookmark (v2) ── */
.nb, #mob-btn { position: relative; }
.unread-badge,.unread-badge-bk{
  position:absolute;top:-2px;right:-2px;min-width:17px;height:17px;padding:0 4px;
  background:var(--rd);color:#fff;font-size:11px;font-weight:700;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;line-height:1;
  box-shadow:0 0 0 2px #fff;animation:badgePop .25s ease;pointer-events:none}
/* hamburger (#mob-btn)-এ চ্যাট ও বুকিং badge একসাথে থাকলে একে অপরের উপর বসবে না —
   বুকিং-badge সামান্য বাম-নিচে সরানো */
#mob-btn .unread-badge-bk{top:auto;right:auto;bottom:-2px;left:-2px;background:var(--gold-d,#B45309)}
@keyframes badgePop{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}
@media (prefers-reduced-motion:reduce){.unread-badge,.unread-badge-bk{animation:none}}

.bm-btn{
  border:1.5px solid var(--g200);background:#fff;border-radius:var(--r6);
  padding:8px 14px;font-size:13px;font-weight:600;color:var(--g600);cursor:pointer;
  margin-left:8px;transition:.12s}
.bm-btn:hover{border-color:var(--gold);color:var(--gold-d)}
.bm-btn.saved{border-color:var(--gold);background:var(--gold-l);color:var(--gold-d)}
.bm-btn:focus-visible{outline:2px solid var(--pr);outline-offset:2px}

/* ── জিও-দূরত্ব ফিচার ── */
#near-btn{
  background:none;border:1.5px solid var(--g300);border-radius:999px;
  padding:6px 13px;font-size:12px;color:var(--g500);cursor:pointer;
  display:inline-flex;align-items:center;gap:4px;white-space:nowrap;flex-shrink:0;transition:.12s}
#near-btn:hover{border-color:var(--pr);color:var(--pr)}
#near-btn.on{border-color:var(--gr);background:var(--gr-l);color:var(--gr);font-weight:600}
.dist-pill{
  background:var(--gr-l);color:var(--gr);border-radius:999px;
  padding:2px 9px;font-size:12px;font-weight:600;white-space:nowrap}
.row-dist{font-size:12px;font-weight:600;color:var(--gr);margin-top:3px;line-height:1.3}

/* ── v4: স্মার্ট সাজেস্ট ড্রপডাউন ── */
.sg-dd{position:absolute;left:0;right:0;top:calc(100% + 6px);background:#fff;
  border:1px solid var(--g200,#e2e8e4);border-radius:14px;box-shadow:0 10px 30px rgba(10,60,47,.14);
  z-index:60;display:none;overflow:hidden;max-height:300px;overflow-y:auto}
.sg-item{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer}
.sg-item:hover,.sg-item.on{background:var(--pr-l,#e8f5ee)}
.sg-ic{font-size:16px}
.sg-tx{display:flex;flex-direction:column;line-height:1.3}
.sg-tx b{font-size:13.5px;font-weight:600}
.sg-tx small{font-size:12px;color:var(--g500,#6b7c76)}

/* ── v4: রিপোর্ট ── */
.rep-btn{border:1.5px solid var(--g200,#e2e8e4);background:#fff;border-radius:var(--r6,9px);
  padding:8px 11px;font-size:13px;cursor:pointer;margin-left:8px;color:#b91c1c;transition:.12s}
.rep-btn:hover{border-color:#dc2626;background:#fef2f2}
.rep-opts{display:flex;flex-direction:column;gap:8px}
.rep-opt{text-align:left;border:1.5px solid var(--g200,#e2e8e4);background:#fff;border-radius:10px;
  padding:11px 14px;font-size:13.5px;cursor:pointer;font-family:inherit;transition:.12s}
.rep-opt:hover{border-color:#dc2626;background:#fef2f2}
.rep-cancel{width:100%;margin-top:12px;border:none;background:var(--g100,#f7faf8);border-radius:10px;
  padding:10px;font-size:13px;cursor:pointer;font-family:inherit;color:var(--g600,#444)}

/* ── v4: নোটিফিকেশন বেল ── */
.ntf-bell{position:relative;border:none;background:none;font-size:18px;cursor:pointer;
  padding:6px 8px;line-height:1;margin-right:2px}
.ntf-badge{position:absolute;top:0;right:0;min-width:16px;height:16px;padding:0 4px;
  background:var(--rd,#dc2626);color:#fff;font-size:11px;font-weight:700;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px #fff}
.ntf-panel{position:fixed;top:64px;right:12px;width:min(340px,calc(100vw - 24px));
  background:#fff;border:1px solid var(--g200,#e2e8e4);border-radius:14px;
  box-shadow:0 12px 36px rgba(10,60,47,.16);z-index:120;display:none;max-height:70vh;overflow-y:auto}
.ntf-head{font-weight:700;font-size:14px;padding:13px 16px;border-bottom:1px solid var(--g100,#f1f5f3)}
.ntf-item{padding:11px 16px;border-bottom:1px solid var(--g100,#f1f5f3);
  display:flex;flex-direction:column;gap:2px}
.ntf-item:last-child{border-bottom:none}
.ntf-item.unread{background:var(--pr-l,#e8f5ee)}
.ntf-item b{font-size:13px}
.ntf-item span{font-size:12.5px;color:var(--g600,#444);line-height:1.45}
.ntf-item small{font-size:12px;color:var(--g400,#9aa5a0);margin-top:2px}
.ntf-empty{padding:24px 16px;text-align:center;font-size:13px;color:var(--g500,#6b7c76)}
@media(max-width:740px){.ntf-bell{display:inline-block}}

/* ── v4.1: OTP মডাল ── */
.otp-inp{width:100%;padding:12px 14px;border:1.5px solid var(--g200,#e2e8e4);border-radius:10px;
  font-size:15px;font-family:inherit;margin-bottom:10px}
.otp-inp:focus{outline:none;border-color:var(--pr,#0B4A3A)}
.otp-code{text-align:center;font-size:22px;letter-spacing:10px;font-weight:700}
.otp-btn{width:100%;padding:12px;border:none;border-radius:10px;font-weight:700;font-size:14px;cursor:pointer}
.otp-resend{width:100%;margin-top:8px;border:none;background:none;color:var(--pr,#0B4A3A);
  font-size:12.5px;cursor:pointer;font-family:inherit;text-decoration:underline}
.otp-resend:disabled{color:var(--g400,#9aa5a0);cursor:default;text-decoration:none}
.otp-err{color:#dc2626;font-size:12.5px;min-height:18px;margin-top:6px;text-align:center}

/* ── Footer ── */
.site-footer{background:var(--pr,#0B4A3A);color:rgba(255,255,255,.8);padding:20px 16px;margin-top:56px}
.footer-inner{max-width:900px;margin:0 auto;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.footer-support{display:flex;align-items:center;gap:8px}
.footer-support-label{font-size:12px;color:rgba(255,255,255,.65)}
.footer-post-btn{background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.25);border-radius:999px;color:#fff;padding:9px 20px;font-size:13px;font-weight:700;cursor:pointer}
.footer-post-btn:hover{background:rgba(255,255,255,.2)}
.footer-copy{font-size:12px;color:rgba(255,255,255,.6)}
.footer-about{flex:1;min-width:220px;max-width:480px}
.footer-brand{font-size:17px;font-weight:800;color:#fff;margin-bottom:6px;letter-spacing:-.3px}
.footer-about-text{font-size:12px;color:rgba(255,255,255,.7);line-height:1.6;margin:0 0 8px}
.footer-free-notice{font-size:12px;color:rgba(255,255,255,.85);line-height:1.6;margin:0;background:rgba(255,255,255,.08);border-radius:8px;padding:8px 10px}
.footer-links{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.footer-legal-link{font-size:12px;color:rgba(255,255,255,.7);text-decoration:none;white-space:nowrap}
.footer-legal-link:hover{color:#fff;text-decoration:underline}
.wa-btn{display:inline-flex;align-items:center;gap:4px;background:#25D366;color:#06291f;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;text-decoration:none;white-space:nowrap}
.wa-btn:hover{opacity:.88}

/* ── Trust breakdown ── */
.trust-breakdown { display:flex; flex-direction:column; gap:6px; margin-bottom:10px; }
.tb-row { display:flex; align-items:center; gap:8px; padding:7px 10px; border-radius:8px; background:var(--g100,#f3f7f5); font-size:13px; }
.tb-row.tb-done { background:#EEF4F1; }
.tb-row.tb-todo { opacity:.6; }
.tb-ic { font-size:15px; width:22px; text-align:center; }
.tb-lbl { flex:1; }
.tb-lbl small { display:block; color:var(--g400,#9ab0a7); font-size:12px; font-weight:400; margin-top:1px; }
.tb-pts { font-size:12px; font-weight:700; color:var(--g400,#9ab0a7); }
.tb-pts.tb-earned { color:var(--pr,#0B4A3A); }
.trust-gate-note { background:#fff3cd; border:1px solid #f5c518; border-radius:8px; padding:9px 12px; font-size:12.5px; color:#856404; margin-top:8px; }
#trust-cta{background:#eaf6ef;border:1px solid #b9e3cb;border-radius:var(--r10);padding:11px 13px;margin-bottom:12px}
.trust-cta-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:13px;color:var(--g700,#1f2d28)}
.trust-cta-pts{color:var(--pr);font-weight:700}

/* ── Document upload groups ── */
.ver-group { margin-bottom:14px; }
.ver-group-title { font-size:12px; font-weight:700; color:var(--pr,#0B4A3A); padding:5px 0; border-bottom:1px solid var(--g200,#dfe8e4); margin-bottom:8px; text-transform:uppercase; letter-spacing:.03em; }
.ver-row { display:flex; align-items:center; justify-content:space-between; padding:7px 0; border-bottom:1px solid var(--g100,#f3f7f5); }
.ver-info { display:flex; flex-direction:column; gap:2px; }
.ver-info span { font-size:13px; }
.ver-info small { font-size:12px; color:var(--g400,#9ab0a7); }
.current-status-row { margin-bottom:6px; }

/* ── Filter subject dropdown ── */
#f-subject { min-width:100px; }

/* ── Experience rows ── */
.exp-row { display:flex; align-items:center; gap:12px; padding:10px 0; border-bottom:1px solid var(--g100,#f3f7f5); }
.exp-label { font-size:13px; font-weight:600; color:var(--g600,#3d5a52); min-width:140px; flex-shrink:0; }
.exp-sel { flex:1; padding:8px 10px; border:1.5px solid var(--g200,#dfe8e4); border-radius:8px; font-size:13px; font-family:inherit; background:#fff; color:var(--g700,#1a2e28); outline:none; cursor:pointer; }
.exp-sel:focus { border-color:var(--pr,#0B4A3A); }
.exp-inp { flex:1; padding:8px 10px; border:1.5px solid var(--g200,#dfe8e4); border-radius:8px; font-size:13px; font-family:inherit; outline:none; }
.exp-inp:focus { border-color:var(--pr,#0B4A3A); }

/* ── Language toggle ── */
.lang-toggle-row { display:flex; gap:8px; }
.lang-tog { display:flex; align-items:center; gap:6px; padding:7px 14px; border:1.5px solid var(--g200,#dfe8e4); border-radius:999px; cursor:pointer; font-size:13px; font-weight:600; transition:all .15s; user-select:none; }
.lang-tog input { display:none; }
.lang-tog.active { background:var(--pr,#0B4A3A); color:#fff; border-color:var(--pr,#0B4A3A); }

/* ── Doc choice cards ── */
.doc-hint { font-size:12px; color:var(--g500,#6b7c76); margin:-4px 0 10px; }
.doc-badge { display:inline-block; margin-left:6px; font-size:12px; font-weight:800; color:#c0392b; }
.doc-badge.done { color:var(--success-d); }
.vs-row{display:flex;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid var(--g100,#f1f5f4)}
.vs-row:last-child{border-bottom:none}
.vs-ic{font-size:15px;flex-shrink:0}
.vs-lbl{flex:1;font-size:12.5px;color:var(--g700,#334155)}
.vs-done .vs-lbl{color:var(--g800,#1e293b)}
.vs-check{font-size:12px;font-weight:700;color:var(--success-d)}
.vs-review .vs-lbl{color:#92400e}
.vs-review .vs-ic svg{color:#f59e0b}
.vs-review-badge{font-size:10.5px;color:#92400e;background:#fef3c7;border:1px solid #fcd34d;border-radius:99px;padding:2px 8px;white-space:nowrap}
.vbadge-review{background:rgba(251,191,36,.3);color:#fef3c7}
.vs-cta{background:#0B4A3A;color:#fff;border:none;border-radius:7px;padding:5px 11px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}
.vs-hint{font-size:12px;color:var(--g400,#94a3b8);white-space:nowrap}
.vs-lbl-wrap{flex:1;display:flex;flex-direction:column;gap:5px}
.vs-inline-form{display:flex;gap:6px;align-items:center}
.vs-inp{flex:1;padding:6px 9px;border:1px solid var(--g200);border-radius:7px;font-size:12px;font-family:inherit;outline:none}
.vs-inp:focus{border-color:var(--pr)}
.doc-options { display:flex; flex-direction:column; gap:6px; }
.doc-opt { display:flex; align-items:center; gap:10px; padding:10px 12px; border:1.5px solid var(--g200,#dfe8e4); border-radius:10px; cursor:pointer; transition:border-color .15s, background .15s; }
.doc-opt:hover { border-color:var(--pr,#0B4A3A); background:var(--g50,#f8fbfa); }
.doc-opt.uploaded { border-color:#27ae60; background:#f0faf4; pointer-events:none; }
.doc-opt-ic { font-size:20px; width:28px; text-align:center; flex-shrink:0; }
.doc-opt-tx { flex:1; display:flex; flex-direction:column; gap:1px; }
.doc-opt-tx b { font-size:13px; font-weight:700; }
.doc-opt-tx small { font-size:12px; color:var(--g400,#9ab0a7); }
.doc-opt-status { font-size:12px; font-weight:700; color:var(--pr,#0B4A3A); background:var(--g100,#f3f7f5); padding:4px 10px; border-radius:999px; white-space:nowrap; flex-shrink:0; }
.doc-opt-status.done { background:#EEF4F1; color:var(--success-d); }
.doc-opt-nid{flex-direction:column;align-items:stretch;cursor:default}
.doc-opt-top{display:flex;align-items:center;gap:10px}
.doc-opt-cams{display:flex;gap:8px}
.doc-cam-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;border:1.5px solid var(--g200,#dfe8e4);border-radius:999px;padding:8px 10px;font-size:12.5px;font-weight:600;color:var(--g600);cursor:pointer;background:#fff;text-align:center}
.doc-cam-btn:hover{border-color:var(--pr,#0B4A3A)}
.doc-cam-btn.primary{background:var(--pr,#0B4A3A);color:#fff;border-color:var(--pr,#0B4A3A)}
.doc-opt-nid.uploaded .doc-opt-cams{display:none}

/* ── Sprint 1: বুকিং ── */
.bk-cta{margin-right:6px}
.bk-card{background:#fff;border:1.5px solid var(--g200);border-radius:var(--r16);padding:14px 16px;margin-bottom:10px}
.bk-card.bk-highlight{border-color:var(--gold,#f5c518);box-shadow:0 0 0 1px var(--gold-l,#fff7e0)}
.bk-rate-prompt{font-size:12.5px;color:#92660a;background:#fff7e0;border-radius:var(--r10);padding:8px 11px;margin-bottom:8px;line-height:1.5;font-weight:600}
.bk-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}
.bk-top-left{display:flex;align-items:center;gap:7px}
.bk-dir{font-size:12px;font-weight:600;color:var(--g500)}
.bk-trial-badge{background:var(--pr-l);color:var(--pr);font-size:12px;font-weight:700;padding:2px 9px;border-radius:999px}
.bk-status{font-size:12px;font-weight:700;padding:3px 11px;border-radius:999px}
.bk-status.bk-pending{background:var(--gold-l);color:var(--gold-d)}
.bk-status.bk-accepted{background:var(--gr-l);color:var(--gr)}
.bk-status.bk-declined{background:var(--rd-l);color:var(--rd)}
.bk-status.bk-expired{background:var(--g100);color:var(--g400)}
.bk-status.bk-completed{background:#e0f2fe;color:#0369a1}
.bk-title{font-weight:700;font-size:14px;color:var(--g900);margin-bottom:3px}
.bk-who{font-size:12.5px;color:var(--g600);margin-bottom:6px}
.bk-countdown{display:inline-block;font-size:12px;font-weight:600;color:var(--g500);margin-bottom:6px}
.bk-countdown.urgent{color:var(--rd)}
.bk-msg{font-size:12.5px;color:var(--g600);background:var(--g50);border-radius:var(--r10);padding:8px 11px;margin-bottom:8px;line-height:1.5}
.bk-trial-followup{background:var(--pr-l);border-radius:var(--r10);padding:10px 12px;margin-bottom:8px}
.bk-trial-followup p{font-size:12.5px;color:var(--pr);font-weight:600;margin:0 0 8px;line-height:1.5}
.bk-trial-followup-btns{display:flex;gap:6px}
.bk-trial-wait{font-size:12px;color:var(--g500);background:var(--g50);border-radius:var(--r10);padding:7px 11px;margin-bottom:8px;line-height:1.5}
.bk-rating{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:12.5px;color:var(--g600);flex-wrap:wrap}
.bk-rating-edit-hint{font-size:12px;color:var(--g400)}
.star-row{font-size:18px;letter-spacing:2px}
.star-input{cursor:pointer;color:var(--g400)}
.star-input.filled{color:var(--gold)}
.star-input:hover{color:var(--gold-d)}
.bk-foot{display:flex;justify-content:space-between;align-items:center}
.bk-time{font-size:12px;color:var(--g400)}
.bk-actions{display:flex;gap:6px}

/* ── বুকিং-মডালে ট্রায়াল-চেকবক্স ── */
.bk-trial-check{display:flex;align-items:flex-start;gap:8px;background:var(--g50);border-radius:var(--r10);padding:10px 12px;margin:10px 0;cursor:pointer;font-size:12.5px;color:var(--g700)}
.bk-trial-check input{margin-top:2px;width:16px;height:16px;flex-shrink:0;cursor:pointer}
.bk-trial-check small{display:block;color:var(--g500);font-size:12px;margin-top:2px}

/* ── কাস্টম কনফার্ম-মডাল ── */
.confirm-mo-text{font-size:14px;color:var(--g800);line-height:1.6;margin:6px 0 16px;text-align:center}
.confirm-mo-btns{display:flex;gap:8px}
.confirm-mo-btns .btn-sec,.confirm-mo-btns .confirm-mo-yes{flex:1;justify-content:center;padding:10px}

/* ── Sprint 1: নিষ্ক্রিয়তা ব্যাজ ── */
.stale-pill{background:#fff7ed;color:#c2410c;border-radius:999px;padding:2px 9px;font-size:10px;font-weight:600;white-space:nowrap}
.phone-pending-pill{background:var(--warning-l);color:var(--warning-d);border-radius:999px;padding:2px 9px;font-size:10px;font-weight:600;white-space:nowrap}

/* ── Sprint 1: ঐচ্ছিক ডকুমেন্ট টগল ── */
.optional-docs-wrap{margin-top:14px;border-top:1px dashed var(--g200);padding-top:12px}
.optional-toggle{width:100%;text-align:left;background:var(--g50);border:1.5px solid var(--g200);border-radius:var(--r10);padding:11px 13px;font-size:13px;font-weight:600;color:var(--g600);cursor:pointer;font-family:inherit}
.optional-toggle small{display:block;font-weight:400;font-size:12px;color:var(--g400);margin-top:2px}
.optional-toggle:hover{border-color:var(--pr);color:var(--pr)}
.optional-toggle.open{border-color:var(--pr);color:var(--pr);background:var(--pr-l)}
.optional-docs{margin-top:10px}
.minor-note{font-size:12px;color:#856404;background:#fff3cd;border:1px solid #f5c518;border-radius:8px;padding:9px 12px;margin-bottom:8px;line-height:1.5}
.age-toggle-row{display:flex;gap:8px;margin-bottom:12px}
.age-tog{flex:1;padding:9px;border:1.5px solid var(--g200);border-radius:999px;background:var(--g50);font-size:12.5px;font-weight:600;color:var(--g600);cursor:pointer;font-family:inherit}
.age-tog.active{background:var(--pr);color:#fff;border-color:var(--pr)}
.ref-wrap{margin-top:10px}
.ref-label{font-size:12.5px;font-weight:600;color:var(--g600);margin-bottom:6px}

/* ── Sprint 3: হোম শর্টকাট সারি ── */
.home-shortcuts{display:flex;gap:14px;overflow-x:auto;padding:4px 2px 12px;margin-bottom:6px;-webkit-overflow-scrolling:touch}
.cat-tabs{display:flex;gap:6px;background:transparent;padding:4px 10px 8px;margin-bottom:4px}
.cat-tab{flex:1;padding:11px 6px;min-height:44px;border:2px solid var(--g200);background:#fff;font-family:inherit;font-size:13px;font-weight:700;color:var(--g400);border-radius:12px;cursor:pointer;transition:all .15s}
.cat-tab.on{background:var(--pr);color:#fff;border-color:var(--pr);box-shadow:0 4px 12px rgba(15,110,86,.25)}
.hs-item{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:5px;border:none;background:none;cursor:pointer;width:60px;font-family:inherit}
.hs-ic{width:52px;height:52px;border-radius:50%;background:var(--g50,#f1f5f3);display:flex;align-items:center;justify-content:center;font-size:24px;border:1.5px solid transparent;transition:border-color .15s}
.hs-item.on .hs-ic{border-color:var(--pr);background:var(--pr-l,#e8f5ee)}
.hs-lbl{font-size:12px;color:var(--g600,#475569);white-space:nowrap}
.hs-item.on .hs-lbl{color:var(--pr);font-weight:600}

/* ── Sprint 3: পোস্ট ফর্ম ক্যাটাগরি টগল ── */
.pfcat-btns{display:flex;gap:10px;margin-bottom:14px}
.pfcat-btn{flex:1;text-align:center;padding:12px;border:1.5px solid var(--g200);border-radius:var(--r12,12px);background:var(--g50);font-size:13.5px;font-weight:600;color:var(--g600);cursor:pointer}
.pfcat-btn.on{border-color:var(--pr);background:var(--pr-l,#e8f5ee);color:var(--pr)}

/* ── Sprint 3: কার্ড ক্যাটাগরি ব্যাজ ── */
.cat-badge{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;white-space:nowrap}
.cat-badge.cat-aca{background:#e6f1fb;color:#0c447c}
.cat-badge.cat-skill{background:#faece7;color:#712b13}
.pill.skill-pill{background:#faece7;color:#993c1d;font-weight:600}

/* ── Sprint 3.5: বেতন চক্র লেবেল ── */
.sal-cyc{font-size:12px;font-weight:500;color:var(--g500,#64748b);margin-left:1px}

/* ── Sprint 3.5: কম্প্যাক্ট হোম ── */
.hero.hero-sm{padding:28px 16px 16px}
.hero.hero-sm h1,.hero.hero-sm>p{display:none}
.hero-headline{font-family:var(--bn,inherit);font-size:clamp(20px,4vw,30px);font-weight:800;color:#fff;margin:0 0 24px!important;line-height:1.3;display:block!important}
.hl-dot{color:#D9C08A;font-weight:900;font-size:1.15em;vertical-align:-.05em;margin:0 1px;display:inline-block;animation:dotpop .5s cubic-bezier(.34,1.56,.64,1) both}
.hl-d2{animation-delay:.18s}
.hl-word{display:inline-block;animation:wordup .45s cubic-bezier(.22,1,.36,1) both}
.hl-w2{animation-delay:.1s}
.hl-w3{animation-delay:.2s}
@keyframes wordup{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes dotpop{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}
.hero-sub{font-size:13px;color:rgba(255,255,255,.82);margin:0 0 14px;display:block!important}
/* ── Option C: 2-tier filter — top bar ── */
.qf-topbar{display:flex;gap:8px;align-items:center;margin-bottom:12px;flex-wrap:wrap}
.qf-loc-chip,.qf-near-chip,.qf-filter-chip{flex-shrink:0;border:1.5px solid var(--g200);border-radius:999px;padding:7px 13px;font-size:13px;font-weight:600;color:var(--g600);background:#fff;cursor:pointer;font-family:inherit;white-space:nowrap;outline:none;display:inline-flex;align-items:center;gap:4px;transition:border-color .15s,background .15s}
.qf-loc-chip:hover,.qf-near-chip:hover,.qf-filter-chip:hover{border-color:var(--pr);color:var(--pr)}
.qf-loc-chip{gap:4px}
.qf-loc-x{margin-left:2px;font-size:12px;opacity:.6;padding:0 2px}
.qf-loc-x:hover{opacity:1;color:var(--rd)}
.qf-near-chip.on{border-color:var(--pr);background:var(--pr-l);color:var(--pr)}
.qf-filter-chip{border-style:dashed}
.qf-filter-chip.active{border-style:solid;border-color:var(--pr);background:var(--pr-l);color:var(--pr)}
.dir-pills{display:flex;background:var(--g100);border-radius:999px;padding:3px;gap:2px;flex-shrink:0}
.qf-dir-chip{flex-shrink:0;border:none;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600;color:var(--g500);background:none;cursor:pointer;font-family:inherit;white-space:nowrap;outline:none;display:inline-flex;align-items:center;gap:4px;transition:background .15s,color .15s,box-shadow .15s}
.qf-dir-chip.on.type-chai{background:#eff6ff;color:#1d4ed8;box-shadow:0 1px 3px rgba(0,0,0,.1)}
.qf-dir-chip.on.type-achi{background:var(--pr-l);color:var(--teal800);box-shadow:0 1px 3px rgba(0,0,0,.1)}
.qf-dir-chip.on:not(.type-chai):not(.type-achi){background:var(--pr-l);color:var(--pr);box-shadow:0 1px 3px rgba(0,0,0,.1)}
.qf-dir-chip.dimmed{opacity:0.4}
.qf-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--pr);color:#fff;border-radius:999px;min-width:18px;height:18px;font-size:10px;font-weight:700;padding:0 4px;margin-left:4px}

/* ── Bottom Sheet ── */
.bs-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:300;opacity:0;pointer-events:none;transition:opacity .25s}
.bs-overlay.open{opacity:1;pointer-events:auto}
.bs-sheet{position:fixed;bottom:0;left:0;right:0;max-height:88vh;background:#fff;border-radius:20px 20px 0 0;z-index:301;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .3s cubic-bezier(.32,.72,0,1)}
.bs-sheet.open{transform:translateY(0)}
.bs-handle{width:40px;height:4px;background:var(--g300);border-radius:99px;margin:12px auto 0}
.bs-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 10px;border-bottom:1px solid var(--g200)}
.bs-title{font-size:16px;font-weight:700;color:var(--g900)}
.bs-clear-btn{background:none;border:none;color:var(--g500);font-size:13px;cursor:pointer;font-family:inherit;padding:4px 0;text-decoration:underline}
.bs-header-actions{display:flex;align-items:center;gap:14px}
.bs-close-btn{background:var(--g100);border:none;border-radius:50%;width:28px;height:28px;color:var(--g600);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.bs-close-btn .ic-svg{width:14px;height:14px}
.bs-clear-btn:hover{color:var(--rd)}
.bs-body{overflow-y:auto;flex:1;padding:4px 0 8px;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column}
.bs-sec{padding:8px 16px;border-bottom:1px solid var(--g100)}
.bs-sec:last-child{border-bottom:none}
.bs-sec-label{font-size:12px;font-weight:700;color:var(--g500);text-transform:uppercase;letter-spacing:.04em;margin-bottom:7px}
.bs-sec-grouped{border-bottom:none;padding-bottom:2px}
.bs-chips{display:flex;flex-wrap:wrap;gap:8px}
.bs-chip{border:1.5px solid var(--g200);border-radius:999px;padding:12px 14px;font-size:13px;font-weight:600;color:var(--g600);background:#fff;cursor:pointer;font-family:inherit;white-space:nowrap;transition:all .15s}
.bs-chip:hover{border-color:var(--pr);color:var(--pr)}
.bs-chip.on{border-color:var(--pr);background:var(--pr);color:#fff}
.bs-toggle-row{display:flex;gap:0;border:1.5px solid var(--g200);border-radius:10px;overflow:hidden;width:fit-content}
.bs-toggle{border:none;padding:13px 18px;font-size:13px;font-weight:600;color:var(--g600);background:#fff;cursor:pointer;font-family:inherit;border-right:1px solid var(--g200);white-space:nowrap;transition:all .15s}
.bs-toggle:last-child{border-right:none}
.bs-toggle.on{background:var(--pr);color:#fff}
.bs-select{width:100%;border:1.5px solid var(--g200);border-radius:10px;padding:10px 14px;font-size:14px;font-family:inherit;color:var(--g800);background:#fff;outline:none;appearance:auto}
.bs-select:focus{border-color:var(--pr)}
.bs-footer{padding:14px 18px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--g200);background:#fff}
.bs-apply-btn{width:100%;background:var(--pr);color:#fff;border:none;border-radius:12px;padding:14px;font-size:16px;font-weight:700;cursor:pointer;font-family:inherit;transition:background .15s}
.bs-apply-btn:hover{background:var(--pr-d)}
.qf-clear{border-color:#fca5a5;color:#dc2626;background:#fff5f5}
.filter-toggle-row-wrap{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.filter-toggle-row{display:flex;gap:8px;align-items:center;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:1;padding-bottom:2px}
.filter-toggle-row::-webkit-scrollbar{display:none}
.filter-toggle-row button{font-size:13px;padding:7px 14px;border:1px solid var(--g200,#e2e8f0);border-radius:999px;background:var(--white,#fff);color:var(--g600,#475569);cursor:pointer;font-family:inherit;white-space:nowrap;flex-shrink:0}
.filter-toggle-row button.on{background:var(--pr-l,#e8f5ee);border-color:var(--pr);color:var(--pr)}
.filter-toggle-row #filter-toggle{position:sticky;left:0;z-index:2}
.alert-btn{width:100%;border:1.5px dashed var(--g300);background:var(--g50);border-radius:10px;padding:10px;font-size:12.5px;color:var(--g600);cursor:pointer;font-family:inherit;margin-top:6px}
.alert-btn:hover{border-color:var(--pr);color:var(--pr);background:var(--pr-l)}
.pg-size{margin-left:8px}
#filter-bar{margin-bottom:14px}

/* ── চ্যাট থ্রেড ডিলিট ── */
.thread{display:flex;align-items:center;gap:8px}
.thread-main{flex:1;min-width:0;cursor:pointer}
.thread-del{flex:0 0 auto;background:none;border:none;font-size:15px;cursor:pointer;opacity:.5;padding:6px;border-radius:8px}
.thread-del:hover{opacity:1;background:var(--g50,#f1f5f3)}

/* ── প্রোফাইল ট্যাব ── */
.ptab-bar{display:flex;gap:4px;background:var(--g50,#f1f5f3);border-radius:12px;padding:4px;margin-bottom:12px}
.ptab{flex:1;padding:13px 6px;min-height:44px;border:none;background:none;font-family:inherit;font-size:13px;font-weight:600;color:var(--g500,#64748b);border-radius:9px;cursor:pointer}
.ptab.on{background:var(--white,#fff);color:var(--pr);box-shadow:0 1px 3px rgba(0,0,0,.08)}

/* ── অনলাইন ডট + নো-রিপ্লাই ব্যাজ ── */
.online-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#16a34a;margin-right:6px;vertical-align:middle}
.noreply-badge{display:inline-block;font-size:12px;font-weight:600;color:#d97706;background:#fef3c7;border-radius:999px;padding:1px 8px;margin-left:6px}

/* Saved Search Alert বোতাম */
#savesearch-btn{background:#e8f5ee;border-color:#1b6ef3;color:#1b6ef3}

/* ── এলাকা "তালিকায় নেই" রিকোয়েস্ট ── */
.elaka-req-row{display:flex;gap:6px;align-items:center}
.elaka-req-status{font-size:12px;color:var(--g400);margin-top:4px;min-height:16px}
.elaka-notfound-link{background:none;border:none;padding:2px 0;font-size:12px;color:var(--pr);cursor:pointer;text-decoration:underline;text-underline-offset:2px;font-family:inherit;margin-top:2px}

/* ── Wizard toggle row (gender, etc.) ── */
.wiz-toggle-row{display:flex;gap:6px;flex-wrap:wrap}
.wiz-toggle{flex:1;padding:10px 8px;border:1.5px solid var(--g200);border-radius:9px;background:#fff;font-size:13px;font-weight:600;color:var(--g600);cursor:pointer;font-family:inherit;transition:border-color .15s,background .15s}
.wiz-toggle.on{border-color:var(--pr);background:var(--pr-l);color:var(--pr-d,#0B4A3A)}

/* ── Wizard v2 — conversational UI ── */
.wiz-role-btn{display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;background:#fff;border:1.5px solid var(--g200);border-radius:12px;cursor:pointer;text-align:left;font-family:inherit;transition:.12s}
.wiz-role-btn:hover,.wiz-role-btn.on{border-color:var(--pr);background:var(--pr-l)}
.wiz-mode-btn{display:flex;flex-direction:column;align-items:center;padding:12px 6px;border:1.5px solid var(--g200);border-radius:10px;background:#fff;cursor:pointer;font-size:1.6rem;font-family:inherit;transition:.12s;min-height:64px;justify-content:center}
.wiz-mode-btn.on{border-color:var(--pr);background:var(--pr-l)}
.wiz-status-chip{padding:10px 8px;border:1.5px solid var(--g200);border-radius:9px;background:#fff;font-size:12px;font-weight:600;color:var(--g600);cursor:pointer;font-family:inherit;text-align:center;transition:.12s}
.wiz-status-chip.on{border-color:var(--pr);background:var(--pr-l);color:var(--pr-d,#0B4A3A)}
.wiz-exp-chip{padding:8px 4px;border:1.5px solid var(--g200);border-radius:8px;background:#fff;font-size:12px;font-weight:600;color:var(--g600);cursor:pointer;font-family:inherit;text-align:center;transition:.12s}
.wiz-exp-chip.on{border-color:var(--pr);background:var(--pr-l);color:var(--pr-d,#0B4A3A)}
.wiz-travel-chip{font-size:12px;padding:5px 10px;border-radius:999px;border:1.5px solid var(--g200);background:#fff;cursor:pointer;color:var(--g700);transition:.1s;font-family:inherit}
.wiz-travel-chip.on{background:var(--pr-l);border-color:var(--pr);color:var(--pr-d,#0B4A3A);font-weight:600}
.wiz-gps-link{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--pr);background:none;border:none;cursor:pointer;padding:4px 0;font-family:inherit;margin-top:6px;opacity:.8}
.wiz-gps-link:hover{opacity:1;text-decoration:underline}
.wiz-gps-btn-primary{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:13px;border:2px solid var(--pr);border-radius:12px;background:var(--pr-l);color:var(--pr);font-size:14px;font-weight:700;font-family:inherit;cursor:pointer;margin-bottom:4px;transition:background .15s}
.wiz-gps-btn-primary:hover{background:#d1fae5}
.pf-loc-divider{text-align:center;font-size:12px;color:var(--g400);margin:10px 0 8px;position:relative}
.pf-loc-divider::before,.pf-loc-divider::after{content:'';position:absolute;top:50%;width:38%;height:1px;background:var(--g200)}
.pf-loc-divider::before{left:0}
.pf-loc-divider::after{right:0}
/* ── Post-form location search ───────────────────────────────────────── */
.pf-loc-wrap{position:relative}
.pf-loc-input{width:100%;padding:9px 12px;border:1.5px solid var(--g200,#e2e8f0);border-radius:8px;font-family:inherit;font-size:14px;color:var(--g800,#1f2937);background:#fff;outline:none;transition:border-color .15s}
.pf-loc-input:focus{border-color:var(--pr,#0a3c2f)}
.pf-loc-input:disabled{background:var(--g50,#fafafa);color:var(--g400,#9ca3af);cursor:not-allowed}
.pf-loc-input.pf-loc-selected{border-color:var(--pr,#0a3c2f);background:var(--pr-l,#e8f5ee)}
.pf-loc-dd{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1.5px solid var(--g200,#e2e8f0);border-radius:10px;box-shadow:0 4px 20px rgba(0,0,0,.1);z-index:500;max-height:220px;overflow-y:auto;display:none}
.pf-loc-dd.open{display:block}
.pf-loc-item{padding:10px 14px;font-size:14px;cursor:pointer;color:var(--g800,#1f2937);border-bottom:1px solid var(--g100,#f4f4f5);display:flex;align-items:center;gap:8px}
.pf-loc-item:last-child{border-bottom:none}
.pf-loc-item:hover,.pf-loc-item.active{background:var(--pr-l,#e8f5ee);color:var(--pr,#0a3c2f)}
.pf-loc-item .pf-loc-hint{font-size:12px;color:var(--g400,#9ca3af);margin-left:auto}
.wiz-avail-chip{font-size:12px;padding:7px 3px;border-radius:8px;border:1.5px solid var(--g200);background:#fff;cursor:pointer;font-family:inherit;text-align:center;transition:.1s;line-height:1.2;color:var(--g700)}
.wiz-avail-chip.on{background:var(--pr-l);border-color:var(--pr);color:var(--pr-d,#0B4A3A);font-weight:600}
.pf-mode-card{display:flex;flex-direction:column;align-items:center;padding:12px 6px;border:1.5px solid var(--g200);border-radius:10px;background:#fff;cursor:pointer;font-size:1.6rem;font-family:inherit;transition:.12s;min-height:64px;justify-content:center}
.pf-mode-card.on{border-color:var(--pr);background:var(--pr-l)}
.pf-chip{padding:9px 10px;border:1.5px solid var(--g200);border-radius:9px;background:#fff;font-size:13px;font-family:inherit;cursor:pointer;color:var(--g700);transition:.1s;text-align:center}
.pf-chip.on{border-color:var(--pr);background:var(--pr-l);color:var(--pr-d,#0B4A3A);font-weight:600}

/* ── Doc review status badges ── */
.doc-review-badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;margin-top:5px}
.doc-review-badge.pending{background:#fef9c3;color:#854d0e}
.doc-review-badge.approved{background:#dcfce7;color:#166534}
.doc-review-badge.rejected{background:#fee2e2;color:#991b1b}

/* ── Last active / response time pill on cards ── */
.ppv2-response{font-size:12px;color:var(--g500);margin-top:4px}

/* ── Profile info: grade range chips (edit mode) ── */
.prof-grade-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.prof-grade-chip{font-size:12px;padding:4px 11px;border-radius:999px;border:1.5px solid var(--g200);background:#fff;cursor:pointer;font-family:inherit;font-weight:500;color:var(--g700)}
.prof-grade-chip.on{border-color:var(--pr);background:var(--pr-l);color:var(--pr-d,#0B4A3A);font-weight:700}

/* ── Teaching mode checkboxes (profile tab) ── */
.prof-mode-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.prof-mode-opt{display:flex;align-items:center;gap:6px;font-size:13px;padding:8px 12px;border:1.5px solid var(--g200);border-radius:9px;cursor:pointer}
.prof-mode-opt:has(input:checked){border-color:var(--pr);background:var(--pr-l)}

/* ── Intro video box ── */
.prof-video-wrap{border-radius:12px;overflow:hidden;margin-bottom:10px;background:#000}
.prof-video-wrap video{width:100%;max-height:200px;display:block}

/* ── Location compact section ── */
.loc-sec-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.gps-sm-btn{font-size:12px;padding:5px 10px;border-radius:999px;border:1px solid var(--pr);background:var(--pr-l);color:var(--pr-d,#0B4A3A);cursor:pointer;font-family:inherit;font-weight:500}
.loc-3col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}
.loc-col{}
.loc-col-lbl{font-size:12px;color:var(--g500);margin-bottom:3px}
.loc-col-sel{width:100%;padding:7px 8px;border-radius:8px;border:1px solid var(--g200);background:var(--g50,#f9fafb);font-size:13px;color:var(--g900);font-family:inherit;appearance:none}

/* ── Teaching info section ── */
.teach-sub-lbl{font-size:12px;color:var(--g500);margin-bottom:6px;font-weight:500}
.teach-chip-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px}
.teach-chip{padding:7px 14px;border-radius:999px;border:1px solid var(--g200);background:#fff;font-size:12.5px;font-weight:500;color:var(--g700);cursor:pointer;font-family:inherit;transition:border-color .15s,background .15s}
.teach-chip.on{border-color:var(--pr);background:var(--pr-l);color:var(--pr-d,#0B4A3A)}
.teach-chip-check{display:flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;border:1px solid var(--g200);background:#fff;font-size:12.5px;color:var(--g700);cursor:pointer}
.teach-chip-check:has(input:checked){border-color:var(--pr);background:var(--pr-l);color:var(--pr-d,#0B4A3A);font-weight:500}
.teach-chip-check input{width:14px;height:14px;accent-color:var(--pr);margin:0}
.teach-divider{height:1px;background:var(--g100);margin:10px 0 8px}

/* ── Compact experience grid ── */
.cpt-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:4px}
.cpt-item{}
.cpt-lbl{font-size:12px;color:var(--g500);margin-bottom:3px}
.cpt-sel{width:100%;padding:7px 8px;border-radius:8px;border:1px solid var(--g200);background:var(--g50,#f9fafb);font-size:12px;color:var(--g900);font-family:inherit;appearance:none}

/* ── Feed loading skeleton (shown instantly while ads fetch) ── */
.ad-skel{padding:13px 14px;border-bottom:1px solid var(--g100);display:flex;flex-direction:column;gap:8px}
.ad-skel-line{height:12px;border-radius:6px;background:linear-gradient(90deg,var(--g100,#eef2f6) 25%,var(--g200,#e2e8f0) 37%,var(--g100,#eef2f6) 63%);background-size:400% 100%;animation:ad-skel-shimmer 1.3s ease-in-out infinite}
.ad-skel-title{width:62%;height:14px}
.ad-skel-sub{width:84%}
.ad-skel-meta{width:40%;height:10px}
@keyframes ad-skel-shimmer{0%{background-position:100% 0}100%{background-position:0 0}}
@media (prefers-reduced-motion:reduce){.ad-skel-line{animation:none}}

/* ── Optimistic message: failed-to-send state ── */
.msg-wrap.msg-failed .msg{opacity:.6;border:1px solid var(--er,#ef4444)}
.msg-wrap.msg-failed .msg-receipt{color:var(--er,#ef4444)}

/* ── Post Detail Bottom Sheet ── */
#post-detail-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1100;opacity:0;pointer-events:none;transition:opacity .3s}
#post-detail-overlay.open{opacity:1;pointer-events:auto}
/* ── Post Detail Sheet — premium compact card ── */
#post-detail-sheet{position:fixed;left:0;right:0;bottom:0;max-height:76vh;background:#fff;border-radius:18px 18px 0 0;z-index:1101;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .28s cubic-bezier(.32,.72,0,1);will-change:transform;box-shadow:0 -2px 24px rgba(0,0,0,.08)}
#post-detail-sheet.open{transform:translateY(0)}
/* Header */
.pds-header{padding:10px 14px 0;flex-shrink:0;border-bottom:1px solid var(--g100)}
.pds-topbar{display:flex;align-items:center;gap:6px;margin-bottom:6px}
.pds-type{font-size:10px;font-weight:700;color:var(--pr);text-transform:uppercase;letter-spacing:.04em;background:var(--pr-l);padding:2px 7px;border-radius:99px}
.pds-ago{font-size:12px;color:var(--g400)}
.pds-icon-sm{width:28px;height:28px;border-radius:50%;background:var(--g100);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--g500);flex-shrink:0;transition:background .15s}
.pds-icon-sm:hover{background:var(--g200)}
.pds-icon-sm svg{width:13px;height:13px}
.pds-icon-sm#pds-save-btn{color:var(--pr);background:var(--pr-l)}
.pds-icon-sm#pds-share-btn{color:#0369a1;background:#e0f2fe}
.pds-close-btn{background:var(--g200);color:var(--g600)}
.pds-title-salary-row{display:flex;align-items:flex-start;gap:10px;margin-bottom:8px}
.pds-title{font-size:14px;font-weight:800;color:var(--g900);line-height:1.35;flex:1}
.pds-header-salary{font-size:16px;font-weight:800;color:#16a34a;font-family:var(--en);white-space:nowrap;flex-shrink:0;padding-top:1px}
.pds-hsal-cyc{font-size:12px;font-weight:600;color:var(--g400)}
/* Poster — single compact row */
.pds-poster-row{display:flex;align-items:center;gap:8px;padding:8px 0}
.pds-av-sm{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--teal600),var(--teal800));color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}
.pds-av-sm.pds-av-link{cursor:pointer;transition:opacity .15s}
.pds-av-sm.pds-av-link:hover{opacity:.75}
.pds-pr-info{display:flex;align-items:center;gap:5px;flex-wrap:wrap;flex:1;min-width:0}
.pds-pr-name{font-size:12px;font-weight:700;color:var(--g900)}
.pds-gdot{font-size:10px;font-weight:600;padding:1px 6px;border-radius:99px}
.pds-gdot.female{background:#fce7f3;color:#9d174d}
.pds-gdot.male{background:#eff6ff;color:#1d4ed8}
.pds-vi{width:13px;height:13px;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-2px}
.verif-info-btn{font-size:12px;font-weight:700;color:var(--g400);cursor:pointer;user-select:none;margin-left:1px;vertical-align:-1px}
.pds-vi-ph{stroke:#16a34a}
.pds-vi-em{stroke:#2563eb}
.pds-vi-nid{stroke:#d97706}
.pds-pr-rating{font-size:10px;font-weight:700;color:#92400e;background:#fef9ee;padding:1px 5px;border-radius:99px}
.pds-trust-dot{font-size:10px;font-weight:700}
/* Scrollable body */
.pds-body{flex:1;overflow-y:auto;padding:10px 14px 6px;-webkit-overflow-scrolling:touch}
.pds-info-line{font-size:13px;color:var(--g700);line-height:1.5;margin-bottom:4px}
.pds-loc-line{font-size:12px;color:var(--g500);margin-bottom:10px}
.pds-row-label{font-size:11px;font-weight:700;color:var(--g400);text-transform:uppercase;letter-spacing:.05em;margin:8px 0 5px}
.pds-section-divider{height:1px;background:var(--g100);margin:10px -14px}
.pds-sub-chips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:2px}
.pds-sub-chip{padding:4px 10px;background:var(--pr-l);border-radius:99px;font-size:12px;font-weight:600;color:var(--pr)}
.pds-desc{font-size:12px;color:var(--g600);line-height:1.6;margin-bottom:4px}
/* Sticky footer — salary + CTAs */
.pds-footer{padding:10px 14px 18px;border-top:1px solid var(--g100);flex-shrink:0;background:#fff}
.pds-footer-row{display:flex;gap:8px}
.pds-f-msg{flex:1;padding:12px 8px;background:var(--pr);color:#fff;border:none;border-radius:12px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:5px}
.pds-f-book{flex:1;padding:12px 8px;background:#fff;color:var(--pr);border:1.5px solid var(--pr);border-radius:12px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:5px}
.pds-icon-btn{width:46px;height:46px;border:1.5px solid var(--g200);border-radius:12px;background:#fff;font-size:19px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:inherit}
.pds-icon-btn.bm-saved{border-color:var(--pr);background:var(--pr-l)}

/* ── Public Profile Deep Dive v2 ── */
.pdd2-wrap{padding:14px 14px 8px}
.pdd2-hero{display:flex;align-items:flex-start;gap:14px;margin-bottom:12px}
.pdd2-av{width:62px;height:62px;border-radius:50%;background:linear-gradient(135deg,var(--teal600),var(--teal800));display:flex;align-items:center;justify-content:center;font-size:var(--fs-2xl);font-weight:700;color:#fff;flex-shrink:0}
.pdd2-hero-info{flex:1;min-width:0}
.pdd2-name{font-size:var(--fs-lg);font-weight:800;color:var(--g900);margin-bottom:3px}
.pdd2-headline{font-size:12px;color:var(--g500);margin-bottom:6px}
.pdd2-verif-badges{display:flex;flex-wrap:wrap;gap:5px}
.pdd2-badge{font-size:12px;font-weight:600;padding:3px 8px;border-radius:99px}
.pdd2-verif{background:#EEF4F1;color:#073328}
.pdd2-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:12px}
.pdd2-stat-card{background:var(--g50);border-radius:12px;padding:10px 6px;text-align:center}
.pdd2-stat-icon{font-size:18px;margin-bottom:3px}
.pdd2-stat-val{font-size:12px;font-weight:700;color:var(--g800);margin-bottom:2px;line-height:1.2}
.pdd2-stat-label{font-size:11px;color:var(--g400)}
.pdd2-section{margin-bottom:12px}
.pdd2-sec-label{font-size:11px;font-weight:700;color:var(--g400);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}
.pdd2-id-pills{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.pdd2-id-pill{padding:5px 12px;background:var(--g100);border-radius:99px;font-size:13px;font-weight:600;color:var(--g700)}
.pdd2-bio{font-size:13px;color:var(--g700);line-height:1.6;background:var(--g50);border-radius:10px;padding:11px 12px}
.pdd2-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.pdd2-info-card{background:var(--g50);border-radius:10px;padding:9px 10px}
.pdd2-ic-label{font-size:11px;color:var(--g400);margin-bottom:2px}
.pdd2-ic-val{font-size:12px;font-weight:600;color:var(--g800);line-height:1.4}
.pdd2-edu-list{display:flex;flex-direction:column;gap:6px}
.pdd2-edu-row{background:var(--g50);border-radius:10px;padding:10px 12px}
.pdd2-edu-level{font-size:13px;font-weight:700;color:var(--g800);margin-bottom:2px}
.pdd2-edu-detail{font-size:12px;color:var(--g500)}
.pdd2-verif-grid{display:flex;flex-direction:column;gap:4px}
.pdd2-vi{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;background:var(--g50);border-radius:8px;font-size:12px;color:var(--g600)}
.pdd2-vi b{color:var(--g500);font-size:13px}
.pdd2-vi-yes b{color:#22c55e}
.pdd2-trust-stack{display:flex;flex-direction:column;gap:6px}
.pdd2-ts-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;background:var(--g50)}
.pdd2-ts-ok{background:#f0fdf4}
.pdd2-ts-icon{width:28px;height:28px;border-radius:50%;background:var(--g200);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}
.pdd2-ts-ok .pdd2-ts-icon{background:#dcfce7}
.pdd2-ts-body{flex:1}
.pdd2-ts-title{font-size:13px;font-weight:700;color:var(--g800)}
.pdd2-ts-sub{font-size:11px;color:var(--g500);margin-top:1px}
.pdd2-ts-ok .pdd2-ts-title{color:#14532d}
.pdd2-ts-ok .pdd2-ts-sub{color:#16a34a}
.pdd2-tier{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:99px;font-size:12px;font-weight:700}
.pdd2-tier-reg{background:var(--g100);color:var(--g600)}
.pdd2-tier-verif{background:#e6f4ed;color:#085041}
.pdd2-tier-gold{background:#fef3c7;color:#92400e}
.pdd2-disclaimer{font-size:12px;color:var(--g400);line-height:1.6;padding:8px 0 4px;border-top:1px solid var(--g100);margin-top:8px}

/* ── Post Detail: Batch Cards ── */
.pds-batch-card{background:var(--g50);border-radius:10px;padding:10px 12px;margin-bottom:8px}
.pds-batch-title{font-size:13px;font-weight:700;color:var(--g800);margin-bottom:5px}
.pds-batch-row{font-size:12px;color:var(--g600);margin-bottom:3px}

/* ── Post Detail: Availability Grid ── */
.pds-avail-grid{margin-bottom:8px;overflow-x:auto}
.pds-ag-head{display:grid;grid-template-columns:36px repeat(4,1fr);gap:3px;margin-bottom:3px}
.pds-ag-head div{font-size:11px;font-weight:700;color:var(--g400);text-align:center;text-transform:uppercase}
.pds-ag-row{display:grid;grid-template-columns:36px repeat(4,1fr);gap:3px;margin-bottom:3px}
.pds-ag-day{font-size:12px;font-weight:600;color:var(--g600);display:flex;align-items:center}
.pds-ag-cell{border-radius:6px;background:var(--g100);height:28px;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--g300)}
.pds-ag-cell.pds-ag-on{background:var(--pr-l);color:var(--pr);font-weight:700}
.pds-nego-tag{display:inline-block;padding:4px 10px;background:#fef3c7;color:#92400e;border-radius:99px;font-size:12px;font-weight:600;margin-right:6px;margin-bottom:6px}

/* ── booking modal: batch picker (কোন ব্যাচে ভর্তি) ── */
#bk-batch-picker{margin:12px 0}
.bk-batch-label{font-size:13px;font-weight:700;color:var(--g500,#334155);margin-bottom:8px}
.bk-batch-opt{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;text-align:left;
  padding:11px 13px;margin-bottom:8px;border:1.5px solid var(--g200,#e2e8f0);border-radius:10px;background:var(--white,#fff);
  cursor:pointer;font-family:inherit;transition:border-color .15s,background .15s}
.bk-batch-opt:hover:not(.full){border-color:var(--pr,#2563eb)}
.bk-batch-opt.on{border-color:var(--pr,#2563eb);background:var(--pr-l,#eff6ff)}
.bk-batch-opt.full{opacity:.55;cursor:not-allowed}
.bk-batch-opt-main{font-size:13.5px;font-weight:600;color:var(--g600,#1e293b)}
.bk-batch-opt-seat{font-size:12px;font-weight:600;color:var(--pr,#2563eb);white-space:nowrap}
.bk-batch-opt.full .bk-batch-opt-seat{color:var(--rd,#dc2626)}

/* ── filter: জেলা/থানা/এলাকা এক row-এ compact ── */
.bs-loc-row{display:flex;gap:8px;flex-wrap:wrap}
.bs-loc-row .bs-sec{flex:1 1 30%;min-width:96px;margin:0}
.bs-loc-row .bs-select{width:100%}
