/* Global typography for plugin UI */
.ien-group-notice,
.ien-group-notice *,
.ien-modal,
.ien-modal *,
.ien-dm-popup,
.ien-dm-popup *{
  font-family:"Noto Kufi Arabic","Noto Sans Arabic",Tahoma,Arial,sans-serif !important;
}

/* Group notice */
.ien-group-notice{margin:14px 0 18px}
.ien-group-notice__inner{
  background:#f7fbff;
  border:1px solid rgba(0,0,0,.08);
  border-right:5px solid #2b6cb0;
  border-radius:12px;
  padding:14px 14px 12px
}
.ien-group-notice__head{
  font-weight:800;
  font-size:16px;
  line-height:1.5;
  margin-bottom:8px
}
.ien-group-notice__body{
  font-size:14px;
  line-height:1.9;
  opacity:.95
}
.ien-group-notice__cta{
  margin-top:10px;
  display:flex;
  gap:10px;
  flex-wrap:wrap
}
.ien-group-notice__btn,
.ien-btn{
  display:inline-block;
  padding:9px 12px;
  border-radius:12px;
  text-decoration:none;
  font-weight:800;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  cursor:pointer
}
.ien-group-notice__btn--primary,
.ien-btn--primary,
button.ien-btn--primary{
  background:#2b6cb0 !important;
  color:#fff !important;
  border-color:#2b6cb0 !important;
  box-shadow:0 6px 14px rgba(0,0,0,.12)
}
.ien-group-notice__btn--primary:hover,
.ien-btn--primary:hover{
  background:#1f4f86 !important;
  color:#fff !important
}

/* Trial modal */
.ien-modal{display:none}
.ien-modal[aria-hidden="false"]{
  display:block;
  position:fixed;
  inset:0;
  z-index:99999
}
.ien-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.45)
}
.ien-modal__panel{
  position:relative;
  width:min(520px,92vw);
  margin:10vh auto 0;
  background:#fff;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.12);
  overflow:hidden
}
.ien-modal__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 14px;
  border-bottom:1px solid rgba(0,0,0,.08)
}
.ien-modal__title{font-weight:900}
.ien-modal__close{
  font-size:22px;
  line-height:1;
  border:0;
  background:transparent;
  cursor:pointer
}
.ien-modal__body{
  padding:14px;
  line-height:1.9
}
.ien-modal__list{
  margin:8px 0 12px;
  padding-right:18px
}
.ien-modal__actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:10px
}
.ien-modal__status{
  margin-top:10px;
  font-weight:800
}
.ien-modal__status.is-err{color:#a61b1b}
html.ien-modal-open{overflow:hidden}

/* =========================================================
   Activity Card V2
   ========================================================= */

.iq-actwrap{
  max-width:1200px;
  margin:14px auto 10px;
  padding:0 12px;
}

.iq-actcard{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  padding:16px;
  box-shadow:0 10px 24px rgba(0,0,0,.06);
}

.iq-actgrid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:18px;
  align-items:start;
}

.iq-acttitle{
  font-size:17px;
  font-weight:900;
  line-height:1.7;
  margin:0;
  color:#111827;
}

.iq-actsub{
  margin:6px 0 0;
  font-size:13px;
  line-height:1.9;
  color:#4b5563;
  opacity:1;
}

.iq-actmeta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:12px;
}

.iq-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:#f8fafc;
  border:1px solid rgba(43,108,176,.12);
  padding:8px 12px;
  border-radius:999px;
  font-size:13px;
  line-height:1.7;
  color:#1f2937;
  box-shadow:0 2px 8px rgba(0,0,0,.03);
}

.iq-pill b{
  font-weight:900;
  color:#111827;
}

/* Progress bar */
.iq-bar{
  height:12px;
  background:#e9eef5;
  border-radius:999px;
  overflow:hidden;
  margin-top:16px;
  margin-bottom:14px;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.06);
}

