/* =========================================
   STUDENT PANEL - ACHIEVEMENTS
========================================= */

.evrd-sp-achievements-view{
  display:flex;
  flex-direction:column;
  gap:26px;
}

/* =========================
   PAGE HEAD
========================= */

.evrd-ach-page-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
}

.evrd-ach-page-head-main{
  max-width:760px;
}

.evrd-ach-page-title{
  margin:0 0 8px;
  font-size:2rem;
  line-height:1.02;
  font-weight:600;
  letter-spacing:-.035em;
  color:#10233d;
}

.evrd-ach-page-copy{
  margin:0;
  max-width:700px;
  font-size:inherit;
  line-height:1.75;
  color:#66768f;
}

.evrd-ach-page-pill{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:40px;
  padding:10px 15px;
  border-radius:999px;
  border:1px solid #ead39a;
  background:#fff8e6;
  color:#b8860b;
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
}

.evrd-ach-page-pill svg{
  width:16px;
  height:16px;
}

/* =========================
   GENERIC BLOCK
========================= */

.evrd-ach-block{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.evrd-ach-block-head{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
}

.evrd-ach-block-head-between{
  justify-content:space-between;
}

.evrd-ach-block-head h3{
  margin:0;
  font-size:22px;
  line-height:1.15;
  font-weight:700;
  color:#10233d;
  letter-spacing:-.015em;
}

.evrd-ach-counter{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 6px;
  min-height:36px;
  padding:4px 14px;
  border-radius:999px;
  background:#eef3f9;
  color:#61728d;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.01em;
}

.evrd-ach-counter-btn{
  border:1px solid #d8e2ef;
  cursor:pointer;
  transition:
    background .22s ease,
    border-color .22s ease,
    color .22s ease,
    transform .22s ease,
    box-shadow .22s ease;
}

.evrd-ach-counter-btn:hover{
  background:#ffffff;
  border-color:#c4d2e3;
  color:#10233d;
  transform:translateY(-1px);
  box-shadow:0 10px 18px rgba(15,23,42,.06);
}

/* =========================
   HERO
========================= */

.evrd-ach-hero-card{
  position:relative;
  overflow:hidden;
  background:#fff;
  border:1px solid #d9e3ef;
  border-radius:24px;
  padding:32px 24px 32px;
  box-shadow:0 12px 28px rgba(15,23,42,.05);
}

.evrd-ach-hero-top{
  position:relative;
  z-index:1;
  display:flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px;
}

.evrd-ach-hero-main{
  min-width:0;
  flex:1 1 auto;
}

.evrd-ach-kicker{
  display:inline-block;
  margin-bottom:12px;
  font-size:11px;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-weight:700;
  color:#8b9ab1;
}

.evrd-ach-hero-title-row{
  display:flex;
  align-items:flex-start;
  gap:14px;
}

.evrd-ach-hero-icon{
  flex:0 0 auto;
  width:54px;
  height:54px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff8e6;
  border:1px solid #ead39a;
  color:#c79613;
}

.evrd-ach-hero-icon svg{
  width:24px;
  height:24px;
  stroke-width:2.2;
}

.evrd-ach-hero-title-wrap{
  min-width:0;
}

.evrd-ach-hero-title{
  margin:0 0 8px;
  font-size:24px;
  line-height:1.15;
  font-weight:700;
  color:#10233d;
  letter-spacing:-.02em;
}

.evrd-ach-hero-chip{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:2px 12px;
  border-radius:999px;
  background:#fff8e6;
  color:#c79613;
  font-size:12px;
  font-weight:800;
  border:1px solid #ead39a;
}

.evrd-ach-hero-cta{
  flex:0 0 auto;
  position:relative;
  z-index:1;
}

.evrd-ach-hero-btn{
  min-width:230px;
  min-height:54px;
  padding:14px 24px;
  border:0;
  border-radius:14px;
  background:#0d3d84;
  color:#fff;
  font-size:15px;
  font-weight:800;
  letter-spacing:-.01em;
  cursor:pointer;
  box-shadow:0 12px 22px rgba(13,61,132,.18);
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    opacity .22s ease,
    background .22s ease;
    
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 6px;
}

.evrd-ach-hero-btn:hover:not(:disabled){
  transform:translateY(-2px);
  box-shadow:0 16px 26px rgba(13,61,132,.24);
}

.evrd-ach-hero-btn:disabled{
  opacity:.55;
  cursor:not-allowed;
}

.evrd-ach-hero-progress-wrap{
  position:relative;
  z-index:1;
  margin-bottom:14px;
}

.evrd-ach-progress-bar{
  width:100%;
  height:14px;
  border-radius:999px;
  background:#e9eef5;
  overflow:hidden;
}

.evrd-ach-progress-bar span{
  display:block;
  height:100%;
  border-radius:inherit;
  background: linear-gradient(90deg, #f5c400 0%, #f59e0b 45%, #f97316 100%);
  box-shadow: 0 0 14px rgba(245, 196, 0, .35);
}

.evrd-ach-hero-meta{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}

.evrd-ach-hero-meta strong{
  font-size:22px;
  line-height:1;
  font-weight:800;
  color:#10233d;
  letter-spacing:-.03em;
}

.evrd-ach-hero-meta span{
  font-size:13px;
  line-height:1.55;
  color:#6f7f95;
  font-weight:600;
}

.evrd-ach-hero-watermark{
  position:absolute;
  right:-10px;
  bottom:-35px;
  width:170px;
  height:170px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:rgba(16,35,61,.05);
  pointer-events:none;
}

.evrd-ach-hero-watermark svg{
  width:150px !important;
  height:150px !important;
  stroke-width:1.4;
}

/* =========================
   STATS
========================= */

.evrd-ach-stats-shell{
  background:#fff;
  border:1px solid #d9e3ef;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 10px 24px rgba(15,23,42,.04);
}

.evrd-ach-stats-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
}

.evrd-ach-stat-card{
  min-height:192px;
  padding:18px 18px 18px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:8px;
  background:#fff;
   transition:
    background .22s ease,
    box-shadow .22s ease;
     transition:background .24s ease,border-color .24s ease,box-shadow .24s ease,transform .24s ease;
}

.evrd-ach-stat-card + .evrd-ach-stat-card{
  border-left:1px solid #e4ebf4;
}

.evrd-ach-stat-card:hover{
  background:#e9f0fb;
  box-shadow:0 10px 18px rgba(15,23,42,.06);
  transform:translateY(-2px);
}

.evrd-ach-stat-card + .evrd-ach-stat-card{
  border-left:1px solid #e4ebf4;
}

.evrd-ach-stat-icon{
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#355e9a;
}

.evrd-ach-stat-icon svg{
  width:30px !important;
  height:30px !important;
  stroke-width:2.2;
}

.evrd-ach-stat-value{
  font-size:46px;
  line-height:1;
  font-weight:800;
  color:#10233d;
  letter-spacing:-.02em;
}

.evrd-ach-stat-label{
  font-size:10px;
  line-height:1.25;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:#8090a7;
}

.evrd-ach-stat-card:nth-child(1) .evrd-ach-stat-icon{
  color:#355e9a; /* azul */
}

.evrd-ach-stat-card:nth-child(2) .evrd-ach-stat-icon{
  color:#ef4444; /* rojo */
}

.evrd-ach-stat-card:nth-child(3) .evrd-ach-stat-icon{
  color:#d4a91f; /* amarillo */
}

.evrd-ach-stat-card:nth-child(4) .evrd-ach-stat-icon{
  color:#22b65b; /* verde */
}

/* =========================
   RECENT
========================= */

.evrd-ach-recent-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:14px;
}

