.exam-center-view{display:block}
.exam-center-view.hidden{display:none}
.exam-hero{position:relative;overflow:hidden;border-radius:2rem;padding:2rem;color:#fff;background:var(--bf-brand-hero,linear-gradient(135deg,#1e3a8a 0%,#2563eb 100%));box-shadow:0 20px 45px -24px rgba(37,99,235,.6)}
.exam-hero:before{content:"";position:absolute;inset:-80px -40px auto auto;width:260px;height:260px;border-radius:999px;background:rgba(255,255,255,.12)}
.exam-hero:after{content:"";position:absolute;left:-60px;bottom:-120px;width:240px;height:240px;border-radius:999px;background:rgba(251,191,36,.16)}
.exam-hero>*{position:relative;z-index:1}
.exam-summary-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .75rem;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.12);font-size:.72rem;font-weight:800;backdrop-filter:blur(8px)}
.exam-package-cta{display:inline-flex;align-items:center;gap:.55rem;margin-top:1.1rem;padding:.75rem 1rem;border:1px solid rgba(255,255,255,.38);border-radius:.9rem;background:#fff;color:#b91c1c;font-size:.78rem;font-weight:900;box-shadow:0 10px 25px -18px #0f172a;transition:transform .2s,box-shadow .2s}
.exam-package-cta:hover{transform:translateY(-1px);box-shadow:0 16px 28px -18px #0f172a}
.exam-search{display:flex;align-items:center;gap:.75rem;margin-top:1rem;padding:.35rem .45rem .35rem 1rem;border:1px solid #e2e8f0;border-radius:1rem;background:#fff;box-shadow:0 8px 25px -20px #0f172a}
.exam-search input{min-width:0;flex:1;padding:.65rem 0;border:0;outline:0;background:transparent;color:#0f172a;font-weight:700}
.exam-region-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}
.exam-region-card{overflow:hidden;border:1px solid #e2e8f0;border-radius:1.5rem;background:#fff;box-shadow:0 8px 24px -22px #0f172a;transition:border-color .2s,box-shadow .2s}
.exam-region-card[open]{grid-column:1/-1;border-color:#fecaca;box-shadow:0 18px 38px -30px rgba(220,38,38,.6)}
.exam-region-card>summary{display:flex;align-items:center;gap:1rem;padding:1rem;cursor:pointer;list-style:none;user-select:none}
.exam-region-card>summary::-webkit-details-marker{display:none}
.exam-region-card>summary:hover{background:#fff7ed}
.exam-flag-wrap{position:relative;width:72px;height:48px;flex:0 0 auto;overflow:hidden;border:1px solid #e2e8f0;border-radius:.75rem;background:linear-gradient(135deg,#f8fafc,#e2e8f0);box-shadow:0 4px 12px -9px #0f172a}
.exam-flag-wrap img{width:100%;height:100%;object-fit:cover}
.exam-flag-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:900;color:#94a3b8;letter-spacing:.08em}
.exam-region-meta{min-width:0;flex:1}
.exam-region-title{font-size:1rem;font-weight:900;color:#0f172a;line-height:1.15}
.exam-region-count{margin-top:.25rem;font-size:.72rem;font-weight:700;color:#94a3b8}
.exam-region-chevron{width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:.7rem;background:#f8fafc;color:#64748b;transition:transform .2s}
.exam-region-card[open] .exam-region-chevron{transform:rotate(180deg);background:#dbeafe;color:#1d4ed8}
.exam-province-list{padding:0 1rem 1rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.exam-province-card{min-width:0;border:1px solid #e2e8f0;border-radius:1rem;background:#f8fafc;padding:.85rem}
.exam-province-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.exam-province-name{font-size:.85rem;font-weight:900;color:#334155}
.exam-add-btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:.35rem;border-radius:.7rem;padding:.45rem .65rem;background:#fff;border:1px solid #bfdbfe;color:#1d4ed8;font-size:.7rem;font-weight:900;transition:background .2s,color .2s}
.exam-add-btn:hover{background:#1d4ed8;color:#fff}
.exam-items{display:grid;gap:.5rem;margin-top:.7rem}
.exam-item{display:flex;align-items:center;gap:.65rem;padding:.7rem;border:1px solid #e2e8f0;border-radius:.8rem;background:#fff}
.exam-item-main{min-width:0;flex:1}
.exam-item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:900;color:#0f172a}
.exam-item-meta{margin-top:.15rem;font-size:.66rem;font-weight:700;color:#94a3b8}
.exam-item-actions{display:flex;gap:.35rem;flex:0 0 auto}
.exam-justify-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:2rem;padding:.4rem .65rem;border:1px solid #bfdbfe;border-radius:.65rem;background:#eff6ff;color:#1d4ed8;font-size:.68rem;font-weight:800;white-space:nowrap}
.exam-justify-btn:hover{border-color:#60a5fa;background:#dbeafe}
.exam-justify-btn:disabled{cursor:not-allowed;opacity:.4}
.exam-justify-btn:focus-visible{outline:3px solid rgba(37,99,235,.35);outline-offset:2px}
.exam-region-justifier{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 1rem .85rem;padding:.8rem .9rem;border:1px solid #bfdbfe;border-radius:.9rem;background:#f8fbff}
.exam-region-justifier>div{display:grid;gap:.2rem;min-width:0}.exam-region-justifier strong{font-size:.75rem;color:#1e3a8a}.exam-region-justifier span{font-size:.67rem;color:#64748b}
.exam-region-justify-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;flex:0 0 auto;min-height:2.5rem;padding:.55rem .8rem;border:1px solid #2563eb;border-radius:.7rem;background:#2563eb;color:#fff;font-size:.7rem;font-weight:900;text-align:center}
.exam-region-justify-btn:hover{background:#1d4ed8}.exam-region-justify-btn:focus-visible{outline:3px solid rgba(37,99,235,.35);outline-offset:2px}
.exam-justification-state{display:inline-flex;align-items:center;padding:.22rem .45rem;border-radius:999px;font-size:.55rem;line-height:1;font-weight:900;white-space:nowrap}
.exam-justification-state.is-pending{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.exam-justification-state.is-justified{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}
.exam-justifier-hint{display:flex;align-items:flex-start;gap:.45rem;margin-top:.65rem;color:#475569;font-size:.75rem;line-height:1.4}
.exam-justifier-hint svg{flex:0 0 auto;color:#2563eb}
.exam-icon-btn{display:flex;width:2rem;height:2rem;align-items:center;justify-content:center;border-radius:.65rem;border:1px solid #e2e8f0;background:#fff;color:#64748b}
.exam-icon-btn:hover{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}
.exam-icon-btn:disabled{cursor:not-allowed;opacity:.35}
.exam-delete-btn{border-color:#fecdd3;color:#be123c}
.exam-delete-btn:hover{border-color:#e11d48;background:#fff1f2;color:#9f1239}
.exam-delete-btn:focus-visible{outline:3px solid rgba(225,29,72,.35);outline-offset:2px}
.exam-empty-province{margin-top:.55rem;font-size:.7rem;font-weight:600;color:#94a3b8}
.exam-no-results{grid-column:1/-1;padding:3rem 1.5rem;text-align:center;border:1px dashed #cbd5e1;border-radius:1.5rem;background:#fff;color:#64748b}
.exam-modal-location{padding:1rem;border:1px solid #bfdbfe;border-radius:1rem;background:linear-gradient(135deg,#eff6ff,#f8fafc)}
.exam-package-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}
.exam-package-stat{padding:.8rem;border:1px solid #e2e8f0;border-radius:.9rem;background:#f8fafc;text-align:center}
.exam-package-stat strong{display:block;font-size:1.35rem;line-height:1;color:#0f172a}.exam-package-stat span{display:block;margin-top:.35rem;font-size:.65rem;font-weight:800;color:#94a3b8;text-transform:uppercase;letter-spacing:.07em}
.exam-package-table{max-height:330px;overflow:auto;border:1px solid #e2e8f0;border-radius:1rem;background:#fff}
.exam-package-row{display:grid;grid-template-columns:minmax(0,1fr) 125px 64px;gap:.65rem;align-items:center;padding:.75rem .85rem;border-bottom:1px solid #f1f5f9}.exam-package-row:last-child{border-bottom:0}
.exam-package-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;font-weight:900;color:#334155}.exam-package-destination{font-size:.66rem;font-weight:800;color:#6366f1}.exam-package-count{text-align:right;font-size:.7rem;font-weight:900;color:#64748b}.exam-package-count span{display:block;margin-bottom:.15rem;color:#4f46e5;font-size:.6rem;text-transform:uppercase}
.exam-package-migration{padding:.8rem 1rem;border:1px solid #a7f3d0;border-radius:.9rem;background:#ecfdf5;color:#065f46;font-size:.72rem;font-weight:700;line-height:1.5}
.exam-package-warning{padding:.8rem 1rem;border:1px solid #fde68a;border-radius:.9rem;background:#fffbeb;color:#92400e;font-size:.7rem;font-weight:700;line-height:1.5}
.exam-package-progress{padding:1rem;border:1px solid #c7d2fe;border-radius:1rem;background:#eef2ff;color:#3730a3;font-size:.78rem;font-weight:800;text-align:center}
@media(max-width:900px){.exam-region-list,.exam-province-list{grid-template-columns:1fr}.exam-region-card[open]{grid-column:auto}.exam-package-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.exam-hero{padding:1.4rem}.exam-flag-wrap{width:58px;height:39px}.exam-region-card>summary{gap:.75rem;padding:.85rem}.exam-province-list{padding:0 .75rem .75rem}.exam-province-head{align-items:flex-start}.exam-add-btn span{display:none}.exam-item{align-items:flex-start}.exam-item-actions{flex-direction:column}.exam-package-row{grid-template-columns:minmax(0,1fr) 70px}.exam-package-destination{grid-column:1/2}.exam-package-count{grid-column:2;grid-row:1/3}.exam-package-summary{grid-template-columns:1fr}.exam-package-cta{width:100%;justify-content:center}}

/* === V3.9 · Centro de Exámenes PRO === */
.exam-hero-pro{background:var(--bf-brand-hero,linear-gradient(135deg,#1e3a8a 0%,#2563eb 100%));box-shadow:0 22px 42px -28px rgba(21,63,131,.6)}
.exam-hero-pro:before{background:rgba(255,255,255,.07)}
.exam-hero-pro:after{background:rgba(147,197,253,.13)}
.exam-hero-pro__eyebrow{display:inline-flex;align-items:center;min-height:26px;padding:.28rem .6rem;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.12);color:#eff6ff;font-size:.62rem;font-weight:900;letter-spacing:.15em}
.exam-hero-pro__intro{margin-top:.6rem;max-width:42rem;color:#eff6ff;font-size:.9rem;line-height:1.5}
.exam-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin-top:1.25rem;max-width:760px}
.exam-kpi{padding:.8rem .9rem;border:1px solid rgba(255,255,255,.2);border-radius:1rem;background:rgba(255,255,255,.11);backdrop-filter:blur(8px)}
.exam-kpi span{display:block;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#eff6ff}
.exam-kpi strong{display:block;margin-top:.2rem;font-size:1.3rem;line-height:1.1;color:#fff;font-weight:950}
.exam-explorer-panel{margin-top:1rem;padding:1rem;border:1px solid #e2e8f0;border-radius:1.5rem;background:#fff;box-shadow:0 14px 32px -28px #0f172a}
.exam-explorer-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.exam-explorer-eyebrow{font-size:.6rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:#1d4ed8}
.exam-explorer-heading h2{margin-top:.15rem;font-size:1.05rem;font-weight:950;color:#0f172a}
.exam-reset-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .7rem;border:1px solid #e2e8f0;border-radius:.75rem;background:#fff;color:#64748b;font-size:.68rem;font-weight:900}
.exam-reset-btn:hover{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}
.exam-search-pro{margin-top:.8rem;box-shadow:none;background:#f8fafc}
.exam-filter-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.65rem;margin-top:.75rem}
.exam-filter-grid label{min-width:0}
.exam-filter-grid label>span{display:block;margin:0 0 .3rem .15rem;font-size:.58rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:#94a3b8}
.exam-filter-grid select{width:100%;height:2.55rem;padding:0 .65rem;border:1px solid #e2e8f0;border-radius:.75rem;background:#fff;color:#334155;font-size:.7rem;font-weight:800;outline:none}
.exam-filter-grid select:focus{border-color:#fb7185;box-shadow:0 0 0 3px rgba(251,113,133,.12)}
.exam-result-line{margin-top:.75rem;font-size:.68rem;font-weight:700;color:#94a3b8}.exam-result-line strong{color:#334155}
.exam-region-list-pro{grid-template-columns:1fr}
.exam-region-list-pro .exam-region-card[open]{grid-column:auto}
.exam-region-list-pro .exam-province-list{grid-template-columns:1fr}
.exam-item-pro{position:relative;align-items:stretch;padding:.85rem .85rem .85rem 2.8rem;transition:border-color .18s,box-shadow .18s,transform .18s}
.exam-item-pro:hover{border-color:#bfdbfe;box-shadow:0 10px 26px -22px rgba(37,99,235,.55);transform:translateY(-1px)}
.exam-item-pro.is-completed{border-color:#d1fae5;background:linear-gradient(90deg,#fff 0%,#f0fdf8 100%)}
.exam-favorite-btn{position:absolute;left:.55rem;top:.65rem;display:flex;width:1.8rem;height:1.8rem;align-items:center;justify-content:center;border-radius:.6rem;border:1px solid #e2e8f0;background:#fff;color:#cbd5e1;transition:.18s}
.exam-favorite-btn:hover{border-color:#fde68a;color:#f59e0b;background:#fffbeb}
.exam-favorite-btn.is-favorite{border-color:#fde68a;color:#f59e0b;background:#fffbeb}.exam-favorite-btn.is-favorite svg{fill:currentColor}
.exam-item-topline{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;margin-bottom:.35rem}
.exam-year-badge,.exam-type-badge,.exam-done-badge,.exam-pending-badge{display:inline-flex;align-items:center;gap:.2rem;padding:.22rem .45rem;border-radius:999px;font-size:.55rem;line-height:1;font-weight:900;white-space:nowrap}
.exam-year-badge{background:#0f172a;color:#fff}.exam-type-badge{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.exam-done-badge{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.exam-pending-badge{background:#f8fafc;color:#94a3b8;border:1px solid #e2e8f0}
.exam-item-pro .exam-item-title{font-size:.82rem;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.3}
.exam-progress-row{display:flex;flex-wrap:wrap;gap:.4rem .7rem;margin-top:.45rem;color:#94a3b8;font-size:.61rem;font-weight:700}
.exam-progress-row strong{color:#475569;font-weight:950}.exam-score.good strong{color:#059669}.exam-score.mid strong{color:#d97706}.exam-score.low strong{color:#e11d48}
.exam-item-actions-pro{align-items:center;flex-wrap:wrap;margin-left:auto}.exam-play-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:2rem;padding:.45rem .65rem;border-radius:.65rem;background:#0f172a;color:#fff;font-size:.64rem;font-weight:900;transition:.18s}.exam-play-btn:hover{background:#1d4ed8}.exam-play-btn:disabled{opacity:.35;cursor:not-allowed}.exam-failed-btn{color:#e11d48;background:#fff1f2;border-color:#fecdd3}
@media(max-width:1100px){.exam-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.exam-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-item-pro{display:grid;grid-template-columns:minmax(0,1fr);padding-left:2.8rem}.exam-item-actions-pro{margin:0;margin-top:.65rem;justify-content:flex-end}.exam-play-btn span{display:inline}}
@media(max-width:760px){.exam-region-justifier{align-items:stretch;flex-direction:column}.exam-region-justify-btn{width:100%}}
@media(max-width:520px){.exam-explorer-heading{align-items:flex-start;flex-direction:column}.exam-reset-btn{width:100%;justify-content:center}.exam-filter-grid{grid-template-columns:1fr 1fr}.exam-kpi{padding:.7rem}.exam-kpi strong{font-size:1.05rem}.exam-item-actions-pro{flex-direction:row;width:100%;min-width:0;justify-content:flex-start}.exam-item-pro .exam-item-title{font-size:.78rem}.exam-progress-row{gap:.3rem .55rem}.exam-play-btn{flex:1;min-width:5rem}.exam-play-btn span{display:inline}}

.bf-exam-selection{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid #bfdbfe;border-radius:15px;background:#f1f7ff}
.bf-exam-selection__icon{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:12px;background:#dbeafe;color:#1d4ed8}
.bf-exam-selection div{min-width:0}
.bf-exam-selection strong{display:block;overflow-wrap:anywhere;color:#17345e;font-size:.9rem;line-height:1.35}
.bf-exam-selection span:last-child{display:block;margin-top:3px;color:#64748b;font-size:.75rem}
.bf-start--exam{min-block-size:60px;border-radius:15px}
.bf-start--exam.bf-start--tap::before,.bf-start--exam.bf-start--tap::after,.bf-start--exam.bf-start--tap .bf-start__play>svg,.bf-start--exam.bf-start--tap .bf-start__play::before,.bf-start--exam.bf-start--tap .bf-start__arrow{animation:none}
.bf-start--exam[aria-busy='true'] .bf-start__play,.bf-start--exam[aria-busy='true'] .bf-start__end{visibility:hidden}
.bf-start--exam[aria-busy='true'] .bf-start__busy-label{display:inline-flex;align-items:center;gap:10px}
.bf-start--exam[aria-busy='true'] .bf-start__busy-label::before{content:"";display:block;width:18px;height:18px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:bf-exam-loading .8s linear infinite}
@keyframes bf-exam-loading{to{transform:rotate(360deg)}}

/* V3.9.1 - herramientas de catálogo exclusivas de administración */
.exam-admin-tools{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;margin-top:1.1rem}
.exam-admin-tools .exam-package-cta{margin-top:0}
.exam-catalog-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border:1px solid rgba(255,255,255,.38);border-radius:.9rem;background:rgba(255,255,255,.12);color:#fff;font-size:.78rem;font-weight:900;box-shadow:0 10px 25px -18px #0f172a;backdrop-filter:blur(5px);transition:transform .2s,background .2s,box-shadow .2s}
.exam-catalog-btn:hover{transform:translateY(-1px);background:rgba(255,255,255,.2);box-shadow:0 16px 28px -18px #0f172a}
@media(max-width:520px){.exam-admin-tools{display:grid;grid-template-columns:1fr 1fr}.exam-admin-tools .exam-package-cta{grid-column:1/-1;width:100%}.exam-catalog-btn{width:100%}}