.iq-bar > span{
  display:block;
  height:100%;
  width:0%;
  background:linear-gradient(90deg,#2b6cb0,#3b82f6);
  opacity:1;
  border-radius:999px;
  transition:width .7s ease;
  box-shadow:0 4px 12px rgba(43,108,176,.22);
}

.iq-hint{
  margin:0 0 2px;
  font-size:13px;
  line-height:1.9;
  color:#374151;
}

.iq-hint b{
  color:#1f4f86;
  font-weight:900;
}

.iq-cta{
  margin-top:14px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.iq-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 14px;
  border-radius:12px;
  border:1px solid rgba(43,108,176,.14);
  background:#fff;
  font-size:13px;
  font-weight:900;
  text-decoration:none;
  color:#1f2937;
  box-shadow:0 4px 12px rgba(0,0,0,.04);
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}

.iq-btn:hover{
  background:#f8fbff;
  box-shadow:0 8px 18px rgba(0,0,0,.07);
  transform:translateY(-1px);
}

/* =========================================================
   Today Box
   ========================================================= */

.iq-today-box{
  margin-top:0;
  background:linear-gradient(180deg,#f8fbff,#ffffff);
  border:1px solid rgba(43,108,176,.12);
  border-radius:16px;
  padding:16px;
  box-shadow:0 8px 18px rgba(0,0,0,.04);
}

.iq-today-box__head{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
}

.iq-today-box__icon{
  width:46px;
  height:46px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  background:linear-gradient(135deg,#eef5ff,#fff4e7);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.05);
  flex:0 0 auto;
}

.iq-today-box__title{
  margin:0;
  font-size:15px;
  font-weight:900;
  color:#111827;
}

.iq-today-box__sub{
  margin:3px 0 0;
  font-size:12.5px;
  line-height:1.8;
  color:#6b7280;
}

.iq-today-box__progress{
  margin-bottom:12px;
}

.iq-today-box__progress-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:7px;
  font-size:12.5px;
  font-weight:800;
  color:#374151;
}

.iq-today-box__bar{
  height:10px;
  background:#e8eef7;
  border-radius:999px;
  overflow:hidden;
}

.iq-today-box__bar > span{
  display:block;
  height:100%;
  width:0;
  border-radius:999px;
  background:linear-gradient(90deg,#2b6cb0,#3b82f6);
  box-shadow:0 4px 10px rgba(43,108,176,.2);
}

.iq-today-box__text{
  margin:0 0 12px;
  font-size:13px;
  line-height:1.9;
  color:#374151;
}

.iq-today-box__text strong{
  color:#1f4f86;
  font-weight:900;
}

.iq-today-box__goals{
  display:flex;
  flex-direction:column;
  gap:9px;
  margin-bottom:12px;
}

.iq-today-goal{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
}

.iq-today-goal__check{
  width:22px;
  height:22px;
  border-radius:50%;
  border:2px solid rgba(0,0,0,.16);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  font-weight:900;
  color:transparent;
  flex:0 0 auto;
}

.iq-today-goal.is-done{
  background:#f3fbf5;
  border-color:rgba(34,197,94,.22);
}

.iq-today-goal.is-done .iq-today-goal__check{
  background:#16a34a;
  border-color:#16a34a;
  color:#fff;
}

.iq-today-goal__label{
  font-size:13px;
  font-weight:800;
  color:#111827;
}

.iq-today-box__note{
  padding:10px 12px;
  border-radius:12px;
  background:#fff8eb;
  border:1px solid rgba(245,158,11,.18);
  font-size:12.5px;
  line-height:1.8;
  color:#7a4b00;
  font-weight:800;
}

/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 992px){
  .iq-actgrid{
    grid-template-columns:1fr;
    gap:16px;
  }

  .iq-today-box{
    margin-top:4px;
  }
}

@media (max-width: 768px){

  .iq-actwrap{
    padding:0 10px;
  }

  .iq-actcard{
    padding:14px;
    border-radius:14px;
  }

  .iq-acttitle{
    font-size:15px;
    line-height:1.9;
  }

  .iq-actsub{
    font-size:12.5px;
    line-height:2;
    margin-top:6px;
    letter-spacing:.15px;
  }

  .iq-actmeta{
    gap:8px;
    margin-top:10px;
  }

  .iq-pill{
    width:100%;
    justify-content:flex-start;
    font-size:12.5px;
    line-height:1.8;
    padding:8px 10px;
  }

  .iq-bar{
    margin-top:14px;
    margin-bottom:12px;
    height:10px;
  }

  .iq-hint{
    font-size:12.5px;
    line-height:2;
    margin-top:6px;
    letter-spacing:.15px;
  }

  .iq-cta{
    margin-top:12px;
    gap:8px;
  }

  .iq-btn{
    width:100%;
    padding:11px 12px;
    font-size:13px;
  }

  .iq-today-box{
    padding:14px;
    border-radius:14px;
  }

  .iq-today-box__head{
    align-items:flex-start;
    gap:10px;
    margin-bottom:10px;
  }

  .iq-today-box__icon{
    width:42px;
    height:42px;
    border-radius:12px;
    font-size:20px;
  }

  .iq-today-box__title{
    font-size:14px;
    line-height:1.8;
  }

  .iq-today-box__sub{
    font-size:12px;
    line-height:1.9;
    margin-top:2px;
  }

  .iq-today-box__progress{
    margin-bottom:10px;
  }

  .iq-today-box__progress-head{
    font-size:12px;
    line-height:1.8;
  }

  .iq-today-box__text{
    font-size:12.5px;
    line-height:2;
    margin-bottom:10px;
  }

  .iq-today-box__goals{
    gap:8px;
    margin-bottom:10px;
  }

  .iq-today-goal{
    padding:9px 10px;
  }

  .iq-today-goal__label{
    font-size:12.5px;
    line-height:1.8;
  }

  .iq-today-box__note{
    font-size:12px;
    line-height:1.9;
    padding:9px 10px;
  }
}

@media (max-width: 480px){

  .iq-actcard{
    padding:12px;
  }

  .iq-acttitle{
    font-size:14px;
  }

  .iq-actsub,
  .iq-hint,
  .iq-today-box__text{
    font-size:12px;
  }

  .iq-btn{
    font-size:12.5px;
    min-height:42px;
  }

  .iq-pill{
    font-size:12px;
  }
}
#youzify-wall-form{display:none}
body.group-home #youzify-wall-form,
body.groups #youzify-wall-form{display:block}

/* Rank badges */
.iq-rank-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:4px;
  margin-inline-start:8px;
  padding:2px 8px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  background:rgba(0,0,0,.03);
  line-height:1.8;
  white-space:nowrap
}
.iq-rank--beginner{background:#f5f5f5}
.iq-rank--active{background:#eef7ff;border-color:#b8d7ff}
.iq-rank--advanced{background:#edf8f0;border-color:#b8e3c2}
.iq-rank--excellent{background:#fff8e6;border-color:#f1dda2}
.iq-rank--champion{background:#fff1f1;border-color:#f5c6c6}
.iq-rank--star{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#fff7cf,#fff3a5);
  border-color:#e6cb58
}
.iq-rank--star::after{
  content:"";
  position:absolute;
  inset:0;
  transform:translateX(-120%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);
  animation:iqShine 2.2s ease-in-out infinite
}
@keyframes iqShine{
  0%,55%{transform:translateX(-120%)}
  100%{transform:translateX(120%)}
}

/* Leaderboard */
.iq-lb-wrap{margin:12px 0 14px}
.iq-lb-card{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  box-shadow:0 8px 22px rgba(0,0,0,.06);
  padding:12px
}
.iq-lb-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:8px
}
.iq-lb-title{
  font-size:14px;
  font-weight:900;
  margin:0
}
.iq-lb-sub{
  font-size:12px;
  opacity:.8;
  margin:0
}
.iq-lb-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:3px 10px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.10);
  background:rgba(0,0,0,.03);
  font-size:12px;
  font-weight:900
}
.iq-lb-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0 8px;
  direction:rtl
}
.iq-lb-row{
  background:rgba(0,0,0,.03);
  border:1px solid rgba(0,0,0,.05);
  border-radius:12px
}
.iq-lb-cell{
  padding:8px 10px;
  font-size:13px;
  vertical-align:middle
}
.iq-lb-rank{
  width:56px;
  font-weight:900;
  text-align:right;
  white-space:nowrap
}
.iq-lb-user{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  justify-content:flex-start
}
.iq-lb-user img{
  width:32px;
  height:32px;
  border-radius:50%;
  flex:0 0 auto
}
.iq-lb-user a{
  font-weight:900;
  text-decoration:none;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  max-width:260px
}
.iq-lb-points{
  font-weight:900;
  text-align:left;
  white-space:nowrap;
  direction:ltr
}
.iq-lb-me{
  border:1px solid rgba(34,197,94,.35)!important;
  background:rgba(34,197,94,.10)!important
}
.iq-lb-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  margin-top:10px
}

/* Daily missions */
html.ien-dm-open,
body.ien-dm-open{
  overflow:hidden !important
}

#ien-dm-overlay{
  position:fixed !important;
  inset:0 !important;
  background:rgba(0,0,0,.45);
  z-index:99998;
  backdrop-filter:blur(2px)
}

