/* ============================================================
   cv_maker.css — BD Survey Shop · ফ্রি সিভি ও বিয়ের বায়োডাটা মেকার
   ------------------------------------------------------------
   দুই অংশ:  (১) অ্যাপ ক্রোম (ফর্ম · টুলবার · টেমপ্লেট চিপ)
             (২) A4 শিট + ১৬টি টেমপ্লেট স্কিন + প্রিন্ট CSS
   শিটের ভেতরে সব মাপ px — 794px = 210mm @96dpi, তাই @page A4-তে
   হুবহু বসে। প্রিভিউতে JS শুধু scale() করে।
   ============================================================ */

:root{
  --cv-blue:#2563eb; --cv-blue2:#3b82f6; --cv-ink:#0f172a; --cv-mut:#64748b;
  --cv-hint:#94a3b8; --cv-bdr:#d7e3f7; --cv-line:#e6eefb;
  --cv-sh:0 2px 10px rgba(37,99,235,.12);
  --cv-sh2:0 6px 22px rgba(37,99,235,.22);
  --cv-r:6px; --cv-rs:3px; --ctl-h:34px;
  color-scheme:light;
}
*{box-sizing:border-box}
body.cvpage{margin:0;background:#f2f6fd;color:var(--cv-ink);
  font-family:'Hind Siliguri',system-ui,-apple-system,sans-serif}

