.cac{--cac-bg:#eef6f1;--cac-card:#fff;--cac-ink:#15301f;--cac-muted:#5a7264;--cac-line:#d5e5db;--cac-green:#0a6b3c;--cac-deep:#064d2b;--cac-gold:#c19a3b;--cac-red:#d1222b;--cac-blue:#1d5fc0;--cac-hol:#fde8e8;--cac-cls:#e4edff;--cac-today:#f4a000;--cac-head:#f1f7f3;--cac-shadow:0 6px 18px rgba(6,77,43,.10),0 1px 3px rgba(6,77,43,.08);
  container-type:inline-size;box-sizing:border-box;background:linear-gradient(180deg,#f6fbf8 0%,#e9f3ed 100%);color:var(--cac-ink);font-family:"Noto Sans Bengali","Hind Siliguri","Kalpurush",system-ui,sans-serif;line-height:1.45;border-radius:14px;overflow:hidden;margin:1rem 0;box-shadow:0 10px 30px rgba(6,77,43,.12)}
.cac *,.cac *::before,.cac *::after{box-sizing:border-box}
.cac button{appearance:none;-webkit-appearance:none;margin:0;box-shadow:none;text-transform:none;letter-spacing:normal;font:inherit;line-height:inherit;border-radius:0;background:transparent;color:inherit;border:0;cursor:pointer}
.cac button:focus-visible{outline:3px solid var(--cac-today);outline-offset:2px}

/* ---------- হেডার ---------- */
.cac-band{background:linear-gradient(135deg,var(--cac-deep) 0%,var(--cac-green) 55%,#0e8049 100%);color:#fff;border-bottom:1px solid rgba(0,0,0,.18)}
.cac-band-in{padding:1rem 1.2rem;display:flex;align-items:center;justify-content:center;gap:1.1rem;text-align:center}
.cac-txt{min-width:0}
.cac-banner{line-height:0;background:var(--cac-card)}
.cac-banner img{display:block;width:100%;height:auto;margin:0;border:0;border-radius:0}
.cac-logo{width:80px;height:80px;padding:5px;border-radius:50%;background:#fff;border:3px solid rgba(255,255,255,.55);background-clip:padding-box;box-shadow:0 4px 14px rgba(0,0,0,.25);flex:none;display:grid;place-items:center;overflow:hidden;color:var(--cac-green);font-weight:700;font-size:1.8rem}
.cac-logo img{width:100%;height:100%;object-fit:contain;margin:0;border-radius:50%}
.cac .cac-title{margin:0;padding:0;color:#fff;font-size:clamp(1.3rem,4vw,2.2rem);font-weight:700;line-height:1.15;text-shadow:0 2px 6px rgba(0,0,0,.25)}
.cac-sub{margin:.2rem 0 0;font-size:.98rem;opacity:.95;letter-spacing:.2px}
/* ---------- ওভারলে হেডার: ব্যানার ছবির ওপর নাম ও লোগো (সবুজ ফেড) ---------- */
.cac-hero{position:relative;border-bottom:3px solid var(--cac-gold)}
.cac-hero.has-banner{background:var(--cac-deep)}
.cac-hero.has-banner .cac-banner{background:var(--cac-deep)}
.cac-hero.has-banner .cac-banner img{min-height:230px;object-fit:cover;object-position:center 60%}
.cac-hero.has-banner .cac-band{position:absolute;left:0;right:0;bottom:0;border-bottom:0;padding-top:4.5rem;background:linear-gradient(to top,rgba(4,58,32,.97) 0%,rgba(6,77,43,.92) 38%,rgba(6,77,43,.55) 70%,rgba(6,77,43,0) 100%)}
.cac-hero.has-banner .cac-band-in{padding:.7rem 1.2rem 1rem}
.cac-hero.has-banner .cac-logo{width:88px;height:88px;border-color:rgba(255,255,255,.75)}
.cac-hero.has-banner .cac-title{text-shadow:0 2px 10px rgba(0,0,0,.55)}
.cac-hero.has-banner .cac-sub{text-shadow:0 1px 6px rgba(0,0,0,.5);opacity:1}
.cac-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem .45rem;margin-top:.55rem}
.cac-chip{display:inline-block;padding:.12rem .7rem;border-radius:999px;font-size:.82rem;line-height:1.5;color:#fff;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.4);text-shadow:0 1px 4px rgba(0,0,0,.4)}
.cac-chip b{font-weight:700;color:#ffe9a8}
.cac-intro{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:.7rem;padding:.8rem 1.2rem;background:linear-gradient(180deg,#fbfdfc,#f1f7f3);border-bottom:1px solid var(--cac-line)}
.cac-ib{background:#fff;border:1px solid var(--cac-line);border-left:4px solid var(--cac-gold);border-radius:10px;padding:.55rem .8rem;box-shadow:0 1px 3px rgba(6,77,43,.07)}
.cac .cac-ib h3{margin:0 0 .2rem;padding:0;font-size:.98rem;font-weight:700;color:var(--cac-deep);line-height:1.3}
.cac .cac-ib p{margin:0;padding:0;font-size:.9rem;line-height:1.6;color:#2f4a3a;text-align:justify}
.cac-auth{padding:.6rem 1.2rem;display:flex;flex-wrap:wrap;gap:.2rem 1.6rem;color:var(--cac-muted);font-size:.95rem;background:#fff;border-bottom:1px solid var(--cac-line)}
.cac-auth span::before{content:"";display:inline-block;width:.45rem;height:.45rem;border-radius:50%;background:var(--cac-gold);margin-right:.5rem;vertical-align:.12em}
.cac-auth b{color:var(--cac-ink);font-weight:600}
.cac-main{padding:1.1rem 1.2rem 1.3rem}

/* ---------- টুলবার ---------- */
.cac-panel{background:#fff;border:1px solid var(--cac-line);border-radius:14px;box-shadow:var(--cac-shadow);padding:.8rem 1rem;margin-bottom:1.1rem}
.cac-toolbar{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:space-between}
.cac-seg{display:inline-flex;border:1.5px solid var(--cac-green);border-radius:999px;overflow:hidden;background:#fff;box-shadow:var(--cac-shadow)}
.cac .cac-seg button{color:var(--cac-green);font-weight:600;padding:.4rem 1.1rem}
.cac .cac-seg button[aria-pressed="true"]{background:linear-gradient(135deg,var(--cac-green),var(--cac-deep));color:#fff}
.cac-nav{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem}
.cac-ttl{min-width:9.5rem;text-align:center;font-weight:700;font-size:1.15rem;color:var(--cac-deep)}
.cac .cac-btn{border:1.5px solid var(--cac-line);background:#fff;border-radius:10px;padding:.35rem .8rem;box-shadow:0 1px 2px rgba(6,77,43,.08)}
.cac .cac-btn:hover{border-color:var(--cac-green);background:#f3faf6}
.cac-legend{display:flex;flex-wrap:wrap;gap:.4rem .5rem;font-size:.88rem;color:var(--cac-muted);margin:.75rem 0 0;padding-top:.75rem;border-top:1px dashed var(--cac-line)}
.cac-legend span{display:inline-flex;align-items:center;gap:.4rem;padding:.1rem .7rem .1rem .45rem;border:1px solid var(--cac-line);border-radius:999px;background:#f8fcf9;color:#3d5a49}
.cac-legend i{display:inline-block;flex:none;width:.85rem;height:.85rem;border-radius:4px}

/* ---------- মাসের ছক ---------- */
.cac-view{min-width:0}
.cac-year{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,265px),1fr));gap:1rem}
.cac-mon{min-width:0;background:var(--cac-card);border:1px solid var(--cac-line);border-radius:14px;overflow:hidden;box-shadow:var(--cac-shadow)}
.cac .cac-mon-h{display:flex;justify-content:space-between;align-items:baseline;width:100%;padding:.5rem .8rem;background:linear-gradient(180deg,#f8fcf9,var(--cac-head));border-bottom:2px solid var(--cac-gold);text-align:left}
.cac .cac-mon-h b{font-size:1.08rem;color:var(--cac-deep)}
.cac .cac-mon-h span{font-size:.82rem;color:var(--cac-green);font-weight:600}
.cac-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.cac-wd{background:linear-gradient(180deg,var(--cac-green),var(--cac-deep));color:#fff;text-align:center;font-size:.78rem;font-weight:600;padding:.25rem 0;overflow:hidden}
.cac-wd.off{background:linear-gradient(180deg,#dc2b34,#b91c24)}
.cac-wd{border-right:1px solid rgba(255,255,255,.55)}
.cac-wd:nth-child(7){border-right:0}
.cac .cac-d{position:relative;display:block;min-width:0;padding:.2rem 0 .15rem;text-align:center;min-height:3.1rem;border-top:1px solid var(--cac-line);border-right:1px solid var(--cac-line);width:100%}
.cac .cac-d:nth-child(7n){border-right:0}
.cac .cac-d.blank{cursor:default}
.cac-g{display:block;font-size:1.05rem;font-weight:600;line-height:1.1}
.cac-b{display:block;font-family:"Noto Sans Bengali","Hind Siliguri",system-ui,sans-serif;font-size:.8rem;font-weight:600;color:#0a5a33;line-height:1.2;margin-top:1px}
.cac .cac-d.off .cac-g{color:var(--cac-red)}
.cac .cac-d.full{background:var(--cac-hol)}
.cac .cac-d.full .cac-g{color:var(--cac-red)}
.cac .cac-d.cls{background:var(--cac-cls)}
.cac .cac-d.cls .cac-g{color:var(--cac-blue)}
.cac .cac-d.today{box-shadow:inset 0 0 0 2.5px var(--cac-today)}
.cac .cac-d.sel{outline:2px solid var(--cac-green);outline-offset:-2px}
.cac-dot{position:absolute;right:3px;top:3px;width:6px;height:6px;border-radius:50%}
.cac-big .cac-d{min-height:5.6rem;padding:.35rem .4rem;text-align:left;display:flex;flex-direction:column;gap:2px;overflow:hidden}
.cac-big .cac-g{font-size:1.2rem}
.cac-big .cac-b{margin-top:0;font-size:.88rem}
.cac-big .cac-wd{font-size:.9rem;padding:.4rem 0}
.cac-tag{display:block;font-size:.72rem;line-height:1.2;padding:1px 5px;border-radius:4px;background:rgba(0,0,0,.07);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}
.cac .cac-d.full .cac-tag{background:var(--cac-red);color:#fff}
.cac .cac-d.cls .cac-tag{background:var(--cac-blue);color:#fff}
.cac-big .cac-dot{display:none}

.cac-chip{display:inline-block;vertical-align:.1em;background:linear-gradient(135deg,var(--cac-gold),#a97f22);color:#fff;font-size:.78rem;font-weight:700;border-radius:999px;padding:.05rem .7rem;margin-right:.55rem;letter-spacing:.3px}


/* ---------- শ্রেণিভিত্তিক কর্মসূচি টেবিল (প্রিন্টের জন্য) ---------- */
.cac-evwrap{display:grid;grid-template-columns:1fr;gap:1rem}
@container (min-width:900px){.cac-evwrap{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cac-evcol{min-width:0}
.cac .cac-evh{margin:0 0 .5rem;padding:.35rem 1rem;font-size:1.05rem;font-weight:700;color:var(--cac-deep);background:#fbf6e6;border:1px solid var(--cac-line);border-left:6px solid var(--cac-gold);border-radius:10px}
.cac .cac-ev table,.cac .cac-evwrap table{min-width:0}
.cac .cac-evwrap th{text-align:left}
.cac-all{color:var(--cac-muted);font-size:.78rem}
/* স্পষ্ট ঘরের বর্ডার: কলামের মাঝের দাগ + সারির দাগ */
.cac .cac-evwrap .cac-tw{border:1.5px solid #9cc4ae}
.cac .cac-evwrap table{table-layout:fixed;width:100%;border-collapse:collapse}
.cac .cac-evwrap th:first-child,.cac .cac-evwrap td.d{width:44%}
.cac .cac-evwrap thead th{text-align:left!important;border-right:1px solid rgba(255,255,255,.55)!important;border-bottom:3px solid #c19a3b!important}
.cac .cac-evwrap thead th:last-child{border-right:0!important}
.cac .cac-evwrap .cac-tw td{border-right:1px solid #b5d3c1!important;border-bottom:1px solid #b5d3c1!important;vertical-align:middle}
.cac .cac-evwrap .cac-tw td:last-child{border-right:0!important}
.cac .cac-evwrap .cac-tw tbody tr:last-child td{border-bottom:0!important}
/* ছুটির তালিকা: একই রকম ঘরের বর্ডার */
.cac .cac-holsec + .cac-tw{border:1.5px solid #9cc4ae}
.cac .cac-holsec + .cac-tw thead th{border-right:1px solid rgba(255,255,255,.55)!important;border-bottom:3px solid #c19a3b!important}
.cac .cac-holsec + .cac-tw thead th:last-child{border-right:0!important}
.cac .cac-holsec + .cac-tw td{border-right:1px solid #b5d3c1!important;border-bottom:1px solid #b5d3c1!important;vertical-align:middle}
.cac .cac-holsec + .cac-tw td:last-child{border-right:0!important}
.cac .cac-holsec + .cac-tw tbody tr:last-child td{border-bottom:0!important}
.cac .cac-holsec + .cac-tw tfoot td{border-top:2px solid #c19a3b!important;border-bottom:0!important}
/* প্রিমিয়াম হালকা হেডার: হালকা সবুজ ব্যাকগ্রাউন্ড, গাঢ় সবুজ বোল্ড লেখা, নিচে সোনালি দাগ (প্রিন্টে কালি কম, সাদা-কালোতেও স্পষ্ট) */
.cac .cac-holsec + .cac-tw thead th,.cac .cac-evwrap .cac-tw thead th{background:linear-gradient(180deg,#f3faf6 0%,#dcefe3 100%)!important;background-color:#e6f3ea!important;color:#064d2b!important;text-shadow:none!important;font-weight:700;letter-spacing:.2px;border-right:1px solid #b5d3c1!important;border-bottom:3px solid #c19a3b!important}
.cac .cac-holsec + .cac-tw thead th:last-child,.cac .cac-evwrap .cac-tw thead th:last-child{border-right:0!important}
/* হেডারের লেবেল নিজ নিজ কলামের মাঝখানে */
.cac .cac-holsec + .cac-tw thead th,.cac .cac-evwrap .cac-tw thead th{text-align:center!important}
.cac .cac-gh,.cac .cac-evh{text-align:center}

/* ---------- ছুটির তালিকা ---------- */
.cac-sec{display:flex;align-items:center;gap:.8rem;margin:1.8rem 0 .8rem;padding:0;font-size:1.25rem}
.cac-sec::after{content:"";flex:1;height:2px;background:linear-gradient(90deg,var(--cac-gold),rgba(193,154,59,0))}
.cac-pill{display:inline-block;background:linear-gradient(135deg,var(--cac-green),var(--cac-deep));color:#fff;border-radius:999px;padding:.3rem 1.3rem;box-shadow:0 4px 12px rgba(10,107,60,.28),inset 0 1px 0 rgba(255,255,255,.25)}
.cac-tw{overflow-x:auto;background:var(--cac-card);border:1px solid var(--cac-line);border-radius:14px;box-shadow:var(--cac-shadow)}
.cac table{border-collapse:collapse;width:100%;min-width:560px;font-size:.97rem;margin:0;border:0}
.cac th,.cac td{padding:.55rem .8rem;text-align:left;border:0;border-bottom:1px solid var(--cac-line);vertical-align:top;background:transparent;color:var(--cac-ink)}
.cac th{background:linear-gradient(180deg,var(--cac-green),var(--cac-deep));color:#fff;font-weight:600;white-space:nowrap;border-bottom:3px solid var(--cac-gold);padding:.7rem .8rem}
.cac td.n{text-align:center;white-space:nowrap;font-weight:600;color:var(--cac-deep)}
.cac th:nth-child(2){text-align:center}
.cac tbody tr:nth-child(even){background:#f3f9f5}
.cac tbody tr:hover{background:#e6f3ea}
.cac-bd{display:inline-block;font-size:.78rem;padding:1px 10px;border-radius:999px;font-weight:600;white-space:nowrap;border:1px solid transparent}
.cac-bd.full{background:var(--cac-hol);color:var(--cac-red);border-color:#f3b9bc}
.cac-bd.cls{background:var(--cac-cls);color:var(--cac-blue);border-color:#b7caf0}
.cac tfoot tr{background:linear-gradient(180deg,#fbf6e6,#f4ecd0)}
.cac tfoot td{font-weight:700;color:var(--cac-deep);border-top:2px solid var(--cac-gold);border-bottom:0;font-size:1.02rem}
.cac-empty{padding:1rem;color:var(--cac-muted)}

/* ---------- থিমের ডোরাকাটা/রঙ ঠেকিয়ে ছুটির টেবিল জোর করে প্রিমিয়াম ---------- */
.cac .cac-tw table{background:#fff!important;border:0!important}
.cac .cac-tw thead th{background:linear-gradient(180deg,#0a6b3c 0%,#064d2b 100%)!important;background-color:#0a6b3c!important;color:#fff!important;border:0!important;border-bottom:3px solid #c19a3b!important;text-shadow:0 1px 1px rgba(0,0,0,.25)}
.cac .cac-tw tbody tr{background:#fff!important}
.cac .cac-tw tbody tr:nth-child(even){background:#eef7f1!important}
.cac .cac-tw tbody tr:hover{background:#dff0e5!important}
.cac .cac-tw tbody td,.cac .cac-tw tfoot td{background:transparent!important;background-image:none!important;color:#15301f!important;border:0!important;border-bottom:1px solid #dcebe1!important}
.cac .cac-tw tbody tr:last-child td{border-bottom:0!important}
.cac .cac-tw td.d{font-weight:600}
.cac .cac-tw td.n{color:#064d2b!important;font-weight:700}
.cac .cac-tw tfoot tr{background:linear-gradient(180deg,#fbf6e6,#f4ecd0)!important}
.cac .cac-tw tfoot td{color:#064d2b!important;font-weight:700;border-top:2px solid #c19a3b!important;border-bottom:0!important}

/* ---------- মোবাইল / সরু জায়গা (পর্দার সাথে নয়, ক্যালেন্ডারের নিজের প্রস্থ ধরে) ---------- */
@media screen{
  @container (max-width:640px){
    .cac-main{padding:.8rem .7rem 1rem}
    .cac-panel{padding:.7rem .7rem}
    .cac-toolbar{justify-content:center}
    .cac-nav{width:100%;justify-content:center}
    .cac-ttl{min-width:0;flex:1 1 100%;order:-1;text-align:center}
    .cac-legend{justify-content:center;font-size:.8rem}
    .cac-auth{padding:.5rem .9rem}
    /* মাসের ছক: ৭ কলাম সবসময় এক স্ক্রিনে, ট্যাগের লেখা নয় — রঙিন ডট */
    .cac-big .cac-d{min-height:4rem;padding:.25rem .1rem;align-items:center;text-align:center}
    .cac-big .cac-g{font-size:1.1rem}
    .cac-big .cac-b{font-size:.8rem}
    .cac-big .cac-tag{display:none}
    .cac-big .cac-dot{display:block}
    .cac-big .cac-wd{font-size:.78rem;padding:.3rem 0}
    .cac-year{grid-template-columns:1fr}
    .cac-sec{font-size:1.05rem;margin-top:1.4rem}
    .cac-pill{padding:.25rem 1rem}
    /* ছুটির টেবিল: পাশে স্ক্রল ছাড়া কার্ডের মতো সারি */
    .cac-tw{overflow:visible}
    .cac-tw table,.cac-tw tbody,.cac-tw tfoot{display:block;min-width:0;width:100%}
    .cac-tw thead{display:none}
    .cac .cac-tw tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.2rem .7rem;align-items:center;padding:.7rem .9rem;border-bottom:1px solid #dcebe1}
    .cac .cac-tw td{display:block;padding:0}
    .cac .cac-tw tbody td,.cac .cac-tw tfoot td{border-bottom:0!important}
    .cac .cac-tw td.d{grid-column:1;font-weight:700;color:#064d2b!important}
    .cac .cac-tw td.n{grid-column:2;grid-row:1;justify-self:end;background:#dcefe3!important;color:#0a6b3c!important;border-radius:999px;padding:0 .7rem;font-size:.85rem}
    .cac-tw td.n::after{content:" দিন"}
    .cac-tw td.t{grid-column:1;grid-row:2;color:var(--cac-ink);font-size:.95rem}
    .cac .cac-evwrap .cac-tw td,.cac .cac-holsec + .cac-tw td{border-right:0!important;border-bottom:0!important}
    .cac .cac-holsec + .cac-tw{border:1px solid var(--cac-line)}
    .cac .cac-evwrap .cac-tw td.d,.cac .cac-evwrap td.d{width:auto}
    .cac-evwrap .cac-tw td.d{grid-column:1 / -1;grid-row:1}
    .cac-evwrap .cac-tw td.t{grid-column:1 / -1;grid-row:2}
    .cac-tw td.k{grid-column:2;grid-row:2;justify-self:end}
    .cac-tw tfoot tr{grid-template-columns:1fr auto;border-bottom:0}
    .cac-tw tfoot td[colspan]{display:none}
    .cac-tw tfoot tr{border-top:2px solid var(--cac-gold)}
    .cac .cac-tw tfoot td{border-top:0!important}
    .cac .cac-tw tfoot td.n{background:transparent!important;color:#064d2b!important;font-size:1.02rem;padding:0}
    .cac-band-in{gap:.5rem;padding:.8rem}
    .cac-mid{flex-direction:column;gap:.5rem}
    .cac-logo{width:64px;height:64px;padding:4px}
    .cac-hero.has-banner .cac-banner img{min-height:340px}
    .cac-chip{font-size:.74rem;padding:.08rem .55rem}
    .cac-intro{padding:.6rem .7rem}
    .cac-hero.has-banner .cac-band{padding-top:3rem}
    .cac-hero.has-banner .cac-band-in{padding:.5rem .8rem .8rem}
    .cac-hero.has-banner .cac-logo{width:70px;height:70px}
  }
}

/* ---------- v0.8.3 – ব্যানার ছবি পরিষ্কার, নিচে হালকা স্ট্রিপ; গোল ছবি ছবির কিনারায় আধা-আধি ঝুলে থাকে ---------- */
.cac-mid{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:1.1rem;flex:1 1 auto;min-width:0}
.cac-mid .cac-logo{grid-column:1;justify-self:end}
.cac-mid .cac-txt{grid-column:2;min-width:0}
@container (max-width:640px){.cac-mid{display:flex;flex-direction:column;gap:.5rem}}
.cac .cac-pp{flex:0 0 150px;width:150px;margin:0;padding:0;display:flex;flex-direction:column;align-items:center;gap:.4rem;text-align:center}
.cac .cac-pp-ghost{visibility:hidden}
.cac .cac-pp-img{display:block;width:116px;height:116px;padding:3px;border-radius:50%;background:linear-gradient(135deg,#f6d983,#c19a3b);box-shadow:0 4px 14px rgba(0,0,0,.3);overflow:hidden;box-sizing:border-box}
.cac .cac-pp-img img{display:block;width:100%;height:100%;margin:0;border-radius:50%;object-fit:cover;object-position:center top;border:2px solid #fff;box-sizing:border-box}
.cac .cac-pp b{display:block;color:#fff;font-size:.95rem;font-weight:700;line-height:1.3;text-shadow:0 1px 4px rgba(0,0,0,.35)}
.cac .cac-pp small{display:block;color:#ffe08a;font-size:.78rem;font-weight:500;line-height:1.35}

@media screen{
  /* ব্যানার থাকলে: ছবির ওপর কিছু বসে না; নাম/লোগো/চিপ নিচের হালকা স্ট্রিপে — যে ছবিই দিন, লেখা পড়া যায় */
  .cac .cac-hero.has-banner .cac-band{position:relative;padding:0;color:var(--cac-deep);background:linear-gradient(180deg,#f1f8f4 0%,#fff 100%)}
  .cac .cac-hero.has-banner .cac-band-in{padding:.9rem 1.2rem 1rem;align-items:flex-start;justify-content:space-between}
  .cac .cac-hero.has-banner .cac-mid{align-self:center}
  .cac .cac-hero.has-banner .cac-title{color:var(--cac-deep);text-shadow:none}
  .cac .cac-hero.has-banner .cac-sub{color:var(--cac-green);text-shadow:none;opacity:1}
  .cac .cac-hero.has-banner .cac-logo{border:3px solid #c19a3b;box-shadow:0 2px 8px rgba(6,77,43,.18)}
  .cac .cac-hero.has-banner .cac-chips .cac-chip{color:var(--cac-deep);background:#fff;border:1px solid #c19a3b;text-shadow:none}
  .cac .cac-hero.has-banner .cac-chips .cac-chip b{color:#7a5a00}
  /* গোল ছবি ব্যানারের নিচের কিনারায় আধা-আধি ঝুলে থাকবে */
  .cac .cac-hero.has-banner .cac-pp-img{position:relative;z-index:2;margin-top:-60px;box-shadow:0 0 0 4px #fff,0 4px 14px rgba(0,0,0,.28)}
  .cac .cac-hero.has-banner .cac-pp b{color:var(--cac-deep);text-shadow:none}
  .cac .cac-hero.has-banner .cac-pp small{color:#7a5a00}

  @container (min-width:641px){
    .cac .cac-hero.has-banner .cac-mid{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:.35rem;align-self:flex-start}
    .cac .cac-hero.has-banner .cac-logo{position:relative;z-index:2;width:100px;height:100px;margin-top:-50px;justify-self:auto;box-shadow:0 0 0 4px #fff,0 4px 14px rgba(0,0,0,.28)}
  }

  @container (max-width:640px){
    .cac .cac-hero.has-banner .cac-banner img{min-height:200px;max-height:260px}
    .cac .cac-hero.has-banner .cac-band-in{flex-wrap:wrap;justify-content:space-between;gap:.4rem .5rem;padding:.7rem .7rem .9rem}
    .cac .cac-hero.has-banner .cac-mid{order:3;flex:1 1 100%}
    .cac .cac-hero.has-banner .cac-pp{flex:0 0 calc(50% - .3rem);width:auto;max-width:calc(50% - .3rem)}
    .cac .cac-hero.has-banner .cac-pp-ghost{display:none}
    .cac .cac-hero.has-banner .cac-pp-img{width:76px;height:76px;margin-top:-42px}
    .cac .cac-hero.has-banner .cac-pp b{font-size:.85rem}
    .cac .cac-hero.has-banner .cac-pp small{font-size:.72rem}
  }
}

/* ---------- প্রিন্ট / PDF: রঙসহ সুন্দর ছাপা ---------- */
@page{size:A4 portrait;margin:9mm}
@media print{
  .cac-toolbar,.cac-lg-today{display:none!important}
  .cac-panel{background:transparent;border:0;box-shadow:none;padding:0;margin:0 0 .35rem}
  .cac-legend{justify-content:center;margin:0;padding:.3rem 0 0;border:0;font-size:.68rem;gap:.25rem .4rem}
  .cac-legend span{padding:0 .5rem 0 .3rem;gap:.3rem}
  .cac-legend i{width:.7rem;height:.7rem}
  .cac,.cac *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .cac{border-radius:0;margin:0;box-shadow:none}
  .cac-mon,.cac-tw,.cac-pill{box-shadow:none}
  .cac-main{padding:.5rem 0 0}
  .cac-band-in{padding:.5rem 1rem}
  .cac-logo{width:62px;height:62px}
  .cac-hero,.cac-hero .cac-banner,.cac-hero .cac-band{break-inside:avoid;page-break-inside:avoid}
  .cac-hero.has-banner .cac-banner img{min-height:0;max-height:66mm;object-fit:cover}
  .cac-chips{margin-top:.3rem;gap:.2rem .35rem}
  .cac-chip{font-size:.68rem;padding:.04rem .5rem}
  .cac-intro{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;padding:.35rem 0 0;background:transparent;border:0}
  .cac-intro.no-print{display:none!important}
  .cac-ib{box-shadow:none;padding:.25rem .5rem;border-radius:6px;break-inside:avoid}
  .cac .cac-ib h3{font-size:.76rem;margin-bottom:.1rem}
  .cac .cac-ib p{font-size:.64rem;line-height:1.45}
  .cac-hero.has-banner .cac-band{padding-top:3.2rem}
  .cac-hero.has-banner .cac-band-in{padding:.4rem 1rem .6rem}
  .cac-hero.has-banner .cac-logo{width:66px;height:66px}
  .cac-hero.has-banner .cac-title{font-size:1.7rem}
  .cac-auth{padding-top:.4rem;font-size:.85rem}
  .cac .cac-pp{flex-basis:130px;width:130px}
  .cac .cac-pp-img{width:88px;height:88px}
  .cac-hero.has-pp .cac-band-in{padding:.5rem 1rem}
  .cac-year{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}
  .cac-mon{break-inside:avoid}
  .cac .cac-mon-h{padding:.2rem .5rem}
  .cac .cac-mon-h b{font-size:.95rem}
  .cac .cac-mon-h span{font-size:.72rem}
  .cac .cac-d{min-height:1.75rem;padding:.05rem 0}
  .cac-g{font-size:.85rem}
  .cac-b{font-size:.64rem;margin-top:0;line-height:1.1}
  .cac-wd{font-size:.64rem;padding:.12rem 0}
  .cac-sec{break-after:avoid;margin-top:1rem}
  .cac-tw{overflow:visible}
  .cac table{min-width:0}
  .cac tr{break-inside:avoid}
  .cac tbody tr:hover{background:inherit}
  /* কর্মসূচি টেবিল: একাদশ | দ্বাদশ পাশাপাশি, এক পাতায় */
  .cac-evwrap{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;break-inside:avoid;page-break-inside:avoid}
  .cac-evcol{break-inside:avoid}
  .cac .cac-evh{padding:.2rem .6rem;font-size:.85rem;margin-bottom:.3rem}
  .cac-evwrap table{font-size:.7rem}
  .cac-evwrap th,.cac-evwrap td{padding:.25rem .4rem!important}
  .cac .cac-evwrap .cac-tw{border-color:#5f8f75}
  .cac .cac-evwrap .cac-tw td{border-right:1px solid #8fb5a0!important;border-bottom:1px solid #8fb5a0!important}
  .cac .cac-evwrap .cac-tw td:last-child{border-right:0!important}
  .cac .cac-evwrap .cac-tw tbody tr:last-child td{border-bottom:0!important}
  .cac .cac-holsec + .cac-tw{border-color:#5f8f75}
  .cac .cac-holsec + .cac-tw thead th,.cac .cac-evwrap .cac-tw thead th{border-right-color:#8fb5a0!important}
  .cac .cac-holsec + .cac-tw td{border-right:1px solid #8fb5a0!important;border-bottom:1px solid #8fb5a0!important}
  .cac .cac-holsec + .cac-tw td:last-child{border-right:0!important}
  .cac .cac-holsec + .cac-tw tbody tr:last-child td{border-bottom:0!important}
  .cac .cac-holsec + .cac-tw tfoot td{border-bottom:0!important}
  .cac .cac-d.today{box-shadow:none}
  .cac .cac-d.sel{outline:0}
}

.cac .cac-num{font-size:1.08em;line-height:1}
.cac td.n{font-size:1.1em;font-weight:700}
/* v0.6.3 – calendar grid: lighter, less crowded */
.cac{--cac-hol:#fdf1f1}
.cac-g{font-weight:600}
.cac-b{font-weight:400;font-size:.74rem;color:#5f7f6e}
.cac .cac-d.full .cac-g,.cac .cac-d.off .cac-g{font-weight:700}
.cac-dot{width:5px;height:5px;right:4px;top:4px;opacity:.85}
.cac .cac-mon-h b{font-weight:600}
.cac .cac-mon-h span{font-weight:500}
/* v0.6.5 – readable Bengali date numerals */
.cac-b{font-size:.8rem;font-weight:500;color:#4f7260}
.cac .cac-d.pad{border-color:transparent}
.cac .cac-d.pad.pad-top{border-top-color:var(--cac-line)}

/* ---------- v0.7.0 – হিরো ডিজাইন: শিক্ষাবর্ষ ব্যাজ, আজকের স্ট্রিপ, ছোট ব্যাজ, পরিচিতি নিচে ---------- */
.cac .cac-ay{display:inline-flex;align-items:center;gap:.5rem;margin:.55rem 0 0;padding:.2rem 1.5rem;border-radius:999px;background:linear-gradient(180deg,#fffaf0,#fbf0d2);border:1.5px solid #c19a3b;color:#5a4200;font-size:1.3rem;line-height:1.5;text-shadow:none;box-shadow:none}
.cac .cac-ay span{font-weight:600}
.cac .cac-ay b{font-weight:800;color:var(--cac-deep)}

@media screen{
  /* ফ্লেক্স কলাম: শুধু স্ক্রিনে পরিচিতি কার্ড ক্যালেন্ডারের নিচে যায়; প্রিন্টের ক্রম অপরিবর্তিত */
  .cac{display:flex;flex-direction:column}
  .cac>*{min-width:0}
  .cac .cac-intro{order:9;border-bottom:0;border-top:1px solid var(--cac-line)}

  /* হিরো ছোট */
  .cac-hero.has-banner .cac-banner img{min-height:240px;max-height:300px}
  .cac-hero.has-banner .cac-band{padding-top:3.5rem}
  .cac .cac-sub{font-size:.95rem;margin-top:.25rem}

  /* ব্যাজ: ছোট, গাঢ় কাচের মতো, পড়া সহজ */
  .cac .cac-chips{gap:.3rem .4rem;margin-top:.5rem}
  .cac .cac-chips .cac-chip{margin:0;font-size:.74rem;font-weight:500;padding:.02rem .65rem;letter-spacing:0;color:#fff;background:rgba(4,40,22,.6);border:1px solid rgba(232,200,112,.75);text-shadow:none}
  .cac .cac-chips .cac-chip b{color:#ffe08a;font-weight:700}



  @container (max-width:640px){
    .cac-hero.has-banner .cac-banner img{min-height:360px;max-height:none}
    .cac .cac-ay{font-size:1.1rem;padding:.12rem 1.1rem}
    .cac .cac-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:340px}
    .cac .cac-chips .cac-chip{text-align:center;border-radius:10px;font-size:.7rem;padding:.05rem .4rem}
  }
}

@media print{
  .cac .cac-ay{font-size:1rem;margin-top:.25rem;padding:.05rem 1rem;box-shadow:none}

  /* ---------- প্রিন্ট হেডার: কলেজের ছবি ছোট করে (৪৮মিমি) দেখানো হয়, নিচে সাদা/ক্রিম পটভূমি ---------- */
  .cac .cac-hero .cac-banner{display:block!important}
  .cac .cac-hero.has-banner .cac-banner img{min-height:0!important;max-height:48mm;width:100%;object-fit:cover;object-position:center 60%}
  .cac .cac-hero.has-banner{background:#fff}
  .cac .cac-hero .cac-band,
  .cac .cac-hero.has-banner .cac-band,
  .cac .cac-hero.has-pp.has-banner .cac-band{position:static!important;padding:0!important;color:var(--cac-deep);background:linear-gradient(180deg,#f3faf6 0%,#fff 100%)!important;border-bottom:0}
  .cac .cac-hero .cac-band-in,
  .cac .cac-hero.has-banner .cac-band-in,
  .cac .cac-hero.has-pp .cac-band-in{padding:.45rem 1rem .5rem!important;gap:.6rem}
  .cac .cac-hero .cac-mid{display:flex;flex-direction:column;align-items:center;gap:.25rem;align-self:center}
  .cac .cac-hero .cac-logo,.cac .cac-hero.has-banner .cac-logo{width:52px;height:52px;margin-top:0}
  .cac .cac-hero .cac-title,
  .cac .cac-hero.has-banner .cac-title{color:var(--cac-deep);font-size:1.5rem;text-shadow:none}
  .cac .cac-hero .cac-sub,
  .cac .cac-hero.has-banner .cac-sub{color:var(--cac-green);font-size:.78rem;text-shadow:none;margin-top:.1rem}
  .cac .cac-hero .cac-logo,
  .cac .cac-hero.has-banner .cac-logo{width:60px;height:60px;border:2px solid #c19a3b;box-shadow:none}
  .cac .cac-hero .cac-chips{margin-top:.25rem}
  .cac .cac-hero .cac-chips .cac-chip{color:var(--cac-deep);background:#fff;border:1px solid #c19a3b;text-shadow:none;font-size:.66rem;padding:.02rem .5rem}
  .cac .cac-hero .cac-chips .cac-chip b{color:#7a5a00}
  .cac .cac-pp{flex-basis:118px;width:118px;gap:.2rem}
  .cac .cac-pp-img{width:84px;height:84px;box-shadow:none}
  .cac .cac-pp b{color:var(--cac-deep);font-size:.78rem;text-shadow:none}
  .cac .cac-pp small{color:#7a5a00;font-size:.68rem}
}

/* সবার নিচের কৃতজ্ঞতা লাইন ও ওয়েবসাইট (এক লাইনের বর্ডারযুক্ত স্ট্রিপ) */
.cac .cac-foot{order:10;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.35rem 1rem;margin:1rem 1rem .9rem;padding:.5rem 1.1rem;text-align:center;background:linear-gradient(180deg,#fffdf5 0%,#f4faf6 100%);border:1.5px solid #c19a3b;border-radius:999px;box-shadow:0 0 0 3px rgba(193,154,59,.12),var(--cac-shadow)}
.cac .cac-credit{margin:0;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.3rem 0}
.cac .cac-fs{display:inline-flex;align-items:center;gap:.5rem;padding:0 1rem}
.cac .cac-fs+.cac-fs{border-left:1.5px solid #d9bd78}
.cac .cac-cl{display:inline-block;padding:.02rem .7rem;border-radius:999px;background:#fbf3dc;border:1px solid #d9bd78;color:#7a5a00;font-size:.78rem;font-weight:600;white-space:nowrap}
.cac .cac-cn{font-size:.95rem;font-weight:700;color:var(--cac-deep);line-height:1.5}
.cac .cac-site{margin:0;padding-left:1rem;border-left:1.5px solid #d9bd78;display:inline-flex;align-items:center;gap:.5rem}
.cac .cac-site a{display:inline-flex;align-items:center;gap:.35rem;padding:.08rem .8rem;border-radius:999px;background:#fff;border:1.5px solid var(--cac-green);color:var(--cac-green);font-size:.85rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s}
.cac .cac-site a svg{width:14px;height:14px}
.cac .cac-site a:hover{background:var(--cac-green);color:#fff}
@media (max-width:700px){.cac .cac-fs{padding:0 .5rem;flex-wrap:wrap;justify-content:center;gap:.2rem .4rem}.cac .cac-foot{border-radius:16px;margin:.8rem .6rem .7rem;padding:.5rem .6rem}.cac .cac-site{padding-left:0;border-left:0;flex-wrap:wrap;justify-content:center;gap:.2rem .4rem}.cac .cac-cn{font-size:.88rem}}
@media print{.cac .cac-foot{margin:.5rem 0 0;padding:.25rem .6rem;box-shadow:none;background:#fff;border-radius:8px;border-width:1px}.cac .cac-cn{font-size:.8rem}.cac .cac-cl{font-size:.68rem}.cac .cac-site a{font-size:.72rem;padding:0 .4rem}}

/* পরিচিতি কার্ডের পেছনের সাদা পট্টি সরানো: পাতার পটভূমির সাথে মেশে */
.cac .cac-intro{background:transparent;border-top:0;border-bottom:0}

/* v0.10.17 – স্ক্রিনে লেআউটের প্রস্থ ফিক্সড ৯৬০px, মাঝখানে বসে (প্রিন্টে প্রযোজ্য নয়) */
.cac{max-width:960px;margin-left:auto;margin-right:auto}
@media print{.cac.cac{max-width:none}}
/* v0.10.3 – সাদা পেজে ভেসে থাকা কার্ড: বর্ডার নেই, চারদিকে নরম ধূসর ছায়া */
.cac{border:0;box-shadow:0 0 20px rgba(0,0,0,.30),0 3px 8px rgba(0,0,0,.10)}
@media print{.cac.cac{border:0;box-shadow:none}}

/* v0.10.5 – ক্যালেন্ডারের শেষ: কৃতজ্ঞতা + ওয়েবসাইট/ইমেইল/ফোন একই লাইনে বর্ডারের ভেতরে, নিচে সবুজ বার */
.cac .cac-foot{order:10;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;gap:.25rem 1rem;margin:.8rem 1rem .8rem;padding:.4rem 1.1rem;text-align:center;background:linear-gradient(180deg,#fffdf5 0%,#f4faf6 100%);border:1.5px solid #c19a3b;border-radius:999px;box-shadow:0 0 0 3px rgba(193,154,59,.10)}
.cac .cac-credit{margin:0;gap:.2rem 0}
.cac .cac-credit .cac-cn{font-size:.9rem}
.cac .cac-contact{margin:0;padding-left:.4rem;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.3rem 1.2rem}
.cac .cac-ci{display:inline-flex;align-items:center;gap:.4rem;font-size:.92rem;font-weight:600;line-height:1.3;color:var(--cac-ink);text-decoration:none;border:0}
.cac .cac-ci:hover{color:var(--cac-green)}
.cac .cac-ic{flex:0 0 auto;width:20px;height:20px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;color:#fff}
.cac .cac-ic svg{width:12px;height:12px}
.cac .ic-w{background:#1d7fd0}
.cac .ic-m{background:#e0452b}
.cac .ic-p{background:#2e9e4f}
.cac .cac-fbar{order:11;height:14px;background:var(--cac-green);flex:0 0 auto}
@media (max-width:700px){.cac .cac-foot{margin:.7rem .6rem;padding:.45rem .7rem;border-radius:16px;flex-direction:column;gap:.3rem}.cac .cac-contact{padding-left:0}.cac .cac-ci{font-size:.88rem}.cac .cac-fbar{height:10px}}
@media print{.cac .cac-foot{margin:.4rem 0 .3rem;padding:.2rem .6rem;background:#fff;box-shadow:none;border-width:1px;border-radius:8px;gap:.1rem .6rem}.cac .cac-credit .cac-cn{font-size:.75rem}.cac .cac-ci{font-size:.75rem}.cac .cac-ic{width:14px;height:14px}.cac .cac-ic svg{width:9px;height:9px}.cac .cac-fbar{height:8px}}

@media print{.cac-intro{margin-top:.4rem;break-inside:avoid;page-break-inside:avoid}}

/* v0.10.7 – প্রিন্ট: হেডার (ছবি + নাম + ট্যাগ) হালকা সোনালি বর্ডারে গোল কোণের আলাদা ফ্রেমে */
@media print{
  .cac .cac-hero{margin:.45rem .5rem .5rem;border:1.5px solid #d9bd78;border-radius:14px;overflow:hidden;background:#fff;box-shadow:none}
  .cac .cac-hero.has-banner{background:#fff}
}

/* v0.10.9 – মাসের কার্ডের বর্ডার: পর্দা ও প্রিন্ট দুটোতেই একই সরু সবুজ বর্ডার ও গোল কোণ */
.cac .cac-mon{border:1.2px solid #a9c7b5;border-radius:10px;box-shadow:0 2px 8px rgba(6,77,43,.08)}
@media print{
  .cac .cac-mon{border:1.2px solid #a9c7b5;border-radius:10px;box-shadow:none}
}

/* v0.10.12 – প্রিন্ট: কার্ড পুরো প্রস্থে, হেডারের চিপ স্ক্রিনের মতো এক লাইনে, শিরোনামের দুই পাশে সোনালি দাগ */
@page{margin:6mm}
@media print{
  .cac-pa{margin:0!important;padding:0!important;max-width:none!important;width:100%!important;border:0!important;box-shadow:none!important;float:none!important;overflow:visible!important;transform:none!important;background:none!important}
  .cac-ph{display:none!important}
  .cac.cac{width:100%!important;max-width:none!important;margin:0!important;border-radius:0}
  .cac .cac-hero{margin:.3rem .3rem .4rem}
  .cac .cac-main{padding-left:.3rem;padding-right:.3rem}

  /* হেডার: ছবির কলাম একটু সরু, মাঝের অংশ চওড়া; চিপগুলো ভাঙবে না */
  .cac .cac-pp{flex-basis:104px;width:104px}
  .cac .cac-pp-img{width:78px;height:78px}
  .cac .cac-hero .cac-band-in,.cac .cac-hero.has-banner .cac-band-in,.cac .cac-hero.has-pp .cac-band-in{padding:.45rem .6rem .5rem!important;gap:.4rem}
  .cac .cac-hero .cac-mid{flex:1 1 auto;min-width:0}
  .cac .cac-hero .cac-chips{flex-wrap:nowrap;justify-content:center;gap:.25rem}
  .cac .cac-hero .cac-chips .cac-chip{white-space:nowrap;font-size:.7rem;padding:.04rem .55rem}
  .cac .cac-ay{white-space:nowrap}

  /* ছুটির তালিকা ও কর্মসূচি শিরোনাম: মাঝখানে পিল, দুই পাশে দাগ */
  .cac .cac-sec{display:flex;align-items:center;gap:.6rem}
  .cac .cac-sec::before,.cac .cac-sec::after{content:"";display:block;flex:1;height:2px}
  .cac .cac-sec::before{background:linear-gradient(270deg,#c19a3b,rgba(193,154,59,.15))}
  .cac .cac-sec::after{background:linear-gradient(90deg,#c19a3b,rgba(193,154,59,.15))}
}

/* v0.10.13 – প্রিন্ট: কার্ড আরও একটু চওড়া (পাতার ও ভেতরের পাশের ফাঁকা কমানো) */
@page{margin:4mm}
@media print{
  .cac .cac-hero{margin:.2rem .15rem .35rem}
  .cac .cac-main{padding-left:.15rem;padding-right:.15rem}
  .cac .cac-foot{margin-left:.15rem;margin-right:.15rem}
  .cac-intro{padding-left:.15rem;padding-right:.15rem}
}

/* v0.10.14 – প্রিন্ট: কার্ড ঠিক পাতার ছাপার-এলাকার পুরো প্রস্থ নেবে (থিমের কন্টেইনার যেমনই হোক), চারপাশে মাত্র ৫মিমি ফাঁকা */
@page{margin:5mm}
@media print{
  .cac.cac{width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important}
}

/* v0.10.15 – প্রিন্ট: হেডারের চিপের লেখা বর্ডারের ঠিক মাঝখানে (বাংলা ফন্টে লেখা ওপরে উঠে যাচ্ছিল) */
@media print{
  .cac .cac-hero .cac-chips .cac-chip{display:inline-flex;align-items:center;justify-content:center;line-height:1.2;padding:.2rem .55rem .06rem}
  .cac .cac-hero .cac-chips .cac-chip b{line-height:1.2}
}

/* v0.10.16 – প্রিন্ট হেডার স্ক্রিনের মতো: লোগো ও দুই জনের গোল ছবি ব্যানারের নিচের কিনারায় আধা-আধি ঝুলে থাকবে */
@media print{
  .cac .cac-hero.has-banner .cac-band-in{align-items:flex-start!important;justify-content:space-between}
  .cac .cac-hero.has-banner .cac-mid{display:flex!important;flex-direction:column;align-items:center;justify-content:flex-start;align-self:flex-start!important;gap:.25rem}
  .cac .cac-hero.has-banner .cac-logo{position:relative;z-index:2;width:78px!important;height:78px!important;margin-top:-39px!important;border:3px solid #c19a3b!important;box-shadow:0 0 0 3px #fff!important}
  .cac .cac-hero.has-banner .cac-pp-img{position:relative;z-index:2;width:90px;height:90px;margin-top:-45px;box-shadow:0 0 0 3px #fff!important}
  .cac .cac-hero.has-banner .cac-pp{flex-basis:108px;width:108px}
  /* চিপের ভেতরে "প্রতিষ্ঠা:" ও তারিখের মাঝে ফাঁক ফিরিয়ে আনা */
  .cac .cac-hero .cac-chips .cac-chip{gap:.3em}
}

/* v0.10.18 – স্ক্রিনে (কার্ড ৯০০px বা চওড়া হলে): ভিউ-বোতাম · রঙের তালিকা · ‹ শিক্ষাবর্ষ › প্রিন্ট — সব এক লাইনে। প্রিন্টে প্রযোজ্য নয় */
@media screen{
  @container (min-width:900px){
    .cac-panel{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .9rem}
    .cac-toolbar{display:contents}
    .cac-seg{order:1}
    .cac .cac-seg button{padding:.4rem .9rem}
    .cac-legend{order:2;flex:1 1 auto;margin:0;padding:0;border:0;justify-content:center;gap:.3rem .4rem;font-size:.8rem}
    .cac-legend span{padding:.05rem .55rem .05rem .35rem;gap:.3rem}
    .cac-legend i{width:.75rem;height:.75rem}
    .cac-nav{order:3;flex-wrap:nowrap;gap:.3rem;margin-left:auto}
    .cac-ttl{min-width:8.5rem;font-size:1.05rem;white-space:nowrap}
  }
}

/* v0.10.19 – শুধু মোবাইল (কার্ড ≤৬৪০px, স্ক্রিন): ছবি · লোগো · ছবি এক সারিতে; গোছানো তথ্য-কার্ড; একলাইনের নেভিগেশন ও ২×২ রঙের তালিকা। ডেস্কটপ ও প্রিন্ট অপরিবর্তিত */
@media screen{
  @container (max-width:640px){
    .cac .cac-hero.has-banner .cac-band-in{flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:.5rem .4rem;padding:.6rem .8rem 1.1rem}
    .cac .cac-hero.has-banner .cac-mid{display:contents}
    .cac .cac-hero.has-banner .cac-band-in>.cac-pp{flex:1 1 0;min-width:0;max-width:none;width:auto}
    .cac .cac-hero.has-banner .cac-band-in>.cac-pp:first-child{order:1}
    .cac .cac-hero.has-banner .cac-mid~.cac-pp{order:3}
    .cac .cac-hero.has-banner .cac-pp-ghost{display:flex}
    .cac .cac-hero.has-banner .cac-logo{order:2;flex:0 0 auto;position:relative;z-index:2;width:66px;height:66px;padding:4px;margin-top:-37px;border:3px solid #c19a3b;box-shadow:0 0 0 4px #fff,0 4px 14px rgba(0,0,0,.28)}
    .cac .cac-hero.has-banner .cac-pp-img{width:80px;height:80px;margin-top:-44px}
    .cac .cac-hero.has-banner .cac-txt{order:4;flex:1 1 100%;min-width:0;text-align:center;padding-top:.15rem}
    .cac .cac-hero.has-banner .cac-pp b{font-size:.8rem;line-height:1.25}
    .cac .cac-hero.has-banner .cac-pp small{font-size:.7rem}
    .cac .cac-hero.has-banner .cac-title{font-size:1.45rem;line-height:1.2}
    .cac .cac-hero.has-banner .cac-ay{margin-top:.6rem}
    .cac .cac-hero.has-banner .cac-chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:.4rem;width:100%;max-width:none;margin-top:.75rem}
    .cac .cac-hero.has-banner .cac-chips .cac-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.05rem;margin:0;padding:.35rem .3rem;border-radius:12px;font-size:.8rem;line-height:1.3;text-align:center;white-space:normal}
    .cac .cac-hero.has-banner .cac-chips .cac-chip .cac-chl{display:block;font-size:.68rem;font-weight:500;color:#5a7264}
    .cac .cac-hero.has-banner .cac-chips .cac-chip .cac-chs{display:none}
    .cac .cac-hero.has-banner .cac-chips .cac-chip b{display:block;font-size:.82rem}
    .cac-panel{padding:.75rem .8rem}
    .cac-toolbar{display:flex;flex-direction:column;align-items:stretch;gap:.6rem}
    .cac-seg{display:flex;width:100%}
    .cac .cac-seg button{flex:1 1 0;padding:.5rem 0}
    .cac-nav{width:100%;flex-wrap:nowrap;justify-content:space-between;gap:.35rem}
    .cac-ttl{order:0;flex:1 1 auto;min-width:0;font-size:1rem;white-space:nowrap}
    .cac-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;margin-top:.7rem;padding-top:.7rem;font-size:.8rem}
    .cac-legend span{justify-content:flex-start}
  }
}

/* v0.10.21 – ঠিকানার (চৌগাছা, যশোর) দু'পাশে সোনালি রেখা ও ডায়মন্ড অলংকরণ — ডেস্কটপ, মোবাইল ও প্রিন্ট সবখানে */
.cac .cac-sub{display:flex;align-items:center;justify-content:center;gap:.65rem}
.cac .cac-sub::before,.cac .cac-sub::after{content:"";flex:none;width:72px;height:8px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 72 8'%3E%3Cpath d='M0 4H62' stroke='%23c19a3b' stroke-width='1.2'/%3E%3Cpath d='M67 .5 71.5 4 67 7.5 62.5 4Z' fill='%23c19a3b'/%3E%3C/svg%3E") no-repeat right center/auto 100%}
.cac .cac-sub::after{transform:scaleX(-1)}
@media screen{
  @container (max-width:640px){
    .cac .cac-sub{gap:.5rem}
    .cac .cac-sub::before,.cac .cac-sub::after{width:34px}
  }
}

/* v0.10.25 - প্রতিষ্ঠা/EIIN ট্যাগ কলেজের নামের নিচে, 'একাডেমিক ক্যালেন্ডার' লেখার উপরে */
.cac .cac-title + .cac-chips{margin-top:.4rem;margin-bottom:.5rem}

/* v0.10.26 - পিডিএফ/প্রিন্টে স্ক্রিনের মতো সুন্দর সংখ্যা: পিডিএফে লেখা মোটা দেখায়, তাই ওজন স্ক্রিনের চেয়ে এক ধাপ হালকা */
@media print{
  .cac .cac-wd{font-size:.74rem;font-weight:500;padding:.2rem 0}
  .cac .cac-d{min-height:1.75rem;padding:.03rem 0}
  .cac .cac-g{font-size:.95rem;font-weight:500;line-height:1.05}
  .cac .cac-d.full .cac-g,.cac .cac-d.off .cac-g{font-weight:700}
  .cac .cac-b{font-size:.7rem;font-weight:400;color:#5f7f6e;line-height:1.1;margin-top:0}
  .cac .cac-mon-h{padding:.2rem .5rem}
  .cac .cac-mon-h b{font-size:1.02rem;font-weight:600}
  .cac .cac-mon-h span{font-size:.76rem;font-weight:500}
}

/* v0.10.28 - প্রিন্ট/পিডিএফে ফুটার ও নিচের সবুজ বার হুবহু স্ক্রিনের মতো */
@media print{
  .cac .cac-foot{margin:.5rem 1rem .5rem;padding:.35rem 1.1rem;background:linear-gradient(180deg,#fffdf5 0%,#f4faf6 100%);border:1.5px solid #c19a3b;border-radius:999px;box-shadow:0 0 0 3px rgba(193,154,59,.10);gap:.25rem 1rem}
  .cac .cac-fbar{height:14px}
}

/* v0.10.29 - প্রিন্ট: ৩ পাতার মধ্যে রাখা, শেষ পাতায় আরও ২-৩ লাইনের জায়গা ফাঁকা থাকবে */
@media print{
  .cac .cac-sec{margin-top:.7rem;margin-bottom:.45rem}
  .cac .cac-holsec + .cac-tw th{padding:.4rem .6rem!important}
  .cac .cac-holsec + .cac-tw td{padding:.28rem .6rem!important}
}

/* v0.10.30 - প্রিন্ট ধাপ ১: ছুটির তালিকা দুই পাতায় ভাঙলে "মোট" সারি প্রতি পাতায় না এসে শুধু শেষে একবার আসবে */
@media print{
  .cac .cac-tw tfoot{display:table-row-group}
  .cac .cac-tw thead{display:table-header-group}
}

/* v0.10.31 - প্রিন্ট ধাপ ২: সাদা-কালোতেও ছুটির দিন (শুক্র/শনি ও পূর্ণ ছুটি) বোঝা যাবে - লাল সংখ্যা সাধারণ দিনের চেয়ে স্পষ্ট মোটা */
@media print{
  .cac .cac-d .cac-g{font-weight:500}
  .cac .cac-d.off .cac-g,.cac .cac-d.full .cac-g{font-weight:800;-webkit-text-stroke:.25px currentColor}
}

/* v0.10.32 - প্রিন্ট ধাপ ৩: সাদা-কালোতেও "ক্লাস ও অফিস বন্ধ" (ঘন ফ্রেম) ও "শুধু ক্লাস বন্ধ" (ডেশ ফ্রেম) আলাদা; হালকা রং একটু গাঢ়, যাতে কাগজে মিলিয়ে না যায় */
@media print{
  .cac .cac-d.full{background:#f8cfd2;outline:1.5px solid #b3122a;outline-offset:-3px}
  .cac .cac-d.cls{background:#d3e2fb;outline:1.5px dashed #1d5fc0;outline-offset:-3px}
  .cac .cac-d.cls .cac-g{font-weight:700}
  .cac .cac-legend span:nth-child(1) i{background:#f8cfd2!important;border:1.5px solid #b3122a!important}
  .cac .cac-legend span:nth-child(2) i{background:#d3e2fb!important;border:1.5px dashed #1d5fc0!important}
  .cac .cac-legend span:nth-child(1) i,.cac .cac-legend span:nth-child(2) i{width:.8rem;height:.8rem}
}

/* v0.10.33 - প্রিন্ট ধাপ ৪: ছোট বাংলা তারিখ কাগজে (রঙিন ও সাদা-কালো) পড়া যাবে - সাইজ সামান্য বড়, ওজন মাঝারি, রং গাঢ়; ঘরের উচ্চতা প্রায় একই */
@media print{
  .cac .cac-b,.cac .cac-d.full .cac-b,.cac .cac-d.off .cac-b,.cac .cac-d.cls .cac-b{font-size:.76rem;font-weight:500;color:#33503f;line-height:1.05;margin-top:0}
}

/* v0.10.34 - প্রিন্ট ধাপ ৫ (১ম পাতার নিচের ফাঁকা): তারিখের ঘর সামান্য লম্বা, স্ক্রিনের মতো খোলামেলা; ১ম পাতার ফাঁকা জায়গা কাজে লাগে, ৩য় পাতায় বাফার থাকে */
@media print{
  .cac .cac-d{min-height:2.25rem;padding:.1rem 0}
}

/* v0.10.35 - প্রিন্ট ৫ ও ৬: হালকা রেখা/ছায়া কাগজে মিলিয়ে না যাওয়া, পাতার কিনারায় হালকা সবুজ ব্যাকগ্রাউন্ডের দাগ ও কালি কমানো */
@media print{
  .cac,.cac *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .cac.cac{background:#fff!important}
  .cac .cac-mon{border:1.2px solid #7fa690}
  .cac .cac-d{border-color:#c4d9cb}
  .cac .cac-tw tbody tr:nth-child(even){background:#e3f1e8!important}
  .cac .cac-legend span{border-color:#9bb8a8;background:#fff}
}

/* v0.10.36 - প্রিন্ট: ১ম পাতার নিচের ফাঁকা কমাতে তারিখের ঘর আরও খোলামেলা (স্ক্রিনের মতো) */
@media print{
  .cac .cac-d{min-height:2.9rem;padding:.12rem 0}
}

/* v0.10.37 - প্রিন্ট: ছুটির ঘরে বাক্সের বদলে সংখ্যার চারপাশে গোল রিং (সোজা = ক্লাস ও অফিস বন্ধ, ড্যাশ = শুধু ক্লাস বন্ধ); ঘরে শুধু খুব হালকা রং। সব সংখ্যার বক্স একই মাপের, তাই সারি সোজা থাকে */
@media print{
  .cac .cac-d.full,.cac .cac-d.cls{outline:0}
  .cac .cac-d.full{background:#fdf0f1}
  .cac .cac-d.cls{background:#edf3fd}
  .cac .cac-d .cac-g{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:1.55rem;height:1.55rem;margin:0 auto;padding:0;line-height:1;border-radius:50%;border:1.4px solid transparent}
  .cac .cac-d.full .cac-g{border-color:#b3122a;border-style:solid}
  .cac .cac-d.cls .cac-g{border-color:#1d5fc0;border-style:dashed}
  .cac .cac-legend span:nth-child(1) i,.cac .cac-legend span:nth-child(2) i{border-radius:50%;background:#fff!important}
}

/* ---------- বিশেষ দ্রষ্টব্য বক্স (কর্মসূচির টেবিলের নিচে, এক লাইনে) ---------- */
.cac .cac-note{display:flex;align-items:center;justify-content:center;text-align:center;gap:.7rem;margin:.8rem 0 0;padding:.45rem .9rem;background:linear-gradient(180deg,#fffdf5 0%,#fbf3dc 100%);border:1.5px solid #e2c777;border-left:6px solid var(--cac-gold);border-radius:12px;box-shadow:0 1px 3px rgba(122,90,0,.10)}
.cac .cac-note[style*="display: none"]{display:none}
.cac .cac-note-h{flex:none;display:inline-flex;align-items:center;gap:.4rem;background:linear-gradient(135deg,var(--cac-gold),#a97f22);color:#fff;font-weight:700;font-size:.88rem;line-height:1.2;padding:.2rem .8rem;border-radius:999px;white-space:nowrap}
.cac .cac-note-h::before{content:"!";display:inline-grid;place-items:center;width:1rem;height:1rem;border-radius:50%;background:#fff;color:#a97f22;font-size:.72rem;font-weight:800}
.cac .cac-note-l{color:#4a3a05;font-size:.95rem;line-height:1.5}
@media (max-width:600px){.cac .cac-note{flex-direction:column;align-items:center;gap:.35rem;padding:.5rem .7rem}.cac .cac-note-l{font-size:.9rem}}
@media print{
  .cac .cac-note{margin:.35rem 0 0;padding:.2rem .6rem;border-radius:8px;break-inside:avoid;page-break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .cac .cac-note.no-print{display:none!important}
  .cac .cac-note-h{font-size:.72rem;padding:.08rem .55rem}
  .cac .cac-note-l{font-size:.72rem;line-height:1.35}
}

/* v0.10.46 - প্রিন্ট: ছুটির দিনে ঘরের রঙ নয়, শুধু সংখ্যার চারপাশে গোল রিং (লাগাতার ছুটিতেও পরিষ্কার, কালি কম) */
@media print{
  .cac .cac-d.full,.cac .cac-d.cls{background:transparent!important}
  .cac .cac-d.full .cac-g{border-width:1.6px}
  .cac .cac-d.cls .cac-g{border-width:1.6px}
}

/* বিশেষ দ্রষ্টব্য: এক লাইনে না ধরলে ব্যাজ উপরে, লেখা নিচে মাঝখানে */
.cac .cac-note-l{text-wrap:balance}
.cac .cac-note.stack{flex-direction:column;gap:.35rem;padding-top:.5rem;padding-bottom:.55rem}
.cac .cac-note.stack .cac-note-l{text-align:center}

/* v0.10.48 - প্রিন্ট: রিংয়ের ভেতরে সংখ্যা মোটা/ঠাসা নয় - মাঝারি ওজন, স্ট্রোক ছাড়া, রিং সামান্য বড় ও চিকন, সংখ্যা সামান্য ছোট */
@media print{
  .cac .cac-d.full .cac-g,.cac .cac-d.cls .cac-g{font-weight:600!important;-webkit-text-stroke:0!important;font-size:.9em;width:1.8rem;height:1.8rem;border-width:1.2px}
}

/* v0.10.49 - শ্রেণি অনুযায়ী আলাদা রঙ: একাদশ = সবুজ-টিল, দ্বাদশ = সোনালি-বাদামি (ওয়েব ও প্রিন্ট) */
.cac .cac-evwrap .cac-g-xi .cac-evh{background:#e3f3f0;border-color:#a9d6cf;border-left-color:#0f766e;color:#0b5a53}
.cac .cac-evwrap .cac-g-xi .cac-tw{border-color:#8cc3ba}
.cac .cac-evwrap .cac-g-xi .cac-tw thead th{background:linear-gradient(180deg,#f2fbf9 0%,#cfeae5 100%)!important;background-color:#d8eeea!important;color:#0b5a53!important;border-bottom-color:#0f766e!important;border-right-color:#a9d6cf!important}
.cac .cac-evwrap .cac-g-xi .cac-tw td{border-right-color:#c3e0da!important;border-bottom-color:#c3e0da!important}
.cac .cac-evwrap .cac-g-xi td.d{color:#0b5a53}
.cac .cac-evwrap .cac-g-xii .cac-evh{background:#fbf0dc;border-color:#ebd0a0;border-left-color:#b8751a;color:#7a4a00}
.cac .cac-evwrap .cac-g-xii .cac-tw{border-color:#dcb97c}
.cac .cac-evwrap .cac-g-xii .cac-tw thead th{background:linear-gradient(180deg,#fff9ee 0%,#f6e3bf 100%)!important;background-color:#f6e8cc!important;color:#7a4a00!important;border-bottom-color:#b8751a!important;border-right-color:#ebd0a0!important}
.cac .cac-evwrap .cac-g-xii .cac-tw td{border-right-color:#efdcb8!important;border-bottom-color:#efdcb8!important}
.cac .cac-evwrap .cac-g-xii td.d{color:#7a4a00}
@media print{
  .cac .cac-evwrap .cac-g-xi .cac-tw{border-color:#4e9a8f}
  .cac .cac-evwrap .cac-g-xii .cac-tw{border-color:#c79a52}
  .cac .cac-evwrap .cac-g-xi .cac-tw td{border-right-color:#8cc3ba!important;border-bottom-color:#8cc3ba!important}
  .cac .cac-evwrap .cac-g-xii .cac-tw td{border-right-color:#dcb97c!important;border-bottom-color:#dcb97c!important}
}

/* v0.10.50 - প্রিন্ট: টেবিলের কলাম ও সারির দাগ গাঢ় ও একটু মোটা, যাতে কাগজে স্পষ্ট দেখা যায় */
@media print{
  .cac .cac-holsec + .cac-tw,.cac .cac-evwrap .cac-tw{border:1.8px solid #3f7d61}
  .cac .cac-holsec + .cac-tw td,.cac .cac-evwrap .cac-tw td{border-right:1.3px solid #5f9a7f!important;border-bottom:1.3px solid #5f9a7f!important}
  .cac .cac-holsec + .cac-tw thead th,.cac .cac-evwrap .cac-tw thead th{border-right:1.3px solid #5f9a7f!important;border-bottom:3px solid #c19a3b!important}
  .cac .cac-holsec + .cac-tw td:last-child,.cac .cac-evwrap .cac-tw td:last-child,.cac .cac-holsec + .cac-tw thead th:last-child,.cac .cac-evwrap .cac-tw thead th:last-child{border-right:0!important}
  .cac .cac-holsec + .cac-tw tbody tr:last-child td,.cac .cac-evwrap .cac-tw tbody tr:last-child td{border-bottom:0!important}
  .cac .cac-evwrap .cac-g-xi .cac-tw{border-color:#1f7d72}
  .cac .cac-evwrap .cac-g-xi .cac-tw td,.cac .cac-evwrap .cac-g-xi .cac-tw thead th{border-right-color:#4fa095!important}
  .cac .cac-evwrap .cac-g-xi .cac-tw td{border-bottom-color:#4fa095!important}
  .cac .cac-evwrap .cac-g-xi .cac-tw thead th{border-bottom-color:#0f766e!important}
  .cac .cac-evwrap .cac-g-xii .cac-tw{border-color:#a8691a}
  .cac .cac-evwrap .cac-g-xii .cac-tw td,.cac .cac-evwrap .cac-g-xii .cac-tw thead th{border-right-color:#c9a05e!important}
  .cac .cac-evwrap .cac-g-xii .cac-tw td{border-bottom-color:#c9a05e!important}
  .cac .cac-evwrap .cac-g-xii .cac-tw thead th{border-bottom-color:#b8751a!important}
  .cac .cac-evwrap .cac-g-xi .cac-tw td:last-child,.cac .cac-evwrap .cac-g-xii .cac-tw td:last-child,.cac .cac-evwrap .cac-g-xi .cac-tw thead th:last-child,.cac .cac-evwrap .cac-g-xii .cac-tw thead th:last-child{border-right:0!important}
}
