:root{
  --green:#006a4e; --green-d:#004d38; --red:#f42a41; --bg:#f3f6f4; --line:#d5ddd8; --ink:#1d2b25;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:"Noto Sans Bengali","Kalpurush","SolaimanLipi","Nirmala UI",Vrinda,Arial,sans-serif;line-height:1.6}

/* ---------- Banner ---------- */
.banner{background:linear-gradient(180deg,var(--green) 0%,var(--green-d) 100%);color:#fff;
  border-bottom:4px solid var(--red)}
.banner-inner{max-width:1100px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;
  justify-content:center;gap:18px;text-align:center}
.banner-logo{width:84px;height:84px;object-fit:contain;background:#fff;border-radius:50%;padding:5px;flex:none}
.bn-gov{font-size:1.55rem;font-weight:700;line-height:1.3}
.en-gov{font-size:.95rem;opacity:.92}
.bn-div{font-size:1.25rem;font-weight:600;margin-top:6px}
.en-div{font-size:.95rem;opacity:.92}
.topnav{background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:center;gap:4px;padding:0 10px}
.topnav a{padding:12px 20px;text-decoration:none;color:var(--ink);font-weight:500;border-bottom:3px solid transparent}
.topnav a.on,.topnav a:hover{color:var(--green);border-bottom-color:var(--green)}

/* ---------- Layout ---------- */
.wrap{max-width:1100px;margin:22px auto;padding:0 16px}
.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px;box-shadow:0 1px 3px rgba(0,0,0,.05)}
h1{margin:0 0 18px;font-size:1.35rem;color:var(--green-d)}
h2{font-size:1.1rem}
.foot{text-align:center;color:#66766e;font-size:.85rem;padding:20px}

/* ---------- Form ---------- */
.field{margin-bottom:16px}
.label-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
label{display:block;font-weight:600;margin-bottom:6px;font-size:.95rem}
.req{color:var(--red)} .opt{font-weight:400;color:#6b7b73;font-size:.85rem}
input[type=text],select,textarea{width:100%;padding:10px 12px;font:inherit;border:1px solid #b9c5be;border-radius:6px;background:#fff}
input:focus,select:focus,textarea:focus{outline:2px solid #7fc4ac;border-color:var(--green)}
textarea{resize:vertical}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.grid4{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.link{color:var(--green);font-size:.9rem;font-weight:500}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.btn{display:inline-block;padding:9px 20px;border:1px solid #b9c5be;border-radius:6px;background:#fff;color:var(--ink);
  font:inherit;cursor:pointer;text-decoration:none}
.btn:hover{background:#eef3f0}
.btn.primary{background:var(--green);border-color:var(--green);color:#fff}
.btn.primary:hover{background:var(--green-d)}
.alert{padding:10px 14px;border-radius:6px;margin-bottom:16px;font-size:.95rem}
.alert ul{margin:0;padding-left:20px}
.alert.ok{background:#e4f5ec;border:1px solid #9bd3b5;color:#155a39}
.alert.err{background:#fdeaea;border:1px solid #efb1b1;color:#8a1f1f}

/* ---------- Modal ---------- */
.modal{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}
.modal[hidden]{display:none}
.modal-box{background:#fff;border-radius:10px;padding:22px;width:100%;max-width:440px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.modal-box h2{margin:0 0 14px;color:var(--green-d)}

/* ---------- View ---------- */
.view-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.view-head h1{margin:0}
.filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.filter label{margin:0}.filter select{width:auto}
.month-title{margin:24px 0 8px;padding:8px 14px;background:#e4f1ec;border-left:5px solid var(--green);color:var(--green-d)}
.table-wrap{overflow-x:auto}
table.data{width:100%;border-collapse:collapse;min-width:820px}
table.data th,table.data td{border:1px solid #9fb0a7;padding:8px 10px;vertical-align:top}
table.data thead th{background:#fde9d9;text-align:center;font-weight:600}
table.data{table-layout:fixed}
table.data .w-sl{width:6%}table.data .w-br{width:18%}table.data .w-n{width:13%}table.data .w-op{width:24%}
table.data th small{font-weight:400}
table.data td.c{text-align:center}
table.data td.op{max-width:280px;white-space:normal;word-break:break-word}
table.data tbody tr:nth-child(even){background:#f8faf9}
table.data tfoot td{background:#eef3f0;font-weight:700}
.empty{padding:30px;text-align:center;color:#66766e}

@media (max-width:760px){
  .grid3,.grid4{grid-template-columns:1fr}
  .banner-inner{flex-direction:column;gap:8px}
  .bn-gov{font-size:1.25rem}
}

.hint{margin:4px 0 0;color:#5b6b63;font-size:.85rem}
.print-meta{display:none}

/* ---------- Print / Save as PDF ---------- */
@page{size:A4 landscape;margin:12mm}
@media print{
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .topnav,.filter,.foot,.screen-only{display:none!important}
  body{background:#fff;font-size:12px}
  .wrap{max-width:none;margin:0;padding:0}
  .card{border:0;box-shadow:none;padding:0;border-radius:0}
  .banner{background:#fff!important;color:#000;border-bottom:2px solid #006a4e}
  .banner-inner{padding:0 0 8px}
  .banner-logo{width:62px;height:62px;padding:0}
  .bn-gov{font-size:1.2rem}.bn-div{font-size:1rem;margin-top:3px}
  .en-gov,.en-div{font-size:.8rem;opacity:1}
  .view-head{margin:10px 0 2px}.view-head h1{font-size:1.1rem;margin:0}
  .print-meta{display:block;font-size:.85rem;margin-bottom:4px}
  .table-wrap{overflow:visible}
  table.data{min-width:0}
  table.data thead{display:table-header-group}     /* repeat header on every page */
  table.data tr{break-inside:avoid}
  .month-title{break-after:avoid;margin:14px 0 6px}
}
