@font-face {
	font-family: IRANSansX;
	font-style: normal;
	font-weight: normal;
	src: url('/public/assets/css/fonts/woff/IRANSansXFaNum-Regular.woff') format('woff'),   
	url('/public/assets/css/fonts/woff2/IRANSansXFaNum-Regular.woff2') format('woff2');	
}
@font-face{font-family:system-ui;src:local(system-ui)}*{box-sizing:border-box}body{margin:0;background:#f5f7fb;color:#111827;font-family:IRANSansX,Arial,sans-serif;line-height:1.8}.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 28px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid #e5e7eb}.brand{display:flex;align-items:center;gap:12px}.brand small{display:block;color:#64748b}.logo{display:grid;place-items:center;width:44px;height:44px;border-radius:16px;background:#111827;color:#fff;font-weight:800}nav{display:flex;gap:10px;flex-wrap:wrap}a{color:#1d4ed8;text-decoration:none}nav a{padding:8px 12px;border-radius:12px;color:#334155}.danger-link{color:#dc2626}.wrap{max-width:1240px;margin:auto;padding:28px}.hero{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.card{background:#fff;border:1px solid #e5e7eb;border-radius:22px;box-shadow:0 10px 30px rgba(15,23,42,.06);padding:22px;margin-bottom:18px}.auth-shell{min-height:70vh;display:grid;place-items:center}.auth-card{max-width:520px;width:100%}.grid{display:grid;gap:16px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.four{grid-template-columns:repeat(4,minmax(0,1fr))}.full{grid-column:1/-1}.form{display:grid;gap:14px}.form.compact{grid-template-columns:repeat(4,1fr) auto;align-items:end}.inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}fieldset{border:1px solid #e5e7eb;border-radius:18px;padding:16px}label{display:grid;gap:7px;font-size:14px;color:#334155}input,select,textarea{width:100%;border:1px solid #d1d5db;border-radius:14px;padding:11px 12px;background:#fff;font:inherit}textarea{min-height:92px}.btn,button{border:0;border-radius:14px;padding:10px 16px;background:#e5e7eb;color:#111827;cursor:pointer;font:inherit;display:inline-flex;align-items:center;justify-content:center}.btn.primary,button.primary{background:#111827;color:#fff}.btn.small{padding:6px 10px;border-radius:10px;font-size:13px}.alert{border-radius:16px;padding:12px 16px;margin-bottom:16px}.danger{background:#fee2e2;color:#991b1b}.warn{background:#fff7ed;color:#9a3412}.ok{background:#dcfce7;color:#166534}table{width:100%;border-collapse:collapse;overflow:hidden}th,td{padding:10px;border-bottom:1px solid #eef2f7;text-align:right;vertical-align:top}th{color:#475569;background:#f8fafc}.stats .card b{font-size:24px}.badge{display:inline-block;padding:4px 10px;border-radius:999px;background:#e5e7eb}.badge.paid{background:#dcfce7}.badge.unpaid{background:#fee2e2}.filters a{display:inline-block;background:#f1f5f9;padding:6px 10px;border-radius:12px;margin:4px}.consent{background:#f8fafc;border:1px dashed #cbd5e1;padding:16px;border-radius:18px;margin:18px 0}.attendance input[type=checkbox]{width:22px;height:22px}@media(max-width:900px){.top,.hero{align-items:flex-start;flex-direction:column}.two,.three,.four,.form.compact{grid-template-columns:1fr}.wrap{padding:16px}table{font-size:13px;display:block;overflow-x:auto;white-space:nowrap}.card{padding:16px}}

/* User dashboard/profile enterprise refresh */
.dashboard-modern,.profile-shell{display:grid;gap:18px}.student-hero,.form-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:28px;border-radius:30px;background:linear-gradient(135deg,#111827,#1e3a8a 55%,#0f766e);color:#fff;box-shadow:0 24px 70px rgba(15,23,42,.22)}.hero-glow{position:absolute;inset:auto -80px -110px auto;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.18);filter:blur(4px)}.student-identity{position:relative;display:flex;align-items:center;gap:16px}.avatar{width:72px;height:72px;border-radius:26px;display:grid;place-items:center;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);font-size:24px;font-weight:900}.eyebrow{display:inline-block;color:#38bdf8;font-size:12px;font-weight:800;letter-spacing:.5px;margin-bottom:5px}.student-hero .eyebrow,.form-hero .eyebrow{color:#bae6fd}.student-hero h1,.form-hero h1{margin:0;font-size:32px}.student-hero p,.form-hero p{margin:8px 0 0;color:#dbeafe}.hero-actions{position:relative;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.status-pill{padding:8px 13px;border-radius:999px;font-weight:800}.status-pill.success{background:#dcfce7;color:#166534}.status-pill.warning{background:#fef3c7;color:#92400e}.notice-card{display:flex;align-items:center;gap:14px;padding:18px;border-radius:24px;border:1px solid #e5e7eb;background:#fff;box-shadow:0 14px 40px rgba(15,23,42,.07)}.notice-card h3{margin:0 0 4px}.notice-card p,.notice-card ul{margin:0;color:#475569}.notice-card.urgent{border-color:#fed7aa;background:linear-gradient(135deg,#fff7ed,#fff)}.notice-card.waiting{border-color:#bfdbfe;background:linear-gradient(135deg,#eff6ff,#fff)}.notice-icon{flex:0 0 46px;width:46px;height:46px;border-radius:17px;display:grid;place-items:center;background:#f97316;color:#fff;font-size:24px;font-weight:900}.waiting .notice-icon{background:#2563eb}.kpi-grid .kpi-card,.panel-card,.form-section{background:rgba(255,255,255,.94);border:1px solid #e5e7eb;border-radius:26px;box-shadow:0 16px 45px rgba(15,23,42,.07);padding:22px}.kpi-card small,.info-list span,.muted{color:#64748b}.kpi-card strong{display:block;margin:6px 0;font-size:24px;color:#0f172a}.kpi-card em{font-style:normal;color:#64748b;font-size:13px}.progress{height:9px;border-radius:99px;background:#e5e7eb;overflow:hidden;margin-top:12px}.progress span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#0f766e,#2563eb)}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.panel-title h2{margin:0}.highlight-payment{background:linear-gradient(180deg,#fff,#f8fafc)}.payment-focus{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#0f172a;color:#fff;border-radius:22px;padding:16px;margin:12px 0}.payment-focus b{font-size:24px}.table-wrap{width:100%;overflow:auto}.info-list{display:grid;gap:10px}.info-list div{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px dashed #e2e8f0}.exam-form{grid-template-columns:repeat(4,1fr) auto;align-items:end}.mobile-form{grid-template-columns:1fr auto;align-items:end}.news-row{padding:10px 0;border-bottom:1px dashed #e2e8f0}.profile-shell .form-hero{margin-bottom:0}.modern-form{gap:18px}.form-section{padding:24px}.section-title{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}.section-title>b{width:42px;height:42px;border-radius:16px;display:grid;place-items:center;background:#111827;color:#fff}.section-title h2{margin:0}.section-title p{margin:4px 0 0;color:#64748b}.req{color:#dc2626;font-weight:900}.modern-form label{position:relative}.modern-form input,.modern-form select,.modern-form textarea{background:#f8fafc;border-color:#e2e8f0;transition:.2s}.modern-form input:focus,.modern-form select:focus,.modern-form textarea:focus{outline:none;background:#fff;border-color:#2563eb;box-shadow:0 0 0 4px rgba(37,99,235,.10)}.field-error{color:#dc2626;font-size:12px;margin-top:-2px}.invalid-field{border-color:#ef4444!important;box-shadow:0 0 0 4px rgba(239,68,68,.10)!important}.upload-grid{align-items:stretch}.upload-box{display:grid;gap:10px;padding:16px;border:1px dashed #cbd5e1;border-radius:22px;background:#f8fafc}.upload-box.has-file{border-color:#86efac;background:#f0fdf4}.upload-box input{margin-top:8px;background:#fff}.upload-box small{color:#64748b}.uploaded-state,.empty-state{display:grid;gap:5px;padding:10px 12px;border-radius:16px;background:#fff}.uploaded-state span{color:#166534;font-weight:800}.uploaded-state em{font-style:normal;color:#64748b;font-size:12px}.empty-state{color:#64748b}.sample-letter{margin:16px 0;padding:16px;border-radius:20px;background:#f8fafc;border:1px solid #e2e8f0}.modern-consent{background:linear-gradient(135deg,#f8fafc,#fff);border-style:solid}.check-line{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:10px}.check-line input{width:20px;height:20px}.sticky-submit{position:sticky;bottom:12px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid #e5e7eb;border-radius:22px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);box-shadow:0 18px 45px rgba(15,23,42,.12)}.sticky-submit span{color:#64748b;font-size:13px}@media(max-width:900px){.student-hero,.form-hero,.notice-card,.sticky-submit{flex-direction:column;align-items:flex-start}.student-identity{align-items:flex-start}.student-hero h1,.form-hero h1{font-size:24px}.exam-form,.mobile-form{grid-template-columns:1fr}.kpi-grid .kpi-card,.panel-card,.form-section{padding:16px}.payment-focus{align-items:flex-start;flex-direction:column}.check-line{display:grid;grid-template-columns:auto 1fr}.info-list div{display:grid}}

.logo img{width:42px;height:42px;object-fit:contain;border-radius:12px;display:block}.student-photo{overflow:hidden}.student-photo img{width:100%;height:100%;object-fit:cover;display:block}.admin-exam-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;min-width:520px}.health-grid [data-show-when], [data-under18], [data-parent-consent-box="1"]{transition:.2s}.notice-card a{font-weight:700}.profile-shell .full{grid-column:1/-1}.exam-form .full{grid-column:1/-1}
.jalali-picker{display:flex;gap:.35rem;align-items:center;margin-top:.35rem;padding:.5rem;border:1px solid #d1d5db;border-radius:12px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.12);position:relative;z-index:20}.jalali-picker select{min-width:72px;padding:.35rem}.btn.danger,.danger{background:#fee2e2;color:#991b1b;border-color:#fecaca}
.stats.dashboard-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:stretch}.stat-card{display:flex;align-items:center;justify-content:space-between;gap:12px;text-decoration:none;background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e5e7eb;border-radius:22px;padding:18px;box-shadow:0 12px 35px rgba(15,23,42,.06)}.stat-card small{display:block;color:#64748b;font-weight:800}.stat-card b{font-size:30px;color:#0f172a;line-height:1}.stat-card .stat-icon{width:42px;height:42px;border-radius:16px;display:grid;place-items:center;background:#eef2ff;color:#3730a3;font-weight:900}.jalali-picker{direction:ltr}.jalali-picker select{text-align:center}.jalali-picker select:first-child{order:1}.jalali-picker select:nth-child(2){order:2}.jalali-picker select:nth-child(3){order:3}
.detail-table th{white-space:nowrap;color:#334155}.debt-actions{display:grid;gap:12px}.badge.approved,.badge.pending,.badge.rejected,.badge.inactive,.badge.otp_pending{background:#eef2ff;color:#3730a3}
.doc-thumb{width:110px;height:110px;object-fit:cover;border-radius:12px;border:1px solid #e5e7eb;display:block;margin:10px 0}.pdf-thumb{display:flex;align-items:center;justify-content:center;background:#f8fafc;font-weight:900;color:#475569}.social-box p{line-height:1.9}

.payment-result-card{display:flex;align-items:flex-start;gap:14px;margin-bottom:18px;padding:18px 20px;border-radius:24px;border:1px solid #e5e7eb;background:#fff;box-shadow:0 18px 45px rgba(15,23,42,.10)}.payment-result-card strong{display:block;font-size:18px;color:#0f172a}.payment-result-card p{margin:5px 0;color:#475569}.payment-result-card small{display:inline-block;margin-top:4px;color:#64748b}.payment-result-icon{flex:0 0 48px;width:48px;height:48px;border-radius:18px;display:grid;place-items:center;color:#fff;font-size:25px;font-weight:900}.payment-result-card.success{background:linear-gradient(135deg,#ecfdf5,#fff);border-color:#bbf7d0}.payment-result-card.success .payment-result-icon{background:#16a34a}.payment-result-card.failed{background:linear-gradient(135deg,#fff7ed,#fff);border-color:#fed7aa}.payment-result-card.failed .payment-result-icon{background:#f97316}

.nav-toggle{display:none;border-radius:12px;padding:8px 12px;background:#111827;color:#fff}.main-nav{display:flex;gap:10px;flex-wrap:wrap}.missing-value{color:#dc2626;font-weight:900}.selected-upload-state{border:1px solid #bbf7d0}.selected-upload-state .warn{background:transparent;color:#b45309}@media(max-width:900px){html,body{max-width:100%;overflow-x:hidden}.top{flex-direction:row;align-items:center;padding:12px 14px}.brand{min-width:0}.brand b,.brand small{max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-toggle{display:inline-flex}.main-nav{display:none;position:absolute;top:100%;left:12px;right:12px;flex-direction:column;background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:10px;box-shadow:0 18px 45px rgba(15,23,42,.14)}body.nav-open .main-nav{display:flex}.main-nav a{width:100%;background:#f8fafc}.wrap{width:100%;padding:12px}.card,.panel-card,.form-section,.notice-card,.student-hero,.form-hero{max-width:100%;border-radius:18px}.grid,.two,.three,.four,.stats.dashboard-stats,.kpi-grid{grid-template-columns:1fr!important}.table-wrap{overflow:visible}.admin-exam-form{min-width:0}table.responsive-card,table:not(.detail-table){display:block;width:100%;overflow:visible;white-space:normal}table.responsive-card thead,table:not(.detail-table) thead,table.responsive-card tbody,table:not(.detail-table) tbody{display:block}table.responsive-card tr,table:not(.detail-table) tr{display:grid;gap:6px;margin:10px 0;padding:12px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;box-shadow:0 8px 25px rgba(15,23,42,.05)}table.responsive-card tr:first-child,table:not(.detail-table) tr:first-child{display:none}table.responsive-card th,table:not(.detail-table) th{display:none}table.responsive-card td,table:not(.detail-table) td{display:grid;grid-template-columns:minmax(92px,38%) 1fr;gap:8px;border:0;padding:6px 0;text-align:right;word-break:break-word}table.responsive-card td:before,table:not(.detail-table) td:before{content:attr(data-label);color:#64748b;font-weight:800}.detail-table,.detail-table tbody,.detail-table tr,.detail-table th,.detail-table td{display:block;width:100%}.detail-table tr{padding:10px 0;border-bottom:1px solid #eef2f7}.detail-table th,.detail-table td{border:0;padding:3px 0;white-space:normal}.jalali-picker{display:grid;grid-template-columns:repeat(3,1fr);width:100%;gap:6px}.jalali-picker button{grid-column:auto}.sticky-submit{position:static;width:100%}}
.pagination{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.pagination a{min-width:36px;height:36px;border-radius:12px;background:#f1f5f9;color:#334155;display:inline-flex;align-items:center;justify-content:center;font-weight:800}.pagination a.active{background:#111827;color:#fff}.admin-actions{display:flex;gap:10px;flex-wrap:wrap}
.student-report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:14px}.student-report-grid>div{background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;padding:14px}.student-report-grid span{display:block;color:#64748b;font-size:13px;margin-bottom:7px}.student-report-grid b{font-size:16px;color:#111827}.full-student-details{width:100%}.danger-zone{border-color:#fecaca}.btn.danger,.danger{background:#dc2626;color:#fff;border-color:#dc2626}.form select[multiple]{min-height:128px}.detail-table{width:100%}
@media(max-width:700px){.student-report-grid{grid-template-columns:1fr}.form.grid.three{grid-template-columns:1fr!important}.debt-actions table,.full-student-details table{min-width:0}}