#ien-dm-popup{
  position:fixed !important;
  top:50% !important;
  left:50% !important;
  transform:translate(-50%,-50%) !important;
  width:min(92vw,522px);
  max-height:88vh;
  overflow:auto;
  background:#fff;
  border-radius:22px;
  box-shadow:0 24px 60px rgba(0,0,0,.25);
  z-index:99999 !important;
  padding:18px 18px 16px;
  direction:rtl;
  text-align:right;
  border:1px solid rgba(0,0,0,.08)
}

#ien-dm-popup .ien-dm-close{
  position:absolute;
  top:10px;
  left:10px;
  width:38px;
  height:38px;
  padding:0;
  border:none;
  border-radius:50%;
  background:#f3f4f6;
  color:#111827;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
  font-weight:700;
  line-height:1
}

#ien-dm-popup .ien-dm-close:hover{
  background:#e5e7eb;
  color:#000
}

.ien-dm-top{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:14px
}

.ien-dm-icon{
  width:56px;
  height:56px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#eef5ff,#fff4e7);
  font-size:28px;
  flex:0 0 auto;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)
}

.ien-dm-title{
  margin:0;
  font-size:20px;
  font-weight:900;
  color:#121212
}

.ien-dm-subtitle{
  margin:4px 0 0;
  font-size:13px;
  line-height:1.8;
  color:#444
}

