*{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;box-shadow:0 10px 30px rgba(14,35,70,.09);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;box-shadow:0 14px 40px rgba(0,0,0,.12);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{box-shadow:none}}
select{border:1px solid #d9e1ee;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;box-shadow:0 18px 45px rgba(15,23,42,.14)}.print-header{display:flex;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;box-shadow:none}.print-header{margin-top:0}.print-header h1{font-size:24px}.print-header h2{font-size:22px}.print-table th,.print-table td{font-size:14px;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;box-shadow:0 2px 16px rgba(15,23,42,.08);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;box-shadow:0 3px 18px rgba(15,23,42,.14);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:22px;margin:0 0 4px}.gov-print-header h2{font-size:29px;margin:0;font-weight:900}@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 h2{font-size:24px}}
.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; box-shadow:none !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;
  }
}