.evrd-ach-recent-card{
  min-height:112px;
  border-radius:18px;
  background:#f7f9fc;
  border:1px solid #ecf1f7;
  padding:16px 14px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:14px;
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease,
    background .22s ease;
}

.evrd-ach-recent-card:hover{
  transform:translateY(-2px);
  background:#fff;
  border-color:#d8e3ef;
  box-shadow:0 10px 18px rgba(15,23,42,.06);
}

.evrd-ach-recent-icon{
  display:flex;
  align-items:center;
  justify-content:center;
}

.evrd-ach-recent-icon svg{
  width:34px;
  height:34px;
  stroke-width:2.2;
}

.evrd-ach-recent-card h4{
  margin:0;
  font-size:13px;
  line-height:1.35;
  font-weight:800;
  letter-spacing:-.01em;
  color:#5f7088;
}

/* =========================
   UNLOCKED
========================= */

.evrd-ach-unlocked-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:14px;
}

.evrd-ach-unlocked-card{
  display:flex;
  align-items:center;
  gap:14px;
  min-height:112px;
  padding:18px;
  border-radius:18px;
  border:1px solid #dde6f0;
  background:#fff;
  box-shadow:0 6px 14px rgba(15,23,42,.03);
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease;
}

.evrd-ach-unlocked-card:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 22px rgba(15,23,42,.06);
}