.ien-dm-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin:12px 0 14px
}

.ien-dm-stat,
.ien-dm-mini{
  background:#fafbff;
  border:1px solid rgba(0,0,0,.07);
  border-radius:16px;
  padding:10px 12px
}

.ien-dm-stat-label,
.ien-dm-mini span{
  display:block;
  font-size:12px;
  color:#666;
  margin-bottom:4px;
  line-height:1.7
}

.ien-dm-stat strong,
.ien-dm-mini strong{
  font-size:15px;
  font-weight:900;
  color:#111
}

.ien-dm-progress-box{
  background:linear-gradient(180deg,#f9fbff,#ffffff);
  border:1px solid rgba(0,0,0,.07);
  border-radius:18px;
  padding:12px;
  margin-bottom:14px
}

.ien-dm-progress-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font-size:13px;
  font-weight:800;
  margin-bottom:8px
}

.ien-dm-progress-bar{
  height:10px;
  background:rgba(0,0,0,.07);
  border-radius:999px;
  overflow:hidden
}

.ien-dm-progress-bar span{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#2b6cb0,#4f46e5)
}

.ien-dm-hint{
  margin:10px 0 0;
  font-size:12.5px;
  line-height:1.8;
  color:#555
}

.ien-dm-micro-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-bottom:14px
}

.ien-dm-tasks{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-bottom:14px
}

.ien-dm-task{
  display:flex;
  align-items:center;
  gap:12px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  padding:12px;
  background:#fff
}

.ien-dm-task.is-done{
  background:#f3fbf5;
  border-color:rgba(34,197,94,.22)
}

.ien-dm-check{
  width:24px;
  height:24px;
  border-radius:50%;
  border:2px solid rgba(0,0,0,.15);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  flex:0 0 auto;
  color:transparent
}

