/* এতিম স্পনসর — app.css-এর রং/ভেরিয়েবল ব্যবহার করে, তাই সব থিমে মিলে যায়। */
.mx-tabs { position:static!important; display:flex; flex-wrap:wrap; gap:8px; padding:12px 14px!important; }
.mx-tabs a { display:inline-flex; align-items:center; gap:6px; padding:7px 12px; border-radius:9px; background:#f4f5f7; color:#3a434d; text-decoration:none; font-size:.86rem; font-weight:600; white-space:nowrap; }
.mx-tabs a:hover { background:var(--brand-soft); color:var(--brand-dark); }
.mx-tabs a.active { background:var(--brand); color:#fff; }
.mx-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:4px 16px; align-items:start; }
.mx-grid .field { margin:6px 0; }
.mx-grid .wide { grid-column:1/-1; }
.mx-grid .half { grid-column:span 2; }
@media (max-width:700px) { .mx-grid .half { grid-column:1/-1; } }
.mx-checks { display:flex; gap:14px; flex-wrap:wrap; padding:10px 0; }
.mx-checks label, .mx-check { display:flex; align-items:center; gap:6px; font-weight:500; }
.mx-check { grid-column:1/-1; margin:8px 0; font-size:.92rem; color:#354d48; }
.mx-checks input, .mx-check input, .mx-colcheck input { width:auto; min-height:0; }
.mx-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:10px; }
.mx-btn-light { background:#eef0f3!important; color:#333!important; }
.mx-btn-light:hover { background:#e2e5ea!important; }
.mx-btn-danger { background:#c0392b!important; }
.mx-btn-danger:hover { background:#a93226!important; }
.mx-btn-sm { padding:6px 12px!important; font-size:.84rem; }
td .mx-btn-sm, td .button { margin:1px 2px; }
.mx-inline { display:inline; margin:0; }
.mx-nowrap { white-space:nowrap; }
.mx-center { text-align:center!important; }
.mx-muted { color:var(--muted); font-size:.86rem; }
.mx-red { color:#b3261e; }
.mx-count { display:inline-block; padding:2px 10px; border-radius:20px; border:1px solid var(--line); font-size:.8rem; font-weight:700; vertical-align:middle; }
.mx-filter { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,280px)); gap:10px 14px; align-items:end; }
.mx-filter .field { margin:0; }
.mx-search { display:flex; gap:8px; }
.mx-alert { display:flex; align-items:center; gap:8px; margin:12px 0; padding:12px 15px; border-radius:10px; background:#ffc107; color:#2b2200; font-weight:600; font-size:.9rem; }
.mx-alert a { color:inherit; }
.mx-alert.info { background:var(--brand-soft); color:var(--brand-dark); }
.mx-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:0 0 16px; }
.mx-stats .stat-card { display:flex; align-items:center; gap:14px; margin:0; padding:16px; border-radius:13px; }
.mx-two { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.mx-two > .card { margin:0 0 16px; }
@media (max-width:900px) { .mx-stats { grid-template-columns:repeat(2,minmax(0,1fr)); } .mx-two { grid-template-columns:1fr; } }
.mx-pill { display:inline-block; padding:3px 10px; border-radius:12px; font-size:.78rem; font-weight:700; white-space:nowrap; background:#eef0f3; color:#48515c; }
.mx-pill.ok { background:#e7f7ed; color:#168141; }
.mx-pill.warn { background:#fff3dc; color:#a3620a; }
.mx-pill.bad { background:#fdecea; color:#b3261e; }
.mx-pill.brand { background:var(--brand-soft); color:var(--brand-dark); }
.mx-pills, .mx-meal-totals { display:flex; flex-wrap:wrap; gap:8px; }
.mx-details > summary { cursor:pointer; list-style:none; }
.mx-details > summary h2 { display:inline; }
.mx-details > summary::before { content:'＋ '; color:var(--brand); font-weight:700; }
.mx-details[open] > summary::before { content:'− '; }
.mx-details[open] > summary { margin-bottom:10px; }
.mx-payform { display:flex; gap:6px; align-items:center; margin:0; flex-wrap:nowrap; }
.mx-payform input, .mx-payform select { min-height:34px; padding:5px 8px; font-size:.85rem; }
.mx-payform input[name=amount] { width:100px; }
.mx-payform input[type=date] { width:135px; }
.mx-payform select { width:100px; }
.mx-bar { display:inline-block; width:70px; height:8px; border-radius:6px; background:#eef0f3; vertical-align:middle; overflow:hidden; }
.mx-bar i { display:block; height:100%; background:var(--brand); }
/* প্রিন্ট */
.mx-print-bar { display:flex; gap:10px; justify-content:flex-end; margin-bottom:14px; }
.mx-sheet, .mx-slip { background:#fff; color:#111; border:1px solid #e3e6ea; border-radius:6px; }
.mx-sheet { max-width:210mm; margin:0 auto 16px; padding:12mm; font-size:10.5pt; }
.mx-sheet-head { display:flex; align-items:center; gap:12px; padding-bottom:8px; margin-bottom:10px; border-bottom:2px solid #333; }
.mx-sheet-head img { width:54px; height:54px; object-fit:contain; }
.mx-sheet-head h1 { margin:0!important; font-size:15pt!important; color:#111!important; }
.mx-sheet-head p { margin:1px 0 0; font-size:9pt; }
.mx-sheet-head .mx-sheet-title { margin-top:4px; font-weight:700; font-size:11pt; text-decoration:underline; text-underline-offset:3px; }
.mx-sheet table, .mx-slip table { width:100%; border-collapse:collapse; }
.mx-sheet th, .mx-sheet td, .mx-slip td { border:1px solid #777; padding:5px 8px; color:#111; vertical-align:top; }
.mx-sheet th { background:#eee; }
.mx-receipt tbody td:first-child, .mx-slip td:first-child { width:42%; background:#f6f6f6; }
.mx-meta { display:flex; justify-content:space-between; gap:10px; margin-bottom:10px; font-size:10pt; }
.mx-receipt { border-style:dashed; }
.mx-sign-row { display:flex; justify-content:space-between; margin-top:42px; }
.mx-sign-row div { width:190px; border-top:1px solid #333; text-align:center; padding-top:4px; font-size:9.5pt; }
@media print {
  .mx-tabs, .mx-print-bar { display:none!important; }
  .mx-sheet, .mx-slip { border-color:#999!important; box-shadow:none!important; }
  .mx-sheet { padding:0!important; border:0!important; max-width:none!important; }
  .mx-receipt { border:1px dashed #999!important; padding:6mm!important; margin-bottom:8mm!important; }
  .mx-sheet th, .mx-receipt tbody td:first-child, .mx-slip td:first-child { -webkit-print-color-adjust:exact; print-color-adjust:exact; }
}
[data-theme="dark"] .mx-tabs a { background:#22262f; color:#e4e6ea; }
[data-theme="dark"] .mx-tabs a.active { background:var(--brand); color:#fff; }
[data-theme="dark"] .mx-btn-light { background:#22262f!important; color:#e4e6ea!important; }

.mx-strong { font-weight:700; text-decoration:none; }
.mx-green { color:#168141; }
.mx-rowform { display:inline-flex; gap:6px; align-items:center; margin:0; flex-wrap:nowrap; }
.mx-rowform input, .mx-rowform select { min-height:34px; padding:5px 8px; font-size:.85rem; }
.mx-details > summary { cursor:pointer; list-style:none; }
.mx-details > summary h2 { display:inline; }
.mx-details > summary::before { content:'＋ '; color:var(--brand); font-weight:700; }
.mx-details[open] > summary::before { content:'− '; }
.mx-sheet h3 { font-size:11pt!important; margin:14px 0 6px!important; color:#111!important; }

.mx-red { color:#b3261e; }
.mx-sec { font-size:1rem!important; color:var(--brand-dark)!important; border-bottom:1px solid var(--line); padding-bottom:6px; margin:14px 0 6px!important; }
.mx-thumb { width:42px; height:42px; border-radius:50%; object-fit:cover; display:inline-grid; place-items:center; vertical-align:middle; }
.mx-thumb-empty { background:var(--brand-soft); color:var(--brand); font-weight:700; }
.mx-avatar { width:110px; height:130px; border-radius:14px; object-fit:cover; display:grid; place-items:center; font-size:2.6rem; }
.mx-profile-head { display:flex; gap:22px; align-items:flex-start; flex-wrap:wrap; }
.mx-dl { display:grid; grid-template-columns:max-content 1fr; gap:5px 16px; margin:10px 0; font-size:.92rem; }
.mx-dl dt { color:var(--muted); }
.mx-dl dd { margin:0; font-weight:600; }
.mx-story { background:var(--brand-soft); border-radius:10px; padding:10px 14px; font-size:.92rem; }
.mx-inlineform { display:flex; flex-wrap:wrap; gap:10px; align-items:end; margin-top:12px; padding:12px; border:1px dashed var(--line); border-radius:12px; background:#fafbfc; }
.mx-inlineform .field { margin:0; min-width:170px; }
.mx-bar { display:inline-block; width:70px; height:8px; border-radius:6px; background:#eef0f3; vertical-align:middle; overflow:hidden; }
.mx-bar i { display:block; height:100%; background:var(--brand); }

.mx-top { display:grid; grid-template-columns:1fr 34mm; gap:12px; align-items:start; }
.mx-photo-box { width:34mm; height:40mm; border:1px solid #666; display:grid; place-items:center; font-size:9pt; color:#666; overflow:hidden; }
.mx-photo-box img { width:100%; height:100%; object-fit:cover; }
.mx-dua { margin:14px 0 0; padding:8px 12px; border-left:3px solid #999; font-size:10pt; color:#333; }
.mx-sheet tbody td:first-child { width:36%; background:#f6f6f6; }
.mx-sheet thead + tbody td:first-child { width:auto; background:none; }
[data-theme="dark"] .mx-inlineform { background:#171a21; border-color:#2b2f38; }

/* ---- সাধারণ অতিরিক্ত (নতুন মডিউলসমূহ) ---- */
.mx-kv td:first-child { width:38%; background:#f6f6f6; }
.mx-sheet h2 { font-size:12pt!important; margin:12px 0 6px!important; color:#111!important; }
.mx-sheet p { margin:4px 0; }
.mx-cert { max-width:277mm; min-height:150mm; margin:0 auto 16px; padding:14mm 18mm; background:#fff; color:#111; border:10px double var(--brand); text-align:center; position:relative; }
.mx-cert h1 { font-size:22pt!important; margin:6px 0!important; color:var(--brand-dark)!important; }
.mx-cert .mx-cert-title { display:inline-block; margin:10px 0; padding:6px 26px; border-radius:30px; background:var(--brand); color:#fff; font-size:15pt; font-weight:700; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
.mx-cert .mx-cert-body { font-size:13pt; line-height:2; margin:16px auto; max-width:230mm; }
.mx-cert .mx-sign-row { margin-top:36px; }
.mx-cert .mx-cert-no { position:absolute; top:10mm; left:14mm; font-size:9pt; }
.mx-cert .mx-cert-date { position:absolute; top:10mm; right:14mm; font-size:9pt; }
.mx-arabic { font-family:'Amiri','Traditional Arabic','Scheherazade New',serif; font-size:1.25em; direction:rtl; unicode-bidi:isolate; }
.mx-note { background:var(--brand-soft); color:var(--brand-dark); border-radius:10px; padding:10px 14px; font-size:.9rem; margin:10px 0; }
.mx-warn { background:#fff3dc; color:#7a4a05; border-radius:10px; padding:10px 14px; font-size:.9rem; margin:10px 0; }
.mx-grid-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:14px; }
.mx-mini { border:1px solid var(--line); border-radius:12px; padding:12px 14px; background:#fff; }
.mx-mini h3 { margin:0 0 6px; font-size:1rem; }
.mx-mini p { margin:3px 0; font-size:.88rem; color:var(--muted); }
.mx-progress-grid { display:grid; grid-template-columns:repeat(10,1fr); gap:5px; }
.mx-progress-grid span { display:grid; place-items:center; height:30px; border-radius:7px; background:#eef0f3; font-size:.8rem; font-weight:700; color:#6b7480; }
.mx-progress-grid span.done { background:var(--brand); color:#fff; }
.mx-progress-grid span.cur { background:#ffc107; color:#2b2200; }
.mx-tablein input, .mx-tablein select { min-height:32px; padding:4px 7px; font-size:.85rem; }
.mx-right { text-align:right!important; }
.mx-total td, .mx-total th { font-weight:700; background:var(--brand-soft); }
[data-theme="dark"] .mx-mini { background:#171a21; border-color:#2b2f38; }
[data-theme="dark"] .mx-note { background:#22262f; color:#e4e6ea; }
@media print { .mx-cert { border-color:#555!important; } .mx-print-bar { display:none!important; } }
