
.mecv2{
  --b:#2f6df6;
  --b2:#6947f5;
  --d:#101827;
  --m:#667085;
  --soft:#f6f8fc;
  --card:#ffffff;
  --bd:#e1e7f0;
  --bd2:#d4def0;
  --green:#12b76a;
  --red:#ef4444;
  --amber:#f59e0b;
  --shadow:0 10px 30px rgba(16,24,40,.055);
  --radius:18px;
  display:grid;
  grid-template-columns:260px 1fr;
  min-height:calc(100vh - 120px);
  background:var(--soft);
  border:1px solid var(--bd);
  border-radius:22px;
  overflow:hidden;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  color:var(--d);
  font-size:14px;
}
.mecv2 *{box-sizing:border-box}
.mecv2 a{text-decoration:none!important}
.mecv2-side{
  background:var(--card);
  border-right:1px solid var(--bd);
  padding:20px 14px;
}
.mecv2-brand{
  padding:0 8px 18px;
  border-bottom:1px solid var(--bd);
  margin-bottom:14px;
}
.mecv2-logo{
  width:42px;height:42px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#eff6ff,#f5f3ff);
  font-size:24px;
  margin-bottom:10px;
}
.mecv2-brand strong{
  display:block;
  font-size:22px;
  letter-spacing:-.045em;
  line-height:1.05;
  color:var(--d);
}
.mecv2-brand small{
  display:block;
  margin-top:5px;
  color:var(--m);
  font-weight:750;
  font-size:13px;
}
.mecv2-theme-toggle{
  margin-top:12px;
  min-height:36px!important;
  width:100%;
  border:1px solid var(--bd)!important;
  background:var(--soft)!important;
  color:var(--d)!important;
  border-radius:12px!important;
  font-size:13px!important;
  font-weight:800!important;
  justify-content:center!important;
  box-shadow:none!important;
}
.mecv2 nav a{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:42px;
  border-radius:12px;
  padding:0 12px;
  margin:4px 0;
  color:#475467;
  font-weight:800;
  font-size:14px;
}
.mecv2 nav a.active,.mecv2 nav a:hover{
  background:#eef4ff;
  color:var(--b);
  box-shadow:inset 3px 0 0 var(--b);
}
.mecv2-main{
  padding:22px;
  overflow:hidden;
}
.mecv2-hero{
  background:var(--card);
  border:1px solid var(--bd);
  border-radius:var(--radius);
  padding:22px 24px;
  margin-bottom:16px;
  box-shadow:var(--shadow);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.mecv2-hero span{
  display:inline-flex;
  background:#eef4ff;
  border:1px solid #d4e3ff;
  color:var(--b);
  border-radius:999px;
  padding:6px 11px;
  font-size:11px;
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:.08em;
}
.mecv2-hero h1{
  font-size:32px;
  line-height:1.05;
  margin:12px 0 6px;
  letter-spacing:-.055em;
  color:var(--d);
}
.mecv2-hero p{
  margin:0;
  color:var(--m);
  font-size:14px;
  font-weight:750;
}
.mecv2-top-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.mecv2-top-actions a{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:0 14px;
  border-radius:12px;
  border:1px solid var(--bd);
  background:var(--card);
  color:var(--b);
  font-weight:850;
  font-size:14px;
}
.mecv2-top-actions a.active{
  background:linear-gradient(135deg,var(--b),var(--b2));
  color:#fff;
  border-color:transparent;
}
.mecv2-stats{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px;
  margin-bottom:16px;
}
.mecv2-stats div,.mecv2-panel,.mecv2-card,.mecv2-form-panel,.mecv2-row,.mecv2-empty,.mecv2-info-card{
  background:var(--card);
  border:1px solid var(--bd);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.mecv2-stats div{
  padding:16px;
  min-height:104px;
}
.mecv2-stats div>span{
  display:flex;
  width:30px;height:30px;
  border-radius:10px;
  align-items:center;
  justify-content:center;
  background:#f2f6ff;
  font-size:17px;
  margin-bottom:10px;
}
.mecv2-stats small{
  display:block;
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:.08em;
  color:var(--m);
  font-size:10px;
}
.mecv2-stats strong{
  display:block;
  margin-top:6px;
  font-size:24px;
  letter-spacing:-.05em;
  color:var(--d);
}
.mecv2-actions{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
}
.mecv2-actions a,.mecv2 button{
  min-height:40px;
  border:0;
  border-radius:12px;
  background:linear-gradient(135deg,var(--b),var(--b2));
  color:#fff!important;
  font-weight:850;
  text-decoration:none!important;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 14px;
  cursor:pointer;
  font-size:14px;
}
.mecv2 button.light{
  background:var(--card)!important;
  color:var(--red)!important;
  border:1px solid #fecaca!important;
}
.mecv2-panel{
  padding:18px;
  margin-bottom:16px;
}
.mecv2-panel h2{
  font-size:22px;
  margin:0 0 14px;
  letter-spacing:-.04em;
  color:var(--d);
}
.mecv2-search{
  width:100%;
  min-height:46px;
  border:1px solid var(--bd2);
  border-radius:13px;
  padding:0 14px;
  font-size:14px;
  font-weight:700;
  margin-bottom:14px;
  background:var(--card);
  color:var(--d);
  outline:none;
}
.mecv2-search:focus{
  border-color:var(--b);
  box-shadow:0 0 0 3px rgba(47,109,246,.10);
}
.mecv2-list{
  display:grid;
  gap:10px;
}
.mecv2-row{
  padding:12px 14px;
  display:grid;
  grid-template-columns:auto 1fr auto auto auto;
  gap:10px;
  align-items:center;
  box-shadow:none;
}
.mecv2-avatar{
  width:46px;height:46px;
  background:#eaf2ff;
  color:var(--b);
  font-weight:900;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
}
.mecv2-row-main strong{
  display:block;
  font-size:15px;
  letter-spacing:-.02em;
  color:var(--d);
}
.mecv2-row-main small{
  display:block;
  margin-top:4px;
  color:var(--m);
  font-weight:750;
  font-size:12px;
}
.mecv2-badge,.mecv2-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:7px 11px;
  font-size:12px;
  font-weight:900;
  background:#eef4ff;
  color:var(--b);
  white-space:nowrap;
}
.mecv2-badge.pending{background:#fff7e6;color:#b76e00}
.mecv2-badge.validated{background:#e9fbf2;color:#087443}
.mecv2-badge.refused{background:#feecec;color:#c62828}
.mecv2-inline{
  display:flex;
  gap:6px;
  align-items:center;
}
.mecv2-inline select,.mecv2-inline input,.mecv2-form-panel input,.mecv2-form-panel select{
  min-height:38px;
  border:1px solid var(--bd);
  border-radius:11px;
  background:var(--soft);
  padding:0 10px;
  color:var(--d);
  font-size:13px;
}
.mecv2-form-panel{
  padding:14px;
  margin-bottom:14px;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:8px;
  box-shadow:none;
}
.mecv2-cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.mecv2-card{
  padding:16px;
}
.mecv2-card h3{
  font-size:18px;
  margin:0 0 8px;
  letter-spacing:-.04em;
}
.mecv2-card p{
  margin:0 0 6px;
  color:var(--m);
  font-weight:750;
  font-size:13px;
}
.mecv2-card small{
  display:block;
  color:var(--m);
  font-weight:700;
}
.mecv2-card b{
  display:inline-flex;
  margin-top:12px;
  background:#eef4ff;
  color:var(--b);
  padding:7px 10px;
  border-radius:999px;
  font-size:12px;
}
.mecv2-empty{
  padding:18px;
  color:var(--m);
  font-weight:750;
  box-shadow:none;
}
.mecv2-alert,.mecv2-login{
  background:#fff8e6;
  border:1px solid #fde6a8;
  color:#8a5b00;
  border-radius:14px;
  padding:14px 16px;
  font-weight:850;
  margin-bottom:14px;
}
.mecv2-login a{
  display:inline-flex;
  margin-top:10px;
  background:var(--b);
  color:#fff!important;
  text-decoration:none!important;
  border-radius:12px;
  padding:9px 14px;
  font-weight:850;
}
.mecv2-mini{
  min-height:36px;
  border:1px solid var(--bd);
  border-radius:11px;
  background:var(--card);
  color:var(--b)!important;
  text-decoration:none!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 12px;
  font-weight:850;
  font-size:13px;
}
.mecv2-mini:hover{background:#eef4ff}
.mecv2-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 14px;
  position:sticky;
  top:0;
  z-index:5;
  padding:6px 0;
  background:var(--soft);
}
.mecv2-tabs a{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:0 12px;
  border:1px solid var(--bd);
  border-radius:999px;
  background:var(--card);
  color:var(--b)!important;
  text-decoration:none!important;
  font-weight:850;
  font-size:13px;
}
.mecv2-tabs a:hover{background:#eef4ff}
html{scroll-behavior:smooth}
.mecv2-detail-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-bottom:14px;
}
.mecv2-info-card{
  padding:16px;
  box-shadow:none;
}
.mecv2-info-card h3{
  margin:0 0 12px;
  font-size:18px;
  letter-spacing:-.04em;
  color:var(--d);
  padding-bottom:10px;
  border-bottom:1px solid var(--bd);
}
.mecv2-info-card div{
  padding:9px 0;
  border-top:0;
  border-bottom:1px solid #eef2f7;
}
.mecv2-info-card div:last-child{border-bottom:0}
.mecv2-info-card small{
  display:block;
  color:var(--m);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:4px;
}
.mecv2-info-card strong{
  display:block;
  font-size:14px;
  line-height:1.45;
  color:var(--d);
}
.mecv2-text{
  color:var(--m);
  font-weight:700;
  line-height:1.55;
  font-size:14px;
}
.mecv2-refuse-form{margin-top:10px}
.mecv2-edit-form{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}
.mecv2-edit-form label{
  font-weight:850;
  color:var(--d);
  font-size:13px;
}
.mecv2-edit-form input,.mecv2-edit-form select,.mecv2-edit-form textarea{
  width:100%;
  min-height:42px;
  border:1px solid var(--bd);
  background:var(--soft);
  color:var(--d);
  border-radius:11px;
  padding:0 10px;
  margin-top:6px;
}
.mecv2-edit-form textarea{
  min-height:96px;
  padding-top:10px;
}
.mecv2-edit-form .wide,.mecv2-edit-form button{
  grid-column:1/-1;
}

/* Dark mode */
.mecv2[data-theme="dark"]{
  --d:#eef4ff;
  --m:#98a2b3;
  --soft:#0f172a;
  --card:#111c2f;
  --bd:#24324a;
  --bd2:#33435e;
  --shadow:0 10px 30px rgba(0,0,0,.22);
}
.mecv2[data-theme="dark"] .mecv2-logo,
.mecv2[data-theme="dark"] .mecv2-stats div>span,
.mecv2[data-theme="dark"] .mecv2-avatar,
.mecv2[data-theme="dark"] .mecv2-tabs a:hover,
.mecv2[data-theme="dark"] .mecv2-mini:hover,
.mecv2[data-theme="dark"] nav a.active,
.mecv2[data-theme="dark"] nav a:hover{
  background:#172a46;
}
.mecv2[data-theme="dark"] .mecv2-hero span,
.mecv2[data-theme="dark"] .mecv2-top-actions a,
.mecv2[data-theme="dark"] .mecv2-tabs a,
.mecv2[data-theme="dark"] .mecv2-mini{
  background:#111c2f;
}
.mecv2[data-theme="dark"] input,
.mecv2[data-theme="dark"] select,
.mecv2[data-theme="dark"] textarea{
  color:#eef4ff!important;
}
.mecv2[data-theme="dark"] .mecv2-theme-toggle{
  background:#172a46!important;
  color:#eef4ff!important;
}
@media(max-width:1100px){
  .mecv2{grid-template-columns:1fr;border-radius:16px}
  .mecv2-main{padding:14px}
  .mecv2-side{padding:16px}
  .mecv2-stats,.mecv2-actions,.mecv2-form-panel,.mecv2-cards,.mecv2-detail-grid,.mecv2-edit-form{grid-template-columns:1fr}
  .mecv2-row{grid-template-columns:1fr}
  .mecv2-inline{display:grid}
  .mecv2-hero{display:block;padding:18px}
  .mecv2-hero h1{font-size:26px}
}

.mecv2-card-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  margin-top:12px;
  padding:0 12px;
  border-radius:11px;
  background:linear-gradient(135deg,var(--b),var(--b2));
  color:#fff!important;
  font-size:13px;
  font-weight:850;
}
.mecv2-info-card-wide{grid-column:span 2}
.mecv2-mini-form{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
}
.mecv2-mini-form input,.mecv2-mini-form textarea{
  min-height:40px;
  border:1px solid var(--bd);
  border-radius:11px;
  background:var(--soft);
  color:var(--d);
  padding:0 10px;
  font-size:13px;
}
.mecv2-mini-form textarea{
  grid-column:1/-1;
  min-height:70px;
  padding-top:10px;
}
.mecv2-mini-form button{grid-column:1/-1}
.mecv2-form-panel-assign{
  grid-template-columns:1fr auto;
}
@media(max-width:1100px){
  .mecv2-info-card-wide{grid-column:auto}
  .mecv2-mini-form,.mecv2-form-panel-assign{grid-template-columns:1fr}
}

.mecv2-pay-stats{
  grid-template-columns:repeat(4,1fr);
}
.mecv2-pay-row{
  grid-template-columns:auto 1fr auto auto auto auto auto;
}
.mecv2-pay-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:7px 11px;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}
.mecv2-pay-status.paid{background:#e9fbf2;color:#087443}
.mecv2-pay-status.partial{background:#fff7e6;color:#b76e00}
.mecv2-pay-status.unpaid{background:#feecec;color:#c62828}
.mecv2-pay-status.neutral{background:#eef4ff;color:var(--b)}
.mecv2-pay-amounts{
  min-width:74px;
  border:1px solid var(--bd);
  border-radius:12px;
  padding:7px 10px;
  background:var(--card);
}
.mecv2-pay-amounts small{
  display:block;
  color:var(--m);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.mecv2-pay-amounts b{
  display:block;
  margin-top:2px;
  font-size:13px;
  color:var(--d);
}
.mecv2-pay-amounts.rest{
  background:#fff8f0;
  border-color:#fed7aa;
}
.mecv2[data-theme="dark"] .mecv2-pay-amounts.rest{
  background:#2a1d12;
  border-color:#7c4a16;
}
.mecv2-pay-progress{
  height:6px;
  border-radius:999px;
  background:#eef2f7;
  margin-top:8px;
  overflow:hidden;
  max-width:260px;
}
.mecv2-pay-progress span{
  display:block;
  height:100%;
  background:linear-gradient(135deg,var(--b),var(--b2));
  border-radius:999px;
}
.mecv2-wa{
  background:#ecfdf3!important;
  color:#087443!important;
  border-color:#bbf7d0!important;
}
@media(max-width:1100px){
  .mecv2-pay-stats,.mecv2-pay-row{grid-template-columns:1fr}
  .mecv2-pay-progress{max-width:100%}
}

.mecv2-full-edit{
  display:grid;
  gap:14px;
}
.mecv2-edit-section{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  padding:14px;
  border:1px solid var(--bd);
  border-radius:16px;
  background:var(--soft);
}
.mecv2-edit-section h3{
  grid-column:1/-1;
  margin:0 0 4px;
  font-size:16px;
  letter-spacing:-.03em;
  color:var(--d);
}
.mecv2-edit-section label{
  font-size:12px;
  font-weight:850;
  color:var(--m);
  text-transform:uppercase;
  letter-spacing:.05em;
}
.mecv2-edit-section input,
.mecv2-edit-section select,
.mecv2-edit-section textarea{
  display:block;
  width:100%;
  min-height:40px;
  border:1px solid var(--bd);
  border-radius:11px;
  background:var(--card);
  color:var(--d);
  padding:0 10px;
  margin-top:6px;
  font-size:14px;
  font-weight:700;
  text-transform:none;
  letter-spacing:0;
}
.mecv2-edit-section textarea{
  min-height:90px;
  padding-top:10px;
}
.mecv2-edit-section .wide{
  grid-column:1/-1;
}
.mecv2-edit-section label.check{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:40px;
  padding:0 10px;
  border:1px solid var(--bd);
  border-radius:11px;
  background:var(--card);
  color:var(--d);
  text-transform:none;
  letter-spacing:0;
  font-size:14px;
}
.mecv2-edit-section label.check input{
  width:auto;
  min-height:auto;
  margin:0;
}
.mecv2-save-full{
  width:100%;
  min-height:46px!important;
}
@media(max-width:1100px){
  .mecv2-edit-section{grid-template-columns:1fr}
}

.mecv2-student-paybox{
  margin-top:16px;
  padding:14px;
  border:1px solid var(--bd);
  border-radius:16px;
  background:linear-gradient(135deg,rgba(47,109,246,.06),rgba(105,71,245,.06));
}
.mecv2-student-paybox h3{
  margin:0 0 12px;
  font-size:16px;
  color:var(--d);
  letter-spacing:-.03em;
}
.mecv2-student-payform{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
}
.mecv2-student-payform label{
  font-size:12px;
  font-weight:850;
  color:var(--m);
  text-transform:uppercase;
  letter-spacing:.05em;
}
.mecv2-student-payform input,
.mecv2-student-payform select,
.mecv2-student-payform textarea{
  display:block;
  width:100%;
  min-height:40px;
  border:1px solid var(--bd);
  border-radius:11px;
  background:var(--card);
  color:var(--d);
  padding:0 10px;
  margin-top:6px;
  font-size:14px;
  font-weight:700;
  text-transform:none;
  letter-spacing:0;
}
.mecv2-student-payform textarea{
  min-height:74px;
  padding-top:10px;
}
.mecv2-student-payform .wide{
  grid-column:1/-1;
}
.mecv2-student-payform button{
  grid-column:1/-1;
}
@media(max-width:1100px){
  .mecv2-student-payform{grid-template-columns:1fr}
}

.mecv2-login-page{
  min-height:620px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#f6f8fc,#eef4ff);
  border:1px solid #e1e7f0;
  border-radius:24px;
  padding:24px;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}
.mecv2-login-card{
  width:100%;
  max-width:420px;
  background:#fff;
  border:1px solid #dbe7f5;
  border-radius:24px;
  box-shadow:0 20px 60px rgba(16,24,40,.08);
  padding:28px;
  color:#101827;
}
.mecv2-login-logo{
  width:48px;
  height:48px;
  border-radius:16px;
  background:linear-gradient(135deg,#eff6ff,#f5f3ff);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:26px;
  margin-bottom:12px;
}
.mecv2-login-card span{
  display:inline-flex;
  background:#eef4ff;
  border:1px solid #d4e3ff;
  color:#2f6df6;
  border-radius:999px;
  padding:6px 12px;
  font-size:11px;
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:.08em;
}
.mecv2-login-card h1{
  margin:14px 0 6px;
  font-size:34px;
  line-height:1;
  letter-spacing:-.055em;
}
.mecv2-login-card p{
  margin:0 0 18px;
  color:#667085;
  font-weight:750;
}
.mecv2-login-card label{
  display:block;
  color:#344054;
  font-size:13px;
  font-weight:850;
  margin-bottom:12px;
}
.mecv2-login-card input[type="text"],
.mecv2-login-card input[type="password"]{
  display:block;
  width:100%;
  min-height:46px;
  border:1px solid #dbe7f5;
  border-radius:13px;
  padding:0 13px;
  margin-top:7px;
  font-size:15px;
  font-weight:700;
  outline:none;
}
.mecv2-login-card input:focus{
  border-color:#2f6df6;
  box-shadow:0 0 0 3px rgba(47,109,246,.12);
}
.mecv2-login-check{
  display:flex!important;
  align-items:center;
  gap:8px;
  margin:4px 0 16px!important;
}
.mecv2-login-check input{width:auto!important}
.mecv2-login-card button{
  width:100%;
  min-height:46px;
  border:0;
  border-radius:13px;
  background:linear-gradient(135deg,#2f6df6,#6947f5);
  color:#fff;
  font-weight:900;
  cursor:pointer;
}
.mecv2-login-card small{
  display:block;
  margin-top:16px;
  color:#98a2b3;
  text-align:center;
  font-weight:750;
}
.mecv2-login-error{
  background:#feecec;
  color:#b42318;
  border:1px solid #fecaca;
  border-radius:13px;
  padding:10px 12px;
  font-weight:850;
  margin-bottom:14px;
}

.mecv2-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.mecv2-panel-head h2{margin:0!important}
.mecv2-add-btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-radius:12px;background:linear-gradient(135deg,var(--b),var(--b2));color:#fff!important;font-size:13px;font-weight:900;text-decoration:none!important;white-space:nowrap}
@media(max-width:700px){.mecv2-panel-head{align-items:flex-start;flex-direction:column}.mecv2-add-btn{width:100%}}

.mecv2-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
@media print{
  body *{visibility:hidden!important}
  .mecv2,.mecv2 *{visibility:visible!important}
  .mecv2{display:block!important;border:0!important;background:#fff!important}
  .mecv2-side,.mecv2-tabs,.mecv2-top-actions,.mecv2-theme-toggle,.mecv2-student-paybox,.mecv2 button{display:none!important}
  .mecv2-main{padding:0!important}
  .mecv2-panel,.mecv2-edit-section,.mecv2-info-card{box-shadow:none!important;border:1px solid #ddd!important}
}

.mecv2-success{
  background:#ecfdf3;
  color:#087443;
  border:1px solid #bbf7d0;
  border-radius:14px;
  padding:12px 14px;
  font-weight:900;
  margin:0 0 14px;
}
.mecv2-top-badge{
  display:inline-flex;
  align-items:center;
  margin-left:8px;
  padding:5px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}
.mecv2-top-badge.paid{background:#e9fbf2;color:#087443}
.mecv2-top-badge.partial{background:#fff7e6;color:#b76e00}
.mecv2-top-badge.unpaid{background:#feecec;color:#c62828}
.mecv2-top-badge.neutral{background:#eef4ff;color:var(--b)}
.mecv2-last-action{
  background:var(--card);
  border:1px solid var(--bd);
  border-radius:14px;
  padding:10px 12px;
  color:var(--m);
  font-size:13px;
  font-weight:750;
  margin:0 0 14px;
}
.mecv2-last-action strong{color:var(--d)}
@media print{
  body *{visibility:hidden!important}
  .mecv2,.mecv2 *{visibility:visible!important}
  .mecv2{
    display:block!important;
    border:0!important;
    background:#fff!important;
    max-width:none!important;
  }
  .mecv2-side,
  .mecv2-tabs,
  .mecv2-top-actions,
  .mecv2-theme-toggle,
  .mecv2-student-paybox,
  .mecv2 button,
  .mecv2-save-full,
  .mecv2-last-action,
  .mecv2-success{
    display:none!important;
  }
  .mecv2-main{padding:0!important}
  .mecv2-panel,.mecv2-edit-section,.mecv2-info-card{
    box-shadow:none!important;
    border:1px solid #ddd!important;
    page-break-inside:avoid;
  }
  .mecv2 input,.mecv2 select,.mecv2 textarea{
    border:0!important;
    background:#fff!important;
    padding-left:0!important;
  }
}

.mecv2-inline-delete{display:inline-flex;margin-left:6px}
.mecv2-delete-btn{border:1px solid #fecaca!important;background:#fff5f5!important;color:#dc2626!important;border-radius:12px!important;padding:9px 12px!important;font-size:13px!important;font-weight:900!important;cursor:pointer!important}
.mecv2-delete-btn:hover{background:#fee2e2!important}

.mecv2-inline-delete{display:inline-flex;margin-left:8px}
.mecv2-delete-student-btn{
  border:1px solid #fecaca!important;
  background:#fff5f5!important;
  color:#dc2626!important;
  border-radius:12px!important;
  padding:9px 12px!important;
  font-size:13px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.mecv2-delete-student-btn:hover{background:#fee2e2!important}
.mecv2-export-group-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:max-content!important;
  margin-top:10px!important;
  border:1px solid #bfdbfe!important;
  background:#eff6ff!important;
  color:#2563eb!important;
  border-radius:12px!important;
  padding:9px 12px!important;
  font-size:13px!important;
  font-weight:900!important;
  text-decoration:none!important;
}
.mecv2-export-group-btn:hover{background:#dbeafe!important}

.mecv2-alert{
  background:#fff7ed;
  color:#9a3412;
  border:1px solid #fed7aa;
  border-radius:14px;
  padding:12px 14px;
  font-weight:900;
  margin:0 0 14px;
}
.mecv2-group-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}
.mecv2-edit-group-btn,
.mecv2-delete-disabled{
  border:1px solid #dbeafe!important;
  background:#fff!important;
  color:#2563eb!important;
  border-radius:12px!important;
  padding:9px 12px!important;
  font-size:13px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.mecv2-delete-disabled{
  border-color:#e5e7eb!important;
  color:#94a3b8!important;
  background:#f8fafc!important;
}
.mecv2-group-edit-form{
  grid-template-columns:1fr;
  gap:8px;
  margin-top:12px;
  padding:12px;
  border:1px solid var(--bd);
  border-radius:14px;
  background:rgba(255,255,255,.7);
}
.mecv2-group-edit-form input{
  width:100%;
  min-height:42px;
  border:1px solid var(--bd);
  border-radius:12px;
  padding:0 12px;
  font-weight:800;
}
.mecv2-group-edit-form button{
  min-height:42px;
  border:0;
  border-radius:12px;
  background:linear-gradient(135deg,var(--b),var(--b2));
  color:#fff;
  font-weight:900;
  cursor:pointer;
}

/* V4.2.1 — correction lisibilité boutons groupes */
.mecv2-group-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin-top:10px!important;
}
.mecv2-edit-group-btn{
  background:#eff6ff!important;
  color:#1d4ed8!important;
  border:1px solid #bfdbfe!important;
  border-radius:12px!important;
  padding:10px 14px!important;
  min-width:112px!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:900!important;
  cursor:pointer!important;
  opacity:1!important;
  text-indent:0!important;
}
.mecv2-edit-group-btn:hover{
  background:#dbeafe!important;
}
.mecv2-delete-student-btn,
.mecv2-delete-disabled{
  background:#fff5f5!important;
  color:#dc2626!important;
  border:1px solid #fecaca!important;
  border-radius:12px!important;
  padding:10px 14px!important;
  min-width:112px!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:900!important;
  cursor:pointer!important;
  opacity:1!important;
  text-indent:0!important;
}
.mecv2-delete-student-btn:hover,
.mecv2-delete-disabled:hover{
  background:#fee2e2!important;
}
.mecv2-delete-disabled{
  cursor:not-allowed!important;
}

/* V4.2.2 — boutons groupes lisibles + alerte moderne */
.mecv2 .mecv2-group-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin:12px 0!important;
}
.mecv2 .mecv2-edit-group-btn,
.mecv2 .mecv2-delete-group-btn{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  min-width:128px!important;
  min-height:42px!important;
  border-radius:10px!important;
  padding:10px 14px!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1!important;
  opacity:1!important;
  visibility:visible!important;
  text-indent:0!important;
  text-shadow:none!important;
  cursor:pointer!important;
}
.mecv2 .mecv2-edit-group-btn{
  color:#2563eb!important;
  background:#ffffff!important;
  border:2px solid #93c5fd!important;
}
.mecv2 .mecv2-edit-group-btn:hover{
  background:#eff6ff!important;
}
.mecv2 .mecv2-delete-group-btn{
  color:#dc2626!important;
  background:#ffffff!important;
  border:2px solid #fca5a5!important;
}
.mecv2 .mecv2-delete-group-btn:hover{
  background:#fff1f2!important;
}
.mecv2 .mecv2-inline-delete{
  display:inline-flex!important;
  margin:0!important;
}
.mecv2-modal{
  position:fixed!important;
  inset:0!important;
  display:none!important;
  align-items:flex-start!important;
  justify-content:flex-end!important;
  padding:115px 38px 20px!important;
  background:rgba(15,23,42,.28)!important;
  z-index:999999!important;
}
.mecv2-modal.is-open{
  display:flex!important;
}
.mecv2-modal-card{
  position:relative!important;
  display:grid!important;
  grid-template-columns:44px 1fr!important;
  gap:18px!important;
  width:min(520px, calc(100vw - 40px))!important;
  background:#fff!important;
  border-left:4px solid #f97316!important;
  border-radius:14px!important;
  box-shadow:0 24px 70px rgba(15,23,42,.22)!important;
  padding:24px 24px 20px!important;
  color:#111827!important;
}
.mecv2-modal-icon{
  width:36px!important;
  height:36px!important;
  border-radius:999px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#ffedd5!important;
  color:#f97316!important;
  font-weight:1000!important;
  font-size:22px!important;
}
.mecv2-modal-card h3{
  margin:0 36px 10px 0!important;
  font-size:18px!important;
  color:#111827!important;
  font-weight:1000!important;
}
.mecv2-modal-card p{
  margin:0!important;
  color:#111827!important;
  line-height:1.55!important;
  font-weight:650!important;
}
.mecv2-modal-close{
  position:absolute!important;
  right:18px!important;
  top:14px!important;
  background:transparent!important;
  border:0!important;
  font-size:28px!important;
  line-height:1!important;
  color:#111827!important;
  cursor:pointer!important;
}
.mecv2-modal-ok{
  float:right!important;
  margin-top:22px!important;
  min-width:92px!important;
  min-height:42px!important;
  border:0!important;
  border-radius:8px!important;
  background:linear-gradient(135deg,#2563eb,#6d28d9)!important;
  color:#fff!important;
  font-weight:900!important;
  cursor:pointer!important;
}

/* V4.2.3 — suppression groupe définitivement sécurisée */
.mecv2 .mecv2-group-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin:12px 0!important;
}
.mecv2 .mecv2-edit-group-btn,
.mecv2 .mecv2-delete-group-btn{
  appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  min-width:128px!important;
  min-height:42px!important;
  border-radius:10px!important;
  padding:10px 14px!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1.1!important;
  opacity:1!important;
  visibility:visible!important;
  text-indent:0!important;
  text-shadow:none!important;
}
.mecv2 .mecv2-edit-group-btn{
  color:#2563eb!important;
  background:#ffffff!important;
  border:2px solid #93c5fd!important;
  cursor:pointer!important;
}
.mecv2 .mecv2-delete-group-btn{
  color:#dc2626!important;
  background:#ffffff!important;
  border:2px solid #fca5a5!important;
  cursor:pointer!important;
}
.mecv2 .mecv2-delete-group-btn.mec-disabled-delete{
  color:#b45309!important;
  background:#fff7ed!important;
  border:2px solid #fdba74!important;
  cursor:not-allowed!important;
}
.mecv2-alert{
  background:#fff7ed!important;
  color:#9a3412!important;
  border:1px solid #fed7aa!important;
  border-radius:14px!important;
  padding:12px 14px!important;
  font-weight:900!important;
  margin:0 0 14px!important;
}

/* V4.2.4 — hardlock suppression groupe */
.mecv2 .mecv2-delete-group-btn{
  color:#dc2626!important;
  background:#fff!important;
  border:2px solid #fca5a5!important;
  border-radius:10px!important;
  min-width:128px!important;
  min-height:42px!important;
  padding:10px 14px!important;
  font-weight:900!important;
  opacity:1!important;
  text-shadow:none!important;
  text-indent:0!important;
}
.mecv2 .mec-disabled-delete{
  color:#b45309!important;
  background:#fff7ed!important;
  border:2px solid #fdba74!important;
  cursor:not-allowed!important;
}