.ien-dm-task.is-done .ien-dm-check{
  border-color:#16a34a;
  background:#16a34a;
  color:#fff
}

.ien-dm-task-title{
  font-size:14px;
  font-weight:800;
  color:#111
}

.ien-dm-reward{
  background:linear-gradient(135deg,#fff8eb,#fffef8);
  border:1px solid rgba(245,158,11,.25);
  border-radius:18px;
  padding:13px 14px;
  margin-bottom:14px
}

.ien-dm-reward-title{
  font-size:12px;
  color:#7c5b16;
  margin-bottom:4px
}

.ien-dm-reward-points{
  font-size:18px;
  font-weight:900;
  color:#7a4b00
}

.ien-dm-reward-note{
  font-size:12px;
  color:#6c5a2b;
  margin-top:6px;
  line-height:1.8
}

.ien-dm-weekly-box{
  background:linear-gradient(135deg,#eef7ff,#f8fbff);
  border:1px solid rgba(43,108,176,.18);
  border-radius:18px;
  padding:13px 14px;
  margin-bottom:14px
}

.ien-dm-weekly-title{
  font-size:13px;
  font-weight:900;
  color:#1f4f86;
  margin-bottom:6px
}

.ien-dm-weekly-body{
  font-size:12.5px;
  line-height:1.9;
  color:#314155
}

.ien-dm-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap
}

.ien-dm-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 16px;
  border-radius:14px;
  font-size:14px;
  font-weight:900;
  text-decoration:none;
  border:none;
  cursor:pointer
}

.ien-dm-btn-primary{
  background:#1d4ed8;
  color:#fff
}

.ien-dm-btn-secondary{
  background:#f3f4f6;
  color:#111
}

@media (max-width:560px){
  #ien-dm-popup{
    width:94vw;
    padding:16px 14px 14px
  }

  .ien-dm-stats,
  .ien-dm-micro-grid{
    grid-template-columns:1fr
  }
}

/* =========================================================
   Badge Popup
   ========================================================= */

html.ien-badge-popup-open,
body.ien-badge-popup-open{
  overflow:hidden !important;
}

.ien-badge-popup-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.42);
  backdrop-filter:blur(2px);
  z-index:99997;
}

.ien-badge-popup{
  position:fixed;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%) scale(.96);
  width:min(92vw, 420px);
  background:#fff;
  border-radius:24px;
  padding:24px 20px 20px;
  box-shadow:0 30px 80px rgba(0,0,0,.22);
  border:1px solid rgba(0,0,0,.08);
  z-index:99998;
  text-align:center;
  direction:rtl;
  transition:transform .22s ease, opacity .22s ease;
  opacity:1;
}

.ien-badge-popup__close{
  position:absolute;
  top:10px;
  left:10px;
  width:38px;
  height:38px;
  border:none;
  border-radius:50%;
  background:#f3f4f6;
  color:#111827;
  font-size:24px;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
}

.ien-badge-popup__close:hover{
  background:#e5e7eb;
}

.ien-badge-popup__confetti{
  position:absolute;
  top:12px;
  right:16px;
  font-size:22px;
  opacity:.9;
}

