/* মাদরাসাতু ছিরাতীম মুছতাকিম — সাইট স্টাইল */
*{box-sizing:border-box}
body{margin:0;font-family:'Hind Siliguri',sans-serif;color:#1b2a21;background:#faf7ee}
a{color:#0b4d2c}a:hover{color:#07331d}
img{max-width:100%}

.wrap{max-width:1200px;margin:0 auto;padding-left:24px;padding-right:24px}
.serif{font-family:'Noto Serif Bengali',serif}
.arabic{font-family:'Amiri',serif}

/* ফর্ম */
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-weight:600;font-size:14px}
.field input,.field select,.field textarea{padding:12px 14px;border:1px solid #ddd5bd;border-radius:12px;font:inherit;background:#fcfaf3;color:inherit;width:100%}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #c9a227;outline-offset:1px;border-color:#c9a227}
.field .err{color:#a3361f;font-size:13px}
.full{grid-column:1/-1}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:14px 28px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;min-height:44px}
.btn-green{background:#0b4d2c;color:#fff}.btn-green:hover{background:#07331d;color:#fff}
.btn-gold{background:#c9a227;color:#231c05}.btn-gold:hover{background:#b8921c;color:#231c05}
.btn-soft{background:#e4f1e8;color:#0b4d2c}
.btn-cream{background:#fbf1d3;color:#6b5410}
.btn-wa{background:#1f9d55;color:#fff}.btn-wa:hover{background:#178246;color:#fff}
.btn-outline{background:#fff;color:#072a18;border:1.5px solid #0b4d2c}
.btn-sm{padding:6px 14px;min-height:32px;font-size:13px}
.btn-danger{background:#fbe6e1;color:#a3361f}

.alert{border-radius:14px;padding:14px 18px;font-weight:600}
.alert-ok{background:#e4f1e8;color:#0b4d2c;border:1px solid #b8d9c3}
.alert-err{background:#fbe6e1;color:#a3361f;border:1px solid #f0c3b8}

.pill{padding:4px 12px;border-radius:999px;font-size:13px;font-weight:600;white-space:nowrap}
.pill-present{background:#e4f1e8;color:#0b4d2c}
.pill-absent{background:#fbe6e1;color:#a3361f}
.pill-leave{background:#fbf1d3;color:#6b5410}

.card{background:#fff;border-radius:22px;padding:28px;display:flex;flex-direction:column;gap:18px;box-shadow:0 6px 18px rgba(7,42,24,.05)}
.empty{border:1.5px dashed #d8cca0;border-radius:16px;padding:28px;text-align:center;color:#6b7a70;background:#fcfaf3}

.tbl-box{overflow-x:auto;border-radius:14px;border:1px solid #f0ebdb}
.tbl{width:100%;border-collapse:collapse;min-width:580px;font-size:15px}
.tbl th{padding:13px 16px;font-weight:600;text-align:left;background:#faf7ee;color:#56665b}
.tbl td{padding:13px 16px;border-top:1px solid #f0ebdb;vertical-align:top}

.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* খাতা সাইডবার */
.side-btn{display:flex;align-items:center;gap:12px;text-align:left;border:0;border-radius:12px;padding:12px 14px;font:inherit;font-size:15px;cursor:pointer;text-decoration:none;background:transparent;color:#cfe2d6;font-weight:500}
.side-btn:hover{background:rgba(255,255,255,.07);color:#fff}
.side-btn.on{background:#c9a227;color:#231c05;font-weight:700}

.status-opt input{position:absolute;opacity:0;pointer-events:none}
.status-opt span{display:inline-block;border-radius:999px;padding:11px 22px;font-weight:600;cursor:pointer;border:1.5px solid currentColor}
.status-opt input:focus-visible+span{outline:2px solid #c9a227;outline-offset:2px}
.st-present span{color:#0b4d2c;background:#e4f1e8}.st-present input:checked+span{background:#0b4d2c;color:#fff;border-color:#0b4d2c}
.st-absent span{color:#a3361f;background:#fbe6e1}.st-absent input:checked+span{background:#a3361f;color:#fff;border-color:#a3361f}
.st-leave span{color:#6b5410;background:#fbf1d3}.st-leave input:checked+span{background:#6b5410;color:#fff;border-color:#6b5410}

/* মোবাইল */
@media (max-width:720px){
  .grid2{grid-template-columns:1fr}
  .hero-h1{font-size:36px!important}
  .sec-h2{font-size:30px!important}
  .main-nav{width:100%;justify-content:flex-start}
  .stat-cell{border-right:0!important;border-bottom:1px solid #f0ebdb}
  .card{padding:20px}
  .k-side{padding:16px!important;gap:14px!important}
  .k-nav{flex-direction:row!important;overflow-x:auto;gap:6px!important;padding-bottom:4px}
  .k-nav > span{display:none}
  .k-nav .side-btn{white-space:nowrap;flex:0 0 auto;padding:10px 12px}
  .k-dua{display:none!important}
}

/* প্রিন্ট — শুধু রসিদ */
@media print{
  body{background:#fff}
  .no-print{display:none!important}
  .print-area{box-shadow:none!important;margin:0!important}
  .print-wrap{padding:0!important;display:block!important}
}

/* ===== পলিশ v2 ===== */
html{scroll-behavior:smooth;scroll-padding-top:96px}
::selection{background:#e9cf7a;color:#072a18}
.btn,.side-btn,a{transition:background-color .2s,color .2s,box-shadow .2s,transform .2s,border-color .2s}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}

/* হেডার */
.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid #ebe5d2;transition:box-shadow .25s}
.site-header.scrolled{box-shadow:0 10px 30px rgba(7,42,24,.08)}
.nav-link{text-decoration:none;color:#34463b;padding:6px 2px;border-bottom:2px solid transparent}
.nav-link:hover,.nav-link.active{color:#0b4d2c;border-bottom-color:#c9a227}
.nav-link.active{font-weight:700}
.menu-btn{display:none;width:46px;height:46px;border-radius:14px;border:1px solid #ebe5d2;background:#fff;align-items:center;justify-content:center;cursor:pointer;color:#0b4d2c}
@media (max-width:980px){
  .menu-btn{display:inline-flex}
  .main-nav{display:none!important;width:100%;flex-direction:column;align-items:stretch!important;gap:4px!important;padding:8px 0 4px}
  .main-nav.open{display:flex!important}
  .main-nav .nav-link{padding:12px 6px;border-bottom:1px solid #f3eedf}
  .main-nav .btn{width:100%}
}

/* হিরো */
.hero-glow{position:absolute;border-radius:50%;filter:blur(70px);pointer-events:none}
.float{animation:float 6s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.spin-slow{animation:spin 60s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.chip{display:inline-flex;align-items:center;gap:10px;background:#fff;color:#072a18;border-radius:16px;padding:10px 14px;box-shadow:0 14px 30px rgba(0,0,0,.18);font-size:14px;font-weight:600}
.pulse-dot{width:8px;height:8px;border-radius:50%;background:#e9cf7a;box-shadow:0 0 0 0 rgba(233,207,122,.7);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(233,207,122,0)}100%{box-shadow:0 0 0 0 rgba(233,207,122,0)}}

/* স্ক্রল-রিভিল */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.float,.spin-slow,.pulse-dot{animation:none}html{scroll-behavior:auto}}

/* কার্ড হোভার */
.lift{transition:transform .3s ease,box-shadow .3s ease}
.lift:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(7,42,24,.13)!important}

/* সেকশন হেডিং */
.eyebrow{display:flex;align-items:center;gap:12px;color:#8a6d12;font-weight:700;font-size:15px}
.eyebrow::before,.eyebrow::after{content:"";width:48px;height:1px;background:#c9a227}

/* উস্তায কার্ড */
.avatar{display:flex;align-items:center;justify-content:center;border-radius:50%;font-weight:700;flex:0 0 auto}

/* মতামত */
.quote-card{background:#fff;border-radius:22px;padding:28px;display:flex;flex-direction:column;gap:16px;box-shadow:0 8px 24px rgba(7,42,24,.06);position:relative}
.quote-mark{position:absolute;top:14px;right:22px;font-family:'Amiri',serif;font-size:72px;line-height:1;color:#f1e3b3}

/* ব্যাক-টু-টপ */
.to-top{position:fixed;right:20px;bottom:20px;width:48px;height:48px;border-radius:50%;border:0;background:#0b4d2c;color:#e9cf7a;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 12px 26px rgba(7,42,24,.3);opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity .25s,transform .25s;z-index:50}
.to-top.show{opacity:1;pointer-events:auto;transform:none}

/* টেবিল */
.tbl tbody tr{transition:background-color .15s}
.tbl tbody tr:hover{background:#fcfaf3}
.name-cell{display:flex;align-items:center;gap:10px;font-weight:600}
.ini{width:32px;height:32px;border-radius:50%;background:#e4f1e8;color:#0b4d2c;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex:0 0 auto}

/* খাতা */
.k-stat{background:#fff;border-radius:18px;padding:20px;display:flex;align-items:center;gap:14px;box-shadow:0 6px 18px rgba(7,42,24,.05);border:1px solid transparent;transition:border-color .2s,transform .2s}
.k-stat:hover{border-color:#ebe5d2;transform:translateY(-2px)}
.bars{display:flex;align-items:flex-end;gap:10px;height:150px;padding-top:8px}
.bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}
.bar i{display:block;width:100%;max-width:38px;border-radius:10px 10px 4px 4px;background:#0b4d2c;transition:height .8s ease}
.bar.today i{background:#c9a227}
.bar small{font-size:12px;color:#6b7a70}
.bar b{font-size:12px;color:#072a18}
.badge-count{margin-left:auto;background:rgba(255,255,255,.12);color:#e9cf7a;border-radius:999px;padding:1px 9px;font-size:12px;font-weight:700}
.side-btn.on .badge-count{background:rgba(7,42,24,.15);color:#231c05}
.ring{--p:0;width:64px;height:64px;border-radius:50%;background:conic-gradient(#0b4d2c calc(var(--p)*1%),#e4f1e8 0);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.ring span{width:48px;height:48px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:#0b4d2c}
@media (max-width:980px){
  .site-header > .wrap{flex-wrap:wrap}
  .site-header > .wrap > a:first-child{flex:1 1 0;min-width:0;gap:10px!important}
  .brand-logo{width:46px!important;height:46px!important}
  .brand-name{font-size:17px!important}
  .brand-tag{font-size:12px!important}
}
@media (max-width:480px){.brand-tag{display:none}}

/* ===== মোবাইল রেসপন্সিভ v3 ===== */
img,svg,video,iframe{max-width:100%}
input,select,textarea,button{font-size:16px} /* iOS জুম বন্ধ */
@media (max-width:980px){
  .hero-wrap{padding-top:56px!important;padding-bottom:110px!important;gap:44px!important}
  .wrap[style*="padding-top: 90px"],.wrap[style*="padding-top: 110px"]{padding-top:64px!important}
  .wrap[style*="padding-bottom: 90px"]{padding-bottom:64px!important}
  #about{gap:40px!important}
}
@media (max-width:720px){
  .wrap{padding-left:16px;padding-right:16px}
  body{font-size:15px}

  /* টপ বার */
  .topbar .wrap{justify-content:center!important;padding-top:7px!important;padding-bottom:7px!important}
  .topbar .wrap > div{gap:14px!important;font-size:13px;justify-content:center}
  .topbar .wrap > div > span:last-child{display:none!important}

  /* হিরো */
  .hero-wrap{padding-top:40px!important;padding-bottom:96px!important;text-align:left}
  .hero-h1{font-size:34px!important;line-height:1.3!important}
  .hero-wrap p{font-size:16px!important}
  .hero-ctas{flex-direction:column;gap:10px!important}
  .hero-ctas a{text-align:center;padding:14px 20px!important;font-size:16px!important}
  .hero-card{max-width:290px!important}
  .hero-inner{padding:40px 22px 28px!important;gap:12px!important}
  .hero-logo{width:170px!important;height:170px!important}
  .hero-ring{width:360px!important;height:360px!important;margin-left:-180px!important;margin-top:-180px!important}
  .hero-chip-l{left:-10px!important;top:40px!important}
  .hero-chip-r{right:-10px!important;bottom:36px!important}
  .chip{font-size:12px;padding:7px 10px;gap:7px;border-radius:12px}
  .chip > span:first-child{width:28px!important;height:28px!important}
  .hero-glow{width:260px!important;height:260px!important}

  /* এক নজরে — ২ কলাম */
  .stat-grid{grid-template-columns:1fr 1fr!important;border-radius:18px!important}
  .stat-cell{padding:16px 12px!important;gap:10px!important;flex-direction:column;align-items:flex-start!important;border-right:0!important;border-bottom:0!important}
  .stat-cell:nth-child(odd){border-right:1px solid #f0ebdb!important}
  .stat-cell:nth-child(-n+2){border-bottom:1px solid #f0ebdb!important}
  .stat-cell > span{flex-basis:auto!important;width:40px;height:40px!important;border-radius:12px!important}
  .stat-cell > span svg{width:20px;height:20px}
  .stat-cell strong{font-size:22px!important}
  .stat-cell div span{font-size:13px}

  /* সেকশন */
  .wrap[style*="padding-top: 90px"],.wrap[style*="padding-top: 110px"]{padding-top:52px!important}
  .wrap[style*="padding-bottom: 90px"]{padding-bottom:52px!important}
  .wrap[style*="gap: 44px"],.wrap[style*="gap: 40px"],.wrap[style*="gap: 36px"]{gap:28px!important}
  .sec-h2{font-size:26px!important;line-height:1.4!important}
  .eyebrow{font-size:14px}.eyebrow::before,.eyebrow::after{width:28px}

  /* পরিচিতি */
  .about-photo{height:300px!important;border-radius:150px 150px 20px 20px!important}
  .about-badge{right:8px!important;bottom:16px!important;padding:12px 16px!important}
  .about-badge strong{font-size:20px!important}
  #about p{font-size:16px!important}

  /* বিভাগ */
  #departments .lift{padding:22px 20px!important;flex-direction:row!important;flex-wrap:wrap;align-items:center;gap:10px 16px!important}
  #departments .lift > span:first-child{width:52px!important;height:58px!important}
  #departments .lift h3{font-size:19px!important;flex:1}
  #departments .lift p{flex-basis:100%;font-size:15px}
  #departments .lift > span:last-child{margin-top:0!important}

  /* উস্তায — ২ কলাম */
  .teacher-grid{grid-template-columns:1fr 1fr!important;gap:12px!important}
  .teacher-grid > div{padding:20px 12px!important;gap:8px!important;border-radius:18px!important}
  .t-avatar{width:60px!important;height:60px!important;font-size:24px!important}
  .teacher-grid strong{font-size:15px!important;line-height:1.4}
  .teacher-grid span{font-size:12px!important}

  /* রুটিন টেবিল → কার্ড */
  .routine-table{min-width:0!important;font-size:15px!important}
  .routine-table thead{display:none}
  .routine-table tr{display:grid;grid-template-columns:1fr 1fr;padding:14px 16px;gap:6px 12px;background:#fff!important;border-bottom:1px solid #f0ebdb}
  .routine-table td{padding:0!important}
  .routine-table td:first-child{grid-column:1/-1;font-size:15px}
  .routine-table td:nth-child(2){grid-column:1/-1;font-weight:600;font-size:16px}
  .routine-table td:nth-child(n+3)::before{content:attr(data-label) ": ";color:#6b7a70;font-size:13px}
  .routine-table td:nth-child(n+3){font-size:14px}
  #routine h2,#notice h2{font-size:24px!important}
  #notice{padding:22px!important}

  /* মতামত */
  .quote-card{padding:22px}
  .quote-card blockquote{font-size:15px!important}

  /* ভর্তি */
  .adm-form{padding:22px 18px!important;border-radius:20px!important}
  #admission h2{font-size:28px!important}

  /* যোগাযোগ */
  #contact .lift{padding:16px!important}
  #contact iframe,#contact > div > div:last-child{min-height:240px!important}

  /* ফুটার */
  footer .wrap{padding-top:40px!important;gap:24px!important}
  footer nav{flex-direction:row!important;flex-wrap:wrap;gap:8px 18px!important}
  footer nav strong{flex-basis:100%}

  .to-top{right:14px;bottom:14px;width:44px;height:44px}
}
@media (max-width:380px){
  .hero-h1{font-size:30px!important}
  .teacher-grid{grid-template-columns:1fr!important}
  .chip{display:none}
}

/* ===== শিক্ষক প্যানেল ও রসিদ — মোবাইল ===== */
@media (max-width:720px){
  .k-head{padding:12px 16px!important;gap:10px!important}
  .k-head > div:last-child{width:100%;gap:10px!important;justify-content:space-between}
  .k-search{flex:1 1 100%;order:3}
  .k-search input{width:100%!important}
  .k-main{padding:16px 14px 32px!important;gap:16px!important}
  .k-banner{padding:20px!important;border-radius:18px!important}
  .k-banner strong{font-size:20px!important;line-height:1.4}
  .k-banner .btn{width:100%}
  .k-stats{grid-template-columns:1fr 1fr!important;gap:10px!important}
  .k-stat{padding:14px!important;gap:10px!important;flex-direction:column;align-items:flex-start!important}
  .k-stat > span{flex-basis:auto!important;width:40px;height:40px!important}
  .k-stat strong{font-size:22px!important}
  .k-stat div span{font-size:13px!important}
  .card{border-radius:18px;gap:14px}
  .card h1{font-size:20px!important}
  .card form > .btn,.card > .btn,.card form .btn-green{width:100%;align-self:stretch!important}
  .bars{height:120px;gap:6px}
  .ring{width:96px!important;height:96px!important}.ring span{width:74px!important;height:74px!important;font-size:21px!important}
  .status-opt{flex:1}.status-opt span{display:block;text-align:center;padding:11px 8px}

  /* টেবিল → কার্ড */
  .tbl-box{border:0;overflow:visible}
  .tbl{min-width:0!important;display:block}
  .tbl thead{display:none}
  .tbl tbody{display:flex;flex-direction:column;gap:10px}
  .tbl tr{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;padding:14px;border:1px solid #f0ebdb;border-radius:14px;background:#fff}
  .tbl td{border:0!important;padding:0!important;font-size:14px;min-width:0;overflow-wrap:anywhere}
  .tbl td::before{content:attr(data-label);display:block;font-size:12px;color:#6b7a70;font-weight:600;margin-bottom:2px}
  .tbl td:not([data-label])::before,.tbl td[data-label="কাজ"]::before{display:none}
  .tbl td:has(.name-cell){grid-column:1/-1;order:-1}
  .tbl td:has(.name-cell)::before{display:none}
  .tbl td:last-child{grid-column:1/-1}
  .tbl td:last-child form,.tbl td:last-child .btn{width:auto}
  .tbl td:last-child > div{justify-content:flex-start}

  /* রসিদ */
  .r-wrap{padding:16px 14px 32px!important;gap:20px!important}
  .r-form{padding:20px 16px!important;border-radius:18px!important;flex-basis:100%!important}
  .r-inner{padding:18px 14px!important}
  .r-inner strong.serif{font-size:19px!important}
  .r-inner strong[style*="font-size: 24px"]{font-size:20px!important}
}
@media (max-width:380px){
  .k-stats{grid-template-columns:1fr 1fr!important}
  .r-wrap .no-print[style*="grid-template-columns"]{grid-template-columns:1fr!important}
}
@media (max-width:720px){
  footer nav a{display:inline-flex;align-items:center;min-height:40px;padding:0 4px}
  #notice > a:last-child{display:inline-flex;align-items:center;min-height:44px}
  input[type=file]{padding:10px;border:1px dashed #d8cca0;border-radius:12px;background:#fcfaf3;width:100%}
  .card form[enctype]{width:100%}
  .card form[enctype] .btn{width:100%}
}
