
/* =========================================================
   MULTIKA - SUITE CUPONES / FAVORITOS / HISTORIAL / FILTROS
   ========================================================= */

.catalog-filter-bar{
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px;
    border:1px solid #d7e2e9;
    border-radius:16px;
    background:rgba(255,255,255,.92);
    box-shadow:0 8px 22px rgba(40,62,79,.06);
}
.student-catalog-filter{margin:0 0 18px}
.public-catalog-filter-section{padding:20px 0 0}
.catalog-search-field{
    flex:1;
    min-width:220px;
    display:flex;
    align-items:center;
    gap:9px;
    padding:0 12px;
    border:1px solid #d9e3e9;
    border-radius:11px;
    background:#f8fbfc;
}
.catalog-search-field i{color:#7890a1}
.catalog-search-field input{
    width:100%;
    height:40px;
    border:0;
    outline:0;
    background:transparent;
    color:#34546b;
}
.catalog-filter-bar select{
    min-width:210px;
    height:42px;
    padding:0 11px;
    border:1px solid #d9e3e9;
    border-radius:11px;
    background:#f8fbfc;
    color:#486478;
}
.catalog-filter-bar>button{
    height:42px;
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:0 15px;
    border:0;
    border-radius:11px;
    background:#3c6e8d;
    color:#fff;
    font-weight:800;
    cursor:pointer;
}
.catalog-filter-bar>a{
    height:42px;
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:0 12px;
    border-radius:11px;
    background:#eef3f6;
    color:#657d8e!important;
    text-decoration:none!important;
    font-size:11px;
    font-weight:800;
}

.available-course-media{position:relative}
.available-course-category{
    position:absolute;
    left:12px;
    bottom:10px;
    display:inline-flex;
    align-items:center;
    gap:5px;
    max-width:68%;
    padding:5px 8px;
    border-radius:999px;
    background:rgba(28,49,65,.76);
    color:#fff;
    font-size:7px;
    font-weight:800;
    backdrop-filter:blur(8px);
}
.available-favorite-form{
    position:absolute;
    left:12px;
    top:12px;
    right:auto;
    z-index:20;
    margin:0;
    padding:0;
    pointer-events:auto;
}
.available-favorite-button{
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border:1px solid rgba(224,226,232,.95);
    border-radius:50%;
    background:rgba(255,247,249,.96);
    color:#de5f7a;
    cursor:pointer;
    box-shadow:0 8px 20px rgba(31,50,65,.12);
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.available-favorite-button:hover{
    transform:translateY(-1px);
    box-shadow:0 10px 22px rgba(31,50,65,.15);
}
.available-favorite-button:active{
    transform:scale(.96);
}
.available-favorite-button.is-favorite{
    color:#d94f70;
    background:#fff2f6;
}

.coupon-checkout-box{
    margin:14px 0;
    padding:13px;
    border:1px dashed #b8cddd;
    border-radius:14px;
    background:#f5f9fc;
}
.coupon-checkout-title{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:10px;
}
.coupon-checkout-title>span{
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:#e4e1fb;
    color:#6557c9;
}
.coupon-checkout-title strong{display:block;color:#3c5a70;font-size:11px}
.coupon-checkout-title small{display:block;color:#8999a5;font-size:8px}
.coupon-apply-form{
    display:grid;
    grid-template-columns:1fr auto;
    gap:8px;
}
.coupon-apply-form input{
    min-width:0;
    height:40px;
    padding:0 11px;
    border:1px solid #d2dee6;
    border-radius:10px;
    outline:0;
    text-transform:uppercase;
}
.coupon-apply-form button,
.coupon-applied-form button{
    height:40px;
    border:0;
    border-radius:10px;
    padding:0 13px;
    background:#5f59bd;
    color:#fff;
    font-size:9px;
    font-weight:900;
    cursor:pointer;
}
.coupon-applied-form{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:9px 10px;
    border-radius:10px;
    background:#e8f5ef;
}
.coupon-applied-form small{display:block;color:#688879;font-size:7px;font-weight:900}
.coupon-applied-form strong{color:#2c7357;font-size:11px}
.coupon-inline-message{
    display:flex;
    align-items:center;
    gap:7px;
    margin-bottom:9px;
    padding:8px 10px;
    border-radius:9px;
    font-size:8px;
}
.coupon-inline-message.is-error{background:#fff0f0;color:#a94646}
.coupon-inline-message.is-success{background:#eaf7f0;color:#267459}
.coupon-code-chip{
    display:inline-flex;
    margin-left:4px;
    padding:3px 6px;
    border-radius:999px;
    background:#ece8ff;
    color:#5d53b4;
}
.paypal-final-total{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin:9px 0;
    padding:11px;
    border-radius:11px;
    background:#e9f3f8;
}
.paypal-final-total span{color:#567084;font-size:9px;font-weight:800}
.paypal-final-total strong{color:#265b7c;font-size:14px}
.coupon-free-button{background:linear-gradient(135deg,#2b8a62,#3eaa7d)!important}

/* Student extras */
.student-extras-page{
    max-width:1320px;
    margin:0 auto;
    padding:15px 24px 55px;
}
.student-extras-hero{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
    margin-bottom:18px;
    padding:26px 28px;
    border:1px solid #d5e1e9;
    border-radius:22px;
    background:linear-gradient(135deg,#fff,#eef5f8);
    box-shadow:0 10px 28px rgba(38,62,80,.07);
}
.student-extras-hero>div:first-child>span{
    display:block;
    color:#665bc5;
    font-size:9px;
    font-weight:900;
    letter-spacing:.12em;
}
.student-extras-hero h1{
    margin:6px 0!important;
    color:#2f4f66!important;
    font-size:30px!important;
}
.student-extras-hero p{
    margin:0!important;
    color:#748795!important;
    font-size:10px!important;
}
.student-extras-count{
    min-width:130px;
    padding:14px;
    border-radius:15px;
    background:#e0ebf2;
    text-align:center;
}
.student-extras-count small{display:block;color:#788c9a;font-size:7px;font-weight:900;text-transform:uppercase}
.student-extras-count strong{display:block;color:#345d78;font-size:27px}
.favorite-courses-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:15px;
}
.favorite-course-card{
    overflow:hidden;
    border:1px solid #d8e3ea;
    border-radius:18px;
    background:#fff;
    box-shadow:0 9px 24px rgba(39,61,77,.07);
}
.favorite-course-media{position:relative;height:180px;background:#eaf1f5}
.favorite-course-media img{width:100%;height:100%;object-fit:cover}
.favorite-course-media>span{height:100%;display:grid;place-items:center;color:#66859a;font-size:35px}
.favorite-course-media small{
    position:absolute;
    left:12px;
    bottom:10px;
    padding:5px 8px;
    border-radius:999px;
    background:rgba(37,57,72,.82);
    color:#fff;
    font-size:7px;
}
.favorite-course-body{padding:15px}
.favorite-course-body>span{color:#7c8e9b;font-size:7px;font-weight:900;letter-spacing:.1em}
.favorite-course-body h2{margin:5px 0!important;color:#31536b!important;font-size:16px!important}
.favorite-course-body p{min-height:45px;margin:0 0 10px!important;color:#718592!important;font-size:9px!important;line-height:1.5}
.favorite-course-price{display:flex;align-items:center;justify-content:space-between;padding:9px;border-radius:10px;background:#f3f7f9}
.favorite-course-price strong{color:#315c78}
.favorite-course-price small{color:#81929f}
.favorite-course-actions{display:grid;grid-template-columns:1fr 42px;gap:8px;margin-top:10px}
.favorite-course-actions>a{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:40px;
    border-radius:10px;
    background:#356f93;
    color:#fff!important;
    text-decoration:none!important;
    font-size:9px;
    font-weight:900;
}
.favorite-course-actions button{
    width:42px;
    height:40px;
    border:1px solid #f0cad4;
    border-radius:10px;
    background:#fff4f7;
    color:#c24d6c;
    cursor:pointer;
}
.student-extra-empty{
    padding:55px 20px;
    border:1px dashed #cad7df;
    border-radius:18px;
    background:#f8fafb;
    text-align:center;
    color:#768895;
}
.student-extra-empty>i{font-size:34px;color:#607f94}
.student-extra-empty h2{margin:10px 0 4px;color:#35566d}
.student-extra-empty a{display:inline-flex;margin-top:10px;color:#386d8d;font-weight:900;text-decoration:none}
.student-extra-alert{margin-bottom:12px;padding:10px 12px;border-radius:10px;font-size:9px;font-weight:800}
.student-extra-alert.success{background:#e6f6ee;color:#28745a}

.exam-history-summary{display:flex;gap:8px}
.exam-history-summary article{min-width:95px;padding:10px;border-radius:13px;background:#e4edf3;text-align:center}
.exam-history-summary small{display:block;color:#798c99;font-size:7px;text-transform:uppercase;font-weight:900}
.exam-history-summary strong{display:block;color:#355d77;font-size:22px}
.exam-history-list{display:grid;gap:13px}
.exam-history-card{
    padding:16px;
    border:1px solid #d8e3ea;
    border-left:4px solid #aebec9;
    border-radius:16px;
    background:#fff;
    box-shadow:0 7px 19px rgba(39,61,77,.05);
}
.exam-history-card.is-passed{border-left-color:#31a276}
.exam-history-card.is-failed{border-left-color:#d85b5b}
.exam-history-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}
.exam-history-card-head span{color:#6b61c4;font-size:7px;font-weight:900;letter-spacing:.1em}
.exam-history-card-head h2{margin:3px 0!important;color:#35536a!important;font-size:15px!important}
.exam-history-card-head p{margin:0!important;color:#81909b!important;font-size:8px!important}
.exam-score{
    min-width:90px;
    padding:9px;
    border-radius:12px;
    text-align:center;
}
.exam-score.pass{background:#e4f5ed;color:#247454}
.exam-score.fail{background:#fff0f0;color:#ac4747}
.exam-score strong{display:block;font-size:18px}
.exam-score small{font-size:7px;font-weight:900}
.exam-history-meta{display:flex;gap:13px;margin:10px 0;color:#7c8d99;font-size:8px}
.exam-answer-details{border-top:1px solid #edf1f4;padding-top:10px}
.exam-answer-details summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;color:#476980;font-size:9px;font-weight:900;list-style:none}
.exam-answer-details summary::-webkit-details-marker{display:none}
.exam-answer-list{display:grid;gap:7px;margin-top:10px}
.exam-answer-list article{
    display:grid;
    grid-template-columns:28px 1fr auto;
    gap:9px;
    align-items:center;
    padding:9px;
    border-radius:10px;
    background:#f6f9fb;
}
.exam-answer-list article.correct{background:#eef8f3}
.exam-answer-list article.incorrect{background:#fff3f3}
.exam-answer-number{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#e4ebf0;color:#5f7585;font-size:8px;font-weight:900}
.exam-answer-list strong{display:block;color:#3c586c;font-size:9px}
.exam-answer-list p{margin:3px 0 0!important;color:#6f8190!important;font-size:8px!important}
.exam-answer-list>article>span{display:flex;align-items:center;gap:4px;font-size:7px;font-weight:900}
.exam-answer-list article.correct>span{color:#287657}
.exam-answer-list article.incorrect>span{color:#b54b4b}
.exam-history-legacy{margin-top:10px;padding:10px;border-radius:10px;background:#fff8e7;color:#87672d;font-size:8px}

/* Enhanced student dashboard */
.student-dashboard-insights{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:11px;
    margin:0 0 16px;
}
.student-insight-card{
    display:grid;
    grid-template-columns:40px 1fr auto;
    align-items:center;
    gap:10px;
    min-height:78px;
    padding:12px;
    border:1px solid #d7e2e8;
    border-radius:15px;
    background:#fff;
    color:inherit!important;
    text-decoration:none!important;
    box-shadow:0 6px 17px rgba(39,61,77,.05);
}
.student-insight-card>span{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:#e8eef7;color:#6259bd}
.student-insight-card small{display:block;color:#8796a1;font-size:7px;font-weight:900}
.student-insight-card strong{display:inline;color:#355b75;font-size:18px}
.student-insight-card p{display:inline;margin-left:4px!important;color:#8999a5!important;font-size:7px!important}
.student-insight-card>i{color:#8da0ad}
.student-dashboard-secondary-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}
.student-dashboard-mini-panel{padding:14px;border:1px solid #d8e2e8;border-radius:16px;background:#fff;box-shadow:0 6px 17px rgba(39,61,77,.05)}
.student-mini-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}
.student-mini-head span{display:block;color:#728798;font-size:7px;font-weight:900;letter-spacing:.1em}
.student-mini-head h2{margin:2px 0 0!important;color:#38586d!important;font-size:13px!important}
.student-mini-head a{color:#48718d!important;font-size:8px;font-weight:900;text-decoration:none!important}
.student-mini-list{display:grid;gap:6px}
.student-mini-list article{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:8px;padding:8px;border-radius:10px;background:#f4f8fa}
.student-mini-list article>span{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#e4edf3;color:#50758d}
.student-mini-list strong{display:block;color:#405d72;font-size:8px}
.student-mini-list small{display:block;color:#92a0aa;font-size:7px}
.student-mini-list b{color:#355d77;font-size:8px}
.student-mini-open{color:#4d70a2!important;font-size:7px;font-weight:900;text-decoration:none!important}
.student-mini-empty{padding:20px;text-align:center;color:#8d9aa4;font-size:8px}

/* Admin commerce */
.commerce-admin-page{max-width:1450px;margin:0 auto;padding:18px 28px 55px}
.commerce-admin-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px;padding:24px 27px;border:1px solid #d7e2e8;border-radius:22px;background:linear-gradient(135deg,#fff,#eff5f8);box-shadow:0 10px 28px rgba(39,61,77,.06)}
.commerce-admin-hero.compact{padding:20px 24px}
.commerce-admin-hero>div>span{color:#6259bf;font-size:8px;font-weight:900;letter-spacing:.12em}
.commerce-admin-hero h1{margin:5px 0!important;color:#2f4e65!important;font-size:28px!important}
.commerce-admin-hero p{margin:0!important;color:#748693!important;font-size:9px!important}
.commerce-primary-btn,.commerce-secondary-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:40px;
    padding:0 14px;
    border:0;
    border-radius:10px;
    background:#3a6e8f;
    color:#fff!important;
    text-decoration:none!important;
    font-size:9px;
    font-weight:900;
    cursor:pointer;
}
.commerce-secondary-btn{background:#edf3f6;color:#496a80!important}
.commerce-alert{margin-bottom:12px;padding:10px 12px;border-radius:10px;font-size:9px;font-weight:800}
.commerce-alert.success{background:#e5f5ed;color:#267052}
.commerce-alert.error{background:#fff0f0;color:#ad4545}
.commerce-admin-grid{display:grid;grid-template-columns:.8fr 1.4fr;gap:14px}
.commerce-panel{padding:17px;border:1px solid #d7e2e9;border-radius:17px;background:#fff;box-shadow:0 7px 20px rgba(39,61,77,.05)}
.commerce-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.commerce-panel-head span{display:block;color:#718697;font-size:7px;font-weight:900;letter-spacing:.1em}
.commerce-panel-head h2{margin:2px 0 0!important;color:#38586e!important;font-size:15px!important}
.commerce-panel-head b{min-width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#e7eef3;color:#476981}
.commerce-form{display:grid;gap:10px}
.commerce-form label>span,.coupon-form label>span{display:block;margin-bottom:5px;color:#536b7d;font-size:8px;font-weight:900}
.commerce-form input,.commerce-form textarea,.commerce-form select,.coupon-form input,.coupon-form select{
    width:100%;
    border:1px solid #d4dfe6;
    border-radius:10px;
    padding:10px;
    background:#f9fbfc;
    color:#405b70;
    outline:0;
}
.category-admin-list{display:grid;gap:8px}
.category-admin-list article{position:relative;padding:10px;border:1px solid #e1e8ed;border-radius:12px;background:#f8fafb}
.category-admin-row{display:grid;grid-template-columns:38px 1fr 110px 36px;gap:8px;align-items:center}
.category-admin-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#e9e7fb;color:#635abd}
.category-admin-fields{display:grid;gap:5px}
.category-admin-fields input,.category-admin-fields textarea,.category-admin-row select{width:100%;border:1px solid #dae3e9;border-radius:8px;padding:7px;background:#fff;color:#466176;font-size:8px}
.commerce-icon-btn{width:36px;height:36px;border:0;border-radius:9px;cursor:pointer}.commerce-icon-btn.save{background:#def2e8;color:#257051}
.commerce-delete-link{margin:6px 0 0 46px;border:0;background:none;color:#b25555;font-size:7px;cursor:pointer}
.coupon-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.coupon-admin-card{padding:16px;border:1px solid #d8e2e8;border-top:4px solid #675bc4;border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(39,61,77,.06)}
.coupon-admin-card.is-expired{opacity:.66;border-top-color:#aeb8be}
.coupon-admin-top{display:flex;align-items:center;justify-content:space-between}
.coupon-code{padding:6px 9px;border-radius:9px;background:#eeeaff;color:#5d52b6;font-size:10px;font-weight:900;letter-spacing:.07em}
.coupon-status{color:#718694;font-size:7px;font-weight:900}
.coupon-value{margin:15px 0}.coupon-value strong{display:block;color:#315873;font-size:25px}.coupon-value small{color:#8697a3;font-size:8px}
.coupon-admin-meta{display:grid;gap:6px;padding:10px;border-radius:10px;background:#f5f8fa;color:#698090;font-size:8px}
.coupon-admin-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:11px}
.coupon-admin-actions a,.coupon-admin-actions button{width:100%;min-height:36px;display:flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:9px;background:#edf3f6;color:#466a82!important;text-decoration:none!important;font-size:8px;font-weight:900;cursor:pointer}
.coupon-admin-actions button{background:#fff0f0;color:#ac4b4b!important}
.coupon-form{max-width:1050px;margin:0 auto}.coupon-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.coupon-form label small{display:block;margin-top:4px;color:#91a0aa;font-size:7px}
.coupon-course-selector{margin-top:16px;padding:14px;border-radius:13px;background:#f4f8fa}.coupon-course-selector>div:first-child strong{color:#3c5a70}.coupon-course-selector>div:first-child p{margin:3px 0 10px!important;color:#84949f!important;font-size:8px!important}
.coupon-course-checks{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.coupon-course-checks label{display:flex;align-items:center;gap:7px;padding:8px;border-radius:8px;background:#fff;color:#536b7d;font-size:8px}.coupon-course-checks input{width:auto!important}
.commerce-form-actions{display:flex;justify-content:flex-end;align-items:center;gap:9px;margin-top:15px}.commerce-form-actions>a{color:#738694;text-decoration:none;font-size:9px}
.commerce-empty{padding:35px;text-align:center;color:#8696a1}.coupon-empty{grid-column:1/-1}

/* Public certificate verifier */
.certificate-verification-page{min-height:72vh;padding:55px 20px;background:linear-gradient(180deg,#f4f8fb,#fff)}
.certificate-verification-shell{max-width:760px;margin:0 auto;padding:28px;border:1px solid #d9e4ea;border-radius:24px;background:#fff;box-shadow:0 18px 50px rgba(33,57,76,.10);text-align:center}
.certificate-verification-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:15px}.certificate-verification-brand>span{width:45px;height:45px;display:grid;place-items:center;border-radius:13px;background:#e7f3ed;color:#287456;font-size:19px}.certificate-verification-brand small{display:block;color:#8a99a5;font-size:7px;font-weight:900;letter-spacing:.1em}.certificate-verification-brand strong{color:#31556d}
.certificate-verification-shell h1{margin:0!important;color:#2e4d64!important;font-size:30px!important}.certificate-verification-intro{color:#748795!important;font-size:10px!important}
.certificate-search-form{display:grid;grid-template-columns:1fr auto;gap:8px;max-width:560px;margin:18px auto}.certificate-search-form input{height:44px;padding:0 12px;border:1px solid #d4e0e7;border-radius:11px;text-transform:uppercase;outline:0}.certificate-search-form button{border:0;border-radius:11px;padding:0 16px;background:#376d8e;color:#fff;font-weight:900;cursor:pointer}
.certificate-valid-card,.certificate-invalid-card{margin-top:20px;padding:22px;border-radius:18px}.certificate-valid-card{background:#f0f8f4;border:1px solid #cfe9dc}.certificate-invalid-card{background:#fff5f5;border:1px solid #f1d5d5}.certificate-valid-icon{width:62px;height:62px;display:grid;place-items:center;margin:0 auto 10px;border-radius:50%;background:#d9f0e4;color:#247153;font-size:28px}.certificate-valid-card>span{color:#267456;font-size:8px;font-weight:900;letter-spacing:.12em}.certificate-valid-card h2{margin:5px 0!important;color:#2f5a48!important}.certificate-valid-card p{color:#71877b!important;font-size:9px!important}
.certificate-valid-data{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:15px 0}.certificate-valid-data article{padding:10px;border-radius:10px;background:#fff;text-align:left}.certificate-valid-data small{display:block;color:#8b9a92;font-size:7px;text-transform:uppercase}.certificate-valid-data strong{display:block;margin-top:3px;color:#41685a;font-size:9px}
.certificate-open-pdf{display:inline-flex;align-items:center;gap:7px;padding:10px 13px;border-radius:10px;background:#31745a;color:#fff!important;text-decoration:none!important;font-size:9px;font-weight:900}.certificate-invalid-card>i{font-size:34px;color:#c15a5a}.certificate-invalid-card h2{color:#865151!important}.certificate-invalid-card p{color:#9a7777!important;font-size:9px!important}

@media(max-width:1050px){
    .favorite-courses-grid,.coupon-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .student-dashboard-insights{grid-template-columns:repeat(2,minmax(0,1fr))}
    .commerce-admin-grid,.student-dashboard-secondary-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
    .catalog-filter-bar{align-items:stretch;flex-direction:column}
    .catalog-filter-bar select{min-width:0;width:100%}
    .student-extras-page,.commerce-admin-page{padding:12px}
    .student-extras-hero,.commerce-admin-hero{align-items:flex-start;flex-direction:column}
    .favorite-courses-grid,.coupon-admin-grid,.student-dashboard-insights{grid-template-columns:1fr}
    .coupon-form-grid,.coupon-course-checks{grid-template-columns:1fr}
    .category-admin-row{grid-template-columns:34px 1fr}.category-admin-row select,.category-admin-row .commerce-icon-btn{grid-column:2}
    .certificate-valid-data{grid-template-columns:1fr}
}

.available-course-media > span:not(.available-course-category){
    position:absolute;
    top:14px;
    right:14px;
    left:auto;
    z-index:10;
}
.available-course-card,
.available-course-media{
    transform-origin:center center;
}
.available-favorite-form,
.available-favorite-button{
    touch-action:manipulation;
}

.coupon-free-note{
    padding:13px 14px!important;
    border:1px solid #cce9dc;
    border-radius:12px;
    background:#eef9f4;
    color:#39715c!important;
    line-height:1.55;
}
.coupon-free-note i{
    margin-right:6px;
    color:#27835f;
}
.coupon-free-note strong{
    color:#236b50;
}


/* =========================================================
   HISTORIAL DE EXÁMENES AGRUPADO POR CURSO
   ========================================================= */

.exam-course-groups{
    display:grid;
    gap:22px;
}

.exam-course-group{
    overflow:hidden;
    border:1px solid #cfdae3;
    border-radius:22px;
    background:#fff;
    box-shadow:0 10px 28px rgba(42,64,80,.07);
}

.exam-course-group-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:20px 22px;
    border-bottom:1px solid #dfe7ec;
    background:linear-gradient(135deg,#f9fbfd,#edf4f8);
}

.exam-course-group-title{
    display:flex;
    align-items:center;
    gap:14px;
    min-width:0;
}

.exam-course-group-icon{
    flex:0 0 50px;
    width:50px;
    height:50px;
    display:grid;
    place-items:center;
    border-radius:15px;
    background:linear-gradient(135deg,#556fb0,#6558c3);
    color:#fff;
    font-size:19px;
    box-shadow:0 8px 18px rgba(86,93,183,.18);
}

.exam-course-group-title small{
    display:block;
    color:#6d60c1;
    font-size:7px;
    font-weight:900;
    letter-spacing:.13em;
}

.exam-course-group-title h2{
    margin:3px 0!important;
    color:#284c65!important;
    font-size:19px!important;
}

.exam-course-group-title p{
    margin:0!important;
    color:#7c8f9d!important;
    font-size:8px!important;
}

.exam-course-group-stats{
    display:flex;
    gap:8px;
}

.exam-course-group-stats article{
    min-width:86px;
    padding:9px 11px;
    border:1px solid #dce5eb;
    border-radius:12px;
    background:rgba(255,255,255,.85);
    text-align:center;
}

.exam-course-group-stats small{
    display:block;
    color:#8495a1;
    font-size:6px;
    font-weight:900;
    text-transform:uppercase;
}

.exam-course-group-stats strong{
    display:block;
    margin-top:2px;
    color:#315a76;
    font-size:17px;
}

.exam-course-attempts{
    display:grid;
    gap:11px;
    padding:15px;
    background:#f3f7f9;
}

.exam-course-attempts .exam-history-card{
    margin:0;
    padding:0;
    overflow:hidden;
    border-width:1px;
    border-left-width:4px;
    border-radius:15px;
    box-shadow:none;
}

.exam-course-attempts .exam-history-card-head{
    padding:15px 16px 12px;
    background:#fff;
}

.exam-history-main-info{
    min-width:0;
}

.exam-history-type-row{
    display:flex;
    align-items:center;
    gap:7px;
    margin-bottom:7px;
    flex-wrap:wrap;
}

.exam-history-type{
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding:5px 8px;
    border-radius:999px;
    font-size:6px!important;
    font-weight:900!important;
    letter-spacing:.08em!important;
}

.exam-history-type.module{
    background:#ece9fb;
    color:#6157b8!important;
}

.exam-history-type.general{
    background:#e4f0fb;
    color:#3e6f98!important;
}

.exam-history-course-name{
    display:inline-flex!important;
    align-items:center;
    gap:5px;
    color:#668092!important;
    font-size:7px!important;
    font-weight:800!important;
    letter-spacing:0!important;
}

.exam-history-main-info h3{
    margin:0 0 6px!important;
    color:#294f68!important;
    font-size:15px!important;
}

.exam-history-location{
    display:flex;
    align-items:center;
    gap:6px;
    color:#8293a0;
    font-size:8px;
}

.exam-course-attempts .exam-score{
    min-width:92px;
    padding:10px 12px;
}

.exam-course-attempts .exam-history-meta{
    margin:0;
    padding:9px 16px;
    border-top:1px solid #eef2f4;
    border-bottom:1px solid #eef2f4;
    background:#f9fbfc;
}

.exam-course-attempts .exam-history-meta span{
    display:inline-flex;
    align-items:center;
    gap:5px;
}

.exam-course-attempts .exam-answer-details{
    padding:0;
    border:0;
    background:#fff;
}

.exam-course-attempts .exam-answer-details summary{
    padding:11px 16px;
}

.exam-answer-summary-right{
    display:flex;
    align-items:center;
    gap:9px;
}

.exam-answer-summary-right small{
    color:#8999a5;
    font-size:7px;
    font-weight:700;
}

.exam-course-attempts .exam-answer-list{
    margin:0;
    padding:0 14px 14px;
}

.exam-answer-copy{
    min-width:0;
}

.exam-answer-result{
    min-width:82px;
    justify-content:flex-end;
}

.exam-course-attempts .exam-history-legacy{
    display:flex;
    align-items:center;
    gap:7px;
    margin:0 14px 14px;
}

@media(max-width:850px){
    .exam-course-group-head{
        align-items:flex-start;
        flex-direction:column;
    }

    .exam-course-group-stats{
        width:100%;
    }

    .exam-course-group-stats article{
        flex:1;
        min-width:0;
    }
}

@media(max-width:620px){
    .exam-history-card-head{
        flex-direction:column;
    }

    .exam-course-attempts .exam-score{
        width:100%;
    }

    .exam-history-meta{
        flex-direction:column;
        gap:6px!important;
    }

    .exam-answer-list article{
        grid-template-columns:28px 1fr!important;
    }

    .exam-answer-result{
        grid-column:2;
        justify-content:flex-start;
    }
}


/* =========================================================
   PAGINACIÓN - HISTORIAL DE EXÁMENES
   ========================================================= */

.exam-history-pagination{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    margin:22px 0 8px;
    flex-wrap:wrap;
}

.exam-page-nav,
.exam-page-numbers a{
    min-height:38px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    padding:0 12px;
    border:1px solid #d5e0e7;
    border-radius:10px;
    background:#fff;
    color:#46677d!important;
    text-decoration:none!important;
    font-size:8px;
    font-weight:900;
    box-shadow:0 5px 14px rgba(38,59,75,.05);
}

.exam-page-nav:hover,
.exam-page-numbers a:hover{
    background:#edf4f8;
    border-color:#bfd1dd;
}

.exam-page-nav.is-disabled{
    opacity:.42;
    pointer-events:none;
}

.exam-page-numbers{
    display:flex;
    align-items:center;
    gap:6px;
}

.exam-page-numbers a{
    min-width:38px;
    padding:0 8px;
}

.exam-page-numbers a.is-active{
    background:linear-gradient(135deg,#506f9e,#6559bd);
    border-color:transparent;
    color:#fff!important;
}

.exam-page-numbers span{
    color:#8a99a5;
    font-size:9px;
    font-weight:900;
}

.exam-history-page-status{
    text-align:center;
    color:#8595a1;
    font-size:8px;
    font-weight:700;
}

@media(max-width:620px){
    .exam-history-pagination{
        gap:8px;
    }

    .exam-page-nav{
        flex:1;
        min-width:120px;
    }

    .exam-page-numbers{
        width:100%;
        justify-content:center;
        order:3;
    }
}


/* =========================================================
   FILTROS DEL HISTORIAL DE EXÁMENES
   ========================================================= */

.exam-history-filters{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin:0 0 18px;
}

.exam-history-filters>a{
    display:grid;
    grid-template-columns:42px 1fr;
    align-items:center;
    gap:10px;
    min-height:68px;
    padding:11px 13px;
    border:1px solid #d7e2e8;
    border-radius:14px;
    background:#fff;
    color:inherit!important;
    text-decoration:none!important;
    box-shadow:0 6px 18px rgba(39,61,77,.05);
    transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}

.exam-history-filters>a:hover{
    transform:translateY(-1px);
    border-color:#bfd0db;
    box-shadow:0 9px 22px rgba(39,61,77,.08);
}

.exam-history-filters>a.is-active{
    border-color:#5e68b8;
    box-shadow:0 8px 22px rgba(84,91,181,.12);
}

.exam-history-filters>a.is-active.approved{
    border-color:#38a178;
    box-shadow:0 8px 22px rgba(42,151,108,.12);
}

.exam-history-filters>a.is-active.failed{
    border-color:#d26060;
    box-shadow:0 8px 22px rgba(199,81,81,.12);
}

.exam-filter-icon{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:#e9eef4;
    color:#5d7690;
    font-size:16px;
}

.exam-filter-icon.approved{
    background:#e4f5ed;
    color:#247454;
}

.exam-filter-icon.failed{
    background:#fff0f0;
    color:#b64848;
}

.exam-history-filters strong{
    display:block;
    color:#36566d;
    font-size:10px;
}

.exam-history-filters small{
    display:block;
    margin-top:2px;
    color:#8a99a4;
    font-size:7px;
}

.exam-filter-empty{
    padding:46px 20px;
    border:1px dashed #cbd8e0;
    border-radius:18px;
    background:#f8fafb;
    text-align:center;
}

.exam-filter-empty>i{
    font-size:31px;
    color:#71899a;
}

.exam-filter-empty h2{
    margin:9px 0 4px!important;
    color:#35566d!important;
    font-size:17px!important;
}

.exam-filter-empty p{
    margin:0!important;
    color:#84949f!important;
    font-size:9px!important;
}

.exam-filter-empty a{
    display:inline-flex;
    margin-top:11px;
    padding:9px 12px;
    border-radius:9px;
    background:#3f6f8e;
    color:#fff!important;
    text-decoration:none!important;
    font-size:8px;
    font-weight:900;
}

@media(max-width:700px){
    .exam-history-filters{
        grid-template-columns:1fr;
    }
}


/* =========================================================
   HISTORIAL DE EXÁMENES — VISTA COMPACTA POR EXAMEN
   ========================================================= */

.exam-compact-list{
    display:grid;
    gap:8px;
    padding:13px;
    background:#f3f7f9;
}

.exam-compact-card{
    overflow:hidden;
    border:1px solid #d9e3e9;
    border-radius:14px;
    background:#fff;
    box-shadow:0 4px 13px rgba(39,61,77,.04);
}

.exam-compact-card>summary{
    list-style:none;
}

.exam-compact-card>summary::-webkit-details-marker{
    display:none;
}

.exam-compact-summary{
    display:grid;
    grid-template-columns:minmax(250px,1fr) auto 135px;
    align-items:center;
    gap:15px;
    min-height:78px;
    padding:12px 14px;
    cursor:pointer;
    transition:background .15s ease;
}

.exam-compact-summary:hover{
    background:#f9fbfc;
}

.exam-compact-main{
    display:flex;
    align-items:center;
    gap:11px;
    min-width:0;
}

.exam-compact-title{
    min-width:0;
}

.exam-compact-title h3{
    margin:0 0 4px!important;
    color:#31546b!important;
    font-size:13px!important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.exam-compact-title p{
    display:flex;
    align-items:center;
    gap:5px;
    margin:0!important;
    color:#82939f!important;
    font-size:7px!important;
}

.exam-compact-metrics{
    display:flex;
    align-items:center;
    gap:6px;
}

.exam-compact-metrics article{
    min-width:74px;
    padding:7px 9px;
    border-radius:9px;
    background:#f2f6f8;
    text-align:center;
}

.exam-compact-metrics small{
    display:block;
    color:#8a99a4;
    font-size:6px;
    font-weight:900;
    text-transform:uppercase;
}

.exam-compact-metrics strong{
    display:block;
    margin-top:2px;
    color:#355b74;
    font-size:13px;
}

.exam-compact-metrics article.last-pass{
    background:#e9f7f0;
}

.exam-compact-metrics article.last-pass strong{
    color:#267355;
}

.exam-compact-metrics article.last-fail{
    background:#fff0f0;
}

.exam-compact-metrics article.last-fail strong{
    color:#b44a4a;
}

.exam-compact-status{
    min-width:125px;
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
    gap:3px 8px;
    padding:9px 10px;
    border-radius:10px;
}

.exam-compact-status.pass{
    background:#e3f5ec;
    color:#237254;
}

.exam-compact-status.fail{
    background:#fff0f0;
    color:#b24545;
}

.exam-compact-status span{
    font-size:7px;
    font-weight:900;
}

.exam-compact-status small{
    grid-column:1;
    font-size:6px;
    opacity:.75;
}

.exam-compact-status>i{
    grid-column:2;
    grid-row:1 / span 2;
    transition:transform .18s ease;
}

.exam-compact-card[open]>.exam-compact-summary .exam-compact-status>i{
    transform:rotate(180deg);
}

.exam-compact-body{
    border-top:1px solid #e6edf1;
    background:#fbfcfd;
}

.exam-compact-body-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:11px 14px;
}

.exam-compact-body-head>div:first-child>span{
    display:block;
    color:#7c8e9b;
    font-size:6px;
    font-weight:900;
    letter-spacing:.1em;
}

.exam-compact-body-head h4{
    margin:2px 0 0!important;
    color:#3b5a70!important;
    font-size:10px!important;
}

.exam-compact-result-counts{
    display:flex;
    gap:7px;
}

.exam-compact-result-counts span{
    display:inline-flex;
    align-items:center;
    gap:4px;
    padding:5px 8px;
    border-radius:999px;
    font-size:7px;
    font-weight:800;
}

.exam-compact-result-counts .approved{
    background:#e4f5ed;
    color:#267153;
}

.exam-compact-result-counts .failed{
    background:#fff0f0;
    color:#b44a4a;
}

.exam-attempt-table{
    display:grid;
    gap:5px;
    padding:0 12px 12px;
}

.exam-attempt-row{
    overflow:hidden;
    border:1px solid #dde6eb;
    border-radius:10px;
    background:#fff;
}

.exam-attempt-row>summary{
    display:grid;
    grid-template-columns:90px minmax(160px,1fr) 100px 95px;
    align-items:center;
    gap:9px;
    min-height:52px;
    padding:7px 10px;
    list-style:none;
    cursor:pointer;
}

.exam-attempt-row>summary::-webkit-details-marker{
    display:none;
}

.exam-attempt-row>summary:hover{
    background:#f7fafb;
}

.exam-attempt-number span{
    display:block;
    color:#8c9aa5;
    font-size:6px;
    font-weight:800;
}

.exam-attempt-number strong{
    color:#3e5e74;
    font-size:10px;
}

.exam-attempt-date{
    display:flex;
    align-items:center;
    gap:5px;
    color:#778a98;
    font-size:7px;
}

.exam-attempt-score{
    padding:5px 8px;
    border-radius:8px;
    text-align:center;
}

.exam-attempt-score.pass{
    background:#e8f6ef;
    color:#267154;
}

.exam-attempt-score.fail{
    background:#fff0f0;
    color:#b44a4a;
}

.exam-attempt-score strong{
    display:block;
    font-size:11px;
}

.exam-attempt-score small{
    display:block;
    font-size:5px;
    font-weight:900;
}

.exam-attempt-open{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:6px;
    color:#557488;
    font-size:7px;
    font-weight:900;
}

.exam-attempt-open i{
    transition:transform .18s ease;
}

.exam-attempt-row[open] .exam-attempt-open i{
    transform:rotate(180deg);
}

.exam-attempt-answers{
    padding:0 10px 10px;
    border-top:1px solid #eef2f4;
    background:#fbfcfd;
}

.exam-answer-list.compact{
    margin-top:9px;
}

.exam-history-legacy.compact{
    margin:9px 0 0;
}

@media(max-width:980px){
    .exam-compact-summary{
        grid-template-columns:1fr;
        gap:9px;
    }

    .exam-compact-metrics{
        justify-content:flex-start;
        flex-wrap:wrap;
    }

    .exam-compact-status{
        width:100%;
    }
}

@media(max-width:650px){
    .exam-attempt-row>summary{
        grid-template-columns:1fr 90px;
    }

    .exam-attempt-date{
        grid-column:1;
    }

    .exam-attempt-score{
        grid-column:2;
        grid-row:1 / span 2;
    }

    .exam-attempt-open{
        grid-column:1 / -1;
        justify-content:flex-start;
    }

    .exam-compact-body-head{
        align-items:flex-start;
        flex-direction:column;
    }
}


/* =========================================================
   MIS CERTIFICADOS - ESTUDIANTE
   ========================================================= */

.student-certificates-page{
    max-width:1250px;
    margin:0 auto;
    padding:24px 24px 60px;
}

.student-certificates-hero{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:18px;
    padding:25px 27px;
    border:1px solid #d8e2e8;
    border-radius:22px;
    background:linear-gradient(135deg,#fff,#f2f7fa);
    box-shadow:0 10px 28px rgba(39,61,77,.06);
}

.student-certificates-kicker{
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:#6258ba;
    font-size:7px;
    font-weight:900;
    letter-spacing:.12em;
}

.student-certificates-hero h1{
    margin:6px 0 5px!important;
    color:#31556d!important;
    font-size:25px!important;
}

.student-certificates-hero p{
    margin:0!important;
    color:#7e909c!important;
    font-size:9px!important;
}

.student-certificates-total{
    min-width:180px;
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px 15px;
    border:1px solid #dce5ea;
    border-radius:15px;
    background:#fff;
}

.student-certificates-total>span{
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    border-radius:13px;
    background:#eeeafb;
    color:#6258bb;
    font-size:19px;
}

.student-certificates-total small{
    display:block;
    color:#8797a2;
    font-size:6px;
    font-weight:900;
}

.student-certificates-total strong{
    display:block;
    margin-top:1px;
    color:#315a74;
    font-size:20px;
}

.student-certificates-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:13px;
}

.student-certificate-card{
    overflow:hidden;
    padding:16px;
    border:1px solid #d8e2e8;
    border-radius:18px;
    background:#fff;
    box-shadow:0 7px 21px rgba(39,61,77,.05);
}

.student-certificate-card-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:13px;
}

.student-certificate-award{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:linear-gradient(135deg,#6258bd,#477a9c);
    color:#fff;
    font-size:18px;
}

.student-certificate-state{
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding:6px 9px;
    border-radius:999px;
    font-size:6px;
    font-weight:900;
}

.student-certificate-state.valid{
    background:#e4f5ed;
    color:#277255;
}

.student-certificate-state.revoked{
    background:#fff0f0;
    color:#b64b4b;
}

.student-certificate-copy>small,
.student-certificate-code small{
    display:block;
    color:#8999a4;
    font-size:6px;
    font-weight:900;
    letter-spacing:.08em;
}

.student-certificate-copy h2{
    margin:4px 0 9px!important;
    color:#34566d!important;
    font-size:15px!important;
}

.student-certificate-meta{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    color:#81929e;
    font-size:7px;
}

.student-certificate-meta span{
    display:inline-flex;
    align-items:center;
    gap:5px;
}

.student-certificate-code{
    margin:14px 0;
    padding:10px 12px;
    border-radius:10px;
    background:#f4f7f9;
}

.student-certificate-code strong{
    display:block;
    margin-top:3px;
    color:#48687d;
    font-size:9px;
    letter-spacing:.04em;
    word-break:break-all;
}

.student-certificate-actions{
    display:flex;
    align-items:center;
    gap:6px;
    flex-wrap:wrap;
}

.student-certificate-actions>a{
    min-height:35px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    padding:0 10px;
    border:1px solid #d6e1e7;
    border-radius:9px;
    background:#fff;
    color:#4d6e83!important;
    text-decoration:none!important;
    font-size:7px;
    font-weight:900;
}

.student-certificate-actions>a.primary{
    border-color:transparent;
    background:#3e708e;
    color:#fff!important;
}

.student-certificate-unavailable{
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:#a35a5a;
    font-size:8px;
    font-weight:800;
}

.student-certificates-empty{
    min-height:350px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:35px;
    border:1px dashed #ccd9e1;
    border-radius:20px;
    background:#f8fafb;
    text-align:center;
}

.student-certificates-empty>span{
    width:68px;
    height:68px;
    display:grid;
    place-items:center;
    border-radius:20px;
    background:#eeeafb;
    color:#6359bb;
    font-size:28px;
}

.student-certificates-empty h2{
    margin:12px 0 5px!important;
    color:#38586e!important;
    font-size:18px!important;
}

.student-certificates-empty p{
    max-width:440px;
    margin:0!important;
    color:#84949f!important;
    font-size:9px!important;
}

.student-certificates-empty>a{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-top:14px;
    padding:10px 13px;
    border-radius:9px;
    background:#3e708e;
    color:#fff!important;
    text-decoration:none!important;
    font-size:8px;
    font-weight:900;
}

.student-certificates-pagination{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    margin-top:20px;
}

.student-certificates-pagination>div{
    display:flex;
    gap:5px;
}

.student-certificates-pagination a{
    min-width:35px;
    min-height:35px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    padding:0 9px;
    border:1px solid #d7e1e7;
    border-radius:9px;
    background:#fff;
    color:#4d6e83!important;
    text-decoration:none!important;
    font-size:7px;
    font-weight:900;
}

.student-certificates-pagination a.active{
    border-color:transparent;
    background:#5e5ab7;
    color:#fff!important;
}

.student-certificates-pagination a.disabled{
    opacity:.4;
    pointer-events:none;
}

@media(max-width:800px){
    .student-certificates-grid{
        grid-template-columns:1fr;
    }

    .student-certificates-hero{
        align-items:flex-start;
        flex-direction:column;
    }

    .student-certificates-total{
        width:100%;
    }
}

@media(max-width:520px){
    .student-certificates-page{
        padding:14px 12px 45px;
    }

    .student-certificate-actions>a{
        flex:1;
    }

    .student-certificates-pagination{
        flex-wrap:wrap;
    }
}


/* =========================================================
   SIDEBARS AGRUPADOS - ADMIN + AULA
   ========================================================= */
.grouped-sidebar .sidebar-group{width:100%;margin:3px 0}
.grouped-sidebar .sidebar-group-toggle{width:100%;min-height:45px;display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:9px;padding:9px 12px;border:0;border-radius:11px;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit;transition:background .16s ease,transform .16s ease}
.grouped-sidebar .sidebar-group-toggle:hover{background:rgba(255,255,255,.10)}
.grouped-sidebar .sidebar-group-toggle>i:first-child{display:grid;place-items:center;font-size:15px}
.grouped-sidebar .sidebar-group-toggle>span{font-size:inherit;font-weight:700}
.grouped-sidebar .sidebar-group-arrow{font-size:10px;transition:transform .2s ease}
.grouped-sidebar .sidebar-group.open>.sidebar-group-toggle .sidebar-group-arrow{transform:rotate(180deg)}
.grouped-sidebar .sidebar-group-menu{display:grid;grid-template-rows:0fr;opacity:.25;transition:grid-template-rows .22s ease,opacity .18s ease}
.grouped-sidebar .sidebar-group-menu>*{overflow:hidden}
.grouped-sidebar .sidebar-group.open>.sidebar-group-menu{grid-template-rows:1fr;opacity:1}
.grouped-sidebar .sidebar-group-menu:before{content:"";display:block;height:0}
.grouped-sidebar .sidebar-group-menu a{min-height:38px;display:flex;align-items:center;gap:9px;margin:2px 7px 2px 18px;padding:8px 10px;border-radius:9px;text-decoration:none!important}
.grouped-sidebar .sidebar-group-menu a i{width:20px;text-align:center;font-size:12px}
.grouped-sidebar .sidebar-group-menu a span{font-size:inherit}
.grouped-sidebar .sidebar-main-link{margin-bottom:4px}
.grouped-sidebar .sidebar-group-badge{margin-left:auto;margin-right:4px}
.menu-admin.grouped-sidebar .sidebar-group-toggle{color:#eaf3ff}
.menu-admin.grouped-sidebar .sidebar-group-menu a{color:#dbe8f5!important;background:rgba(255,255,255,.035)}
.menu-admin.grouped-sidebar .sidebar-group-menu a:hover{background:rgba(255,255,255,.10)}
.menu-aula.grouped-sidebar .sidebar-group-toggle{color:#fff}
.menu-aula.grouped-sidebar .sidebar-group-menu a{color:rgba(255,255,255,.9)!important;background:rgba(255,255,255,.035)}
.menu-aula.grouped-sidebar .sidebar-group-menu a:hover{background:rgba(255,255,255,.11)}
.grouped-sidebar .sidebar-group.has-current>.sidebar-group-toggle{background:rgba(255,255,255,.12)}
.grouped-sidebar .sidebar-group-menu a.is-current{background:rgba(255,255,255,.15)!important;font-weight:800}

/* =========================================================
   FIX SIDEBARS AGRUPADOS v2 - COLAPSO REAL + CONTRASTE
   ========================================================= */
.grouped-sidebar .sidebar-group-menu{
    display:none !important;
    opacity:1 !important;
    padding:4px 0 7px;
}
.grouped-sidebar .sidebar-group.open > .sidebar-group-menu{
    display:block !important;
}
.grouped-sidebar .sidebar-group-menu::before{display:none !important}
.grouped-sidebar .sidebar-group-menu a{
    opacity:1 !important;
    visibility:visible !important;
    font-weight:700 !important;
    transition:background .16s ease,transform .16s ease,color .16s ease;
}
.grouped-sidebar .sidebar-group-menu a:hover{transform:translateX(2px)}

/* ADMIN: enlaces secundarios totalmente legibles */
.menu-admin.grouped-sidebar .sidebar-group-menu a,
.menu-admin.grouped-sidebar .sidebar-group-menu a span,
.menu-admin.grouped-sidebar .sidebar-group-menu a i{
    color:#ffffff !important;
    opacity:1 !important;
}
.menu-admin.grouped-sidebar .sidebar-group-menu a{
    background:rgba(255,255,255,.075) !important;
}
.menu-admin.grouped-sidebar .sidebar-group-menu a:hover,
.menu-admin.grouped-sidebar .sidebar-group-menu a.is-current{
    background:rgba(255,255,255,.18) !important;
}

/* AULA: contraste alto sobre fondo turquesa */
.menu-aula.grouped-sidebar .sidebar-group-menu a,
.menu-aula.grouped-sidebar .sidebar-group-menu a span,
.menu-aula.grouped-sidebar .sidebar-group-menu a i{
    color:#ffffff !important;
    opacity:1 !important;
}
.menu-aula.grouped-sidebar .sidebar-group-menu a{
    background:rgba(23,79,99,.20) !important;
}
.menu-aula.grouped-sidebar .sidebar-group-menu a:hover,
.menu-aula.grouped-sidebar .sidebar-group-menu a.is-current{
    background:rgba(23,79,99,.36) !important;
}

.grouped-sidebar .sidebar-group-toggle,
.grouped-sidebar .sidebar-group-toggle span,
.grouped-sidebar .sidebar-group-toggle i{
    opacity:1 !important;
}


/* =========================================================
   SIDEBARS CONTRASTE ALTO 20260819
   ========================================================= */

/* Encabezados de grupos */
.menu-admin.grouped-sidebar .sidebar-group-toggle,
.menu-aula.grouped-sidebar .sidebar-group-toggle{
    color:#ffffff !important;
    opacity:1 !important;
    font-weight:800 !important;
    text-shadow:0 1px 1px rgba(0,0,0,.14);
}

.menu-admin.grouped-sidebar .sidebar-group-toggle i,
.menu-aula.grouped-sidebar .sidebar-group-toggle i{
    color:#ffffff !important;
    opacity:1 !important;
}

/* Opciones internas: evitar el blanco desvanecido */
.menu-admin.grouped-sidebar .sidebar-group-menu a,
.menu-aula.grouped-sidebar .sidebar-group-menu a{
    color:#f7fbff !important;
    opacity:1 !important;
    font-weight:650 !important;
    text-shadow:0 1px 1px rgba(0,0,0,.16);
}

.menu-admin.grouped-sidebar .sidebar-group-menu a span,
.menu-admin.grouped-sidebar .sidebar-group-menu a i,
.menu-aula.grouped-sidebar .sidebar-group-menu a span,
.menu-aula.grouped-sidebar .sidebar-group-menu a i{
    color:inherit !important;
    opacity:1 !important;
}

/* Cada opción tiene superficie propia para mejorar lectura */
.menu-admin.grouped-sidebar .sidebar-group-menu a,
.menu-aula.grouped-sidebar .sidebar-group-menu a{
    background:rgba(14,42,76,.20) !important;
    border:1px solid rgba(255,255,255,.07);
}

.menu-admin.grouped-sidebar .sidebar-group-menu a:hover,
.menu-aula.grouped-sidebar .sidebar-group-menu a:hover{
    background:rgba(10,35,66,.38) !important;
    color:#ffffff !important;
    transform:translateX(2px);
}

/* Página actual */
.menu-admin.grouped-sidebar .sidebar-group-menu a.is-current,
.menu-aula.grouped-sidebar .sidebar-group-menu a.is-current{
    background:#ffffff !important;
    color:#24506d !important;
    text-shadow:none !important;
    box-shadow:0 5px 15px rgba(18,46,72,.16);
}

/* Grupo actualmente abierto */
.menu-admin.grouped-sidebar .sidebar-group.open > .sidebar-group-toggle,
.menu-aula.grouped-sidebar .sidebar-group.open > .sidebar-group-toggle{
    background:rgba(16,49,82,.28) !important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);
}

/* Links principales */
.menu-admin.grouped-sidebar > a.sidebar-main-link,
.menu-aula.grouped-sidebar > a.sidebar-main-link{
    color:#ffffff !important;
    opacity:1 !important;
    font-weight:800 !important;
}

.menu-admin.grouped-sidebar > a.sidebar-main-link i,
.menu-admin.grouped-sidebar > a.sidebar-main-link span,
.menu-aula.grouped-sidebar > a.sidebar-main-link i,
.menu-aula.grouped-sidebar > a.sidebar-main-link span{
    color:inherit !important;
    opacity:1 !important;
}
