*{box-sizing:border-box}body{margin:0;font-family:Arial,'Noto Sans Bengali',sans-serif;background:#f4f7fb;color:#172033}.topbar{background:linear-gradient(135deg,#133b73,#0c8665);color:#fff;padding:22px 7%;display:flex;justify-content:space-between;align-items:center;gap:20px}.topbar h1{margin:0;font-size:28px}.topbar p{margin:6px 0 0;opacity:.9}.container{width:86%;max-width:1180px;margin:28px auto}.card{background:#fff;border-radius:18px;padding:24px;margin-bottom:22px}.btn,.print-btn,button{background:#1464c8;color:#fff;border:0;border-radius:10px;padding:11px 16px;text-decoration:none;cursor:pointer;font-weight:700}.danger{background:#cc3344}.top-actions{display:flex;gap:10px}.filter-card{display:flex;align-items:center;justify-content:space-between;gap:20px}.filter-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.filter-form label{display:block;font-weight:700}.filter-form input,.form-grid input,.form-grid textarea{border:1px solid #d9e1ee;border-radius:10px;padding:11px;width:100%;font-size:15px}.date-info{padding:14px 18px;border-radius:14px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.date-info strong{font-size:20px}.date-info em{font-style:normal;font-weight:700}.section-head{display:flex;justify-content:space-between;align-items:center}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;margin-top:12px}th,td{padding:14px;border-bottom:1px solid #e9eef5;text-align:left;vertical-align:top}th{background:#eef5ff;font-weight:800}td small{display:block;margin-top:6px;color:#55657a}.normal-row{background:#fff}.friday-row{background:#ffe9e9!important}.saturday-row{background:#fff5d9!important}.holiday-row{background:#e8fff2!important}.empty{padding:30px;text-align:center;color:#667085;background:#f9fbfe;border-radius:14px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.admin-grid .card{margin-bottom:0}.full-width,.notice{grid-column:1/-1}.notice{background:#e8fff2;border-left:5px solid #0b9f5d;padding:14px;border-radius:12px}.form-grid{display:grid;gap:11px}.form-grid label{font-weight:700}.mini-row{display:flex;justify-content:space-between;gap:12px;padding:12px;border-radius:10px;margin:8px 0}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#eef5ff,#e8fff2)}.login-card{width:min(420px,92vw);background:#fff;border-radius:18px;padding:28px;display:grid;gap:12px}.login-card h1{margin:0}.error{background:#ffe9e9;color:#b42318;padding:10px;border-radius:10px}.hint{color:#667085}.login-card input{padding:12px;border-radius:10px;border:1px solid #d9e1ee}@media(max-width:820px){.topbar,.filter-card{flex-direction:column;align-items:flex-start}.admin-grid{grid-template-columns:1fr}.container{width:94%}}@media print{.topbar,.filter-card,.print-btn,.btn,.top-actions{display:none}.container{width:100%;margin:0}.card{border-radius:10px;padding:11px;width:100%;font-size:15px;background:#fff}.schedule-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:16px}.schedule-card{border:1px solid #e4eaf3;border-radius:18px;padding:18px}.org-block{display:flex;gap:14px;align-items:center;margin-bottom:14px}.org-logo{width:72px;height:72px;border-radius:14px;object-fit:contain;background:#fff;border:1px solid #dce5f2;padding:6px}.org-logo.placeholder{display:grid;place-items:center;color:#667085;font-size:13px}.org-block h3{margin:0 0 6px;font-size:20px}.org-block p{margin:3px 0;color:#40516a}.schedule-meta{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.schedule-meta span{background:#ffffffb8;border:1px solid #dbe5f0;border-radius:999px;padding:7px 10px;font-weight:700}.schedule-card h4{font-size:20px;margin:12px 0 6px}.desc{color:#40516a}.details-grid{display:grid;gap:5px;margin-top:12px}.details-grid p{margin:0}.logo-preview{width:90px;height:90px;object-fit:contain;border:1px solid #d9e1ee;border-radius:12px;padding:6px;background:#fff}
.help-text{font-size:14px;color:#64748b;margin:6px 0 14px}.muted{color:#94a3b8}.sync-actions{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 14px}.sync-actions .btn{display:inline-block;text-align:center}

/* Premium print/PDF layout */
.print-page{background:#eef2f7;color:#111827}.print-actions{width:min(1120px,94vw);margin:18px auto;display:flex;justify-content:flex-end;gap:10px}.print-sheet{width:min(1120px,94vw);min-height:780px;margin:0 auto 30px;background:#fff;padding:34px 26px 28px;border:1px solid #d7dde8;align-items:center;justify-content:center;gap:18px;border:4px double #111827;padding:12px 18px;margin-bottom:18px;text-align:center}.print-logo{width:72px;height:72px;object-fit:contain}.print-header h1{margin:0;font-size:28px;font-weight:900}.print-header h2{margin:6px 0 0;font-size:24px;font-weight:900}.print-date-line{text-align:center;margin:12px 0 18px;font-size:17px}.print-table{width:100%;border-collapse:collapse;table-layout:fixed;margin-top:12px}.print-table th,.print-table td{border:1.4px solid #111827;padding:12px 10px;text-align:center;vertical-align:middle;line-height:1.45;font-size:16px}.print-table th{background:#f1f5f9;font-weight:900;font-size:17px}.print-table td:nth-child(1){width:15%;font-weight:700}.print-table td:nth-child(2){width:10%;font-weight:700}.print-table td:nth-child(3){width:25%}.print-table td:nth-child(4){width:22%}.print-table td:nth-child(5){width:28%}.print-table small{color:#475569;font-weight:700}.print-empty{border:1px solid #cbd5e1}.print-footer{text-align:right;margin-top:22px;color:#64748b;font-size:12px}.no-print{display:flex}
@media print{body.print-page{background:#fff}.no-print,.print-actions{display:none!important}.print-sheet{width:100%;min-height:auto;margin:0;padding:0;border:0;padding:8px 7px}.print-table th{font-size:15px}.print-footer{display:none}.holiday-row{background:#e8fff2!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.friday-row{background:#ffe9e9!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.saturday-row{background:#fff5d9!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}
.lang-form select{min-width:130px;background:#fff;color:#172033}.site-topbar .top-actions{align-items:center}.hero-card{padding:26px 30px}.official-header{display:flex;align-items:center;justify-content:center;gap:20px;text-align:center}.official-logo{width:92px;height:92px;object-fit:contain;border:1px solid #d8e1ee;border-radius:18px;background:#fff;padding:8px}.official-logo.placeholder{display:grid;place-items:center;color:#64748b;font-weight:900}.official-header h2{font-size:30px;margin:0 0 6px;font-weight:900;color:#12233d}.official-header h3{font-size:22px;margin:0 0 6px;color:#0f766e}.official-header p{margin:0;color:#52637a;font-weight:700}.public-table th{background:#ecf5ff;color:#10213a;font-weight:900}.public-table td{font-size:15px}.clean-print-header{border:0;border-bottom:3px double #111827;padding-bottom:16px}.clean-print-header h1{font-size:30px}.clean-print-header h2{font-size:23px;color:#111827}@media(max-width:700px){.official-header{flex-direction:column}.official-header h2{font-size:24px}.official-header h3{font-size:19px}}

/* RTHD-like public header/search layout */
.top-toolbar{background:#fff;padding:14px 16px;position:sticky;top:0;z-index:10}.main-search-form{display:grid;grid-template-columns:1fr 1fr 170px 115px 86px 72px;gap:28px;align-items:center;max-width:1280px;margin:0 auto}.main-search-form input,.main-search-form select{height:45px;border:1px solid #d8dee8;border-radius:5px;padding:9px 12px;background:#fff;font-size:15px}.search-btn{height:45px;background:#0d6efd;border-radius:5px;padding:0 16px}.language-select{background:#e8f1ff!important}.login-btn,.print-btn-green{height:45px;display:flex;align-items:center;justify-content:center;background:#198754;color:#fff;text-decoration:none;border-radius:5px;font-weight:700;padding:0 14px}.public-container{margin-top:38px}.gov-header-card{background:#fff;border-radius:6px;padding:12px 20px 18px;text-align:center;margin-bottom:26px}.gov-logo-wrap{height:52px;display:flex;justify-content:center;align-items:center}.gov-logo{width:52px;height:52px;object-fit:contain}.gov-logo.placeholder{border:1px solid #d8dee8;border-radius:50%;font-size:12px;color:#64748b;display:grid;place-items:center}.gov-header-card h1{font-size:20px;margin:6px 0 4px;font-weight:600;color:#1f2937}.gov-header-card h2{font-size:34px;margin:0;font-weight:800;color:#252b33}.gov-header-card p{font-size:20px;margin:4px 0 0;color:#303844}.gov-print-header{text-align:center;border-bottom:3px double #111827;padding:8px 0 16px;margin-bottom:10px}.gov-print-header .print-logo{display:block;margin:0 auto 6px;width:68px;height:68px}.gov-print-header h1{font-size:24px;margin:0 0 4px;font-weight:800}.gov-print-header h2{font-size:28px !important;margin:28px auto!important;font-weight:900!important;letter-spacing:.4px!important;line-height:1.12!important;color:#000!important;background:#fff!important;border:1px solid #000 !important;border-radius:18px!important;padding:2px 6px !important;display:inline-block!important;text-align:center!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;user-select:text!important;-webkit-user-select:text!important;}@media(max-width:900px){.main-search-form{grid-template-columns:1fr 1fr;gap:10px}.login-btn,.print-btn-green,.search-btn{width:100%}.gov-header-card h2{font-size:26px}.gov-header-card p{font-size:16px}}@media print{.top-toolbar{display:none}.gov-print-header h1{font-size:16pt!important}.gov-print-header h2{font-size:28px !important;margin:28px auto!important;font-weight:900!important;letter-spacing:.4px!important;line-height:1.12!important;color:#000!important;background:#fff!important;border:1px solid #000 !important;border-radius:18px!important;padding:2px 6px !important;display:inline-block!important;text-align:center!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;user-select:text!important;-webkit-user-select:text!important;}}
.file-link{font-weight:700;color:#0d6efd;text-decoration:none}.file-link:hover{text-decoration:underline}.public-table td[rowspan],.print-table td[rowspan]{vertical-align:middle;font-weight:800}.v7-toolbar{grid-template-columns:1fr 1fr 120px 115px 86px 72px}.public-table th:nth-child(1),.print-table th:nth-child(1){width:14%}.public-table th:nth-child(2),.print-table th:nth-child(2){width:10%}.public-table th:nth-child(3),.print-table th:nth-child(3){width:18%}.public-table th:nth-child(4),.print-table th:nth-child(4){width:28%}.public-table th:nth-child(5),.print-table th:nth-child(5){width:20%}.public-table th:nth-child(6),.print-table th:nth-child(6){width:10%}@media(max-width:900px){.v7-toolbar{grid-template-columns:1fr 1fr;gap:10px}}


/* ===== A4 Portrait Print Fix ===== */
@page{
    size:A4 portrait;
    margin:10mm;
}

@media print{

    html,body{
        width:210mm;
        min-height:297mm;
        background:#fff;
    }

    .print-sheet{
        width:100%;
        margin:0 auto;
        padding:0;
    }

    table{
        width:100%;
        table-layout:fixed;
        border-collapse:collapse;
    }

    th,td{
        border:1px solid #000;
        word-wrap:break-word;
        font-size:14px;
        padding:10px 8px;
    }

    .print-footer,
    .print-actions,
    .no-print{
        display:none !important;
    }
}

/* ===== PDF Icon Only ===== */
.file-cell{
    text-align:center;
    vertical-align:middle;
}

.pdf-icon{
    font-size:22px;
    display:inline-block;
}





/* ===== Center Watermark Logo for Print/PDF ===== */
@media print{

    body::before{
        content:"";
        position:fixed;
        top:50%;
        left:50%;
        transform:translate(-50%, -50%);
        width:260px;
        height:260px;
        background-image:url('../logo.png');
        background-repeat:no-repeat;
        background-position:center;
        background-size:contain;
        opacity:0.08;
        z-index:0;
        pointer-events:none;
    }

    body *{
        position:relative;
        z-index:1;
    }
}


/* ===== Colored Header Row ===== */
.schedule-table thead th,
table thead th{
    background:#d9e7f5 !important;
    color:#000 !important;
    font-weight:700;
    text-align:center;
}

/* print mode */
@media print{
    .schedule-table thead th,
    table thead th{
        background:#d9e7f5 !important;
        -webkit-print-color-adjust:exact;
        print-color-adjust:exact;
    }
}


/* ===== FINAL A4 PORTRAIT PRINT SETUP ===== */

@page{
    size:A4 portrait;
    margin:0.5in;
}

@media print{

    html, body{
        width:210mm;
        min-height:297mm;
        margin:0 !important;
        padding:0 !important;
        background:#fff;
        -webkit-print-color-adjust:exact !important;
        print-color-adjust:exact !important;
    }

    body{
        box-sizing:border-box;
    }

    .container,
    .print-sheet,
    .wrapper{
        width:100% !important;
        max-width:100% !important;
        margin:0 auto !important;
        padding:0 !important;
    }

    table{
        width:100% !important;
        border-collapse:collapse !important;
        table-layout:fixed !important;
    }

    th, td{
        border:1px solid #000 !important;
        padding:10px 8px !important;
        word-break:break-word !important;
        font-size:14px !important;
    }

    /* Header row color */
    thead th{
        background:#d9e7f5 !important;
        color:#000 !important;
        font-weight:700 !important;
        text-align:center !important;
    }

    

    .no-print,
    .print-btn,
    .print-actions{
        display:none !important;
    }
}

/* ===== REAL FINAL PRINT PAGE SETUP ===== */
@page{ size: 210mm 297mm; margin: 0.5in; }
@media print{
  html,body{ width:210mm !important; min-height:297mm !important; margin:0 !important; padding:0 !important; }
  .print-sheet{ width:100% !important; max-width:100% !important; margin:0 !important; padding:0 !important; border:0 !important;  }
  .print-table{ width:100% !important; table-layout:fixed !important; }
  .print-table thead th{ background:#d9e7f5 !important; -webkit-print-color-adjust:exact !important; print-color-adjust:exact !important; }
}


/* ===== FINAL OVERRIDE: A4 Portrait PDF/Print ===== */
@page { size: A4 portrait; margin: 0.5in; }
@media print {
  html, body.print-page {
    width: 210mm !important;
    min-height: 297mm !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
}

.checkbox-line{
    display:flex !important;
    align-items:center;
    gap:10px;
    font-weight:700;
}
.checkbox-line input{
    width:auto !important;
}


/* ===== V8 FINAL FIXES: margin, optional watermark, language-safe print table widths ===== */
@page { size: A4 portrait; margin: 0.5in; }

.public-table,
.print-table{
    width:100% !important;
    table-layout:fixed !important;
    border-collapse:collapse !important;
}
.public-table th,
.public-table td,
.print-table th,
.print-table td{
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
    white-space:normal !important;
}

/* Public page: make Description/Biboron column bigger */
.public-table th:nth-child(1), .public-table td:nth-child(1){width:14% !important;}
.public-table th:nth-child(2), .public-table td:nth-child(2){width:10% !important;}
.public-table th:nth-child(3), .public-table td:nth-child(3){width:14% !important;}
.public-table th:nth-child(4), .public-table td:nth-child(4){width:42% !important;}
.public-table th:nth-child(5), .public-table td:nth-child(5){width:12% !important;}
.public-table th:nth-child(6), .public-table td:nth-child(6){width:8% !important;}

/* IMPORTANT: remove old always-on watermark rule from previous versions */
body::before{
    background-image:none !important;
    content:none !important;
    display:none !important;
}
body.print-page.watermark-enabled::before{
    content:"" !important;
    display:block !important;
    position:fixed !important;
    top:50% !important;
    left:50% !important;
    width:70mm !important;
    height:70mm !important;
    transform:translate(-50%, -50%) !important;
    background-image:var(--print-watermark-logo) !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-size:contain !important;
    opacity:0.08 !important;
    z-index:0 !important;
    pointer-events:none !important;
}
body.print-page.watermark-enabled .print-sheet{
    position:relative !important;
    z-index:1 !important;
}

@media screen{
    .print-sheet{
        width:210mm !important;
        min-height:297mm !important;
        padding:0.5in !important;
        box-sizing:border-box !important;
    }
}

@media print{
    html, body.print-page{
        width:210mm !important;
        min-height:297mm !important;
        margin:0 !important;
        padding:0 !important;
        background:#fff !important;
        -webkit-print-color-adjust:exact !important;
        print-color-adjust:exact !important;
    }
    .print-sheet{
        width:100% !important;
        max-width:none !important;
        margin:0 !important;
        padding:0 !important;
        border:0 !important;
        
        background:transparent !important;
        box-sizing:border-box !important;
    }
    .print-table th,
    .print-table td{
        border:1px solid #111827 !important;
        padding:6px 5px !important;
        font-size:10.5pt !important;
        line-height:1.35 !important;
        text-align:center !important;
        vertical-align:middle !important;
    }
    .print-table thead th{
        background:#d9e7f5 !important;
        color:#000 !important;
        font-weight:900 !important;
        -webkit-print-color-adjust:exact !important;
        print-color-adjust:exact !important;
    }
    /* Print PDF: smaller all cells, larger Description/Biboron cell */
    .print-table th:nth-child(1), .print-table td:nth-child(1){width:15% !important;}
    .print-table th:nth-child(2), .print-table td:nth-child(2){width:10% !important;}
    .print-table th:nth-child(3), .print-table td:nth-child(3){width:15% !important;}
    .print-table th:nth-child(4), .print-table td:nth-child(4){width:45% !important;}
    .print-table th:nth-child(5), .print-table td:nth-child(5){width:15% !important;}
    .no-print,
    .print-actions,
    .print-btn,
    .btn{display:none !important;}
}


/* ===== V9 FINAL FIX: translated default owner + real PDF page margin ===== */
@page {
    size: A4 portrait !important;
    margin: 0.5in !important;
}
@media print {
    html,
    body,
    body.print-page {
        width: auto !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        background: #ffffff !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }
    .print-sheet {
        width: auto !important;
        max-width: none !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing:border-box !important;
        
        border: 0 !important;
        background: transparent !important;
    }
    .print-table {
        width: 100% !important;
        table-layout: fixed !important;
        border-collapse: collapse !important;
    }
    .print-table th:nth-child(1), .print-table td:nth-child(1){width:15% !important;}
    .print-table th:nth-child(2), .print-table td:nth-child(2){width:10% !important;}
    .print-table th:nth-child(3), .print-table td:nth-child(3){width:15% !important;}
    .print-table th:nth-child(4), .print-table td:nth-child(4){width:45% !important;}
    .print-table th:nth-child(5), .print-table td:nth-child(5){width:15% !important;}
}



/* ===== FONT & MOBILE RESPONSIVE FINAL FIX ===== */

/* Bengali Font */
@font-face{
    font-family:'NikoshBAN';
    src:local('NikoshBAN'), local('Nikosh');
}

html[lang="bn"],
body{
    font-family:'Times New Roman', serif;
}

/* Bengali text */
body:lang(bn),
html:lang(bn),
.bn,
h1:lang(bn),
h2:lang(bn),
h3:lang(bn),
h4:lang(bn),
h5:lang(bn),
p:lang(bn),
span:lang(bn),
td:lang(bn),
th:lang(bn),
label:lang(bn),
input:lang(bn),
textarea:lang(bn),
select:lang(bn){
    font-family:'NikoshBAN','Noto Sans Bengali',serif !important;
    font-size:14px;
}

/* English text */
.en,
body:lang(en),
html:lang(en){
    font-family:'Times New Roman', serif !important;
}

/* Mobile Responsive Improvements */
img{
    max-width:100%;
    height:auto;
}

table{
    width:100%;
}

@media(max-width:768px){

    body{
        overflow-x:hidden;
    }

    .container,
    .public-container,
    .print-sheet{
        width:96% !important;
        max-width:96% !important;
        margin:auto !important;
        padding:10px !important;
    }

    .topbar,
    .filter-card,
    .section-head,
    .official-header,
    .org-block{
        flex-direction:column !important;
        align-items:flex-start !important;
        gap:12px !important;
    }

    .main-search-form,
    .v7-toolbar{
        grid-template-columns:1fr !important;
        gap:12px !important;
    }

    .admin-grid{
        grid-template-columns:1fr !important;
    }

    .schedule-cards{
        grid-template-columns:1fr !important;
    }

    .public-table,
    .print-table{
        display:block;
        overflow-x:auto;
        white-space:nowrap;
    }

    th, td{
        font-size:13px !important;
        padding:8px 6px !important;
    }

    .gov-header-card h2,
    .official-header h2{
        font-size:22px !important;
        line-height:1.3;
    }

    .gov-header-card p,
    .official-header p{
        font-size:14px !important;
    }

    .btn,
    button,
    .print-btn,
    .login-btn,
    .print-btn-green,
    .search-btn{
        width:100%;
        min-height:44px;
    }

    input,
    select,
    textarea{
        width:100% !important;
        font-size:14px !important;
    }
}


/* =========================================================
   V13 FINAL FIX: Nikosh font + mobile schedule table + PDF borders
   ========================================================= */

/* Bengali must use Nikosh. Browser/PDF will use installed Nikosh font.
   Fallbacks are only for devices where Nikosh is not installed. */
@font-face{
    font-family: "Nikosh";
    src: local("Nikosh"), local("NikoshBAN"), local("Nikosh Ban");
    font-weight: normal;
    font-style: normal;
}

html[lang="bn"],
html[lang="bn"] body,
html[lang="bn"] body *,
.bn,
.bangla,
[lang="bn"]{
    font-family: "Nikosh", "NikoshBAN", "Noto Sans Bengali", serif !important;
    font-size: 14px;
}

html[lang="en"],
html[lang="en"] body,
html[lang="en"] body *{
    font-family: "Times New Roman", Times, serif !important;
}

/* Keep form controls readable */
html[lang="bn"] input,
html[lang="bn"] select,
html[lang="bn"] textarea,
html[lang="bn"] button{
    font-family: "Nikosh", "NikoshBAN", "Noto Sans Bengali", serif !important;
    font-size: 14px !important;
}

/* Schedule list should not break on mobile */
.table-wrap{
    width: 100%;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    display: block;
}

.public-table{
    width: 100%;
    border-collapse: collapse;
}

.public-table th,
.public-table td{
    vertical-align: middle;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* Mobile: keep table as table, do not make table display:block */
@media(max-width: 768px){
    html, body{
        width: 100%;
        max-width: 100%;
        overflow-x: hidden !important;
    }

    .top-toolbar{
        position: static !important;
        padding: 10px !important;
    }

    .main-search-form,
    .v7-toolbar{
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        width: 100% !important;
        max-width:100% !important;
    }

    .main-search-form input,
    .main-search-form select,
    .main-search-form button,
    .login-btn,
    .print-btn-green,
    .search-btn{
        width: 100% !important;
        min-width: 0 !important;
    }

    .container,
    .public-container,
    .card,
    .gov-header-card{
        width: 96% !important;
        max-width: 96% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .table-wrap{
        border: 1px solid #d8dee8;
        border-radius: 8px;
        background: #ffffff;
    }

    .public-table{
        display: table !important;
        min-width: 760px !important;
        width: 760px !important;
        table-layout: fixed !important;
        margin: 0 !important;
    }

    .public-table thead{
        display: table-header-group !important;
    }

    .public-table tbody{
        display: table-row-group !important;
    }

    .public-table tr{
        display: table-row !important;
    }

    .public-table th,
    .public-table td{
        display: table-cell !important;
        font-size: 13px !important;
        line-height: 1.35 !important;
        padding: 8px 6px !important;
        white-space: normal !important;
        word-break: break-word !important;
        overflow-wrap: anywhere !important;
    }

    .public-table th:nth-child(1), .public-table td:nth-child(1){ width: 115px !important; }
    .public-table th:nth-child(2), .public-table td:nth-child(2){ width: 80px !important; }
    .public-table th:nth-child(3), .public-table td:nth-child(3){ width: 120px !important; }
    .public-table th:nth-child(4), .public-table td:nth-child(4){ width: 235px !important; }
    .public-table th:nth-child(5), .public-table td:nth-child(5){ width: 130px !important; }
    .public-table th:nth-child(6), .public-table td:nth-child(6){ width: 80px !important; }

    .public-table td[rowspan]{
        min-width: 115px !important;
    }

    .gov-header-card h1{ font-size: 18px !important; }
    .gov-header-card h2{ font-size: 24px !important; line-height: 1.25 !important; }
    .gov-header-card p{ font-size: 15px !important; }
}

/* Print/PDF font + stronger visible borders */
@media print{
    html[lang="bn"],
    html[lang="bn"] body,
    html[lang="bn"] body *,
    html[lang="bn"] .print-sheet,
    html[lang="bn"] .print-sheet *{
        font-family: "Nikosh", "NikoshBAN", "Noto Sans Bengali", serif !important;
        font-size: 14px;
    }

    html[lang="en"],
    html[lang="en"] body,
    html[lang="en"] body *,
    html[lang="en"] .print-sheet,
    html[lang="en"] .print-sheet *{
        font-family: "Times New Roman", Times, serif !important;
    }

    .print-table{
        border-collapse: collapse !important;
        border-spacing: 0 !important;
        border: 2px solid #000000 !important;
    }

    .print-table th,
    .print-table td{
        border: 1.6pt solid #000000 !important;
        color: #000000 !important;
        
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .gov-print-header{
        border-bottom: 2pt double #000000 !important;
    }

    .friday-row,
    .saturday-row,
    .holiday-row{
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }
}


/* =========================================================
   V14: RTHD-like compact mobile table + Nikosh PDF final fix
   ========================================================= */

/* Bangla = Nikosh everywhere */
@font-face{
    font-family: "Nikosh";
    src: local("Nikosh"), local("NikoshBAN"), local("Nikosh Ban");
    font-weight: normal;
    font-style: normal;
}

html[lang="bn"],
html[lang="bn"] body,
html[lang="bn"] body *,
.bn,
.bangla,
[lang="bn"]{
    font-family: "Nikosh", "NikoshBAN", "Noto Sans Bengali", serif !important;
}

html[lang="en"],
html[lang="en"] body,
html[lang="en"] body *{
    font-family: "Times New Roman", Times, serif !important;
}

/* Desktop table remains clean */
.table-wrap{
    width: 100% !important;
    max-width:100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
}

.public-table{
    width: 100% !important;
    border-collapse: collapse !important;
    table-layout: fixed !important;
}

.public-table th,
.public-table td{
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
    vertical-align: top !important;
}

/* RTHD-like mobile view: keep full table inside screen */
@media screen and (max-width: 768px){

    html, body{
        width: 100% !important;
        max-width:100% !important;
        overflow-x: hidden !important;
    }

    .top-toolbar{
        padding: 8px !important;
    }

    .main-search-form,
    .v7-toolbar{
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 6px !important;
        width: 100% !important;
        max-width:100% !important;
    }

    .main-search-form input,
    .main-search-form select,
    .main-search-form button,
    .main-search-form a,
    .search-btn,
    .login-btn,
    .print-btn-green{
        width: 100% !important;
        min-width: 0 !important;
        padding: 7px 6px !important;
        font-size: 12px !important;
        min-height: 34px !important;
        border-radius: 6px !important;
        text-align: center !important;
    }

    .container,
    .public-container{
        width: 100% !important;
        max-width:100% !important;
        margin: 0 !important;
        padding: 6px !important;
    }

    .card,
    .gov-header-card{
        width: 100% !important;
        max-width:100% !important;
        margin: 6px 0 !important;
        padding: 8px !important;
        border-radius:4px !important;
        
    }

    .gov-logo{
        width: 58px !important;
        height: 58px !important;
    }

    .gov-header-card h1{
        font-size: 15px !important;
        line-height: 1.2 !important;
        margin: 4px 0 !important;
    }

    .gov-header-card h2{
        font-size: 18px !important;
        line-height: 1.2 !important;
        margin: 4px 0 !important;
    }

    .gov-header-card p,
    .section-head h2{
        font-size: 13px !important;
        line-height: 1.25 !important;
        margin: 4px 0 !important;
    }

    .section-head{
        display: block !important;
    }

    .table-wrap{
        overflow-x: visible !important;
        border: 1px solid #d6dde8 !important;
        border-radius: 0 !important;
        background: #ffffff !important;
    }

    .public-table{
        display: table !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width:100% !important;
        table-layout: fixed !important;
        margin: 0 !important;
        border-collapse: collapse !important;
    }

    .public-table thead{display: table-header-group !important;}
    .public-table tbody{display: table-row-group !important;}
    .public-table tr{display: table-row !important;}

    .public-table th,
    .public-table td{
        display: table-cell !important;
        padding: 3px 2px !important;
        font-size: 10.5px !important;
        line-height: 1.16 !important;
        border: 1px solid #d6dde8 !important;
        text-align: left !important;
        vertical-align: top !important;
        white-space: normal !important;
        word-break: break-word !important;
        overflow-wrap: anywhere !important;
    }

    .public-table th{
        font-weight: 700 !important;
        background: #eef5ff !important;
    }

    .public-table td strong{
        font-size: 10.5px !important;
        font-weight: 700 !important;
    }

    .public-table td small{
        font-size: 10px !important;
        line-height: 1.14 !important;
        margin-top: 2px !important;
    }

    /* Compact column widths like govt schedule site */
    .public-table th:nth-child(1), .public-table td:nth-child(1){ width: 18% !important; }
    .public-table th:nth-child(2), .public-table td:nth-child(2){ width: 11% !important; }
    .public-table th:nth-child(3), .public-table td:nth-child(3){ width: 15% !important; }
    .public-table th:nth-child(4), .public-table td:nth-child(4){ width: 32% !important; }
    .public-table th:nth-child(5), .public-table td:nth-child(5){ width: 18% !important; }
    .public-table th:nth-child(6), .public-table td:nth-child(6){ width: 6% !important; }

    .public-table td[rowspan]{
        min-width: 0 !important;
        font-weight: 700 !important;
    }

    .file-link{
        font-size: 0 !important;
    }

    .file-link::after{
        content: "📎";
        font-size: 11px !important;
    }
}

/* Extra small phones */
@media screen and (max-width: 390px){
    .public-table th,
    .public-table td{
        font-size: 9.6px !important;
        padding: 2px 1px !important;
        line-height: 1.12 !important;
    }

    .public-table td strong{
        font-size: 9.6px !important;
    }

    .public-table td small{
        font-size: 9.2px !important;
    }

    .gov-header-card h2{
        font-size: 16px !important;
    }
}

/* Print/PDF: Nikosh + visible black borders without zoom */
@media print{
    @page{
        size: A4 portrait;
        margin: 0.5in;
    }

    html[lang="bn"],
    html[lang="bn"] body,
    html[lang="bn"] body *,
    html[lang="bn"] .print-sheet,
    html[lang="bn"] .print-sheet *{
        font-family: "Nikosh", "NikoshBAN", "Noto Sans Bengali", serif !important;
        font-size: 14px !important;
    }

    html[lang="en"],
    html[lang="en"] body,
    html[lang="en"] body *,
    html[lang="en"] .print-sheet,
    html[lang="en"] .print-sheet *{
        font-family: "Times New Roman", Times, serif !important;
    }

    .print-table{
        width: 100% !important;
        border-collapse: collapse !important;
        border-spacing: 0 !important;
        border: 2.2pt solid #000 !important;
        table-layout: fixed !important;
    }

    .print-table th,
    .print-table td{
        border: 1.8pt solid #000 !important;
        outline: 0.35pt solid #000 !important;
        color: #000 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        background-clip: padding-box !important;
    }

    .print-table thead th{
        background: #d9e7f5 !important;
        color: #000 !important;
    }

    .gov-print-header{
        border-bottom: 2.2pt double #000 !important;
    }
}


/* =========================================================
   V15 FINAL MOBILE FIX
   Mobile schedule table converted to stacked cards.
   This prevents broken layout on phone screens.
   ========================================================= */

@font-face{
    font-family: "Nikosh";
    src: local("Nikosh"), local("NikoshBAN"), local("Nikosh Ban");
    font-weight: normal;
    font-style: normal;
}

html[lang="bn"],
html[lang="bn"] body,
html[lang="bn"] body *,
.bn,
.bangla,
[lang="bn"]{
    font-family: "Nikosh", "NikoshBAN", "Noto Sans Bengali", serif !important;
}

html[lang="en"],
html[lang="en"] body,
html[lang="en"] body *{
    font-family: "Times New Roman", Times, serif !important;
}

@media screen and (max-width: 768px){

    html, body{
        width: 100% !important;
        max-width:100% !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow-x: hidden !important;
        box-sizing:border-box !important;
    }

    *, *::before, *::after{
        box-sizing:border-box !important;
    }

    .container,
    .public-container,
    .card,
    .gov-header-card,
    .filter-card,
    .section-card,
    .schedule-card{
        width: 100% !important;
        max-width:100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
        
    }

    .topbar,
    .top-toolbar,
    .section-head,
    .official-header,
    .org-block,
    .filter-card{
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 8px !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .main-search-form,
    .v7-toolbar,
    form{
        width: 100% !important;
        max-width:100% !important;
        min-width: 0 !important;
    }

    .main-search-form,
    .v7-toolbar{
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    input,
    select,
    textarea,
    button,
    .btn,
    .search-btn,
    .login-btn,
    .print-btn,
    .print-btn-green{
        width: 100% !important;
        max-width:100% !important;
        min-width: 0 !important;
        font-size: 14px !important;
    }

    img,
    .gov-logo,
    .logo{
        max-width:100% !important;
        height: auto !important;
    }

    .gov-logo{
        width: 58px !important;
        height: 58px !important;
        object-fit: contain !important;
    }

    .gov-header-card h1{
        font-size: 16px !important;
        line-height: 1.25 !important;
    }

    .gov-header-card h2{
        font-size: 20px !important;
        line-height: 1.25 !important;
    }

    .gov-header-card p,
    .section-head h2,
    .section-head p{
        font-size: 14px !important;
        line-height: 1.3 !important;
    }

    /* CORE FIX: schedule table becomes cards on mobile */
    .table-wrap,
    .public-table,
    .public-table thead,
    .public-table tbody,
    .public-table tr,
    .public-table th,
    .public-table td{
        width: 100% !important;
        max-width:100% !important;
        min-width: 0 !important;
    }

    .table-wrap{
        overflow-x: hidden !important;
        border: 0 !important;
        background: transparent !important;
    }

    .public-table{
        display: block !important;
        border: 0 !important;
        table-layout: auto !important;
        background: transparent !important;
    }

    .public-table thead{
        display: none !important;
    }

    .public-table tbody{
        display: block !important;
        width: 100% !important;
    }

    .public-table tr{
        display: block !important;
        width: 100% !important;
        margin: 10px 0 !important;
        padding: 8px !important;
        border: 1px solid #cfd8e3 !important;
        border-radius: 10px !important;
        background: #ffffff !important;
        
        overflow: hidden !important;
    }

    .public-table td{
        display: flex !important;
        width: 100% !important;
        border: 0 !important;
        border-bottom: 1px solid #e5e7eb !important;
        padding: 7px 2px !important;
        font-size: 14px !important;
        line-height: 1.35 !important;
        text-align: left !important;
        vertical-align: top !important;
        white-space: normal !important;
        word-break: break-word !important;
        overflow-wrap: anywhere !important;
        align-items: flex-start !important;
        gap: 8px !important;
    }

    .public-table td:last-child{
        border-bottom: 0 !important;
    }

    .public-table td::before{
        content: attr(data-label);
        flex: 0 0 92px;
        max-width: 92px;
        font-weight: 700;
        color: #334155;
        font-size: 13px;
        line-height: 1.3;
    }

    .public-table td:nth-child(1)::before{ content: "তারিখ"; }
    .public-table td:nth-child(2)::before{ content: "বার"; }
    .public-table td:nth-child(3)::before{ content: "সময়"; }
    .public-table td:nth-child(4)::before{ content: "বিবরণ"; }
    .public-table td:nth-child(5)::before{ content: "স্থান"; }
    .public-table td:nth-child(6)::before{ content: "ফাইল"; }

    .public-table td[rowspan]{
        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;
        font-weight: normal !important;
    }

    .public-table td strong,
    .public-table td small,
    .public-table td span,
    .public-table td a{
        max-width:100% !important;
        word-break: break-word !important;
        overflow-wrap: anywhere !important;
    }

    .public-table td small{
        display: block !important;
        font-size: 13px !important;
        line-height: 1.25 !important;
        margin-top: 2px !important;
    }

    .file-link{
        display:inline-block !important;width:auto !important;max-width:none !important;min-width:auto !important;white-space:nowrap !important;
        width: auto !important;
        font-size: 13px !important;
    }
}

/* Print/PDF stays normal table with clear borders */
@media print{
    @page{
        size: A4 portrait;
        margin: 0.5in;
    }

    html[lang="bn"],
    html[lang="bn"] body,
    html[lang="bn"] body *,
    html[lang="bn"] .print-sheet,
    html[lang="bn"] .print-sheet *{
        font-family: "Nikosh", "NikoshBAN", "Noto Sans Bengali", serif !important;
        font-size: 14px !important;
    }

    html[lang="en"],
    html[lang="en"] body,
    html[lang="en"] body *,
    html[lang="en"] .print-sheet,
    html[lang="en"] .print-sheet *{
        font-family: "Times New Roman", Times, serif !important;
    }

    .print-table{
        width: 100% !important;
        border-collapse: collapse !important;
        border-spacing: 0 !important;
        border: 2.2pt solid #000000 !important;
        table-layout: fixed !important;
    }

    .print-table th,
    .print-table td{
        border: 1.8pt solid #000000 !important;
        outline: 0.35pt solid #000000 !important;
        color: #000000 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        background-clip: padding-box !important;
    }

    .print-table thead th{
        background: #d9e7f5 !important;
        color: #000000 !important;
    }

    .gov-print-header{
        border-bottom: 2.2pt double #000000 !important;
    }
}


/* =========================================================
   V16 REAL MOBILE FIX
   Force ALL schedule tables inside schedule/list/card areas
   into mobile card layout, not only .public-table.
   ========================================================= */

@font-face{
    font-family:"Nikosh";
    src:local("Nikosh"), local("NikoshBAN"), local("Nikosh Ban");
    font-weight:normal;
    font-style:normal;
}

html[lang="bn"],
html[lang="bn"] body,
html[lang="bn"] body *,
body.bn,
body.bn *,
.bn,
.bangla,
[lang="bn"]{
    font-family:"Nikosh","NikoshBAN","Noto Sans Bengali",serif !important;
}

html[lang="en"],
html[lang="en"] body,
html[lang="en"] body *{
    font-family:"Times New Roman",Times,serif !important;
}

@media screen and (max-width:768px){

    html, body{
        width:100% !important;
        max-width:100% !important;
        margin:0 !important;
        padding:0 !important;
        overflow-x:hidden !important;
    }

    *, *::before, *::after{
        box-sizing:border-box !important;
    }

    body{
        font-size:14px !important;
    }

    .container,
    .public-container,
    .wrapper,
    .page,
    .card,
    .filter-card,
    .gov-header-card,
    .schedule-card,
    .schedule-list,
    .schedule-section,
    .section-card,
    main{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        margin-left:0 !important;
        margin-right:0 !important;
        padding-left:8px !important;
        padding-right:8px !important;
        overflow-x:hidden !important;
    }

    .main-search-form,
    .v7-toolbar,
    .top-toolbar,
    .topbar,
    form{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        display:flex !important;
        flex-direction:column !important;
        gap:8px !important;
        align-items:stretch !important;
    }

    input, select, textarea, button,
    .btn, .search-btn, .login-btn, .print-btn, .print-btn-green{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        height:auto !important;
        min-height:42px !important;
        font-size:15px !important;
    }

    .gov-header-card h1{font-size:16px !important;line-height:1.25 !important;}
    .gov-header-card h2{font-size:20px !important;line-height:1.25 !important;}
    .section-head h2,
    h2{font-size:24px !important;line-height:1.2 !important;}

    /*
       REAL FIX:
       Convert any schedule table into mobile cards.
       This targets .public-table, .print-table when visible on page,
       and all tables inside common schedule containers/cards.
    */
    .table-wrap,
    .schedule-list,
    .schedule-card,
    .section-card,
    .card{
        overflow-x:hidden !important;
    }

    .public-table,
    table.public-table,
    .schedule-list table,
    .schedule-card table,
    .section-card table,
    .card table,
    main table{
        display:block !important;
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        border:0 !important;
        border-collapse:separate !important;
        table-layout:auto !important;
        background:transparent !important;
        overflow:visible !important;
    }

    .public-table thead,
    table.public-table thead,
    .schedule-list table thead,
    .schedule-card table thead,
    .section-card table thead,
    .card table thead,
    main table thead{
        display:none !important;
    }

    .public-table tbody,
    table.public-table tbody,
    .schedule-list table tbody,
    .schedule-card table tbody,
    .section-card table tbody,
    .card table tbody,
    main table tbody{
        display:block !important;
        width:100% !important;
        max-width:100% !important;
    }

    .public-table tr,
    table.public-table tr,
    .schedule-list table tr,
    .schedule-card table tr,
    .section-card table tr,
    .card table tr,
    main table tr{
        display:block !important;
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        margin:10px 0 !important;
        padding:8px 10px !important;
        border:1px solid #cfd8e3 !important;
        border-radius:4px !important;
        background:#fff !important;
        
        overflow:hidden !important;
    }

    .public-table th,
    table.public-table th,
    .schedule-list table th,
    .schedule-card table th,
    .section-card table th,
    .card table th,
    main table th{
        display:none !important;
    }

    .public-table td,
    table.public-table td,
    .schedule-list table td,
    .schedule-card table td,
    .section-card table td,
    .card table td,
    main table td{
        display:flex !important;
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        border:0 !important;
        border-bottom:1px solid #e5e7eb !important;
        padding:7px 0 !important;
        font-size:14px !important;
        line-height:1.35 !important;
        text-align:left !important;
        vertical-align:top !important;
        white-space:normal !important;
        word-break:normal !important;
        overflow-wrap:anywhere !important;
        gap:10px !important;
        align-items:flex-start !important;
    }

    .public-table td:last-child,
    table.public-table td:last-child,
    .schedule-list table td:last-child,
    .schedule-card table td:last-child,
    .section-card table td:last-child,
    .card table td:last-child,
    main table td:last-child{
        border-bottom:0 !important;
    }

    .public-table td::before,
    table.public-table td::before,
    .schedule-list table td::before,
    .schedule-card table td::before,
    .section-card table td::before,
    .card table td::before,
    main table td::before{
        flex:0 0 96px !important;
        max-width:96px !important;
        font-weight:700 !important;
        color:#334155 !important;
        font-size:13px !important;
        line-height:1.35 !important;
        white-space:normal !important;
        word-break:normal !important;
        overflow-wrap:normal !important;
    }

    .public-table td:nth-child(1)::before,
    table.public-table td:nth-child(1)::before,
    main table td:nth-child(1)::before{content:"তারিখ / বার" !important;}

    .public-table td:nth-child(2)::before,
    table.public-table td:nth-child(2)::before,
    main table td:nth-child(2)::before{content:"সময়" !important;}

    .public-table td:nth-child(3)::before,
    table.public-table td:nth-child(3)::before,
    main table td:nth-child(3)::before{content:"চেয়ারপারসন" !important;}

    .public-table td:nth-child(4)::before,
    table.public-table td:nth-child(4)::before,
    main table td:nth-child(4)::before{content:"বিবরণ" !important;}

    .public-table td:nth-child(5)::before,
    table.public-table td:nth-child(5)::before,
    main table td:nth-child(5)::before{content:"স্থান" !important;}

    .public-table td:nth-child(6)::before,
    table.public-table td:nth-child(6)::before,
    main table td:nth-child(6)::before{content:"ফাইল" !important;}

    .public-table td[rowspan],
    table.public-table td[rowspan],
    main table td[rowspan]{
        display:flex !important;
        width:100% !important;
        min-width:0 !important;
    }

    td > *,
    td strong,
    td small,
    td span,
    td a{
        max-width:100% !important;
        min-width:0 !important;
        white-space:normal !important;
        word-break:normal !important;
        overflow-wrap:anywhere !important;
    }

    td small{
        display:block !important;
        font-size:13px !important;
        line-height:1.3 !important;
    }
}

/* Print/PDF unchanged table, strong borders */
@media print{
    @page{size:A4 portrait;margin:0.5in;}

    html[lang="bn"], html[lang="bn"] body, html[lang="bn"] body *,
    html[lang="bn"] .print-sheet, html[lang="bn"] .print-sheet *{
        font-family:"Nikosh","NikoshBAN","Noto Sans Bengali",serif !important;
        font-size:14px !important;
    }

    html[lang="en"], html[lang="en"] body, html[lang="en"] body *,
    html[lang="en"] .print-sheet, html[lang="en"] .print-sheet *{
        font-family:"Times New Roman",Times,serif !important;
    }

    .print-table{
        display:table !important;
        width:100% !important;
        border-collapse:collapse !important;
        border-spacing:0 !important;
        border:2.2pt solid #000 !important;
        table-layout:fixed !important;
    }

    .print-table thead{display:table-header-group !important;}
    .print-table tbody{display:table-row-group !important;}
    .print-table tr{display:table-row !important;}
    .print-table th,.print-table td{
        display:table-cell !important;
        border:1.8pt solid #000 !important;
        outline:0.35pt solid #000 !important;
        color:#000 !important;
        -webkit-print-color-adjust:exact !important;
        print-color-adjust:exact !important;
    }
    .print-table th::before,.print-table td::before{content:none !important;}
}

/* =========================================================
   V17 FIX: Mobile card text no longer breaks letter-by-letter
   ========================================================= */

@media screen and (max-width:768px){

    .container,
    .public-container,
    .card,
    .schedule-card,
    .schedule-list,
    .section-card,
    main{
        width:100% !important;
        max-width:100% !important;
        padding-left:10px !important;
        padding-right:10px !important;
        overflow-x:hidden !important;
    }

    .public-table td,
    table.public-table td,
    .schedule-list table td,
    .schedule-card table td,
    .section-card table td,
    .card table td,
    main table td{
        display:grid !important;
        grid-template-columns:82px minmax(0, 1fr) !important;
        column-gap:12px !important;
        align-items:start !important;
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        padding:8px 0 !important;
        font-size:15px !important;
        line-height:1.45 !important;
        word-break:normal !important;
        overflow-wrap:normal !important;
        white-space:normal !important;
        hyphens:none !important;
    }

    .public-table td::before,
    table.public-table td::before,
    .schedule-list table td::before,
    .schedule-card table td::before,
    .section-card table td::before,
    .card table td::before,
    main table td::before{
        grid-column:1 !important;
        width:auto !important;
        max-width:82px !important;
        min-width:0 !important;
        flex:none !important;
        font-size:14px !important;
        line-height:1.35 !important;
        word-break:normal !important;
        overflow-wrap:normal !important;
        white-space:normal !important;
        hyphens:none !important;
    }

    .public-table td > *,
    table.public-table td > *,
    .schedule-list table td > *,
    .schedule-card table td > *,
    .section-card table td > *,
    .card table td > *,
    main table td > *{
        grid-column:2 !important;
        min-width:0 !important;
        max-width:100% !important;
        word-break:normal !important;
        overflow-wrap:normal !important;
        white-space:normal !important;
        hyphens:none !important;
    }

    td,
    td strong,
    td small,
    td span,
    td a,
    td div,
    td p{
        word-break:normal !important;
        overflow-wrap:normal !important;
        white-space:normal !important;
        hyphens:none !important;
        line-break:auto !important;
    }

    td a{
        overflow-wrap:anywhere !important;
    }

    .public-table tr,
    table.public-table tr,
    .schedule-list table tr,
    .schedule-card table tr,
    .section-card table tr,
    .card table tr,
    main table tr{
        padding:12px !important;
        border-radius:4px !important;
    }

    .public-table td:first-child,
    table.public-table td:first-child,
    main table td:first-child{
        font-weight:600 !important;
    }
}

@media screen and (max-width:390px){
    .public-table td,
    table.public-table td,
    .schedule-list table td,
    .schedule-card table td,
    .section-card table td,
    .card table td,
    main table td{
        grid-template-columns:76px minmax(0, 1fr) !important;
        column-gap:10px !important;
        font-size:14px !important;
    }

    .public-table td::before,
    table.public-table td::before,
    .schedule-list table td::before,
    .schedule-card table td::before,
    .section-card table td::before,
    .card table td::before,
    main table td::before{
        max-width:76px !important;
        font-size:13px !important;
    }
}



/* ===== V25 COMPACT MOBILE TABLE MEASUREMENT FIX ===== */
@media (max-width: 900px){
  .container{width:96% !important;margin:16px auto !important;}
  .card{padding:12px !important;border-radius:4px !important;}
  .section-head h2{font-size:24px !important;margin:8px 0 10px !important;}

  .table-wrap,
  .public-schedule-wrap{
    width:100% !important;
    max-width:100% !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    border:1px solid #111 !important;
    border-radius:0 !important;
    padding:0 !important;
    background:#fff !important;
  }

  table.public-table,
  table.public-schedule-table{
    width:800px !important;
    min-width:800px !important;
    max-width:800px !important;
    table-layout:fixed !important;
    border-collapse:collapse !important;
    margin:0 !important;
  }

  .table-wrap th,
  .table-wrap td,
  table.public-table th,
  table.public-table td,
  table.public-schedule-table th,
  table.public-schedule-table td{
    padding:6px 7px !important;
    font-size:13px !important;
    line-height:1.32 !important;
    border:1px solid #111 !important;
    vertical-align:top !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
  }

  .table-wrap th,
  table.public-table th,
  table.public-schedule-table th{
    background:#1f252b !important;
    color:#fff !important;
    text-align:center !important;
    font-weight:800 !important;
    padding:7px 6px !important;
    font-size:13px !important;
  }

  .table-wrap small,
  table.public-table small,
  table.public-schedule-table small{
    font-size:12px !important;
    line-height:1.28 !important;
    margin-top:2px !important;
  }

  table.public-table th:nth-child(1), table.public-table td:nth-child(1),
  table.public-schedule-table th:nth-child(1), table.public-schedule-table td:nth-child(1){width:105px !important;}
  table.public-table th:nth-child(2), table.public-table td:nth-child(2),
  table.public-schedule-table th:nth-child(2), table.public-schedule-table td:nth-child(2){width:70px !important;}
  table.public-table th:nth-child(3), table.public-table td:nth-child(3),
  table.public-schedule-table th:nth-child(3), table.public-schedule-table td:nth-child(3){width:95px !important;}
  table.public-table th:nth-child(4), table.public-table td:nth-child(4),
  table.public-schedule-table th:nth-child(4), table.public-schedule-table td:nth-child(4){width:275px !important;}
  table.public-table th:nth-child(5), table.public-table td:nth-child(5),
  table.public-schedule-table th:nth-child(5), table.public-schedule-table td:nth-child(5){width:190px !important;}
  table.public-table th:nth-child(6), table.public-table td:nth-child(6),
  table.public-schedule-table th:nth-child(6), table.public-schedule-table td:nth-child(6){width:65px !important;text-align:center !important;}

  .admin-grid .full-width .table-wrap table{
    width:900px !important;
    min-width:900px !important;
    max-width:900px !important;
    table-layout:fixed !important;
  }
  .admin-grid .full-width .table-wrap table th,
  .admin-grid .full-width .table-wrap table td{
    padding:6px 7px !important;
    font-size:13px !important;
    line-height:1.3 !important;
  }
  .admin-grid .full-width .table-wrap table th:nth-child(1), .admin-grid .full-width .table-wrap table td:nth-child(1){width:95px !important;}
  .admin-grid .full-width .table-wrap table th:nth-child(2), .admin-grid .full-width .table-wrap table td:nth-child(2){width:115px !important;}
  .admin-grid .full-width .table-wrap table th:nth-child(3), .admin-grid .full-width .table-wrap table td:nth-child(3){width:110px !important;}
  .admin-grid .full-width .table-wrap table th:nth-child(4), .admin-grid .full-width .table-wrap table td:nth-child(4){width:75px !important;}
  .admin-grid .full-width .table-wrap table th:nth-child(5), .admin-grid .full-width .table-wrap table td:nth-child(5){width:120px !important;}
  .admin-grid .full-width .table-wrap table th:nth-child(6), .admin-grid .full-width .table-wrap table td:nth-child(6){width:235px !important;}
  .admin-grid .full-width .table-wrap table th:nth-child(7), .admin-grid .full-width .table-wrap table td:nth-child(7){width:75px !important;}
  .admin-grid .full-width .table-wrap table th:nth-child(8), .admin-grid .full-width .table-wrap table td:nth-child(8){width:75px !important;}
}


/* V28 balanced date/day cell and refined schedule font */
html[lang="bn"] body,
html[lang="bn"] body *{
  font-family:"Noto Serif Bengali","SolaimanLipi","Kalpurush","Nikosh","NikoshBAN",serif !important;
}
.public-schedule-table td,
.public-schedule-table th{letter-spacing:.01em;}
.merged-date-cell{vertical-align:middle !important;text-align:center !important;padding:6px 5px !important;}
.schedule-date-big{display:block;font-size:16px !important;font-weight:800 !important;line-height:1.15 !important;text-align:center !important;margin:0 auto 3px !important;}
.schedule-day-small{display:block;font-size:12px !important;font-weight:700 !important;opacity:.82;margin:0 auto !important;line-height:1.15 !important;text-align:center !important;}
.public-schedule-table td:not(.merged-date-cell){font-weight:600;}
.public-schedule-table td strong{font-weight:800;}
@media (max-width:900px){.schedule-date-big{font-size:15px !important}.schedule-day-small{font-size:11px !important}}

@media print{.gov-print-header h2{font-size:18pt !important;line-height:1.12!important;border:1px solid #000 !important;border-radius:18px!important;padding:1pt 3pt !important;display:inline-block!important;background:#fff!important;color:#000!important;margin:18pt auto!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;}}


/* ===== FORCE HUGE PDF TITLE ===== */
.gov-print-header h2,
.print-header h2,
.pdf-title,
h2.pdf-main-title{
    font-size:36px !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
    text-align:center !important;
    border:1.5px solid #000 !important;
    border-radius:4px !important;
    padding:1px 4px !important;
    display:inline-block !important;width:auto !important;max-width:none !important;min-width:auto !important;white-space:nowrap !important;
    margin:2px auto !important;
    background: #fff !important;
    color:#000 !important;
    width:auto !important;
    max-width:95% !important;
    box-sizing:border-box !important;
}

@media print{
    .gov-print-header h2,
    .print-header h2,
    .pdf-title,
    h2.pdf-main-title{
        font-size:18pt !important;
        font-weight: 900 !important;
        line-height: 1.1 !important;
        border:1pt solid #000 !important;
        border-radius:3pt !important;
        padding:1pt 3pt !important;
        display:inline-block !important;width:auto !important;max-width:none !important;min-width:auto !important;white-space:nowrap !important;
        margin:2pt auto !important;
        background: #fff !important;
        color:#000 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }
}



/* ===== MOBILE HEADER + COMPACT TABLE FIX ===== */
/* Keeps mobile website clean like the PDF layout */
@media (max-width: 768px){

  /* Header/logo area */
  header,
  .header,
  .top-header,
  .site-header,
  .app-header,
  .gov-header,
  .main-header,
  .navbar,
  .nav-bar{
    padding: 8px 10px !important;
    gap: 6px !important;
    min-height: auto !important;
  }

  header img,
  .header img,
  .top-header img,
  .site-header img,
  .app-header img,
  .gov-header img,
  .main-header img,
  .navbar img,
  .nav-bar img,
  .logo,
  .logo img,
  img.logo{
    max-width: 58px !important;
    width: auto !important;
    height: 58px !important;
    max-height: 58px !important;
    object-fit: contain !important;
    flex-shrink: 0 !important;
  }

  /* Office name / header text balance */
  .office-name,
  .org-name,
  .header-title,
  .site-title,
  .gov-title,
  header h1,
  .header h1,
  .gov-header h1,
  .main-header h1{
    font-size: 18px !important;
    line-height: 1.18 !important;
    margin: 0 !important;
    text-align: center !important;
  }

  header h2,
  .header h2,
  .gov-header h2,
  .main-header h2{
    font-size: 14px !important;
    line-height: 1.15 !important;
    margin: 2px 0 !important;
  }

  /* Top menu/buttons */
  nav,
  .nav,
  .menu,
  .top-menu,
  .navbar-menu,
  .nav-links,
  .header-menu{
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 4px 0 !important;
  }

  nav a,
  .nav a,
  .menu a,
  .top-menu a,
  .navbar-menu a,
  .nav-links a,
  .header-menu a,
  nav button,
  .nav button,
  .menu button,
  .top-menu button,
  .navbar-menu button,
  .nav-links button,
  .header-menu button{
    font-size: 12px !important;
    line-height: 1.1 !important;
    padding: 5px 8px !important;
    border-radius: 6px !important;
    min-height: auto !important;
    white-space: nowrap !important;
  }

  /* Main content spacing */
  .container,
  .main,
  main,
  .content,
  .page-content,
  .wrapper{
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  /* Schedule/table/input boxes compact like PDF */
  table,
  .schedule-table,
  .routine-table,
  .data-table{
    width: 100% !important;
    font-size: 12px !important;
    border-collapse: collapse !important;
  }

  th,
  td,
  .schedule-table th,
  .schedule-table td,
  .routine-table th,
  .routine-table td,
  .data-table th,
  .data-table td{
    font-size: 12px !important;
    line-height: 1.25 !important;
    padding: 4px 5px !important;
    vertical-align: middle !important;
  }

  input,
  textarea,
  select,
  .form-control,
  .input,
  .textarea{
    font-size: 12px !important;
    line-height: 1.25 !important;
    padding: 4px 6px !important;
    min-height: 28px !important;
    height: auto !important;
    border-radius: 5px !important;
    box-sizing: border-box !important;
  }

  textarea{
    min-height: 38px !important;
  }

  /* Specifically make Date/Day/Time/Chairman/Description/Venue/File columns/boxes slimmer */
  [name*="date"], [id*="date"],
  [name*="day"], [id*="day"],
  [name*="time"], [id*="time"],
  [name*="chair"], [id*="chair"],
  [name*="description"], [id*="description"],
  [name*="venue"], [id*="venue"],
  [name*="file"], [id*="file"],
  input[type="date"],
  input[type="time"],
  input[type="file"]{
    padding: 3px 5px !important;
    min-height: 26px !important;
    font-size: 12px !important;
  }

  /* Prevent ugly huge controls on mobile */
  button,
  .btn,
  .button{
    font-size: 12px !important;
    padding: 5px 8px !important;
    min-height: auto !important;
    border-radius: 6px !important;
  }

  /* Reduce card/box bulk */
  .card,
  .box,
  .panel,
  .form-box,
  .section,
  .table-box{
    padding: 8px !important;
    margin-bottom: 8px !important;
    border-radius: 8px !important;
  }
}

/* Extra-small mobile */
@media (max-width: 480px){
  header img,
  .header img,
  .top-header img,
  .site-header img,
  .app-header img,
  .gov-header img,
  .main-header img,
  .navbar img,
  .nav-bar img,
  .logo,
  .logo img,
  img.logo{
    max-width: 48px !important;
    height: 48px !important;
    max-height: 48px !important;
  }

  .office-name,
  .org-name,
  .header-title,
  .site-title,
  .gov-title,
  header h1,
  .header h1,
  .gov-header h1,
  .main-header h1{
    font-size: 16px !important;
  }

  th,
  td,
  input,
  textarea,
  select{
    font-size: 11.5px !important;
  }

  th,
  td{
    padding: 3px 4px !important;
  }
}


/* ===== FINAL MOBILE HOME HEADER BEAUTY FIX ===== */
@media screen and (max-width: 768px){

  body{
    background:#f4f7fb !important;
    overflow-x:hidden !important;
  }

  .top-toolbar{
    position:relative !important;
    top:auto !important;
    padding:10px 10px 8px !important;
    background:#ffffff !important;
    border-bottom:1px solid #e8eef6 !important;
    box-shadow:0 2px 10px rgba(15,23,42,.05) !important;
    z-index:5 !important;
  }

  .main-search-form,
  .main-search-form.v7-toolbar{
    width:100% !important;
    max-width:100% !important;
    margin:0 auto !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:7px !important;
    align-items:center !important;
  }

  .main-search-form input,
  .main-search-form select,
  .main-search-form button,
  .main-search-form a,
  .search-btn,
  .login-btn,
  .print-btn-green,
  .language-select{
    width:100% !important;
    height:34px !important;
    min-height:34px !important;
    padding:5px 8px !important;
    border-radius:9px !important;
    font-size:12px !important;
    line-height:1.1 !important;
    font-weight:700 !important;
    text-align:center !important;
    box-sizing:border-box !important;
  }

  .main-search-form input,
  .main-search-form select{
    border:1px solid #d7e0ec !important;
    background:#fff !important;
    color:#1f2937 !important;
  }

  .search-btn{
    background:#0d6efd !important;
    color:#fff !important;
    border:0 !important;
  }

  .login-btn{
    background:#0f766e !important;
    color:#fff !important;
    text-decoration:none !important;
  }

  .print-btn-green{
    background:#15803d !important;
    color:#fff !important;
    text-decoration:none !important;
  }

  .language-select{
    background:#eef6ff !important;
  }

  .public-container,
  main.container.public-container{
    width:100% !important;
    max-width:100% !important;
    margin:10px auto 0 !important;
    padding:0 8px !important;
    box-sizing:border-box !important;
  }

  .gov-header-card{
    width:100% !important;
    max-width:100% !important;
    margin:8px auto 12px !important;
    padding:12px 10px 14px !important;
    border-radius:14px !important;
    background:#ffffff !important;
    border:1px solid #e5edf6 !important;
    box-shadow:0 4px 16px rgba(15,23,42,.06) !important;
    text-align:center !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:4px !important;
  }

  .gov-logo-wrap{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 auto 3px !important;
    padding:0 !important;
    text-align:center !important;
  }

  .gov-logo,
  .gov-logo.placeholder,
  .gov-logo-wrap img{
    width:38px !important;
    height:38px !important;
    max-width:38px !important;
    max-height:38px !important;
    min-width:38px !important;
    min-height:38px !important;
    object-fit:contain !important;
    display:block !important;
    margin:0 auto !important;
    padding:2px !important;
    border-radius:50% !important;
    background:#fff !important;
    border:1px solid #e1e8f0 !important;
    box-sizing:border-box !important;
  }

  .gov-header-card h1{
    width:100% !important;
    max-width:100% !important;
    margin:2px auto 0 !important;
    padding:0 4px !important;
    text-align:center !important;
    font-size:16px !important;
    line-height:1.25 !important;
    font-weight:800 !important;
    color:#1f2937 !important;
    letter-spacing:0 !important;
  }

  .gov-header-card h2{
    width:auto !important;
    max-width:100% !important;
    margin:5px auto 0 !important;
    padding:3px 7px !important;
    display:inline-block !important;
    text-align:center !important;
    font-size:18px !important;
    line-height:1.15 !important;
    font-weight:900 !important;
    color:#111827 !important;
    border:1px solid #111827 !important;
    border-radius:5px !important;
    background:#fff !important;
    box-sizing:border-box !important;
  }

  .gov-header-card p{
    margin:5px auto 0 !important;
    text-align:center !important;
    font-size:13px !important;
    line-height:1.25 !important;
    color:#334155 !important;
    font-weight:700 !important;
  }

  .card{
    border-radius:12px !important;
    padding:10px !important;
    margin-bottom:10px !important;
    box-shadow:0 3px 14px rgba(15,23,42,.05) !important;
  }

  .section-head h2{
    font-size:17px !important;
    line-height:1.2 !important;
    margin:0 !important;
    text-align:center !important;
    width:100% !important;
  }
}

@media screen and (max-width: 420px){
  .main-search-form,
  .main-search-form.v7-toolbar{
    grid-template-columns:1fr 1fr !important;
    gap:6px !important;
  }

  .main-search-form input,
  .main-search-form select,
  .main-search-form button,
  .main-search-form a{
    height:32px !important;
    min-height:32px !important;
    font-size:11.5px !important;
    padding:4px 6px !important;
  }

  .gov-logo,
  .gov-logo.placeholder,
  .gov-logo-wrap img{
    width:34px !important;
    height:34px !important;
    max-width:34px !important;
    max-height:34px !important;
    min-width:34px !important;
    min-height:34px !important;
  }

  .gov-header-card h1{
    font-size:15px !important;
  }

  .gov-header-card h2{
    font-size:16px !important;
    padding:2px 6px !important;
  }
}


/* ===== CORRECT MOBILE SCHEDULE COLUMN FIT FIX ===== */
/* Date/Day, Time, Chairman, File stay small/content-fit.
   Description and Venue stay larger. Text remains centered. */
@media screen and (max-width:768px){

  .public-schedule-wrap,
  .table-wrap.public-schedule-wrap{
    width:100% !important;
    overflow-x:auto !important;
    padding:0 !important;
    margin:0 auto !important;
  }

  table.public-schedule-table,
  table.public-table.public-schedule-table{
    width:100% !important;
    table-layout:fixed !important;
    border-collapse:collapse !important;
    margin:0 auto !important;
  }

  table.public-schedule-table th,
  table.public-schedule-table td{
    text-align:center !important;
    vertical-align:middle !important;
    line-height:1.25 !important;
    padding-top:5px !important;
    padding-bottom:5px !important;
    box-sizing:border-box !important;
  }

  table.public-schedule-table th *,
  table.public-schedule-table td *{
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* Column 1: তারিখ/বার - compact */
  table.public-schedule-table th:nth-child(1),
  table.public-schedule-table td:nth-child(1){
    width:18% !important;
    max-width:18% !important;
    padding-left:3px !important;
    padding-right:3px !important;
  }

  /* Column 2: সময় - compact */
  table.public-schedule-table th:nth-child(2),
  table.public-schedule-table td:nth-child(2){
    width:13% !important;
    max-width:13% !important;
    padding-left:3px !important;
    padding-right:3px !important;
  }

  /* Column 3: সভাপতি - compact but readable */
  table.public-schedule-table th:nth-child(3),
  table.public-schedule-table td:nth-child(3){
    width:16% !important;
    max-width:16% !important;
    padding-left:3px !important;
    padding-right:3px !important;
  }

  /* Column 4: বিবরণ - large */
  table.public-schedule-table th:nth-child(4),
  table.public-schedule-table td:nth-child(4){
    width:28% !important;
    max-width:28% !important;
    padding-left:6px !important;
    padding-right:6px !important;
  }

  /* Column 5: ভেন্যু - medium/large */
  table.public-schedule-table th:nth-child(5),
  table.public-schedule-table td:nth-child(5){
    width:17% !important;
    max-width:17% !important;
    padding-left:5px !important;
    padding-right:5px !important;
  }

  /* Column 6: ফাইল - very compact */
  table.public-schedule-table th:nth-child(6),
  table.public-schedule-table td:nth-child(6){
    width:8% !important;
    max-width:8% !important;
    padding-left:2px !important;
    padding-right:2px !important;
  }

  .merged-date-cell,
  .schedule-time-cell,
  .schedule-chair-cell,
  .schedule-desc-cell,
  .schedule-venue-cell{
    text-align:center !important;
    vertical-align:middle !important;
  }

  .schedule-date-big,
  .schedule-day-small,
  .file-link{
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
    display:block !important;
  }

  table.public-schedule-table .file-link{
    display:inline-block !important;
    max-width:100% !important;
    text-align:center !important;
    line-height:1.15 !important;
    word-break:break-word !important;
  }
}

@media screen and (max-width:420px){

  table.public-schedule-table th,
  table.public-schedule-table td{
    padding-top:4px !important;
    padding-bottom:4px !important;
  }

  table.public-schedule-table th:nth-child(1),
  table.public-schedule-table td:nth-child(1){
    width:18% !important;
    max-width:18% !important;
    padding-left:2px !important;
    padding-right:2px !important;
  }

  table.public-schedule-table th:nth-child(2),
  table.public-schedule-table td:nth-child(2){
    width:13% !important;
    max-width:13% !important;
    padding-left:2px !important;
    padding-right:2px !important;
  }

  table.public-schedule-table th:nth-child(3),
  table.public-schedule-table td:nth-child(3){
    width:16% !important;
    max-width:16% !important;
    padding-left:2px !important;
    padding-right:2px !important;
  }

  table.public-schedule-table th:nth-child(4),
  table.public-schedule-table td:nth-child(4){
    width:29% !important;
    max-width:29% !important;
    padding-left:4px !important;
    padding-right:4px !important;
  }

  table.public-schedule-table th:nth-child(5),
  table.public-schedule-table td:nth-child(5){
    width:16% !important;
    max-width:16% !important;
    padding-left:3px !important;
    padding-right:3px !important;
  }

  table.public-schedule-table th:nth-child(6),
  table.public-schedule-table td:nth-child(6){
    width:8% !important;
    max-width:8% !important;
    padding-left:1px !important;
    padding-right:1px !important;
  }
}
