/* Paleta tomada de logochito.png: verde bosque, lima y verde niebla. */
:root{
    --navy:#003f32;
    --blue:#278b20;
    --sky:#eef8e9;
    --ink:#123d32;
    --muted:#61766f;
    --line:#dce9d7;
    --bg:#f3f8f0;
    --green:#278b20;
    --academy-navy:#003f32;
    --academy-blue:#278b20;
    --academy-cyan:#75d719;
    --academy-gold:#a5e82d;
    --academy-ink:#073d32;
    --academy-muted:#557168;
    --academy-soft:#f1f8ed;
}

/* Panel administrativo */
.topbar{background:linear-gradient(110deg,#003f32,#086c3d)}
.topbar nav a:hover,.topbar nav a.active{border-color:#9ce43d}
.brand .brand-logo{width:92px;height:54px;object-fit:cover;border-radius:8px}
.hero{background:linear-gradient(120deg,#fff 50%,#eaf7e5)}
.btn.primary{background:#278b20}
.btn.primary:hover{background:#176f17}
input:focus,select:focus{outline-color:#dff3d5;border-color:#278b20}
.logout-form{padding:0 8px}
.logout-form .logout-icon{width:42px;height:42px;padding:0;display:grid;place-items:center;align-self:center;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;transition:background .2s,border-color .2s,transform .2s}
.logout-form .logout-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.logout-form .logout-icon:hover{background:#b42318;border-color:#ef8b82;transform:translateY(-1px)}
.logout-form .logout-icon:focus-visible{outline:3px solid #a5e82d;outline-offset:2px}

/* Página pública de inicio */
.academy-brand img{width:92px;height:58px;object-fit:cover;border-radius:8px}
.academy-hero{background:linear-gradient(125deg,#fbfef9 0%,#edf8e7 52%,#f7fcf4 100%)}
.academy-nav nav a:hover{background:#edf8e9;color:#278b20}
.academy-btn.primary{background:#278b20;box-shadow:0 12px 30px rgba(39,139,32,.25)}
.academy-btn.primary:hover{background:#176f17}
.math-board{background:linear-gradient(145deg,#075442,#002f27)}
.solution{background:rgba(117,215,25,.1);border-color:rgba(117,215,25,.25)}
.solution strong{color:#a5ed63}
.grade-portal{background:linear-gradient(125deg,#003f32,#086c3d);box-shadow:0 28px 70px rgba(0,63,50,.2)}
.final-cta{background:linear-gradient(115deg,#14752a,#55ac18)}
.academy-footer img{width:74px;height:48px;object-fit:cover;border-radius:7px}

@media(max-width:650px){
    .academy-brand img{width:76px;height:48px}
    .brand .brand-logo{width:74px;height:44px}
}

/* Refuerzo responsive de la página de inicio */
.academy-home{overflow-x:hidden}
.academy-home img{max-width:100%}
.academy-nav{width:100%}
.academy-nav nav{min-width:0}
.academy-nav nav a{white-space:nowrap}
.hero-content,.math-stage,.experience-grid>*,.methodology>*,.grade-portal>*,.period-result>*{min-width:0}
.hero-content h1,.academy-section h2,.portal-copy h2,.final-cta h2{overflow-wrap:anywhere}
.academy-search input{min-width:0}
.public-grade-table-wrap{max-width:100%;overscroll-behavior-inline:contain}

@media(max-width:1000px){
    .academy-nav{gap:14px}
    .academy-nav nav a.evaluations-link{display:flex}
    .academy-hero{min-height:auto}
    .math-stage{width:100%;max-width:620px;margin-inline:auto}
    .experience-grid{gap:42px}
    .grade-portal{gap:38px}
}

@media(max-width:650px){
    .academy-nav{padding-inline:14px;gap:8px}
    .academy-nav nav{gap:3px}
    .academy-nav nav a.evaluations-link,.academy-nav .admin-link{margin:0;padding:9px 10px;font-size:12px}
    .academy-nav .admin-link{font-size:0}
    .academy-nav .admin-link::after{content:"Docente";font-size:12px}
    .academy-hero{padding:48px 18px 56px}
    .hero-content h1{font-size:clamp(36px,12vw,43px);line-height:1.06}
    .math-stage{min-height:320px}
    .math-board{width:100%;transform:none;border-radius:18px}
    .equation{font-size:clamp(25px,8vw,35px)}
    .solution strong{font-size:17px}
    .academy-section{padding:66px 18px}
    .academy-section h2{font-size:clamp(31px,10vw,40px)}
    .experience-panel{border-radius:18px}
    .experience-panel blockquote{font-size:20px}
    .method-steps article{padding:20px}
    .grade-portal{margin-inline:10px;padding:29px 17px;border-radius:21px}
    .portal-copy h2{font-size:32px}
    .academy-search{padding:17px}
    .academy-alert{margin-inline:12px}
    .result-student{padding:18px}
    .result-student h2{font-size:18px;overflow-wrap:anywhere}
    .period-result .public-grade-table{min-width:720px}
    .final-cta{margin-inline:10px;padding:31px 21px;border-radius:20px}
    .academy-btn.light{white-space:normal;text-align:center;width:100%}
    .academy-footer{padding:28px 18px}
}

@media(max-width:380px){
    .academy-brand img{width:62px;height:42px}
    .academy-nav nav a.evaluations-link,.academy-nav .admin-link{padding-inline:8px}
    .hero-content h1{font-size:34px}
    .hero-kicker,.section-tag{letter-spacing:1.1px}
}