.evrd-ach-unlocked-card.is-common{ border-color:#d8ebdd; }
.evrd-ach-unlocked-card.is-rare{ border-color:#d6e4f8; }
.evrd-ach-unlocked-card.is-epic{ border-color:#efe0b5; }

.evrd-ach-unlocked-icon{
  flex:0 0 auto;
  width:52px;
  height:52px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f7f9fc;
  border:1px solid #e8eef6;
  transition:
    transform .28s ease,
    box-shadow .28s ease,
    background .28s ease,
    border-color .28s ease;
  will-change: transform;
}

.evrd-ach-unlocked-card.is-common .evrd-ach-unlocked-icon{ color:#22b65b; }
.evrd-ach-unlocked-card.is-rare .evrd-ach-unlocked-icon{ color:#2f67cf; }
.evrd-ach-unlocked-card.is-epic .evrd-ach-unlocked-icon{ color:#d6a41a; }

.evrd-ach-unlocked-icon svg{
  width:30px !important;
  height:30px !important;
  stroke-width:2.2;
  transition:
    transform .28s ease,
    opacity .28s ease;
  transform-origin:center;
  will-change: transform;
}

.evrd-ach-unlocked-card:hover .evrd-ach-unlocked-icon,
.evrd-ach-catalog-icon:hover .evrd-ach-catalog-icon{
  transform:translateY(-3px) scale(1.06);
  box-shadow:0 10px 18px rgba(15,23,42,.08);
  background:#ffffff;
}

.evrd-ach-unlocked-card:hover .evrd-ach-unlocked-icon svg,
.evrd-ach-catalog-icon:hover .evrd-ach-catalog-icon svg{
  transform:scale(1.08);
}

.evrd-ach-unlocked-body{
  min-width:0;
}

.evrd-ach-unlocked-body h4{
  margin:0 0 4px;
  font-size:14px;
  line-height:1.25;
  font-weight:900;
  color:#10233d;
  letter-spacing:-.01em;
}

.evrd-ach-unlocked-body p{
  margin:0 0 10px;
  font-size:12px;
  line-height:1.5;
  color:#708099;
}

.evrd-ach-unlocked-badge{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 10px;
  border-radius:999px;
  background:#eaf8ee;
  color:#21a153;
  border:1px solid #caeed4;
  font-size:10px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  gap: 4px;
}
.evrd-ach-unlocked-badge svg{
     width:14px !important;
  height:14px !important;
  stroke-width:2.2;
}

/* =========================
   NEXT
========================= */

.evrd-ach-next-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:18px;
}

.evrd-ach-next-card{
  min-height:324px;
  padding:22px 20px 18px;
  border-radius:22px;
  border:1px solid #dde6f0;
  background:#fff;
  box-shadow:0 10px 22px rgba(15,23,42,.04);
  display:flex;
  flex-direction:column;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  justify-content: center;
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease;
}

.evrd-ach-next-card:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 28px rgba(15,23,42,.07);
}

.evrd-ach-next-card.is-common{ border-color:#e2eadf; }
.evrd-ach-next-card.is-rare{ border-color:#dbe7f9; }
.evrd-ach-next-card.is-epic{ border-color:#efe2bc; }

.evrd-ach-next-icon{
  width:56px;
  height:56px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f5f7fb;
  border:1px solid #e8eef6;
  margin-bottom:18px;
  color:#72829a;
}

.evrd-ach-next-icon svg{
  width:24px;
  height:24px;
  stroke-width:2.2;
}

.evrd-ach-next-body{
  min-height:78px;
      display: flex;
    flex-direction: column;
    align-items: center;
}

.evrd-ach-next-title{
  margin:0 0 8px;
  font-size:15px;
  line-height:1.25;
  font-weight:900;
  color:#10233d;
  letter-spacing:-.01em;
}

.evrd-ach-next-copy{
  margin:0;
  font-size:12px;
  line-height:1.6;
  color:#6f7f95;
}

.evrd-ach-next-score{
  margin-top:auto;
  display:flex;
  align-items:flex-end;
  gap:6px;
  margin-bottom:14px;
}

.evrd-ach-next-score strong{
  font-size:40px;
  line-height:1;
  font-weight:900;
  color:#10233d;
  letter-spacing:-.04em;
}

.evrd-ach-next-score span{
  font-size:20px;
  line-height:1.2;
  font-weight:800;
  color:#c2cbd7;
  transform:translateY(-2px);
}

.evrd-ach-next-progress{
  width:100%;
  height:10px;
  border-radius:999px;
  background:#e8eef5;
  overflow:hidden;
  margin-bottom:12px;
}

.evrd-ach-next-progress span{
  display:block;
  height:100%;
  border-radius:inherit;
}

.evrd-ach-next-card.is-common .evrd-ach-next-progress span{ background:#d5aa1f; }
.evrd-ach-next-card.is-rare .evrd-ach-next-progress span{ background:#e43c3d; }
.evrd-ach-next-card.is-epic .evrd-ach-next-progress span{ background:#103f86; }

.evrd-ach-next-footer{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.evrd-ach-next-footer-icon{
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#c9d3df;
  flex:0 0 auto;
}

.evrd-ach-next-footer-icon svg{
  width:15px;
  height:15px;
  stroke-width:2;
}

.evrd-ach-next-percent{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:5px 10px;
  border-radius:999px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.evrd-ach-next-card.is-common .evrd-ach-next-percent{
  background:#fff4d2;
  color:#b08400;
}

.evrd-ach-next-card.is-rare .evrd-ach-next-percent{
  background:#ffe1e2;
  color:#ca272b;
}

.evrd-ach-next-card.is-epic .evrd-ach-next-percent{
  background:#e4eefb;
  color:#0d3d84;
}

/* =========================
   EMPTY
========================= */

.evrd-ach-empty{
  min-height:180px;
  width:100%;
  border:1px dashed #d9e3ef;
  border-radius:18px;
  background:#fbfcfe;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:12px;
  padding:24px 20px;
}

.evrd-ach-empty svg{
  width:22px;
  height:22px;
  opacity:.72;
  color:#7d8ca3;
}

.evrd-ach-empty p{
  margin:0;
  max-width:320px;
  font-size:14px;
  line-height:1.6;
  color:#6f7f95;
}

/* =========================
   MODAL
========================= */

.evrd-ach-modal{
  position:fixed;
  inset:0;
  z-index:10050;
}

.evrd-ach-modal[hidden]{
  display:none !important;
}

.evrd-ach-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(8,15,28,.52);
  backdrop-filter:blur(4px);
}

.evrd-ach-modal-dialog{
  position:relative;
  z-index:1;
  width:min(1100px, calc(100vw - 32px));
  max-height:calc(100vh - 48px);
  margin:24px auto;
  border-radius:24px;
  background:#fff;
  border:1px solid #d9e3ef;
  box-shadow:0 28px 60px rgba(15,23,42,.22);
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

.evrd-ach-modal-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:22px 22px 18px;
  border-bottom:1px solid #e5ecf5;
}

.evrd-ach-modal-head h3{
  margin:0 0 4px;
  font-size:22px;
  line-height:1.15;
  font-weight:700;
  color:#10233d;
}

.evrd-ach-modal-head p{
  margin:0;
  font-size:13px;
  line-height:1.5;
  color:#6f7f95;
}

.evrd-ach-modal-close-btn{
  flex:0 0 auto;
  width:40px;
  height:40px;
  border-radius:12px;
  border:1px solid #d9e3ef;
  background:#fff;
  color:#586b85;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:
    background .22s ease,
    border-color .22s ease,
    color .22s ease,
    transform .22s ease;
}

.evrd-ach-modal-close-btn:hover{
  background:#f7f9fc;
  border-color:#cdd8e6;
  color:#10233d;
  transform:translateY(-1px);
}

.evrd-ach-modal-close-btn svg{
  width:18px;
  height:18px;
}

.evrd-ach-modal-body{
  padding:22px;
  overflow:auto;
}

.evrd-ach-catalog-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:14px;
}

.evrd-ach-catalog-card{
  display:flex;
  align-items:flex-start;
  gap:14px;
  min-height:126px;
  padding:18px;
  border-radius:18px;
  border:1px solid #dbe5f1;
  background:#fff;
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease,
    filter .22s ease,
    opacity .22s ease,
    background .22s ease;
}

.evrd-ach-catalog-card:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 22px rgba(15,23,42,.06);
}

.evrd-ach-catalog-card.is-common{ border-color:#d9eadf; }
.evrd-ach-catalog-card.is-rare{ border-color:#dce8fa; }
.evrd-ach-catalog-card.is-epic{ border-color:#efe1b9; }

.evrd-ach-catalog-card.is-locked{
  background:#f7f9fc;
  filter:grayscale(1);
  opacity:.82;
}

.evrd-ach-catalog-card.is-locked:hover{
  filter:grayscale(0);
  opacity:1;
}

.evrd-ach-catalog-icon{
  flex:0 0 auto;
  width:50px;
  height:50px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border:1px solid #e6edf7;
   transition:
    transform .28s ease,
    box-shadow .28s ease,
    background .28s ease,
    border-color .28s ease;
  will-change: transform;
}

.evrd-ach-catalog-card.is-common .evrd-ach-catalog-icon{ color:#21b357; }
.evrd-ach-catalog-card.is-rare .evrd-ach-catalog-icon{ color:#2f67cf; }
.evrd-ach-catalog-card.is-epic .evrd-ach-catalog-icon{ color:#d5a21d; }

.evrd-ach-catalog-icon svg{
  width:22px;
  height:22px;
  stroke-width:2.2;
   transition:
    transform .28s ease,
    box-shadow .28s ease,
    background .28s ease,
    border-color .28s ease;
  will-change: transform;
}


.evrd-ach-catalog-card:hover .evrd-ach-catalog-icon{
  transform:translateY(-2px) scale(1.05);
  box-shadow:0 10px 18px rgba(15,23,42,.08);
  background:#ffffff;
}

.evrd-ach-catalog-card:hover .evrd-ach-catalog-icon svg{
  transform:scale(1.08);
}

.evrd-ach-catalog-card.is-locked:hover .evrd-ach-catalog-icon{
  filter:none;
  border-color:#d5e0ec;
}

.evrd-ach-catalog-body{
  min-width:0;
  flex:1 1 auto;
}

.evrd-ach-catalog-body h4{
  margin:0 0 4px;
  font-size:14px;
  line-height:1.25;
  font-weight:900;
  color:#10233d;
}

.evrd-ach-catalog-body p{
  margin:0 0 10px;
  font-size:12px;
  line-height:1.5;
  color:#708099;
}

.evrd-ach-catalog-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:10px;
}

.evrd-ach-catalog-rarity,
.evrd-ach-catalog-state{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 10px;
  border-radius:999px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.evrd-ach-catalog-rarity{
  background:#f0f4fa;
  color:#708099;
}

.evrd-ach-catalog-state.is-unlocked{
  background:#eaf8ee;
  border:1px solid #caeed4;
  color:#1f9f50;
}

.evrd-ach-catalog-state.is-locked{
  background:#edf2f8;
  border:1px solid #d8e2ef;
  color:#62738d;
}

.evrd-ach-catalog-progress{
  width:100%;
  height:8px;
  border-radius:999px;
  background:#e8eef5;
  overflow:hidden;
}

.evrd-ach-catalog-progress span{
  display:block;
  height:100%;
  border-radius:inherit;
}

.evrd-ach-catalog-card.is-common .evrd-ach-catalog-progress span{ background:#d5aa1f; }
.evrd-ach-catalog-card.is-rare .evrd-ach-catalog-progress span{ background:#e43c3d; }
.evrd-ach-catalog-card.is-epic .evrd-ach-catalog-progress span{ background:#103f86; }

body.evrd-ach-modal-open{
  overflow:hidden;
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width: 1180px){
  .evrd-ach-recent-grid,
  .evrd-ach-unlocked-grid,
  .evrd-ach-next-grid,
  .evrd-ach-catalog-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 991px){
  .evrd-ach-page-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .evrd-ach-hero-top{
    flex-direction:column;
    align-items:flex-start;
  }

  .evrd-ach-hero-cta,
  .evrd-ach-hero-btn{
    width:auto;
  }

  .evrd-ach-stats-grid{
    grid-template-columns:repeat(4, minmax(0,1fr));
  }

  .evrd-ach-stat-card:nth-child(3){
    border-left:none;
    border-top:1px solid #e4ebf4;
  }

  .evrd-ach-stat-card:nth-child(4){
    border-top:1px solid #e4ebf4;
  }
}

.evrd-ach-hero-watermark{
    right: 2px;
    bottom: 6px;
}

.evrd-ach-hero-watermark svg{
    width: 250px !important;
    height: 250px !important;
}

@media (max-width: 767px){
  .evrd-ach-page-title{
    font-size:28px;
  }

  .evrd-ach-hero-card,
  .evrd-ach-stats-shell{
    border-radius:18px;
  }

  .evrd-ach-hero-card{
    padding:18px;
  }

  .evrd-ach-hero-title{
    font-size:18px;
  }

  .evrd-ach-hero-meta strong{
    font-size:24px;
  }

  .evrd-ach-stats-grid{
    grid-template-columns:1fr;
  }

  .evrd-ach-stat-card + .evrd-ach-stat-card{
    border-left:none;
    border-top:1px solid #e4ebf4;
  }

  .evrd-ach-recent-grid,
  .evrd-ach-unlocked-grid,
  .evrd-ach-next-grid,
  .evrd-ach-catalog-grid{
    grid-template-columns:1fr;
  }

  .evrd-ach-unlocked-card,
  .evrd-ach-catalog-card{
    padding:16px;
  }

  .evrd-ach-next-card{
    min-height:auto;
  }

  .evrd-ach-modal-dialog{
    width:min(100vw - 16px, 1000px);
    max-height:calc(100vh - 16px);
    margin:8px auto;
    border-radius:18px;
  }

  .evrd-ach-modal-head,
  .evrd-ach-modal-body{
    padding:16px;
  }
}


/* =========================================
   STUDENT PANEL - ACHIEVEMENTS DARK MODE
========================================= */

body.evrd-sp-dark .evrd-ach-page-title,
body.evrd-sp-dark .evrd-ach-block-head h3,
body.evrd-sp-dark .evrd-ach-hero-title,
body.evrd-sp-dark .evrd-ach-unlocked-body h4,
body.evrd-sp-dark .evrd-ach-next-title,
body.evrd-sp-dark .evrd-ach-catalog-body h4,
body.evrd-sp-dark .evrd-ach-stat-value,
body.evrd-sp-dark .evrd-ach-hero-meta strong,
body.evrd-sp-dark .evrd-ach-modal-head h3{
  color:#f3f7ff;
}

body.evrd-sp-dark .evrd-ach-page-copy,
body.evrd-sp-dark .evrd-ach-hero-meta span,
body.evrd-sp-dark .evrd-ach-unlocked-body p,
body.evrd-sp-dark .evrd-ach-next-copy,
body.evrd-sp-dark .evrd-ach-catalog-body p,
body.evrd-sp-dark .evrd-ach-empty p,
body.evrd-sp-dark .evrd-ach-modal-head p{
  color:#9fb0c8;
}

body.evrd-sp-dark .evrd-ach-kicker,
body.evrd-sp-dark .evrd-ach-stat-label{
  color:#7f93b2;
}

/* =========================
   GENERIC BLOCKS
========================= */

body.evrd-sp-dark .evrd-ach-stats-shell,
body.evrd-sp-dark .evrd-ach-hero-card,
body.evrd-sp-dark .evrd-ach-unlocked-card,
body.evrd-sp-dark .evrd-ach-next-card,
body.evrd-sp-dark .evrd-ach-catalog-card,
body.evrd-sp-dark .evrd-ach-modal-dialog{
  background:#111b2d;
  border-color:#24324a;
  box-shadow:0 16px 30px rgba(0,0,0,.28);
}

body.evrd-sp-dark .evrd-ach-counter{
  background:#18253a;
  color:#9fb0c8;
}

body.evrd-sp-dark .evrd-ach-counter-btn{
  border-color:#2a3953;
}

body.evrd-sp-dark .evrd-ach-counter-btn:hover{
  background:#1c2a41;
  border-color:#365078;
  color:#f3f7ff;
}

/* =========================
   PAGE PILL / HERO CHIP
========================= */

body.evrd-sp-dark .evrd-ach-page-pill,
body.evrd-sp-dark .evrd-ach-hero-chip{
  background:rgba(212,169,31,.12);
  border-color:rgba(234,211,154,.35);
  color:#f3c654;
}

body.evrd-sp-dark .evrd-ach-hero-icon{
  background:rgba(212,169,31,.1);
  border-color:rgba(234,211,154,.28);
  color:#f3c654;
}

body.evrd-sp-dark .evrd-ach-hero-watermark{
  color:rgba(255,255,255,.04);
}

/* =========================
   HERO
========================= */

body.evrd-sp-dark .evrd-ach-progress-bar,
body.evrd-sp-dark .evrd-ach-next-progress,
body.evrd-sp-dark .evrd-ach-catalog-progress{
  background:#1c2940;
}

body.evrd-sp-dark .evrd-ach-progress-bar span{
  background:linear-gradient(90deg,#d6a100 0%,#f5c400 58%,#ff8b1f 100%);
}

body.evrd-sp-dark .evrd-ach-hero-btn{
  background:#1d5ec0;
  box-shadow:0 14px 24px rgba(13,61,132,.28);
}

body.evrd-sp-dark .evrd-ach-hero-btn:hover:not(:disabled){
  background:#256ad4;
}

body.evrd-sp-dark .evrd-ach-hero-btn:disabled{
  background:#24324a;
  color:#8b9ab2;
}

/* =========================
   STATS
========================= */

body.evrd-sp-dark .evrd-ach-stat-card{
  background:transparent;
}
body.evrd-sp-dark .evrd-ach-stat-card:hover{
    background:#22314d;
}

body.evrd-sp-dark .evrd-ach-stat-card + .evrd-ach-stat-card{
  border-left-color:#24324a;
}

body.evrd-sp-dark .evrd-ach-stat-card:nth-child(3){
  border-top-color:#24324a;
}

body.evrd-sp-dark .evrd-ach-stat-card:nth-child(4){
  border-top-color:#24324a;
}

/* =========================
   RECENT
========================= */

body.evrd-sp-dark .evrd-ach-recent-card{
  background:#162236;
  border-color:#223149;
}

body.evrd-sp-dark .evrd-ach-recent-card:hover{
  background:#1b2a42;
  border-color:#314766;
  box-shadow:0 12px 20px rgba(0,0,0,.22);
}

body.evrd-sp-dark .evrd-ach-recent-card h4{
  color:#c9d6ea;
}

/* =========================
   UNLOCKED
========================= */

body.evrd-sp-dark .evrd-ach-unlocked-icon,
body.evrd-sp-dark .evrd-ach-catalog-icon,
body.evrd-sp-dark .evrd-ach-next-icon{
  background:#162236;
  border-color:#223149;
}

body.evrd-sp-dark .evrd-ach-unlocked-badge{
  background:rgba(34,182,91,.12);
  border-color:rgba(34,182,91,.24);
  color:#62d889;
}

body.evrd-sp-dark .evrd-ach-unlocked-card.is-common{
  border-color:#244d36;
}

body.evrd-sp-dark .evrd-ach-unlocked-card.is-rare{
  border-color:#29476b;
}

body.evrd-sp-dark .evrd-ach-unlocked-card.is-epic{
  border-color:#5a4720;
}

body.evrd-sp-dark .evrd-ach-unlocked-card:hover{
  box-shadow:0 14px 24px rgba(0,0,0,.22);

}


/* =========================
   NEXT
========================= */

body.evrd-sp-dark .evrd-ach-next-card.is-common{
  border-color:#32492e;
}

body.evrd-sp-dark .evrd-ach-next-card.is-rare{
  border-color:#3f3142;
}

body.evrd-sp-dark .evrd-ach-next-card.is-epic{
  border-color:#2c4169;
}

body.evrd-sp-dark .evrd-ach-next-score strong{
  color:#f3f7ff;
}

body.evrd-sp-dark .evrd-ach-next-score span{
  color:#5f7291;
}

body.evrd-sp-dark .evrd-ach-next-card.is-common .evrd-ach-next-progress span{
  background:#d4a91f;
}

body.evrd-sp-dark .evrd-ach-next-card.is-rare .evrd-ach-next-progress span{
  background:#ef4444;
}

body.evrd-sp-dark .evrd-ach-next-card.is-epic .evrd-ach-next-progress span{
  background:#3d7ef0;
}

body.evrd-sp-dark .evrd-ach-next-card.is-common .evrd-ach-next-percent{
  background:rgba(212,169,31,.12);
  color:#f3c654;
}

body.evrd-sp-dark .evrd-ach-next-card.is-rare .evrd-ach-next-percent{
  background:rgba(239,68,68,.12);
  color:#ff8a8a;
}

body.evrd-sp-dark .evrd-ach-next-card.is-epic .evrd-ach-next-percent{
  background:rgba(61,126,240,.12);
  color:#83b4ff;
}



/* =========================
   EMPTY
========================= */

body.evrd-sp-dark .evrd-ach-empty{
  background:#131f31;
  border-color:#24324a;
}

body.evrd-sp-dark .evrd-ach-empty svg{
  color:#8fa1bb;
}

/* =========================
   MODAL
========================= */

body.evrd-sp-dark .evrd-ach-modal-backdrop{
  background:rgba(3,8,18,.72);
}



body.evrd-sp-dark .evrd-ach-modal-head{
  border-bottom-color:#24324a;
}

body.evrd-sp-dark .evrd-ach-modal-close-btn{
  background:#162236;
  border-color:#24324a;
  color:#93a5bf;
}

body.evrd-sp-dark .evrd-ach-modal-close-btn:hover{
  background:#1b2a42;
  border-color:#355078;
  color:#f3f7ff;
}

body.evrd-sp-dark .evrd-ach-catalog-card.is-locked{
  background:#162236;
  opacity:.72;
}

body.evrd-sp-dark .evrd-ach-catalog-card.is-locked:hover{
  background:#1c2a41;
}

body.evrd-sp-dark .evrd-ach-catalog-rarity{
  background:#1b2a42;
  color:#9fb0c8;
}

body.evrd-sp-dark .evrd-ach-catalog-state.is-unlocked{
  background:rgba(34,182,91,.12);
  border-color:rgba(34,182,91,.24);
  color:#62d889;
}

body.evrd-sp-dark .evrd-ach-catalog-state.is-locked{
  background:#1b2a42;
  border-color:#2a3953;
  color:#9fb0c8;
}

/* =========================
   ICON COLORS KEEP VISIBLE
========================= */

body.evrd-sp-dark .evrd-ach-stat-card:nth-child(1) .evrd-ach-stat-icon{
  color:#5b8fe6;
}

body.evrd-sp-dark .evrd-ach-stat-card:nth-child(2) .evrd-ach-stat-icon{
  color:#ff6b6b;
}

body.evrd-sp-dark .evrd-ach-stat-card:nth-child(3) .evrd-ach-stat-icon{
  color:#f3c654;
}

body.evrd-sp-dark .evrd-ach-stat-card:nth-child(4) .evrd-ach-stat-icon{
  color:#62d889;
}

body.evrd-sp-dark .evrd-ach-next-card.badge-green .evrd-ach-next-icon{
  color:#62d889;
}

body.evrd-sp-dark .evrd-ach-next-card.badge-blue .evrd-ach-next-icon{
  color:#7fb0ff;
}

body.evrd-sp-dark .evrd-ach-next-card.badge-gold .evrd-ach-next-icon{
  color:#f3c654;
}

body.evrd-sp-dark .evrd-ach-next-card.badge-red .evrd-ach-next-icon{
  color:#ff7d7d;
}

body.evrd-sp-dark .evrd-ach-unlocked-card.is-common .evrd-ach-unlocked-icon{
  color:#62d889;
}

body.evrd-sp-dark .evrd-ach-unlocked-card.is-rare .evrd-ach-unlocked-icon{
  color:#83b4ff;
}

body.evrd-sp-dark .evrd-ach-unlocked-card.is-epic .evrd-ach-unlocked-icon{
  color:#f3c654;
}

body.evrd-sp-dark .evrd-ach-catalog-card.is-common .evrd-ach-catalog-icon{
  color:#62d889;
}

body.evrd-sp-dark .evrd-ach-catalog-card.is-rare .evrd-ach-catalog-icon{
  color:#83b4ff;
}

body.evrd-sp-dark .evrd-ach-catalog-card.is-epic .evrd-ach-catalog-icon{
  color:#f3c654;
}

/* =========================================
   DARK - ICON HOVER FIX
========================================= */

body.evrd-sp-dark .evrd-ach-unlocked-icon{
  background:#162236;
  border-color:#223149;
  box-shadow:none;
}

body.evrd-sp-dark .evrd-ach-unlocked-card:hover .evrd-ach-unlocked-icon{
  background:#1b2a42;
  border-color:#314766;
  box-shadow:0 10px 18px rgba(0,0,0,.22);
  transform:translateY(-3px) scale(1.06);
}

body.evrd-sp-dark .evrd-ach-unlocked-card:hover .evrd-ach-unlocked-icon svg{
  transform:scale(1.08);
}

/* Modal catálogo */
body.evrd-sp-dark .evrd-ach-catalog-icon{
  background:#162236;
  border-color:#223149;
  box-shadow:none;
}

body.evrd-sp-dark .evrd-ach-catalog-card:hover .evrd-ach-catalog-icon{
  background:#1b2a42;
  border-color:#314766;
  box-shadow:0 10px 18px rgba(0,0,0,.22);
  transform:translateY(-2px) scale(1.05);
}

body.evrd-sp-dark .evrd-ach-catalog-card:hover .evrd-ach-catalog-icon svg{
  transform:scale(1.08);
}

/* Si el bloqueado revive en hover, que no se ponga blanco */
body.evrd-sp-dark .evrd-ach-catalog-card.is-locked:hover .evrd-ach-catalog-icon{
  background:#21314b;
  border-color:#355078;
  box-shadow:0 10px 18px rgba(0,0,0,.24);
}