.ien-badge-popup__icon{
  width:84px;
  height:84px;
  margin:8px auto 12px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:42px;
  background:linear-gradient(135deg,#fff8d9,#fff1a8);
  box-shadow:0 10px 24px rgba(245,158,11,.18);
}

.ien-badge-popup__eyebrow{
  font-size:12px;
  font-weight:900;
  color:#1f4f86;
  letter-spacing:.3px;
  margin-bottom:6px;
}

.ien-badge-popup__title{
  margin:0;
  font-size:22px;
  font-weight:900;
  color:#111827;
  line-height:1.5;
}

.ien-badge-popup__badge-name{
  margin-top:10px;
  font-size:18px;
  font-weight:900;
  color:#1f4f86;
  line-height:1.7;
}

.ien-badge-popup__desc{
  margin:10px 0 0;
  font-size:14px;
  line-height:1.9;
  color:#4b5563;
}

.ien-badge-popup__actions{
  margin-top:18px;
  display:flex;
  justify-content:center;
}

.ien-badge-popup__btn{
  min-width:130px;
  min-height:46px;
  padding:0 18px;
  border:none;
  border-radius:14px;
  background:#1d4ed8;
  color:#fff;
  font-size:14px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 10px 22px rgba(29,78,216,.18);
}

.ien-badge-popup__btn:hover{
  background:#1a44be;
}

@media (max-width: 560px){
  .ien-badge-popup{
    width:94vw;
    padding:22px 16px 18px;
    border-radius:20px;
  }

  .ien-badge-popup__icon{
    width:76px;
    height:76px;
    font-size:38px;
  }

  .ien-badge-popup__title{
    font-size:20px;
  }

  .ien-badge-popup__badge-name{
    font-size:17px;
  }

  .ien-badge-popup__desc{
    font-size:13px;
  }
}

/* =========================================================
   Toast Notifications
   ========================================================= */

.ien-toast-stack{
  position:fixed;
  top:18px;
  left:18px;
  right:auto;
  z-index:99996;
  display:flex;
  flex-direction:column;
  gap:10px;
  width:min(92vw, 360px);
  pointer-events:none;
}

.ien-toast{
  display:flex;
  align-items:flex-start;
  gap:10px;
  background:#ffffff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  box-shadow:0 14px 34px rgba(0,0,0,.12);
  padding:12px 12px 12px 10px;
  transform:translateY(-10px);
  opacity:0;
  transition:transform .22s ease, opacity .22s ease;
  pointer-events:auto;
}

.ien-toast.is-visible{
  transform:translateY(0);
  opacity:1;
}

.ien-toast.is-leaving{
  transform:translateY(-8px);
  opacity:0;
}

.ien-toast__icon{
  width:34px;
  height:34px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  flex:0 0 auto;
  background:#f3f6fb;
}

.ien-toast__content{
  flex:1 1 auto;
  min-width:0;
}

.ien-toast__title{
  font-size:13px;
  font-weight:900;
  line-height:1.7;
  color:#111827;
}

.ien-toast__message{
  margin-top:2px;
  font-size:12.5px;
  line-height:1.8;
  color:#4b5563;
}

.ien-toast__close{
  width:28px;
  height:28px;
  border:none;
  border-radius:10px;
  background:#f3f4f6;
  color:#374151;
  font-size:18px;
  line-height:1;
  cursor:pointer;
  flex:0 0 auto;
}

.ien-toast__close:hover{
  background:#e5e7eb;
}

.ien-toast--success{
  border-color:rgba(34,197,94,.18);
}

.ien-toast--success .ien-toast__icon{
  background:#ecfdf3;
}

.ien-toast--reward{
  border-color:rgba(245,158,11,.18);
}

.ien-toast--reward .ien-toast__icon{
  background:#fff7e8;
}

.ien-toast--milestone{
  border-color:rgba(59,130,246,.18);
}

.ien-toast--milestone .ien-toast__icon{
  background:#eef5ff;
}

@media (max-width: 640px){
  .ien-toast-stack{
    top:12px;
    left:12px;
    width:calc(100vw - 24px);
  }
}

/* =========================================================
   Badge Popup Enhanced
   ========================================================= */

html.ien-badge-popup-open,
body.ien-badge-popup-open{
  overflow:hidden !important;
}

.ien-badge-popup-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.42);
  backdrop-filter:blur(2px);
  z-index:99997;
}

.ien-badge-popup{
  position:fixed;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%) scale(.94);
  width:min(92vw, 420px);
  background:#fff;
  border-radius:24px;
  padding:24px 20px 20px;
  box-shadow:0 30px 80px rgba(0,0,0,.22);
  border:1px solid rgba(0,0,0,.08);
  z-index:99998;
  text-align:center;
  direction:rtl;
  opacity:1;
  overflow:hidden;
}

.ien-badge-popup.is-entering{
  animation: ienBadgePopupEnter .55s cubic-bezier(.22,1,.36,1);
}

