/* =========================================================================
   School Management — Public / Portal / Notice Board / Admission
   Shares the same modern design language as the admin UI.
   ========================================================================= */

.sm-notice-board, .sm-result-lookup, .sm-portal-box, .sm-admission-box,
.sm-status-check-box, .sm-modal-card, .sm-result-sheet-public {
	--sm-primary: #4f46e5;
	--sm-primary-dark: #4338ca;
	--sm-accent: #7c3aed;
	--sm-success: #16a34a;
	--sm-success-bg: #ecfdf3;
	--sm-danger: #e11d48;
	--sm-danger-bg: #fef2f3;
	--sm-warning: #d97706;
	--sm-warning-bg: #fffaeb;
	--sm-text: #1e1b2e;
	--sm-text-muted: #6b7280;
	--sm-border: #e6e5f0;
	--sm-radius-sm: 8px;
	--sm-radius: 14px;
	--sm-radius-lg: 20px;
	--sm-shadow: 0 4px 16px rgba(30,27,46,0.07), 0 1px 3px rgba(30,27,46,0.05);
	--sm-shadow-lg: 0 14px 34px rgba(30,27,46,0.12);
	font-family: 'Hind Siliguri', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	color: var(--sm-text);
	box-sizing: border-box;
}
.sm-notice-board *, .sm-result-lookup *, .sm-portal-box *, .sm-admission-box *,
.sm-status-check-box *, .sm-modal-card *, .sm-result-sheet-public * { box-sizing: border-box; }