/* ── ব্যানার ───────────────────────────────────────────── */
.cvwrap{max-width:1460px;margin:0 auto;padding:8px 10px 14px;display:flex;flex-direction:column;gap:8px}
.cvhero{background:linear-gradient(135deg,#1d4ed8,#3b82f6 60%,#38bdf8);color:#fff;
  border-radius:var(--cv-r);padding:12px 14px;box-shadow:var(--cv-sh2);
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;width:100%}
/* color সরাসরি দিতেই হবে: dfashion-core.js গ্লোবাল h1{color:var(--df-ink)} বসায়,
   সেটা .cvhero থেকে inherit করা সাদাকে হারিয়ে দেয় (inherit < নিজের রুল) */
.cvhero h1{margin:0;font-size:20px;font-weight:700;display:flex;align-items:center;gap:8px;line-height:1.25;color:#fff}
.cvhero p{margin:2px 0 0;font-size:13px;opacity:.95;line-height:1.5}
.cvhero .sp{flex:1 1 40px}
.cvhero .free{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;
  border-radius:999px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);
  font-size:12px;font-weight:700;white-space:nowrap}

/* ── গ্রেডিয়েন্ট বাটন (সব সময় হাইলাইটেড) ───────────────── */
.gb{display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;
  height:var(--ctl-h);padding:0 12px;border:0;border-radius:var(--cv-rs);cursor:pointer;
  font:700 12.5px/1 'Hind Siliguri',system-ui,sans-serif;color:#fff;white-space:nowrap;
  background:linear-gradient(135deg,#2563eb,#3b82f6);box-shadow:0 2px 8px rgba(37,99,235,.38);
  transition:transform .2s cubic-bezier(.2,.8,.3,1.4),box-shadow .2s ease,filter .2s ease;
  user-select:none;-webkit-tap-highlight-color:transparent}
.gb:hover{transform:scale(1.12) translateY(-1px);box-shadow:0 8px 20px rgba(37,99,235,.55);filter:brightness(1.08)}
.gb:active{transform:scale(1.03)}
.gb.gr{background:linear-gradient(135deg,#047857,#10b981);box-shadow:0 2px 8px rgba(5,150,105,.38)}
.gb.gr:hover{box-shadow:0 8px 20px rgba(5,150,105,.55)}
.gb.rd{background:linear-gradient(135deg,#b91c1c,#ef4444);box-shadow:0 2px 8px rgba(220,38,38,.35)}
.gb.rd:hover{box-shadow:0 8px 20px rgba(220,38,38,.5)}
.gb.gy{background:linear-gradient(135deg,#475569,#64748b);box-shadow:0 2px 8px rgba(71,85,105,.35)}
.gb.on{background:linear-gradient(135deg,#0f172a,#1e3a8a)}
.gb i{font-size:12px}

/* ── মোড সুইচ + টুলবার ─────────────────────────────────── */
.cvbar{background:#fff;border-radius:var(--cv-r);box-shadow:var(--cv-sh);
  padding:7px 9px;display:flex;align-items:center;gap:7px;flex-wrap:wrap;width:100%}
.cvbar .lbl{font-size:12px;font-weight:700;color:#334155;white-space:nowrap}
.cvbar .sp{flex:1 1 20px}
.cvbar .seg{display:flex;gap:4px}
.cvbar input[type=color]{width:34px;height:var(--ctl-h);padding:2px;border:1px solid var(--cv-bdr);
  border-radius:var(--cv-rs);background:#fff;cursor:pointer}
.cvbar select{height:var(--ctl-h);padding:0 8px;border:1px solid var(--cv-bdr);border-radius:var(--cv-rs);
  background:#fff;color:var(--cv-ink);font:600 12.5px/1 'Hind Siliguri',system-ui,sans-serif;cursor:pointer}

/* ── টেমপ্লেট চিপ স্ট্রিপ ──────────────────────────────── */
.tplstrip{background:#fff;border-radius:var(--cv-r);box-shadow:var(--cv-sh);padding:7px 9px;width:100%}
.tplrow{display:flex;gap:7px;overflow-x:auto;scrollbar-width:thin;padding-bottom:3px}
.tplrow::-webkit-scrollbar{height:6px}
.tplrow::-webkit-scrollbar-thumb{background:#c7d9f6;border-radius:9px}
.tpc{flex:0 0 78px;width:78px;cursor:pointer;border-radius:var(--cv-rs);padding:3px;
  border:2px solid transparent;background:#f7faff;transition:all .18s ease}
.tpc:hover{transform:translateY(-2px);box-shadow:0 5px 14px rgba(37,99,235,.28)}
.tpc.on{border-color:var(--cv-blue);background:#eaf2ff;box-shadow:0 3px 12px rgba(37,99,235,.35)}
.tpc .mini{height:62px;border-radius:2px;background:#fff;border:1px solid #e2e8f0;overflow:hidden;
  position:relative}
.tpc .mini .bar{position:absolute;left:0;right:0;top:0;height:15px;background:var(--mc,#2563eb)}
.tpc .mini .sd{position:absolute;top:0;bottom:0;left:0;width:26px;background:var(--mc,#2563eb)}
.tpc .mini.rt .sd{left:auto;right:0}
.tpc .mini .ln{position:absolute;height:3px;border-radius:2px;background:#dbe4f3}
.tpc .mini.fr{border:3px double var(--mc,#2563eb)}
.tpc .nm{font-size:10.5px;font-weight:700;color:#334155;text-align:center;margin-top:3px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}

/* ── মূল দুই কলাম ─────────────────────────────────────── */
.cvmain{display:grid;grid-template-columns:398px minmax(0,1fr);gap:8px;align-items:start;width:100%}
.cvform{display:flex;flex-direction:column;gap:6px;min-width:0}
.cvstage{min-width:0;width:100%}

/* ── ফর্ম কার্ড ────────────────────────────────────────── */
.fbox{background:#fff;border-radius:var(--cv-r);box-shadow:var(--cv-sh);overflow:hidden}
.fbox>summary{cursor:pointer;list-style:none;padding:8px 10px;font-weight:700;font-size:13px;
  display:flex;align-items:center;gap:8px;color:#1e3a8a;background:#f4f8ff;transition:background .18s}
.fbox>summary::-webkit-details-marker{display:none}
.fbox>summary:hover{background:#e9f1ff}
.fbox>summary i.ch{margin-left:auto;color:var(--cv-blue);transition:transform .2s ease;font-size:12px}
.fbox[open]>summary i.ch{transform:rotate(90deg)}
.fbox>summary i.ic{color:var(--cv-blue);font-size:13px}
.fbody{padding:8px 10px 10px;display:flex;flex-direction:column;gap:7px}

.grid2{display:grid;grid-template-columns:1fr 1fr;gap:6px;width:100%;align-items:stretch}
.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;width:100%;align-items:stretch}
.f{display:flex;flex-direction:column;gap:2px;min-width:0}
.f.full{grid-column:1/-1}
.f label{font-size:11.5px;font-weight:700;color:#0f172a;line-height:1.3}
.f input,.f select,.f textarea{width:100%;height:var(--ctl-h);padding:0 9px;
  border:1px solid var(--cv-bdr);border-radius:var(--cv-rs);background:#fff!important;
  color:#0f172a!important;font:400 13px/1 'Hind Siliguri',system-ui,sans-serif;
  box-shadow:0 1px 3px rgba(37,99,235,.07);transition:border-color .18s,box-shadow .18s}
.f textarea{height:auto;min-height:60px;padding:7px 9px;line-height:1.55;resize:vertical}
.f input::placeholder,.f textarea::placeholder{color:var(--cv-hint)!important;opacity:1}
.f input:focus,.f select:focus,.f textarea:focus{outline:0;border-color:var(--cv-blue);
  box-shadow:0 0 0 3px rgba(37,99,235,.15)}
.f .hint{font-size:10.5px;color:var(--cv-hint);line-height:1.3}

/* পুনরাবৃত্ত সারি */
.rep{display:flex;flex-direction:column;gap:6px;width:100%}
.repi{border:1px solid var(--cv-line);border-radius:var(--cv-rs);padding:7px;background:#fbfdff;
  display:flex;flex-direction:column;gap:6px;position:relative}
.repi .rh{display:flex;align-items:center;gap:6px}
.repi .rh b{font-size:11.5px;color:#1e3a8a}
.repi .rh .sp{flex:1}
.xbtn{width:26px;height:26px;flex:0 0 26px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:var(--cv-rs);border:0;cursor:pointer;color:#fff;font-size:11px;
  background:linear-gradient(135deg,#b91c1c,#ef4444);box-shadow:0 2px 6px rgba(220,38,38,.35);
  transition:transform .2s cubic-bezier(.2,.8,.3,1.4)}
.xbtn:hover{transform:scale(1.15)}

/* ছবি */
.phrow{display:flex;align-items:center;gap:8px;width:100%}
.phbox{width:54px;height:64px;flex:0 0 54px;border-radius:var(--cv-rs);border:1px dashed #b6cbee;
  background:#f4f8ff;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#94a3b8}
.phbox img{width:100%;height:100%;object-fit:cover;display:block}
.phrow .pcol{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}

/* ── স্টেজ (প্রিভিউ) ──────────────────────────────────── */
.stagebar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;background:#fff;border-radius:var(--cv-r);
  box-shadow:var(--cv-sh);padding:6px 8px;margin-bottom:6px;width:100%}
.stagebar .t{font-size:12px;font-weight:700;color:#1e3a8a;display:flex;align-items:center;gap:6px}
.stagebar .sp{flex:1 1 10px}
.stagebar .zoom{display:flex;align-items:center;gap:4px;font-size:11.5px;color:var(--cv-mut);font-weight:600}
#sheetHolder{position:relative;width:100%;overflow:hidden}
#sheetStack{width:794px;transform-origin:top left;display:flex;flex-direction:column;gap:14px}
.sheet{width:794px;height:1123px;background:#fff;color:#111;flex:0 0 auto;
  box-shadow:0 8px 34px rgba(37,99,235,.22);position:relative;overflow:hidden}
/* মাপার সময় শিট স্বাধীনভাবে লম্বা হয় — তারপর পাতায় ভাগ হয় */
.sheet.measuring{height:auto;min-height:1123px;overflow:visible}
/* ২য়/৩য় পাতায় হেডার থাকে না, তাই উপরে ঠিক ফাঁক দিই */
.sheet.cont .body{padding-top:32px}
.sheet.cont .bhd,.sheet.cont .chd{display:none}

/* ── ডেস্কটপ: প্রিভিউ কলাম আটকে থাকে (ফর্ম স্ক্রল করলেও চোখের সামনেই) ── */
@media(min-width:981px){
  .cvstage{position:sticky;top:calc(var(--hdrh,0px) + 8px);align-self:start;
    max-height:calc(100vh - var(--hdrh,0px) - 16px);
    display:flex;flex-direction:column;min-height:0}
  .cvstage .stagebar{flex:0 0 auto;margin-bottom:6px}
  /* shrink করবে, grow নয় — শিট ছোট হলে নিচে ফাঁকা জায়গা তৈরি হবে না */
  #sheetHolder{flex:0 1 auto;min-height:0;overflow-y:auto;scrollbar-width:thin}
  #sheetHolder::-webkit-scrollbar{width:8px;height:8px}
  #sheetHolder::-webkit-scrollbar-thumb{background:#c7d9f6;border-radius:9px}
}

/* ── মোবাইল ট্যাব ─────────────────────────────────────── */
.mtabs{display:none;gap:6px;position:sticky;top:var(--hdrh,0px);z-index:30;background:#f2f6fd;padding:6px 0;width:100%}
.mtabs .gb{flex:1}
@media(max-width:980px){
  .cvmain{grid-template-columns:1fr}
  .mtabs{display:flex}
  body.vw-form .cvstage{display:none}
  body.vw-prev .cvform{display:none}
}
@media(max-width:560px){
  .cvhero h1{font-size:17px}.cvhero p{font-size:12px}
  .grid3{grid-template-columns:1fr 1fr}
  .cvwrap{padding:6px 7px 12px}
}

/* ============================================================
   A4 শিটের ভেতর — সাধারণ ব্লক (সব টেমপ্লেট এগুলোই সাজায়)
   ============================================================ */
.sheet *{box-sizing:border-box}
.sheet .pad{padding:46px 44px}
.sheet .nm{font-size:calc(27.0px * var(--fs,1));font-weight:700;letter-spacing:.2px;line-height:1.2;margin:0}
.sheet .rl{font-size:calc(14.7px * var(--fs,1));font-weight:600;margin:2px 0 0;color:var(--ac,#2563eb)}
.sheet .ct{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:6px;font-size:calc(12.5px * var(--fs,1));color:#334155}
.sheet .ct span{display:inline-flex;align-items:center;gap:5px}
.sheet .ct i{color:var(--ac,#2563eb);font-size:calc(12.0px * var(--fs,1));width:12px;text-align:center}
.sheet .ph{width:96px;height:114px;flex:0 0 96px;object-fit:cover;background:#eef3fb;display:block}
/* ছবি সবসময় ডান কিনারায় বাঁধা — লেখা ছোট-বড় হলেও নড়বে না */
.sheet .hdr .txt,.sheet .ban .txt,.sheet .fx>.txt{flex:1 1 auto;min-width:0}
.sheet .hdr>.ph,.sheet .ban>.ph,.sheet .fx>.ph{margin-left:auto;align-self:flex-start}
.sheet .sec{margin-top:15px;break-inside:avoid}
.sheet .st{font-size:calc(14.2px * var(--fs,1));font-weight:700;letter-spacing:.3px;color:var(--ac,#2563eb);
  margin:0 0 6px;padding-bottom:3px;border-bottom:2px solid var(--ac,#2563eb);
  display:flex;align-items:center;gap:6px}
.sheet .st i{font-size:calc(12.5px * var(--fs,1))}
.sheet p{margin:0;font-size:calc(13.1px * var(--fs,1));line-height:1.62;color:#1f2937}
.sheet .kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 18px;width:100%}
.sheet .kv div{display:flex;gap:6px;font-size:calc(12.5px * var(--fs,1));line-height:1.65;min-width:0}
.sheet .kv b{flex:0 0 40%;font-weight:600;color:#475569;display:flex;justify-content:space-between}
.sheet .kv b::after{content:':';padding-right:4px}
.sheet .kv s{text-decoration:none;color:#111827;font-weight:600;min-width:0;word-break:break-word}
.sheet table.tb{width:100%;border-collapse:collapse;font-size:calc(12.3px * var(--fs,1))}
.sheet table.tb th{background:color-mix(in srgb,var(--ac,#2563eb) 12%,#fff);color:#0f172a;
  font-weight:700;text-align:left;padding:5px 7px;border:1px solid color-mix(in srgb,var(--ac,#2563eb) 32%,#fff)}
.sheet table.tb td{padding:5px 7px;border:1px solid #d8e2f0;color:#1f2937;vertical-align:top}
.sheet .it{display:flex;gap:10px;margin-bottom:8px;break-inside:avoid}
.sheet .it .yr{flex:0 0 92px;font-size:calc(12.0px * var(--fs,1));font-weight:700;color:var(--ac,#2563eb);padding-top:1px}
.sheet .it .bd{flex:1;min-width:0}
.sheet .it h4{margin:0;font-size:calc(13.6px * var(--fs,1));font-weight:700;color:#0f172a;line-height:1.35}
.sheet .it .og{font-size:calc(12.5px * var(--fs,1));color:#475569;font-weight:600}
.sheet .it .ds{font-size:calc(12.2px * var(--fs,1));color:#374151;line-height:1.6;margin-top:2px;white-space:pre-line}
.sheet .chips{display:flex;flex-wrap:wrap;gap:4px}
.sheet .chips span{font-size:calc(12.0px * var(--fs,1));font-weight:600;padding:2px 8px;border-radius:3px;
  background:color-mix(in srgb,var(--ac,#2563eb) 11%,#fff);color:color-mix(in srgb,var(--ac,#2563eb) 78%,#000);
  border:1px solid color-mix(in srgb,var(--ac,#2563eb) 26%,#fff)}
.sheet .sign{margin-top:26px;display:flex;justify-content:space-between;align-items:flex-end;font-size:calc(12.5px * var(--fs,1));break-inside:avoid}
.sheet .sign .ln{border-top:1px solid #94a3b8;padding-top:3px;min-width:150px;text-align:center;color:#334155}
.sheet .muted{color:#64748b}

/* ── লেআউট: সাইডবার ───────────────────────────────────── */
.sheet.lay-side .row{display:flex;height:100%;width:100%}
.sheet.measuring.lay-side .row{height:auto;min-height:1123px}
.sheet.lay-side .side{flex:0 0 250px;width:250px;background:var(--ac,#2563eb);color:#fff;padding:34px 20px}
.sheet.lay-side .side .ph{width:118px;height:132px;margin:0 auto 12px;border:3px solid rgba(255,255,255,.6)}
.sheet.lay-side .side .snm{font-size:calc(19.0px * var(--fs,1));font-weight:700;text-align:center;line-height:1.25}
.sheet.lay-side .side .srl{font-size:calc(12.5px * var(--fs,1));text-align:center;opacity:.9;margin-top:2px}
.sheet.lay-side .side .st{color:#fff;border-bottom:1px solid rgba(255,255,255,.45);font-size:calc(13.1px * var(--fs,1))}
.sheet.lay-side .side .sec{margin-top:16px}
.sheet.lay-side .side .li{font-size:calc(12.2px * var(--fs,1));line-height:1.7;display:flex;gap:6px;word-break:break-word}
.sheet.lay-side .side .li i{width:13px;flex:0 0 13px;opacity:.85;padding-top:3px;font-size:calc(11.4px * var(--fs,1))}
.sheet.lay-side .side .chips span{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.35);color:#fff}
.sheet.lay-side .main{flex:1;min-width:0;padding:34px 30px}
.sheet.lay-side.rt .row{flex-direction:row-reverse}

/* ── লেআউট: ব্যানার ───────────────────────────────────── */
.sheet.lay-ban .ban{background:linear-gradient(135deg,var(--ac,#2563eb),color-mix(in srgb,var(--ac,#2563eb) 55%,#0ea5e9));
  color:#fff;padding:26px 44px;display:flex;align-items:center;gap:18px}
.sheet.lay-ban .ban .nm{color:#fff}
.sheet.lay-ban .ban .rl{color:rgba(255,255,255,.92)}
.sheet.lay-ban .ban .ct{color:rgba(255,255,255,.95)}
.sheet.lay-ban .ban .ct i{color:rgba(255,255,255,.85)}
.sheet.lay-ban .ban .ph{border:3px solid rgba(255,255,255,.65)}
.sheet.lay-ban .body{padding:20px 44px 44px}

/* ── লেআউট: ফরমাল (বাংলাদেশি ছকের সিভি) ───────────────── */
.sheet.lay-form .hd{text-align:center;border-bottom:3px double #111;padding-bottom:8px}
.sheet.lay-form .hd .nm{font-size:calc(24.0px * var(--fs,1));letter-spacing:.6px}
.sheet.lay-form .hd .rl{color:#374151}
.sheet.lay-form .st{border-bottom:1px solid #111;color:#111;background:#f1f5f9;padding:4px 7px}
.sheet.lay-form .fx{display:flex;gap:14px;align-items:flex-start}

/* ── লেআউট: বায়োডাটা ছক ও কার্ড ────────────────────────── */
.sheet.lay-bio .bhd{text-align:center;padding-bottom:10px}
.sheet.lay-bio .bhd .ttl{font-size:calc(21.0px * var(--fs,1));font-weight:700;color:var(--ac,#0f766e);letter-spacing:.5px}
.sheet.lay-bio .bhd .sub{font-size:calc(12.5px * var(--fs,1));color:#475569;margin-top:2px}
.sheet .biophoto{width:110px;height:132px;object-fit:cover;border:3px solid var(--ac,#0f766e);
  display:block;margin:0 auto 8px;background:#f1f5f9}
.sheet table.bio{width:100%;border-collapse:collapse;font-size:calc(12.6px * var(--fs,1));margin-bottom:2px}
.sheet table.bio td{padding:4px 8px;border:1px solid color-mix(in srgb,var(--ac,#0f766e) 28%,#fff);
  vertical-align:top;line-height:1.6}
.sheet table.bio td.k{width:34%;font-weight:600;color:#334155;
  background:color-mix(in srgb,var(--ac,#0f766e) 7%,#fff)}

.sheet.lay-bio .st{color:var(--ac,#0f766e);border-bottom-color:var(--ac,#0f766e)}
.sheet.lay-biocard .bcard{background:color-mix(in srgb,var(--ac,#be185d) 5%,#fff);
  border:1px solid color-mix(in srgb,var(--ac,#be185d) 22%,#fff);border-radius:8px;padding:11px 13px;margin-top:10px;break-inside:avoid}
.sheet.lay-biocard .bcard .st{border-bottom:0;margin-bottom:4px;color:var(--ac,#be185d)}
.sheet.lay-biocard .bhero{background:linear-gradient(135deg,var(--ac,#be185d),color-mix(in srgb,var(--ac,#be185d) 45%,#f9a8d4));
  color:#fff;padding:22px 44px;text-align:center}
.sheet.lay-biocard .bhero .biophoto{border-color:rgba(255,255,255,.7)}
.sheet.lay-biocard .bhero .ttl{font-size:calc(22.0px * var(--fs,1));font-weight:700}
.sheet.lay-biocard .bhero .sub{font-size:calc(13.1px * var(--fs,1));opacity:.93}
.sheet.lay-biocard .body{padding:6px 44px 44px}

/* ============================================================
   টেমপ্লেট স্কিন — ১০ সিভি + ৬ বায়োডাটা
   ============================================================ */
/* 1 ক্লাসিক নীল */
.sheet.t-classic .hdr{display:flex;gap:16px;align-items:flex-start;
  border-bottom:3px solid var(--ac);padding-bottom:10px}

/* 2 সাইডবার ডার্ক — lay-side */
.sheet.t-side .side{background:linear-gradient(180deg,#0f172a,#1e293b)}
.sheet.t-side .main .st{color:var(--ac);border-bottom-color:var(--ac)}

/* 3 মিনিমাল */
.sheet.t-min .hdr{border-bottom:1px solid #111;padding-bottom:9px;display:flex;gap:16px;align-items:flex-start}
.sheet.t-min .nm{font-weight:600;letter-spacing:1.2px;font-size:calc(24.0px * var(--fs,1))}
.sheet.t-min .rl{color:#4b5563;font-weight:500;letter-spacing:1px;font-size:calc(13.1px * var(--fs,1))}
.sheet.t-min .st{color:#111;border-bottom:1px solid #cbd5e1;font-size:calc(12.5px * var(--fs,1));letter-spacing:1.4px}
.sheet.t-min .ct i,.sheet.t-min .it .yr{color:#374151}
.sheet.t-min .chips span{background:#f3f4f6;border-color:#d1d5db;color:#374151}

/* 4 এলিগ্যান্ট সেরিফ */
.sheet.t-serif{font-family:'Noto Serif Bengali','Hind Siliguri',Georgia,serif}
.sheet.t-serif .hdr{border-bottom:1px solid var(--ac);padding-bottom:10px;
  display:flex;gap:16px;align-items:center}
.sheet.t-serif .hdr .txt{flex:1;text-align:center}
.sheet.t-serif .hdr .ct{justify-content:center}
.sheet.t-serif .nm{font-size:calc(28.0px * var(--fs,1));letter-spacing:.6px}
.sheet.t-serif .st{border-bottom:1px solid var(--ac);font-weight:700}

/* 5 ব্যানার গ্রিন — lay-ban */
/* 6 সরকারি ফরমাল — lay-form */
/* 7 টাইমলাইন */
.sheet.t-time .hdr{display:flex;gap:16px;align-items:flex-start;border-left:6px solid var(--ac);
  padding:2px 0 10px 14px}
.sheet.t-time .sec.tl{position:relative;padding-left:16px}
.sheet.t-time .sec.tl::before{content:'';position:absolute;left:4px;top:28px;bottom:6px;width:2px;
  background:color-mix(in srgb,var(--ac) 35%,#fff)}
.sheet.t-time .sec.tl .it{position:relative;padding-left:6px}
.sheet.t-time .sec.tl .it::before{content:'';position:absolute;left:-16px;top:5px;width:9px;height:9px;
  border-radius:50%;background:var(--ac);box-shadow:0 0 0 2px #fff}
.sheet.t-time .st{border-bottom:0;background:color-mix(in srgb,var(--ac) 10%,#fff);padding:4px 8px;border-radius:3px}

/* 8 টু-কলাম (ডান পাশে হালকা সাইডবার) */
.sheet.t-two .side{background:#f1f5f9;color:#0f172a}
.sheet.t-two .side .snm{color:#0f172a}
.sheet.t-two .side .srl{color:var(--ac)}
.sheet.t-two .side .st{color:var(--ac);border-bottom:1px solid color-mix(in srgb,var(--ac) 40%,#fff)}
.sheet.t-two .side .ph{border-color:var(--ac)}
.sheet.t-two .side .li i{color:var(--ac);opacity:1}
.sheet.t-two .side .chips span{background:#fff;border-color:color-mix(in srgb,var(--ac) 30%,#fff);
  color:color-mix(in srgb,var(--ac) 80%,#000)}

/* 9 কর্পোরেট — lay-ban + গাঢ় নেভি */
.sheet.t-corp .ban{background:linear-gradient(135deg,#0b1729,#1e3a5f);border-bottom:4px solid var(--ac)}
.sheet.t-corp .st{border-bottom:0;border-left:4px solid var(--ac);padding:2px 0 2px 8px;color:#0b1729}

/* 10 ফ্রেশ */
.sheet.t-fresh .hdr{display:flex;gap:16px;align-items:flex-start;background:color-mix(in srgb,var(--ac) 9%,#fff);
  padding:16px;border-radius:8px}
.sheet.t-fresh .st{border-bottom:0;color:#0f172a;display:flex;align-items:center;gap:7px}
.sheet.t-fresh .st::before{content:'';width:14px;height:3px;border-radius:2px;background:var(--ac);flex:0 0 14px}
.sheet.t-fresh .sec{background:#fff;border:1px solid color-mix(in srgb,var(--ac) 16%,#fff);
  border-radius:8px;padding:10px 12px;margin-top:9px}

/* বায়োডাটা স্কিন */
.sheet.t-bframe{border:9px double var(--ac)}
.sheet.t-bframe .pad{padding:26px 32px}
.sheet.t-bframe .bhd{border-bottom:2px solid var(--ac);margin-bottom:8px}
.sheet.t-bsimple table.bio td{border-color:#94a3b8}
.sheet.t-bsimple table.bio td.k{background:#f1f5f9;color:#111}
.sheet.t-bsimple .bhd .ttl{color:#111;text-decoration:underline;text-underline-offset:5px}
.sheet.t-bsimple .st{color:#111;border-bottom-color:#111}
.sheet.t-bgold{border:7px solid var(--ac);outline:2px solid var(--ac);outline-offset:-13px}
.sheet.t-bgold .pad{padding:28px 34px}
.sheet.t-bgold .bhd{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:6px;padding:10px}
.sheet.t-bgold .bhd .ttl{color:#7c5a04}
.sheet.t-btradi .bhd{background:repeating-linear-gradient(45deg,color-mix(in srgb,var(--ac) 10%,#fff) 0 8px,#fff 8px 16px);
  border-top:4px solid var(--ac);border-bottom:4px solid var(--ac);padding:12px 8px}
.sheet.t-btradi .bhd .ttl{color:var(--ac);letter-spacing:2px}
.sheet.t-btradi table.bio td.k{background:color-mix(in srgb,var(--ac) 9%,#fff)}


/* ══ মডার্ন বায়োডাটা — লেআউট ১: স্প্লিট (রঙিন ব্যান্ড) ══ */
.sheet.lay-bsplit .row{display:flex;height:100%;width:100%}
.sheet.measuring.lay-bsplit .row{height:auto;min-height:1123px}
.sheet.lay-bsplit.rt .row{flex-direction:row-reverse}
.sheet.lay-bsplit .side{flex:0 0 262px;width:262px;padding:30px 22px;color:#fff;
  background:linear-gradient(165deg,var(--ac),color-mix(in srgb,var(--ac) 45%,#0f172a))}
.sheet.lay-bsplit .side .biophoto{width:130px;height:130px;border-radius:50%;
  border:4px solid rgba(255,255,255,.55);margin:0 auto 12px}
.sheet.lay-bsplit .side .snm{font-size:calc(19.0px * var(--fs,1));font-weight:700;text-align:center;line-height:1.3}
.sheet.lay-bsplit .side .srl{font-size:calc(12.0px * var(--fs,1));text-align:center;letter-spacing:1.4px;opacity:.92;
  border-top:1px solid rgba(255,255,255,.35);border-bottom:1px solid rgba(255,255,255,.35);
  padding:5px 0;margin:5px 0 12px}
.sheet.lay-bsplit .side .fct{display:flex;justify-content:space-between;gap:10px;font-size:calc(12.3px * var(--fs,1));
  line-height:1.5;padding:4px 0;border-bottom:1px dashed rgba(255,255,255,.26)}
.sheet.lay-bsplit .side .fct b{font-weight:600;opacity:.82;white-space:nowrap}
.sheet.lay-bsplit .side .fct span{text-align:right;min-width:0;word-break:break-word}
.sheet.lay-bsplit .side .sh{font-size:calc(12.0px * var(--fs,1));font-weight:700;letter-spacing:1.6px;margin:16px 0 4px;opacity:.95}
.sheet.lay-bsplit .main{flex:1;min-width:0;padding:30px 26px}
.sheet.lay-bsplit .main .sec{margin-top:13px}
.sheet.lay-bsplit .main .sec:first-child{margin-top:0}
.sheet.lay-bsplit .main .st{color:var(--ac);border-bottom:2px solid color-mix(in srgb,var(--ac) 32%,#fff)}
.sheet.lay-bsplit table.bio td{border:0;border-bottom:1px solid #eef2f7;padding:4px 0}
.sheet.lay-bsplit table.bio td.k{background:transparent;color:#64748b;width:36%}

/* ══ লেআউট ২: গ্রিড কার্ড (গোল ছবির হিরো + ২ কলাম) ══ */
.sheet.lay-bgrid .bhero2{padding:26px 38px 20px;text-align:center;color:#fff;
  background:linear-gradient(135deg,var(--ac),color-mix(in srgb,var(--ac) 42%,#0ea5e9))}
.sheet.lay-bgrid .bhero2 .biophoto{width:118px;height:118px;border-radius:50%;
  border:4px solid rgba(255,255,255,.62);margin:0 auto 9px}
.sheet.lay-bgrid .bhero2 .ttl{font-size:calc(23.0px * var(--fs,1));font-weight:700;line-height:1.25}
.sheet.lay-bgrid .bhero2 .sub{font-size:calc(13.1px * var(--fs,1));opacity:.94;margin-top:2px}
.sheet.lay-bgrid .fchips{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;margin-top:10px}
.sheet.lay-bgrid .fchips span{font-size:calc(11.8px * var(--fs,1));font-weight:600;padding:3px 10px;border-radius:999px;
  background:rgba(255,255,255,.20);border:1px solid rgba(255,255,255,.38)}
.sheet.lay-bgrid .body{padding:14px 32px 34px}
.sheet.lay-bgrid .g2{display:grid;grid-template-columns:1fr 1fr;gap:9px;align-items:start;width:100%}
.sheet.lay-bgrid .gc{background:#fff;border:1px solid color-mix(in srgb,var(--ac) 20%,#fff);
  border-radius:10px;padding:9px 12px;break-inside:avoid;min-width:0}
.sheet.lay-bgrid .gc.wide{grid-column:1/-1}
.sheet.lay-bgrid .gc .st{border-bottom:0;margin:0 0 3px;padding:0;color:var(--ac);font-size:calc(13.6px * var(--fs,1))}
.sheet.lay-bgrid table.bio td{border:0;border-bottom:1px dashed #eef2f7;padding:3px 0;font-size:calc(12.1px * var(--fs,1))}
.sheet.lay-bgrid table.bio tr:last-child td{border-bottom:0}
.sheet.lay-bgrid table.bio td.k{background:transparent;color:#64748b;width:42%}
.sheet.lay-bgrid .gc p{font-size:calc(12.4px * var(--fs,1))}

/* ══ লেআউট ৩: এডিটোরিয়াল (হেয়ারলাইন, বাঁয়ে লেবেল) ══ */
.sheet.lay-bclean .pad{padding:44px 46px}
.sheet.lay-bclean .chd{display:flex;gap:18px;align-items:flex-start;
  border-bottom:2px solid var(--ac);padding-bottom:12px;margin-bottom:4px}
.sheet.lay-bclean .chd .txt{flex:1 1 auto;min-width:0}
.sheet.lay-bclean .chd .biophoto{margin:0 0 0 auto;width:104px;height:126px;border:0;border-radius:3px;
  box-shadow:0 3px 12px rgba(15,23,42,.2)}
.sheet.lay-bclean .nm2{font-size:calc(30.0px * var(--fs,1));font-weight:700;line-height:1.16;letter-spacing:.3px}
.sheet.lay-bclean .rl2{font-size:calc(12.0px * var(--fs,1));font-weight:700;letter-spacing:2.6px;color:var(--ac);margin-top:5px}
.sheet.lay-bclean .fchips{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}
.sheet.lay-bclean .fchips span{font-size:calc(11.6px * var(--fs,1));font-weight:600;padding:2px 9px;border-radius:2px;
  background:color-mix(in srgb,var(--ac) 8%,#fff);border:1px solid color-mix(in srgb,var(--ac) 22%,#fff);
  color:color-mix(in srgb,var(--ac) 82%,#000)}
.sheet.lay-bclean .csec{display:flex;gap:16px;padding:11px 0;border-bottom:1px solid #eef2f7;break-inside:avoid}
.sheet.lay-bclean .csec .clab{flex:0 0 116px;width:116px;font-size:calc(11.8px * var(--fs,1));font-weight:700;
  letter-spacing:1.1px;color:var(--ac);padding-top:3px;line-height:1.45}
.sheet.lay-bclean .csec .cbd{flex:1;min-width:0}
.sheet.lay-bclean table.bio td{border:0;padding:2px 0;font-size:calc(12.5px * var(--fs,1))}
.sheet.lay-bclean table.bio td.k{background:transparent;color:#94a3b8;width:34%;font-weight:600}
.sheet.t-bclean{font-family:'Noto Serif Bengali','Hind Siliguri',Georgia,serif}
.sheet.t-bclean .rl2{color:#64748b}
/* আর্চ গোল্ড — ছবির উপরে খিলান + সোনালি রেখা */
.sheet.t-barch .chd{border-bottom:0;position:relative;padding-bottom:16px}
.sheet.t-barch .chd::after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;
  background:linear-gradient(90deg,transparent,var(--ac),transparent)}
.sheet.t-barch .chd .biophoto{border-radius:56px 56px 4px 4px;border:3px solid var(--ac);box-shadow:none}
.sheet.t-barch .csec{border-bottom:1px dashed color-mix(in srgb,var(--ac) 34%,#fff)}
.sheet.t-barch .nm2{letter-spacing:.6px}

/* কম্প্যাক্ট ধাপে নতুন লেআউটগুলোও চাপে */
.sheet.cmp.lay-bsplit .side,.sheet.cmp.lay-bsplit .main{padding-top:24px}
.sheet.cmp.lay-bgrid .bhero2{padding:20px 32px 16px}
.sheet.cmp.lay-bgrid .body{padding:11px 30px 26px}
.sheet.cmp.lay-bclean .pad{padding:34px 40px}
.sheet.cmp.lay-bclean .csec{padding:8px 0}
.sheet.cmp2.lay-bclean .csec{padding:6px 0}
.sheet.cmp.lay-bgrid .g2{gap:7px}
.sheet.cmp.lay-bgrid .gc{padding:7px 10px}
.sheet.cmp2.lay-bgrid .gc{padding:6px 9px}
.sheet.cmp2.lay-bgrid .g2{gap:6px}
.sheet.cmp2.lay-bgrid .bhero2{padding:16px 30px 13px}
.sheet.cmp2.lay-bgrid .bhero2 .biophoto{width:94px;height:94px;margin-bottom:7px}
.sheet.cmp2.lay-bgrid .bhero2 .ttl{font-size:calc(20.0px * var(--fs,1))}


/* ── বায়োডাটার লেবেল: গাঢ় ও পড়ার মতো (ফ্যাকাশে হিন্ট-রঙ নয়) ── */
.sheet table.bio td.k{color:#111827}
/* লেবেল কলামের প্রস্থ পুরো ডকুমেন্টে এক — তাই সব সেকশনের 'ঃ' একই খাড়া লাইনে পড়ে */
.sheet{--klw:150px}
.sheet.lay-bgrid{--klw:104px}
.sheet table.bio td.k{width:var(--klw)}
.sheet.lay-bclean table.bio td.k,
.sheet.lay-bsplit table.bio td.k,
.sheet.lay-bgrid  table.bio td.k{color:#111827}
.sheet.lay-bsplit .side .fct b{opacity:1;font-weight:600}


/* ── লেবেল ও মানের মাঝে 'ঃ' — ঘরের ডান কিনারায় বসে, তাই সব সারিতে একই খাড়া লাইনে ── */
.sheet table.bio td.k .kd{display:flex;align-items:baseline;justify-content:space-between;gap:12px;width:100%}
.sheet table.bio td.k .kd>span{min-width:0;overflow-wrap:anywhere}
.sheet table.bio td.k .kd>b{flex:0 0 auto;font-weight:600}
/* 'ঃ' আর মানের ফাঁক ছোট রাখি */
.sheet.lay-bclean table.bio td.k,
.sheet.lay-bsplit table.bio td.k,
.sheet.lay-bgrid  table.bio td.k{padding-right:9px}

/* ── CTA কার্ড ও টিপস ──────────────────────────────────── */
.ctacard{background:linear-gradient(135deg,#0f172a,#1e3a8a);color:#fff;border-radius:var(--cv-r);
  padding:11px 13px;box-shadow:var(--cv-sh2);display:flex;align-items:center;gap:10px;flex-wrap:wrap;width:100%}
.ctacard h3{margin:0;font-size:14px;font-weight:700}
.ctacard p{margin:2px 0 0;font-size:12px;opacity:.9;line-height:1.5}
.ctacard .sp{flex:1 1 20px}
.tips{background:#fff;border-radius:var(--cv-r);box-shadow:var(--cv-sh);padding:10px 12px;width:100%}
.tips h3{margin:0 0 5px;font-size:13.5px;font-weight:700;color:#1e3a8a;display:flex;align-items:center;gap:7px}
.tips ul{margin:0;padding-left:17px;display:flex;flex-direction:column;gap:3px}
.tips li{font-size:12.5px;line-height:1.6;color:#334155}


/* ── এক পাতায় বসানোর অটো-কম্প্যাক্ট (২ ধাপ) ─────────── */
.sheet.cmp .sec{margin-top:10px}
.sheet.cmp .it{margin-bottom:5px}
.sheet.cmp .sign{margin-top:14px}
.sheet.cmp .pad{padding:38px 40px}
.sheet.cmp table.tb td,.sheet.cmp table.tb th{padding:4px 6px}
.sheet.cmp table.bio td{padding:3px 7px}
.sheet.cmp.lay-ban .ban{padding:20px 40px}
.sheet.cmp.lay-ban .body,.sheet.cmp.lay-biocard .body{padding:14px 40px 34px}
.sheet.cmp.lay-side .side,.sheet.cmp.lay-side .main{padding-top:26px}
.sheet.cmp2 .sec{margin-top:7px}
.sheet.cmp2 .pad{padding:30px 38px}
.sheet.cmp2 p,.sheet.cmp2 .kv div{line-height:1.45}
.sheet.cmp2 .it .ds{line-height:1.42}
.sheet.cmp2 .it{margin-bottom:4px}
.sheet.cmp2 table.tb td,.sheet.cmp2 table.tb th{padding:3px 6px}
.sheet.cmp2 table.bio td{padding:2px 7px}
.sheet.cmp2 .st{margin-bottom:4px}
.sheet.cmp2.lay-biocard .bcard{padding:8px 11px;margin-top:7px}
.sheet.cmp.t-fresh .sec{padding:7px 10px;margin-top:6px}
.sheet.cmp.t-fresh .hdr{padding:11px}
.sheet.cmp2.t-fresh .sec{padding:5px 9px;margin-top:5px}
.sheet.cmp2.t-fresh .hdr{padding:9px}

/* ── পাতার সীমানা গাইড (শুধু প্রিভিউতে, প্রিন্টে নয়) ── */
#sheetHolder.full{overflow-x:auto}   /* overflow-y কলামের নিয়ম মেনে চলবে */
.pgpill{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px;border-radius:999px;
  background:#eff4ff;color:#1e3a8a;font-size:11.5px;font-weight:700;white-space:nowrap}

/* ── প্রিন্ট ───────────────────────────────────────────── */
@page{size:A4;margin:0}
@media print{
  html,body{background:#fff!important;margin:0!important;padding:0!important}
  body.cvpage>*{display:none!important}
  body.cvpage>#printRoot{display:block!important}
  #sheetHolder{height:auto!important;overflow:visible!important}
  #sheetStack{transform:none!important;margin:0!important;gap:0!important;display:block!important;width:794px!important}
  .sheet{width:794px!important;height:1122px!important;transform:none!important;
    box-shadow:none!important;margin:0!important;overflow:hidden!important;
    page-break-after:always;break-after:page;page-break-inside:avoid;break-inside:avoid;
    -webkit-print-color-adjust:exact;print-color-adjust:exact}
  .sheet:last-child{page-break-after:auto;break-after:auto}
  .sheet.lay-side .row,.sheet.lay-bsplit .row{height:1122px}
  .noprint{display:none!important}
}

/* ─────────────────────────────────────────────────────────────
   চাকরির আবেদনপত্র (lay-job · lay-jhead)
   শিটের ভেতরে সব মাপ px — ৭৯৪px = 210mm @96dpi, তাই A4-তে হুবহু বসে।
   ───────────────────────────────────────────────────────────── */
.lay-job, .lay-jhead { padding: 54px 58px; font-size: 13.2px; line-height: 1.75; }
.lay-jhead { padding-top: 0; }

.lay-jhead .jband{background:var(--ac);color:#fff;margin:0 -58px 26px;padding:20px 58px 17px}
.lay-jhead .jbn{font-size:21px;font-weight:700;letter-spacing:.2px;line-height:1.2}
.lay-jhead .jbc{font-size:12px;opacity:.92;margin-top:3px}

.lay-job .jtop,.lay-jhead .jtop{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}
.lay-job .jph,.lay-jhead .jph{width:82px;height:98px;object-fit:cover;border:1px solid #94a3b8}
.lay-job .jdate,.lay-jhead .jdate{margin-left:auto;font-size:12.8px;white-space:nowrap}

.lay-job .jto,.lay-jhead .jto{margin-bottom:16px;line-height:1.6}
.lay-job .jto b,.lay-jhead .jto b{font-weight:700}

.lay-job .jsub,.lay-jhead .jsub{margin-bottom:15px;font-weight:700;text-align:center}
.lay-job .jsub span,.lay-jhead .jsub span{font-weight:700}
.lay-job .jsub,.lay-jhead .jsub{text-decoration:underline;text-underline-offset:3px}

.lay-job .jsal,.lay-jhead .jsal{margin-bottom:6px}
.lay-job .jp,.lay-jhead .jp{margin:0 0 12px;text-align:justify;text-justify:inter-word}
.lay-job .jsk,.lay-jhead .jsk{margin-top:-2px}

.lay-job .jblk,.lay-jhead .jblk{margin:0 0 13px}
.lay-job .jbt,.lay-jhead .jbt{font-weight:700;margin-bottom:5px;color:var(--ac)}
.lay-job .jinfo,.lay-jhead .jinfo{width:100%;border-collapse:collapse;margin-left:14px}
.lay-job .jinfo td,.lay-jhead .jinfo td{padding:1.5px 0;vertical-align:top;font-size:13px;border:0}
.lay-job .jinfo .jk,.lay-jhead .jinfo .jk{width:172px;white-space:nowrap}
.lay-job .jinfo .jc,.lay-jhead .jinfo .jc{width:14px}
.lay-job .jinfo .jv,.lay-jhead .jinfo .jv{font-weight:600}

.lay-job .jul,.lay-jhead .jul{margin:0 0 0 30px;padding:0}
.lay-job .jul li,.lay-jhead .jul li{margin-bottom:2px}
.lay-job .jsp,.lay-jhead .jsp{color:#475569;font-size:12.4px}

.lay-job .jsign,.lay-jhead .jsign{margin-top:26px;text-align:right;line-height:1.55}
.lay-job .jsl,.lay-jhead .jsl{margin-bottom:24px}
.lay-job .jsn,.lay-jhead .jsn{font-weight:700;border-top:1px solid #334155;display:inline-block;padding-top:3px;min-width:180px}
.lay-job .jsc,.lay-jhead .jsc{font-size:12.4px;color:#475569}

.lay-job .jatt,.lay-jhead .jatt{margin-top:20px;padding-top:11px;border-top:1px dashed #94a3b8}
.lay-job .jol,.lay-jhead .jol{margin:0 0 0 26px;padding:0}
.lay-job .jol li,.lay-jhead .jol li{margin-bottom:2px}

/* ছোট পর্দায় শিট নিজেই scale() হয় — এখানে আলাদা কিছু লাগে না */
.sheet.cmp.lay-job,.sheet.cmp.lay-jhead{padding:44px 50px;line-height:1.62}
.sheet.cmp2.lay-job,.sheet.cmp2.lay-jhead{padding:36px 44px;line-height:1.5;font-size:12.6px}
