/* VƯỜN NGOẠI NGỮ v6.15.216 — Vườn League Prestige */
.vnn-legacy-league-hidden{display:none!important}
.vnn-prestige-league{
  grid-column:1/-1;
  overflow:hidden;
  border:1px solid #d9e6e1!important;
  background:
    radial-gradient(circle at 92% 2%,rgba(203,157,46,.10),transparent 24%),
    linear-gradient(160deg,#fff,#fbfdfc)!important;
}
.vnn-prestige-head{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  margin-bottom:13px;
}
.vnn-prestige-head h3{margin:5px 0 3px;font-size:1.2rem;color:#244d45}
.vnn-prestige-head p{margin:0;color:#6c7d78;line-height:1.45}
.vnn-prestige-tabs{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.vnn-prestige-tabs button{
  min-height:38px;
  padding:0 11px;
  border:1px solid #dbe7e3;
  border-radius:999px;
  background:#fff;
  color:#5f746e;
  font-weight:800;
  font-size:.72rem;
}
.vnn-prestige-tabs button.active{
  background:#1a766a;
  border-color:#1a766a;
  color:#fff;
  box-shadow:0 7px 16px rgba(26,118,106,.15);
}
.vnn-prestige-program{
  display:flex;
  gap:11px;
  align-items:flex-start;
  padding:12px 13px;
  margin-bottom:14px;
  border:1px solid #e5e5d5;
  border-radius:14px;
  background:#fffdf6;
}
.vnn-program-icon{font-size:1.4rem}
.vnn-prestige-program strong,.vnn-prestige-program span{display:block}
.vnn-prestige-program strong{color:#66511e}
.vnn-prestige-program span{margin-top:2px;color:#786f58;font-size:.75rem;line-height:1.45}
.vnn-prestige-podium-wrap{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  align-items:end;
}
.vnn-prestige-podium{
  position:relative;
  display:grid;
  justify-items:center;
  gap:6px;
  min-width:0;
  padding:17px 11px 13px;
  border:1px solid #e2e8e5;
  border-radius:17px;
  background:#fff;
  text-align:center;
}
.vnn-prestige-podium.rank-1{
  order:2;
  padding-top:21px;
  border-color:#e7d59d;
  background:linear-gradient(180deg,#fffdf4,#fff);
  box-shadow:0 11px 26px rgba(139,105,24,.09);
}
.vnn-prestige-podium.rank-2{order:1}
.vnn-prestige-podium.rank-3{order:3}
.vnn-prestige-podium.is-me{box-shadow:0 0 0 2px rgba(24,129,114,.14),0 10px 24px rgba(25,61,54,.07)}
.vnn-prestige-crown{font-size:1.65rem;line-height:1}
.vnn-prestige-badge{
  display:inline-flex;
  padding:4px 7px;
  border-radius:999px;
  background:#f2f6f4;
  color:#61736d;
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.06em;
}
.vnn-prestige-podium.rank-1 .vnn-prestige-badge{background:#fff2bd;color:#7b5c0c}
.vnn-prestige-avatar{display:grid;place-items:center;overflow:hidden;border-radius:50%;background:#eaf4f1;color:#176d61;font-weight:900;border:2px solid #fff;box-shadow:0 0 0 1px #d9e5e1}
.vnn-prestige-avatar img{width:100%;height:100%;object-fit:cover}
.vnn-prestige-avatar.large{width:58px;height:58px;font-size:.92rem}
.vnn-prestige-avatar.small{width:35px;height:35px;font-size:.66rem}
.vnn-prestige-podium>strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#254e46}
.vnn-prestige-podium>em{font-style:normal;color:#75837f;font-size:.68rem}
.vnn-prestige-podium>b{font-size:1.12rem;color:#1d6f63}
.vnn-prestige-podium>b small{display:block;font-size:.58rem;color:#7b8b86;font-weight:700}
.vnn-prestige-stats{display:flex;gap:5px;justify-content:center;flex-wrap:wrap}
.vnn-prestige-stats span{font-size:.65rem;color:#6a7b76}
.vnn-prestige-reward{
  margin-top:2px;
  min-height:31px;
  padding:6px 7px;
  border-radius:9px;
  background:#f8faf9;
  color:#6b7b76;
  font-size:.62rem;
  line-height:1.35;
}
.vnn-prestige-list{display:grid;gap:7px;margin-top:12px}
.vnn-prestige-row{
  display:grid;
  grid-template-columns:42px 36px minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  padding:9px 10px;
  border:1px solid #e4ece9;
  border-radius:12px;
  background:#fff;
}
.vnn-prestige-row.is-me{background:#f1faf7;border-color:#cfe5de}
.vnn-prestige-no{color:#6c7d78}
.vnn-prestige-name{min-width:0}
.vnn-prestige-name b,.vnn-prestige-name small{display:block}
.vnn-prestige-name b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#34564f}
.vnn-prestige-name small{margin-top:2px;color:#7a8884;font-size:.66rem}
.vnn-prestige-score{text-align:right}
.vnn-prestige-score strong,.vnn-prestige-score small{display:block}
.vnn-prestige-score strong{color:#1d7165}
.vnn-prestige-score small{font-size:.6rem;color:#84908c}
.vnn-prestige-my-rank{
  margin-top:10px;
  padding:9px 11px;
  border-radius:11px;
  background:#eef8f5;
  color:#4e6962;
  font-size:.72rem;
}
.vnn-prestige-rules{margin-top:12px;border-top:1px solid #e4ece9;padding-top:10px}
.vnn-prestige-rules summary{cursor:pointer;color:#45665e;font-weight:800;font-size:.72rem}
.vnn-prestige-rules p{margin:8px 0 0;color:#6d7d78;font-size:.7rem;line-height:1.55}
.vnn-hall-empty{
  display:grid;justify-items:center;gap:5px;padding:25px 15px;text-align:center;border:1px dashed #dce7e3;border-radius:15px;background:#fbfdfc
}
.vnn-hall-empty>span{font-size:2rem}.vnn-hall-empty strong{color:#405f58}.vnn-hall-empty small{color:#7a8985}
.vnn-hall-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.vnn-hall-month{border:1px solid #e3e9e6;border-radius:15px;background:#fff;overflow:hidden}
.vnn-hall-month>header{display:flex;gap:8px;align-items:center;padding:11px 12px;background:#faf8f0;border-bottom:1px solid #ece7d7}
.vnn-hall-month>header>span{font-size:1.25rem}.vnn-hall-month>header strong,.vnn-hall-month>header small{display:block}.vnn-hall-month>header small{color:#827c6c;font-size:.65rem}
.vnn-hall-row{display:grid;grid-template-columns:32px 36px minmax(0,1fr) auto;gap:7px;align-items:center;padding:9px 10px;border-bottom:1px solid #edf1ef}
.vnn-hall-row:last-child{border-bottom:0}.vnn-hall-row.is-me{background:#f1faf7}.vnn-hall-row>div strong,.vnn-hall-row>div small{display:block}.vnn-hall-row>div strong{font-size:.76rem;color:#3d5e57}.vnn-hall-row>div small{font-size:.61rem;color:#7d8986}.vnn-hall-row>b{font-size:.68rem;color:#806219}

/* teacher */
.vnn-league-setting-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:15px}
.vnn-league-setting-grid label{display:grid;gap:6px;padding:11px;border:1px solid #e0e9e6;border-radius:13px;background:#fbfdfc}
.vnn-league-setting-grid label>span{font-size:.67rem;font-weight:800;color:#61736e}
.vnn-league-setting-grid label>div{display:flex;align-items:center;gap:6px}
.vnn-league-setting-grid input{width:100%;min-width:0}
.vnn-league-setting-grid b{white-space:nowrap;font-size:.65rem;color:#7a8884}
.vnn-teacher-league-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}
.vnn-teacher-league-actions button{min-height:40px;padding:0 12px;border:1px solid #dbe7e3;border-radius:10px;background:#fff}
.vnn-teacher-league-actions button.primary{background:#17776b;color:#fff;border-color:#17776b}
.vnn-league-admin-note{margin-top:11px;padding:10px 11px;border-radius:11px;background:#fff9e9;color:#72633d;font-size:.7rem;line-height:1.45}
.vnn-teacher-hall-list{display:grid;gap:7px}
.vnn-teacher-hall-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px;border:1px solid #e2ebe7;border-radius:12px}
.vnn-teacher-hall-row>div strong,.vnn-teacher-hall-row>div small{display:block}.vnn-teacher-hall-row>div small{margin-top:2px;color:#76857f;font-size:.67rem}.vnn-teacher-hall-row>b{color:#806219;font-size:.72rem}

@media(max-width:900px){
  .vnn-prestige-head{flex-direction:column}
  .vnn-prestige-tabs{justify-content:flex-start}
  .vnn-league-setting-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  .vnn-prestige-podium-wrap{grid-template-columns:1fr}
  .vnn-prestige-podium.rank-1,.vnn-prestige-podium.rank-2,.vnn-prestige-podium.rank-3{order:initial}
  .vnn-prestige-podium.rank-1{order:-1}
  .vnn-prestige-row{grid-template-columns:34px 36px minmax(0,1fr) auto}
  .vnn-hall-grid{grid-template-columns:1fr}
  .vnn-league-setting-grid{grid-template-columns:1fr}
}

.vnn-hall-achievement{
  display:flex;
  gap:9px;
  align-items:center;
  padding:10px 11px;
  border:1px solid #eadcae;
  border-radius:13px;
  background:linear-gradient(180deg,#fffdf5,#fff);
}
.vnn-hall-achievement>span{font-size:1.35rem}
.vnn-hall-achievement strong,.vnn-hall-achievement small{display:block}
.vnn-hall-achievement strong{color:#6f571d;font-size:.75rem}
.vnn-hall-achievement small{margin-top:2px;color:#817861;font-size:.63rem}

.vnn-prestige-milestones{
  margin-top:14px;
  padding:13px;
  border:1px solid #e3e9e6;
  border-radius:15px;
  background:#fbfdfc;
}
.vnn-milestone-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:10px;
}
.vnn-milestone-head>div:first-child span,
.vnn-milestone-head>div:first-child strong,
.vnn-milestone-head>div:first-child small{display:block}
.vnn-milestone-head>div:first-child span{
  color:#8a6b20;
  font-size:.6rem;
  font-weight:900;
  letter-spacing:.08em;
}
.vnn-milestone-head>div:first-child strong{
  margin-top:3px;
  color:#415f58;
  font-size:.85rem;
}
.vnn-milestone-head>div:first-child small{
  margin-top:2px;
  color:#778681;
  font-size:.66rem;
}
.vnn-milestone-total{
  min-width:94px;
  padding:8px 10px;
  border-radius:11px;
  background:#fff;
  border:1px solid #e1e8e5;
  text-align:right;
}
.vnn-milestone-total b,.vnn-milestone-total span{display:block}
.vnn-milestone-total b{color:#1e7468;font-size:1rem}
.vnn-milestone-total span{color:#7b8984;font-size:.58rem}
.vnn-milestone-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.vnn-milestone-card{
  display:grid;
  justify-items:start;
  gap:4px;
  padding:10px;
  border:1px solid #e4ebe8;
  border-radius:12px;
  background:#fff;
}
.vnn-milestone-card>span:first-child{font-size:1.05rem}
.vnn-milestone-card>strong{color:#4b625c;font-size:.76rem}
.vnn-milestone-card>small{color:#8a7a50;font-size:.62rem}
.vnn-milestone-card.is-reached{border-color:#d7dfb5;background:#fffdf5}
.vnn-milestone-card.is-claimed{border-color:#cce2da;background:#f4fbf8}
.vnn-milestone-card button{
  margin-top:3px;
  padding:7px 8px;
  border:0;
  border-radius:9px;
  background:#17786c;
  color:#fff;
  font-size:.65rem;
  font-weight:800;
}
.vnn-milestone-state{
  margin-top:3px;
  display:inline-flex;
  padding:5px 7px;
  border-radius:999px;
  font-size:.6rem;
  font-weight:800;
}
.vnn-milestone-state.claimed{background:#e7f7f0;color:#17705f}
.vnn-milestone-state.locked{background:#fff2dc;color:#8b6418}
.vnn-milestone-state.pending{background:#f1f4f3;color:#788681}
@media(max-width:650px){
  .vnn-milestone-head{flex-direction:column}
  .vnn-milestone-total{text-align:left}
  .vnn-milestone-grid{grid-template-columns:1fr}
}
