/* ===== فونت و پایه ===== */
@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;500;700;900&display=swap');

.hlms-course-page, .hlms-dashboard, .hlms-auth-box,
.hlms-instructor-panel, .hlms-leaderboard, .hlms-buy-box {
	font-family: 'Vazirmatn', Tahoma, sans-serif;
}

/* ===== صفحه دوره ===== */
.hlms-course-page { max-width: 1200px; margin: 0 auto; }
.hlms-course-header { margin-bottom: 16px; }
.hlms-course-header h2 { margin-bottom: 8px; }
.hlms-progress-bar { background: #eee; border-radius: 20px; height: 10px; max-width: 400px; overflow: hidden; }
.hlms-progress-fill { background: linear-gradient(90deg, #c9a227, #e3c567); height: 100%; transition: width .4s; }
.hlms-progress-text { font-size: 13px; color: #666; }

.hlms-btn {
	display: inline-block; background: #b4232c; color: #fff !important;
	padding: 9px 20px; border-radius: 8px; text-decoration: none;
	font-weight: 700; margin: 4px; border: none; cursor: pointer; transition: .2s;
}
.hlms-btn:hover { background: #9a1e26; }
.hlms-btn-gold { background: linear-gradient(135deg, #c9a227, #e3c567); color: #2b2118 !important; }
.hlms-btn-buy  { background: #198754; font-size: 15px; padding: 12px 28px; }
.hlms-btn-buy:hover { background: #146c43; }
.hlms-btn-outline {
	display: inline-block; border: 2px solid #b4232c; color: #b4232c !important;
	padding: 8px 18px; border-radius: 8px; text-decoration: none;
	font-weight: 700; margin: 4px; transition: .2s;
}
.hlms-btn-outline:hover { background: #b4232c; color: #fff !important; }

.hlms-course-body { display: flex; gap: 20px; margin-top: 16px; flex-wrap: wrap; }
.hlms-player-area { flex: 2; min-width: 320px; }
.hlms-curriculum {
	flex: 1; min-width: 240px; background: #fafafa; border: 1px solid #e8e8e8;
	border-radius: 12px; padding: 14px; max-height: 640px; overflow-y: auto;
}
.hlms-curriculum h3 { margin: 0 0 12px; font-size: 15px; }
.hlms-chapter { margin-bottom: 12px; }
.hlms-chapter-title { font-weight: 700; padding: 6px 8px; background: #f0f0f0; border-radius: 6px; font-size: 13px; margin-bottom: 4px; }
.hlms-lesson-list { list-style: none; margin: 0; padding: 0; }
.hlms-lesson-list li { border-radius: 6px; }
.hlms-lesson-list li.active { background: #fff3e0; }
.hlms-lesson-list li.locked a { color: #aaa; pointer-events: none; }
.hlms-lesson-list a { display: block; padding: 7px 8px; text-decoration: none; color: #333; font-size: 13px; }
.hlms-lesson-list a:hover { background: #f5f5f5; border-radius: 6px; }
.hlms-lesson-list small { color: #aaa; font-size: 11px; margin-right: 4px; }
.hlms-badge { background: #d4edda; color: #155724; border-radius: 4px; padding: 1px 6px; font-size: 10px; margin-right: 4px; }

/* ===== پلیر Canvas — طراحی حرفه‌ای ===== */
.hlms-player-wrapper {
	position: relative;
	background: #000;
	border-radius: 16px;
	overflow: hidden;
	aspect-ratio: 16/9;
	user-select: none;
	box-shadow: 0 24px 60px rgba(0,0,0,.5), 0 0 0 1px rgba(255,255,255,.06);
}

.hlms-player-wrapper canvas {
	display: block;
	width: 100%;
	height: 100%;
	cursor: pointer;
}

/* اسپینر بافرینگ */
.hlms-buffering-spinner {
	position: absolute;
	top: 50%; left: 50%;
	transform: translate(-50%, -50%);
	width: 44px; height: 44px;
	border: 3px solid rgba(255,255,255,.15);
	border-top-color: #c9a227;
	border-radius: 50%;
	animation: hlmsSpin .7s linear infinite;
	display: none;
	z-index: 5;
	pointer-events: none;
}
.hlms-player-wrapper.buffering .hlms-buffering-spinner { display: block; }
@keyframes hlmsSpin { to { transform: translate(-50%,-50%) rotate(360deg); } }

/* ===== کنترل‌ها ===== */
.hlms-controls {
	position: absolute;
	bottom: 0; left: 0; right: 0;
	/* گرادیان بلند برای خوانایی بهتر */
	background: linear-gradient(
		to top,
		rgba(0,0,0,.92) 0%,
		rgba(0,0,0,.7)  40%,
		transparent     100%
	);
	padding: 48px 16px 14px;
	direction: ltr;          /* ← کلیدی: کنترل‌ها همیشه LTR */
	opacity: 0;
	transition: opacity .3s ease;
	pointer-events: none;
}
.hlms-show-controls .hlms-controls {
	opacity: 1;
	pointer-events: all;
}

/* ===== Seekbar — فیکس اصلی direction ===== */
.hlms-seek-row {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 8px;
	direction: ltr;   /* ← اطمینان از LTR */
}

.hlms-seek-bar-wrap {
	flex: 1;
	padding: 8px 0;
	cursor: pointer;
	position: relative;
}
.hlms-seek-bar-wrap:hover .hlms-seek-bar { height: 6px; }
.hlms-seek-bar-wrap:hover .hlms-seek-thumb { transform: translateY(-50%) scale(1.3); }

.hlms-seek-bar {
	position: relative;
	width: 100%;
	height: 4px;
	background: rgba(255,255,255,.2);
	border-radius: 4px;
	overflow: visible;
	transition: height .15s ease;
	direction: ltr;
}

/* بافر پیش‌لود */
.hlms-seek-buffer {
	position: absolute;
	top: 0; left: 0;
	height: 100%;
	background: rgba(255,255,255,.2);
	border-radius: 4px;
	width: 0;
	transition: width .5s;
}

/* پر شدن از چپ به راست ✓ */
.hlms-seek-fill {
	position: absolute;
	top: 0; left: 0;        /* ← از سمت چپ شروع می‌شود */
	height: 100%;
	width: 0;               /* ← با JS کنترل می‌شود */
	background: linear-gradient(90deg, #c9a227, #e3c567);
	border-radius: 4px;
	z-index: 1;
	transition: none;
}

/* دایره جابجایی — در سمت راست fill قرار می‌گیرد ✓ */
.hlms-seek-thumb {
	position: absolute;
	top: 50%;
	left: 0;               /* ← با JS کنترل می‌شود */
	transform: translateY(-50%);
	width: 14px; height: 14px;
	background: #fff;
	border-radius: 50%;
	z-index: 2;
	box-shadow: 0 0 6px rgba(0,0,0,.4);
	transition: transform .15s ease;
	pointer-events: none;
}

/* تولتیپ زمان روی seekbar */
.hlms-seek-tooltip {
	position: absolute;
	bottom: calc(100% + 8px);
	transform: translateX(-50%);
	background: rgba(0,0,0,.85);
	color: #fff;
	font-size: 11px;
	padding: 3px 7px;
	border-radius: 5px;
	white-space: nowrap;
	pointer-events: none;
	opacity: 0;
	transition: opacity .15s;
	direction: ltr;
	z-index: 10;
}
.hlms-seek-bar-wrap:hover .hlms-seek-tooltip { opacity: 1; }

/* ===== ردیف دکمه‌ها ===== */
.hlms-controls-row {
	display: flex;
	align-items: center;
	gap: 6px;
	direction: ltr;
}

/* فاصله‌دهنده */
.hlms-spacer { flex: 1; }

/* دکمه‌های کنترل */
.hlms-ctrl-btn {
	background: none;
	border: none;
	color: rgba(255,255,255,.9);
	cursor: pointer;
	width: 36px; height: 36px;
	display: flex; align-items: center; justify-content: center;
	border-radius: 8px;
	font-size: 15px;
	transition: background .15s, color .15s, transform .1s;
	flex-shrink: 0;
}
.hlms-ctrl-btn:hover {
	background: rgba(255,255,255,.15);
	color: #fff;
	transform: scale(1.08);
}
.hlms-ctrl-btn:active { transform: scale(.95); }

/* دکمه play/pause بزرگ‌تر */
#hlms-play-btn {
	width: 42px; height: 42px;
	background: rgba(255,255,255,.1);
	border-radius: 50%;
	font-size: 17px;
}
#hlms-play-btn:hover {
	background: rgba(201,162,39,.3);
	color: #e3c567;
}

/* نمایش زمان */
.hlms-time-display {
	color: rgba(255,255,255,.85);
	font-size: 12px;
	font-family: 'Courier New', monospace;
	white-space: nowrap;
	direction: ltr;
	letter-spacing: .3px;
	min-width: 96px;
	text-align: center;
}

/* ولوم */
.hlms-vol-wrap {
	display: flex;
	align-items: center;
	gap: 6px;
}
.hlms-vol-slider {
	width: 64px;
	accent-color: #c9a227;
	cursor: pointer;
	direction: ltr;
}

/* سرعت */
.hlms-speed-select {
	background: rgba(255,255,255,.1);
	border: 1px solid rgba(255,255,255,.15);
	color: #fff;
	border-radius: 6px;
	padding: 4px 6px;
	font-size: 12px;
	cursor: pointer;
	font-family: inherit;
	direction: ltr;
}
.hlms-speed-select option { background: #1a1a1a; color: #fff; }

/* تایتل جلسه درون پلیر */
.hlms-player-title-bar {
	position: absolute;
	top: 0; left: 0; right: 0;
	background: linear-gradient(to bottom, rgba(0,0,0,.7), transparent);
	padding: 14px 16px 32px;
	direction: rtl;
	opacity: 0;
	transition: opacity .3s;
	pointer-events: none;
}
.hlms-show-controls .hlms-player-title-bar { opacity: 1; }
.hlms-player-title-bar span {
	font-size: 13px;
	font-weight: 600;
	color: rgba(255,255,255,.85);
	font-family: 'Vazirmatn', Tahoma, sans-serif;
}
.hlms-player-title-bar .hlms-live-dot {
	display: inline-block;
	width: 7px; height: 7px;
	background: #c9a227;
	border-radius: 50%;
	margin-left: 7px;
	animation: hlmsPulse 1.5s ease-in-out infinite;
}
@keyframes hlmsPulse {
	0%,100% { opacity: 1; }
	50%      { opacity: .3; }
}

/* آیکون play بزرگ روی canvas */
.hlms-big-play {
	position: absolute;
	top: 50%; left: 50%;
	transform: translate(-50%, -50%) scale(.9);
	width: 68px; height: 68px;
	background: rgba(0,0,0,.55);
	backdrop-filter: blur(6px);
	border: 2px solid rgba(255,255,255,.25);
	border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	font-size: 26px; color: #fff;
	transition: opacity .25s, transform .25s;
	pointer-events: none;
}
.hlms-player-wrapper.playing .hlms-big-play { opacity: 0; transform: translate(-50%,-50%) scale(.7); }

.hlms-locked-box {
	background: linear-gradient(135deg, #f0f0f0, #fafafa);
	border: 1px dashed #ccc;
	border-radius: 16px;
	padding: 60px 20px;
	text-align: center;
	color: #777;
	aspect-ratio: 16/9;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.hlms-lesson-title { margin-top: 14px; font-size: 17px; font-weight: 700; color: #1a1a1a; }
.hlms-lesson-desc  { color: #666; font-size: 14px; margin-top: 6px; line-height: 1.7; }

/* ===== باکس خرید (#4) ===== */
.hlms-buy-box {
	display: flex; gap: 24px; flex-wrap: wrap; align-items: flex-start;
	background: #fff; border: 1px solid #eee; border-radius: 14px;
	padding: 24px; box-shadow: 0 4px 20px rgba(0,0,0,.06);
}
.hlms-buy-box-preview { flex: 1; min-width: 200px; position: relative; }
.hlms-buy-thumb { width: 100%; border-radius: 10px; }
.hlms-buy-thumb-placeholder {
	width: 100%; aspect-ratio: 16/9; background: #f0f0f0; border-radius: 10px;
	display: flex; align-items: center; justify-content: center; font-size: 56px;
}
.hlms-buy-locked-overlay {
	position: absolute; inset: 0; background: rgba(0,0,0,.35);
	border-radius: 10px; display: flex; align-items: center; justify-content: center;
	color: #fff; font-size: 20px; font-weight: 700;
}
.hlms-buy-info { flex: 2; min-width: 260px; }
.hlms-buy-info h3 { font-size: 20px; margin-bottom: 10px; }
.hlms-buy-desc { color: #555; font-size: 14px; line-height: 1.9; margin-bottom: 14px; }
.hlms-buy-meta { list-style: none; padding: 0; margin: 0 0 16px; }
.hlms-buy-meta li { padding: 5px 0; color: #444; font-size: 14px; border-bottom: 1px dashed #f0f0f0; }
.hlms-buy-price-box { margin: 16px 0; }
.hlms-buy-price { font-size: 26px; font-weight: 900; color: #b4232c; }
.hlms-buy-price-old { font-size: 16px; color: #aaa; text-decoration: line-through; margin-left: 10px; }
.hlms-buy-price-free { color: #198754; }
.hlms-buy-contact { color: #888; font-size: 14px; }
.hlms-buy-curriculum { margin-top: 20px; border-top: 1px solid #eee; padding-top: 16px; }
.hlms-buy-curriculum h4 { margin-bottom: 10px; }
.hlms-buy-chapter { margin-bottom: 12px; }
.hlms-buy-chapter ul { list-style: none; margin: 6px 0 0; padding-right: 8px; }
.hlms-buy-chapter li { padding: 5px 0; font-size: 13px; color: #555; border-bottom: 1px dotted #eee; }
.hlms-buy-chapter li a { color: #2271b1; text-decoration: none; }

/* ===== آزمون ===== */
.hlms-quiz-box { margin-top: 28px; background: #fafafa; border: 1px solid #eee; border-radius: 12px; padding: 18px 20px; }
.hlms-quiz-question { margin-bottom: 18px; }
.hlms-quiz-option { display: block; margin: 5px 0; }
.hlms-quiz-result { margin-top: 14px; padding: 12px 16px; border-radius: 8px; display: none; }
.hlms-quiz-result.passed { background: #d4edda; color: #155724; }
.hlms-quiz-result.failed { background: #f8d7da; color: #721c24; }

/* ===== داشبورد دانشجو ===== */
.hlms-dashboard { max-width: 1100px; margin: 0 auto; }
.hlms-level-card {
	display: flex; align-items: center; gap: 16px;
	background: linear-gradient(135deg, #2b2118, #4a3828);
	color: #f5e6c8; border-radius: 14px; padding: 22px 26px; margin-bottom: 24px;
}
.hlms-level-icon { font-size: 48px; line-height: 1; }
.hlms-level-info { flex: 1; display: flex; flex-direction: column; gap: 6px; }
.hlms-level-info strong { font-size: 18px; color: #e3c567; }
.hlms-level-info span { font-size: 14px; opacity: .85; }
.hlms-level-progress-wrap { margin-top: 4px; }
.hlms-level-progress-wrap .hlms-progress-bar { background: rgba(255,255,255,.2); max-width: 260px; height: 8px; }
.hlms-level-progress-wrap .hlms-progress-fill { background: linear-gradient(90deg, #c9a227, #f0d060); }
.hlms-level-progress-wrap small { font-size: 11px; opacity: .8; }

.hlms-badges-section { margin-bottom: 24px; }
.hlms-badges-row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; }
.hlms-badge-item {
	display: flex; flex-direction: column; align-items: center; gap: 4px;
	background: #fff; border: 2px solid var(--badge-color, #ccc);
	border-radius: 10px; padding: 10px 14px; min-width: 76px;
	cursor: default; transition: transform .15s;
}
.hlms-badge-item:hover { transform: translateY(-3px); }
.hlms-badge-icon { font-size: 26px; }
.hlms-badge-title { font-size: 11px; color: #555; text-align: center; white-space: nowrap; }

.hlms-dashboard-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; margin-top: 14px; }
.hlms-dashboard-card { background: #fff; border: 1px solid #eee; border-radius: 12px; padding: 16px; text-align: center; }
.hlms-dashboard-card img { border-radius: 8px; margin-bottom: 8px; max-width: 100%; }

.hlms-points-history { background: #fafafa; border: 1px solid #eee; border-radius: 12px; padding: 14px 18px; margin-top: 20px; }
.hlms-points-history ul { list-style: none; padding: 0; }
.hlms-points-history li { display: flex; align-items: center; gap: 10px; padding: 7px 0; border-bottom: 1px dashed #eee; font-size: 13px; }
.hlms-pts { font-weight: 700; min-width: 36px; text-align: center; }
.hlms-pts.positive { color: #198754; }
.hlms-pts.negative { color: #dc3545; }
.hlms-points-history li small { margin-right: auto; color: #aaa; font-size: 11px; }

/* ===== تابلو امتیازات ===== */
.hlms-leaderboard { max-width: 800px; margin: 0 auto; }
.hlms-lb-table { width: 100%; border-collapse: collapse; margin-bottom: 28px; }
.hlms-lb-table th, .hlms-lb-table td { padding: 10px 12px; border-bottom: 1px solid #eee; text-align: right; }
.hlms-lb-table th { background: #fafafa; font-size: 13px; color: #777; }
.hlms-lb-rank { font-size: 20px; text-align: center; }
.hlms-lb-pts { font-weight: 700; color: #b4232c; }
.hlms-lb-avatar { border-radius: 50%; vertical-align: middle; margin-left: 8px; }
.hlms-lb-me { background: #fff9e6; }
.hlms-badge-you { background: #b4232c; color: #fff; font-size: 10px; border-radius: 20px; padding: 1px 7px; }

/* ===== Auth فرم‌ها (#3) ===== */
.hlms-auth-box {
	max-width: 480px; margin: 30px auto;
	background: #fff; border-radius: 16px; padding: 36px 32px;
	box-shadow: 0 8px 40px rgba(0,0,0,.10);
}
.hlms-auth-header { text-align: center; margin-bottom: 24px; }
.hlms-auth-logo { font-size: 44px; margin-bottom: 10px; }
.hlms-auth-header h2 { margin: 0 0 6px; font-size: 22px; }
.hlms-auth-header p { color: #888; font-size: 14px; }
.hlms-auth-errors { background: #f8d7da; color: #721c24; border-radius: 8px; padding: 10px 14px; margin-bottom: 16px; }
.hlms-auth-errors p { margin: 3px 0; font-size: 13px; }
.hlms-auth-success { background: #d4edda; color: #155724; border-radius: 8px; padding: 10px 14px; margin-bottom: 16px; font-size: 13px; }
.hlms-auth-form { display: flex; flex-direction: column; gap: 14px; }
.hlms-auth-row-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
	padding: 10px 12px; border: 1.5px solid #ddd; border-radius: 8px;
	font-family: inherit; font-size: 14px; outline: none; transition: border .2s;
}
.hlms-auth-remember { display: flex; justify-content: space-between; align-items: center; font-size: 13px; }
.hlms-auth-remember a { color: #b4232c; text-decoration: none; }
.hlms-auth-btn {
	padding: 12px; background: #b4232c; color: #fff; border: none;
	border-radius: 8px; font-family: inherit; font-size: 15px;
	font-weight: 700; cursor: pointer; transition: .2s;
}
.hlms-auth-btn:hover { background: #9a1e26; }
.hlms-auth-switch { text-align: center; font-size: 13px; color: #888; margin: 0; }
.hlms-auth-switch a { color: #b4232c; font-weight: 600; text-decoration: none; }
.hlms-auth-info { text-align: center; color: #555; }
.hlms-no-access { color: #888; }

/* ===== پنل مدرس ===== */
.hlms-instructor-panel { max-width: 1000px; margin: 0 auto; }
.hlms-flash-message { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; border-radius: 8px; padding: 10px 16px; margin-bottom: 16px; }
.hlms-tabs { display: flex; gap: 4px; border-bottom: 2px solid #eee; margin-bottom: 20px; }
.hlms-tabs a { padding: 10px 18px; text-decoration: none; color: #666; border-bottom: 3px solid transparent; margin-bottom: -2px; font-weight: 600; transition: .2s; }
.hlms-tabs a.active { color: #b4232c; border-bottom-color: #b4232c; }
.hlms-instructor-form { background: #fafafa; border: 1px solid #eee; border-radius: 12px; padding: 20px; max-width: 560px; }
.hlms-instructor-form label { display: block; margin-bottom: 4px; font-weight: 600; font-size: 13px; color: #555; }
.hlms-input { width: 100%; padding: 9px 11px; border: 1.5px solid #ddd; border-radius: 8px; font-family: inherit; box-sizing: border-box; }
.hlms-input:focus { border-color: #b4232c; outline: none; }
.hlms-hint { font-size: 12px; color: #999; }
.hlms-instructor-table { width: 100%; border-collapse: collapse; margin-top: 12px; }
.hlms-instructor-table th, .hlms-instructor-table td { text-align: right; padding: 10px 12px; border-bottom: 1px solid #eee; }
.hlms-instructor-table th { background: #fafafa; font-size: 13px; color: #777; }
.hlms-status-badge { display: inline-block; font-size: 12px; padding: 3px 10px; border-radius: 20px; background: #fff3cd; color: #856404; }
.hlms-status-publish { background: #d4edda; color: #155724; }
.hlms-mini-progress { display: inline-block; width: 80px; height: 6px; background: #eee; border-radius: 10px; overflow: hidden; vertical-align: middle; margin-left: 6px; }
.hlms-mini-progress-fill { height: 100%; background: linear-gradient(90deg, #c9a227, #e3c567); }
.hlms-revenue-summary { display: flex; gap: 16px; margin-bottom: 20px; flex-wrap: wrap; }
.hlms-revenue-card { background: #fff; border: 1px solid #eee; border-radius: 10px; padding: 18px 30px; text-align: center; }
.hlms-revenue-number { display: block; font-size: 26px; font-weight: 700; color: #b4232c; }
.hlms-revenue-label { font-size: 12px; color: #888; }
.hlms-chapter-box { background: #fff; border: 1px solid #e2e2e2; border-radius: 10px; padding: 16px 20px; margin-bottom: 14px; }
.hlms-chapter-box ul { list-style: none; margin: 8px 0; padding-right: 16px; }
.hlms-inline-form { display: flex; gap: 8px; align-items: center; margin: 10px 0; flex-wrap: wrap; }
.hlms-inline-form input[type="text"], .hlms-inline-form input[type="url"] { min-width: 200px; }

/* آپلود ویدئو */
.hlms-video-upload-area {
	border: 2px dashed #c9a227; border-radius: 10px; padding: 20px;
	text-align: center; cursor: pointer; transition: .2s; background: #fdfaf2;
}
.hlms-video-upload-area:hover { border-color: #b4232c; }
.hlms-video-upload-progress { display: none; margin-top: 10px; }
.hlms-video-upload-bar { height: 8px; background: #eee; border-radius: 4px; overflow: hidden; }
.hlms-video-upload-bar-fill { height: 100%; background: linear-gradient(90deg, #c9a227, #e3c567); width: 0; transition: width .2s; }
.hlms-video-preview { margin-top: 8px; }
.hlms-video-preview video { max-width: 100%; border-radius: 8px; max-height: 200px; }

/* ===== login prompt ===== */
.hlms-login-prompt { text-align: center; padding: 40px; }

/* ===== responsive ===== */
@media (max-width: 640px) {
	.hlms-course-body { flex-direction: column; }
	.hlms-auth-row-2 { grid-template-columns: 1fr; }
	.hlms-buy-box { flex-direction: column; }
	.hlms-level-card { flex-direction: column; text-align: center; }
}

/* ===== محتوای ترکیبی جلسه (#3) ===== */
.hlms-audio-player {
	background: #fafafa; border: 1px solid #eee;
	border-radius: 12px; padding: 16px; margin: 16px 0;
}

.hlms-lesson-images { margin: 16px 0; }
.hlms-lesson-images-grid {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	gap: 10px; margin-top: 10px;
}
.hlms-lesson-images-grid a { display: block; border-radius: 8px; overflow: hidden; }
.hlms-lesson-images-grid img {
	width: 100%; height: 120px; object-fit: cover;
	transition: transform .2s; display: block;
}
.hlms-lesson-images-grid img:hover { transform: scale(1.04); }

.hlms-lesson-text-content {
	background: #fdfaf2; border: 1px solid #e8d9a0;
	border-radius: 12px; padding: 20px; margin: 16px 0;
}
.hlms-text-body {
	font-size: 15px; line-height: 2; color: #333;
}
.hlms-text-body img { max-width: 100%; border-radius: 8px; }
.hlms-text-body p  { margin: 0 0 12px; }
.hlms-text-body h2,.hlms-text-body h3 { color: #2b2118; margin: 16px 0 8px; }

/* ===== آزمون حرفه‌ای (#1) ===== */
.hlms-quiz-wrap {
	margin: 28px 0;
	background: linear-gradient(135deg, #fdfaf2, #fff);
	border: 1px solid #e8d9a0;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(201,162,39,.1);
}

.hlms-quiz-header {
	background: linear-gradient(135deg, #2b2118, #4a3828);
	color: #f5e6c8;
	padding: 20px 24px;
}

.hlms-quiz-header h3 { margin: 0 0 10px; font-size: 17px; color: #e3c567; }
.hlms-quiz-meta { display: flex; gap: 16px; flex-wrap: wrap; font-size: 13px; opacity: .85; }
.hlms-quiz-meta span::before { margin-left: 4px; }

.hlms-quiz-locked-msg {
	padding: 28px 24px; text-align: center; color: #888; font-size: 14px;
}

.hlms-quiz-start-wrap {
	padding: 32px 24px; text-align: center;
}

.hlms-quiz-start-btn {
	background: linear-gradient(135deg, #c9a227, #e3c567);
	color: #2b2118; font-weight: 900; font-size: 16px;
	border: none; border-radius: 50px; padding: 14px 40px;
	cursor: pointer; transition: .2s; font-family: inherit;
	box-shadow: 0 4px 14px rgba(201,162,39,.35);
}
.hlms-quiz-start-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(201,162,39,.45); }

/* تایمر */
.hlms-quiz-timer-bar {
	display: flex; align-items: center; gap: 10px; padding: 12px 24px;
	background: #fff8e1; border-bottom: 1px solid #ffe082;
}
.hlms-quiz-timer-label { font-size: 13px; color: #555; white-space: nowrap; }
.hlms-quiz-timer-display {
	font-size: 18px; font-weight: 900; color: #2b2118;
	font-variant-numeric: tabular-nums; direction: ltr; min-width: 52px;
}
.hlms-quiz-timer-track {
	flex: 1; height: 8px; background: #eee; border-radius: 4px; overflow: hidden;
}
.hlms-quiz-timer-fill {
	height: 100%; background: linear-gradient(90deg, #c9a227, #e3c567);
	border-radius: 4px; transition: width 1s linear;
}

/* نوار پیشرفت سوالات */
.hlms-quiz-progress-wrap {
	display: flex; align-items: center; gap: 10px; padding: 12px 24px;
	font-size: 13px; color: #888; border-bottom: 1px solid #f0f0f0;
}
.hlms-quiz-q-track {
	flex: 1; height: 6px; background: #eee; border-radius: 3px; overflow: hidden;
}
.hlms-quiz-q-fill {
	height: 100%; background: linear-gradient(90deg, #b4232c, #e05d65);
	border-radius: 3px; transition: width .4s ease;
}

/* کارت سوال */
.hlms-quiz-question-card {
	display: none; padding: 24px;
	animation: hlmsSlideIn .3s ease;
}
.hlms-quiz-question-card.active { display: block; }

@keyframes hlmsSlideIn {
	from { opacity: 0; transform: translateX(20px); }
	to   { opacity: 1; transform: translateX(0); }
}

.hlms-quiz-q-badge {
	display: inline-block; background: #b4232c; color: #fff;
	font-size: 11px; font-weight: 700; padding: 3px 10px;
	border-radius: 20px; margin-bottom: 12px;
}
.hlms-quiz-q-text {
	font-size: 16px; font-weight: 700; color: #2b2118;
	line-height: 1.7; margin: 0 0 18px;
}

/* گزینه‌های پاسخ */
.hlms-quiz-answers { display: flex; flex-direction: column; gap: 10px; }

.hlms-quiz-answer-label {
	display: flex; align-items: center; gap: 12px;
	border: 2px solid #eee; border-radius: 10px; padding: 12px 16px;
	cursor: pointer; transition: .2s; background: #fff;
}
.hlms-quiz-answer-label:hover { border-color: #c9a227; background: #fdfaf2; }
.hlms-quiz-answer-label.selected { border-color: #b4232c; background: #fff0f0; }

.hlms-quiz-answer-input { display: none; }

.hlms-quiz-answer-letter {
	width: 32px; height: 32px; border-radius: 50%; background: #f0f0f0;
	display: flex; align-items: center; justify-content: center;
	font-weight: 900; font-size: 13px; flex-shrink: 0; transition: .2s;
}
.hlms-quiz-answer-label.selected .hlms-quiz-answer-letter {
	background: #b4232c; color: #fff;
}

.hlms-quiz-answer-text { font-size: 14px; line-height: 1.5; }

/* ناوبری سوالات */
.hlms-quiz-nav {
	display: flex; justify-content: space-between; margin-top: 24px;
	padding-top: 16px; border-top: 1px solid #f0f0f0;
}

.hlms-quiz-nav-btn {
	background: #f5f5f5; color: #555; border: 1px solid #ddd;
	padding: 10px 20px; border-radius: 8px; cursor: pointer;
	font-family: inherit; font-size: 14px; transition: .2s;
}
.hlms-quiz-nav-btn:hover { background: #eee; }

.hlms-quiz-submit-btn {
	background: linear-gradient(135deg, #198754, #20c997);
	color: #fff; border: none; padding: 12px 28px; border-radius: 8px;
	cursor: pointer; font-family: inherit; font-size: 15px;
	font-weight: 700; transition: .2s; margin-right: auto;
}
.hlms-quiz-submit-btn:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(25,135,84,.35); }

/* نتیجه آزمون */
.hlms-quiz-result-box { padding: 24px; }
.hlms-quiz-result-loading { text-align: center; color: #888; padding: 30px; }

.hlms-quiz-result-inner {
	text-align: center; padding: 36px 24px; border-radius: 12px;
}
.hlms-quiz-result-inner.pass {
	background: linear-gradient(135deg, #d4edda, #c3e6cb);
	border: 2px solid #a3d9b3;
}
.hlms-quiz-result-inner.fail {
	background: linear-gradient(135deg, #f8d7da, #f5c2c7);
	border: 2px solid #f0a8ad;
}
.hlms-quiz-result-icon { font-size: 56px; margin-bottom: 12px; }
.hlms-quiz-result-inner h3 { font-size: 22px; margin: 0 0 18px; }
.hlms-quiz-result-inner.pass h3 { color: #155724; }
.hlms-quiz-result-inner.fail h3 { color: #721c24; }

.hlms-quiz-score-circle {
	display: inline-flex; flex-direction: column; align-items: center;
	justify-content: center;
	width: 100px; height: 100px; border-radius: 50%;
	background: #fff; margin: 0 auto 16px;
	box-shadow: 0 4px 16px rgba(0,0,0,.1);
}
.hlms-quiz-score-circle span {
	font-size: 28px; font-weight: 900; color: #2b2118; line-height: 1;
}
.hlms-quiz-score-circle small { font-size: 11px; color: #888; }

.hlms-quiz-retry-btn {
	background: #b4232c; color: #fff; border: none; padding: 10px 24px;
	border-radius: 8px; cursor: pointer; font-family: inherit; font-size: 14px;
	font-weight: 700; margin-top: 12px; transition: .2s;
}
.hlms-quiz-retry-btn:hover { background: #9a1e26; }

/* ===== سایدبار آکاردئونی (#3) ===== */
.hlms-chapter { border-bottom: 1px solid #f0f0f0; }
.hlms-chapter:last-child { border-bottom: none; }

.hlms-chapter-title {
	display: flex; justify-content: space-between; align-items: center;
	padding: 12px 10px; cursor: pointer; font-weight: 700; font-size: 13px;
	background: none; border: none; width: 100%; text-align: right;
	color: #2b2118; transition: background .15s; border-radius: 6px;
	font-family: inherit;
}
.hlms-chapter-title:hover { background: #f5f5f5; }
.hlms-chapter-title .hlms-chapter-arrow { font-size: 11px; transition: transform .3s; }
.hlms-chapter-title.open .hlms-chapter-arrow { transform: rotate(180deg); }

.hlms-lesson-list {
	display: none; list-style: none; margin: 0; padding: 0 0 8px;
	animation: hlmsFadeIn .2s ease;
}
.hlms-lesson-list.open { display: block; }

@keyframes hlmsFadeIn {
	from { opacity: 0; transform: translateY(-6px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* ===== ضبط صوت و ویرایشگر متن (#4) ===== */
.hlms-audio-recorder {
	background: #f8f9fa;
	border: 1px solid #dee2e6;
	border-radius: 8px;
	padding: 14px;
	text-align: center;
}
.hlms-audio-recorder p { color: #888; font-size: 12px; margin: 0 0 8px; }
.hlms-rec-start-btn,
.hlms-rec-stop-btn {
	font-family: inherit;
}
.hlms-rec-timer {
	display: inline-block;
	font-size: 18px;
	font-weight: 900;
	color: #dc3545;
	direction: ltr;
	margin-top: 8px;
}
.hlms-rec-preview { margin-top: 10px; }
.hlms-rec-preview audio { width: 100%; }

.hlms-text-toolbar {
	background: #f0f0f0;
	border: 1px solid #ddd;
	border-bottom: none;
	border-radius: 8px 8px 0 0;
	padding: 6px 10px;
	display: flex;
	gap: 4px;
	flex-wrap: wrap;
}
.hlms-text-toolbar button {
	background: #fff;
	border: 1px solid #ccc;
	padding: 3px 8px;
	border-radius: 4px;
	cursor: pointer;
	font-size: 12px;
	font-family: inherit;
	transition: .15s;
}
.hlms-text-toolbar button:hover { background: #e9ecef; }

.hlms-rich-editor {
	min-height: 140px;
	border: 1px solid #ddd;
	border-radius: 0 0 8px 8px;
	padding: 12px;
	background: #fff;
	font-size: 14px;
	line-height: 2;
	outline: none;
	direction: rtl;
}
.hlms-rich-editor:focus { border-color: #b4232c; }

.hlms-image-upload-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	min-height: 60px;
	border: 1px dashed #ddd;
	border-radius: 8px;
	padding: 8px;
}
.hlms-image-upload-list img {
	width: 80px;
	height: 60px;
	object-fit: cover;
	border-radius: 6px;
	border: 2px solid #eee;
}

/* ===== حذف دوره مدرس (#2) ===== */
.hlms-delete-course-btn {
	background: none;
	border: 1px solid #dc3545;
	color: #dc3545;
	padding: 6px 14px;
	border-radius: 6px;
	cursor: pointer;
	font-size: 13px;
	font-family: inherit;
	transition: .2s;
}
.hlms-delete-course-btn:hover { background: #dc3545; color: #fff; }

/* ===== دکمه تکمیل جلسه (#2) ===== */
.hlms-complete-lesson-wrap {
	margin: 20px 0;
	padding: 16px;
	background: linear-gradient(135deg, #f0fdf4, #dcfce7);
	border: 1px solid #86efac;
	border-radius: 12px;
	text-align: center;
}
.hlms-auto-complete-bar {
	height: 6px;
	background: #e0e0e0;
	border-radius: 3px;
	overflow: hidden;
	margin-bottom: 12px;
}
.hlms-auto-fill {
	height: 100%;
	width: 0;
	background: linear-gradient(90deg, #198754, #20c997);
	border-radius: 3px;
	transition: width 1s linear;
}
.hlms-complete-btn {
	background: linear-gradient(135deg, #198754, #20c997);
	color: #fff;
	border: none;
	padding: 12px 32px;
	border-radius: 50px;
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
	transition: .2s;
	box-shadow: 0 4px 14px rgba(25,135,84,.3);
}
.hlms-complete-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(25,135,84,.4); }
.hlms-already-done {
	color: #155724;
	font-weight: 700;
	font-size: 15px;
	padding: 8px 0;
}

/* ===== آکاردئون پایدار (#1 fix) ===== */
.hlms-chapter-title {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding: 11px 10px;
	background: none;
	border: none;
	text-align: right;
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	color: #2b2118;
	cursor: pointer;
	border-radius: 6px;
	transition: background .15s;
	border-bottom: 1px solid #f0f0f0;
}
.hlms-chapter-title:hover { background: #f8f5ef; }
.hlms-chapter-title .hlms-chapter-arrow {
	font-size: 10px;
	flex-shrink: 0;
	transition: transform .3s ease;
	display: inline-block;
}
.hlms-chapter-title.open .hlms-chapter-arrow { transform: rotate(180deg); }
.hlms-chapter-title.open { background: #fef9ec; color: #b4232c; border-bottom-color: #e3c567; }

.hlms-lesson-list {
	list-style: none;
	margin: 0;
	padding: 0;
	max-height: 0;
	overflow: hidden;
	transition: max-height .35s ease;
}
.hlms-lesson-list.open {
	max-height: 1000px;
}

/* =====================================================
   سیستم Auth حرفه‌ای (#3)
   ===================================================== */
.hlms-auth-page {
	/* wrapper بدون background و min-height - تم سایت نگه داشته می‌شه */
	padding: 40px 20px;
	font-family: 'Vazirmatn', Tahoma, sans-serif;
	direction: rtl;
	display: flex;
	justify-content: center;
}

.hlms-auth-card {
	background: #fff;
	border-radius: 20px;
	padding: 40px 36px;
	width: 100%;
	max-width: 500px;
	box-shadow: 0 10px 50px rgba(0,0,0,.10);
	border: 1px solid #f0ead8;
	position: relative;
	overflow: hidden;
}
.hlms-auth-card::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 4px;
	background: linear-gradient(90deg, #b4232c, #c9a227, #b4232c);
}

.hlms-auth-brand {
	text-align: center;
	margin-bottom: 28px;
}
.hlms-auth-logo {
	font-size: 52px;
	margin-bottom: 10px;
	line-height: 1;
}
.hlms-auth-brand h2 {
	font-size: 22px;
	font-weight: 900;
	margin: 0 0 6px;
	color: #2b2118;
}
.hlms-auth-brand p {
	color: #888;
	font-size: 14px;
	margin: 0;
}

/* تب‌های ورود/ثبت‌نام */
.hlms-auth-tabs, .hlms-role-tabs {
	display: flex;
	background: #f5f0e8;
	border-radius: 12px;
	padding: 4px;
	margin-bottom: 24px;
	gap: 4px;
}
.hlms-auth-tab, .hlms-role-tab {
	flex: 1;
	padding: 10px;
	background: none;
	border: none;
	border-radius: 8px;
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	color: #888;
	cursor: pointer;
	transition: .2s;
}
.hlms-auth-tab.active, .hlms-role-tab.active {
	background: #fff;
	color: #b4232c;
	box-shadow: 0 2px 8px rgba(0,0,0,.08);
}

/* پنل‌های تب */
.hlms-tab-panel { display: none; }
.hlms-tab-panel.active { display: block; }

/* پیام‌ها */
.hlms-auth-alert {
	border-radius: 10px;
	padding: 12px 16px;
	margin-bottom: 18px;
	font-size: 13px;
}
.hlms-auth-alert p { margin: 3px 0; }
.hlms-alert-success { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
.hlms-alert-error   { background: #f8d7da; color: #721c24; border: 1px solid #f5c2c7; }

/* فرم */
.hlms-auth-form { display: flex; flex-direction: column; gap: 16px; }

.hlms-auth-row2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

	display: flex;
	flex-direction: column;
	gap: 6px;
}
	font-size: 13px;
	font-weight: 700;
	color: #555;
}
	padding: 11px 14px;
	border: 1.5px solid #e0d8c8;
	border-radius: 10px;
	font-family: inherit;
	font-size: 14px;
	color: #2b2118;
	background: #fdfaf8;
	transition: border .2s, box-shadow .2s;
	width: 100%;
}
	border-color: #b4232c;
	background: #fff;
	outline: none;
	box-shadow: 0 0 0 3px rgba(180,35,44,.08);
}

/* رمز عبور با دکمه نمایش */
.hlms-pass-wrap {
	position: relative;
}
.hlms-pass-wrap input { padding-left: 42px; }
.hlms-pass-toggle {
	position: absolute;
	left: 12px;
	top: 50%;
	transform: translateY(-50%);
	background: none;
	border: none;
	cursor: pointer;
	font-size: 16px;
	padding: 0;
	line-height: 1;
}

/* مرا به خاطر بسپار */
.hlms-auth-remember-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: -8px;
}
.hlms-remember-label {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: #666;
	cursor: pointer;
}

/* قدرت رمز عبور */
.hlms-password-strength { margin-top: -8px; }
.hlms-strength-bar {
	height: 5px;
	background: #eee;
	border-radius: 3px;
	overflow: hidden;
	margin-bottom: 4px;
}
.hlms-strength-fill {
	height: 100%;
	width: 0;
	border-radius: 3px;
	transition: width .3s, background .3s;
}
.hlms-strength-label { font-size: 11px; color: #888; }

/* خط جداکننده */
.hlms-auth-divider {
	text-align: center;
	font-size: 13px;
	font-weight: 700;
	color: #b4232c;
	padding: 12px 0;
	border-top: 1px solid #f0ead8;
	border-bottom: 1px solid #f0ead8;
	margin: 4px 0;
}

/* فیلدهای مدرس */
.hlms-instructor-fields {
	background: #fdfaf2;
	border: 1px dashed #c9a227;
	border-radius: 10px;
	padding: 14px;
}

/* دکمه ارسال */
.hlms-auth-submit-btn {
	padding: 14px;
	background: linear-gradient(135deg, #b4232c, #c9a227);
	color: #fff;
	border: none;
	border-radius: 12px;
	font-family: inherit;
	font-size: 16px;
	font-weight: 900;
	cursor: pointer;
	transition: .2s;
	letter-spacing: .3px;
	margin-top: 4px;
}
.hlms-auth-submit-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(180,35,44,.3);
}

.hlms-auth-switch {
	text-align: center;
	font-size: 13px;
	color: #888;
	margin: 14px 0 0;
}
.hlms-auth-switch a { color: #b4232c; font-weight: 700; text-decoration: none; }
.hlms-auth-switch a:hover { text-decoration: underline; }

.hlms-auth-info {
	text-align: center;
	padding: 20px;
	font-family: 'Vazirmatn', Tahoma, sans-serif;
	font-size: 15px;
	color: #555;
}
.hlms-auth-info a { color: #b4232c; text-decoration: none; }

/* ریسپانسیو */
@media (max-width: 480px) {
	.hlms-auth-card { padding: 28px 20px; }
	.hlms-auth-row2 { grid-template-columns: 1fr; }
}

/* ============================================================
   پنل کاربری حرفه‌ای — Student & Instructor Dashboard
   ============================================================ */

/* ===== متغیرها ===== */
:root {
	--p-sidebar-bg:    #13100d;
	--p-sidebar-w:     260px;
	--p-bg:            #f4f1ec;
	--p-surface:       #ffffff;
	--p-border:        #e8e3db;
	--p-text:          #1a1512;
	--p-muted:         #7a6f65;
	--p-red:           #b4232c;
	--p-gold:          #c9a227;
	--p-gold-lt:       #e3c567;
	--p-green:         #198754;
	--p-radius:        14px;
	--p-shadow:        0 2px 16px rgba(0,0,0,.07);
	--p-shadow-lg:     0 8px 32px rgba(0,0,0,.10);
}

/* ===== Shell پنل ===== */
.hlms-panel-shell {
	font-family: 'Vazirmatn', Tahoma, sans-serif;
	direction: rtl;
	display: flex;
	min-height: 100vh;
	background: var(--p-bg);
	color: var(--p-text);
}

/* ===== Sidebar ===== */
.hlms-panel-sidebar {
	width: var(--p-sidebar-w);
	background: var(--p-sidebar-bg);
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	position: sticky;
	top: 0;
	height: 100vh;
	overflow-y: auto;
	scrollbar-width: none;
}
.hlms-panel-sidebar::-webkit-scrollbar { display: none; }

/* لوگو */
.hlms-sb-logo {
	padding: 24px 20px;
	display: flex;
	align-items: center;
	gap: 10px;
	border-bottom: 1px solid rgba(255,255,255,.06);
	text-decoration: none;
}
.hlms-sb-logo-icon {
	width: 36px; height: 36px;
	background: linear-gradient(135deg, var(--p-red), var(--p-gold));
	border-radius: 10px;
	display: flex; align-items: center; justify-content: center;
	font-size: 17px; flex-shrink: 0;
}
.hlms-sb-logo-text { font-size: 14px; font-weight: 900; color: #fff; }
.hlms-sb-logo-text span { color: var(--p-gold); }

/* پروفایل کاربر */
.hlms-sb-profile {
	padding: 20px;
	border-bottom: 1px solid rgba(255,255,255,.06);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}
.hlms-sb-avatar {
	width: 64px; height: 64px;
	border-radius: 50%;
	object-fit: cover;
	border: 3px solid rgba(201,162,39,.4);
	display: block;
}
.hlms-sb-avatar-placeholder {
	width: 64px; height: 64px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--p-red), #8f1a22);
	border: 3px solid rgba(201,162,39,.4);
	display: flex; align-items: center; justify-content: center;
	font-size: 24px; font-weight: 900; color: #fff;
	flex-shrink: 0;
}
.hlms-sb-name { font-size: 14px; font-weight: 700; color: #fff; text-align: center; }
.hlms-sb-role {
	font-size: 11px; color: rgba(255,255,255,.4);
	background: rgba(255,255,255,.07);
	padding: 2px 10px; border-radius: 20px;
}

/* سطح / level badge */
.hlms-sb-level {
	display: flex; align-items: center; gap: 8px;
	background: rgba(201,162,39,.1);
	border: 1px solid rgba(201,162,39,.2);
	border-radius: 50px;
	padding: 5px 12px;
	width: 100%;
	justify-content: center;
}
.hlms-sb-level-icon { font-size: 16px; }
.hlms-sb-level-label { font-size: 12px; font-weight: 700; color: var(--p-gold); }
.hlms-sb-level-pts { font-size: 11px; color: rgba(255,255,255,.4); margin-right: 4px; }

/* ناوبری sidebar */
.hlms-sb-nav { padding: 14px 12px; flex: 1; }
.hlms-sb-nav-label {
	font-size: 10px; font-weight: 700; color: rgba(255,255,255,.25);
	letter-spacing: 1.2px; padding: 10px 10px 6px;
	text-transform: uppercase;
}
.hlms-sb-link {
	display: flex; align-items: center; gap: 10px;
	padding: 10px 12px;
	border-radius: 10px;
	text-decoration: none;
	color: rgba(255,255,255,.55);
	font-size: 13px; font-weight: 600;
	margin-bottom: 2px;
	transition: background .15s, color .15s;
	cursor: pointer;
	border: none; background: none; width: 100%; text-align: right;
	font-family: inherit;
}
.hlms-sb-link:hover { background: rgba(255,255,255,.07); color: rgba(255,255,255,.9); }
.hlms-sb-link.active {
	background: rgba(201,162,39,.12);
	color: var(--p-gold);
}
.hlms-sb-link .sb-icon {
	width: 30px; height: 30px;
	border-radius: 8px; flex-shrink: 0;
	display: flex; align-items: center; justify-content: center;
	font-size: 15px; background: rgba(255,255,255,.06);
	transition: background .15s;
}
.hlms-sb-link.active .sb-icon { background: rgba(201,162,39,.15); }
.hlms-sb-link .sb-badge {
	margin-right: auto;
	background: var(--p-red);
	color: #fff;
	font-size: 10px; font-weight: 700;
	padding: 1px 7px;
	border-radius: 20px;
}

/* خروج */
.hlms-sb-footer {
	padding: 14px 12px;
	border-top: 1px solid rgba(255,255,255,.06);
}
.hlms-sb-logout {
	display: flex; align-items: center; gap: 10px;
	padding: 9px 12px; border-radius: 10px;
	color: rgba(255,255,255,.35); font-size: 13px; font-weight: 600;
	text-decoration: none; transition: .15s;
	cursor: pointer;
}
.hlms-sb-logout:hover { background: rgba(220,53,69,.1); color: #f87171; }

/* ===== محتوای اصلی ===== */
.hlms-panel-main {
	flex: 1;
	min-width: 0;
	padding: 28px 28px 60px;
	overflow-x: hidden;
}

/* هدر صفحه */
.hlms-panel-header {
	display: flex; align-items: center; justify-content: space-between;
	margin-bottom: 24px; flex-wrap: wrap; gap: 12px;
}
.hlms-panel-header-left h2 { font-size: 22px; font-weight: 900; margin: 0; }
.hlms-panel-header-left p  { font-size: 13px; color: var(--p-muted); margin: 4px 0 0; }

/* آمار بالای صفحه */
.hlms-panel-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 14px;
	margin-bottom: 24px;
}
.hlms-stat-card {
	background: var(--p-surface);
	border: 1px solid var(--p-border);
	border-radius: var(--p-radius);
	padding: 18px 20px;
	box-shadow: var(--p-shadow);
	position: relative;
	overflow: hidden;
	transition: transform .2s, box-shadow .2s;
}
.hlms-stat-card:hover { transform: translateY(-2px); box-shadow: var(--p-shadow-lg); }
.hlms-stat-card::before {
	content: '';
	position: absolute; top: 0; right: 0; left: 0; height: 3px;
	background: var(--accent, var(--p-gold));
}
.hlms-stat-card-icon {
	font-size: 22px; margin-bottom: 10px;
	display: inline-flex; align-items: center; justify-content: center;
	width: 42px; height: 42px;
	background: rgba(var(--accent-rgb, 201,162,39), .1);
	border-radius: 10px;
}
.hlms-stat-card-num {
	font-size: 28px; font-weight: 900;
	color: var(--p-text); line-height: 1;
}
.hlms-stat-card-label { font-size: 12px; color: var(--p-muted); margin-top: 4px; }

/* ===== کارت عمومی ===== */
.hlms-panel-card {
	background: var(--p-surface);
	border: 1px solid var(--p-border);
	border-radius: var(--p-radius);
	box-shadow: var(--p-shadow);
	margin-bottom: 20px;
	overflow: hidden;
}
.hlms-panel-card-header {
	display: flex; align-items: center; justify-content: space-between;
	padding: 16px 20px;
	border-bottom: 1px solid var(--p-border);
}
.hlms-panel-card-header h3 {
	font-size: 15px; font-weight: 800; margin: 0;
	display: flex; align-items: center; gap: 8px;
}
.hlms-panel-card-body { padding: 20px; }

/* ===== دوره‌های دانشجو ===== */
.hlms-course-cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	gap: 16px;
}
.hlms-course-card-panel {
	background: var(--p-surface);
	border: 1px solid var(--p-border);
	border-radius: var(--p-radius);
	overflow: hidden;
	transition: transform .2s, box-shadow .2s;
	box-shadow: var(--p-shadow);
}
.hlms-course-card-panel:hover { transform: translateY(-3px); box-shadow: var(--p-shadow-lg); }
.hlms-course-card-thumb {
	aspect-ratio: 16/9;
	background: linear-gradient(135deg, #1a1512, #2b2118);
	position: relative;
	overflow: hidden;
}
.hlms-course-card-thumb img { width: 100%; height: 100%; object-fit: cover; }
.hlms-course-card-pct {
	position: absolute; bottom: 8px; right: 8px;
	background: rgba(0,0,0,.75);
	color: #fff; font-size: 11px; font-weight: 700;
	padding: 3px 9px; border-radius: 20px;
	backdrop-filter: blur(4px);
}
.hlms-course-card-body { padding: 14px 16px; }
.hlms-course-card-title { font-size: 14px; font-weight: 700; margin-bottom: 8px; line-height: 1.5; }
.hlms-course-progress-wrap {
	background: #eee; height: 6px; border-radius: 3px; overflow: hidden; margin-bottom: 10px;
}
.hlms-course-progress-fill {
	height: 100%; border-radius: 3px;
	background: linear-gradient(90deg, var(--p-gold), var(--p-gold-lt));
	transition: width .4s;
}
.hlms-course-card-footer {
	display: flex; align-items: center; justify-content: space-between;
}
.hlms-course-card-footer a {
	display: inline-flex; align-items: center; gap: 6px;
	background: var(--p-red); color: #fff;
	padding: 6px 14px; border-radius: 8px;
	font-size: 12px; font-weight: 700; text-decoration: none;
	transition: background .15s;
}
.hlms-course-card-footer a:hover { background: var(--p-red-dk, #8f1a22); }
.hlms-course-card-status { font-size: 11px; color: var(--p-muted); }

/* ===== مدال‌ها ===== */
.hlms-badges-panel {
	display: flex; flex-wrap: wrap; gap: 10px;
}
.hlms-badge-panel-item {
	display: flex; flex-direction: column; align-items: center; gap: 4px;
	background: var(--p-surface);
	border: 2px solid var(--badge-col, #e8e3db);
	border-radius: 12px; padding: 12px 16px; min-width: 80px;
	text-align: center; transition: transform .2s, box-shadow .2s;
	position: relative; overflow: hidden;
}
.hlms-badge-panel-item:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(0,0,0,.1); }
.hlms-badge-panel-item.earned::after {
	content: '✓';
	position: absolute; top: 4px; left: 6px;
	font-size: 10px; color: var(--p-green); font-weight: 900;
}
.hlms-badge-panel-item.locked { opacity: .4; filter: grayscale(.8); }
.hlms-badge-panel-emoji { font-size: 28px; }
.hlms-badge-panel-name { font-size: 11px; font-weight: 700; color: var(--p-text); }

/* ===== تاریخچه امتیاز ===== */
.hlms-points-list { display: flex; flex-direction: column; gap: 0; }
.hlms-points-item {
	display: flex; align-items: center; gap: 12px;
	padding: 12px 0;
	border-bottom: 1px solid var(--p-border);
}
.hlms-points-item:last-child { border-bottom: none; }
.hlms-points-icon {
	width: 36px; height: 36px; flex-shrink: 0;
	border-radius: 10px; display: flex; align-items: center; justify-content: center;
	font-size: 15px;
}
.hlms-points-icon.pos { background: rgba(25,135,84,.1); }
.hlms-points-icon.neg { background: rgba(220,53,69,.1); }
.hlms-points-desc { flex: 1; font-size: 13px; }
.hlms-points-desc small { display: block; color: var(--p-muted); font-size: 11px; margin-top: 2px; }
.hlms-points-val { font-size: 15px; font-weight: 900; }
.hlms-points-val.pos { color: var(--p-green); }
.hlms-points-val.neg { color: #dc3545; }

/* ===== گواهینامه در پنل ===== */
.hlms-cert-list { display: flex; flex-direction: column; gap: 12px; }
.hlms-cert-item {
	display: flex; align-items: center; gap: 14px;
	background: linear-gradient(135deg, #fdfaf2, #fff9e6);
	border: 1px solid #e3c567;
	border-radius: 12px; padding: 16px 18px;
}
.hlms-cert-icon { font-size: 32px; flex-shrink: 0; }
.hlms-cert-info { flex: 1; }
.hlms-cert-course { font-weight: 700; font-size: 14px; }
.hlms-cert-date { font-size: 12px; color: var(--p-muted); margin-top: 3px; }
.hlms-cert-code { font-size: 11px; color: var(--p-muted); direction: ltr; font-family: monospace; }
.hlms-cert-actions { display: flex; gap: 8px; }
.hlms-cert-btn {
	padding: 6px 14px; border-radius: 8px; font-size: 12px;
	font-weight: 700; text-decoration: none; border: none; cursor: pointer;
	font-family: inherit; transition: .15s;
	display: inline-flex; align-items: center; gap: 5px;
}
.hlms-cert-btn-view { background: var(--p-gold); color: #1a1208; }
.hlms-cert-btn-view:hover { background: #b8921f; color: #1a1208; }

/* ===== پنل مدرس ===== */
.hlms-course-table-panel { width: 100%; border-collapse: collapse; }
.hlms-course-table-panel th {
	text-align: right; padding: 10px 14px;
	font-size: 11px; font-weight: 700; color: var(--p-muted);
	background: #f8f5f0; border-bottom: 2px solid var(--p-border);
	letter-spacing: .3px;
}
.hlms-course-table-panel td {
	padding: 12px 14px;
	border-bottom: 1px solid var(--p-border);
	font-size: 13px; vertical-align: middle;
}
.hlms-course-table-panel tr:last-child td { border-bottom: none; }
.hlms-course-table-panel tr:hover td { background: #faf7f2; }
.hlms-tbl-status {
	display: inline-flex; align-items: center; gap: 5px;
	padding: 3px 10px; border-radius: 20px; font-size: 11px; font-weight: 700;
}
.hlms-tbl-status.pub { background: #d4edda; color: #155724; }
.hlms-tbl-status.pen { background: #fff3cd; color: #856404; }
.hlms-tbl-action {
	display: inline-flex; align-items: center; gap: 5px;
	padding: 5px 12px; border-radius: 8px; font-size: 12px; font-weight: 700;
	text-decoration: none; border: none; cursor: pointer;
	font-family: inherit; transition: .15s;
}
.hlms-tbl-action.edit { background: #e8f4fd; color: #0c63e4; }
.hlms-tbl-action.edit:hover { background: #d0e8fb; }
.hlms-tbl-action.del { background: #fde8e8; color: #b02a37; }
.hlms-tbl-action.del:hover { background: #fbd0d0; }
.hlms-tbl-action.manage { background: #e8f5ee; color: #155724; }
.hlms-tbl-action.manage:hover { background: #d1eddb; }

/* کارت درآمد */
.hlms-revenue-cards {
	display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin-bottom: 20px;
}
.hlms-revenue-card {
	background: var(--p-surface);
	border: 1px solid var(--p-border);
	border-radius: var(--p-radius);
	padding: 20px; text-align: center;
	box-shadow: var(--p-shadow);
}
.hlms-revenue-card .rc-icon { font-size: 22px; margin-bottom: 8px; display: block; }
.hlms-revenue-card .rc-val { font-size: 24px; font-weight: 900; color: var(--p-text); }
.hlms-revenue-card .rc-lbl { font-size: 12px; color: var(--p-muted); margin-top: 4px; }
.hlms-revenue-card.rc-net .rc-val { color: var(--p-green); }
.hlms-revenue-card.rc-cut .rc-val { color: var(--p-red); }

/* Empty state */
.hlms-empty-state {
	text-align: center; padding: 48px 24px;
	color: var(--p-muted);
}
.hlms-empty-state-icon { font-size: 48px; margin-bottom: 12px; opacity: .4; }
.hlms-empty-state h4 { font-size: 16px; font-weight: 700; margin-bottom: 6px; }
.hlms-empty-state p { font-size: 14px; }

/* Flash message */
.hlms-flash-panel {
	display: flex; align-items: center; gap: 10px;
	padding: 12px 16px; border-radius: 10px;
	margin-bottom: 18px; font-size: 13px;
	background: #d4edda; color: #155724; border: 1px solid #c3e6cb;
}
.hlms-flash-panel.warn { background: #fff3cd; color: #856404; border-color: #ffe082; }
.hlms-flash-panel.err  { background: #f8d7da; color: #721c24; border-color: #f5c2c7; }

/* دکمه اضافه */
.hlms-panel-btn {
	display: inline-flex; align-items: center; gap: 7px;
	padding: 9px 18px; border-radius: 10px; font-family: inherit;
	font-size: 13px; font-weight: 700; cursor: pointer; border: none; transition: .15s;
}
.hlms-panel-btn-primary { background: var(--p-red); color: #fff; }
.hlms-panel-btn-primary:hover { background: #8f1a22; }
.hlms-panel-btn-gold { background: var(--p-gold); color: #1a1208; }
.hlms-panel-btn-gold:hover { background: #b8921f; }
.hlms-panel-btn-outline {
	background: transparent; border: 1.5px solid var(--p-border); color: var(--p-text);
}
.hlms-panel-btn-outline:hover { border-color: var(--p-red); color: var(--p-red); }

/* فرم‌های پنل */
.hlms-panel-form { display: flex; flex-direction: column; gap: 16px; }
.hlms-panel-field label { display: block; font-size: 12px; font-weight: 700; color: var(--p-muted); margin-bottom: 6px; }
.hlms-panel-field input,
.hlms-panel-field select,
.hlms-panel-field textarea {
	width: 100%; padding: 10px 13px;
	border: 1.5px solid var(--p-border); border-radius: 10px;
	font-family: inherit; font-size: 13px; color: var(--p-text);
	background: var(--p-surface); transition: border .2s, box-shadow .2s;
}
.hlms-panel-field input:focus,
.hlms-panel-field textarea:focus {
	border-color: var(--p-red); outline: none;
	box-shadow: 0 0 0 3px rgba(180,35,44,.08);
}
.hlms-panel-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }

/* موبایل toggle */
.hlms-sb-toggle {
	display: none;
	position: fixed; top: 14px; right: 16px; z-index: 201;
	width: 40px; height: 40px;
	background: var(--p-sidebar-bg); color: #fff;
	border: none; border-radius: 10px; cursor: pointer;
	align-items: center; justify-content: center; font-size: 18px;
}

/* ===== ریسپانسیو ===== */
@media (max-width: 860px) {
	.hlms-panel-sidebar {
		position: fixed; right: -280px; top: 0; height: 100%;
		transition: right .3s ease; z-index: 200;
	}
	.hlms-panel-sidebar.open { right: 0; box-shadow: 4px 0 24px rgba(0,0,0,.3); }
	.hlms-sb-toggle { display: flex; }
	.hlms-panel-main { padding: 60px 16px 40px; }
	.hlms-revenue-cards { grid-template-columns: 1fr 1fr; }
	.hlms-course-cards { grid-template-columns: 1fr; }
	.hlms-panel-form-row { grid-template-columns: 1fr; }
}
@media (max-width: 500px) {
	.hlms-panel-stats { grid-template-columns: 1fr 1fr; }
	.hlms-revenue-cards { grid-template-columns: 1fr; }
}


/* ============================================================
   CSS استخراج‌شده از فایل‌های view
   ============================================================ */
/* ===== instructor-revenue.php ===== */
@media(max-width:700px){ .hlms-revenue-grid{ grid-template-columns:1fr !important; } }
/* ===== certificate-verify-page.php ===== */


.hlms-verify-wrap { font-family:'Vazirmatn',Tahoma,sans-serif;direction:rtl;padding:40px 20px;display:flex;justify-content:center; }
.hlms-verify-box {
	background: #fdfaf2;
	border-radius: 14px;
	max-width: 480px;
	width: 100%;
	padding: 40px 32px;
	text-align: center;
	box-shadow: 0 25px 70px rgba(0,0,0,.5);
	border-top: 6px solid #198754;
	}

.hlms-verify-icon {
	font-size: 54px;
	margin-bottom: 14px;
	}

.hlms-verify-status {
	font-size: 22px;
	font-weight: 900;
	color: #198754;
	margin-bottom: 8px;
	}

.hlms-verify-sub {
	color: #777;
	font-size: 13px;
	margin-bottom: 26px;
	}

.hlms-verify-table {
	text-align: right;
	border-top: 1px solid #eee;
	padding-top: 18px;
	}

.hlms-verify-row {
	display: flex;
	justify-content: space-between;
	padding: 8px 0;
	border-bottom: 1px dashed #eee;
	font-size: 14px;
	}

.hlms-verify-row span:first-child { color: #999; }
.hlms-verify-row span:last-child { color: #2b2118; font-weight: 600; }

.hlms-brand {
	margin-top: 28px;
	font-size: 12px;
	color: #aaa;
	}
/* ===== instructor-dashboard.php ===== */
.hlms-tab-panel-content { display: none; }
.hlms-tab-panel-content.active { display: block; }
/* ===== instructor-profile-public.php ===== */
.hlms-instructor-profile-page{max-width:960px;margin:30px auto;padding:0 16px;font-family:'Vazirmatn',Tahoma,sans-serif;}
.hlms-instructor-hero{display:flex;gap:24px;align-items:center;background:linear-gradient(135deg,#2b2118,#4a3828);color:#f5e6c8;border-radius:16px;padding:32px;margin-bottom:28px;}
.hlms-instructor-avatar-lg{width:120px;height:120px;border-radius:50%;object-fit:cover;border:4px solid #c9a227;flex-shrink:0;}
.hlms-instructor-hero h1{font-size:26px;font-weight:900;color:#e3c567;margin:0 0 8px;}
.hlms-instructor-spec{color:#f5e6c8;margin:0 0 12px;}
.hlms-instructor-socials{display:flex;gap:12px;flex-wrap:wrap;}
.hlms-instructor-socials a{color:#e3c567;text-decoration:none;font-size:13px;border:1px solid #c9a227;padding:4px 12px;border-radius:20px;}
.hlms-instructor-bio{background:#fafafa;border:1px solid #eee;border-radius:12px;padding:20px;margin-bottom:24px;}
.hlms-instructor-bio h3{margin:0 0 12px;}
.hlms-instructor-bio-text{color:#444;line-height:2;font-size:14px;}
.hlms-instructor-courses-section h3{margin-bottom:16px;}
@media(max-width:600px){.hlms-instructor-hero{flex-direction:column;text-align:center;}}
/* ===== instructors-list-public.php ===== */
.hlms-instructors-list{font-family:'Vazirmatn',Tahoma,sans-serif;max-width:1000px;margin:0 auto;}
.hlms-instructors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:20px;margin-top:16px;}
.hlms-instructor-card{display:flex;flex-direction:column;align-items:center;text-align:center;background:#fff;border:1px solid #eee;border-radius:12px;padding:24px 16px;text-decoration:none;color:inherit;transition:.2s;box-shadow:0 2px 8px rgba(0,0,0,.05);}
.hlms-instructor-card:hover{border-color:#b4232c;transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.1);}
.hlms-instructor-card img{width:90px;height:90px;border-radius:50%;object-fit:cover;margin-bottom:12px;border:3px solid #c9a227;}
.hlms-instructor-card h4{margin:0 0 4px;font-size:15px;font-weight:700;}
.hlms-instructor-card p{color:#888;font-size:12px;margin:0 0 8px;}
.hlms-instructor-card small{color:#b4232c;font-weight:700;font-size:13px;}
/* ===== certificate-page.php ===== */


	.hlms-toolbar {
		width: 100%;
		max-width: 980px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-bottom: 18px;
		color: #e8d9b5;
		font-size: 14px;
	}

	.hlms-toolbar a {
		color: #e3c567;
		text-decoration: none;
		border: 1px solid #e3c567;
		padding: 6px 16px;
		border-radius: 6px;
		transition: .2s;
	}
	.hlms-toolbar a:hover { background: #e3c567; color: #1a1410; }

	.hlms-cert {
		position: relative;
		width: 100%;
		max-width: 980px;
		background: #fdfaf2;
		border-radius: 14px;
		padding: 10px;
		box-shadow: 0 25px 70px rgba(0,0,0,.55);
	}

	.hlms-cert-inner {
		position: relative;
		border: 2px solid #c9a227;
		border-radius: 8px;
		padding: 56px 60px;
		overflow: hidden;
		background:
			radial-gradient(circle at 0% 0%, rgba(201,162,39,.10), transparent 40%),
			radial-gradient(circle at 100% 100%, rgba(180,35,44,.08), transparent 40%);
	}

	.hlms-cert-inner::before,
	.hlms-cert-inner::after {
		content: '';
		position: absolute;
		width: 130px;
		height: 130px;
		border: 3px solid #c9a227;
		opacity: .35;
	}
	.hlms-cert-inner::before { top: -10px; right: -10px; border-left: none; border-bottom: none; }
	.hlms-cert-inner::after  { bottom: -10px; left: -10px; border-right: none; border-top: none; }

	.hlms-cert-header {
		text-align: center;
		margin-bottom: 10px;
	}

	.hlms-cert-brand {
		font-size: 14px;
		letter-spacing: 2px;
		color: #b4232c;
		font-weight: 700;
		margin-bottom: 18px;
	}

	.hlms-cert-medal {
		font-size: 46px;
		margin-bottom: 6px;
	}

	.hlms-cert-title {
		font-size: 34px;
		font-weight: 900;
		color: #2b2118;
		margin-bottom: 6px;
	}

	.hlms-cert-subtitle {
		font-size: 15px;
		color: #8a7a55;
		margin-bottom: 30px;
	}

	.hlms-cert-presented {
		text-align: center;
		font-size: 15px;
		color: #555;
		margin-bottom: 8px;
	}

	.hlms-cert-name {
		text-align: center;
		font-size: 40px;
		font-weight: 700;
		color: #b4232c;
		margin: 6px 0 18px;
		padding-bottom: 14px;
		border-bottom: 2px solid #e3c567;
		display: inline-block;
	}

	.hlms-cert-name-wrap { text-align: center; }

	.hlms-cert-desc {
		text-align: center;
		font-size: 16px;
		color: #444;
		line-height: 2;
		max-width: 640px;
		margin: 0 auto 36px;
	}

	.hlms-cert-desc strong { color: #2b2118; }

	.hlms-cert-footer {
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
		margin-top: 30px;
		gap: 20px;
		flex-wrap: wrap;
	}

	.hlms-cert-footer-col {
		flex: 1;
		min-width: 180px;
		text-align: center;
	}

	.hlms-signature {
		font-size: 20px;
		font-family: cursive;
		color: #2b2118;
		border-bottom: 1px solid #999;
		padding-bottom: 6px;
		margin-bottom: 6px;
	}

	.hlms-footer-label {
		font-size: 12px;
		color: #888;
	}

	.hlms-qr-col {
		text-align: center;
	}

	.hlms-qr-col img {
		border-radius: 6px;
		border: 4px solid #fff;
		box-shadow: 0 2px 10px rgba(0,0,0,.15);
	}

	.hlms-cert-serial {
		text-align: center;
		margin-top: 26px;
		font-size: 12px;
		color: #999;
		letter-spacing: 1px;
	}

	.hlms-cert-serial b {
		color: #555;
		direction: ltr;
		display: inline-block;
	}

	@media print {
		body { background: #fff; padding: 0; }
		.hlms-toolbar { display: none; }
		.hlms-cert { box-shadow: none; max-width: 100%; }
	}

	@media (max-width: 640px) {
		.hlms-cert-inner { padding: 30px 20px; }
		.hlms-cert-name { font-size: 26px; }
		.hlms-cert-title { font-size: 24px; }
	}
/* ===== student-dashboard.php ===== */
.hlms-tab-panel-content { display: none; }
.hlms-tab-panel-content.active { display: block; }
/* ===== instructor-courses.php ===== */
@keyframes hlmsStripe {
	0%   { background-position: 0 0; }
	100% { background-position: 28px 0; }
}
/* ===== courses-list-page.php ===== */
.hlms-courses-list-wrap{font-family:'Vazirmatn',Tahoma,sans-serif;direction:rtl;max-width:1100px;margin:0 auto;padding:0 16px;}
.hlms-cl-header{text-align:center;margin-bottom:36px;}
.hlms-cl-header .hlms-cl-title{font-size:clamp(22px,4vw,36px);font-weight:900;color:#1a1512;margin-bottom:8px;}
.hlms-cl-header .hlms-cl-subtitle{font-size:15px;color:#7a6f65;}
.hlms-cl-empty{text-align:center;padding:60px;color:#aaa;}
.hlms-cl-empty span{font-size:48px;display:block;margin-bottom:12px;}
.hlms-cl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px;}

/* کارد */
.hlms-cl-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 16px rgba(0,0,0,.08);border:1px solid #f0ebe3;transition:transform .25s,box-shadow .25s;display:flex;flex-direction:column;}
.hlms-cl-card:hover{transform:translateY(-4px);box-shadow:0 12px 36px rgba(0,0,0,.13);}

/* تصویر */
.hlms-cl-thumb{aspect-ratio:16/9;overflow:hidden;position:relative;background:#1a1512;}
.hlms-cl-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.hlms-cl-card:hover .hlms-cl-thumb img{transform:scale(1.04);}
.hlms-cl-thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:48px;background:linear-gradient(135deg,#1a1512,#2b2118);opacity:.6;}
.hlms-cl-badge{position:absolute;top:10px;right:10px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700;}
.hlms-cl-badge-enrolled{background:rgba(25,135,84,.9);color:#fff;}

/* بدنه */
.hlms-cl-body{padding:16px;flex:1;display:flex;flex-direction:column;gap:10px;}

/* مدرس */
.hlms-cl-instructor{display:flex;align-items:center;gap:8px;}
.hlms-cl-instructor img{width:28px;height:28px;border-radius:50%;object-fit:cover;border:2px solid #e8e3db;}
.hlms-cl-instructor span{font-size:12px;color:#7a6f65;font-weight:600;}

/* عنوان */
.hlms-cl-title-card{font-size:15px;font-weight:800;line-height:1.5;margin:0;}
.hlms-cl-title-card a{color:#1a1512;text-decoration:none;}
.hlms-cl-title-card a:hover{color:#b4232c;}

/* توضیحات */
.hlms-cl-excerpt{font-size:13px;color:#7a6f65;line-height:1.7;margin:0;flex:1;}

/* پایین کارد */
.hlms-cl-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:12px;border-top:1px solid #f0ebe3;}
.hlms-cl-price{font-size:14px;font-weight:700;color:#1a1512;}
.hlms-cl-price-num{color:#b4232c;font-size:16px;}
.hlms-cl-free{color:#198754;font-weight:700;}

/* دکمه‌ها */
.hlms-cl-btn{display:inline-flex;align-items:center;padding:8px 16px;border-radius:10px;font-size:13px;font-weight:700;text-decoration:none;transition:.15s;font-family:inherit;}
.hlms-cl-btn-continue{background:#198754;color:#fff;}
.hlms-cl-btn-continue:hover{background:#145f3d;color:#fff;}
.hlms-cl-btn-buy{background:#b4232c;color:#fff;}
.hlms-cl-btn-buy:hover{background:#8f1a22;color:#fff;}
.hlms-cl-btn-auth{background:linear-gradient(135deg,#c9a227,#e3c567);color:#1a1208;}
.hlms-cl-btn-auth:hover{opacity:.9;color:#1a1208;}

@media(max-width:600px){.hlms-cl-grid{grid-template-columns:1fr 1fr;gap:14px;}.hlms-cl-body{padding:12px;}.hlms-cl-title-card{font-size:13px;}}
@media(max-width:400px){.hlms-cl-grid{grid-template-columns:1fr;}}
/* ===== auth-page.php ===== */
/* ===== انتخاب نقش در ثبت‌نام ===== */
.hlms-role-selector {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-bottom: 20px;
}
.hlms-role-btn {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	padding: 14px 10px;
	border: 2px solid #e0d8cc;
	border-radius: 12px;
	background: #faf8f4;
	cursor: pointer;
	transition: border-color .2s, background .2s, transform .15s;
	font-family: inherit;
	text-align: center;
}
.hlms-role-btn:hover {
	border-color: #b4232c;
	background: #fff5f5;
}
.hlms-role-btn.active {
	border-color: #b4232c;
	background: #fff0f0;
	box-shadow: 0 0 0 3px rgba(180,35,44,.1);
}
.hlms-role-icon { font-size: 28px; line-height: 1; }
.hlms-role-label { font-size: 14px; font-weight: 800; color: #1a1512; }
.hlms-role-desc  { font-size: 11px; color: #7a6f65; }

/* ===== صفحه گواهینامه ===== */
.hlms-cert-wrap { font-family: 'Vazirmatn', Tahoma, sans-serif; direction: rtl; padding: 30px 20px; }
.hlms-cert {
	max-width: 820px;
	margin: 0 auto;
	background: linear-gradient(135deg, #fdfaf2 0%, #fff9e8 100%);
	border: 3px solid #c9a227;
	border-radius: 20px;
	padding: 48px;
	position: relative;
	box-shadow: 0 8px 40px rgba(201,162,39,.2), 0 2px 8px rgba(0,0,0,.1);
	text-align: center;
}
.hlms-cert::before, .hlms-cert::after {
	content: '';
	position: absolute;
	inset: 8px;
	border: 1px solid rgba(201,162,39,.3);
	border-radius: 14px;
	pointer-events: none;
}
.hlms-cert::after {
	inset: 14px;
	border-style: dashed;
	border-color: rgba(201,162,39,.15);
}
.hlms-cert-brand { font-size: 13px; color: #7a6f65; letter-spacing: 2px; text-transform: uppercase; margin-bottom: 8px; }
.hlms-cert-medal { font-size: 52px; line-height: 1; margin-bottom: 8px; }
.hlms-cert-title { font-size: 28px; font-weight: 900; color: #2b2118; margin-bottom: 4px; }
.hlms-cert-subtitle { font-size: 13px; color: #7a6f65; letter-spacing: 3px; margin-bottom: 28px; }
.hlms-cert-divider { width: 80px; height: 2px; background: linear-gradient(90deg, transparent, #c9a227, transparent); margin: 0 auto 24px; }
.hlms-cert-presented { font-size: 14px; color: #7a6f65; margin-bottom: 10px; }
.hlms-cert-name-wrap { margin-bottom: 16px; }
.hlms-cert-name {
	font-size: clamp(24px, 5vw, 38px);
	font-weight: 900;
	color: #b4232c;
	border-bottom: 2px solid #c9a227;
	padding-bottom: 8px;
	display: inline-block;
}
.hlms-cert-desc { font-size: 14px; color: #555; line-height: 1.8; max-width: 580px; margin: 0 auto 28px; }
.hlms-cert-course-name { font-weight: 800; color: #2b2118; }
.hlms-cert-footer {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: end;
	gap: 20px;
	margin-top: 32px;
	padding-top: 24px;
	border-top: 1px solid rgba(201,162,39,.3);
}
.hlms-cert-footer-col { text-align: center; }
.hlms-cert-footer-label { font-size: 11px; color: #aaa; letter-spacing: 1px; margin-bottom: 6px; }
.hlms-cert-footer-value { font-size: 14px; font-weight: 700; color: #2b2118; }
.hlms-cert-qr { width: 80px; height: 80px; margin: 0 auto; }
.hlms-cert-qr img { width: 100%; height: 100%; }
.hlms-cert-serial { margin-top: 20px; font-size: 11px; color: #aaa; letter-spacing: 1px; direction: ltr; }
.hlms-cert-actions { display: flex; justify-content: center; gap: 12px; margin-top: 24px; flex-wrap: wrap; }
.hlms-cert-print-btn {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 10px 22px; border-radius: 10px;
	font-family: inherit; font-size: 14px; font-weight: 700;
	border: none; cursor: pointer; text-decoration: none; transition: .2s;
}
.hlms-cert-print-btn.primary { background: #b4232c; color: #fff; }
.hlms-cert-print-btn.primary:hover { background: #8f1a22; }
.hlms-cert-print-btn.secondary { background: #f4f1ec; color: #2b2118; border: 1px solid #e0d8cc; }
.hlms-cert-print-btn.secondary:hover { background: #e8e3db; }
@media print {
	.hlms-cert-actions, nav, footer, header, .hlms-panel-sidebar { display: none !important; }
	.hlms-cert { box-shadow: none; border-width: 2px; }
}
@media (max-width: 600px) {
	.hlms-cert { padding: 28px 20px; }
	.hlms-cert-footer { grid-template-columns: 1fr; text-align: center; }
}

/* ====================================================
   صفحه ورود و ثبت‌نام — [hlms_auth]
   کلاس‌ها مطابق auth-page.php
   ==================================================== */

/* wrapper خارجی */
.hlms-auth-page {
	direction: rtl;
	font-family: 'Vazirmatn', Tahoma, sans-serif;
	padding: 40px 20px;
	display: flex;
	justify-content: center;
}

/* کارت مرکزی */
.hlms-auth-card {
	background: #fff;
	border-radius: 20px;
	width: 100%;
	max-width: 460px;
	padding: 36px;
	box-shadow: 0 8px 40px rgba(0,0,0,.12), 0 2px 8px rgba(0,0,0,.06);
}

/* لوگو */
.hlms-auth-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-bottom: 24px;
}
.hlms-auth-logo-icon {
	width: 44px; height: 44px;
	background: linear-gradient(135deg, #b4232c, #c9a227);
	border-radius: 12px;
	display: flex; align-items: center; justify-content: center;
	font-size: 22px;
	flex-shrink: 0;
}
.hlms-auth-logo-text {
	font-size: 18px;
	font-weight: 900;
	color: #1a1512;
}

/* پیام خطا / موفقیت */
.hlms-auth-msg {
	padding: 10px 14px;
	border-radius: 10px;
	font-size: 13px;
	margin-bottom: 16px;
	text-align: center;
}
.hlms-auth-msg-err {
	background: #fde8e8;
	color: #b02a37;
	border: 1px solid #f5c2c7;
}
.hlms-auth-msg-ok {
	background: #d4edda;
	color: #155724;
	border: 1px solid #c3e6cb;
}

/* تب‌های ورود/ثبت‌نام */
.hlms-auth-tabs {
	display: flex;
	background: #f4f1ec;
	border-radius: 12px;
	padding: 4px;
	margin-bottom: 24px;
	gap: 4px;
}
.hlms-auth-tab-btn {
	flex: 1;
	border: none;
	background: none;
	padding: 9px;
	border-radius: 10px;
	font-family: 'Vazirmatn', Tahoma, sans-serif;
	font-size: 14px;
	font-weight: 700;
	color: #7a6f65;
	cursor: pointer;
	transition: background .2s, color .2s, box-shadow .2s;
}
.hlms-auth-tab-btn:hover {
	background: rgba(255,255,255,.6);
	color: #1a1512;
}
.hlms-auth-tab-btn.active {
	background: #fff;
	color: #b4232c;
	box-shadow: 0 2px 8px rgba(0,0,0,.1);
}

/* پانل‌های تب */
.hlms-auth-tab-panel { display: none; }
.hlms-auth-tab-panel.active { display: block; }

/* فیلدهای فرم */
.hlms-auth-field {
	margin-bottom: 14px;
}
.hlms-auth-field label {
	display: block;
	font-size: 12px;
	font-weight: 700;
	color: #555;
	margin-bottom: 5px;
}
.hlms-auth-field input[type="text"],
.hlms-auth-field input[type="password"],
.hlms-auth-field input[type="tel"],
.hlms-auth-field input[type="email"],
.hlms-auth-field input[type="number"] {
	width: 100%;
	padding: 11px 13px;
	border: 1.5px solid #e0d8cc;
	border-radius: 10px;
	font-family: 'Vazirmatn', Tahoma, sans-serif;
	font-size: 13px;
	color: #1a1512;
	background: #fff;
	transition: border-color .2s, box-shadow .2s;
	box-sizing: border-box;
}
.hlms-auth-field input:focus {
	border-color: #b4232c;
	outline: none;
	box-shadow: 0 0 0 3px rgba(180,35,44,.08);
}

/* ردیف دوتایی */
.hlms-auth-form-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

/* باکس رمز عبور */
.hlms-auth-pass-wrap {
	position: relative;
}
.hlms-auth-pass-wrap input {
	padding-left: 40px;
}
.hlms-toggle-pass {
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
	background: none;
	border: none;
	cursor: pointer;
	font-size: 16px;
	color: #aaa;
	padding: 0;
	line-height: 1;
}
.hlms-toggle-pass:hover { color: #555; }

/* ردیف مرا به خاطر بسپار */
.hlms-auth-field-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 16px;
}
.hlms-check-label {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: #555;
	cursor: pointer;
}
.hlms-check-label input { cursor: pointer; }

/* دکمه submit */
.hlms-auth-submit {
	width: 100%;
	padding: 13px;
	border: none;
	border-radius: 12px;
	font-family: 'Vazirmatn', Tahoma, sans-serif;
	font-size: 15px;
	font-weight: 900;
	color: #fff;
	cursor: pointer;
	transition: transform .15s, box-shadow .15s;
	background: linear-gradient(135deg, #b4232c, #8f1a22);
	box-shadow: 0 4px 16px rgba(180,35,44,.3);
}
.hlms-auth-submit:hover {
	transform: translateY(-1px);
	box-shadow: 0 6px 20px rgba(180,35,44,.4);
}
.hlms-auth-submit-reg {
	background: linear-gradient(135deg, #c9a227, #b8921f);
	box-shadow: 0 4px 16px rgba(201,162,39,.3);
}
.hlms-auth-submit-reg:hover {
	box-shadow: 0 6px 20px rgba(201,162,39,.4);
}

/* نوار قدرت رمز */
.hlms-strength-wrap {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
}
.hlms-strength-bar {
	flex: 1;
	height: 5px;
	background: #eee;
	border-radius: 3px;
	overflow: hidden;
}
.hlms-strength-fill {
	height: 100%;
	width: 0;
	border-radius: 3px;
	transition: width .3s, background .3s;
}
.hlms-strength-label {
	font-size: 11px;
	color: #aaa;
	min-width: 60px;
	text-align: left;
}

/* انتخاب نقش */
.hlms-role-selector {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-bottom: 20px;
}
.hlms-role-btn {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	padding: 14px 10px;
	border: 2px solid #e0d8cc;
	border-radius: 12px;
	background: #faf8f4;
	cursor: pointer;
	transition: border-color .2s, background .2s;
	font-family: 'Vazirmatn', Tahoma, sans-serif;
	text-align: center;
}
.hlms-role-btn:hover {
	border-color: #b4232c;
	background: #fff5f5;
}
.hlms-role-btn.active {
	border-color: #b4232c;
	background: #fff0f0;
	box-shadow: 0 0 0 3px rgba(180,35,44,.1);
}
.hlms-role-icon { font-size: 28px; line-height: 1; }
.hlms-role-label { font-size: 14px; font-weight: 800; color: #1a1512; }
.hlms-role-desc  { font-size: 11px; color: #7a6f65; }

/* ریسپانسیو */
@media (max-width: 480px) {
	.hlms-auth-card { padding: 24px 16px; }
	.hlms-auth-form-row { grid-template-columns: 1fr; }
}