@keyframes ienBadgePopupEnter{
  0%{
    transform:translate(-50%,-50%) scale(.90);
  }
  30%{
    transform:translate(-50%,-50%) scale(1.03);
  }
  55%{
    transform:translate(-50%,-50%) scale(.985);
  }
  75%{
    transform:translate(-50%,-50%) scale(1.01);
  }
  100%{
    transform:translate(-50%,-50%) scale(1);
  }
}

.ien-badge-popup__close{
  position:absolute;
  top:10px;
  left:10px;
  width:38px;
  height:38px;
  border:none;
  border-radius:50%;
  background:#f3f4f6;
  color:#111827;
  font-size:24px;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:2;
}

.ien-badge-popup__close:hover{
  background:#e5e7eb;
}

.ien-badge-popup__confetti{
  position:absolute;
  inset:0;
  pointer-events:none;
  overflow:hidden;
}

.ien-badge-confetti-piece{
  position:absolute;
  top:-14px;
  width:10px;
  height:18px;
  border-radius:4px;
  opacity:.95;
  animation-name: ienBadgeConfettiFall;
  animation-timing-function: ease-in;
  animation-fill-mode: forwards;
}

.ien-badge-confetti-piece:nth-child(4n+1){ background:#60a5fa; }
.ien-badge-confetti-piece:nth-child(4n+2){ background:#fbbf24; }
.ien-badge-confetti-piece:nth-child(4n+3){ background:#34d399; }
.ien-badge-confetti-piece:nth-child(4n+4){ background:#f472b6; }

@keyframes ienBadgeConfettiFall{
  0%{
    transform:translateY(0) rotate(0deg);
    opacity:0;
  }
  10%{
    opacity:1;
  }
  100%{
    transform:translateY(300px) rotate(300deg);
    opacity:0;
  }
}

.ien-badge-popup__icon{
  width:84px;
  height:84px;
  margin:8px auto 12px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:42px;
  background:linear-gradient(135deg,#fff8d9,#fff1a8);
  box-shadow:0 10px 24px rgba(245,158,11,.18);
  position:relative;
  z-index:1;
}

.ien-badge-popup__eyebrow{
  font-size:12px;
  font-weight:900;
  color:#1f4f86;
  letter-spacing:.3px;
  margin-bottom:6px;
  position:relative;
  z-index:1;
}

.ien-badge-popup__title{
  margin:0;
  font-size:22px;
  font-weight:900;
  color:#111827;
  line-height:1.5;
  position:relative;
  z-index:1;
}

.ien-badge-popup__badge-name{
  margin-top:10px;
  font-size:18px;
  font-weight:900;
  color:#1f4f86;
  line-height:1.7;
  position:relative;
  z-index:1;
}

.ien-badge-popup__desc{
  margin:10px 0 0;
  font-size:14px;
  line-height:1.9;
  color:#4b5563;
  position:relative;
  z-index:1;
}

.ien-badge-popup__actions{
  margin-top:18px;
  display:flex;
  justify-content:center;
  position:relative;
  z-index:1;
}

.ien-badge-popup__btn{
  min-width:130px;
  min-height:46px;
  padding:0 18px;
  border:none;
  border-radius:14px;
  background:#1d4ed8;
  color:#fff;
  font-size:14px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 10px 22px rgba(29,78,216,.18);
}

.ien-badge-popup__btn:hover{
  background:#1a44be;
}

@media (max-width: 560px){
  .ien-badge-popup{
    width:94vw;
    padding:22px 16px 18px;
    border-radius:20px;
  }

  .ien-badge-popup__icon{
    width:76px;
    height:76px;
    font-size:38px;
  }

  .ien-badge-popup__title{
    font-size:20px;
  }

  .ien-badge-popup__badge-name{
    font-size:17px;
  }

  .ien-badge-popup__desc{
    font-size:13px;
  }
}

.ien-settings-box{
  background:#fff;
  border:1px solid #eee;
  padding:16px;
  border-radius:14px;
  margin:20px 0;
}

.ien-settings-box h3{
  margin-bottom:10px;
}

.ien-settings-box label{
  display:block;
  margin-bottom:10px;
  font-weight:600;
}

/* =========================================================
   Smart Lesson Offer V2
   ========================================================= */

.ien-smart-offer{
  position:fixed;
  bottom:20px;
  left:20px;
  z-index:99995;
  width:min(92vw, 360px);
  transform:translateY(20px);
  opacity:0;
  transition:transform .25s ease, opacity .25s ease;
}

.ien-smart-offer.show{
  transform:translateY(0);
  opacity:1;
}

.ien-smart-offer__card{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:18px;
  box-shadow:0 18px 46px rgba(0,0,0,.16);
  padding:16px;
  position:relative;
}

.ien-smart-offer__close{
  position:absolute;
  top:10px;
  left:10px;
  width:34px;
  height:34px;
  border:none;
  border-radius:50%;
  background:#f3f4f6;
  color:#111827;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}

.ien-smart-offer__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:#eef5ff;
  color:#1f4f86;
  font-size:12px;
  font-weight:900;
  margin-bottom:10px;
}

.ien-smart-offer__title{
  font-size:16px;
  font-weight:900;
  line-height:1.7;
  color:#111827;
  margin-bottom:8px;
  padding-left:28px;
}

.ien-smart-offer__text{
  font-size:13px;
  line-height:1.9;
  color:#4b5563;
  margin-bottom:14px;
}

.ien-smart-offer__actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.ien-smart-offer__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 14px;
  border-radius:12px;
  text-decoration:none;
  font-size:13px;
  font-weight:900;
}

.ien-smart-offer__btn--primary{
  background:#1d4ed8;
  color:#fff;
}

.ien-smart-offer__btn--ghost{
  background:#f3f4f6;
  color:#111827;
}

@media (max-width:640px){
  .ien-smart-offer{
    left:12px;
    bottom:12px;
    width:calc(100vw - 24px);
  }
}

/* =========================================================
   Group Post Lock - Safe Version
   ========================================================= */

.ien-group-post-locked-form{
  position:relative;
}

.ien-group-post-lock-box{
  display:flex;
  gap:14px;
  align-items:flex-start;
  background:linear-gradient(135deg,#eef5ff,#fffaf1);
  border:1px solid rgba(43,108,176,.14);
  border-right:4px solid #2b6cb0;
  border-radius:16px;
  padding:14px;
  margin-bottom:14px;
}

.ien-group-post-lock-box__icon{
  width:52px;
  height:52px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  font-size:24px;
  background:#fff;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
}

.ien-group-post-lock-box__content{
  flex:1 1 auto;
  min-width:0;
}

.ien-group-post-lock-box__title{
  font-size:15px;
  font-weight:900;
  line-height:1.7;
  color:#1f4f86;
  margin-bottom:4px;
}

.ien-group-post-lock-box__text{
  font-size:13px;
  line-height:1.95;
  color:#425466;
}

.ien-group-post-lock-box__actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:10px;
}

.ien-group-post-lock-box__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 14px;
  border-radius:12px;
  text-decoration:none;
  font-size:13px;
  font-weight:900;
}

.ien-group-post-lock-box__btn--primary{
  background:#1d4ed8;
  color:#fff;
  box-shadow:0 8px 18px rgba(29,78,216,.18);
}

.ien-group-post-lock-box__btn--ghost{
  background:#fff;
  color:#111827;
  border:1px solid rgba(0,0,0,.10);
}

.ien-group-post-locked-form textarea,
.ien-group-post-locked-form input[type="text"],
.ien-group-post-locked-form input[type="file"],
.ien-group-post-locked-form select,
.ien-group-post-locked-form button[disabled],
.ien-group-post-locked-form input[disabled]{
  opacity:.62 !important;
  cursor:not-allowed !important;
  background:#f8fafc !important;
}

.ien-group-post-locked-element{
  pointer-events:none !important;
  opacity:.58 !important;
}

@media (max-width:640px){
  .ien-group-post-lock-box{
    flex-direction:column;
    gap:10px;
    padding:13px;
  }

  .ien-group-post-lock-box__icon{
    width:46px;
    height:46px;
    font-size:22px;
  }
}