/* ---------- নোটিশ বোর্ড ---------- */
.sm-notice-board {
	border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius-lg);
	padding: 24px;
	background: #fff;
	max-width: 700px;
	margin: 20px 0;
	box-shadow: var(--sm-shadow);
}
.sm-notice-title {
	margin: -24px -24px 16px;
	padding: 18px 24px;
	border-radius: var(--sm-radius-lg) var(--sm-radius-lg) 0 0;
	background: linear-gradient(135deg, var(--sm-primary), var(--sm-accent));
	color: #fff;
	font-size: 18px;
}
.sm-notice-list { list-style: none; margin: 0; padding: 0; }
.sm-notice-item { padding: 14px 0; border-bottom: 1px solid var(--sm-border); }
.sm-notice-item:last-child { border-bottom: none; }
.sm-notice-date {
	display: inline-block; font-size: 11.5px; font-weight: 600; color: var(--sm-primary-dark);
	background: #eef2ff; padding: 3px 10px; border-radius: 999px; margin-bottom: 6px;
}
.sm-notice-item-title { display: block; font-size: 16px; font-weight: 700; margin-bottom: 4px; }
.sm-notice-content { color: #444; font-size: 14px; line-height: 1.6; }

/* ---------- রেজাল্ট লুকআপ ---------- */
.sm-result-lookup { max-width: 620px; margin: 20px 0; }
.sm-result-form { display: flex; gap: 10px; align-items: center; margin-bottom: 15px; flex-wrap: wrap; }
.sm-result-table { width: 100%; border-collapse: separate; border-spacing: 0; margin-top: 10px; border-radius: var(--sm-radius-sm); overflow: hidden; box-shadow: var(--sm-shadow); }
.sm-result-table th, .sm-result-table td { border-bottom: 1px solid var(--sm-border); padding: 10px 12px; text-align: left; }
.sm-result-table th { background: #faf9ff; font-size: 12px; text-transform: uppercase; letter-spacing: .03em; color: var(--sm-text-muted); }
.sm-error { color: var(--sm-danger); font-weight: 600; }

/* ---------- শিক্ষার্থী / শিক্ষক পোর্টাল ---------- */
.sm-portal-box { max-width: 940px; margin: 20px auto; }
.sm-portal-login {
	max-width: 400px;
	border-radius: var(--sm-radius-lg);
	padding: 32px;
	background: #fff;
	box-shadow: var(--sm-shadow-lg);
	border-top: 4px solid var(--sm-primary);
}
.sm-portal-login h3 { margin-top: 0; font-size: 20px; }
.sm-input {
	width: 100%; padding: 10px 14px;
	border: 1px solid var(--sm-border); border-radius: var(--sm-radius-sm);
	box-sizing: border-box; font-size: 14px; transition: border-color .15s, box-shadow .15s;
}
.sm-input:focus { outline: none; border-color: var(--sm-primary); box-shadow: 0 0 0 3px #eef2ff; }
.sm-btn {
	background: linear-gradient(135deg, var(--sm-primary), var(--sm-accent)) !important;
	color: #fff !important; border: none; padding: 11px 22px; border-radius: 999px;
	cursor: pointer; font-size: 14px; font-weight: 700;
	box-shadow: 0 4px 14px rgba(79,70,229,.3);
	transition: filter .15s, transform .1s;
	display: inline-block; text-decoration: none !important;
}
.sm-btn:hover, .sm-btn:focus, .sm-btn:visited, .sm-btn:active { color: #fff !important; filter: brightness(1.07); }
.sm-btn:active { transform: scale(.98); }
.sm-btn-outline {
	background: transparent !important; color: var(--sm-primary) !important;
	border: 1.5px solid var(--sm-primary); text-decoration: none !important;
	padding: 8px 16px; border-radius: 999px; font-size: 13px; font-weight: 600;
	transition: background .15s; display: inline-block;
}
.sm-btn-outline:hover, .sm-btn-outline:focus, .sm-btn-outline:visited { background: #eef2ff !important; color: var(--sm-primary) !important; }
.sm-portal-header {
	display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px;
	padding: 18px 22px;
	border-radius: var(--sm-radius);
	background: linear-gradient(135deg, var(--sm-primary), var(--sm-accent));
	color: #fff;
	margin-bottom: 20px;
}
.sm-portal-header h2 { margin: 0 0 4px; }
.sm-portal-header p { margin: 0; opacity: .9; font-size: 13px; }
.sm-portal-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
@media (max-width: 700px) { .sm-portal-grid { grid-template-columns: 1fr; } }
.sm-portal-card {
	border: 1px solid var(--sm-border); border-radius: var(--sm-radius);
	padding: 18px; background: #fff; box-shadow: var(--sm-shadow);
}
.sm-portal-card h3 { margin-top: 0; font-size: 15px; border-bottom: 1px solid var(--sm-border); padding-bottom: 10px; }
.sm-portal-table { width: 100%; border-collapse: collapse; margin-top: 8px; font-size: 13px; }
.sm-portal-table th, .sm-portal-table td { border-bottom: 1px solid var(--sm-border); padding: 8px 10px; text-align: left; }
.sm-ct-filter-form { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 16px; }
.sm-ct-filter-form label { font-weight: 600; font-size: 13px; }
.sm-ct-filter-form select, .sm-ct-filter-form input[type="date"], .sm-ct-filter-form input[type="text"] {
	padding: 8px 10px; border: 1px solid var(--sm-border); border-radius: var(--sm-radius-sm); font-size: 13px;
}
.sm-ct-filter-form select:focus, .sm-ct-filter-form input:focus { outline: none; border-color: var(--sm-primary); box-shadow: 0 0 0 3px #eef2ff; }
.sm-portal-notice { padding: 10px 0; border-bottom: 1px solid var(--sm-border); }
.sm-portal-notice-date { display: block; font-size: 11px; color: var(--sm-text-muted); }

/* ---------- Class Teacher Tools: sidebar-style menu (front-end teacher dashboard) ---------- */
.sm-ct-menu {
	list-style: none; margin: 0; padding: 0;
	border: 1px solid var(--sm-border); border-radius: var(--sm-radius);
	overflow: hidden; background: #fff;
}
.sm-ct-menu li { border-bottom: 1px solid var(--sm-border); }
.sm-ct-menu li:last-child { border-bottom: none; }
.sm-ct-menu a {
	display: flex; align-items: center; gap: 12px;
	padding: 13px 16px; font-size: 14px; font-weight: 600;
	color: var(--sm-text, #1f2937) !important; text-decoration: none !important;
	background: #fff !important; transition: background .12s, color .12s;
}
.sm-ct-menu a .sm-ct-menu-icon { font-size: 17px; flex: 0 0 20px; text-align: center; }
.sm-ct-menu a .sm-ct-menu-arrow { margin-left: auto; opacity: .45; font-size: 13px; }
.sm-ct-menu a:hover, .sm-ct-menu a:focus {
	background: linear-gradient(135deg, var(--sm-primary), var(--sm-accent)) !important;
	color: #fff !important;
}
.sm-ct-menu a:hover .sm-ct-menu-arrow, .sm-ct-menu a:focus .sm-ct-menu-arrow { opacity: .9; }

/* ---------- অনলাইন ভর্তি ফরম ---------- */
.sm-admission-box {
	max-width: 760px; margin: 20px auto; background: #fff;
	border-radius: var(--sm-radius-lg); padding: 32px;
	box-shadow: var(--sm-shadow-lg);
}
.sm-admission-box h2 {
	margin: -32px -32px 22px; padding: 22px 32px;
	border-radius: var(--sm-radius-lg) var(--sm-radius-lg) 0 0;
	background: linear-gradient(135deg, var(--sm-primary), var(--sm-accent));
	color: #fff; font-size: 20px;
}
.sm-admission-form .sm-form-row { margin-bottom: 16px; }
.sm-admission-form .sm-form-row-group { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
@media (max-width: 600px) { .sm-admission-form .sm-form-row-group { grid-template-columns: 1fr; } }
.sm-admission-form .sm-form-row-group .sm-form-row { margin-bottom: 0; }
.sm-admission-form label { display: block; margin-bottom: 6px; font-weight: 600; font-size: 13px; color: var(--sm-text); }
.sm-admission-form input[type="text"],
.sm-admission-form input[type="date"],
.sm-admission-form input[type="email"],
.sm-admission-form input[type="file"],
.sm-admission-form select,
.sm-admission-form textarea {
	width: 100%; padding: 10px 12px; border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius-sm); box-sizing: border-box; font-size: 14px;
	transition: border-color .15s, box-shadow .15s;
}
.sm-admission-form input:focus, .sm-admission-form select:focus, .sm-admission-form textarea:focus {
	outline: none; border-color: var(--sm-primary); box-shadow: 0 0 0 3px #eef2ff;
}
.sm-payment-section { background: #faf9ff; border: 1px solid var(--sm-border); border-radius: var(--sm-radius); padding: 16px; }
.sm-payment-methods { display: flex; gap: 20px; margin: 10px 0; flex-wrap: wrap; }
.sm-pay-option { font-weight: normal; display: flex; align-items: center; gap: 6px; }
.sm-pay-details { margin-top: 10px; padding: 12px; background: #fff; border-radius: var(--sm-radius-sm); border: 1px solid var(--sm-border); }

/* ---------- আবেদন ফরমের ছবি আপলোড + লাইভ প্রিভিউ (৩০০×৩০০) ---------- */
.sm-photo-upload-block { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.sm-photo-preview-box {
	width: 300px; height: 300px;
	border: 2px dashed #c7c4f0;
	border-radius: var(--sm-radius);
	background: #faf9ff;
	display: flex; align-items: center; justify-content: center;
	overflow: hidden; flex-shrink: 0;
	color: var(--sm-primary); font-size: 13px; text-align: center;
}
.sm-photo-preview-box img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 400px) {
	.sm-photo-preview-box { width: 100%; max-width: 300px; height: 260px; }
}

/* ---------- কনফার্মেশন/PDF ডকুমেন্টে আবেদনকারীর ছবি (৩০০×৩০০) ---------- */
.sm-confirm-photo-row { display: flex; justify-content: flex-end; margin-bottom: 16px; }
.sm-confirm-photo {
	width: 300px; height: 300px; object-fit: cover;
	border-radius: var(--sm-radius);
	border: 1px solid var(--sm-border);
	box-shadow: var(--sm-shadow);
}
.sm-pdf-target {
	background: #fff;
	max-width: 720px;
	margin: 0 auto;
	padding: 6px 4px;
}

/* ---------- PDF/কনফার্মেশনের উপরের অংশ — প্রতিষ্ঠানের নাম ও তথ্য ---------- */
.sm-pdf-header {
	display: flex;
	align-items: center;
	gap: 16px;
	border-bottom: 3px solid var(--sm-primary);
	padding-bottom: 16px;
	margin-bottom: 20px;
}
.sm-pdf-logo { width: 64px; height: 64px; object-fit: contain; flex-shrink: 0; }
.sm-pdf-header-text h1 { margin: 0 0 4px; font-size: 20px; color: var(--sm-text); }
.sm-pdf-header-text p { margin: 2px 0; font-size: 12.5px; color: var(--sm-text-muted); }

.sm-alert { padding: 13px 18px; border-radius: var(--sm-radius-sm); margin-bottom: 18px; font-size: 14px; font-weight: 500; }
.sm-alert-success { background: var(--sm-success-bg); color: #1a7d34; border: 1px solid #b8e6c1; }
.sm-alert-error { background: var(--sm-danger-bg); color: #a02128; border: 1px solid #f3c2c5; }

.sm-admission-confirmation { max-width: 620px; margin: 20px auto; text-align: center; }
.sm-app-id-box {
	display: inline-block;
	background: linear-gradient(135deg, var(--sm-primary), var(--sm-accent));
	color: #fff; font-size: 22px; font-weight: 800; letter-spacing: 1px;
	padding: 14px 28px; border-radius: var(--sm-radius); margin: 16px 0;
	box-shadow: 0 6px 18px rgba(79,70,229,.3);
}
.sm-confirm-table { width: 100%; border-collapse: collapse; margin: 20px 0; text-align: left; border-radius: var(--sm-radius-sm); overflow: hidden; }
.sm-confirm-table th, .sm-confirm-table td { border-bottom: 1px solid var(--sm-border); padding: 10px 14px; }
.sm-confirm-table th { background: #faf9ff; width: 40%; }

.sm-badge {
	display: inline-flex; align-items: center; gap: 5px;
	padding: 4px 12px; border-radius: 999px; font-size: 11.5px; font-weight: 700;
	background: #f1f0f8; color: var(--sm-text-muted);
}
.sm-badge::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.sm-badge-app-pending { background: var(--sm-warning-bg); color: var(--sm-warning); }
.sm-badge-app-approved { background: var(--sm-success-bg); color: var(--sm-success); }
.sm-badge-app-rejected { background: var(--sm-danger-bg); color: var(--sm-danger); }

.sm-approved-box {
	margin: 20px 0; border: 2px solid var(--sm-success); border-radius: var(--sm-radius);
	padding: 18px; background: var(--sm-success-bg); text-align: left;
}
.sm-approved-box h3 { margin-top: 0; color: #1a7d34; }

.sm-confirm-actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; margin-top: 22px; }

.sm-status-check-box {
	max-width: 520px; margin: 20px auto; background: #fff;
	border-radius: var(--sm-radius-lg); padding: 32px; box-shadow: var(--sm-shadow-lg); text-align: center;
}
.sm-status-check-box h2 { margin-top: 0; }
.sm-status-check-sub { color: var(--sm-text-muted); font-size: 13px; margin-top: -8px; }
.sm-status-form { text-align: left; margin-top: 18px; }
.sm-status-form .sm-form-row { margin-bottom: 16px; }
.sm-status-form label { display: block; margin-bottom: 6px; font-weight: 600; font-size: 13px; color: var(--sm-text); }
.sm-status-form input {
	width: 100%; padding: 10px 12px; border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius-sm); box-sizing: border-box; font-size: 14px;
}
.sm-status-form .sm-btn { width: 100%; padding: 12px; }
.sm-status-check-box .sm-admission-confirmation { text-align: left; margin: 20px 0 0; }

/* ---------- Submit Success পপ-আপ (মোডাল) ---------- */
.sm-modal-overlay {
	position: fixed; inset: 0; background: rgba(20,20,35,0.65);
	display: flex; align-items: center; justify-content: center;
	z-index: 99999; padding: 20px; box-sizing: border-box; backdrop-filter: blur(2px);
}
.sm-modal-card {
	position: relative; background: #fff; border-radius: var(--sm-radius-lg);
	max-width: 640px; width: 100%; max-height: 90vh; overflow-y: auto;
	padding: 32px 28px 26px; box-shadow: 0 20px 60px rgba(0,0,0,.3);
	animation: sm-modal-pop 0.2s ease-out;
}
@keyframes sm-modal-pop { from { transform: scale(0.94); opacity: 0; } to { transform: scale(1); opacity: 1; } }
.sm-modal-close {
	position: absolute; top: 14px; right: 16px; background: #f1f0f8; border: none;
	width: 32px; height: 32px; border-radius: 50%; font-size: 15px; cursor: pointer;
	color: #555; line-height: 1; transition: background .15s;
}
.sm-modal-close:hover { background: #e2e2f0; }
.sm-modal-card .sm-admission-confirmation { margin: 0; }

/* ---------- Public Result Sheet ([sm_result_sheet]) ---------- */
.sm-result-sheet-public { max-width: 820px; margin: 20px auto; }
.sm-result-sheet-public .sm-rs-search-form .sm-form-row-group { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
@media (max-width: 600px) { .sm-result-sheet-public .sm-rs-search-form .sm-form-row-group { grid-template-columns: 1fr; } }
.sm-result-sheet-public .sm-rs-search-form label { display: block; margin-bottom: 6px; font-weight: 600; font-size: 13px; color: var(--sm-text); }
.sm-result-sheet-public .sm-rs-search-form select,
.sm-result-sheet-public .sm-rs-search-form input[type="text"] {
	width: 100%; padding: 10px 12px; border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius-sm); box-sizing: border-box; font-size: 14px;
}
.sm-result-sheet-public .sm-rs-search-form select:focus,
.sm-result-sheet-public .sm-rs-search-form input:focus {
	outline: none; border-color: var(--sm-primary); box-shadow: 0 0 0 3px #eef2ff;
}

.sm-rs-public-wrap { margin-top: 20px; }
.sm-result-sheet {
	background: #fff;
	max-width: 780px;
	margin: 0 auto;
}
.sm-rs-header {
	display: flex; align-items: center; gap: 16px;
	border-bottom: 3px solid var(--sm-primary);
	padding-bottom: 16px; margin-bottom: 18px;
}
.sm-rs-logo { width: 60px; height: 60px; object-fit: contain; flex-shrink: 0; }
.sm-rs-header-text h1 { margin: 0 0 4px; font-size: 19px; }
.sm-rs-header-text p { margin: 2px 0; font-size: 12.5px; color: var(--sm-text-muted); }
.sm-rs-title { text-align: center; font-size: 16px; text-decoration: underline; margin: 4px 0 20px; }
.sm-rs-subtitle { font-size: 14px; margin: 22px 0 10px; border-bottom: 2px solid var(--sm-primary); display: inline-block; padding-bottom: 4px; }

.sm-rs-info-table { width: 100%; border-collapse: collapse; font-size: 13px; margin-bottom: 6px; }
.sm-rs-info-table th, .sm-rs-info-table td { border: 1px solid var(--sm-border); padding: 8px 12px; text-align: left; }
.sm-rs-info-table th { background: #faf9ff; width: 18%; font-weight: 700; }
.sm-rs-info-table td { width: 32%; }

.sm-rs-marks-table { width: 100%; border-collapse: collapse; font-size: 13px; margin-top: 6px; }
.sm-rs-marks-table th, .sm-rs-marks-table td { border: 1px solid var(--sm-border); padding: 9px 12px; text-align: left; }
.sm-rs-marks-table thead th { background: #eef2ff; color: var(--sm-primary-dark); text-transform: uppercase; font-size: 11px; letter-spacing: .03em; }
.sm-rs-marks-table tbody tr:nth-child(odd) { background: #fbfbfe; }

.sm-rs-summary {
	display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px;
	margin-top: 20px; padding: 14px 18px;
	background: #faf9ff; border-radius: var(--sm-radius-sm); border: 1px solid var(--sm-border);
	font-size: 14px;
}
.sm-rs-pass { color: var(--sm-success); font-weight: 800; }
.sm-rs-fail { color: var(--sm-danger); font-weight: 800; }
.sm-rs-footer {
	margin-top: 26px; padding-top: 12px; border-top: 1px solid var(--sm-border);
	font-size: 11px; color: var(--sm-text-muted); text-align: center;
}
.sm-pivot-absent-row { background: var(--sm-danger-bg); }

/* ---------- Result Sheet — school header centered ---------- */
.sm-rs-header.sm-rs-header-centered { flex-direction: column; text-align: center; align-items: center; }
.sm-rs-header.sm-rs-header-centered .sm-rs-logo { margin-bottom: 6px; }

/* ---------- Result Sheet — principal signature ---------- */
.sm-rs-signature-row { display: flex; justify-content: flex-end; margin-top: 40px; }
.sm-rs-signature-box { text-align: center; width: 220px; }
.sm-rs-signature-box img { max-width: 180px; max-height: 60px; margin-bottom: 4px; }
.sm-rs-signature-line { border-top: 1px solid var(--sm-text); margin-top: 4px; padding-top: 4px; font-size: 12px; }
.sm-rs-signature-name { font-weight: 700; font-size: 12.5px; }
.sm-rs-signature-title { font-size: 11px; color: var(--sm-text-muted); }

/* ---------- ID Card — PORTRAIT / reference design ---------- */
:root {
  --sm-idcard-navy:#0b326b;
  --sm-idcard-navy2:#174a8e;
  --sm-idcard-gold:#f4b51b;
  --sm-idcard-ink:#101b2e;
  --sm-idcard-muted:#66758d;
  --sm-idcard-paper:#fff;
}

.sm-idcard-wrap{
  width:max-content;
  display:flex;
  flex-wrap:nowrap;
  align-items:flex-start;
  justify-content:center;
  gap:9mm;
  margin:24px auto;
  padding:8px;
  box-sizing:border-box;
  background:transparent;
}

/* Exact portrait CR80 / ID-1 artwork: 54 × 85.6 mm. */
.sm-idcard-face{
  width:54mm!important;
  height:85.6mm!important;
  min-width:54mm!important;
  min-height:85.6mm!important;
  max-width:54mm!important;
  max-height:85.6mm!important;
  aspect-ratio:54/85.6;
  position:relative;
  overflow:hidden;
  box-sizing:border-box;
  border-radius:3.8mm;
  background:#fff;
  color:var(--sm-idcard-ink);
  font-family:Inter,Arial,"Noto Sans",sans-serif;
  -webkit-print-color-adjust:exact;
  print-color-adjust:exact;
  box-shadow:0 8px 24px rgba(11,50,107,.18);
}
.sm-idcard-face:before{content:"";position:absolute;inset:0;border:.35mm solid rgba(11,50,107,.13);border-radius:3.8mm;pointer-events:none;z-index:20}

/* FRONT */
.sm-idcard-front{background:#fff}
.sm-idcard-front::after{
  content:"";position:absolute;left:-10mm;right:-10mm;top:20mm;height:23mm;
  background:#fff;border-radius:50% 50% 0 0/55% 55% 0 0;
  border-top:1.05mm solid var(--sm-idcard-gold);
  box-shadow:0 -2mm 0 rgba(10,48,105,.85);
  z-index:1;
}
.sm-idcard-front-head{
  position:relative;height:29.2mm;background:linear-gradient(145deg,#082d63 0%,#0d3978 62%,#194f92 100%);overflow:hidden;z-index:0;
}
.sm-idcard-front-head::before{
  content:"";position:absolute;left:-12mm;right:-12mm;bottom:-17mm;height:30mm;
  background:rgba(255,255,255,.04);border-radius:50%;transform:rotate(-3deg);
}
.sm-idcard-front-head::after{
  content:"";position:absolute;right:-15mm;top:-17mm;width:45mm;height:35mm;border-radius:50%;border:1.4mm solid rgba(244,181,27,.2);
}
.sm-idcard-brand{position:relative;z-index:3;display:flex;align-items:flex-start;gap:2.4mm;padding:4mm 3.6mm 0;box-sizing:border-box}
.sm-idcard-logo,.sm-idcard-logo-fallback{width:11.2mm;height:11.2mm;min-width:11.2mm;border-radius:50%;box-sizing:border-box}
.sm-idcard-logo{object-fit:contain;background:#fff;padding:.65mm;border:1px solid rgba(255,255,255,.75)}
.sm-idcard-logo-fallback{display:flex;align-items:center;justify-content:center;background:#fff;color:var(--sm-idcard-navy);font-weight:900;font-size:4.8mm}
.sm-idcard-brand-copy{min-width:0;padding-top:.3mm}
.sm-idcard-school-name{color:#fff;font-size:3.15mm;line-height:1.08;font-weight:900;text-transform:uppercase;letter-spacing:.05mm;max-height:11.2mm;overflow:hidden}
.sm-idcard-tagline{margin-top:1.1mm;color:var(--sm-idcard-gold);font-size:1.7mm;line-height:1.1;font-weight:700;max-height:4mm;overflow:hidden}
.sm-idcard-head-wave{position:absolute;left:-6mm;right:-6mm;bottom:-12mm;height:18mm;background:#fff;border-radius:50% 50% 0 0/100% 100% 0 0;border-top:1mm solid var(--sm-idcard-gold);z-index:2}

.sm-idcard-photo-wrap{position:absolute;z-index:6;top:17.7mm;left:0;right:0;display:flex;justify-content:center}
.sm-idcard-photo{width:24mm;height:24mm;border-radius:50%;overflow:hidden;background:#eef3fb;border:1.05mm solid #fff;outline:.45mm solid var(--sm-idcard-navy);box-shadow:0 1.8mm 4mm rgba(11,45,92,.28);display:flex;align-items:center;justify-content:center;color:var(--sm-idcard-navy);font-size:2.2mm;font-weight:800}
.sm-idcard-photo img{width:100%;height:100%;object-fit:cover}
.sm-idcard-title-pill{position:absolute;top:40.2mm;left:50%;transform:translateX(-50%);z-index:7;background:linear-gradient(180deg,#154d90,#0b326b);color:#fff;padding:1.35mm 3.7mm 1.25mm;border-radius:99px;font-size:2.25mm;line-height:1;font-weight:900;letter-spacing:.06mm;white-space:nowrap;box-shadow:0 1mm 2.2mm rgba(11,45,92,.2)}

.sm-idcard-details{position:absolute;left:4.2mm;right:3.8mm;top:46.8mm;z-index:8}
.sm-idcard-row{display:flex;align-items:center;gap:.8mm;margin:0 0 1.55mm;font-size:1.9mm;line-height:1.05;min-height:4mm}
.sm-idcard-icon{width:4.3mm;height:4.3mm;min-width:4.3mm;border-radius:1.15mm;background:linear-gradient(180deg,#174a8e,#0b326b);color:#fff;display:flex;align-items:center;justify-content:center;font-size:2mm;font-weight:900;box-shadow:0 .5mm 1mm rgba(11,45,92,.14)}
.sm-idcard-label{width:18.8mm;flex:0 0 18.8mm;font-weight:800;color:#111b2c;white-space:nowrap}
.sm-idcard-colon{flex:0 0 1mm;font-weight:800;color:#111b2c}
.sm-idcard-value{min-width:0;flex:1;color:#3e4a5e;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sm-idcard-front-footer{position:absolute;left:0;right:0;bottom:0;height:7.3mm;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#0e3d7b,#082d63);color:#fff;font-size:2.15mm;font-weight:800;letter-spacing:.08mm;z-index:9}
.sm-idcard-front-footer::before{content:"";position:absolute;left:0;top:0;width:100%;height:.8mm;background:var(--sm-idcard-gold)}
.sm-idcard-front-footer::after{content:"";position:absolute;left:-8mm;right:-8mm;bottom:-10mm;height:15mm;border-radius:50%;border-top:1mm solid rgba(244,181,27,.9);transform:rotate(-1deg)}

/* BACK */
.sm-idcard-back{background:#fff}
.sm-idcard-back::before{content:"";position:absolute;left:0;right:0;top:0;height:15mm;background:linear-gradient(145deg,#082d63,#174a8e);z-index:0}
.sm-idcard-back-head{position:relative;z-index:2;height:15mm;display:flex;align-items:center;justify-content:center;gap:1.5mm}
.sm-idcard-back-title{position:relative;background:var(--sm-idcard-gold);color:#0b326b;font-size:2.5mm;font-weight:900;padding:1.55mm 4mm;min-width:34mm;text-align:center;clip-path:polygon(4% 0,96% 0,100% 50%,96% 100%,4% 100%,0 50%);white-space:nowrap}
.sm-idcard-head-line{width:6mm;height:.55mm;background:var(--sm-idcard-gold);border-radius:99px}
.sm-idcard-head-line:first-child{margin-right:-1mm}.sm-idcard-head-line:last-child{margin-left:-1mm}

.sm-idcard-terms-list{position:absolute;top:17mm;left:4mm;right:3.5mm;margin:0;padding:0;list-style:none}
.sm-idcard-terms-list li{position:relative;padding-left:4.6mm;margin:0 0 2.25mm;font-size:1.82mm;line-height:1.32;color:#27364b}
.sm-idcard-terms-list li::before{content:"✓";position:absolute;left:0;top:-.05mm;width:3.1mm;height:3.1mm;border-radius:50%;background:#0b326b;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.6mm;font-weight:900}
.sm-idcard-back-info{position:absolute;left:4mm;right:3.8mm;top:43.2mm;border-top:.32mm dashed #6d7b91;padding-top:2.4mm}
.sm-idcard-contact-row{display:grid;grid-template-columns:4.2mm 13mm 1.1mm 1fr;gap:.8mm;align-items:center;margin-bottom:1.45mm;font-size:1.8mm;line-height:1.1}
.sm-idcard-contact-icon{width:4.2mm;height:4.2mm;display:flex;align-items:center;justify-content:center;border-radius:1.1mm;background:#0b326b;color:#fff;font-size:2mm;font-weight:900}
.sm-idcard-contact-row strong{color:#111b2c}.sm-idcard-contact-row>span:last-child{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#43536b}

.sm-idcard-authority{position:absolute;left:4mm;right:4mm;top:58.5mm;text-align:center;z-index:3}
.sm-idcard-authority-signature-slot{height:7.5mm;display:flex;align-items:flex-end;justify-content:center}
.sm-idcard-authority-signature{display:block;max-width:27mm;max-height:7mm;width:auto;height:auto;object-fit:contain;margin:0 auto}
.sm-idcard-authority-line{border-top:.3mm solid #5c6778;margin:0 auto 1mm;width:31mm}
.sm-idcard-authority-name{font-size:2.2mm;font-weight:900;color:#0b326b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sm-idcard-authority-designation{font-size:1.9mm;color:#27364b;font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sm-idcard-authority-designation span{font-style:normal}

.sm-idcard-back-footer{position:absolute;left:0;right:0;bottom:0;height:16mm;background:linear-gradient(160deg,#0a316a,#174a8e);border-top:.8mm solid var(--sm-idcard-gold);display:flex;align-items:center;justify-content:space-between;padding:1.5mm 3.5mm 2.7mm;box-sizing:border-box;z-index:4;overflow:hidden}
.sm-idcard-back-footer::before{content:"";position:absolute;left:-8mm;right:-8mm;top:-8mm;height:12mm;background:rgba(255,255,255,.08);border-radius:50%}
.sm-idcard-back-footer::after{content:"";position:absolute;left:-12mm;right:-12mm;top:-5mm;height:9mm;border-radius:50%;border-top:1mm solid var(--sm-idcard-gold);opacity:.9}
.sm-idcard-qr-wrap{width:13mm;height:13mm;background:#fff;border:1mm solid #fff;border-radius:1.7mm;padding:.75mm;box-sizing:border-box;position:absolute;z-index:7;left:50%;top:-2.2mm;transform:translateX(-50%);box-shadow:0 1mm 2mm rgba(0,0,0,.18)}
.sm-idcard-qr{display:block;width:100%;height:100%;object-fit:contain}
.sm-idcard-footer-left,.sm-idcard-footer-right{position:absolute;bottom:3mm;z-index:7;color:#fff;font-size:1.55mm;line-height:1.1;max-width:18mm;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sm-idcard-footer-left{left:3mm}.sm-idcard-footer-right{right:3mm;text-align:right}
.sm-idcard-footer-text{position:absolute;left:2.5mm;right:2.5mm;bottom:.65mm;z-index:8;color:rgba(255,255,255,.96);text-align:center;font-size:1.35mm;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

@media(max-width:760px){.sm-idcard-wrap{gap:5mm;transform-origin:top center;transform:scale(.9);margin-bottom:-8mm}}


/* Teacher Dashboard print isolation: only the selected document is printable. */
@media print {
  @page { size: A4 portrait; margin: 0; }
  html, body { margin:0 !important; padding:0 !important; background:#fff !important; }
  body.sm-printing * { visibility:hidden !important; }
  body.sm-printing [data-sm-print-target="1"],
  body.sm-printing [data-sm-print-target="1"] * { visibility:visible !important; }
  body.sm-printing [data-sm-print-target="1"] {
    position:absolute !important;
    left:0 !important;
    top:0 !important;
    margin:0 !important;
    box-shadow:none !important;
  }
  body.sm-printing .sm-no-print { display:none !important; }
  body.sm-printing #sm-ct-attendance-print { width:100% !important; max-width:none !important; }
  body.sm-printing #sm-idcard-target { margin:0 auto !important; }
  body.sm-printing #sm-admit-card-target { margin:0 auto !important; }
  body.sm-printing .sm-result-sheet { margin:0 auto !important; max-width:none !important; box-shadow:none !important; }
}

@media print{
  /* Artwork remains portrait. Only the sheet is landscape so front/back sit side-by-side. */
  @page{size:A4 landscape;margin:10mm}
  html,body{background:#fff!important}
  .sm-idcard-wrap{width:117mm;height:85.6mm;margin:0 auto!important;padding:0!important;gap:9mm;box-shadow:none!important;transform:none!important;break-inside:avoid;page-break-inside:avoid}
  .sm-idcard-face{box-shadow:none!important;break-inside:avoid;page-break-inside:avoid}
  .sm-no-print{display:none!important}
}

/* ---------- Admit Card (rendered inside Teacher Portal) ---------- */
.sm-admit-card-wrap { display: flex; justify-content: center; margin-top: 20px; }
.sm-admit-card {
	width: 100%; max-width: 620px; background: #fff;
	border-radius: var(--sm-radius); padding: 26px;
	box-shadow: var(--sm-shadow-lg);
}
.sm-admit-body { display: flex; gap: 18px; margin-bottom: 6px; }
.sm-admit-photo {
	width: 90px; height: 105px;
	background: #eef2ff; border-radius: var(--sm-radius-sm);
	display: flex; align-items: center; justify-content: center;
	flex-shrink: 0; color: var(--sm-primary); font-size: 12px; overflow: hidden;
}
.sm-admit-photo img { width: 100%; height: 100%; object-fit: cover; }
.sm-admit-info-table { flex: 1; }
.sm-admit-signatures { display: flex; justify-content: space-between; margin-top: 50px; }

@media print {
	.sm-result-sheet { box-shadow: none; border: none; margin: 0; max-width: 100%; }
	.sm-idcard-wrap { margin: 0; }
	.sm-idcard-face { box-shadow: none; }
	.sm-admit-card { box-shadow: none; border: 1px solid #000; }
	.sm-no-print { display: none !important; }
}

/* ID Card portrait final overrides */
.sm-idcard-face { width:54mm !important; height:85.6mm !important; min-width:54mm !important; min-height:85.6mm !important; max-width:54mm !important; max-height:85.6mm !important; }
.sm-idcard-authority-signature-slot { height:7mm; display:flex; align-items:flex-end; justify-content:center; }
.sm-idcard-authority-signature { max-width:26mm !important; max-height:6.5mm !important; margin:0 auto !important; }
.sm-rs-signature-slot { height:12mm; display:flex; align-items:flex-end; justify-content:center; }
.sm-rs-signature-slot img { max-width:180px; max-height:60px; width:auto; height:auto; object-fit:contain; }


/* =========================================================
   ID CARD v3.1.0 — fixed portrait 54 × 85.6 mm
   Information slots stay fixed even when a value is missing.
========================================================= */
.sm-idcard-face{
  width:54mm!important;height:85.6mm!important;
  min-width:54mm!important;min-height:85.6mm!important;
  max-width:54mm!important;max-height:85.6mm!important;
  box-sizing:border-box!important;overflow:hidden!important;
}
.sm-idcard-back-info{
  left:4mm!important;right:3.8mm!important;top:42.8mm!important;
  height:18.8mm!important;padding-top:2mm!important;
  overflow:hidden!important;box-sizing:border-box!important;
}
.sm-idcard-contact-row{
  display:grid!important;
  grid-template-columns:4.2mm 13.5mm 1.1mm minmax(0,1fr)!important;
  gap:.7mm!important;
  height:4.35mm!important;min-height:4.35mm!important;max-height:4.35mm!important;
  margin:0!important;align-items:center!important;
  font-size:1.7mm!important;line-height:1!important;
  box-sizing:border-box!important;
}
.sm-idcard-contact-icon{width:4.2mm!important;height:4.2mm!important;}
.sm-idcard-contact-value{
  min-width:0!important;display:block!important;color:#43536b!important;
  font-weight:600!important;overflow:hidden!important;text-overflow:clip!important;
  white-space:nowrap!important;
}
.sm-idcard-address-value{white-space:normal!important;line-height:1.05!important;max-height:3.8mm!important;}
.sm-idcard-authority{
  left:4mm!important;right:4mm!important;top:61.8mm!important;
  height:10.8mm!important;overflow:hidden!important;text-align:center!important;z-index:5!important;
}
.sm-idcard-authority-signature-slot{
  height:5.2mm!important;min-height:5.2mm!important;
  display:flex!important;align-items:flex-end!important;justify-content:center!important;
}
.sm-idcard-authority-signature{
  max-width:25mm!important;max-height:4.8mm!important;width:auto!important;height:auto!important;
  object-fit:contain!important;margin:0 auto!important;
}
.sm-idcard-authority-line{width:29mm!important;margin:0 auto .55mm!important;}
.sm-idcard-authority-name{font-size:2mm!important;line-height:2.2mm!important;min-height:2.2mm!important;}
.sm-idcard-authority-designation{font-size:1.7mm!important;line-height:1.9mm!important;min-height:1.9mm!important;}
.sm-idcard-back-footer{
  left:0!important;right:0!important;bottom:0!important;height:13.5mm!important;
  padding:0!important;display:block!important;overflow:hidden!important;z-index:8!important;
}
.sm-idcard-qr-wrap{
  width:9.5mm!important;height:9.5mm!important;
  left:50%!important;top:.7mm!important;transform:translateX(-50%)!important;
  padding:.65mm!important;z-index:10!important;
}
.sm-idcard-footer-left,.sm-idcard-footer-right{
  position:absolute!important;bottom:1.1mm!important;z-index:11!important;
  width:20mm!important;max-width:20mm!important;
  color:#fff!important;font-size:1.25mm!important;line-height:1.05!important;
  white-space:normal!important;overflow:hidden!important;text-overflow:clip!important;
}
.sm-idcard-footer-left{left:2.5mm!important;text-align:left!important;}
.sm-idcard-footer-right{right:2.5mm!important;text-align:right!important;}
.sm-idcard-footer-left span,.sm-idcard-footer-right span{display:block!important;}
.sm-idcard-footer-text{
  position:absolute!important;left:23mm!important;right:23mm!important;bottom:1mm!important;
  z-index:11!important;color:rgba(255,255,255,.96)!important;
  text-align:center!important;font-size:1.05mm!important;line-height:1.05!important;
  white-space:normal!important;max-height:2.5mm!important;overflow:hidden!important;
}
@media print{
  @page{size:A4 landscape;margin:8mm;}
  .sm-idcard-wrap{
    width:116mm!important;height:85.6mm!important;display:flex!important;
    flex-direction:row!important;flex-wrap:nowrap!important;gap:8mm!important;
    margin:0 auto!important;padding:0!important;transform:none!important;
    overflow:visible!important;break-inside:avoid!important;page-break-inside:avoid!important;
  }
  .sm-idcard-face{flex:0 0 54mm!important;box-shadow:none!important;}
}


/* =========================================================
   ID CARD v3.3.0 — final pixel-safe portrait layout
   Back information rows, authority block and footer are isolated
   into fixed slots so missing/long data cannot move other elements.
========================================================= */
.sm-idcard-face{
  width:54mm!important;height:85.6mm!important;
  min-width:54mm!important;min-height:85.6mm!important;
  max-width:54mm!important;max-height:85.6mm!important;
  box-sizing:border-box!important;overflow:hidden!important;
  position:relative!important;
}

/* BACK: four fixed information rows */
.sm-idcard-back-info{
  position:absolute!important;
  left:4mm!important;right:4mm!important;top:42mm!important;
  height:19mm!important;margin:0!important;padding:1.8mm 0 0!important;
  border-top:.3mm dashed #9eabc0!important;
  box-sizing:border-box!important;overflow:hidden!important;
  z-index:4!important;
}
.sm-idcard-contact-row{
  display:grid!important;
  grid-template-columns:4mm 15mm 1.2mm minmax(0,1fr)!important;
  gap:.7mm!important;
  width:100%!important;
  height:4.3mm!important;min-height:4.3mm!important;max-height:4.3mm!important;
  margin:0!important;padding:0!important;
  align-items:center!important;box-sizing:border-box!important;
  font-size:1.45mm!important;line-height:1!important;
}
.sm-idcard-contact-icon{
  width:4mm!important;height:4mm!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  font-size:1.65mm!important;
}
.sm-idcard-contact-row strong{
  min-width:0!important;width:100%!important;
  font-size:1.35mm!important;line-height:1!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important;
}
.sm-idcard-contact-value{
  min-width:0!important;width:100%!important;display:block!important;
  color:#43536b!important;font-weight:600!important;
  overflow:hidden!important;text-overflow:clip!important;
  white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important;
  line-height:1.05!important;max-height:3.7mm!important;
}
.sm-idcard-email-value{
  white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-all!important;
}
.sm-idcard-address-value{
  white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important;
}

/* Authority block: always occupies the same space, even without a signature. */
.sm-idcard-authority{
  position:absolute!important;
  left:4mm!important;right:4mm!important;top:62mm!important;
  width:auto!important;height:9.4mm!important;margin:0!important;
  text-align:center!important;overflow:hidden!important;z-index:5!important;
}
.sm-idcard-authority-signature-slot{
  width:100%!important;height:4.5mm!important;min-height:4.5mm!important;
  display:flex!important;align-items:flex-end!important;justify-content:center!important;
}
.sm-idcard-authority-signature{
  max-width:24mm!important;max-height:4.2mm!important;
  width:auto!important;height:auto!important;object-fit:contain!important;margin:0 auto!important;
}
.sm-idcard-authority-line{
  width:28mm!important;height:0!important;
  border-top:.25mm solid #6d7787!important;margin:0 auto .35mm!important;
}
.sm-idcard-authority-name{
  display:block!important;width:100%!important;height:2.15mm!important;
  line-height:2.15mm!important;font-size:1.8mm!important;font-weight:900!important;
  color:var(--sm-idcard-navy,#0b326b)!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
}
.sm-idcard-authority-designation{
  display:block!important;width:100%!important;height:1.9mm!important;
  line-height:1.9mm!important;font-size:1.55mm!important;color:#60708a!important;
  font-style:italic!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
}

/* BACK FOOTER: QR is centered in its own column; contact text is below it. */
.sm-idcard-back-footer{
  position:absolute!important;left:0!important;right:0!important;bottom:0!important;
  width:100%!important;height:13.5mm!important;margin:0!important;padding:0!important;
  display:block!important;overflow:hidden!important;z-index:8!important;
}
.sm-idcard-qr-wrap{
  position:absolute!important;left:50%!important;top:.7mm!important;
  transform:translateX(-50%)!important;
  width:9.5mm!important;height:9.5mm!important;
  padding:.65mm!important;box-sizing:border-box!important;
  z-index:10!important;background:#fff!important;
}
.sm-idcard-qr{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;}
.sm-idcard-back-footer .sm-idcard-footer-left,
.sm-idcard-back-footer .sm-idcard-footer-right{
  position:absolute!important;top:9.6mm!important;bottom:auto!important;
  width:18.5mm!important;max-width:18.5mm!important;min-width:0!important;
  margin:0!important;padding:0!important;
  color:#fff!important;font-size:.92mm!important;line-height:1.12!important;
  white-space:normal!important;overflow:hidden!important;text-overflow:clip!important;
  z-index:11!important;
}
.sm-idcard-footer-left{left:2mm!important;text-align:left!important;}
.sm-idcard-footer-right{right:2mm!important;text-align:right!important;}
.sm-idcard-footer-left span,.sm-idcard-footer-right span{
  display:block!important;white-space:normal!important;
  overflow-wrap:anywhere!important;word-break:break-word!important;
  max-height:2.1mm!important;overflow:hidden!important;
}
.sm-idcard-footer-text{
  position:absolute!important;left:20.5mm!important;right:20.5mm!important;
  bottom:.55mm!important;height:1.65mm!important;max-height:1.65mm!important;
  margin:0!important;padding:0!important;
  color:rgba(255,255,255,.98)!important;text-align:center!important;
  font-size:.78mm!important;line-height:.82mm!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  z-index:12!important;
}

/* Exact print geometry: two 54 × 85.6 mm portrait cards side-by-side. */
@page sm-idcard-page{size:A4 landscape;margin:8mm;}
@media print{
  .sm-idcard-wrap{
    width:116mm!important;height:85.6mm!important;
    display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;
    gap:8mm!important;margin:0 auto!important;padding:0!important;
    transform:none!important;overflow:visible!important;
    break-inside:avoid!important;page-break-inside:avoid!important;
  }
  .sm-idcard-face{
    width:54mm!important;height:85.6mm!important;
    min-width:54mm!important;min-height:85.6mm!important;
    max-width:54mm!important;max-height:85.6mm!important;
    flex:0 0 54mm!important;box-shadow:none!important;
  }
}


/* =========================================================
   ID CARD v3.4.0 — tagline + back footer refinement
   Requested visual correction:
   - Tagline uses a separate light-blue/white tone instead of the gold design color.
   - Back footer uses three isolated zones: left contact, centered QR, right contact.
   - Footer notice occupies its own bottom strip and never overlaps QR/contact.
   - Card remains exactly 54 × 85.6 mm portrait.
========================================================= */
.sm-idcard-tagline{
  color:#dce9f8!important;
  font-size:2.05mm!important;
  line-height:1.05!important;
  font-weight:700!important;
  font-style:italic!important;
  letter-spacing:.03mm!important;
  text-shadow:0 .15mm .35mm rgba(0,0,0,.18)!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.sm-idcard-back-footer{
  left:0!important;right:0!important;bottom:0!important;
  width:100%!important;height:14mm!important;
  padding:0!important;margin:0!important;
  display:block!important;overflow:hidden!important;
  box-sizing:border-box!important;
  border-top:.8mm solid var(--sm-idcard-gold,#f6b51b)!important;
  z-index:8!important;
}

/* Keep the decorative curve behind the footer content and away from the notice. */
.sm-idcard-back-footer::after{
  width:43mm!important;
  height:12mm!important;
  right:-14mm!important;
  bottom:-9mm!important;
  border-width:2.4mm!important;
  z-index:0!important;
}

/* Center QR: fixed independent slot. */
.sm-idcard-qr-wrap{
  position:absolute!important;
  left:50%!important;
  top:1mm!important;
  transform:translateX(-50%)!important;
  width:9.2mm!important;
  height:9.2mm!important;
  padding:.65mm!important;
  margin:0!important;
  box-sizing:border-box!important;
  background:#fff!important;
  border:1mm solid #fff!important;
  border-radius:1.6mm!important;
  z-index:10!important;
  box-shadow:0 .8mm 1.8mm rgba(0,0,0,.15)!important;
}
.sm-idcard-qr{
  display:block!important;width:100%!important;height:100%!important;
  object-fit:contain!important;
}

/* Left/right contact zones sit beside the QR, not underneath it. */
.sm-idcard-back-footer .sm-idcard-footer-left,
.sm-idcard-back-footer .sm-idcard-footer-right{
  position:absolute!important;
  top:2.25mm!important;
  bottom:auto!important;
  width:19mm!important;
  max-width:19mm!important;
  min-width:0!important;
  min-height:5.4mm!important;
  max-height:5.4mm!important;
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  font-size:1.05mm!important;
  line-height:1.28!important;
  font-weight:600!important;
  white-space:normal!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  z-index:11!important;
  display:block!important;
}
.sm-idcard-footer-left{left:2.2mm!important;text-align:left!important;}
.sm-idcard-footer-right{right:2.2mm!important;text-align:right!important;}
.sm-idcard-footer-left span,
.sm-idcard-footer-right span{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  max-height:2.7mm!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}

/* Bottom notice gets its own full-width strip. */
.sm-idcard-footer-text{
  position:absolute!important;
  left:3mm!important;
  right:3mm!important;
  bottom:.65mm!important;
  width:auto!important;
  height:1.8mm!important;
  max-height:1.8mm!important;
  margin:0!important;
  padding:0!important;
  color:rgba(255,255,255,.98)!important;
  text-align:center!important;
  font-size:.9mm!important;
  line-height:1.8mm!important;
  font-weight:600!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  text-shadow:0 .15mm .3mm rgba(0,0,0,.3)!important;
  z-index:12!important;
}

/* Maintain exact print geometry. */
@page sm-idcard-page{size:A4 landscape;margin:8mm;}
@media print{
  .sm-idcard-face{
    width:54mm!important;height:85.6mm!important;
    min-width:54mm!important;min-height:85.6mm!important;
    max-width:54mm!important;max-height:85.6mm!important;
    flex:0 0 54mm!important;
    box-shadow:none!important;
  }
  .sm-idcard-wrap{
    width:116mm!important;height:85.6mm!important;
    display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;
    gap:8mm!important;margin:0 auto!important;padding:0!important;
    transform:none!important;overflow:visible!important;
    break-inside:avoid!important;page-break-inside:avoid!important;
  }
}

/* ID CARD v3.8.0 — contact value baseline alignment */
.sm-idcard-contact-value{
  transform:translateY(.22mm)!important;
}
@media print{
  .sm-idcard-contact-value{transform:translateY(.22mm)!important;}
}

/* =========================================================
   ID CARD v3.9.0 — BACK SIDE ONLY: contact baseline correction
   Keeps Front unchanged. Contact labels and their values share
   one fixed vertical center line; values are nudged slightly down.
========================================================= */
.sm-idcard-back .sm-idcard-back-info{
  overflow:visible!important;
}
.sm-idcard-back .sm-idcard-contact-row{
  align-items:center!important;
  line-height:1.15!important;
  overflow:visible!important;
}
.sm-idcard-back .sm-idcard-contact-row strong,
.sm-idcard-back .sm-idcard-contact-row > span:nth-child(3){
  position:relative!important;
  top:0!important;
  line-height:1.15!important;
}
.sm-idcard-back .sm-idcard-contact-value{
  position:relative!important;
  top:.22mm!important;
  transform:none!important;
  line-height:1.15!important;
  max-height:3.7mm!important;
}
@media print{
  .sm-idcard-back .sm-idcard-contact-value{top:.22mm!important;transform:none!important;}
}


/* ID CARD v4.0.0 — BACK contact label/value exact vertical alignment
 * Front side remains untouched. Back contact rows use the same centered
 * typography model as the Front details rows.
 */
.sm-idcard-back .sm-idcard-contact-row{
  display:grid!important;
  align-items:center!important;
  line-height:1.05!important;
}
.sm-idcard-back .sm-idcard-contact-row > .sm-idcard-contact-icon,
.sm-idcard-back .sm-idcard-contact-row > strong,
.sm-idcard-back .sm-idcard-contact-row > span:nth-child(3),
.sm-idcard-back .sm-idcard-contact-row > .sm-idcard-contact-value{
  position:static!important;
  top:auto!important;
  transform:none!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  align-self:center!important;
}
.sm-idcard-back .sm-idcard-contact-row > strong{
  display:flex!important;
  align-items:center!important;
  line-height:1.05!important;
}
.sm-idcard-back .sm-idcard-contact-row > span:nth-child(3){
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1.05!important;
}
.sm-idcard-back .sm-idcard-contact-row > .sm-idcard-contact-value{
  display:flex!important;
  align-items:center!important;
  line-height:1.05!important;
  height:4.25mm!important;
  min-height:4.25mm!important;
  max-height:4.25mm!important;
}
@media print{
  .sm-idcard-back .sm-idcard-contact-row > .sm-idcard-contact-value{
    position:static!important;
    top:auto!important;
    transform:none!important;
    line-height:1.05!important;
  }
}


/* =========================================================
   ID CARD v4.1.0 — BACK CONTACT TRUE BASELINE ALIGNMENT
   Front side is intentionally untouched.
   Match Back contact label/value baseline to Front detail rows.
   The previous flex/grid centering + fixed value-height caused
   the values to sit visibly above Email/Phone/Address/Blood Group.
========================================================= */
.sm-idcard-back .sm-idcard-contact-row{
  display:flex !important;
  align-items:baseline !important;
  gap:.7mm !important;
  height:4.35mm !important;
  min-height:4.35mm !important;
  max-height:4.35mm !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
  box-sizing:border-box !important;
  font-size:1.7mm !important;
  line-height:1 !important;
}
.sm-idcard-back .sm-idcard-contact-row > .sm-idcard-contact-icon{
  width:4.2mm !important;
  height:4.2mm !important;
  flex:0 0 4.2mm !important;
  align-self:center !important;
  box-sizing:border-box !important;
}
.sm-idcard-back .sm-idcard-contact-row > strong{
  width:13.5mm !important;
  flex:0 0 13.5mm !important;
  display:block !important;
  align-self:baseline !important;
  margin:0 !important;
  padding:0 !important;
  line-height:1 !important;
  white-space:nowrap !important;
  box-sizing:border-box !important;
}
.sm-idcard-back .sm-idcard-contact-row > span:nth-child(3){
  width:1.1mm !important;
  flex:0 0 1.1mm !important;
  display:block !important;
  align-self:baseline !important;
  margin:0 !important;
  padding:0 !important;
  line-height:1 !important;
  text-align:center !important;
  box-sizing:border-box !important;
}
.sm-idcard-back .sm-idcard-contact-row > .sm-idcard-contact-value{
  min-width:0 !important;
  flex:1 1 auto !important;
  display:block !important;
  align-self:baseline !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  position:static !important;
  top:auto !important;
  transform:none !important;
  margin:0 !important;
  padding:0 !important;
  line-height:1 !important;
  overflow:hidden !important;
  white-space:nowrap !important;
  text-overflow:clip !important;
  box-sizing:border-box !important;
}
.sm-idcard-back .sm-idcard-contact-row > .sm-idcard-address-value{
  white-space:normal !important;
  line-height:1 !important;
  max-height:3.8mm !important;
}
@media print{
  .sm-idcard-back .sm-idcard-contact-row{
    display:flex !important;
    align-items:baseline !important;
  }
  .sm-idcard-back .sm-idcard-contact-row > .sm-idcard-contact-value{
    position:static !important;
    top:auto !important;
    transform:none !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    line-height:1 !important;
    align-self:baseline !important;
  }
}


/* =========================================================
 * Result Sheet v4.2.0 — premium A4 design / print fit
 * ========================================================= */
.sm-result-sheet {
  width: 190mm !important;
  max-width: 190mm !important;
  min-height: 277mm;
  margin: 0 auto !important;
  padding: 7mm !important;
  box-sizing: border-box !important;
  background: #fff !important;
  border: .35mm solid #d8e1ee !important;
  border-radius: 3mm !important;
  box-shadow: 0 2mm 7mm rgba(11,50,107,.10) !important;
  color: #18243a;
  font-family: 'Hind Siliguri','Noto Sans',Arial,sans-serif;
  overflow: visible !important;
}
.sm-result-sheet .sm-rs-header { margin:0 0 4mm !important; padding:0 0 4mm !important; border-bottom:.7mm solid #0b326b !important; position:relative; }
.sm-result-sheet .sm-rs-header::after { content:''; position:absolute; left:0; right:0; bottom:-.7mm; height:.7mm; background:#f4b51b; transform:scaleX(.34); }
.sm-result-sheet .sm-rs-logo { width:20mm !important; height:20mm !important; margin-bottom:1.5mm !important; }
.sm-result-sheet .sm-rs-header-text h1 { margin:0 0 1mm !important; font-size:6mm !important; line-height:1.12 !important; color:#0b326b !important; font-weight:800 !important; }
.sm-result-sheet .sm-rs-header-text p { margin:.5mm 0 !important; font-size:2.8mm !important; line-height:1.25 !important; color:#5b6b82 !important; }
.sm-result-sheet .sm-rs-title { display:block !important; width:max-content; max-width:100%; margin:3mm auto 4mm !important; padding:1.7mm 8mm !important; border-radius:99px !important; background:#0b326b !important; color:#fff !important; font-size:4.2mm !important; line-height:1.15 !important; text-decoration:none !important; font-weight:800 !important; text-align:center !important; }
.sm-result-sheet .sm-rs-info-table { width:100% !important; margin:0 0 3mm !important; border-collapse:separate !important; border-spacing:0 !important; border:.3mm solid #d7e0ec; border-radius:2mm; overflow:hidden; font-size:2.75mm !important; }
.sm-result-sheet .sm-rs-info-table th,.sm-result-sheet .sm-rs-info-table td { padding:1.45mm 2mm !important; border:0 !important; border-right:.25mm solid #d7e0ec !important; border-bottom:.25mm solid #d7e0ec !important; line-height:1.2 !important; vertical-align:middle !important; }
.sm-result-sheet .sm-rs-info-table tr:last-child th,.sm-result-sheet .sm-rs-info-table tr:last-child td { border-bottom:0 !important; }
.sm-result-sheet .sm-rs-info-table th:last-child,.sm-result-sheet .sm-rs-info-table td:last-child { border-right:0 !important; }
.sm-result-sheet .sm-rs-info-table th { width:19% !important; background:#eef4fb !important; color:#0b326b !important; font-weight:800 !important; white-space:nowrap; }
.sm-result-sheet .sm-rs-info-table td { width:31% !important; background:#fff !important; color:#26364e !important; font-weight:600 !important; }
.sm-result-sheet .sm-rs-subtitle { margin:2.5mm 0 1.5mm !important; padding:1mm 3mm !important; display:inline-block !important; border:0 !important; border-left:1.2mm solid #f4b51b !important; background:#eef4fb !important; color:#0b326b !important; font-size:3.2mm !important; line-height:1.15 !important; font-weight:800 !important; }
.sm-result-sheet .sm-rs-marks-table { width:100% !important; margin:0 !important; border-collapse:separate !important; border-spacing:0 !important; border:.3mm solid #cfd9e6; border-radius:2mm; overflow:hidden; font-size:2.65mm !important; }
.sm-result-sheet .sm-rs-marks-table th,.sm-result-sheet .sm-rs-marks-table td { padding:1.25mm 1.7mm !important; line-height:1.18 !important; vertical-align:middle !important; border:0 !important; border-right:.2mm solid #d5deea !important; border-bottom:.2mm solid #d5deea !important; }
.sm-result-sheet .sm-rs-marks-table th:last-child,.sm-result-sheet .sm-rs-marks-table td:last-child { border-right:0 !important; }
.sm-result-sheet .sm-rs-marks-table tr:last-child td { border-bottom:0 !important; }
.sm-result-sheet .sm-rs-marks-table thead th { background:#0b326b !important; color:#fff !important; font-size:2.45mm !important; font-weight:800 !important; text-transform:uppercase; white-space:nowrap; }
.sm-result-sheet .sm-rs-marks-table tbody tr:nth-child(odd) td { background:#f8fbff !important; }
.sm-result-sheet .sm-rs-marks-table tbody tr:nth-child(even) td { background:#fff !important; }
.sm-result-sheet .sm-rs-summary { display:grid !important; grid-template-columns:repeat(3,1fr) !important; gap:1.5mm !important; margin-top:3mm !important; padding:2mm !important; background:#eef4fb !important; border:.3mm solid #d3deec !important; border-radius:2mm !important; font-size:2.65mm !important; line-height:1.2 !important; }
.sm-result-sheet .sm-rs-summary > div { padding:1.8mm 1.5mm; text-align:center; background:#fff; border:.25mm solid #dbe4ef; border-radius:1.5mm; }
.sm-result-sheet .sm-rs-summary > div strong { display:block; color:#5b6b82; font-size:2.25mm; margin-bottom:.5mm; }
.sm-result-sheet .sm-rs-pass { color:#15803d !important; font-weight:900 !important; }
.sm-result-sheet .sm-rs-fail { color:#dc2626 !important; font-weight:900 !important; }
.sm-result-sheet .sm-rs-signature-row { margin-top:4mm !important; }
.sm-result-sheet .sm-rs-signature-box { width:45mm !important; }
.sm-result-sheet .sm-rs-signature-box img { max-width:35mm !important; max-height:12mm !important; margin:0 auto 1mm !important; }
.sm-result-sheet .sm-rs-signature-line { margin-top:1mm !important; padding-top:1mm !important; font-size:2.5mm !important; }
.sm-result-sheet .sm-rs-signature-name { font-size:2.8mm !important; }
.sm-result-sheet .sm-rs-signature-title { font-size:2.35mm !important; }
.sm-result-sheet .sm-rs-footer { margin-top:3mm !important; padding-top:1.5mm !important; border-top:.25mm solid #d5deea !important; font-size:2.15mm !important; line-height:1.25 !important; color:#6b778a !important; }
@media screen { .sm-result-sheet { max-width:190mm !important; } }
@media print {
  @page { size:A4 portrait; margin:10mm; }
  html,body { background:#fff !important; }
  .sm-result-sheet { width:190mm !important; max-width:190mm !important; min-height:277mm !important; height:auto !important; margin:0 auto !important; padding:6mm !important; border:.3mm solid #cfd9e6 !important; border-radius:2mm !important; box-shadow:none !important; overflow:visible !important; break-inside:avoid !important; page-break-inside:avoid !important; }
  .sm-result-sheet .sm-rs-header { margin-bottom:3mm !important; padding-bottom:3mm !important; }
  .sm-result-sheet .sm-rs-logo { width:18mm !important; height:18mm !important; }
  .sm-result-sheet .sm-rs-header-text h1 { font-size:5.5mm !important; }
  .sm-result-sheet .sm-rs-header-text p { font-size:2.5mm !important; }
  .sm-result-sheet .sm-rs-title { font-size:3.8mm !important; margin:2.5mm auto 3mm !important; padding:1.4mm 7mm !important; }
  .sm-result-sheet .sm-rs-info-table { font-size:2.55mm !important; margin-bottom:2.5mm !important; }
  .sm-result-sheet .sm-rs-info-table th,.sm-result-sheet .sm-rs-info-table td { padding:1.15mm 1.7mm !important; }
  .sm-result-sheet .sm-rs-subtitle { font-size:2.95mm !important; margin:2mm 0 1.2mm !important; padding:.8mm 2.5mm !important; }
  .sm-result-sheet .sm-rs-marks-table { font-size:2.45mm !important; }
  .sm-result-sheet .sm-rs-marks-table th,.sm-result-sheet .sm-rs-marks-table td { padding:1.05mm 1.5mm !important; }
  .sm-result-sheet .sm-rs-marks-table thead th { font-size:2.25mm !important; }
  .sm-result-sheet .sm-rs-summary { margin-top:2.5mm !important; padding:1.6mm !important; font-size:2.4mm !important; }
  .sm-result-sheet .sm-rs-summary > div { padding:1.35mm 1mm !important; }
  .sm-result-sheet .sm-rs-summary > div strong { font-size:2.05mm !important; }
  .sm-result-sheet .sm-rs-signature-row { margin-top:3mm !important; }
  .sm-result-sheet .sm-rs-signature-box img { max-height:9mm !important; }
  .sm-result-sheet .sm-rs-footer { margin-top:2.5mm !important; font-size:1.9mm !important; }
  .sm-result-sheet .sm-rs-marks-table,.sm-result-sheet .sm-rs-info-table,.sm-result-sheet .sm-rs-summary,.sm-result-sheet .sm-rs-signature-row { break-inside:avoid !important; page-break-inside:avoid !important; }
}

/* =========================================================
 * Result Sheet v4.3.0 — centered horizontal institution header
 * Logo stays to the LEFT of the school name, never above it.
 * ========================================================= */
.sm-result-sheet .sm-rs-header.sm-rs-header-centered{
  display:flex !important;
  flex-direction:row !important;
  justify-content:center !important;
  align-items:center !important;
  gap:4mm !important;
  text-align:center !important;
}
.sm-result-sheet .sm-rs-header.sm-rs-header-centered .sm-rs-logo{
  flex:0 0 20mm !important;
  width:20mm !important;
  height:20mm !important;
  margin:0 !important;
}
.sm-result-sheet .sm-rs-header.sm-rs-header-centered .sm-rs-header-text{
  flex:0 1 auto !important;
  min-width:0 !important;
  text-align:center !important;
}

@media print{
  .sm-result-sheet .sm-rs-header.sm-rs-header-centered{
    display:flex !important;
    flex-direction:row !important;
    justify-content:center !important;
    align-items:center !important;
    gap:4mm !important;
  }
  .sm-result-sheet .sm-rs-header.sm-rs-header-centered .sm-rs-logo{
    margin:0 !important;
  }
}


/* =========================================================
 * Result Sheet v4.4.0 — logo left of centered institution name
 * The institution name is centered on the page; logo sits immediately
 * to its left without stacking above it. Address/phone remain below name.
 * ========================================================= */
.sm-result-sheet .sm-rs-header.sm-rs-header-centered{
  display:grid !important;
  grid-template-columns:1fr auto 1fr !important;
  grid-template-rows:auto !important;
  align-items:center !important;
  justify-items:center !important;
  column-gap:3mm !important;
  flex-direction:initial !important;
  text-align:center !important;
}
.sm-result-sheet .sm-rs-header.sm-rs-header-centered .sm-rs-logo{
  grid-column:1 !important;
  grid-row:1 !important;
  justify-self:end !important;
  align-self:center !important;
  width:18mm !important;
  height:18mm !important;
  margin:0 !important;
  object-fit:contain !important;
}
.sm-result-sheet .sm-rs-header.sm-rs-header-centered .sm-rs-header-text{
  grid-column:2 !important;
  grid-row:1 !important;
  justify-self:center !important;
  align-self:center !important;
  min-width:0 !important;
  width:max-content !important;
  max-width:100% !important;
  text-align:center !important;
}
.sm-result-sheet .sm-rs-header.sm-rs-header-centered .sm-rs-header-text h1{
  text-align:center !important;
  white-space:nowrap !important;
}
@media print{
  .sm-result-sheet .sm-rs-header.sm-rs-header-centered{
    display:grid !important;
    grid-template-columns:1fr auto 1fr !important;
    grid-template-rows:auto !important;
    align-items:center !important;
    justify-items:center !important;
    column-gap:3mm !important;
  }
  .sm-result-sheet .sm-rs-header.sm-rs-header-centered .sm-rs-logo{
    grid-column:1 !important;
    grid-row:1 !important;
    justify-self:end !important;
    width:18mm !important;
    height:18mm !important;
    margin:0 !important;
  }
  .sm-result-sheet .sm-rs-header.sm-rs-header-centered .sm-rs-header-text{
    grid-column:2 !important;
    grid-row:1 !important;
    justify-self:center !important;
    width:max-content !important;
    max-width:100% !important;
    text-align:center !important;
  }
}


/* =========================================================
 * Result Sheet v4.5.0 — final header + signature alignment
 * 1) Logo + institution name/address/phone are one centered group.
 * 2) Principal signature is aligned to the right.
 * Scoped only to Result Sheets.
 * ========================================================= */
.sm-result-sheet .sm-rs-header.sm-rs-header-centered{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  text-align:center !important;
  box-sizing:border-box !important;
}
.sm-result-sheet .sm-rs-header.sm-rs-header-centered .sm-rs-header-inner{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  gap:4mm !important;
  width:max-content !important;
  max-width:100% !important;
  margin:0 auto !important;
  text-align:center !important;
}
.sm-result-sheet .sm-rs-header.sm-rs-header-centered .sm-rs-logo{
  flex:0 0 18mm !important;
  width:18mm !important;
  height:18mm !important;
  margin:0 !important;
  object-fit:contain !important;
}
.sm-result-sheet .sm-rs-header.sm-rs-header-centered .sm-rs-header-text{
  flex:0 1 auto !important;
  width:auto !important;
  max-width:calc(100% - 22mm) !important;
  min-width:0 !important;
  margin:0 !important;
  text-align:center !important;
}
.sm-result-sheet .sm-rs-header.sm-rs-header-centered .sm-rs-header-text h1,
.sm-result-sheet .sm-rs-header.sm-rs-header-centered .sm-rs-header-text p{
  text-align:center !important;
}
.sm-result-sheet .sm-rs-signature-row.sm-rs-signature-right{
  display:flex !important;
  justify-content:flex-end !important;
  align-items:flex-end !important;
  width:100% !important;
  text-align:center !important;
}
.sm-result-sheet .sm-rs-signature-row.sm-rs-signature-right .sm-rs-signature-box{
  margin-left:auto !important;
  margin-right:0 !important;
  text-align:center !important;
}
@media print{
  .sm-result-sheet .sm-rs-header.sm-rs-header-centered{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
  }
  .sm-result-sheet .sm-rs-header.sm-rs-header-centered .sm-rs-header-inner{
    display:flex !important;
    flex-direction:row !important;
    justify-content:center !important;
    align-items:center !important;
    width:max-content !important;
    max-width:100% !important;
    margin:0 auto !important;
  }
  .sm-result-sheet .sm-rs-signature-row.sm-rs-signature-right{
    display:flex !important;
    justify-content:flex-end !important;
  }
}


/* =========================================================
 * Result Sheet v4.6.0 — definitive header + signature positioning
 * The header is a single centered group: logo on the left, institution
 * name/address/phone on the right. The principal signature is on the right.
 * ========================================================= */
.sm-result-sheet .sm-rs-header.sm-rs-header-centered{
  display:flex !important;
  flex-direction:row !important;
  justify-content:center !important;
  align-items:center !important;
  width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:left !important;
}
.sm-result-sheet .sm-rs-header.sm-rs-header-centered .sm-rs-header-inner{
  display:grid !important;
  grid-template-columns:18mm minmax(0,auto) !important;
  align-items:center !important;
  justify-content:center !important;
  column-gap:4mm !important;
  width:auto !important;
  max-width:100% !important;
  margin:0 auto !important;
}
.sm-result-sheet .sm-rs-header.sm-rs-header-centered .sm-rs-logo{
  grid-column:1 !important;
  grid-row:1 !important;
  width:18mm !important;
  height:18mm !important;
  margin:0 !important;
  justify-self:end !important;
  align-self:center !important;
  object-fit:contain !important;
}
.sm-result-sheet .sm-rs-header.sm-rs-header-centered .sm-rs-header-text{
  grid-column:2 !important;
  grid-row:1 !important;
  width:auto !important;
  max-width:150mm !important;
  min-width:0 !important;
  margin:0 !important;
  text-align:center !important;
}
.sm-result-sheet .sm-rs-header.sm-rs-header-centered .sm-rs-header-text h1,
.sm-result-sheet .sm-rs-header.sm-rs-header-centered .sm-rs-header-text p{
  text-align:center !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.sm-result-sheet .sm-rs-signature-row.sm-rs-signature-right{
  display:flex !important;
  flex-direction:row !important;
  justify-content:flex-end !important;
  align-items:flex-end !important;
  width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  text-align:center !important;
}
.sm-result-sheet .sm-rs-signature-row.sm-rs-signature-right .sm-rs-signature-box{
  flex:0 0 45mm !important;
  width:45mm !important;
  margin-left:auto !important;
  margin-right:0 !important;
  text-align:center !important;
}
@media print{
  .sm-result-sheet .sm-rs-header.sm-rs-header-centered{
    display:flex !important;
    flex-direction:row !important;
    justify-content:center !important;
    align-items:center !important;
  }
  .sm-result-sheet .sm-rs-header.sm-rs-header-centered .sm-rs-header-inner{
    display:grid !important;
    grid-template-columns:18mm minmax(0,auto) !important;
    justify-content:center !important;
    align-items:center !important;
    margin:0 auto !important;
  }
  .sm-result-sheet .sm-rs-signature-row.sm-rs-signature-right{
    display:flex !important;
    justify-content:flex-end !important;
  }
}

/* v4.7.0 selectable Result Sheet templates */
.sm-result-sheet.sm-template-modern .sm-rs-header { border-bottom-color:#0f5b4f !important; }
.sm-result-sheet.sm-template-modern .sm-rs-header::after { background:#e7b93a !important; }
.sm-result-sheet.sm-template-modern .sm-rs-header-text h1 { color:#0f5b4f !important; }
.sm-result-sheet.sm-template-modern .sm-rs-title { background:#0f5b4f !important; border-radius:2mm !important; }
.sm-result-sheet.sm-template-modern .sm-rs-info-table th { background:#e9f6f2 !important; color:#0f5b4f !important; }
.sm-result-sheet.sm-template-modern .sm-rs-subtitle { border-left-color:#e7b93a !important; background:#e9f6f2 !important; color:#0f5b4f !important; }
.sm-result-sheet.sm-template-modern .sm-rs-marks-table thead th { background:#0f5b4f !important; }
.sm-result-sheet.sm-template-modern .sm-rs-summary { background:#e9f6f2 !important; border-color:#c7e6dd !important; }
.sm-result-sheet.sm-template-classic .sm-rs-header { border-bottom-color:#641f38 !important; }
.sm-result-sheet.sm-template-classic .sm-rs-header::after { background:#d7a44a !important; }
.sm-result-sheet.sm-template-classic .sm-rs-header-text h1 { color:#641f38 !important; }
.sm-result-sheet.sm-template-classic .sm-rs-title { background:#641f38 !important; border-radius:1mm !important; }
.sm-result-sheet.sm-template-classic .sm-rs-info-table th { background:#f8edf1 !important; color:#641f38 !important; }
.sm-result-sheet.sm-template-classic .sm-rs-subtitle { border-left-color:#d7a44a !important; background:#f8edf1 !important; color:#641f38 !important; }
.sm-result-sheet.sm-template-classic .sm-rs-marks-table thead th { background:#641f38 !important; }
.sm-result-sheet.sm-template-classic .sm-rs-summary { background:#f8edf1 !important; border-color:#ead3dc !important; }


/* ==========================================================
 * v4.8.0 — Two additional document templates
 * clean = Clean Teal / White
 * resultlike = Elegant Result Header
 * Existing templates remain unchanged.
 * ========================================================== */

/* ---------- Shared: readable typography + tagline fit ---------- */
.sm-idcard-wrap.sm-template-clean .sm-idcard-tagline,
.sm-idcard-wrap.sm-template-resultlike .sm-idcard-tagline{
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  line-height:1.08 !important;
  max-width:100% !important;
  height:auto !important;
  min-height:2.4mm !important;
  font-size:1.85mm !important;
  letter-spacing:.05mm !important;
}

/* ---------- ID Card — Template 4: Clean Teal ---------- */
.sm-idcard-wrap.sm-template-clean .sm-idcard-front-head,
.sm-idcard-wrap.sm-template-clean .sm-idcard-back::before{
  background:#0b6b66 !important;
}
.sm-idcard-wrap.sm-template-clean .sm-idcard-school-name{color:#fff !important;}
.sm-idcard-wrap.sm-template-clean .sm-idcard-tagline{color:#eafffb !important;}
.sm-idcard-wrap.sm-template-clean .sm-idcard-head-wave{border-top-color:#f1c453 !important;}
.sm-idcard-wrap.sm-template-clean .sm-idcard-title-pill{background:#f1c453 !important;color:#123b39 !important;border-radius:1.2mm !important;}
.sm-idcard-wrap.sm-template-clean .sm-idcard-icon,
.sm-idcard-wrap.sm-template-clean .sm-idcard-contact-icon{background:#0b6b66 !important;}
.sm-idcard-wrap.sm-template-clean .sm-idcard-back-title{background:#0b6b66 !important;color:#fff !important;border-radius:0 !important;}
.sm-idcard-wrap.sm-template-clean .sm-idcard-front-footer{background:#123b39 !important;border-top:1mm solid #f1c453 !important;}
.sm-idcard-wrap.sm-template-clean .sm-idcard-back-footer{background:#123b39 !important;border-top:1mm solid #f1c453 !important;}
.sm-idcard-wrap.sm-template-clean .sm-idcard-back-footer::after{display:none !important;}

/* ---------- ID Card — Template 5: Elegant Result Style ---------- */
.sm-idcard-wrap.sm-template-resultlike .sm-idcard-front-head{
  background:#fff !important; color:#17324d !important;
  border-bottom:1mm solid #17324d !important;
}
.sm-idcard-wrap.sm-template-resultlike .sm-idcard-school-name{color:#17324d !important;}
.sm-idcard-wrap.sm-template-resultlike .sm-idcard-tagline{color:#516579 !important;}
.sm-idcard-wrap.sm-template-resultlike .sm-idcard-head-wave{border-top-color:#d7a84b !important;}
.sm-idcard-wrap.sm-template-resultlike .sm-idcard-title-pill{background:#17324d !important;color:#fff !important;border-radius:1mm !important;}
.sm-idcard-wrap.sm-template-resultlike .sm-idcard-icon,
.sm-idcard-wrap.sm-template-resultlike .sm-idcard-contact-icon{background:#17324d !important;}
.sm-idcard-wrap.sm-template-resultlike .sm-idcard-back::before{background:#17324d !important;}
.sm-idcard-wrap.sm-template-resultlike .sm-idcard-back-title{background:#17324d !important;color:#fff !important;border-radius:0 !important;}
.sm-idcard-wrap.sm-template-resultlike .sm-idcard-front-footer,
.sm-idcard-wrap.sm-template-resultlike .sm-idcard-back-footer{background:#f4f7fa !important;color:#17324d !important;border-top:1mm solid #d7a84b !important;}
.sm-idcard-wrap.sm-template-resultlike .sm-idcard-back-footer::after{display:none !important;}
.sm-idcard-wrap.sm-template-resultlike .sm-idcard-footer-left span,
.sm-idcard-wrap.sm-template-resultlike .sm-idcard-footer-right span,
.sm-idcard-wrap.sm-template-resultlike .sm-idcard-footer-text{color:#17324d !important;text-shadow:none !important;}

/* ---------- Admit Card — Template 4: Clean Teal ---------- */
.sm-admit-card.sm-template-clean .sm-admit-institution-header{
  background:#0b6b66 !important; border-radius:0 !important;
}
.sm-admit-card.sm-template-clean .sm-admit-header-accent{background:#f1c453 !important;}
.sm-admit-card.sm-template-clean .sm-admit-header-logo{border-color:#f1c453 !important;background:#fff !important;}
.sm-admit-card.sm-template-clean .sm-admit-header-meta{color:#eafffb !important;}
.sm-admit-card.sm-template-clean .sm-admit-header-badge{background:#f1c453 !important;border-color:#f1c453 !important;color:#123b39 !important;}
.sm-admit-card.sm-template-clean .sm-admit-title-row .sm-rs-title{background:#0b6b66 !important;}
.sm-admit-card.sm-template-clean .sm-rs-marks-table thead th{background:#0b6b66 !important;}

/* ---------- Admit Card — Template 5: Result-sheet-like header ---------- */
.sm-admit-card.sm-template-resultlike .sm-admit-institution-header{
  background:#fff !important;color:#17324d !important;border:0 !important;
  border-bottom:1mm solid #17324d !important;border-radius:0 !important;
}
.sm-admit-card.sm-template-resultlike .sm-admit-header-inner{
  grid-template-columns:18mm minmax(0,auto) 1fr !important;
  justify-content:center !important;
  align-items:center !important;
}
.sm-admit-card.sm-template-resultlike .sm-admit-header-logo{
  border:0 !important;background:#fff !important;
  width:16mm !important;height:16mm !important;
}
.sm-admit-card.sm-template-resultlike .sm-admit-header-copy{text-align:left !important;}
.sm-admit-card.sm-template-resultlike .sm-admit-header-name{color:#17324d !important;}
.sm-admit-card.sm-template-resultlike .sm-admit-header-meta{color:#516579 !important;}
.sm-admit-card.sm-template-resultlike .sm-admit-header-badge{display:none !important;}
.sm-admit-card.sm-template-resultlike .sm-admit-header-copy{text-align:center !important;}

.sm-admit-card.sm-template-resultlike .sm-admit-header-accent{background:#d7a84b !important;height:1mm !important;}
.sm-admit-card.sm-template-resultlike .sm-admit-title-row .sm-rs-title{background:#17324d !important;}
.sm-admit-card.sm-template-resultlike .sm-rs-marks-table thead th{background:#17324d !important;}

/* ---------- Result Sheet — Template 4: Clean Teal ---------- */
.sm-result-sheet.sm-template-clean .sm-rs-header{border-bottom-color:#0b6b66 !important;}
.sm-result-sheet.sm-template-clean .sm-rs-header::after{background:#f1c453 !important;}
.sm-result-sheet.sm-template-clean .sm-rs-header-text h1{color:#0b6b66 !important;}
.sm-result-sheet.sm-template-clean .sm-rs-title{background:#0b6b66 !important;}
.sm-result-sheet.sm-template-clean .sm-rs-info-table th{background:#e9f8f6 !important;color:#0b6b66 !important;}
.sm-result-sheet.sm-template-clean .sm-rs-subtitle{border-left-color:#f1c453 !important;background:#e9f8f6 !important;color:#0b6b66 !important;}
.sm-result-sheet.sm-template-clean .sm-rs-marks-table thead th{background:#0b6b66 !important;}
.sm-result-sheet.sm-template-clean .sm-rs-summary{background:#e9f8f6 !important;border-color:#c7e9e4 !important;}
.sm-result-sheet.sm-template-clean .sm-rs-footer{border-top-color:#0b6b66 !important;background:#f5fbfa !important;}

/* ---------- Result Sheet — Template 5: Elegant Result Style ---------- */
.sm-result-sheet.sm-template-resultlike .sm-rs-header{
  background:#fff !important;border-bottom:1.2mm solid #17324d !important;
}
.sm-result-sheet.sm-template-resultlike .sm-rs-header::after{background:#d7a84b !important;}
.sm-result-sheet.sm-template-resultlike .sm-rs-header-text h1{color:#17324d !important;}
.sm-result-sheet.sm-template-resultlike .sm-rs-header-text p{color:#516579 !important;}
.sm-result-sheet.sm-template-resultlike .sm-rs-title{background:#17324d !important;border-radius:1mm !important;}
.sm-result-sheet.sm-template-resultlike .sm-rs-info-table th{background:#f1f5f8 !important;color:#17324d !important;}
.sm-result-sheet.sm-template-resultlike .sm-rs-subtitle{border-left-color:#d7a84b !important;background:#f7f9fb !important;color:#17324d !important;}
.sm-result-sheet.sm-template-resultlike .sm-rs-marks-table thead th{background:#17324d !important;}
.sm-result-sheet.sm-template-resultlike .sm-rs-summary{background:#f7f9fb !important;border-color:#dbe4eb !important;}
.sm-result-sheet.sm-template-resultlike .sm-rs-footer{border-top-color:#17324d !important;background:#f4f7fa !important;}
.sm-result-sheet.sm-template-clean .sm-rs-summary{background:#e9f8f6 !important;border-color:#c7e9e4 !important;}
.sm-result-sheet.sm-template-clean .sm-rs-footer{border-top-color:#0b6b66 !important;background:#f5fbfa !important;}

/* ---------- Result Sheet — Template 5: Elegant Result Style ---------- */
.sm-result-sheet.sm-template-resultlike .sm-rs-header{
  background:#fff !important;border-bottom:1.2mm solid #17324d !important;
}
.sm-result-sheet.sm-template-resultlike .sm-rs-header::after{background:#d7a84b !important;}
.sm-result-sheet.sm-template-resultlike .sm-rs-header-text h1{color:#17324d !important;}
.sm-result-sheet.sm-template-resultlike .sm-rs-header-text p{color:#516579 !important;}
.sm-result-sheet.sm-template-resultlike .sm-rs-title{background:#17324d !important;border-radius:1mm !important;}
.sm-result-sheet.sm-template-resultlike .sm-rs-info-table th{background:#f1f5f8 !important;color:#17324d !important;}
.sm-result-sheet.sm-template-resultlike .sm-rs-subtitle{border-left-color:#d7a84b !important;background:#f7f9fb !important;color:#17324d !important;}
.sm-result-sheet.sm-template-resultlike .sm-rs-marks-table thead th{background:#17324d !important;}
.sm-result-sheet.sm-template-resultlike .sm-rs-summary{background:#f7f9fb !important;border-color:#dbe4eb !important;}
.sm-result-sheet.sm-template-resultlike .sm-rs-footer{border-top-color:#17324d !important;background:#f4f7fa !important;}

/* =========================================================
 * v4.9.0 — Elegant Result Style: Admit Card matches Result Sheet
 * The resultlike Admit Card intentionally reuses the Result Sheet visual
 * language for header, title, tables, signature and footer.
 * ========================================================= */
.sm-admit-card.sm-template-resultlike{
  width:190mm !important;
  max-width:190mm !important;
  min-height:277mm !important;
  margin:0 auto !important;
  padding:7mm !important;
  box-sizing:border-box !important;
  background:#fff !important;
  border:.35mm solid #d8e1ee !important;
  border-radius:3mm !important;
  box-shadow:0 2mm 7mm rgba(11,50,107,.10) !important;
  color:#18243a !important;
  font-family:'Hind Siliguri','Noto Sans',Arial,sans-serif !important;
}
.sm-admit-card.sm-template-resultlike .sm-rs-header{
  margin:0 0 4mm !important;
  padding:0 0 4mm !important;
  border-bottom:1.2mm solid #17324d !important;
  position:relative !important;
  background:#fff !important;
}
.sm-admit-card.sm-template-resultlike .sm-rs-header::after{
  content:'' !important;
  position:absolute !important;
  left:0 !important; right:0 !important; bottom:-.7mm !important;
  height:.7mm !important;
  background:#d7a84b !important;
  transform:scaleX(.34) !important;
  transform-origin:center !important;
}
.sm-admit-card.sm-template-resultlike .sm-rs-header-inner{
  display:grid !important;
  grid-template-columns:18mm minmax(0,auto) !important;
  align-items:center !important;
  justify-content:center !important;
  column-gap:4mm !important;
  width:auto !important;
  max-width:100% !important;
  margin:0 auto !important;
}
.sm-admit-card.sm-template-resultlike .sm-rs-logo{
  grid-column:1 !important; grid-row:1 !important;
  width:18mm !important; height:18mm !important;
  margin:0 !important; justify-self:end !important; align-self:center !important;
  object-fit:contain !important;
}
.sm-admit-card.sm-template-resultlike .sm-rs-header-text{
  grid-column:2 !important; grid-row:1 !important;
  width:auto !important; max-width:150mm !important; min-width:0 !important;
  margin:0 !important; text-align:center !important;
}
.sm-admit-card.sm-template-resultlike .sm-rs-header-text h1{
  margin:0 0 1mm !important; font-size:6mm !important; line-height:1.12 !important;
  color:#17324d !important; font-weight:800 !important; text-align:center !important;
}
.sm-admit-card.sm-template-resultlike .sm-rs-header-text p{
  margin:.5mm 0 !important; font-size:2.8mm !important; line-height:1.25 !important;
  color:#516579 !important; text-align:center !important;
}
.sm-admit-card.sm-template-resultlike .sm-admit-title-row{margin:0 !important; text-align:center !important;}
.sm-admit-card.sm-template-resultlike .sm-admit-title-row .sm-rs-title{
  display:block !important; width:max-content !important; max-width:100% !important;
  margin:3mm auto 4mm !important; padding:1.7mm 8mm !important;
  border-radius:1mm !important; background:#17324d !important; color:#fff !important;
  font-size:4.2mm !important; line-height:1.15 !important; font-weight:800 !important;
  text-align:center !important; box-shadow:0 1mm 2mm rgba(11,50,107,.16) !important;
}
.sm-admit-card.sm-template-resultlike .sm-admit-body{
  display:grid !important;
  grid-template-columns:30mm minmax(0,1fr) !important;
  gap:5mm !important;
  align-items:start !important;
  margin:0 0 3mm !important;
}
.sm-admit-card.sm-template-resultlike .sm-admit-photo{
  width:30mm !important; height:38mm !important;
  border:.3mm solid #d7e0ec !important; border-radius:2mm !important;
  background:#f7f9fb !important; overflow:hidden !important;
}
.sm-admit-card.sm-template-resultlike .sm-admit-photo img{width:100% !important;height:100% !important;object-fit:cover !important;}
.sm-admit-card.sm-template-resultlike .sm-rs-info-table{
  width:100% !important; margin:0 !important; border-collapse:separate !important;
  border-spacing:0 !important; border:.3mm solid #d7e0ec !important;
  border-radius:2mm !important; overflow:hidden !important; font-size:2.75mm !important;
}
.sm-admit-card.sm-template-resultlike .sm-rs-info-table th,
.sm-admit-card.sm-template-resultlike .sm-rs-info-table td{
  padding:1.45mm 2mm !important; border:0 !important;
  border-right:.25mm solid #d7e0ec !important;
  border-bottom:.25mm solid #d7e0ec !important;
  line-height:1.2 !important; vertical-align:middle !important;
}
.sm-admit-card.sm-template-resultlike .sm-rs-info-table tr:last-child th,
.sm-admit-card.sm-template-resultlike .sm-rs-info-table tr:last-child td{border-bottom:0 !important;}
.sm-admit-card.sm-template-resultlike .sm-rs-info-table th:last-child,
.sm-admit-card.sm-template-resultlike .sm-rs-info-table td:last-child{border-right:0 !important;}
.sm-admit-card.sm-template-resultlike .sm-rs-info-table th{
  width:24% !important; background:#f1f5f8 !important; color:#17324d !important;
  font-weight:800 !important; white-space:nowrap !important;
}
.sm-admit-card.sm-template-resultlike .sm-rs-info-table td{background:#fff !important;color:#26364e !important;font-weight:600 !important;}
.sm-admit-card.sm-template-resultlike .sm-rs-subtitle{
  margin:2mm 0 1.2mm !important; padding:.8mm 2.5mm !important;
  border-left:1.2mm solid #d7a84b !important; background:#f7f9fb !important;
  color:#17324d !important; font-size:2.95mm !important; line-height:1.2 !important;
  font-weight:800 !important;
}
.sm-admit-card.sm-template-resultlike .sm-rs-marks-table{
  width:100% !important; border-collapse:separate !important; border-spacing:0 !important;
  border:.3mm solid #d7e0ec !important; border-radius:2mm !important; overflow:hidden !important;
  font-size:2.55mm !important;
}
.sm-admit-card.sm-template-resultlike .sm-rs-marks-table th,
.sm-admit-card.sm-template-resultlike .sm-rs-marks-table td{
  padding:1.05mm 1.5mm !important; border:0 !important;
  border-right:.25mm solid #d7e0ec !important; border-bottom:.25mm solid #d7e0ec !important;
  line-height:1.2 !important; vertical-align:middle !important;
}
.sm-admit-card.sm-template-resultlike .sm-rs-marks-table thead th{
  background:#17324d !important; color:#fff !important; font-weight:800 !important;
}
.sm-admit-card.sm-template-resultlike .sm-rs-marks-table tr:last-child td{border-bottom:0 !important;}
.sm-admit-card.sm-template-resultlike .sm-admit-signatures{
  display:flex !important; justify-content:space-between !important; align-items:flex-end !important;
  margin-top:18mm !important; width:100% !important;
}
.sm-admit-card.sm-template-resultlike .sm-rs-signature-box{
  width:45mm !important; text-align:center !important;
}
.sm-admit-card.sm-template-resultlike .sm-rs-signature-slot{min-height:10mm !important;}
.sm-admit-card.sm-template-resultlike .sm-rs-signature-slot img{max-width:35mm !important;max-height:12mm !important;margin:0 auto 1mm !important;}
.sm-admit-card.sm-template-resultlike .sm-rs-signature-line{margin-top:1mm !important;padding-top:1mm !important;border-top:.3mm solid #7b8798 !important;font-size:2.5mm !important;}
.sm-admit-card.sm-template-resultlike .sm-rs-signature-name{font-size:2.8mm !important;font-weight:800 !important;color:#17324d !important;}
.sm-admit-card.sm-template-resultlike .sm-rs-signature-title{font-size:2.35mm !important;color:#516579 !important;}
.sm-admit-card.sm-template-resultlike .sm-rs-footer{
  margin-top:4mm !important; padding:2mm 2.5mm !important;
  border-top:.5mm solid #17324d !important; background:#f4f7fa !important;
  color:#516579 !important; font-size:2.2mm !important; line-height:1.25 !important;
  text-align:center !important;
}
@media print{
  .sm-admit-card.sm-template-resultlike{box-shadow:none !important; border:.35mm solid #d8e1ee !important;}
  .sm-admit-card.sm-template-resultlike .sm-rs-header-inner{grid-template-columns:18mm minmax(0,auto) !important;}
  .sm-admit-card.sm-template-resultlike .sm-admit-body,
  .sm-admit-card.sm-template-resultlike .sm-rs-info-table,
  .sm-admit-card.sm-template-resultlike .sm-rs-marks-table,
  .sm-admit-card.sm-template-resultlike .sm-admit-signatures{break-inside:avoid !important;page-break-inside:avoid !important;}
}

/* ==========================================================
 * v5.0.0 — Modern Green: completely redesigned ID Card + Admit Card
 * Public/front-end mirror of the admin print design.
 * ========================================================== */
.sm-idcard-wrap.sm-template-modern .sm-idcard-front-head{position:relative!important;height:25mm!important;min-height:25mm!important;padding:3mm 4mm 2.5mm!important;box-sizing:border-box!important;background:linear-gradient(135deg,#073f38 0%,#0b6658 58%,#119b7e 100%)!important;border:0!important;overflow:hidden!important;color:#fff!important;}
.sm-idcard-wrap.sm-template-modern .sm-idcard-front-head:before{content:"";position:absolute;right:-12mm;top:-18mm;width:38mm;height:38mm;background:rgba(245,196,77,.18);border-radius:50%;}
.sm-idcard-wrap.sm-template-modern .sm-idcard-front-head:after{content:"";position:absolute;left:-8mm;bottom:-14mm;width:32mm;height:26mm;background:rgba(255,255,255,.08);transform:rotate(-12deg);border-radius:8mm;}
.sm-idcard-wrap.sm-template-modern .sm-idcard-brand{position:relative!important;z-index:3;display:grid!important;grid-template-columns:11mm minmax(0,1fr)!important;gap:2.2mm!important;align-items:center!important;height:100%!important;}
.sm-idcard-wrap.sm-template-modern .sm-idcard-logo,.sm-idcard-wrap.sm-template-modern .sm-idcard-logo-fallback{width:9mm!important;height:9mm!important;border:1mm solid #f5c44d!important;border-radius:50%!important;background:#fff!important;color:#073f38!important;object-fit:contain!important;box-sizing:border-box!important;}
.sm-idcard-wrap.sm-template-modern .sm-idcard-school-name{color:#fff!important;font-size:3.15mm!important;line-height:1.04!important;font-weight:900!important;}
.sm-idcard-wrap.sm-template-modern .sm-idcard-tagline{display:block!important;margin-top:1mm!important;color:#f8e8b5!important;font-size:1.55mm!important;line-height:1.15!important;white-space:normal!important;overflow:visible!important;max-width:100%!important;}
.sm-idcard-wrap.sm-template-modern .sm-idcard-head-wave{position:absolute!important;z-index:4;left:0!important;right:0!important;bottom:-.2mm!important;height:4.2mm!important;border:0!important;background:#f5c44d!important;clip-path:polygon(0 45%,18% 0,42% 55%,67% 8%,100% 55%,100% 100%,0 100%)!important;}
.sm-idcard-wrap.sm-template-modern .sm-idcard-title-pill{background:#073f38!important;color:#fff!important;border:0!important;border-radius:5mm!important;box-shadow:0 1mm 2mm rgba(0,0,0,.12)!important;}
.sm-idcard-wrap.sm-template-modern .sm-idcard-icon,.sm-idcard-wrap.sm-template-modern .sm-idcard-contact-icon{background:#0b6658!important;color:#fff!important;border:0!important;}
.sm-idcard-wrap.sm-template-modern .sm-idcard-front-footer,.sm-idcard-wrap.sm-template-modern .sm-idcard-back-footer{position:relative!important;background:#073f38!important;color:#fff!important;border:0!important;border-top:1.2mm solid #f5c44d!important;overflow:hidden!important;}
.sm-idcard-wrap.sm-template-modern .sm-idcard-front-footer:before,.sm-idcard-wrap.sm-template-modern .sm-idcard-back-footer:before{content:"";position:absolute;right:-7mm;bottom:-8mm;width:22mm;height:22mm;border-radius:50%;border:2.5mm solid rgba(245,196,77,.18);pointer-events:none;}
.sm-idcard-wrap.sm-template-modern .sm-idcard-back-footer::after{border-color:rgba(245,196,77,.8)!important;}
.sm-idcard-wrap.sm-template-modern .sm-idcard-back-title{background:#0b6658!important;color:#fff!important;border-radius:0 0 2mm 2mm!important;}

.sm-admit-card.sm-template-modern .sm-admit-institution-header{position:relative!important;min-height:31mm!important;padding:0!important;overflow:hidden!important;background:#fff!important;border:0!important;border-bottom:1.4mm solid #0b6658!important;}
.sm-admit-card.sm-template-modern .sm-admit-institution-header:before{content:"";position:absolute;left:0;top:0;width:100%;height:7mm;background:#073f38!important;}
.sm-admit-card.sm-template-modern .sm-admit-institution-header:after{content:"";position:absolute;right:-10mm;top:-15mm;width:34mm;height:34mm;border-radius:50%;background:rgba(245,196,77,.25)!important;}
.sm-admit-card.sm-template-modern .sm-admit-header-accent{position:absolute!important;left:0;bottom:0;width:48mm;height:3.5mm;background:#f5c44d!important;z-index:3;clip-path:polygon(0 100%,0 30%,100% 0,85% 100%)!important;}
.sm-admit-card.sm-template-modern .sm-admit-header-inner{position:relative!important;z-index:4;min-height:31mm!important;height:31mm!important;display:grid!important;grid-template-columns:24mm minmax(0,1fr) 20mm!important;gap:4mm!important;align-items:center!important;padding:8mm 7mm 5mm!important;box-sizing:border-box!important;}
.sm-admit-card.sm-template-modern .sm-admit-header-logo{width:20mm!important;height:20mm!important;border:1mm solid #f5c44d!important;border-radius:5mm!important;background:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;}
.sm-admit-card.sm-template-modern .sm-admit-header-logo img{max-width:17mm!important;max-height:17mm!important;object-fit:contain!important;}
.sm-admit-card.sm-template-modern .sm-admit-header-name{color:#073f38!important;font-size:6mm!important;line-height:1.05!important;font-weight:900!important;}
.sm-admit-card.sm-template-modern .sm-admit-header-meta{color:#4c665f!important;font-size:2.7mm!important;line-height:1.25!important;margin-top:1mm!important;}
.sm-admit-card.sm-template-modern .sm-admit-header-badge{align-self:center!important;justify-self:end!important;width:18mm!important;min-height:18mm!important;padding:2mm!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;background:#073f38!important;color:#fff!important;border:0!important;border-radius:4mm!important;font-weight:900!important;font-size:3mm!important;line-height:1.05!important;}
.sm-admit-card.sm-template-modern .sm-admit-title-row{margin:4mm 7mm 3mm!important;}
.sm-admit-card.sm-template-modern .sm-admit-title-row .sm-rs-title{background:#0b6658!important;color:#fff!important;border-radius:2mm!important;border-left:4mm solid #f5c44d!important;}
.sm-admit-card.sm-template-modern .sm-admit-modern-info-table{width:calc(100% - 14mm)!important;margin:0 7mm 3mm!important;border-collapse:collapse!important;table-layout:fixed!important;background:#fff!important;border:1px solid #cfe0da!important;}
.sm-admit-card.sm-template-modern .sm-admit-modern-info-table th,.sm-admit-card.sm-template-modern .sm-admit-modern-info-table td{border:1px solid #cfe0da!important;padding:2.6mm 2.4mm!important;vertical-align:middle!important;font-size:2.65mm!important;line-height:1.2!important;}
.sm-admit-card.sm-template-modern .sm-admit-modern-info-table th{background:#eaf6f2!important;color:#073f38!important;font-weight:800!important;text-align:left!important;}
.sm-admit-card.sm-template-modern .sm-admit-modern-info-table td{background:#fff!important;color:#233d38!important;font-weight:600!important;}
.sm-admit-card.sm-template-modern .sm-admit-modern-photo-cell{width:27mm!important;padding:1.8mm!important;text-align:center!important;background:#f6fbf9!important;}
.sm-admit-card.sm-template-modern .sm-admit-modern-photo-cell img{display:block!important;width:23mm!important;height:28mm!important;margin:auto!important;object-fit:cover!important;border:1px solid #9bc9bd!important;border-radius:2mm!important;}
.sm-admit-card.sm-template-modern .sm-admit-modern-photo-cell span{display:flex!important;width:23mm!important;height:28mm!important;margin:auto!important;align-items:center!important;justify-content:center!important;border:1px dashed #9bc9bd!important;color:#58736c!important;background:#fff!important;border-radius:2mm!important;}
.sm-admit-card.sm-template-modern .sm-rs-subtitle{margin:3mm 7mm 1.5mm!important;background:#eaf6f2!important;color:#073f38!important;border-left:1.5mm solid #f5c44d!important;padding:2mm 2.5mm!important;}
.sm-admit-card.sm-template-modern .sm-rs-marks-table{margin:0 7mm!important;width:calc(100% - 14mm)!important;border-collapse:collapse!important;}
.sm-admit-card.sm-template-modern .sm-rs-marks-table th{background:#073f38!important;color:#fff!important;border-color:#073f38!important;}
.sm-admit-card.sm-template-modern .sm-rs-marks-table td{border-color:#cfe0da!important;color:#243f39!important;background:#fff!important;}
.sm-admit-card.sm-template-modern .sm-admit-modern-footer{position:relative!important;display:grid!important;grid-template-columns:1fr 24mm 1fr!important;align-items:center!important;gap:4mm!important;margin-top:4mm!important;padding:3mm 7mm!important;min-height:19mm!important;box-sizing:border-box!important;background:#073f38!important;border-top:1.4mm solid #f5c44d!important;color:#fff!important;overflow:hidden!important;}
.sm-admit-card.sm-template-modern .sm-admit-modern-footer-copy{display:flex!important;flex-direction:column!important;gap:1mm!important;}
.sm-admit-card.sm-template-modern .sm-admit-modern-footer-copy strong{font-size:2.8mm!important;color:#fff!important;}
.sm-admit-card.sm-template-modern .sm-admit-modern-footer-copy span{font-size:2.2mm!important;color:#d9eee8!important;}
.sm-admit-card.sm-template-modern .sm-admit-modern-qr{width:20mm!important;height:20mm!important;padding:1mm!important;background:#fff!important;border-radius:2mm!important;box-sizing:border-box!important;justify-self:center!important;z-index:3!important;}
.sm-admit-card.sm-template-modern .sm-admit-modern-qr img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;}
.sm-admit-card.sm-template-modern .sm-admit-modern-footer-note{text-align:right!important;font-size:2.15mm!important;line-height:1.35!important;color:#eaf6f2!important;}
@media print{.sm-admit-card.sm-template-modern .sm-admit-modern-info-table,.sm-admit-card.sm-template-modern .sm-rs-marks-table,.sm-admit-card.sm-template-modern .sm-admit-modern-footer{break-inside:avoid!important;page-break-inside:avoid!important;}}


.sm-notice-attachments{margin-top:12px;padding:10px 12px;border:1px solid #dfe7e4;border-radius:8px;background:#f8fbfa}.sm-notice-attachments ul{margin:6px 0 0 18px}.sm-notice-attachments a{text-decoration:none}

/* ================= Notice Board v5.6.0 ================= */
.sm-notice-board-table{max-width:100%;padding:0;overflow:hidden;background:#fff}
.sm-notice-board-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 18px 0 0}
.sm-notice-board-table .sm-notice-title{margin:0;padding:18px 24px;flex:1}
.sm-notice-latest-label{font-size:12px;font-weight:700;color:#4f46e5;background:#eef2ff;border-radius:999px;padding:6px 11px;white-space:nowrap}
.sm-notice-table-wrap{width:100%;overflow-x:auto}
.sm-notice-table{width:100%;border-collapse:collapse;table-layout:auto;background:#fff}
.sm-notice-table th,.sm-notice-table td{padding:12px 14px;border-bottom:1px solid #e6e5f0;text-align:left;vertical-align:middle}
.sm-notice-table th{background:#f7f7fb;color:#4b5563;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap}
.sm-notice-table td{font-size:14px;color:#333}
.sm-notice-table tbody tr:hover{background:#fafaff}
.sm-notice-table-title{min-width:220px}
.sm-notice-category-badge{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:11px;font-weight:700;white-space:nowrap}
.sm-notice-file-links{display:flex;flex-wrap:wrap;gap:5px}
.sm-notice-file-link{display:inline-block;padding:4px 8px;border-radius:6px;background:#ecfdf3;color:#166534;text-decoration:none;font-size:11px;font-weight:700;white-space:nowrap}
.sm-notice-file-link:hover{text-decoration:underline}
.sm-notice-no-file{color:#9ca3af}
.sm-notice-board-actions{display:flex;justify-content:flex-end;padding:14px 18px}
.sm-notice-all-button{display:inline-flex;align-items:center;justify-content:center;padding:9px 15px;border-radius:8px;background:#4f46e5;color:#fff!important;text-decoration:none;font-size:13px;font-weight:800}
.sm-notice-all-button:hover{background:#4338ca}
.sm-all-notices{max-width:1100px;margin:25px auto;padding:24px;background:#fff;border:1px solid #e6e5f0;border-radius:16px;box-shadow:0 4px 16px rgba(30,27,46,.07)}
.sm-all-notices-header{margin-bottom:18px}
.sm-all-notices-header h2{margin:0 0 4px;font-size:28px}
.sm-all-notices-header p{margin:0;color:#6b7280}
.sm-notice-filter-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:18px;padding:14px;background:#f8f8fc;border:1px solid #e6e5f0;border-radius:10px}
.sm-notice-filter-form input[type=search],.sm-notice-filter-form select{min-height:40px;padding:8px 11px;border:1px solid #d7d9e2;border-radius:7px;background:#fff}
.sm-notice-filter-form input[type=search]{flex:1;min-width:220px}
.sm-notice-filter-form button{min-height:40px;padding:8px 15px;border:0;border-radius:7px;background:#4f46e5;color:#fff;font-weight:700;cursor:pointer}
.sm-notice-clear-filter{padding:8px 10px;color:#4f46e5;text-decoration:none;font-weight:700}
.sm-notice-empty{text-align:center;padding:30px;color:#6b7280}
.sm-notice-pagination{display:flex;gap:6px;justify-content:center;margin-top:18px;flex-wrap:wrap}
.sm-notice-pagination a{display:inline-flex;min-width:34px;height:34px;align-items:center;justify-content:center;border:1px solid #dfe2eb;border-radius:7px;text-decoration:none;color:#4b5563;font-weight:700}
.sm-notice-pagination a.active,.sm-notice-pagination a:hover{background:#4f46e5;color:#fff;border-color:#4f46e5}
@media (max-width:700px){
 .sm-notice-board-head{padding-right:12px}.sm-notice-board-table .sm-notice-title{padding:15px 16px}.sm-notice-latest-label{display:none}
 .sm-notice-table th,.sm-notice-table td{padding:10px 9px;font-size:12px}.sm-notice-table-title{min-width:170px}
 .sm-all-notices{padding:14px;border-radius:10px}.sm-all-notices-header h2{font-size:23px}.sm-notice-filter-form{display:grid;grid-template-columns:1fr}.sm-notice-filter-form input[type=search]{min-width:0}
}

/* ================= Notice Board — Featured List v5.8.0 ================= */
.sm-notice-board-featured{
  --nb-green:#08a84f;
  --nb-green-dark:#078c42;
  --nb-text:#222;
  --nb-muted:#555;
  --nb-line:#b8b8b8;
  --nb-red:#e83b4b;
  --nb-cat:#fff0d2;
  --nb-cat-text:#3b352d;
  max-width:100%;
  width:100%;
  margin:18px 0;
  padding:28px 30px 24px;
  background:#fff;
  border:1px solid #e4e4e4;
  border-radius:18px;
  box-shadow:0 3px 14px rgba(0,0,0,.06);
  color:var(--nb-text);
}
.sm-notice-featured-heading{display:flex;align-items:center;gap:14px;min-height:56px}
.sm-notice-doc-icon{display:inline-flex;width:38px;height:42px;align-items:center;justify-content:center;flex:0 0 38px;color:var(--nb-green)}
.sm-notice-doc-icon svg{width:38px;height:42px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.sm-notice-featured-title{margin:0!important;font-size:32px!important;line-height:1.15!important;font-weight:800!important;color:#252525!important;letter-spacing:-.02em}
.sm-notice-featured-rule{height:2px;background:#a9a9a9;margin:25px 0 0}
.sm-notice-featured-list{width:100%}
.sm-notice-featured-item{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr) 34px;gap:16px;align-items:center;min-height:116px;padding:22px 0;border-bottom:1px solid #aaa}
.sm-notice-featured-dot{width:17px;height:17px;border-radius:50%;background:var(--nb-green);display:block;box-shadow:0 0 0 1px rgba(0,0,0,.02)}
.sm-notice-featured-main{min-width:0}
.sm-notice-featured-name{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:22px;line-height:1.3;font-weight:700;color:var(--nb-green-dark)!important;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px}
.sm-notice-featured-name:hover{color:#056d33!important}
.sm-notice-featured-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:12px;min-height:32px}
.sm-notice-featured-date{display:inline-flex;align-items:center;gap:7px;color:#333;font-size:17px;font-weight:600;line-height:1.2;white-space:nowrap}
.sm-notice-calendar{font-size:18px;color:#333;line-height:1}
.sm-notice-new-badge{display:inline-flex;align-items:center;justify-content:center;min-width:88px;height:34px;padding:0 18px;border-radius:20px;background:var(--nb-red);color:#fff!important;font-size:17px;font-weight:700;line-height:1}
.sm-notice-featured-category{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:125px;height:34px;padding:0 18px!important;border-radius:20px!important;background:var(--nb-cat)!important;color:var(--nb-cat-text)!important;font-size:17px!important;font-weight:600!important;line-height:1!important}
.sm-notice-attachment-count{display:inline-flex;align-items:center;font-size:14px;color:#666;font-weight:600;white-space:nowrap}
.sm-notice-featured-arrow{display:flex;width:34px;height:44px;align-items:center;justify-content:center;color:#555!important;text-decoration:none!important;font-size:43px!important;font-weight:300!important;line-height:1!important;transition:transform .15s ease,color .15s ease}
.sm-notice-featured-arrow:hover{color:var(--nb-green)!important;transform:translateX(3px)}
.sm-notice-featured-actions{display:flex;justify-content:center;padding-top:28px}
.sm-notice-featured .sm-notice-all-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-width:270px;min-height:58px;padding:12px 28px;border-radius:9px;background:var(--nb-green);color:#fff!important;text-decoration:none!important;font-size:21px;font-weight:700;line-height:1;box-shadow:0 4px 10px rgba(8,168,79,.16)}
.sm-notice-featured .sm-notice-all-button:hover{background:var(--nb-green-dark);transform:translateY(-1px)}
.sm-notice-featured-empty{padding:35px 10px;text-align:center;color:#666;font-size:16px}
@media (max-width:900px){
 .sm-notice-board-featured{padding:22px 20px 20px}
 .sm-notice-featured-title{font-size:28px!important}
 .sm-notice-featured-item{grid-template-columns:15px minmax(0,1fr) 28px;gap:12px;min-height:104px;padding:18px 0}
 .sm-notice-featured-dot{width:14px;height:14px}
 .sm-notice-featured-name{font-size:18px}
 .sm-notice-featured-date{font-size:15px}
 .sm-notice-new-badge,.sm-notice-featured-category{height:30px;min-width:auto;font-size:14px!important;padding:0 13px!important}
 .sm-notice-featured-arrow{width:28px;font-size:35px!important}
}
@media (max-width:600px){
 .sm-notice-board-featured{padding:18px 14px 18px;border-radius:14px}
 .sm-notice-featured-heading{gap:10px;min-height:45px}
 .sm-notice-doc-icon{width:31px;height:35px;flex-basis:31px}
 .sm-notice-doc-icon svg{width:31px;height:35px}
 .sm-notice-featured-title{font-size:24px!important}
 .sm-notice-featured-rule{margin-top:18px}
 .sm-notice-featured-item{grid-template-columns:12px minmax(0,1fr) 24px;gap:9px;min-height:100px;padding:17px 0}
 .sm-notice-featured-dot{width:12px;height:12px}
 .sm-notice-featured-name{font-size:16px;line-height:1.35}
 .sm-notice-featured-meta{gap:7px 8px;margin-top:9px}
 .sm-notice-featured-date{font-size:13px}
 .sm-notice-new-badge,.sm-notice-featured-category{height:27px;font-size:12px!important;padding:0 11px!important}
 .sm-notice-attachment-count{font-size:12px}
 .sm-notice-featured-arrow{width:24px;font-size:31px!important}
 .sm-notice-featured-actions{padding-top:22px}
 .sm-notice-featured .sm-notice-all-button{min-width:225px;min-height:50px;padding:10px 18px;font-size:17px}
}

/* =========================================================
   Notice Board v5.8 — single notice, icon downloads & share
========================================================= */
.sm-notice-table-title-link{color:#166534!important;text-decoration:none!important;font-weight:700;line-height:1.45}
.sm-notice-table-title-link:hover{text-decoration:underline!important;color:#0b7a3f!important}
.sm-notice-file-icons{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.sm-notice-file-icon-link{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d8e5dc;border-radius:8px;background:#f5fbf7;text-decoration:none!important;font-size:19px;line-height:1;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.sm-notice-file-icon-link:hover{transform:translateY(-1px);background:#e9f7ee;box-shadow:0 3px 8px rgba(16,110,56,.12)}
.sm-notice-view-button{display:inline-flex;align-items:center;justify-content:center;min-width:58px;padding:7px 13px;border-radius:7px;background:#078a43;color:#fff!important;text-decoration:none!important;font-size:12px;font-weight:800;line-height:1}
.sm-notice-view-button:hover{background:#056d35;color:#fff!important}
.sm-single-notice{max-width:900px;margin:0 auto;padding:24px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;box-shadow:0 8px 30px rgba(15,23,42,.06)}
.sm-single-notice-back{display:inline-flex;align-items:center;gap:5px;margin-bottom:18px;color:#087a3c!important;text-decoration:none!important;font-weight:700}
.sm-single-notice-back:hover{text-decoration:underline!important}
.sm-single-notice-header{padding:22px 24px;border-radius:13px;background:linear-gradient(135deg,#effaf3,#fff);border-left:5px solid #078a43}
.sm-single-notice-header h1{margin:0 0 13px!important;color:#183b2a!important;font-size:30px!important;line-height:1.3!important;font-weight:800!important}
.sm-single-notice-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#667085;font-size:14px}
.sm-single-notice-content{padding:25px 8px 8px;color:#30363d;font-size:16px;line-height:1.85}
.sm-single-notice-content img{max-width:100%;height:auto;border-radius:10px}
.sm-single-notice-content table{max-width:100%;width:100%;border-collapse:collapse}
.sm-single-notice-files{margin-top:24px;padding:20px;border-radius:12px;background:#f8faf9;border:1px solid #e1ece5}
.sm-single-notice-files h2,.sm-single-notice-share h2{margin:0 0 14px!important;font-size:18px!important;color:#183b2a!important}
.sm-single-notice-file-grid{display:flex;flex-wrap:wrap;gap:10px}
.sm-single-notice-file{display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid #d7e7dc;border-radius:9px;background:#fff;color:#14532d!important;text-decoration:none!important;font-weight:700;font-size:13px}
.sm-single-notice-file:hover{background:#effaf3}
.sm-single-notice-file-icon{font-size:20px;line-height:1}
.sm-single-notice-share{margin-top:24px;padding-top:20px;border-top:1px solid #e5e7eb}
.sm-notice-share-links{display:flex;gap:9px;flex-wrap:wrap}
.sm-notice-share-links a{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#fff!important;text-decoration:none!important;font-size:18px;font-weight:800;line-height:1;box-shadow:0 2px 7px rgba(0,0,0,.12)}
.sm-notice-share-links a:hover{transform:translateY(-1px);opacity:.9}
.sm-share-facebook{background:#1877f2}.sm-share-x{background:#111}.sm-share-whatsapp{background:#25d366}.sm-share-telegram{background:#229ed9}
@media(max-width:700px){
 .sm-single-notice{padding:14px;border-radius:12px}
 .sm-single-notice-header{padding:17px 15px}
 .sm-single-notice-header h1{font-size:23px!important}
 .sm-single-notice-content{padding:18px 2px 4px;font-size:15px}
 .sm-notice-table th,.sm-notice-table td{padding:9px 8px;font-size:12px}
 .sm-notice-table-title{min-width:170px}
 .sm-notice-file-icon-link{width:31px;height:31px;font-size:17px}
 .sm-notice-view-button{min-width:50px;padding:7px 9px}
}


/* =========================================================
   Notice News Ticker v5.9
========================================================= */
.sm-notice-ticker{display:flex;align-items:stretch;width:100%;max-width:100%;overflow:hidden;border:1px solid #dbe8df;border-radius:10px;background:#fff;box-shadow:0 2px 8px rgba(16,24,40,.06)}
.sm-notice-ticker-label{display:flex;align-items:center;gap:8px;flex:0 0 auto;padding:0 16px;background:#087a3c;color:#fff;font-size:14px;font-weight:800;white-space:nowrap;z-index:2}
.sm-notice-ticker-icon{font-size:16px;line-height:1}
.sm-notice-ticker-window{position:relative;min-width:0;flex:1;overflow:hidden}
.sm-notice-ticker-track{display:flex;align-items:center;width:max-content;min-height:48px;animation:smNoticeTickerMove var(--sm-ticker-duration,32s) linear infinite}
.sm-notice-ticker-track.sm-notice-ticker-pause:hover{animation-play-state:paused}
.sm-notice-ticker-item{display:inline-flex;align-items:center;gap:10px;padding:0 28px 0 16px;white-space:nowrap}
.sm-notice-ticker-dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#08a84f}
.sm-notice-ticker-link{color:#155f37!important;text-decoration:none!important;font-size:14px;font-weight:700;line-height:1.35}
.sm-notice-ticker-link:hover{text-decoration:underline!important;color:#087a3c!important}
.sm-notice-ticker-category{display:inline-flex;align-items:center;min-height:24px;padding:3px 9px;border-radius:999px;background:#fff2d8;color:#765516;font-size:11px;font-weight:700}
.sm-notice-ticker-date{color:#667085;font-size:11px;font-weight:600}
.sm-notice-ticker-empty{display:block;padding:12px 16px;color:#667085;background:#fff;border:1px solid #e5e7eb;border-radius:10px}
@keyframes smNoticeTickerMove{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(max-width:700px){
 .sm-notice-ticker-label{padding:0 11px;font-size:12px}
 .sm-notice-ticker-track{min-height:44px}
 .sm-notice-ticker-item{gap:7px;padding-right:20px;padding-left:12px}
 .sm-notice-ticker-link{font-size:12px}
 .sm-notice-ticker-category{font-size:10px;min-height:22px;padding:2px 7px}
 .sm-notice-ticker-date{font-size:10px}
}
@media(prefers-reduced-motion:reduce){
 .sm-notice-ticker-track{animation:none!important;transform:none!important;width:auto;flex-wrap:wrap}
 .sm-notice-ticker-window{overflow:auto}
 .sm-notice-ticker-item:nth-of-type(n+2){display:none}
}

/* =========================================================
   Notice Ticker Settings / Animation v6.0
========================================================= */
.sm-notice-ticker-slide .sm-notice-ticker-track,
.sm-notice-ticker-fade .sm-notice-ticker-track{position:relative;width:100%;min-height:48px;display:block;overflow:hidden;animation:none!important;transform:none!important}
.sm-notice-ticker-slide .sm-notice-ticker-item{position:absolute;inset:0;display:flex;width:100%;padding:0 16px;opacity:0;transform:translateX(105%);animation:smNoticeTickerSlide var(--sm-ticker-duration,32s) ease-in-out infinite;animation-delay:calc(var(--sm-ticker-delay,0s) - var(--sm-ticker-duration,32s));}
.sm-notice-ticker-fade .sm-notice-ticker-item{position:absolute;inset:0;display:flex;width:100%;padding:0 16px;opacity:0;animation:smNoticeTickerFade var(--sm-ticker-duration,32s) ease-in-out infinite;animation-delay:calc(var(--sm-ticker-delay,0s) - var(--sm-ticker-duration,32s));}
.sm-notice-ticker-slide .sm-notice-ticker-item:nth-child(1),.sm-notice-ticker-fade .sm-notice-ticker-item:nth-child(1){animation-delay:0s}
.sm-notice-ticker-slide .sm-notice-ticker-item:nth-child(2),.sm-notice-ticker-fade .sm-notice-ticker-item:nth-child(2){animation-delay:calc(var(--sm-ticker-duration,32s) / -2)}
.sm-notice-ticker-slide .sm-notice-ticker-item:nth-child(3),.sm-notice-ticker-fade .sm-notice-ticker-item:nth-child(3){animation-delay:calc(var(--sm-ticker-duration,32s) / -3)}
@keyframes smNoticeTickerSlide{0%,20%{opacity:0;transform:translateX(105%)}25%,70%{opacity:1;transform:translateX(0)}75%,100%{opacity:0;transform:translateX(-105%)}}
@keyframes smNoticeTickerFade{0%,20%{opacity:0}25%,70%{opacity:1}75%,100%{opacity:0}}
@media (max-width:767px){.sm-notice-ticker-slide .sm-notice-ticker-track,.sm-notice-ticker-fade .sm-notice-ticker-track{min-height:44px}.sm-notice-ticker-slide .sm-notice-ticker-item,.sm-notice-ticker-fade .sm-notice-ticker-item{padding:0 12px}.sm-notice-ticker-slide .sm-notice-ticker-item:nth-child(n+4),.sm-notice-ticker-fade .sm-notice-ticker-item:nth-child(n+4){display:none}}
@media (prefers-reduced-motion:reduce){.sm-notice-ticker-track{animation:none!important;transform:none!important}.sm-notice-ticker-slide .sm-notice-ticker-item,.sm-notice-ticker-fade .sm-notice-ticker-item{position:static!important;display:flex!important;opacity:1!important;transform:none!important;animation:none!important}.sm-notice-ticker-slide .sm-notice-ticker-item:nth-child(n+2),.sm-notice-ticker-fade .sm-notice-ticker-item:nth-child(n+2){display:none!important}}

/* =========================================================
   Teacher Directory / Profile v6.1
========================================================= */
.sm-teacher-grid-search{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 20px;align-items:center}
.sm-teacher-grid-search input{flex:1 1 260px;min-height:44px;padding:9px 13px;border:1px solid #d7e2dd;border-radius:10px;box-sizing:border-box;font-size:14px;background:#fff}
.sm-teacher-grid-search input:focus{outline:none;border-color:#0b7a4b;box-shadow:0 0 0 3px rgba(11,122,75,.10)}
.sm-teacher-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:10px 0 25px}
.sm-teacher-grid-cols-1{grid-template-columns:1fr}.sm-teacher-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm-teacher-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.sm-teacher-card{min-width:0;border:1px solid #dce9e2;border-radius:18px;background:#fff;box-shadow:0 8px 26px rgba(16,73,45,.08);overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.sm-teacher-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(16,73,45,.13);border-color:#b9d8c8}
.sm-teacher-card-link{display:block;padding:24px 18px 19px;text-align:center;text-decoration:none!important;color:#19372a!important;height:100%;box-sizing:border-box}
.sm-teacher-card-photo{width:128px;height:128px;display:block;margin:0 auto 14px;border-radius:50%;object-fit:cover;border:5px solid #fff;box-shadow:0 0 0 2px #0b7a4b,0 8px 18px rgba(12,82,50,.15);background:#eef7f1}
.sm-teacher-photo-placeholder{display:flex;align-items:center;justify-content:center;font-size:50px;color:#0b7a4b}
.sm-teacher-card h3{margin:5px 0 5px!important;font-size:19px!important;line-height:1.3!important;color:#123f2b!important;font-weight:800!important}
.sm-teacher-card-bangla{font-family:'Hind Siliguri',sans-serif;font-size:14px;color:#4f6c5e;margin-bottom:6px}
.sm-teacher-card-designation{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:3px 11px;border-radius:999px;background:#eaf7ef;color:#0b6f42;font-size:12px;font-weight:800}
.sm-teacher-card-subject{margin-top:9px;color:#66796f;font-size:12.5px;min-height:18px}
.sm-teacher-card-meta{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid #e6eee9;color:#6a7b73;font-size:11.5px;font-weight:700}
.sm-teacher-card-meta span{padding:5px 8px;border-radius:7px;background:#f7faf8}
.sm-teacher-empty{padding:24px;text-align:center;border:1px dashed #cbdcd2;border-radius:12px;color:#65766d;background:#fbfdfc}
.sm-teacher-single{max-width:900px;margin:0 auto;padding:24px;border:1px solid #dce9e2;border-radius:18px;background:#fff;box-shadow:0 10px 34px rgba(16,73,45,.08)}
.sm-teacher-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:18px;color:#0b7548!important;text-decoration:none!important;font-weight:800}
.sm-teacher-single-hero{display:flex;align-items:center;gap:24px;padding:24px;border-radius:15px;background:linear-gradient(135deg,#eef9f2,#fff);border-left:5px solid #0b7a4b;margin-bottom:22px}
.sm-teacher-single-photo{width:150px;height:150px;flex:0 0 150px;border-radius:50%;object-fit:cover;border:6px solid #fff;box-shadow:0 0 0 2px #0b7a4b,0 10px 22px rgba(12,82,50,.16);background:#eef7f1}
.sm-teacher-single-heading h2{margin:0 0 5px!important;font-size:28px!important;line-height:1.25!important;color:#123f2b!important;font-weight:800!important}
.sm-teacher-bangla-name{font-family:'Hind Siliguri',sans-serif;font-size:18px;color:#48655a;margin-bottom:7px}
.sm-teacher-designation{font-weight:800;color:#0b7548;font-size:15px}.sm-teacher-specialty{color:#66796f;font-size:13px;margin-top:4px}
.sm-teacher-detail-table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid #dce9e2;border-radius:12px;font-size:14px}
.sm-teacher-detail-table th,.sm-teacher-detail-table td{padding:11px 13px;border-bottom:1px solid #e6eee9;text-align:left;vertical-align:top}
.sm-teacher-detail-table th{width:28%;background:#f1f8f4;color:#24543d;font-weight:800}.sm-teacher-detail-table td{background:#fff;color:#303b35;word-break:break-word}.sm-teacher-detail-table tr:last-child th,.sm-teacher-detail-table tr:last-child td{border-bottom:0}
.sm-teacher-profile-card-head{display:flex;align-items:center;gap:13px;margin-bottom:14px}.sm-teacher-profile-card-head h3{margin:0 0 2px!important}.sm-teacher-profile-card-head p{margin:0;color:#6b7b72;font-size:12px}.sm-teacher-avatar{width:58px;height:58px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#eef7f1;color:#0b7548;flex:0 0 58px}.sm-teacher-avatar img{width:100%;height:100%;object-fit:cover}.sm-btn-small{padding:7px 10px!important;font-size:11px!important;margin-left:auto}
.sm-teacher-mini-table{width:100%;border-collapse:collapse;font-size:13px}.sm-teacher-mini-table th,.sm-teacher-mini-table td{padding:7px 8px;border-bottom:1px solid #e8eee9;text-align:left}.sm-teacher-mini-table th{width:32%;color:#557066}.sm-teacher-profile-editor{max-width:900px}.sm-profile-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.sm-profile-editor-heading h3{margin:0 0 3px!important}.sm-profile-editor-heading p{margin:0;color:#6a786f;font-size:12px}.sm-teacher-profile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}.sm-teacher-profile-fields label{display:block;font-size:12px;font-weight:800;color:#345447}.sm-teacher-profile-fields input,.sm-teacher-profile-fields select,.sm-teacher-profile-fields textarea{width:100%;box-sizing:border-box;margin-top:6px;padding:9px 11px;border:1px solid #d7e2dd;border-radius:9px;background:#fff;font-size:13px}.sm-teacher-profile-fields textarea{resize:vertical}
@media(max-width:900px){.sm-teacher-grid,.sm-teacher-grid-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.sm-teacher-single-hero{align-items:flex-start}}
@media(max-width:620px){.sm-teacher-grid,.sm-teacher-grid-cols-2,.sm-teacher-grid-cols-3,.sm-teacher-grid-cols-4{grid-template-columns:1fr}.sm-teacher-single{padding:14px}.sm-teacher-single-hero{flex-direction:column;text-align:center;padding:18px}.sm-teacher-single-photo{width:125px;height:125px;flex-basis:125px}.sm-teacher-single-heading{width:100%}.sm-teacher-single-heading h2{font-size:23px!important}.sm-teacher-profile-fields{grid-template-columns:1fr}.sm-profile-editor-heading{align-items:flex-start}.sm-teacher-detail-table th{width:38%}}


/* v6.1.2 Teacher directory polish */
.sm-teacher-card-photo{border-radius:12px!important;border:3px solid #e7ecef!important;box-shadow:0 3px 12px rgba(0,0,0,.10);object-fit:cover;}
.sm-teacher-single-photo{border-radius:14px!important;border:4px solid #e7ecef!important;box-shadow:0 4px 18px rgba(0,0,0,.12);object-fit:cover;}
.sm-teacher-details-page{width:min(100%,960px);margin:32px auto;padding:24px;background:#fff;border:1px solid #e7ecef;border-radius:18px;box-shadow:0 8px 30px rgba(0,0,0,.06);}
body.sm-teacher-details-page-active .sidebar,body.sm-teacher-details-page-active #secondary,body.sm-teacher-details-page-active .widget-area{display:none!important;}
body.sm-teacher-details-page-active #primary,body.sm-teacher-details-page-active .content-area{width:100%!important;max-width:100%!important;float:none!important;margin:0 auto!important;}
body.sm-teacher-details-page-active .site-main{max-width:100%!important;}
@media(max-width:768px){.sm-teacher-details-page{margin:16px auto;padding:16px}.sm-teacher-single-hero{gap:16px}.sm-teacher-single-photo{width:110px!important;height:110px!important}}

/* v6.2.0 Staff / Managing Committee + non-cropping 300x300 photos */
.sm-person-grid{display:grid;gap:24px;margin:20px 0}.sm-person-grid-cols-1{grid-template-columns:1fr}.sm-person-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm-person-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm-person-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm-person-card{border:1px solid #dce5e1;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 5px 18px rgba(20,60,45,.08);transition:transform .2s,box-shadow .2s}.sm-person-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(20,60,45,.14)}.sm-person-card-link{display:block;padding:18px;text-decoration:none;color:inherit;text-align:center}.sm-person-card-photo{display:block;width:300px;height:300px;max-width:100%;margin:0 auto 14px;object-fit:contain;object-position:center;border:3px solid #d6e4de;border-radius:10px;background:#f7faf8}.sm-person-photo-placeholder{display:flex;align-items:center;justify-content:center;font-size:58px;color:#6d7f77}.sm-person-card h3{margin:6px 0;font-size:20px}.sm-person-card-bangla{font-size:15px;color:#52635c;margin-bottom:5px}.sm-person-card-designation{font-weight:700;color:#0d6b4c}.sm-person-card-subject{color:#66756f;margin-top:3px}.sm-person-card-meta{margin-top:12px;font-size:13px;color:#53635c}.sm-person-grid-search{display:flex;gap:10px;margin:0 0 20px}.sm-person-grid-search input{flex:1;min-height:42px;padding:8px 12px}.sm-person-details-page{max-width:1050px;margin:35px auto;padding:24px;background:#fff;border:1px solid #e1e8e5;border-radius:18px;box-shadow:0 8px 30px rgba(0,0,0,.06)}.sm-person-single-hero{display:flex;align-items:center;justify-content:center;gap:30px;text-align:left;margin-bottom:28px}.sm-person-single-photo{width:300px;height:300px;max-width:100%;object-fit:contain;object-position:center;border:4px solid #d6e4de;border-radius:10px;background:#f7faf8}.sm-person-single-heading h1{margin:0 0 8px}.sm-person-single-heading .sm-teacher-designation{font-weight:700}.sm-person-details-page .sm-teacher-detail-table{width:100%;border-collapse:collapse}.sm-person-details-page .sm-teacher-detail-table th,.sm-person-details-page .sm-teacher-detail-table td{padding:12px 14px;border:1px solid #e1e8e5;text-align:left;vertical-align:top}.sm-person-details-page .sm-teacher-detail-table th{width:30%;background:#f3f7f5}.sm-person-details-page .sm-teacher-back{display:inline-block;margin-bottom:18px;text-decoration:none;font-weight:600}@media(max-width:900px){.sm-person-grid-cols-4,.sm-person-grid-cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.sm-person-grid-cols-4,.sm-person-grid-cols-3,.sm-person-grid-cols-2{grid-template-columns:1fr}.sm-person-single-hero{flex-direction:column;text-align:center}.sm-person-details-page{padding:16px;margin:18px auto}.sm-person-single-photo{width:240px;height:240px}}
body.sm-person-details-page-active .sidebar,body.sm-person-details-page-active .widget-area,body.sm-person-details-page-active #secondary{display:none!important}body.sm-person-details-page-active .content-area,body.sm-person-details-page-active #primary{width:100%!important;max-width:100%!important;float:none!important;margin:0 auto!important}
/* v6.2.0 Teacher photo: 300x300 fit, no crop, soft radius */
.sm-teacher-card-photo{width:300px!important;height:300px!important;max-width:100%!important;border-radius:10px!important;border:3px solid #d6e4de!important;box-shadow:0 4px 16px rgba(0,0,0,.08)!important;object-fit:contain!important;object-position:center!important;background:#f7faf8}
.sm-teacher-single-photo{width:300px!important;height:300px!important;max-width:100%!important;border-radius:10px!important;border:4px solid #d6e4de!important;box-shadow:0 4px 18px rgba(0,0,0,.10)!important;object-fit:contain!important;object-position:center!important;background:#f7faf8}
@media(max-width:768px){.sm-teacher-card-photo{width:260px!important;height:260px!important}.sm-teacher-single-photo{width:240px!important;height:240px!important}}

/* v6.2.2: responsive, non-cropping person photos */
.sm-person-card-photo,.sm-teacher-card-photo{display:block!important;width:min(300px,100%)!important;height:auto!important;aspect-ratio:1/1!important;max-width:100%!important;object-fit:contain!important;object-position:center!important;padding:0!important;box-sizing:border-box!important;background:#f7faf8!important;border-radius:10px!important;}
.sm-person-card-link{width:100%;box-sizing:border-box!important;}
@media(max-width:600px){.sm-person-card-photo,.sm-teacher-card-photo{width:100%!important;max-width:300px!important;height:auto!important;aspect-ratio:1/1!important;}}

/* v6.2.3 — Person card photo: fit the card cleanly, no separate photo border */
.sm-teacher-card-photo,
.sm-person-card-photo{
  display:block!important;
  width:100%!important;
  max-width:300px!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  margin:0 auto 14px!important;
  padding:0!important;
  box-sizing:border-box!important;
  object-fit:contain!important;
  object-position:center!important;
  border:0!important;
  outline:0!important;
  border-radius:12px!important;
  background:transparent!important;
  box-shadow:0 5px 16px rgba(20,60,45,.10)!important;
}
.sm-teacher-card-photo + *,
.sm-person-card-photo + *{position:relative;}
.sm-teacher-photo-placeholder,
.sm-person-photo-placeholder{
  min-height:0;
  background:linear-gradient(145deg,#f5faf7,#edf5f1)!important;
  border:0!important;
  box-shadow:0 5px 16px rgba(20,60,45,.08)!important;
}
@media(max-width:600px){
  .sm-teacher-card-photo,
  .sm-person-card-photo{width:100%!important;max-width:300px!important;aspect-ratio:1/1!important;}
}


/* v6.2.4 — Uniform person photos: same size, fill card, border belongs to image */
.sm-teacher-card-photo,
.sm-person-card-photo{
  display:block!important;
  width:100%!important;
  max-width:300px!important;
  height:300px!important;
  aspect-ratio:auto!important;
  margin:0 auto 14px!important;
  padding:0!important;
  box-sizing:border-box!important;
  object-fit:fill!important;
  object-position:center!important;
  border:2px solid #d6e4de!important;
  outline:0!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.sm-teacher-single-photo,
.sm-person-single-photo{
  width:300px!important;
  max-width:100%!important;
  height:300px!important;
  object-fit:fill!important;
  object-position:center!important;
  border:2px solid #d6e4de!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:none!important;
  padding:0!important;
  box-sizing:border-box!important;
}
@media(max-width:768px){
  .sm-teacher-card-photo,.sm-person-card-photo{width:100%!important;max-width:300px!important;height:260px!important;}
  .sm-teacher-single-photo,.sm-person-single-photo{width:240px!important;height:240px!important;}
}
@media(max-width:480px){
  .sm-teacher-card-photo,.sm-person-card-photo{height:auto!important;aspect-ratio:1/1!important;}
}

/* v6.2.5 — Unified premium profile cards: full-bleed, equal-size photos */
.sm-teacher-card,
.sm-person-card{
  position:relative!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid #dbe7e1!important;
  border-radius:18px!important;
  box-shadow:0 8px 24px rgba(20,65,48,.09)!important;
  transition:transform .22s ease, box-shadow .22s ease!important;
}
.sm-teacher-card:hover,
.sm-person-card:hover{
  transform:translateY(-4px)!important;
  box-shadow:0 14px 34px rgba(20,65,48,.15)!important;
}
.sm-teacher-card-link,
.sm-person-card-link{
  display:block!important;
  padding:0 0 18px!important;
  width:100%!important;
  box-sizing:border-box!important;
  text-decoration:none!important;
  color:inherit!important;
  overflow:hidden!important;
}
.sm-teacher-card-photo,
.sm-person-card-photo{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:270px!important;
  aspect-ratio:auto!important;
  margin:0 0 16px!important;
  padding:0!important;
  box-sizing:border-box!important;
  object-fit:cover!important;
  object-position:center center!important;
  border:0!important;
  outline:0!important;
  border-radius:0!important;
  background:#eef5f1!important;
  box-shadow:none!important;
}
.sm-teacher-card-photo,
.sm-person-card-photo{
  image-rendering:auto!important;
}
.sm-teacher-card h3,
.sm-person-card h3{
  margin:0 16px 6px!important;
  font-size:19px!important;
  line-height:1.35!important;
  font-weight:800!important;
  text-align:center!important;
}
.sm-teacher-card-bangla,
.sm-person-card-bangla,
.sm-teacher-card-designation,
.sm-teacher-card-subject,
.sm-person-card-designation,
.sm-person-card-subject,
.sm-teacher-card-meta,
.sm-person-card-meta{
  margin-left:16px!important;
  margin-right:16px!important;
  text-align:center!important;
}
.sm-teacher-card-designation,
.sm-person-card-designation{
  display:inline-block!important;
  margin-top:2px!important;
  padding:5px 11px!important;
  border-radius:999px!important;
  background:#edf8f2!important;
  color:#08734a!important;
  font-size:13px!important;
}
.sm-teacher-card-meta,
.sm-person-card-meta{
  display:flex!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin-top:11px!important;
}
.sm-teacher-card-meta span,
.sm-person-card-meta span{
  padding:5px 9px!important;
  border-radius:8px!important;
  background:#f5f7f6!important;
  color:#596962!important;
  font-size:12px!important;
}
.sm-teacher-photo-placeholder,
.sm-person-photo-placeholder{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#0b754b!important;
  font-size:56px!important;
  background:linear-gradient(135deg,#edf8f2,#dcefe6)!important;
}
@media(max-width:900px){
  .sm-teacher-card-photo,.sm-person-card-photo{height:250px!important;}
}
@media(max-width:600px){
  .sm-teacher-card-photo,.sm-person-card-photo{height:240px!important;}
  .sm-teacher-card h3,.sm-person-card h3{font-size:18px!important;}
}


/* v6.2.6 — Final unified card photo design */
.sm-teacher-card,
.sm-person-card{
  overflow:hidden!important;
  border:1px solid #d8e3de!important;
  border-radius:18px!important;
  background:#fff!important;
}
.sm-teacher-card-link,
.sm-person-card-link{
  display:block!important;
  width:100%!important;
  padding:0 0 18px!important;
  overflow:hidden!important;
}
.sm-teacher-card-photo,
.sm-person-card-photo{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:240px!important;
  min-height:240px!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  object-fit:fill!important;
  object-position:center center!important;
  border:0!important;
  outline:0!important;
  border-radius:0!important;
  background:#eef4f1!important;
  box-shadow:none!important;
}
.sm-teacher-photo-placeholder,
.sm-person-photo-placeholder{
  width:100%!important;
  height:240px!important;
  min-height:240px!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
@media (max-width:900px){
  .sm-teacher-card-photo,
  .sm-person-card-photo,
  .sm-teacher-photo-placeholder,
  .sm-person-photo-placeholder{
    height:220px!important;
    min-height:220px!important;
  }
}
@media (max-width:600px){
  .sm-teacher-card-photo,
  .sm-person-card-photo,
  .sm-teacher-photo-placeholder,
  .sm-person-photo-placeholder{
    height:210px!important;
    min-height:210px!important;
  }
}


/* v6.2.7 - Teacher card photo: round, while single teacher page remains unchanged */
.sm-teacher-card-photo{
  width:150px!important;
  height:150px!important;
  max-width:150px!important;
  min-height:150px!important;
  display:block!important;
  margin:0 auto 14px!important;
  border-radius:50%!important;
  object-fit:cover!important;
  object-position:center center!important;
  border:3px solid #ffffff!important;
  outline:2px solid #0b7a4b!important;
  box-shadow:0 8px 18px rgba(12,82,50,.15)!important;
  background:#eef7f1!important;
  box-sizing:border-box!important;
}
.sm-teacher-photo-placeholder{
  width:150px!important;
  height:150px!important;
  min-height:150px!important;
  max-width:150px!important;
  border-radius:50%!important;
  margin:0 auto 14px!important;
  border:3px solid #ffffff!important;
  outline:2px solid #0b7a4b!important;
  box-shadow:0 8px 18px rgba(12,82,50,.15)!important;
  box-sizing:border-box!important;
}
@media(max-width:600px){
  .sm-teacher-card-photo,.sm-teacher-photo-placeholder{
    width:125px!important;
    height:125px!important;
    min-height:125px!important;
    max-width:125px!important;
  }
}


/* v6.2.8 - Unified contained round photos for Teacher, Staff and Managing Committee cards.
 * The circular photo is fully contained inside the card; no outline extends beyond the card.
 * Single profile/detail page styles are intentionally untouched.
 */
.sm-teacher-card,
.sm-person-card{
  overflow:hidden!important;
}
.sm-teacher-card-photo,
.sm-person-card-photo{
  width:150px!important;
  height:150px!important;
  max-width:150px!important;
  min-width:150px!important;
  min-height:150px!important;
  max-height:150px!important;
  display:block!important;
  margin:18px auto 14px!important;
  padding:0!important;
  box-sizing:border-box!important;
  border-radius:50%!important;
  object-fit:cover!important;
  object-position:center center!important;
  border:4px solid #fff!important;
  outline:none!important;
  box-shadow:0 4px 14px rgba(12,82,50,.16)!important;
  background:#eef7f1!important;
  overflow:hidden!important;
}
.sm-teacher-photo-placeholder,
.sm-person-photo-placeholder{
  width:150px!important;
  height:150px!important;
  min-width:150px!important;
  min-height:150px!important;
  max-width:150px!important;
  max-height:150px!important;
  margin:18px auto 14px!important;
  box-sizing:border-box!important;
  border-radius:50%!important;
  border:4px solid #fff!important;
  outline:none!important;
  box-shadow:0 4px 14px rgba(12,82,50,.16)!important;
  overflow:hidden!important;
}
@media(max-width:600px){
  .sm-teacher-card-photo,
  .sm-person-card-photo,
  .sm-teacher-photo-placeholder,
  .sm-person-photo-placeholder{
    width:125px!important;
    height:125px!important;
    min-width:125px!important;
    min-height:125px!important;
    max-width:125px!important;
    max-height:125px!important;
    margin-top:14px!important;
  }
}


/* =========================================================================
   v6.3.7 — Teacher Dashboard UI
   Super-admin inspired front-end navigation, full-width portal and distinct
   submit-button colors. These styles are scoped to the School Management
   teacher portal and do not affect the WordPress admin.
   ========================================================================= */
.sm-teacher-dashboard-nav {
	margin: 0 0 20px;
	border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius);
	background: #fff;
	box-shadow: var(--sm-shadow);
	overflow: hidden;
}
.sm-teacher-dashboard-nav-title {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px 18px;
	background: linear-gradient(135deg, var(--sm-primary), var(--sm-accent));
	color: #fff;
}
.sm-teacher-dashboard-nav-title strong { display:block; font-size:16px; }
.sm-teacher-dashboard-nav-title small { display:block; margin-top:2px; opacity:.85; font-size:11px; }
.sm-teacher-nav-icon { font-size:25px; line-height:1; }
.sm-teacher-nav-menu {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}
.sm-teacher-nav-menu li { border-right:1px solid var(--sm-border); border-bottom:1px solid var(--sm-border); }
.sm-teacher-nav-menu li:nth-child(3n) { border-right:0; }
.sm-teacher-nav-menu li:last-child { border-right:0; }
.sm-teacher-nav-menu a {
	display:flex;
	align-items:center;
	gap:9px;
	min-height:48px;
	padding:10px 13px;
	color:var(--sm-text) !important;
	background:#fff !important;
	text-decoration:none !important;
	font-size:13px;
	font-weight:700;
	transition:background .15s,color .15s,transform .1s;
}
.sm-teacher-nav-menu a > span:last-child { margin-left:auto; opacity:.45; }
.sm-teacher-nav-menu a:hover,
.sm-teacher-nav-menu a:focus {
	background:#eef2ff !important;
	color:var(--sm-primary-dark) !important;
}
.sm-teacher-nav-bullet {
	color:var(--sm-primary);
	font-size:9px;
	flex:0 0 12px;
}
.sm-teacher-nav-heading {
	grid-column:1 / -1;
	padding:9px 13px;
	background:#faf9ff;
	color:var(--sm-primary-dark);
	font-size:11px;
	font-weight:800;
	text-transform:uppercase;
	letter-spacing:.04em;
}
.sm-teacher-nav-logout a { color:#b42318 !important; }
.sm-teacher-nav-logout .sm-teacher-nav-bullet { color:#e11d48; }

.sm-teacher-portal-page .sm-portal-box {
	max-width:1180px;
	width:100%;
	margin:24px auto;
}
.sm-teacher-portal-page .sm-portal-card {
	box-shadow:0 5px 18px rgba(30,27,46,.07);
}
.sm-teacher-portal-page .sm-portal-header {
	box-shadow:0 8px 22px rgba(79,70,229,.16);
}
.sm-teacher-portal-page .sm-ct-menu {
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
}
.sm-teacher-portal-page .sm-ct-menu li { border-right:1px solid var(--sm-border); }
.sm-teacher-portal-page .sm-ct-menu li:nth-child(2n) { border-right:0; }

/* Submit/action buttons: readable contrasting text and background. */
.sm-teacher-portal-page button[type="submit"].sm-submit-primary,
.sm-teacher-portal-page input[type="submit"].sm-submit-primary {
	background:#0f766e !important;
	color:#fff !important;
	border:1px solid #0f766e !important;
	box-shadow:0 4px 12px rgba(15,118,110,.22);
}
.sm-teacher-portal-page button[type="submit"].sm-submit-primary:hover,
.sm-teacher-portal-page input[type="submit"].sm-submit-primary:hover {
	background:#115e59 !important;
	color:#fff !important;
}
.sm-teacher-portal-page form button[type="submit"].sm-btn:not(.sm-submit-primary) {
	background:#eef2ff !important;
	color:#3730a3 !important;
	border:1px solid #c7d2fe !important;
	box-shadow:none !important;
}
.sm-teacher-portal-page form button[type="submit"].sm-btn:not(.sm-submit-primary):hover {
	background:#e0e7ff !important;
	color:#312e81 !important;
}
.sm-teacher-portal-page .sm-btn-outline {
	color:var(--sm-primary) !important;
	background:#fff !important;
}
.sm-teacher-portal-page .sm-teacher-profile-form input,
.sm-teacher-portal-page .sm-teacher-profile-form select,
.sm-teacher-portal-page .sm-teacher-profile-form textarea {
	width:100%;
	min-height:42px;
}
.sm-teacher-portal-page .sm-teacher-profile-form textarea { min-height:90px; }

@media (max-width: 800px) {
	.sm-teacher-nav-menu { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.sm-teacher-nav-menu li:nth-child(3n) { border-right:1px solid var(--sm-border); }
	.sm-teacher-nav-menu li:nth-child(2n) { border-right:0; }
	.sm-teacher-portal-page .sm-ct-menu { grid-template-columns:1fr; }
	.sm-teacher-portal-page .sm-ct-menu li { border-right:0; }
}
@media (max-width: 520px) {
	.sm-teacher-nav-menu { grid-template-columns:1fr; }
	.sm-teacher-nav-menu li,
	.sm-teacher-nav-menu li:nth-child(2n),
	.sm-teacher-nav-menu li:nth-child(3n) { border-right:0; }
	.sm-teacher-portal-page .sm-portal-box { margin:12px auto; }
	.sm-teacher-portal-page .sm-portal-header { padding:15px; }
}

/* v6.3.12 Class Teacher student-management additions */
.sm-student-manage-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.sm-status-badge{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:11px;font-weight:800}
.sm-btn-danger{background:#fff1f2!important;color:#be123c!important;border-color:#fecdd3!important}
.sm-student-manage-actions .sm-btn{min-height:38px}
.sm-student-info-print h3{text-align:center;margin-bottom:4px}.sm-student-info-print>p{text-align:center;margin-top:0}
@media print{
  .sm-print-area{width:100%!important;max-width:none!important;background:#fff!important;box-shadow:none!important;border:0!important}
  .sm-student-info-print table{font-size:12px}
}

/* =========================================================
   REPORT CARD A4 — compact one-page print layout
========================================================= */
.sm-report-card-a4{
  box-sizing:border-box!important;
  width:190mm!important;
  max-width:190mm!important;
  min-height:277mm!important;
  margin:0 auto!important;
  padding:6mm!important;
  background:#fff!important;
  border:1px solid #d7e0ec!important;
  border-radius:2mm!important;
  box-shadow:0 2mm 8mm rgba(15,23,42,.08)!important;
  overflow:hidden!important;
}
.sm-report-card-a4 .sm-rs-header{margin:0 0 2.5mm!important;padding:0 0 2.5mm!important}
.sm-report-card-a4 .sm-rs-logo{width:17mm!important;height:17mm!important}
.sm-report-card-a4 .sm-rs-header-text h1{font-size:5.2mm!important;margin-bottom:.8mm!important}
.sm-report-card-a4 .sm-rs-header-text p{font-size:2.45mm!important;margin:.3mm 0!important}
.sm-report-card-a4 .sm-rs-title{font-size:3.8mm!important;margin:2mm auto 2.5mm!important;padding:1.2mm 6mm!important}
.sm-report-card-a4 .sm-rs-info-table{font-size:2.45mm!important;margin-bottom:2mm!important}
.sm-report-card-a4 .sm-rs-info-table th,.sm-report-card-a4 .sm-rs-info-table td{padding:1.05mm 1.5mm!important;line-height:1.12!important}
.sm-report-card-a4 .sm-rs-subtitle{font-size:2.75mm!important;margin:1.6mm 0 .9mm!important;padding:.7mm 2.2mm!important}
.sm-report-card-a4 .sm-rs-marks-table{font-size:2.25mm!important}
.sm-report-card-a4 .sm-rs-marks-table th,.sm-report-card-a4 .sm-rs-marks-table td{padding:.85mm 1.2mm!important;line-height:1.08!important}
.sm-report-card-a4 .sm-rs-marks-table thead th{font-size:2.05mm!important}
.sm-report-card-a4 .sm-rs-summary{margin-top:2mm!important;padding:1.3mm!important;gap:1mm!important;font-size:2.25mm!important}
.sm-report-card-a4 .sm-rs-summary>div{padding:1.1mm 1mm!important}
.sm-report-card-a4 .sm-rs-summary>div strong{font-size:1.9mm!important;margin-bottom:.3mm!important}
.sm-report-card-a4 .sm-rs-signature-row{margin-top:2.5mm!important}
.sm-report-card-a4 .sm-rs-signature-box{width:38mm!important}
.sm-report-card-a4 .sm-rs-signature-box img{max-width:29mm!important;max-height:9mm!important}
.sm-report-card-a4 .sm-rs-signature-line{font-size:2.1mm!important;padding-top:.7mm!important}
.sm-report-card-a4 .sm-rs-signature-name{font-size:2.35mm!important}
.sm-report-card-a4 .sm-rs-signature-title{font-size:2mm!important}
.sm-report-card-a4 .sm-rs-footer{margin-top:1.8mm!important;padding-top:1mm!important;font-size:1.8mm!important;line-height:1.1!important}
@media print{
  @page sm-report-card-page{size:A4 portrait;margin:10mm}
  .sm-report-card-a4{
    page:sm-report-card-page!important;
    width:190mm!important;max-width:190mm!important;height:277mm!important;min-height:277mm!important;max-height:277mm!important;
    margin:0 auto!important;padding:5mm!important;border:0!important;border-radius:0!important;box-shadow:none!important;
    overflow:hidden!important;break-inside:avoid!important;page-break-inside:avoid!important;
  }
  .sm-report-card-a4 .sm-rs-marks-table tr{break-inside:avoid!important;page-break-inside:avoid!important}
}

/* ---------- Header Branding + Responsive Animated Banner Slider ---------- */
.sm-header-slider{width:100%;max-width:100%;margin:0 auto 24px;font-family:'Hind Siliguri','Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;box-sizing:border-box}
.sm-header-slider *{box-sizing:border-box}
.sm-header-slider-window{position:relative;width:100%;height:var(--sm-header-height);overflow:hidden;border-radius:0 0 16px 16px;background:#0b1220}
.sm-header-slider-track{position:relative;width:100%;height:100%;overflow:hidden}
.sm-header-slide{position:absolute;inset:0;opacity:0;visibility:hidden;z-index:1}
.sm-header-slide.is-active{opacity:1;visibility:visible;z-index:2}
.sm-header-slide>a,.sm-header-slide>img{display:block;width:100%;height:100%}
.sm-header-slide img{width:100%;height:100%;object-fit:var(--sm-header-fit);object-position:center;display:block}
.sm-header-brand-overlay{position:absolute;z-index:8;display:flex;align-items:center;gap:14px;max-width:min(90%,900px);padding:var(--sm-brand-padding);border-radius:14px;background:color-mix(in srgb,var(--sm-brand-bg) calc(var(--sm-brand-opacity)*100%),transparent);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);box-shadow:0 8px 28px rgba(0,0,0,.18);left:var(--sm-brand-margin-x);right:auto;top:var(--sm-brand-margin-y);bottom:auto;justify-content:flex-start;text-align:left}
.sm-header-brand-overlay[style*="--sm-brand-align:center"]{left:50%;right:auto;transform:translateX(-50%);justify-content:center;text-align:center}
.sm-header-brand-overlay[style*="--sm-brand-align:right"]{left:auto;right:var(--sm-brand-margin-x);justify-content:flex-end;text-align:right}
.sm-header-brand-overlay[style*="--sm-brand-vertical:center"]{top:50%;bottom:auto;transform:translateY(-50%)}
.sm-header-brand-overlay[style*="--sm-brand-align:center"][style*="--sm-brand-vertical:center"]{transform:translate(-50%,-50%)}
.sm-header-brand-overlay[style*="--sm-brand-vertical:bottom"]{top:auto;bottom:var(--sm-brand-margin-y);transform:none}
.sm-header-brand-overlay[style*="--sm-brand-align:center"][style*="--sm-brand-vertical:bottom"]{transform:translateX(-50%)}

.sm-header-brand-logo{width:var(--sm-logo-size);height:var(--sm-logo-size);min-width:var(--sm-logo-size);border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.92);border:2px solid rgba(255,255,255,.85);box-shadow:0 3px 12px rgba(0,0,0,.18)}
.sm-header-brand-logo img{width:100%;height:100%;object-fit:contain;display:block}
.sm-header-brand-text{min-width:0}.sm-header-school-name{font-size:var(--sm-name-size);line-height:1.15;font-weight:800;color:var(--sm-name-color);word-break:break-word;text-shadow:0 2px 7px rgba(0,0,0,.3)}
.sm-header-school-tagline{font-size:clamp(12px,1.5vw,17px);line-height:1.3;color:var(--sm-tagline-color);margin-top:5px;text-shadow:0 2px 5px rgba(0,0,0,.3)}
.sm-header-slider-window:after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.22),transparent 48%),linear-gradient(180deg,rgba(0,0,0,.15),transparent 35%,rgba(0,0,0,.08));}
.sm-header-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:9;width:42px;height:42px;border:0;border-radius:50%;background:rgba(15,61,117,.78);color:#fff;font-size:30px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 5px 18px rgba(0,0,0,.18)}
.sm-header-arrow:hover{background:rgba(22,119,200,.95)}.sm-header-prev{left:14px}.sm-header-next{right:14px}
.sm-header-dots{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);z-index:9;display:flex;gap:7px;padding:7px 10px;border-radius:999px;background:rgba(0,0,0,.28);backdrop-filter:blur(4px)}
.sm-header-dot{width:9px;height:9px;border:0;border-radius:50%;padding:0;background:rgba(255,255,255,.65);cursor:pointer}.sm-header-dot.is-active{width:25px;border-radius:999px;background:#fff}
.sm-header-slider-empty{padding:50px 20px;text-align:center;border:1px dashed #cbd5e1;border-radius:0 0 16px 16px;background:#f8fafc;color:#64748b}
/* Animation modes */
.sm-hs-animation-fade .sm-header-slide{transition:opacity .75s ease,visibility .75s ease}.sm-hs-animation-fade .sm-header-slide.is-active{opacity:1}
.sm-hs-animation-slide .sm-header-slide{transform:translateX(100%);opacity:1;visibility:visible;transition:transform .75s cubic-bezier(.22,.61,.36,1)}.sm-hs-animation-slide .sm-header-slide.is-active{transform:translateX(0)}
.sm-hs-animation-zoom .sm-header-slide{transition:opacity .7s ease,transform 4s ease;transform:scale(1.06)}.sm-hs-animation-zoom .sm-header-slide.is-active{opacity:1;visibility:visible;transform:scale(1)}
/* Continuous background scroll: each image slowly travels left; the clone makes the loop seamless. */
.sm-hs-animation-continuous .sm-header-slider-track{display:flex;width:max(200%,2000px);animation:smHeaderContinuous var(--sm-scroll-duration,22s) linear infinite}
.sm-hs-animation-continuous .sm-header-slide{position:relative;inset:auto;flex:0 0 50%;width:50%;height:100%;opacity:1;visibility:visible;transform:none!important}
.sm-hs-animation-continuous .sm-header-slide-clone{display:block}
@keyframes smHeaderContinuous{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.sm-header-slider:hover .sm-hs-animation-continuous .sm-header-slider-track{animation-play-state:paused}
@media(max-width:700px){
 .sm-header-brand-overlay{gap:9px;padding:7px 11px 7px 7px;max-width:calc(100% - 20px);border-radius:11px}
 .sm-header-slider-window{height:min(var(--sm-header-height),58vw);min-height:180px}
 .sm-header-brand-logo{width:min(var(--sm-logo-size),58px);height:min(var(--sm-logo-size),58px);min-width:min(var(--sm-logo-size),58px)}
 .sm-header-school-name{font-size:clamp(18px,5vw,var(--sm-name-size));}.sm-header-school-tagline{font-size:11px;margin-top:3px}
 .sm-header-arrow{width:34px;height:34px;font-size:24px}.sm-header-prev{left:8px}.sm-header-next{right:8px}.sm-header-dots{bottom:8px}
}
@media(prefers-reduced-motion:reduce){.sm-hs-animation-continuous .sm-header-slider-track{animation:none}.sm-hs-animation-slide .sm-header-slide,.sm-hs-animation-fade .sm-header-slide,.sm-hs-animation-zoom .sm-header-slide{transition:none}}

/* v6.3.28 portal documents */
.sm-notice-detail{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:22px;line-height:1.75}
.sm-notice-detail h2{margin-top:0}
.sm-portal-notice-list .sm-portal-notice{display:flex;align-items:center;justify-content:space-between;gap:12px}
@media print{body.sm-printing .sm-notice-detail{border:0!important;border-radius:0!important;padding:0!important}.sm-fee-slip{background:#fff!important}}

/* v6.3.29 modern mobile member portals */
.sm-member-mobile-nav{position:sticky;top:0;z-index:50;background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 8px 30px rgba(15,23,42,.08);margin-bottom:14px;overflow:hidden}
.sm-member-nav-brand{display:flex;align-items:center;gap:10px;padding:14px 16px;font-size:15px}
.sm-member-nav-brand>span{font-size:28px}.sm-member-nav-brand strong{display:block}.sm-member-nav-brand small{display:block;color:#64748b;margin-top:2px}
.sm-member-menu-toggle{display:none;width:100%;border:0;border-top:1px solid #eef2f7;background:#f8fafc;padding:11px 14px;text-align:left;font-weight:700}
.sm-member-nav-links{display:flex;flex-wrap:wrap;gap:6px;padding:0 10px 10px}
.sm-member-nav-links button,.sm-member-nav-links a{border:1px solid #e5e7eb;background:#fff;color:#334155;border-radius:10px;padding:9px 11px;text-decoration:none;font:inherit;font-size:13px;cursor:pointer}
.sm-member-nav-links button.is-active{background:#0f766e;color:#fff;border-color:#0f766e}
.sm-member-section{display:none}.sm-member-section.is-active{display:block}
.sm-member-home.is-active{display:block}
@media(max-width:700px){
 .sm-member-menu-toggle{display:block}.sm-member-nav-links{display:none;padding:10px}.sm-member-mobile-nav.menu-open .sm-member-nav-links{display:grid;grid-template-columns:1fr 1fr}
 .sm-member-nav-links button,.sm-member-nav-links a{width:100%;text-align:left}.sm-member-nav-links a{box-sizing:border-box}
 .sm-member-nav-brand{padding:12px}.sm-member-nav-brand>span{font-size:24px}
}
@media print{.sm-member-mobile-nav{display:none!important}.sm-member-section.is-active{display:block!important}.sm-member-section:not(.is-active){display:none!important}}

.sm-mark-entry{display:flex;gap:5px;align-items:center}.sm-mark-entry input{min-width:90px}.sm-mark-absent{border:1px solid #cbd5e1;background:#f8fafc;border-radius:7px;padding:6px 8px;cursor:pointer}

.sm-member-home-info{display:block}.sm-mark-entry{display:flex;gap:5px;align-items:center}.sm-mark-entry input{min-width:90px}.sm-mark-absent{border:1px solid #cbd5e1;background:#f8fafc;border-radius:7px;padding:6px 8px;cursor:pointer}

/* v6.3.30: WordPress-style left sidebar for member portals */
.sm-member-standalone-root .sm-portal-box{max-width:none!important;width:100%!important;margin:0!important;min-height:100vh!important;display:flex!important;align-items:stretch!important;background:#f5f7fb!important;}
.sm-member-standalone-root .sm-member-mobile-nav{position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:250px!important;height:100vh!important;z-index:100!important;border:0!important;border-radius:0!important;margin:0!important;overflow-y:auto!important;box-shadow:2px 0 18px rgba(15,23,42,.08)!important;background:#fff!important;}
.sm-member-standalone-root .sm-member-nav-brand{padding:20px 18px!important;border-bottom:1px solid #eef2f7!important;min-height:58px!important;}
.sm-member-standalone-root .sm-member-menu-toggle{display:none!important;}
.sm-member-standalone-root .sm-member-nav-links{display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;gap:4px!important;padding:12px!important;}
.sm-member-standalone-root .sm-member-nav-links button,.sm-member-standalone-root .sm-member-nav-links a{width:100%!important;box-sizing:border-box!important;text-align:left!important;border:0!important;border-radius:9px!important;padding:11px 13px!important;background:transparent!important;color:#334155!important;}
.sm-member-standalone-root .sm-member-nav-links button:hover,.sm-member-standalone-root .sm-member-nav-links a:hover{background:#f1f5f9!important;}
.sm-member-standalone-root .sm-member-nav-links button.is-active{background:#0f766e!important;color:#fff!important;}
.sm-member-standalone-root .sm-member-nav-links a{margin-top:8px!important;color:#b91c1c!important;}
.sm-member-standalone-root .sm-member-mobile-nav~.sm-member-section,
.sm-member-standalone-root .sm-member-mobile-nav~.sm-member-home-info{margin-left:250px!important;}
.sm-member-standalone-root .sm-member-section.is-active{min-height:100vh!important;padding:24px!important;box-sizing:border-box!important;}
.sm-member-standalone-root .sm-member-home-info{margin-left:250px!important;padding:24px!important;box-sizing:border-box!important;}
.sm-password-panel{margin-top:12px;padding:12px;border:1px solid #e5e7eb;border-radius:12px;background:#f8fafc;}
.sm-password-panel[hidden]{display:none!important;}
@media(max-width:800px){
 .sm-member-standalone-root .sm-member-mobile-nav{position:fixed!important;width:76px!important;}
 .sm-member-standalone-root .sm-member-nav-brand{padding:14px 8px!important;justify-content:center!important;}
 .sm-member-standalone-root .sm-member-nav-brand div{display:none!important;}
 .sm-member-standalone-root .sm-member-nav-brand>span{font-size:25px!important;}
 .sm-member-standalone-root .sm-member-nav-links{padding:8px 6px!important;}
 .sm-member-standalone-root .sm-member-nav-links button,.sm-member-standalone-root .sm-member-nav-links a{font-size:0!important;text-align:center!important;padding:12px 5px!important;}
 .sm-member-standalone-root .sm-member-nav-links button::first-letter,.sm-member-standalone-root .sm-member-nav-links a::first-letter{font-size:20px!important;}
 .sm-member-standalone-root .sm-member-section.is-active,.sm-member-standalone-root .sm-member-home-info{margin-left:76px!important;}
 .sm-member-standalone-root .sm-member-section.is-active{padding:12px!important;}
 .sm-member-standalone-root .sm-member-home-info{padding:12px!important;}
}

/* v6.3.31 — modern left sidebar: labels visible on mobile, optional icon-only collapse */
.sm-member-nav-brand{position:relative!important;}
.sm-member-sidebar-toggle{margin-left:auto!important;flex:0 0 auto!important;width:32px!important;height:32px!important;border:1px solid #e2e8f0!important;border-radius:8px!important;background:#f8fafc!important;color:#334155!important;font-size:20px!important;line-height:1!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;}
.sm-member-sidebar-toggle:hover{background:#eef2f7!important;}
.sm-member-standalone-root .sm-member-mobile-nav{width:250px!important;}
.sm-member-standalone-root .sm-member-nav-links button,.sm-member-standalone-root .sm-member-nav-links a{font-size:14px!important;}
.sm-member-standalone-root .sm-member-nav-links button::first-letter,.sm-member-standalone-root .sm-member-nav-links a::first-letter{font-size:18px!important;}
.sm-member-standalone-root .sm-member-mobile-nav.is-collapsed{width:76px!important;}
.sm-member-standalone-root .sm-member-mobile-nav.is-collapsed .sm-member-nav-brand{justify-content:center!important;padding-left:8px!important;padding-right:8px!important;}
.sm-member-standalone-root .sm-member-mobile-nav.is-collapsed .sm-member-nav-brand div{display:none!important;}
.sm-member-standalone-root .sm-member-mobile-nav.is-collapsed .sm-member-sidebar-toggle{margin-left:0!important;position:absolute!important;right:5px!important;top:7px!important;width:24px!important;height:24px!important;font-size:16px!important;}
.sm-member-standalone-root .sm-member-mobile-nav.is-collapsed .sm-member-nav-links button,.sm-member-standalone-root .sm-member-mobile-nav.is-collapsed .sm-member-nav-links a{font-size:0!important;text-align:center!important;padding:12px 5px!important;}
.sm-member-standalone-root .sm-member-mobile-nav.is-collapsed .sm-member-nav-links button::first-letter,.sm-member-standalone-root .sm-member-mobile-nav.is-collapsed .sm-member-nav-links a::first-letter{font-size:20px!important;}
.sm-member-standalone-root .sm-member-mobile-nav.is-collapsed~.sm-member-section,
.sm-member-standalone-root .sm-member-mobile-nav.is-collapsed~.sm-member-home-info{margin-left:76px!important;}
.sm-member-standalone-root .sm-member-section,.sm-member-standalone-root .sm-member-home-info{margin-left:250px!important;}
@media(max-width:600px){
  .sm-member-standalone-root .sm-member-mobile-nav{width:220px!important;}
  .sm-member-standalone-root .sm-member-nav-brand{padding:14px 12px!important;}
  .sm-member-standalone-root .sm-member-nav-links{display:flex!important;flex-direction:column!important;gap:4px!important;padding:10px!important;}
  .sm-member-standalone-root .sm-member-nav-links button,.sm-member-standalone-root .sm-member-nav-links a{font-size:13px!important;text-align:left!important;padding:11px 12px!important;}
  .sm-member-standalone-root .sm-member-section,.sm-member-standalone-root .sm-member-home-info{margin-left:220px!important;}
  .sm-member-standalone-root .sm-member-mobile-nav.is-collapsed{width:68px!important;}
  .sm-member-standalone-root .sm-member-mobile-nav.is-collapsed~.sm-member-section,
  .sm-member-standalone-root .sm-member-mobile-nav.is-collapsed~.sm-member-home-info{margin-left:68px!important;}
  .sm-member-standalone-root .sm-member-mobile-nav.is-collapsed .sm-member-nav-links button,.sm-member-standalone-root .sm-member-mobile-nav.is-collapsed .sm-member-nav-links a{font-size:0!important;text-align:center!important;padding:12px 4px!important;}
}

/* v6.3.32 — dashboard home cards + persistent active sections */
.sm-home-stack{display:flex!important;flex-direction:column!important;gap:16px!important;width:100%!important;}
.sm-home-stack>.sm-portal-card{width:100%!important;box-sizing:border-box!important;}
.sm-btn-logout{background:#b91c1c!important;color:#fff!important;border:1px solid #991b1b!important;padding:9px 16px!important;border-radius:9px!important;text-decoration:none!important;font-weight:700!important;display:inline-block!important;}
.sm-btn-logout:hover,.sm-btn-logout:focus{background:#991b1b!important;color:#fff!important;}
.sm-member-nav-links .sm-member-nav-logout,
.sm-member-nav-links a[href*="logout"]{background:#b91c1c!important;color:#fff!important;border-color:#991b1b!important;font-weight:700!important;}
.sm-member-nav-links a[href*="logout"]:hover,.sm-member-nav-links a[href*="logout"]:focus{background:#991b1b!important;color:#fff!important;}
@media(max-width:800px){
  .sm-home-stack{gap:12px!important;}
  .sm-member-standalone-root .sm-home-stack>.sm-portal-card{padding:14px!important;}
}


/* v6.3.39 — Modern Teacher Dashboard: WordPress-style sidebar, mobile labels + collapse */
.sm-teacher-standalone-root .sm-portal-box{
  max-width:none!important;width:100%!important;margin:0!important;min-height:100vh!important;
  background:#f5f7fb!important;box-sizing:border-box!important;
}
.sm-teacher-standalone-root .sm-teacher-sidebar{
  position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:258px!important;
  z-index:100!important;background:#111827!important;color:#fff!important;overflow-y:auto!important;
  box-shadow:2px 0 18px rgba(15,23,42,.18)!important;transition:width .18s ease!important;
}
.sm-teacher-sidebar-brand{min-height:66px;display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.09);box-sizing:border-box;position:relative;}
.sm-teacher-brand-icon{font-size:27px;line-height:1;flex:0 0 auto}.sm-teacher-brand-text strong{display:block;font-size:15px;line-height:1.2}.sm-teacher-brand-text small{display:block;color:#cbd5e1;font-size:10px;margin-top:3px}
.sm-teacher-sidebar-toggle{margin-left:auto;width:31px;height:31px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);color:#fff;border-radius:8px;cursor:pointer;font-size:19px;line-height:1;display:flex;align-items:center;justify-content:center;}
.sm-teacher-sidebar-toggle:hover{background:rgba(255,255,255,.14)}
.sm-teacher-sidebar-nav{display:flex;flex-direction:column;gap:3px;padding:10px 9px 18px;}
.sm-teacher-sidebar-nav a{display:flex!important;align-items:center;gap:11px;min-height:42px;padding:9px 11px!important;border-radius:9px!important;color:#e5e7eb!important;background:transparent!important;text-decoration:none!important;font-size:13px!important;font-weight:600!important;box-sizing:border-box;}
.sm-teacher-sidebar-nav a:hover{background:#1f2937!important;color:#fff!important}.sm-teacher-sidebar-nav a.is-active{background:linear-gradient(135deg,#4f46e5,#7c3aed)!important;color:#fff!important;box-shadow:0 5px 14px rgba(79,70,229,.28)!important}
.sm-teacher-menu-icon{width:24px;flex:0 0 24px;text-align:center;font-size:18px;line-height:1}.sm-teacher-menu-label{white-space:normal;line-height:1.25}.sm-teacher-menu-heading{padding:15px 11px 6px;color:#94a3b8;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.sm-teacher-sidebar-nav a.sm-teacher-menu-logout{margin-top:10px;background:#b91c1c!important;color:#fff!important;border:1px solid #991b1b!important}.sm-teacher-sidebar-nav a.sm-teacher-menu-logout:hover{background:#991b1b!important}
.sm-teacher-standalone-root .sm-teacher-sidebar~.sm-portal-box{margin-left:258px!important;width:calc(100% - 258px)!important;max-width:none!important;box-sizing:border-box!important;padding:22px 24px 30px!important;}
.sm-teacher-standalone-root .sm-teacher-sidebar~.sm-portal-box .sm-portal-box{margin-left:0!important;width:100%!important;max-width:none!important;}
.sm-teacher-standalone-root .sm-teacher-sidebar~.sm-portal-box .sm-portal-header{margin-top:0!important}
.sm-teacher-standalone-root .sm-teacher-sidebar.is-collapsed{width:76px!important}
.sm-teacher-standalone-root .sm-teacher-sidebar.is-collapsed .sm-teacher-brand-text,
.sm-teacher-standalone-root .sm-teacher-sidebar.is-collapsed .sm-teacher-menu-label,
.sm-teacher-standalone-root .sm-teacher-sidebar.is-collapsed .sm-teacher-menu-heading{display:none!important}
.sm-teacher-standalone-root .sm-teacher-sidebar.is-collapsed .sm-teacher-sidebar-brand{justify-content:center;padding:12px 7px}.sm-teacher-standalone-root .sm-teacher-sidebar.is-collapsed .sm-teacher-sidebar-toggle{position:absolute;right:5px;top:7px;width:24px;height:24px;font-size:16px;margin:0}
.sm-teacher-standalone-root .sm-teacher-sidebar.is-collapsed .sm-teacher-sidebar-nav{padding:10px 6px}.sm-teacher-standalone-root .sm-teacher-sidebar.is-collapsed .sm-teacher-sidebar-nav a{justify-content:center;padding:10px 5px!important}.sm-teacher-standalone-root .sm-teacher-sidebar.is-collapsed .sm-teacher-menu-icon{width:auto;flex:0 0 auto;font-size:20px}
.sm-teacher-standalone-root .sm-teacher-sidebar.is-collapsed~.sm-portal-box{margin-left:76px!important;width:calc(100% - 76px)!important}
.sm-teacher-standalone-root .sm-teacher-profile-card,.sm-teacher-standalone-root .sm-teacher-profile-editor,.sm-teacher-standalone-root .sm-teacher-password-editor{border-radius:16px!important;box-shadow:0 8px 28px rgba(15,23,42,.08)!important}
.sm-teacher-standalone-root .sm-portal-header{border-radius:16px!important}
@media(max-width:800px){
 .sm-teacher-standalone-root .sm-teacher-sidebar{width:220px!important}.sm-teacher-standalone-root .sm-teacher-sidebar~.sm-portal-box{margin-left:220px!important;width:calc(100% - 220px)!important;padding:14px 12px 24px!important}
 .sm-teacher-standalone-root .sm-teacher-sidebar.is-collapsed{width:68px!important}.sm-teacher-standalone-root .sm-teacher-sidebar.is-collapsed~.sm-portal-box{margin-left:68px!important;width:calc(100% - 68px)!important}
 .sm-teacher-standalone-root .sm-teacher-sidebar-nav a{font-size:13px!important;min-height:44px}.sm-teacher-brand-icon{font-size:24px}
}
@media(max-width:480px){
 .sm-teacher-standalone-root .sm-teacher-sidebar{width:205px!important}.sm-teacher-standalone-root .sm-teacher-sidebar~.sm-portal-box{margin-left:205px!important;width:calc(100% - 205px)!important;padding:10px 8px 20px!important}
 .sm-teacher-standalone-root .sm-teacher-sidebar.is-collapsed{width:62px!important}.sm-teacher-standalone-root .sm-teacher-sidebar.is-collapsed~.sm-portal-box{margin-left:62px!important;width:calc(100% - 62px)!important}
 .sm-teacher-sidebar-nav{padding:8px 6px 14px}.sm-teacher-sidebar-nav a{gap:8px;padding:9px 8px!important;font-size:12px!important}.sm-teacher-menu-icon{width:21px;flex-basis:21px;font-size:17px}
 .sm-teacher-standalone-root .sm-teacher-sidebar.is-collapsed .sm-teacher-menu-icon{font-size:19px}
}
@media print{
 .sm-teacher-standalone-root .sm-teacher-sidebar{display:none!important}.sm-teacher-standalone-root .sm-teacher-sidebar~.sm-portal-box,.sm-teacher-standalone-root .sm-teacher-sidebar.is-collapsed~.sm-portal-box{margin-left:0!important;width:100%!important;padding:0!important}
}


/* v6.3.40 — Teacher dashboard sidebar matches the Student Dashboard style.
 * WordPress-style fixed left navigation, labels visible, optional icon-only collapse,
 * responsive on mobile, teal active state, clean white sidebar.
 */
.sm-teacher-standalone-root .sm-teacher-sidebar{
  position:fixed!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  width:250px!important;
  height:100vh!important;
  z-index:100!important;
  margin:0!important;
  padding:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  background:#fff!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:2px 0 18px rgba(15,23,42,.08)!important;
  box-sizing:border-box!important;
  color:#334155!important;
}
.sm-teacher-standalone-root .sm-teacher-sidebar-brand{
  min-height:58px!important;
  padding:20px 18px!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  border-bottom:1px solid #eef2f7!important;
  background:#fff!important;
  color:#334155!important;
  box-sizing:border-box!important;
}
.sm-teacher-standalone-root .sm-teacher-brand-icon{font-size:28px!important;line-height:1!important;}
.sm-teacher-standalone-root .sm-teacher-brand-text strong{
  display:block!important;
  font-size:15px!important;
  color:#0f172a!important;
}
.sm-teacher-standalone-root .sm-teacher-brand-text small{
  display:block!important;
  margin-top:2px!important;
  color:#64748b!important;
  font-size:12px!important;
}
.sm-teacher-standalone-root .sm-teacher-sidebar-toggle{
  margin-left:auto!important;
  flex:0 0 auto!important;
  width:32px!important;
  height:32px!important;
  border:1px solid #e2e8f0!important;
  border-radius:8px!important;
  background:#f8fafc!important;
  color:#334155!important;
  font-size:20px!important;
  line-height:1!important;
  cursor:pointer!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.sm-teacher-standalone-root .sm-teacher-sidebar-toggle:hover{
  background:#eef2f7!important;
}
.sm-teacher-standalone-root .sm-teacher-sidebar-nav{
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
  padding:12px!important;
  background:#fff!important;
}
.sm-teacher-standalone-root .sm-teacher-sidebar-nav a{
  width:100%!important;
  min-height:42px!important;
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  box-sizing:border-box!important;
  padding:11px 13px!important;
  border:0!important;
  border-radius:9px!important;
  background:transparent!important;
  color:#334155!important;
  text-decoration:none!important;
  font-size:14px!important;
  font-weight:600!important;
}
.sm-teacher-standalone-root .sm-teacher-sidebar-nav a:hover{
  background:#f1f5f9!important;
  color:#0f172a!important;
}
.sm-teacher-standalone-root .sm-teacher-sidebar-nav a.is-active{
  background:#0f766e!important;
  color:#fff!important;
  box-shadow:none!important;
}
.sm-teacher-standalone-root .sm-teacher-menu-icon{
  width:22px!important;
  flex:0 0 22px!important;
  text-align:center!important;
  font-size:19px!important;
  line-height:1!important;
}
.sm-teacher-standalone-root .sm-teacher-menu-label{display:block!important;}
.sm-teacher-standalone-root .sm-teacher-menu-heading{
  margin:12px 8px 4px!important;
  padding:0!important;
  color:#64748b!important;
  font-size:11px!important;
  font-weight:700!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
}
.sm-teacher-standalone-root .sm-teacher-sidebar-nav a.sm-teacher-menu-logout{
  margin-top:8px!important;
  background:#b91c1c!important;
  color:#fff!important;
  border:1px solid #991b1b!important;
  font-weight:700!important;
}
.sm-teacher-standalone-root .sm-teacher-sidebar-nav a.sm-teacher-menu-logout:hover{
  background:#991b1b!important;
  color:#fff!important;
}

/* Content starts beside the sidebar, exactly like the member/student portal. */
.sm-teacher-standalone-root .sm-teacher-sidebar ~ .sm-portal-box{
  margin-left:250px!important;
  width:calc(100% - 250px)!important;
  max-width:none!important;
  box-sizing:border-box!important;
  padding:24px!important;
}
.sm-teacher-standalone-root .sm-teacher-sidebar.is-collapsed{
  width:76px!important;
}
.sm-teacher-standalone-root .sm-teacher-sidebar.is-collapsed .sm-teacher-brand-text,
.sm-teacher-standalone-root .sm-teacher-sidebar.is-collapsed .sm-teacher-menu-label,
.sm-teacher-standalone-root .sm-teacher-sidebar.is-collapsed .sm-teacher-menu-heading{
  display:none!important;
}
.sm-teacher-standalone-root .sm-teacher-sidebar.is-collapsed .sm-teacher-sidebar-brand{
  justify-content:center!important;
  padding:14px 8px!important;
}
.sm-teacher-standalone-root .sm-teacher-sidebar.is-collapsed .sm-teacher-sidebar-toggle{
  position:absolute!important;
  right:5px!important;
  top:7px!important;
  width:24px!important;
  height:24px!important;
  margin:0!important;
  font-size:16px!important;
}
.sm-teacher-standalone-root .sm-teacher-sidebar.is-collapsed .sm-teacher-sidebar-nav{
  padding:8px 6px!important;
}
.sm-teacher-standalone-root .sm-teacher-sidebar.is-collapsed .sm-teacher-sidebar-nav a{
  justify-content:center!important;
  padding:12px 5px!important;
}
.sm-teacher-standalone-root .sm-teacher-sidebar.is-collapsed .sm-teacher-menu-icon{
  width:auto!important;
  flex:0 0 auto!important;
  font-size:20px!important;
}
.sm-teacher-standalone-root .sm-teacher-sidebar.is-collapsed ~ .sm-portal-box{
  margin-left:76px!important;
  width:calc(100% - 76px)!important;
}

/* Mobile: labels remain visible by default, just like the Student Dashboard.
 * Collapse changes to icon-only.
 */
@media(max-width:800px){
  .sm-teacher-standalone-root .sm-teacher-sidebar{
    width:220px!important;
  }
  .sm-teacher-standalone-root .sm-teacher-sidebar ~ .sm-portal-box{
    margin-left:220px!important;
    width:calc(100% - 220px)!important;
    padding:14px 12px 24px!important;
  }
  .sm-teacher-standalone-root .sm-teacher-sidebar.is-collapsed{
    width:68px!important;
  }
  .sm-teacher-standalone-root .sm-teacher-sidebar.is-collapsed ~ .sm-portal-box{
    margin-left:68px!important;
    width:calc(100% - 68px)!important;
  }
}
@media(max-width:600px){
  .sm-teacher-standalone-root .sm-teacher-sidebar{
    width:220px!important;
  }
  .sm-teacher-standalone-root .sm-teacher-sidebar-brand{
    padding:14px 12px!important;
  }
  .sm-teacher-standalone-root .sm-teacher-sidebar-nav{
    padding:10px!important;
  }
  .sm-teacher-standalone-root .sm-teacher-sidebar-nav a{
    min-height:42px!important;
    padding:11px 12px!important;
    font-size:13px!important;
  }
  .sm-teacher-standalone-root .sm-teacher-sidebar.is-collapsed{
    width:68px!important;
  }
  .sm-teacher-standalone-root .sm-teacher-sidebar.is-collapsed .sm-teacher-sidebar-nav a{
    font-size:0!important;
    text-align:center!important;
    padding:12px 4px!important;
  }
  .sm-teacher-standalone-root .sm-teacher-sidebar.is-collapsed .sm-teacher-menu-icon{
    font-size:20px!important;
  }
}
