/* Eduflexy public/portal styles — mobile-first, brand blue system. */
:root{
	--ef-primary:#0055B5;--ef-secondary:#0066CC;--ef-navy:#062B5C;--ef-light:#EAF4FF;
	--ef-bg:#F7FAFD;--ef-ok:#16A34A;--ef-warn:#F59E0B;--ef-bad:#DC2626;--ef-border:#E3ECF6;
}
.ef-panel{background:#fff;border:1px solid var(--ef-border);border-radius:16px;padding:24px;max-width:960px;margin:20px auto;box-shadow:0 4px 18px rgba(6,43,92,.06)}
.ef-panel h2,.ef-panel h3{color:var(--ef-navy)}
.ef-portal{max-width:1080px;margin:20px auto;padding:0 12px}
.ef-portal-head h1{color:var(--ef-navy);margin-bottom:2px}
.ef-portal-head p{color:#5B6B82;margin-top:2px}
.ef-portal-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.ef-tab{padding:8px 14px;border-radius:999px;border:1px solid var(--ef-border);background:#fff;color:var(--ef-navy);text-decoration:none;font-size:13px;font-weight:600}
.ef-tab.active{background:var(--ef-primary);border-color:var(--ef-primary);color:#fff}
.ef-card{background:#fff;border:1px solid var(--ef-border);border-radius:14px;padding:16px;margin-bottom:14px}
.ef-child-card{display:flex;gap:14px;align-items:center}
.ef-passport{width:72px;height:88px;border-radius:12px;object-fit:cover;border:1px solid var(--ef-border)}
.ef-table{width:100%;border-collapse:collapse;font-size:13px}
.ef-table th{background:var(--ef-light);color:var(--ef-navy);text-align:left;padding:8px}
.ef-table td{padding:8px;border-bottom:1px solid var(--ef-border)}
.ef-badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:700}
.ef-badge-ok{background:#E7F6EC;color:var(--ef-ok)}
.ef-badge-warn{background:#FEF3E2;color:#B45309}
.ef-badge-bad{background:#FDE8E8;color:var(--ef-bad)}
.ef-badge-info{background:var(--ef-light);color:var(--ef-primary)}
.ef-btn{display:inline-block;margin:4px 4px 4px 0;padding:10px 18px;border-radius:10px;border:1px solid var(--ef-border);background:#fff;color:var(--ef-navy);font-weight:600;cursor:pointer;text-decoration:none;font-size:14px}
.ef-btn-primary{background:var(--ef-primary);border-color:var(--ef-primary);color:#fff}
.ef-btn-primary:hover{background:var(--ef-secondary);color:#fff}
.ef-btn-sm{padding:5px 10px;font-size:12px}
.ef-form input[type=text],.ef-form input[type=email],.ef-form input[type=date],.ef-form input[type=tel],
.ef-form input[type=number],.ef-form input[type=file],.ef-form select,.ef-form textarea{width:100%;padding:10px 12px;border:1px solid var(--ef-border);border-radius:10px;font-size:14px;background:#fff}
.ef-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.ef-field label{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:4px}
.ef-field.ef-full{grid-column:1/-1}
.ef-success{background:#E7F6EC;border:1px solid #B7E4C7;color:#166534;padding:12px 16px;border-radius:12px;margin:12px 0}
.ef-error{background:#FDE8E8;border:1px solid #F3C1C1;color:#991B1B;padding:12px 16px;border-radius:12px;margin:12px 0}
.ef-muted{color:#7C8AA0;font-size:12px}
.ef-hw,.ef-notice,.ef-msg,.ef-event{border-bottom:1px solid var(--ef-border);padding:10px 0}
.ef-login-card{max-width:420px}
.ef-login-brand{text-align:center;margin-bottom:16px}
.ef-login-brand img{max-height:56px}
.ef-logo-text{font-size:22px;font-weight:800;color:var(--ef-primary)}
.ef-bank-details{background:var(--ef-light);border-radius:12px;padding:14px;margin:10px 0}
.ef-paid-note{color:var(--ef-ok);font-weight:700}
.ef-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;text-align:center;padding:20px 0}
.ef-stat .ef-counter{display:block;font-size:34px;font-weight:800;color:var(--ef-primary)}
.ef-stat span:last-child{color:#5B6B82;font-size:13px}
.ef-slot{border-left:3px solid var(--ef-primary);padding-left:8px;margin-bottom:8px}
@media (max-width:600px){
	.ef-table{display:block;overflow-x:auto;white-space:nowrap}
}
