/* পোস্টার: ৫০ × ৩৫ সেমি, মূল রঙে, এক পাতা (প্রিভিউ + প্রিন্ট/PDF) */
.cac-pw{--g:#0a6b3c;--d:#064d2b;--gold:#c19a3b;--red:#d1222b;--blue:#1d5fc0;--ink:#15301f;--line:#cfe2d6;
  position:fixed;inset:0;z-index:2147483000;display:flex;flex-direction:column;background:rgba(8,28,18,.9);
  font-family:"Noto Sans Bengali","Hind Siliguri","Kalpurush",system-ui,sans-serif;color:var(--ink)}
.cac-pw *,.cac-pw *::before,.cac-pw *::after{box-sizing:border-box}
html.cac-pz-open{overflow:hidden}
.cac-pw-bar{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.6rem 1rem;background:#0b2a1b;color:#fff;font-size:.95rem}
.cac-pw-bar span{flex:1 1 220px;opacity:.8;font-size:.82rem}
.cac-pw-bar button{appearance:none;border:0;border-radius:8px;padding:.45rem 1rem;font:inherit;font-weight:600;cursor:pointer;background:#fff;color:var(--d)}
.cac-pw-bar button[data-pz="print"]{background:linear-gradient(135deg,#d9b24a,#b88a24);color:#2b1f00}
.cac-pw-scroll{flex:1;overflow:auto;padding:12px}
.cac-pw-stage{margin:0 auto;overflow:hidden;position:relative}
.cac-pw-scaler{width:50cm;height:35cm;transform-origin:0 0}

/* ---- পোস্টার ---- */
.cpz{width:50cm;height:35cm;padding:.8cm;display:grid;grid-template-rows:8.5cm 11.4cm minmax(0,1fr) 1.1cm;gap:.3cm;
  background:linear-gradient(180deg,#f6fbf8 0%,#e6f1ea 100%);border:.22cm double var(--gold);overflow:hidden;position:relative;
  -webkit-print-color-adjust:exact;print-color-adjust:exact}
.cpz *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
.cpz img{max-width:none}

/* হেডার */
.cpz-top{position:relative;border-radius:.4cm;overflow:hidden;background:#f9fcfa;border:1px solid var(--line)}
.cpz-ban{height:3cm;background:#cfe6d6 center/cover no-repeat}
.cpz-hd{position:relative;height:5.5cm;display:grid;grid-template-columns:7cm 1fr 7cm;align-items:start;border-top:.1cm solid var(--gold);background:linear-gradient(180deg,#fff,#f1f8f4)}
.cpz-pp{margin:-1.5cm 0 0;text-align:center;display:flex;flex-direction:column;align-items:center}
.cpz-pp span{display:block;width:2.9cm;height:2.9cm;border-radius:50%;border:.12cm solid var(--gold);background:#fff;overflow:hidden;box-shadow:0 .08cm .3cm rgba(0,0,0,.25)}
.cpz-pp img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.cpz-pp figcaption{margin-top:.12cm;line-height:1.25}
.cpz-pp b{display:block;font-size:15pt;color:var(--d)}
.cpz-pp small{display:block;font-size:11pt;color:var(--g);font-weight:600}
.cpz-mid{text-align:center;display:flex;flex-direction:column;align-items:center}
.cpz-logo{width:2.9cm;height:2.9cm;margin-top:-1.55cm;border-radius:50%;background:#fff;border:.12cm solid var(--gold);padding:.12cm;display:flex;align-items:center;justify-content:center;font-size:30pt;font-weight:700;color:var(--g);overflow:hidden;box-shadow:0 .08cm .3cm rgba(0,0,0,.25)}
.cpz-logo img{width:100%;height:100%;object-fit:contain}
.cpz-mid h1{margin:.1cm 0 0;font-size:34pt;line-height:1.25;color:var(--d);font-weight:800}
.cpz-sub{margin:0;font-size:13pt;color:var(--g)}
.cpz-ay{margin:.12cm 0 0;padding:.05cm .9cm;border-radius:99px;background:linear-gradient(180deg,#fffaf0,#fbf0d2);border:.04cm solid var(--gold);color:#5a4200;font-size:17pt;font-weight:800}
.cpz-chips{margin:.14cm 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:.15cm .25cm;font-size:10.5pt}
.cpz-chips span{padding:0 .4cm;border-radius:99px;border:.03cm solid var(--gold);background:#fff;color:var(--d)}
.cpz-chips b{color:#7a5a00}

/* মাস */
.cpz-months{display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(2,1fr);gap:.3cm}
.cpz-m{background:#fff;border:1px solid var(--line);border-radius:.3cm;overflow:hidden;display:flex;flex-direction:column;min-height:0}
.cpz-m header{display:flex;justify-content:space-between;align-items:baseline;padding:.12cm .3cm;background:linear-gradient(180deg,var(--g),var(--d));color:#fff}
.cpz-m header b{font-size:14pt}
.cpz-m header span{font-size:9pt;opacity:.9}
.cpz-g{flex:1;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:.55cm repeat(6,1fr);min-height:0}
.cpz-g i{font-style:normal;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.05;border-right:1px solid #e3eee7;border-bottom:1px solid #e3eee7}
.cpz-g i:nth-child(7n){border-right:0}
.cpz-w{background:#eaf4ee;color:var(--d);font-size:8.5pt;font-weight:700}
.cpz-w.off{color:var(--red)}
.cpz-d b{font-size:11.5pt;font-weight:700;color:var(--ink)}
.cpz-d small{font-size:6.5pt;color:#6b8575;margin-top:.02cm}
.cpz-d.off b{color:var(--red)}
.cpz-d.full{background:#fde3e3;box-shadow:inset 0 0 0 .05cm var(--red)}
.cpz-d.full b{color:var(--red)}
.cpz-d.cls{background:#e0eaff;box-shadow:inset 0 0 0 .05cm var(--blue)}
.cpz-d.cls b{color:var(--blue)}
.cpz-d.b{background:#fafcfb}

/* নিচের অংশ */
.cpz-bot{display:grid;grid-template-columns:1.45fr 1fr;gap:.4cm;min-height:0;overflow:hidden}
.cpz-bot section{min-width:0;min-height:0;display:flex;flex-direction:column}
.cpz-bot h3{margin:0 0 .2cm;display:flex;flex-wrap:wrap;align-items:center;gap:.15cm .5cm;font-size:12pt}
.cpz-bot h3>span:first-child{padding:.04cm .7cm;border-radius:99px;background:linear-gradient(180deg,var(--g),var(--d));color:#fff;font-size:15pt;font-weight:700}
.cpz-lg{display:inline-flex;align-items:center;gap:.15cm;font-size:10.5pt;font-weight:600;color:var(--d)}
.cpz-lg i{width:.45cm;height:.32cm;border-radius:.08cm;display:inline-block}
.cpz-lg i.full,.cpz-t td.k i.full{background:#fde3e3;border:.04cm solid var(--red)}
.cpz-lg i.cls,.cpz-t td.k i.cls{background:#e0eaff;border:.04cm solid var(--blue)}
.cpz-lg.tot{margin-left:auto;font-size:12.5pt}
.cpz-tr{display:flex;gap:.3cm;align-items:flex-start;min-height:0}
.cpz-tr .cpz-t{flex:1 1 0;width:50%;min-width:0}
.cpz-t{border-collapse:collapse;background:#fff;font-size:10.5pt;border:1px solid #9cc4ae}
.cpz-t th{background:linear-gradient(180deg,var(--g),var(--d));color:#fff;font-weight:700;padding:.1cm .15cm;border-bottom:.06cm solid var(--gold);border-right:1px solid rgba(255,255,255,.4);text-align:center}
.cpz-t td{padding:.09cm .18cm;border-bottom:1px solid #d9e8df;border-right:1px solid #d9e8df;vertical-align:middle;line-height:1.25}
.cpz-t tbody tr:nth-child(even) td{background:#f1f8f4}
.cpz-t td.k{width:.55cm;text-align:center;padding:0}
.cpz-t td.k i{display:inline-block;width:.34cm;height:.34cm;border-radius:.08cm;vertical-align:middle}
.cpz-t td.d{font-weight:700;color:var(--d);white-space:nowrap}
.cpz-t td.n{text-align:center;font-weight:700;width:.9cm}
.cpz-eb{display:flex;flex-direction:column;gap:.25cm;min-height:0}
.cpz-eg h4{margin:0 0 .1cm;padding:.05cm .4cm;border-left:.12cm solid var(--gold);background:#fbf6e6;color:var(--d);font-size:12.5pt}
.cpz-te{width:100%}
.cpz-te td.d{white-space:normal;width:38%}
.cpz-t small{color:#6b8575}
.cpz-none{margin:0;padding:.2cm;background:#fff;border:1px solid var(--line);font-size:10.5pt;color:#6b8575}

/* ফুটার */
.cpz-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.1cm 0;border:.05cm solid var(--gold);border-radius:99px;background:linear-gradient(180deg,#fffdf5,#f4faf6);padding:0 .6cm}
.cpz-fs{display:inline-flex;align-items:center;gap:.3cm;padding:0 .9cm}
.cpz-fs+.cpz-fs{border-left:.04cm solid #d9bd78}
.cpz-fs em{font-style:normal;padding:.02cm .5cm;border-radius:99px;background:#fbf3dc;border:.03cm solid #d9bd78;color:#7a5a00;font-size:11pt;font-weight:600}
.cpz-fs b{font-size:14pt;color:var(--d)}

@media print{
  html.cac-pz-open,html.cac-pz-open body{margin:0!important;padding:0!important;background:#fff!important;overflow:visible!important;height:auto!important}
  html.cac-pz-open body>*:not(.cac-pw){display:none!important}
  .cac-pw{position:static;display:block;background:none}
  .cac-pw-bar{display:none!important}
  .cac-pw-scroll{padding:0;overflow:visible}
  .cac-pw-stage{width:auto!important;height:auto!important;margin:0!important;overflow:visible}
  .cac-pw-scaler{transform:none!important;width:50cm;height:34.95cm}
  .cpz{height:34.95cm;break-inside:avoid;page-break-after:avoid}
}

/* বিশেষ দ্রষ্টব্য (এক লাইন) */
.cpz-note{display:flex;align-items:center;justify-content:center;text-align:center;gap:.3cm;margin-top:.25cm;padding:.1cm .4cm;background:linear-gradient(180deg,#fffdf5,#fbf3dc);border:.04cm solid #e2c777;border-left:.14cm solid var(--gold);border-radius:.2cm}
.cpz-note-h{flex:none;background:linear-gradient(135deg,var(--gold),#a97f22);color:#fff;font-weight:700;font-size:11pt;padding:.02cm .45cm;border-radius:99px;white-space:nowrap}
.cpz-note-l{font-size:11pt;line-height:1.3;color:#4a3a05}

/* ===== লিগাল আড়াআড়ি মোড (৫০ সেমি চওড়ায় আঁকা, ছাপার সময় কাগজের মাপে ছোট হয়) ===== */
.cac-pw-bar button[data-len]{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.4)}
.cac-pw-bar button[data-len].on{background:#fff;color:var(--d)}
.cac-pw.legal .cpz{grid-template-rows:6.7cm calc(9.9cm + var(--pzx,0cm)) minmax(0,1fr) 1cm;padding:.6cm;gap:.25cm}
.cac-pw.legal .cpz-ban{height:1.9cm}
.cac-pw.legal .cpz-hd{height:4.8cm}
.cac-pw.legal .cpz-m header{padding:.06cm .3cm}
.cac-pw.legal .cpz-g{grid-template-rows:.5cm repeat(6,1fr)}
.cac-pw.legal .cpz-t td{padding:.05cm .16cm;line-height:1.15}
.cac-pw.legal .cpz-t th{padding:.05cm .15cm}
.cac-pw.legal .cpz-note{margin-top:.15cm;padding:.05cm .4cm}
.cac-pw.legal .cpz-eb{gap:.15cm}
@media print{
  .cac-pw.legal .cac-pw-stage{width:var(--pzpw)!important;height:var(--pzph)!important;overflow:hidden!important;margin:0!important}
  .cac-pw.legal .cac-pw-scaler{transform:scale(var(--pzs))!important;transform-origin:0 0;width:50cm}
}

/* ===== ছুটির দিন: ঘরের রঙ নয়, সংখ্যার চারপাশে গোল রিং (পোস্টার ও লিগাল প্রিন্ট) ===== */
.cpz-d.full,.cpz-d.cls{background:transparent;box-shadow:none}
.cpz-d b{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:.56cm;height:.56cm;border-radius:50%;border:.05cm solid transparent;line-height:1}
.cpz-d.full b{border-color:#b3122a;border-style:solid}
.cpz-d.cls b{border-color:#1d5fc0;border-style:dashed}
.cpz-d small{margin-top:-.03cm}
.cpz-lg i.full,.cpz-lg i.cls,.cpz-t td.k i.full,.cpz-t td.k i.cls{background:#fff;border-radius:50%;border-width:.05cm}
.cpz-lg i.cls,.cpz-t td.k i.cls{border-style:dashed}
.cpz-lg i{width:.36cm;height:.36cm}
.cac-pw.legal .cpz-d b{width:.44cm;height:.44cm;font-size:10pt}
.cac-pw.legal .cpz-d small{margin-top:.01cm}
.cpz-d.full b,.cpz-d.cls b{font-weight:600;font-size:10.5pt;width:.52cm;height:.52cm;border-width:.035cm}
.cac-pw.legal .cpz-d.full b,.cac-pw.legal .cpz-d.cls b{font-size:9.5pt;width:.47cm;height:.47cm}

/* ===== টেবিলের হেডার হালকা (কালি কম) + শ্রেণি অনুযায়ী রঙ ===== */
.cpz-t th{background:linear-gradient(180deg,#f3faf6,#dcefe3);color:var(--d);border-bottom:.06cm solid var(--gold);border-right:1px solid #b5d3c1}
.cpz-t tbody tr:nth-child(even) td{background:#f1f8f4}
.cpz-g-xi h4{border-left-color:#0f766e;background:#e3f3f0;color:#0b5a53}
.cpz-g-xi .cpz-t{border-color:#8cc3ba}
.cpz-g-xi .cpz-t th{background:linear-gradient(180deg,#f2fbf9,#cfeae5);color:#0b5a53;border-bottom-color:#0f766e;border-right-color:#a9d6cf}
.cpz-g-xi .cpz-t td{border-color:#c3e0da}
.cpz-g-xi .cpz-t tbody tr:nth-child(even) td{background:#eef8f6}
.cpz-g-xi .cpz-t td.d{color:#0b5a53}
.cpz-g-xii h4{border-left-color:#b8751a;background:#fbf0dc;color:#7a4a00}
.cpz-g-xii .cpz-t{border-color:#dcb97c}
.cpz-g-xii .cpz-t th{background:linear-gradient(180deg,#fff9ee,#f6e3bf);color:#7a4a00;border-bottom-color:#b8751a;border-right-color:#ebd0a0}
.cpz-g-xii .cpz-t td{border-color:#efdcb8}
.cpz-g-xii .cpz-t tbody tr:nth-child(even) td{background:#fdf6e8}
.cpz-g-xii .cpz-t td.d{color:#7a4a00}

/* ===== টেবিলের ঘরের দাগ স্পষ্ট (ছাপলে চোখে পড়ে): কলামের দাগ, সারির দাগ ও বাইরের ফ্রেম গাঢ় ===== */
.cpz-t{border-collapse:collapse;border:.07cm solid #3f7d61}
.cpz-t th{border-right:.045cm solid #5f9a7f;border-bottom:.07cm solid var(--gold)}
.cpz-t th:last-child,.cpz-t td:last-child{border-right:0}
.cpz-t td{border-right:.045cm solid #6fa88d;border-bottom:.045cm solid #6fa88d}
.cpz-t tbody tr:last-child td{border-bottom:0}
.cpz-g-xi .cpz-t{border-color:#1f7d72}
.cpz-g-xi .cpz-t th{border-right-color:#4fa095;border-bottom-color:#0f766e}
.cpz-g-xi .cpz-t td{border-right-color:#5aa89d;border-bottom-color:#5aa89d}
.cpz-g-xii .cpz-t{border-color:#a8691a}
.cpz-g-xii .cpz-t th{border-right-color:#c9a05e;border-bottom-color:#b8751a}
.cpz-g-xii .cpz-t td{border-right-color:#cfa968;border-bottom-color:#cfa968}
.cpz-t td.n{border-right-color:#6fa88d}

/* ===== ফাঁকা জায়গা ভরা: ছুটি কম হলেও টেবিল পুরো উচ্চতা নেয় (সারি সমানভাবে লম্বা হয়), ১-২ লাইন বাড়লেও ঠিক থাকে ===== */
.cpz-hs .cpz-tr{flex:1 1 auto;align-items:stretch;min-height:0}
.cpz-hs .cpz-tr .cpz-t{height:100%}
.cpz-es .cpz-eb{flex:0 0 auto}
/* লিগাল: নিচের অংশ নিজের উচ্চতা নেয়, বাকিটা মাসের ক্যালেন্ডার পায় (ছুটি কম হলে ক্যালেন্ডার বড় হয়) */
.cac-pw.legal .cpz{grid-template-rows:6.7cm minmax(calc(9.9cm + var(--pzx,0cm)),1fr) auto 1cm}
.cac-pw.legal .cpz-bot{overflow:visible}
