/* Academia Vicenta V4: misiones, niveles e insignias */
.av-learning-panel { display: grid; grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr); gap: 16px; margin-top: 25px; }
.av-level, .av-review-hub, .av-badges { background: #fff; border: 1px solid #e7e1f2; border-radius: 22px; box-shadow: 0 5px 22px #2e1b5010; }
.av-level, .av-review-hub { padding: clamp(16px, 2.4vw, 25px); }
.av-level { display:flex; flex-direction: column; gap: 18px; justify-content: space-between; background: linear-gradient(150deg,#f7f2ff,#fff 72%); }
.av-level-title { display:flex; align-items:center; gap: 12px; }
.av-level-symbol { flex: none; display:grid; place-items:center; background: #ebe0ff; color:#5933b2; border-radius: 16px; width: 48px; height: 48px; }
.av-level-title h2, .av-panel-heading h2 { font-size:clamp(19px,2.3vw,25px); line-height:1.12; letter-spacing:-.04em; margin-top: 3px; }
.av-level-amount { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:8px; }
.av-level-amount strong { font-size:20px; color:#482a9e; }
.av-level-amount span { font-size:12px; color:var(--muted); }
.av-level .track { height:12px; width:100%; }
.av-panel-heading { display:flex; justify-content:space-between; gap:12px; align-items:start; margin-bottom:13px; }
.av-panel-heading > span { color:#5c4892; font-size:12px; font-weight:780; white-space:nowrap; }
.av-review-hub > p { font-size:13px; line-height:1.55; color:var(--muted); margin-bottom:15px; }
.av-review-hub .av-review-empty { background:#f5f2fc; border-radius:12px; padding:12px; margin:0; }
.av-review-list { display:grid; gap:9px; }
.av-review-row { display:flex; min-width:0; align-items:center; gap:11px; border:1px solid #ece6f7; border-radius:13px; padding:10px; }
.av-review-icon { border-radius:10px; flex:none; width:39px; height:39px; display:grid; place-items:center; background:#f5f1fd; }
.av-review-copy { flex:1; min-width:0; }
.av-review-copy strong { display:block; font-size:13px; line-height:1.25; overflow-wrap:anywhere; }
.av-review-copy small { display:block; font-size:11px; margin-top:4px; color:#665d7b; }
.av-review-button { flex:none; min-height:36px; border-radius:9px; padding:0 10px; color:#fff; background:#6140c1; font-size:12px; }
.av-review-button:hover { background:#4c2e9e; }
.av-badges { padding: clamp(16px, 2.4vw, 25px); margin-top:16px; }
.av-badge-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:11px; }
.av-badge { display:flex; flex-direction:column; min-width:0; align-items:center; text-align:center; gap:6px; padding:15px 9px; border-radius:14px; border:1px solid #ebe6f4; background:#fcfaff; }
.av-badge-earned { border-color:#d9c8fb; background:linear-gradient(145deg,#faf7ff,#fff); }
.av-badge-locked { opacity:.67; background:#f7f6fa; }
.av-badge-emoji { display:grid; place-items:center; width:48px; height:48px; border-radius:14px; background:#eee6ff; font-size:26px; }
.av-badge-locked .av-badge-emoji { background:#ebeaf0; }
.av-badge strong { font-size:13px; }
.av-badge small { font-size:11px; line-height:1.3; color:#675c78; }
.av-badge-status { margin-top:auto; padding-top:3px; font-size:10px; font-weight:790; color:#5936af; }
.av-badge-locked .av-badge-status { color:#686476; }
.av-result-badges { background:#f4efff; border:1px solid #dcd0fa; border-radius:15px; padding:14px; margin: 13px 0; }
.av-result-badges > strong { display:block; text-align:center; margin-bottom:7px; }
.av-result-badges > div { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }
.av-result-badges span { color:#5630a0; border-radius:999px; background:white; padding:7px 10px; font-weight:750; font-size:12px; }
.av-pending-tag { color:#8c4b25; font-weight:740; }
.av-term-note { margin:8px 0 14px; padding:11px 14px; background:#fcf8ec; border:1px solid #f3e5b6; color:#63562a; border-radius:13px; font-size:12px; line-height:1.5; }
@media(max-width:1080px) { .av-learning-panel { grid-template-columns:1fr; } .av-level { min-height:180px; } }
@media(max-width:700px) { .av-badge-grid {grid-template-columns:repeat(2,minmax(0,1fr));} .av-review-button { min-height:39px;} .av-review-row { flex-wrap:wrap; } }
@media(max-width:355px) { .av-review-button { width:100%; } .av-badge-grid {gap:6px;} .av-badge {padding:11px 6px;} .av-panel-heading {flex-wrap:wrap;} }
