:root{color-scheme:light;--ink:#172f40;--night:#142d41;--sea:#177d80;--sea-bright:#209b98;--cream:#f4efdf;--muted:#66798a;--gray:#e2e8ed;--mist:#f6f8f9;--white:#fff;--gold:#e6bd78;--shadow:0 16px 45px rgba(27,45,61,.09)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.58 system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:white}a{text-decoration:none;color:inherit}button{font:inherit;cursor:pointer}img{max-width:100%;height:auto}.wrap{width:min(1180px,calc(100% - 48px));margin-inline:auto}.skip{position:absolute;top:-200px;left:14px;background:#fff;z-index:9000;padding:10px}.skip:focus{top:12px}a:focus-visible,button:focus-visible{outline:3px solid #23a7a5;outline-offset:3px}.site-header{background:#fff;position:relative;z-index:40;box-shadow:0 2px 15px #0f263013}.header-bar{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:96px}.brand{display:flex;align-items:center;min-width:0;gap:12px}.brand-icon{width:57px;height:57px;border:2px solid #d9b37e;background:var(--night);border-radius:12px;display:grid;place-items:center;color:#fff;font:700 41px/1 Georgia,serif;flex:none}.brand-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.brand-copy strong{font-size:25px;line-height:1;letter-spacing:.11em;font-weight:850}.brand-copy small{font-size:9.5px;letter-spacing:.06em;line-height:1.32;font-weight:750;color:#73808b}.site-nav{display:flex;align-items:center;gap:4px}.site-nav a{min-height:45px;display:inline-flex;align-items:center;gap:8px;padding:12px 13px;border-radius:9px;font-size:14px;font-weight:730;white-space:nowrap;color:#344c5e;transition:color .2s,background .2s}.site-nav a:hover,.site-nav a[aria-current=page]:not(.aula-link){background:#edf6f5;color:#087e7d}.site-nav .aula-link{background:var(--night);color:white;margin-left:7px;padding:12px 19px}.site-nav .aula-link:hover,.site-nav .aula-link[aria-current=page]{background:#246276;color:#fff}.menu-button{display:none;border:0;background:#f0f5f6;border-radius:8px;width:45px;height:44px;flex:0 0 auto;flex-direction:column;align-items:center;justify-content:center;gap:5px}.menu-button span{display:block;height:2px;width:21px;background:var(--night);border-radius:4px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border-radius:8px;padding:12px 19px;font-size:13.5px;font-weight:800;line-height:1.2;border:1px solid transparent;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-main{background:var(--sea-bright);color:white}.button-main:hover{background:#117b78}.button-ghost{border-color:#ffffff6c;color:#fff;background:#ffffff15}.button-ghost:hover{background:#ffffff2b}.button-outline{border-color:#d4e0e4;color:var(--night);background:white}.button-outline:hover{border-color:var(--sea)}.button-light{background:#fff;color:var(--night)}.eyebrow,.overline{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:850}.eyebrow{color:#c7e2e0}.overline{color:#078c82}.hero{position:relative;background:var(--night);color:white;overflow:hidden}.slides{height:540px;position:relative}.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .6s ease,visibility .6s;display:flex;align-items:center;background:radial-gradient(circle at 80% 45%,#25616c,transparent 45%),linear-gradient(120deg,#152e45,#112738)}.hero-slide.active{opacity:1;visibility:visible}.theme-two{background:radial-gradient(circle at 78% 30%,#347b69,transparent 40%),linear-gradient(118deg,#17324b,#152f3b)}.theme-three{background:radial-gradient(circle at 85% 60%,#5c687c,transparent 43%),linear-gradient(118deg,#122d45,#1c4455)}.hero-layout{width:100%;position:relative;z-index:2;display:flex;align-items:center;padding:60px 0 85px}.hero-text{max-width:645px}.hero-text h1{font-size:clamp(39px,5.4vw,68px);line-height:1.09;letter-spacing:-.043em;font-weight:810;margin:18px 0 18px;max-width:780px}.hero-text p{max-width:550px;color:#dfecf0;font-size:17px;margin:0}.hero-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:28px}.hero-illustration{position:absolute;inset:0 0 0 auto;width:58%;height:100%;pointer-events:none}.orb{position:absolute;border-radius:50%}.orb-a{height:560px;width:560px;background:#79dad01c;right:-95px;top:-35px}.orb-b{height:320px;width:320px;background:#fff1bd18;right:130px;top:130px}.circle-outline{position:absolute;width:510px;height:510px;border:1px solid #ffffff21;border-radius:50%;right:-8px;top:5px}.hero-monogram{position:absolute;top:50%;right:15%;transform:translateY(-56%);font:700 clamp(170px,24vw,350px)/1 Georgia,serif;color:#ffffff13;text-shadow:0 0 120px #63c0ad50}.hero-monogram span{color:#e7c48a60}.graphic-caption{position:absolute;bottom:77px;right:8%;font-size:9px;letter-spacing:.25em;color:#ffffff6f}.carousel-controls{position:absolute;inset:auto 0 25px;display:flex;align-items:center;gap:9px;z-index:5}.carousel-arrow{width:36px;height:36px;border-radius:50%;border:1px solid #ffffff64;color:#fff;background:#ffffff12;font-size:18px}.carousel-arrow:hover{background:#ffffff30}.carousel-dots{display:flex;gap:8px;align-items:center}.carousel-dots button{width:10px;height:10px;border-radius:50px;background:#dbe6e780;border:0;padding:0;transition:width .2s}.carousel-dots button.active{background:var(--gold);width:28px}.carousel-description{margin-left:auto;font-size:9px;letter-spacing:.2em;color:#ffffff99;font-weight:700}.section{padding-block:82px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:34px}.section-heading h2{font-size:clamp(30px,3.5vw,45px);letter-spacing:-.035em;line-height:1.15;margin:7px 0 11px}.section-heading h2 em{font-style:normal;color:var(--sea)}.section-heading p{margin:0;color:var(--muted)}.text-link{font-size:14px;font-weight:770;color:#118380;white-space:nowrap}.text-link:hover{text-decoration:underline}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.course-card{border:1px solid var(--gray);border-radius:16px;overflow:hidden;background:white;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}.course-card:hover{transform:translateY(-4px);box-shadow:0 20px 46px #102b4125}.course-photo{position:relative;height:220px;background:#d9e8e9}.course-photo img{width:100%;height:100%;object-fit:cover}.course-image-fallback{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(130deg,#d7e8e6,#bccfd6)}.course-image-fallback span{font:700 120px Georgia,serif;color:#55808370}.course-label{position:absolute;bottom:14px;left:14px;background:white;font-weight:800;color:#245c5d;font-size:10px;letter-spacing:.06em;border-radius:6px;padding:7px 11px}.course-copy{padding:22px}.course-copy h3{font-size:21px;line-height:1.3;margin:0 0 9px}.course-copy p{font-size:14px;color:var(--muted);margin:0 0 22px}.course-meta{display:flex;gap:10px;color:#55717a;font-size:12px;margin-bottom:20px;flex-wrap:wrap}.course-meta span{background:#e9f2f2;border-radius:8px;padding:4px 10px}.card-actions{display:flex;gap:9px}.card-actions .button{padding-inline:10px;flex:1;white-space:nowrap;font-size:12px}.catalogue-empty{background:linear-gradient(115deg,#f5f9f9,#edf4f2);border:1px solid #e0ebec;border-radius:18px;display:flex;align-items:center;gap:25px;padding:43px;min-height:225px}.empty-symbol{width:77px;height:77px;flex:none;border-radius:18px;display:grid;place-items:center;font-size:40px;color:#167d7c;background:white}.catalogue-empty h3,.catalogue-empty h2{font-size:25px;margin:5px 0 7px;line-height:1.2}.catalogue-empty p{color:var(--muted);font-size:14px;margin:0;max-width:570px}.catalogue-empty .button{margin-left:auto;flex-shrink:0}.about-section{background:var(--mist);padding-block:82px}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:77px;align-items:center}.about-layout h2{font-size:clamp(29px,3vw,42px);line-height:1.17;letter-spacing:-.035em;margin:10px 0 19px}.about-layout p{color:var(--muted);margin:0 0 24px}.about-art{background:linear-gradient(145deg,#16344e,#17575e);border-radius:19px;min-height:325px;overflow:hidden;position:relative}.about-inner{position:relative;height:100%;min-height:325px;padding:34px 41px;display:flex;flex-direction:column;justify-content:space-between;color:white}.about-inner span{font-size:11px;letter-spacing:.25em}.about-inner strong{font-size:clamp(32px,4vw,49px);line-height:1.14}.about-inner i{position:absolute;right:-45px;bottom:-120px;width:350px;height:350px;border-radius:50%;border:60px solid #ffffff15;pointer-events:none}.enroll-banner{background:linear-gradient(110deg,#123148,#17666a);border-radius:18px;padding:42px 47px;display:flex;justify-content:space-between;align-items:center;gap:27px;color:white}.enroll-banner h2{font-size:clamp(25px,3vw,34px);line-height:1.18;letter-spacing:-.025em;margin:10px 0}.enroll-banner p{color:#d4e5e8;margin:0}.enroll-banner .button{flex:none}.page-hero{background:radial-gradient(circle at 85% 38%,#1c6470,transparent 38%),linear-gradient(115deg,#152f46,#142d3e);color:white;padding-block:79px}.page-hero h1{font-size:clamp(39px,5vw,58px);letter-spacing:-.04em;line-height:1.1;margin:12px 0}.page-hero p{font-size:17px;color:#d7e6e8;max-width:750px;margin:0}.narrow{max-width:920px}.info-panel{border-radius:18px;background:#f6f9fa;border:1px solid #e2eaed;padding:50px}.info-panel h2{font-size:clamp(27px,3vw,38px);line-height:1.2;margin:12px 0 20px}.info-panel p{color:var(--muted);font-size:16px}.info-panel .button{margin-top:12px}.detail-layout{display:grid;grid-template-columns:1.9fr 1fr;gap:38px;margin-top:22px}.detail-copy h2{font-size:36px;line-height:1.15;margin:12px 0 20px}.detail-copy p{color:#526779}.detail-aside{padding:26px;align-self:start;border:1px solid var(--gray);border-radius:14px;box-shadow:var(--shadow)}.detail-aside h3{font-size:24px;line-height:1.2;margin:0 0 9px}.detail-aside p{color:var(--muted)}.back-link{display:inline-block;margin-bottom:18px}.classroom-layout{display:grid;grid-template-columns:1fr 1fr;gap:67px;align-items:start}.classroom-layout h2{font-size:clamp(30px,3.5vw,42px);line-height:1.18;letter-spacing:-.03em;margin:12px 0 20px}.classroom-layout>div>p{color:var(--muted)}.access-status{display:inline-flex;gap:11px;align-items:center;margin-top:22px;background:#ecf5f5;padding:12px 16px;color:#286369;border-radius:8px;font-weight:720;font-size:13px}.status-dot{width:9px;height:9px;background:#d9a356;border-radius:50%}.roles{display:grid;gap:13px}.roles article{display:flex;gap:21px;padding:21px;background:#f7f9fa;border:1px solid #e4ebef;border-radius:12px}.roles article>span{font:700 27px Georgia,serif;color:#138885;line-height:1.35}.roles h3{margin:0 0 4px;font-size:19px}.roles p{margin:0;font-size:13px;color:var(--muted)}.site-footer{background:#142d41;color:white;padding-top:58px}.footer-layout{display:grid;grid-template-columns:2fr 1fr 1fr;gap:44px}.footer-brand{font-size:24px;letter-spacing:.14em}.footer-layout p,.footer-layout span{font-size:14px;color:#c0d0d9}.footer-layout h3{font-size:15px;margin:4px 0 15px}.footer-layout>div:nth-child(2){display:flex;flex-direction:column;align-items:start;gap:8px}.footer-layout a{font-size:14px;color:#d9e5e8}.footer-layout a:hover{color:#8cd8d4}.footer-bottom{border-top:1px solid #ffffff21;margin-top:50px;padding-block:23px;font-size:12px;color:#acbfcb}@media(max-width:1080px){.site-nav a{font-size:13px;padding-inline:9px}.site-nav .aula-link{padding-inline:12px}.brand-copy strong{font-size:22px}.catalogue-empty{flex-wrap:wrap}.catalogue-empty .button{margin-left:102px}}@media(max-width:820px){.wrap{width:min(1180px,calc(100% - 36px))}.header-bar{min-height:76px}.brand-icon{height:47px;width:47px;font-size:34px}.brand-copy strong{font-size:20px}.brand-copy small{font-size:8px}.menu-button{display:flex}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:14px 18px 21px;box-shadow:0 18px 28px #172b4222;flex-direction:column;align-items:stretch;gap:5px}.site-nav.open{display:flex}.site-nav a{font-size:15px;padding:13px 14px}.site-nav .aula-link{margin-left:0;justify-content:center}.slides{height:495px}.hero-text{max-width:625px}.hero-illustration{opacity:.44}.hero-text h1{font-size:clamp(38px,7vw,55px)}.section{padding-block:58px}.section-heading{align-items:start;flex-direction:column;gap:14px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.card-actions{flex-direction:column}.catalogue-empty{padding:30px}.about-layout{grid-template-columns:1fr;gap:26px}.about-art,.about-inner{min-height:250px}.enroll-banner{padding:30px;align-items:start;flex-direction:column}.classroom-layout{grid-template-columns:1fr;gap:27px}}@media(max-width:540px){.brand{gap:8px}.brand-icon{height:42px;width:42px;flex-basis:42px;font-size:29px}.brand-copy strong{font-size:17px}.brand-copy small{font-size:7.1px}.hero-layout{padding:45px 0 90px}.hero-text h1{font-size:clamp(36px,8.8vw,49px)}.hero-text p{font-size:15px}.hero-actions .button{font-size:12px;padding-inline:12px}.carousel-description{display:none}.section-heading h2{font-size:32px}.course-grid{grid-template-columns:1fr}.card-actions{flex-direction:row}.catalogue-empty{display:block;padding:25px}.catalogue-empty .empty-symbol{margin-bottom:17px}.catalogue-empty .button{margin:22px 0 0}.about-inner{padding:27px}.about-inner strong{font-size:35px}.page-hero{padding-block:55px}.page-hero p{font-size:15px}.info-panel{padding:27px 23px}.detail-layout{grid-template-columns:1fr}.footer-layout{grid-template-columns:1fr;gap:26px}.footer-bottom{margin-top:30px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}


/* CEPROMAC — identidad oficial y estructura editorial como Café Artístico. */
:root{--ink:#302c25;--night:#234521;--sea:#377d18;--sea-bright:#397f1b;--muted:#66665d;--gray:#e6e8dc;--mist:#fafaf6;--gold:#b16e3b}
body{background:#fff;color:var(--ink)}
.site-header{background:#fbfaf7;box-shadow:none;border-bottom:1px solid #e4e5dc}
.header-bar{flex-direction:column;align-items:stretch;gap:0;min-height:0}
.brand{width:100%;padding:14px 0 12px;align-self:stretch}
.brand-icon{width:74px;height:67px;flex-basis:74px;background:white;border:0;border-radius:0;overflow:hidden}
.brand-icon img{width:74px;height:67px;object-fit:contain}
.brand-copy strong{font-weight:900;font-size:25px;letter-spacing:.025em;color:#965127}
.brand-copy small{font-size:11px;letter-spacing:.03em;line-height:1.25;color:#393a34;text-transform:uppercase}
.brand-contact{margin-left:auto;display:flex;gap:18px;align-items:center;font-size:13px;color:#5a6c4b}
.brand-contact a{font-weight:750;color:#377d18}
.site-nav{display:flex;flex-wrap:nowrap;justify-content:center;align-self:stretch;gap:clamp(5px,2vw,34px);border-top:1px solid #ebe9df;padding:9px 0 11px;background:#fbfaf7}
.site-nav a{color:#3e4438;padding:9px 13px;font-weight:700;border-radius:6px;font-size:15px;white-space:nowrap}
.site-nav a:hover,.site-nav a[aria-current=page]:not(.aula-link){color:#327318;background:#eff5e7}
.site-nav .aula-link{background:transparent;color:#327318;border:1px solid #b8d1ad;margin:0;padding:8px 16px}
.site-nav .aula-link:hover,.site-nav .aula-link[aria-current=page]{background:#377d18;border-color:#377d18;color:#fff}
.menu-button{display:none!important}
.section-rule{display:flex;align-items:center;gap:22px;padding:21px 0 15px}
.section-rule h2{font:italic 700 24px/1.2 Georgia,serif;color:#975427;margin:0}
.section-rule span{flex:1;height:1px;background:#e6e8df}
.hero{max-width:calc(100% - 42px);width:1320px;margin:0 auto;border-radius:19px;overflow:hidden}
.hero-slide{background:radial-gradient(circle at 80% 35%,#5e943e 0,transparent 40%),linear-gradient(120deg,#294d22,#183728)}
.theme-one{background:radial-gradient(circle at 82% 30%,#6d9c27 0,transparent 44%),linear-gradient(115deg,#204a2a,#214537)}
.theme-two{background:radial-gradient(circle at 86% 35%,#8d5b34,transparent 42%),linear-gradient(125deg,#294727,#243d31)}
.theme-three{background:radial-gradient(circle at 85% 50%,#547e49,transparent 42%),linear-gradient(125deg,#32533a,#203a32)}
.hero-illustration .orb-a{background:#c9e1ad20}
.hero-illustration .orb-b{background:#d1a36c22}
.hero-monogram{font-family:Georgia,serif;color:#edf3e52b;text-shadow:none}
.hero-text h1{font-family:Georgia,serif;font-weight:720}
.hero .eyebrow{color:#ddf1d7}
.hero .button-main,.button-main{background:#387c19}
.hero .button-main:hover,.button-main:hover{background:#245c12}
.promo-price{display:flex;gap:14px;align-items:center;margin-top:18px;flex-wrap:wrap}
.promo-price strong{font-size:30px;color:#fff2bc;font-weight:900;line-height:1.15}
.promo-price span{color:#eef7e8;font-size:13px}
.eyebrow{color:#e9f2df}
.overline,.text-link{color:#367a1d}
.section-heading h2 em{color:#3b771d}
.level-heading{display:flex;align-items:center;gap:15px;margin:25px 0 18px}
.level-heading .level-rule{height:12px;width:12px;background:#79a546;border-radius:2px}
.level-heading h3{font-size:17px;letter-spacing:.08em;color:#7d4b26;text-transform:uppercase;margin:0;font-weight:900}
.level-heading:not(:first-child){margin-top:42px}
.course-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.course-photo{height:175px}
.course-image-fallback{background:linear-gradient(135deg,#e3ecdc,#fff9ef)}
.course-image-fallback span{font-family:Georgia,serif;color:#6d9b50aa}
.course-label{color:#37751b}
.course-copy{padding:18px}
.course-copy h3{font-size:18px;line-height:1.3;min-height:48px}
.course-copy p{font-size:13px;min-height:59px}
.card-actions{flex-direction:column}
.card-actions .button{min-height:42px;font-size:12px}
.admissions-section{padding:28px 0 78px}
.admissions-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}
.admission-panel{padding:26px 29px;border:1px solid #dfe6d7;border-radius:14px;background:#fbfcf8}
.panel-title{display:flex;align-items:center;gap:12px}
.panel-title span{width:37px;height:37px;border-radius:50%;background:#e9f1df;color:#2f731c;display:grid;place-items:center;font-weight:900}
.panel-title h3{margin:0;color:#346d20;font-size:21px}
.requirements{padding:0 0 0 22px;margin:24px 0 15px}
.requirements li{padding:0 0 12px 6px;line-height:1.6;font-size:14px;color:#40483a}
.requirements li::marker{color:#367a1d;font-weight:900}
.admission-small{font-size:13px;color:#55584e}
.offer-note{display:flex;flex-wrap:wrap;gap:9px 15px;padding:13px;background:#e8f2da;color:#255719;border-radius:8px;margin-top:16px;font-size:13px}
.fees{margin:16px 0 25px}
.fees>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #dfe6d7}
.fees dt{color:#55624c;font-size:14px}
.fees dd{margin:0;font-weight:900;font-size:18px;white-space:nowrap;color:#8e4b1d}
.hours{display:flex;flex-direction:column;gap:3px;border-radius:8px;background:#edf4e4;padding:15px}
.hours span{font-size:12px;color:#577050}
.hours strong{font-size:22px;color:#2c6717}
.page-hero{background:linear-gradient(120deg,#214527,#336830)}
.info-panel{background:#f8faf5}
.promo-notice{background:#e9f4df;border:1px solid #aacb87;border-radius:13px;padding:22px;display:flex;gap:10px;flex-direction:column;margin-bottom:28px}
.promo-notice strong{font-size:20px;color:#245b14}
.promo-notice span{color:#3d6234}
.matricula-intro{margin-bottom:25px}
.matricula-intro h2{font-size:33px;line-height:1.2;margin:8px 0 10px}
.matricula-intro p{color:#5a6857;margin:0}
.selected-course{background:#f7f6ed;border-left:4px solid #8a5d33;padding:13px 17px;margin:15px 0 22px;font-size:14px}
.contact-admissions{border:1px solid #dbe6d4;background:#fff;border-radius:14px;padding:30px;margin-top:27px;display:flex;justify-content:space-between;gap:24px;align-items:center}
.contact-admissions h3{font-size:27px;margin:8px 0}
.contact-admissions p{color:#667560;margin:0}
.contact-actions{display:flex;flex-direction:column;gap:8px;min-width:225px}
.contact-actions .button{width:100%}
.footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.site-footer{background:#253c28}
@media(max-width:1050px){.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-copy h3,.course-copy p{min-height:0}.card-actions{flex-direction:row}.brand-contact{font-size:12px}}
@media(max-width:820px){.header-bar{min-height:0}.brand{min-height:78px}.brand-icon{width:62px;height:58px;flex-basis:62px}.brand-icon img{width:62px;height:58px}.brand-copy strong{font-size:21px}.brand-copy small{font-size:9px}.site-nav,.site-nav.open{position:static;display:flex;flex-direction:row;align-items:center;justify-content:space-between;border-top:1px solid #ebe9df;padding:7px 0 11px;gap:3px;box-shadow:none}.site-nav a{font-size:clamp(10px,1.6vw,13px);padding:9px 7px;justify-content:center}.site-nav .aula-link{padding:8px 7px}.hero{width:auto;max-width:calc(100% - 26px)}.slides{height:440px}.hero-text h1{font-size:clamp(32px,5.5vw,49px)}.admissions-grid{grid-template-columns:1fr}.admissions-section{padding-block:28px 62px}.brand-contact{display:none}}
@media(max-width:540px){.header-bar{gap:0}.brand{padding:10px 0}.brand-icon{width:52px;height:52px;flex-basis:52px}.brand-icon img{width:52px;height:52px}.brand-copy strong{font-size:18px}.brand-copy small{font-size:8px}.site-nav,.site-nav.open{gap:0;padding:5px 0 9px}.site-nav a{font-size:clamp(9px,2.7vw,12px);padding:7px 4px;white-space:nowrap;min-height:41px;letter-spacing:-.1px}.site-nav .aula-link{padding:7px 3px;min-height:41px}.site-nav .aula-link span{display:none}.section-rule{padding:15px 0 11px}.section-rule h2{font-size:20px}.hero{max-width:calc(100% - 20px);border-radius:14px}.slides{height:445px}.hero-text h1{font-size:clamp(34px,8vw,44px)}.hero-text p{font-size:14px}.promo-price strong{font-size:24px}.promo-price span{font-size:12px}.course-grid{grid-template-columns:1fr}.course-photo{height:170px}.card-actions{flex-direction:row}.level-heading:not(:first-child){margin-top:30px}.admission-panel{padding:21px}.contact-admissions{flex-direction:column;align-items:stretch;padding:24px}.contact-actions{min-width:0}.fees dd{font-size:16px}}
@media(max-width:360px){.site-nav a{font-size:9px;padding:7px 2px}.site-nav .aula-link{font-size:9px}.brand-copy strong{font-size:16px}.brand-copy small{font-size:7px}}

/* Ajustes de alineación y pictogramas de especialidad. */
.header-bar{position:relative}
.brand-contact{position:absolute;right:0;top:34px;margin:0}
.course-image-fallback{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;background:radial-gradient(circle at 70% 35%,#ffffffe2,transparent 50%),linear-gradient(140deg,#e9efe0,#f7f1e7);color:#407625}
.course-image-fallback svg{display:block;width:84px;height:84px;filter:drop-shadow(0 7px 11px #315d1326)}
.course-image-fallback span{font:800 10px/1.2 system-ui,Arial,sans-serif;letter-spacing:.19em;color:#86502e}
.course-style-administracion-finanzas,.course-style-gestion-administrativa{background:linear-gradient(130deg,#e1eee1,#f8f4e9)}
.course-style-recursos-humanos,.course-style-asistencia-direccion{background:linear-gradient(130deg,#f3e9d7,#f6f8e8)}
.course-style-redes-sistemas{background:linear-gradient(130deg,#e0e9e8,#eef6e9)}
.course-style-cuidados-enfermeria,.course-style-farmacia-parafarmacia{background:linear-gradient(130deg,#edf4e9,#e8efdb)}
.course-style-educacion-infantil{background:linear-gradient(130deg,#f8efd9,#eef4da)}
@media(max-width:820px){.brand-contact{display:none}}

/* Ajustes de estructura solicitados: cabecera central, menú, sliders, imágenes */
.site-header .header-bar{align-items:center}
.site-header .brand{width:max-content;max-width:100%;margin:0 auto;padding:19px 0;display:flex;align-items:center;justify-content:center;gap:13px;text-align:center}
.brand-icon,.brand-icon img{width:84px;height:78px}
.brand-icon{flex:0 0 84px}
.brand-copy{align-items:center;text-align:center}
.brand-copy strong{font-size:29px;letter-spacing:.035em}
.brand-copy small{font-size:12px;line-height:1.3}
.brand-contact{display:none!important}
.site-nav,.site-nav.open{width:100%;justify-content:center;gap:clamp(7px,2.5vw,38px);padding:10px 0 13px}
.site-nav a,.site-nav .aula-link{font-size:18px;font-weight:760;letter-spacing:0;padding:11px 14px}
.hero{margin-top:15px}
.slides{height:365px}
.hero-layout{padding:25px 0 34px}
.hero-text h1{font-size:clamp(31px,4.1vw,47px);margin:11px 0 12px}
.hero-text p{font-size:15px;line-height:1.48;max-width:610px}
.hero-actions{margin-top:17px}
.promo-price{margin-top:10px}
.promo-price strong{font-size:25px}
.carousel-controls{display:none!important}
#especialidades.section{padding-top:24px}
#especialidades .level-heading:first-child{margin-top:0}
#especialidades .level-heading{margin-bottom:16px}
.course-photo{position:relative;isolation:isolate;background:#e9eee5;overflow:hidden}
.course-photo .course-image-fallback{position:absolute;inset:0;z-index:0;width:100%;height:100%}
.course-photo img.course-thumb{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .35s ease}
.course-card:hover .course-photo img.course-thumb{transform:scale(1.035)}
.course-photo .course-label{z-index:2}
@media(max-width:1050px){
.site-nav a,.site-nav .aula-link{font-size:16px;padding:10px 11px}
}
@media(max-width:820px){
.site-header .header-bar{min-height:0}
.site-header .brand{min-height:0;padding:13px 0 12px}
.brand-icon,.brand-icon img{width:68px;height:65px}
.brand-icon{flex-basis:68px}
.brand-copy strong{font-size:25px}
.brand-copy small{font-size:10.5px}
.site-nav,.site-nav.open{position:static;display:flex;flex-direction:row;justify-content:space-evenly;align-items:center;flex-wrap:nowrap;gap:3px;box-shadow:none;padding:9px 0 12px}
.site-nav a,.site-nav .aula-link{font-size:clamp(13px,1.9vw,16px);padding:9px 8px;white-space:nowrap}
.slides{height:345px}
.hero-layout{padding:22px 0 32px}
.hero-text h1{font-size:clamp(30px,5vw,39px)}
.hero-text p{font-size:14px}
}
@media(max-width:550px){
.site-header .brand{gap:10px;padding:12px 0}
.brand-icon,.brand-icon img{width:57px;height:54px}
.brand-icon{flex-basis:57px}
.brand-copy strong{font-size:21px}
.brand-copy small{font-size:9.2px;line-height:1.24}
.site-nav,.site-nav.open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:8px;row-gap:5px;padding:9px 0 11px}
.site-nav a,.site-nav .aula-link{font-size:15px;white-space:normal;min-height:43px;padding:7px;text-align:center;justify-content:center;line-height:1.15}
.site-nav .aula-link span{display:inline}
.slides{height:360px}
.hero{margin-top:12px}
.hero-layout{padding:18px 0 27px}
.hero-text h1{font-size:clamp(29px,7vw,36px);line-height:1.08}
.hero .eyebrow{font-size:10px}
.hero-text p{font-size:13px;line-height:1.45}
.hero-actions{margin-top:13px}
.hero-actions .button{font-size:11px;min-height:41px;padding:10px 11px}
.promo-price{gap:7px}
.promo-price strong{font-size:22px}
#especialidades.section{padding-top:20px}
}

/* CEPROMAC EN LINEA · revisión: navegación única, fotos de formación online y pie compacto. */
.site-header .site-nav,.site-header .site-nav.open{
  display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;
  grid-template-columns:none!important;justify-content:space-between!important;
  gap:clamp(1px,1.3vw,18px)!important;overflow:visible;width:100%;
  align-items:center;min-width:0;
}
.site-header .site-nav a,.site-header .site-nav .aula-link{
  display:inline-flex;align-items:center;justify-content:center;
  flex:0 1 auto;min-width:0;white-space:nowrap!important;
  font-size:clamp(11px,1.45vw,17px);line-height:1.1!important;
  padding:10px clamp(4px,1vw,14px);text-align:center;
}
.site-header .brand-copy strong{letter-spacing:.013em;white-space:nowrap;font-size:clamp(19px,2.5vw,27px)}
.hero-slide{transition:opacity 1.35s ease,visibility 1.35s}
.hero-slide .hero-illustration{position:absolute;inset:0 0 0 auto;width:58%;height:100%;opacity:1;overflow:hidden}
.hero-photo{width:100%;height:100%;display:block;object-fit:cover;object-position:center 35%}
.hero-slide .hero-illustration:after{
 content:"";position:absolute;inset:0;
 background:linear-gradient(90deg,#284a30 0%,rgba(38,70,42,.62) 15%,rgba(25,43,36,.05) 55%,rgba(25,43,36,.1) 100%);
}
.hero-slide .hero-text{max-width:615px;text-shadow:0 1px 2px #1527193d}
.hero-slide .hero-text h1{max-width:590px}
.notice-strip{display:flex;align-items:center;gap:15px;flex-wrap:wrap;
 padding-block:14px;border-bottom:1px solid #e0e7d8;color:#3c5e30;font-size:13px}
.notice-strip strong{color:#8a502c}
.notice-strip a{margin-left:auto;font-weight:750;color:#367a1d}
.course-admissions{margin-top:38px}
.course-admissions>h3{font-size:24px;margin-bottom:16px}
.course-admissions .admissions-grid{grid-template-columns:1.4fr 1fr}
.matricula-programas{padding:24px 0}
.matricula-programas h3{font-size:20px;margin:0 0 14px}
.matricula-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.matricula-links a{border:1px solid #e0e7d8;border-radius:9px;background:#f8faf5;
 padding:13px 15px;display:flex;justify-content:space-between;align-items:center;gap:10px;
 font-weight:720;color:#2f5528}
.matricula-links a:hover{border-color:#397f1b;background:#edf6e8}
.site-footer{padding:0;background:#253c28}
.site-footer .footer-compact{min-height:102px;padding-block:20px;display:flex;
 justify-content:space-between;gap:15px 23px;align-items:center;flex-wrap:wrap}
.footer-copyright{font-size:12px;color:#dbe8d5;white-space:nowrap}
.footer-contacts{display:flex;gap:8px 14px;align-items:center;flex-wrap:wrap}
.footer-contacts a,.footer-address{font-size:12px;color:#dce8d8}
.footer-address{font-style:normal}
.site-footer .footer-aula{min-height:38px;padding:9px 14px;background:#eff5e8;color:#245d19;
 font-size:12px;white-space:nowrap}
.site-footer .footer-aula:hover{background:#fff}
@media(max-width:820px){
  .site-header .site-nav,.site-header .site-nav.open{position:static!important}
  .site-header .site-nav a,.site-header .site-nav .aula-link{
    font-size:clamp(9px,1.55vw,13px);padding:8px clamp(2px,.5vw,7px);min-height:39px;
  }
  .hero-slide .hero-illustration{width:72%;opacity:.60}
  .hero-slide .hero-illustration:after{background:linear-gradient(90deg,#284a30 0%,rgba(29,53,35,.4) 45%,rgba(29,53,35,.14))}
  .course-admissions .admissions-grid{grid-template-columns:1fr}
}
@media(max-width:550px){
 .site-header .site-nav,.site-header .site-nav.open{display:flex!important;flex-direction:row!important;
   flex-wrap:nowrap!important;gap:0!important;justify-content:space-between!important;
   grid-template-columns:none!important}
 .site-header .site-nav a,.site-header .site-nav .aula-link{
   display:inline-flex;white-space:nowrap!important;min-height:36px;line-height:1!important;
   font-size:clamp(8.5px,2.55vw,11.5px)!important;
   padding:8px clamp(1px,.6vw,3px)!important;letter-spacing:-.22px;
 }
 .site-header .site-nav .aula-link span{display:none}
 .site-header .brand-copy strong{font-size:clamp(17px,4.7vw,22px)}
 .slides{height:390px}
 .hero-slide .hero-illustration{inset:0;width:100%;opacity:.30}
 .hero-slide .hero-illustration:after{background:linear-gradient(90deg,#203d2e77,#15362630)}
 .hero-slide .hero-text h1{font-size:clamp(29px,7vw,37px)}
 .hero-slide .hero-text p{font-size:14px;line-height:1.48}
 .hero-layout{padding:20px 0 28px}
 .matricula-links{grid-template-columns:1fr}
 .notice-strip a{margin-left:0}
 .site-footer .footer-compact{justify-content:center;text-align:center;gap:12px}
 .footer-contacts{justify-content:center}
}
@media(max-width:350px){
 .site-header .site-nav a,.site-header .site-nav .aula-link{
   font-size:8.2px!important;padding-inline:1px!important;letter-spacing:-.3px}
}

/* Fichas profesionales CEPROMAC EN LINEA · diseño editorial limpio */
.course-card{display:flex;flex-direction:column}
.course-copy{flex:1;display:flex;flex-direction:column;padding:17px}
.course-copy h3{font-size:clamp(16px,1.45vw,19px);line-height:1.3;min-height:0;margin:0 0 8px}
.course-copy p.card-summary{min-height:0;margin:0 0 13px;font-size:12.5px;line-height:1.45;
 display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#677562}
.course-figures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:10px 0 9px;
 margin-top:auto;border-top:1px solid #e9eee7}
.course-figures>div:first-child{grid-column:span 2}
.course-figures small{display:block;font-size:10.5px;color:#69786b;font-weight:700}
.course-figures strong{display:block;font-size:13.5px;line-height:1.4;color:#315c2a;font-weight:870;white-space:nowrap}
.course-copy a.detail-cta{display:inline-flex;justify-content:space-between;flex:none;
 width:100%;min-height:39px;margin-top:8px;font-size:12.5px}
.compact-page-hero{padding-block:36px}
.compact-page-hero h1{font-size:clamp(30px,4.5vw,45px);margin-bottom:0}
.program-heading{max-width:830px;margin:0 0 26px}
.program-heading h1{font-size:clamp(28px,3.6vw,43px);line-height:1.17;letter-spacing:-.025em;margin:7px 0 12px}
.program-heading p{color:#536951;font-size:15px;line-height:1.6;margin:0}
.program-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:17px}
.program-tags span{background:#f4f8f0;border:1px solid #e0e9db;border-radius:25px;
 font-size:11.5px;font-weight:760;color:#326526;padding:7px 11px}
.program-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(270px,1fr);gap:34px;align-items:start}
.program-main{min-width:0}
.program-section{padding:20px 0;border-top:1px solid #e3e9df}
.program-section h2{font-size:clamp(19px,2vw,23px);line-height:1.25;color:#2f4829;margin:0 0 9px}
.program-section p{font-size:13.8px;line-height:1.55;color:#586958;margin:0}
.program-pill-list,.subjects-list,.compact-requirements{list-style:none;padding:0;margin:0}
.program-pill-list{display:flex;flex-wrap:wrap;gap:7px}
.program-pill-list li{padding:7px 11px;border-radius:7px;background:#eff5eb;
 color:#305d28;font-size:12px;font-weight:740}
.program-section p.curriculum-note{font-size:12px;color:#747e72;margin:0 0 12px}
.subjects-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 18px}
.subjects-list li{position:relative;padding-left:15px;font-size:13px;line-height:1.45}
.subjects-list li:before{content:"";position:absolute;left:2px;top:7px;background:#548e37;width:5px;height:5px;border-radius:50%}
.study-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:0;margin:0;list-style:none}
.study-steps li{padding:15px;background:#f7faf4;border-radius:10px;border:1px solid #e4ecdf}
.study-steps b{display:block;color:#397b20;font-size:14px;margin-bottom:5px}
.study-steps span{display:block;color:#5d6e5c;font-size:12px;line-height:1.5}
.practice-section{margin:5px 0 15px;background:#f6faf4;border:1px solid #e1eadc;border-radius:10px;padding:18px}
.compact-requirements{display:grid;gap:9px}
.compact-requirements li{position:relative;padding-left:19px;font-size:13px;line-height:1.5}
.compact-requirements li:before{content:"✓";position:absolute;left:0;font-weight:900;color:#397c21}
.program-sidebar{position:sticky;top:20px}
.program-enrollment{background:#fbfcf8;border:1px solid #dbe7d6;border-radius:14px;padding:24px}
.program-enrollment h2{font-size:20px;line-height:1.3;margin:0 0 12px}
.program-prices{margin:0 0 17px}
.program-prices>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #e5eae2}
.program-prices dt{font-size:12px;color:#697666}
.program-prices dd{margin:0;font-size:13px;font-weight:860;color:#2e5a25;white-space:nowrap}
.program-offer{font-size:12px;background:#e8f3e1;color:#336427;border-radius:8px;padding:10px}
.program-cta{display:flex;width:100%}
.program-fine{font-size:11px;line-height:1.5;color:#7c8577;margin:12px 0 0}
.catalog-message{border-top:1px solid #e0e8dc;padding-top:24px;color:#627161;font-size:14px}
.section-title-row{display:flex;gap:15px;align-items:center;justify-content:space-between;margin-bottom:19px}
.section-title-row h2,.noticeboard h2{font-size:clamp(22px,2.5vw,28px);line-height:1.25;margin:0}
.home-courses{padding-top:0}
.noticeboard{padding-block:22px 55px}
.noticeboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}
.noticeboard-item{border:1px solid #e1e9db;border-radius:12px;padding:19px;background:#f9fbf8}
.noticeboard-item h3{font-size:16px;line-height:1.3;margin:8px 0}
.noticeboard-item p{color:#617160;font-size:13px;line-height:1.5;margin:0 0 10px}
.contact-admissions h2{font-size:23px;line-height:1.3;margin:8px 0}
@media(max-width:1050px){.course-figures strong{font-size:13px}}
@media(max-width:820px){.program-layout{grid-template-columns:1fr;gap:19px}
 .program-sidebar{position:static}.noticeboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.program-heading h1{font-size:29px}
 .program-tags span{font-size:11px}.subjects-list{grid-template-columns:1fr}
 .study-steps{grid-template-columns:1fr;gap:7px}.study-steps li{padding:11px 13px}
 .course-figures{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
 .course-figures>div:first-child{grid-column:auto}
 .course-figures strong{font-size:clamp(10.8px,3.1vw,13.5px)}
 .noticeboard-grid{grid-template-columns:1fr}.section-title-row{align-items:start;flex-direction:column;gap:5px}
}

/* CEPROMAC EN LINEA: ritmo visual consistente y sin bloques vacíos. */
#especialidades.section{padding-top:29px;padding-bottom:43px}
.section{padding-block:49px}
.level-heading{margin:16px 0 13px}
.level-heading:not(:first-child){margin-top:32px}
.course-grid{row-gap:17px}
.page-hero.compact-page-hero{padding-block:32px}
.page-hero:not(.compact-page-hero){padding-block:53px}
.section:has(.program-heading){padding-top:35px;padding-bottom:48px}
.program-heading{margin-bottom:20px}
.program-section{padding-block:16px}
.course-photo{height:168px}
.hero{margin-top:11px}
.site-footer .footer-compact{min-height:80px;padding-block:13px}
.catalog-message{margin:0}
.portal-alert{background:#fff6ed;border:1px solid #d9ab85;color:#824b21;border-radius:10px;padding:13px 17px;margin-top:19px;font-size:13px}
.portal-confirm{padding:12px 15px;margin:12px 0;background:#ecf6e8;border-radius:9px;color:#256421;font-size:13px}
.portal-wrap{max-width:860px;padding-block:39px 51px}
.portal-intro{margin-bottom:21px}
.portal-intro h1{font-size:clamp(28px,4.5vw,39px);line-height:1.14;letter-spacing:-.025em;margin:7px 0 9px}
.portal-intro p{font-size:14px;line-height:1.55;color:#637262;margin:0;max-width:740px}
.portal-form{border:1px solid #dfe7d9;border-radius:14px;background:#fff;padding:25px;box-shadow:0 10px 29px #16392008}
.portal-form label{display:flex;flex-direction:column;gap:7px;color:#34512f;font-size:12.5px;font-weight:760;min-width:0}
.portal-form label small{font-weight:500;color:#798477}
.portal-form input:not([type=hidden]):not([type=checkbox]):not([type=file]),.portal-form select,.portal-form textarea{
 display:block;width:100%;border:1px solid #d2decd;background:#fff;border-radius:8px;
 padding:10px 12px;font:500 14px/1.35 system-ui,Arial,sans-serif;color:#263f24;min-height:43px;
}
.portal-form input:focus-visible,.portal-form select:focus-visible,.portal-form textarea:focus-visible{outline:2px solid #3a8a25;outline-offset:1px}
.portal-form textarea{resize:vertical;min-height:120px}
.portal-form input[type=file]{width:100%;font-size:11.5px;font-weight:550;color:#526550;
 border:1px dashed #bfcfbb;border-radius:8px;padding:10px;background:#fafcf9}
.portal-form input[type=file]::file-selector-button{border:0;border-radius:6px;padding:8px 10px;background:#e7f1e1;color:#2e6120;margin-right:9px;cursor:pointer}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 17px}
.form-group-title{display:flex;align-items:center;gap:10px;margin:23px 0 15px}
.form-group-title:first-of-type{margin-top:0}
.form-group-title span{font-size:11px;font-weight:850;border-radius:6px;padding:5px 8px;color:#2f7a17;background:#eaf4e4}
.form-group-title h2{font-size:17px;margin:0;line-height:1.3}
.upload-note{font-size:12px;line-height:1.6;color:#738071;margin:7px 0 14px}
.form-wide{grid-column:1/-1}
.form-footer{border-top:1px solid #e4eae0;margin-top:23px;padding-top:19px;display:flex;flex-direction:column;align-items:start;gap:13px}
.form-footer .checkline{flex-direction:row;align-items:flex-start;font-weight:500;font-size:12px;line-height:1.5}
.form-footer .checkline input{margin:2px 5px 0 0;accent-color:#397c21}
.form-footer p{font-size:11px;line-height:1.5;color:#6a7a68;margin:0}
.portal-small-link{font-size:13px;color:#5e735d;margin:18px 0}
.portal-small-link a{color:#347b1c;font-weight:800}
.receipt-box{max-width:860px;margin:24px auto 0;padding:21px;border-radius:12px;background:#eef6e9;border:1px solid #c6debb;color:#315f26}
.receipt-box h2{font-size:21px;margin:0 0 8px}
.receipt-box p{font-size:13px;line-height:1.6;margin:0 0 12px}
.receipt-box dl{display:flex;gap:14px;flex-wrap:wrap;margin:0}
.receipt-box dl>div{padding:9px 14px;border-radius:8px;background:#fff}
.receipt-box dt{font-size:11px;color:#6a7866}
.receipt-box dd{font-size:16px;font-weight:850;margin:0;letter-spacing:.04em;word-break:break-word}
.tracking-form{max-width:540px;display:grid;gap:15px}
.tracking-status{display:flex;justify-content:space-between;align-items:start;flex-wrap:wrap;gap:12px;background:#f8faf6;
 border:1px solid #e0eadb;border-radius:13px;padding:23px}
.tracking-status h2{font-size:25px;margin:7px 0}
.tracking-status p{font-size:13px;margin:0;color:#627461}
.tracking-pill,.record-badge{font-size:11px;font-weight:850;border-radius:20px;padding:7px 11px;white-space:nowrap;background:#e3f2de;color:#326b25}
.review-notes{font-size:13px;line-height:1.6;background:#f8faf6;padding:14px;border-radius:9px;margin-top:14px}
.tracking-next{margin-top:16px;padding:22px;border:1px solid #d9e5d1;border-radius:13px}
.tracking-next h3{font-size:21px;margin:0 0 9px}
.tracking-next p{font-size:13px;color:#647362;line-height:1.6}
.inline-portal-form{max-width:660px;display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:16px;box-shadow:none}
.inline-portal-form button{grid-column:1/-1;justify-self:start}
.login-area{max-width:590px;padding-block:46px 55px}
.login-form{display:grid;gap:15px}
.portal-dashboard{padding-block:27px 48px}
.dashboard-welcome{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:17px}
.dashboard-welcome h1{font-size:clamp(27px,3.5vw,36px);line-height:1.2;margin:6px 0}
.dashboard-welcome p{margin:0;color:#6c796c;font-size:12px}
.logout-form{flex-shrink:0}
.dash-nav{display:flex;align-items:center;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;gap:6px;
 white-space:nowrap;border-bottom:1px solid #dfe7d9;padding-bottom:9px;margin-bottom:20px}
.dash-nav a{font-size:12.5px;font-weight:800;color:#647365;border-radius:8px;padding:10px 13px;background:#f3f6f0}
.dash-nav a[aria-current=page]{background:#397b1c;color:#fff}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:13px}
.stat-tile{background:#f9fbf8;padding:18px;border:1px solid #e0e9dc;border-radius:12px}
.stat-tile small{display:block;font-size:12px;color:#647561;margin-bottom:7px}
.stat-tile strong{font-size:clamp(19px,3vw,28px);line-height:1.1;color:#2d5924}
.dashboard-hint{font-size:13px;color:#70806e;margin-top:18px}
.empty-board{padding:25px;border:1px dashed #cbd9c5;background:#fafcf8;border-radius:12px;color:#627560;font-size:14px}
.dashboard-panel{min-width:0;background:#fff;border:1px solid #e0e9df;border-radius:13px;padding:21px}
.dashboard-panel h2{font-size:18px;margin:0 0 10px}
.dashboard-panel>p{font-size:13px;line-height:1.5;color:#657360}
.dashboard-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.stack-form{box-shadow:none;padding:0;border:0;display:grid;gap:14px}
.records-list{display:grid;gap:14px}
.record-card{border:1px solid #dfe9d9;border-radius:12px;padding:18px;background:#fff}
.record-card>header{display:flex;align-items:start;justify-content:space-between;gap:16px}
.record-card header b{font-size:12px;color:#3c742a}
.record-card h2{font-size:17px;margin:4px 0}
.record-card header a{font-size:13px;color:#2a7a1c}
.record-meta{font-size:12px;line-height:1.6;color:#667564;margin:10px 0}
.document-links{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.document-links a{padding:7px 9px;border-radius:7px;font-size:12px;background:#f0f6ec;color:#356b25;font-weight:750}
.record-action{margin-top:13px;padding-top:12px;border-top:1px solid #e7ece3;display:flex;flex-wrap:wrap;gap:10px;align-items:end}
.record-action label{font-size:12px;color:#50674d}
.record-action input{display:block;width:min(360px,100%);min-height:39px;padding:8px;border:1px solid #d6e2d0;border-radius:7px;margin-top:5px}
.record-action p{font-size:12px;color:#637562;line-height:1.5}
.record-buttons{display:flex;flex-wrap:wrap;gap:8px}
.account-list{display:grid;gap:4px;max-height:730px;overflow:auto}
.account-list article{display:flex;align-items:center;gap:10px;justify-content:space-between;border-bottom:1px solid #ebeee9;padding:11px 0}
.account-list strong{font-size:13px;line-height:1.3;display:block}
.account-list small{font-size:11px;color:#738070;display:block;margin-top:5px}
.small-quiet{border:1px solid #c6dcc2;background:#f5faf2;border-radius:6px;padding:6px 10px;font-size:11px;font-weight:800;color:#356b21}
.current-user-tag{font-size:11px;color:#728471}
.list-below{margin-top:16px}
.lesson-item{border-bottom:1px solid #e2e9dd;padding:10px 0}
.lesson-item summary{cursor:pointer;font-size:13px;color:#375331}
.lesson-item summary small{font-weight:400;color:#7c8979}
.lesson-item p{font-size:13px;line-height:1.6;color:#586b56;white-space:normal;padding-left:12px}
.student-program-title{font-size:20px;margin:15px 0}
.student-module{margin-bottom:12px}
.student-module h3{font-size:18px;margin:0 0 12px}
@media(max-width:820px){.section{padding-block:39px}.portal-dashboard{padding-block:22px 39px}
 .dashboard-two{grid-template-columns:1fr}}
@media(max-width:550px){
 #especialidades.section{padding-top:20px;padding-bottom:31px}
 .portal-wrap{padding-block:24px 36px}
 .portal-form{padding:17px}
 .form-grid,.inline-portal-form{grid-template-columns:1fr}
 .form-group-title{margin-top:19px}
 .inline-portal-form button{grid-column:auto}
 .dashboard-welcome{align-items:start;flex-direction:column;gap:12px}
 .dashboard-welcome h1{font-size:28px}
 .dash-nav a{font-size:12px;padding:9px 11px}
 .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .record-card>header{flex-direction:column;gap:7px}
 .receipt-box{margin-inline:12px}
 .site-footer .footer-compact{gap:8px}
}

/* Formularios internos compactos: sin huecos innecesarios ni tarjetas abultadas */
.task-submission-form{box-shadow:none;margin:12px 0 0;padding:14px;border-radius:10px;display:grid;gap:11px;background:#fbfdf9}
.task-submission-form textarea{min-height:85px}
.task-submission-form button{justify-self:start;min-height:39px}
.user-reset-box{border-top:1px solid #e4eadf;padding-top:16px;margin-top:18px}
.user-reset-box h3{font-size:15px;margin:0 0 12px;color:#3b6331}
.teacher-assignment{min-width:86px;font-size:12px}
.teacher-assignment summary{cursor:pointer;color:#326a26;font-weight:750}
.teacher-assignment form{display:grid;gap:7px;padding:9px 0}
.teacher-assignment select{border:1px solid #cadac4;border-radius:6px;padding:6px;max-width:180px;font-size:12px}
.account-password-panel{max-width:570px}
.account-password-panel .portal-form{padding:0;margin-top:17px}
.course-card .card-summary{max-width:100%}
@media(max-width:540px){
 .course-grid{row-gap:14px}
 .course-copy{padding:14px}
 .portal-dashboard .dashboard-panel{padding:15px}
 .user-reset-box{margin-top:13px;padding-top:14px}
 .task-submission-form{padding:12px}
}

/* Mensajes académicos privados: ritmo claro y compacto en cualquier pantalla */
.messages-intro{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}
.messages-intro p{font-size:13px;line-height:1.45;color:#5d735b;margin:0}
.messages-new{font-size:11px;color:#357025;border:1px solid #cbe2c5;background:#f3faf0;padding:7px 10px;border-radius:30px;white-space:nowrap}
.messages-layout{display:grid;grid-template-columns:minmax(235px,.85fr) minmax(0,1.8fr);gap:14px;align-items:stretch}
.messages-directory,.message-thread{background:#fff;border:1px solid #e0eadb;border-radius:13px;min-width:0}
.messages-directory{padding:14px;max-height:690px;display:flex;flex-direction:column}
.messages-directory h2{font-size:17px;margin:0 0 10px}
.message-search-label{display:block;font-size:11px;color:#607461}
.message-search-label input{display:block;width:100%;border:1px solid #d5e3d0;border-radius:8px;padding:10px;margin-top:5px;font:inherit;font-size:13px;min-height:41px}
.message-contacts{overflow-y:auto;flex:1;padding:6px 0;display:grid;gap:4px;align-content:start}
.message-contacts a{display:flex;gap:9px;align-items:center;padding:9px;border-radius:9px;border:1px solid transparent;min-width:0}
.message-contacts a:hover,.message-contacts a.selected{border-color:#d0e4c8;background:#f2f8ef}
.message-contacts a[hidden]{display:none}
.message-avatar{width:36px;height:36px;border-radius:50%;flex:0 0 36px;background:#e6f0e0;color:#357427;display:grid;place-items:center;font-size:15px;font-weight:850;text-transform:uppercase}
.message-contacts a span:last-child{min-width:0}
.message-contacts strong{display:block;font-size:12.5px;color:#364d31;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.message-contacts small,.thread-heading small{display:block;color:#798974;font-size:11px;line-height:1.35;margin-top:2px}
.message-thread{display:flex;flex-direction:column;min-height:445px;max-height:690px;overflow:hidden}
.thread-heading{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid #e9efe4}
.thread-heading strong{font-size:14px;color:#335329}
.messages-scroll{flex:1;min-height:230px;overflow-y:auto;background:#f9fcf7;padding:16px;display:flex;flex-direction:column;gap:9px}
.message-bubble{max-width:min(85%,480px);align-self:flex-start;border-radius:12px 12px 12px 3px;background:#fff;border:1px solid #e3eade;padding:11px 13px}
.message-bubble.mine{align-self:flex-end;background:#e7f5df;border-color:#cbe6bc;border-radius:12px 12px 3px 12px}
.message-bubble p{margin:0;color:#385033;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.message-bubble small{display:block;margin-top:5px;color:#7b8a77;font-size:10px;text-align:right}
.message-compose{border:0;border-top:1px solid #e3eade;border-radius:0;box-shadow:none;padding:13px;display:grid;gap:8px}
.message-compose label{font-size:11px}
.message-compose textarea{min-height:70px!important;max-height:135px}
.message-compose button{justify-self:end;padding-inline:15px;min-height:40px}
.message-empty{margin:auto 20px;text-align:center}
.contact-preference-line{font-size:12.5px;color:#526a52;margin:12px 0}
.record-action form{display:inline-flex}
@media(max-width:750px){
 .messages-layout{grid-template-columns:1fr;gap:10px}
 .messages-directory{max-height:230px}
 .message-contacts{grid-template-columns:repeat(2,minmax(0,1fr))}
 .message-thread{min-height:440px;max-height:600px}
 .messages-scroll{min-height:210px}
}
@media(max-width:390px){
 .message-contacts{grid-template-columns:1fr}
 .message-bubble{max-width:93%}
 .messages-intro{align-items:start;flex-direction:column;gap:5px}
}

/* WhatsApp oficial: dos vías claras, sin saturar el formulario. */
.cep-whatsapp-offices{display:flex;gap:10px;flex-wrap:wrap;margin-top:13px}
.cep-wa-link{display:flex;gap:13px;align-items:center;justify-content:space-between;border:1px solid #cfe2c9;
 background:#f2f9ef;border-radius:10px;padding:11px 13px;color:#2f6b27;min-height:47px;flex:1 1 260px;font-size:12.5px}
.cep-wa-link span{font-weight:750}.cep-wa-link strong{font-size:12px;white-space:nowrap}
.cep-wa-link:hover,.cep-wa-link:focus-visible{background:#e2f2db;border-color:#90bd82}
.cep-contact-inline{padding-top:10px;margin-top:13px;border-top:1px solid #e2eade}
.cep-contact-inline>p{color:#627462;font-size:12px;margin:4px 0}
.footer-contacts{gap:10px;flex-wrap:wrap}
.footer-contacts a{white-space:nowrap}
@media(max-width:560px){.cep-wa-link{flex-basis:100%;min-height:43px;padding:10px}}

/* Administración: edición de roles legible también en móviles */
.user-role-actions{display:flex;flex-wrap:wrap;align-items:center;gap:7px;justify-content:flex-end}.role-edit-form{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.role-edit-form select{min-height:34px;max-width:170px;border:1px solid #ccdaca;border-radius:7px;padding:6px;font-size:12px;color:#263d28;background:white}.quiet-danger{background:#fff8f8;border-color:#dfc3c3;color:#a03838}.quiet-positive{background:#eff9ed;color:#226523}.account-list article:has(.user-role-actions){align-items:flex-start}.account-list article:has(.user-role-actions)>div:first-child{min-width:100px;flex:1}@media(max-width:720px){.user-role-actions{width:100%;justify-content:flex-start}.account-list article:has(.user-role-actions){flex-wrap:wrap}.role-edit-form{width:100%}.role-edit-form select{max-width:100%;flex:1}}

/* Tramitación de matrículas y navegación de indicadores (móvil y ordenador) */
.stat-tile-link{position:relative;display:block;color:inherit;text-decoration:none;transition:background .16s,border-color .16s,transform .16s}
.stat-tile-link:hover,.stat-tile-link:focus-visible{background:#f0f8ed;border-color:#8ec47e;transform:translateY(-2px)}
.stat-tile-link:focus-visible{outline:2px solid #317717;outline-offset:2px}
.stat-tile-arrow{position:absolute;right:15px;top:15px;color:#367529;font-weight:800}
.application-workflow{background:#f7faf5;border:1px solid #dfe9db;border-radius:12px;padding:17px 20px;margin-bottom:14px}
.application-workflow h2{font-size:17px;margin:0 0 7px;color:#21401f}
.application-workflow p{font-size:13px;line-height:1.7;color:#62705f;margin:0}
.application-workflow a,.workflow-next a{color:#337b26;font-weight:750}
.application-filters{display:flex;align-items:center;flex-wrap:nowrap;gap:7px;overflow-x:auto;scrollbar-width:thin;padding:5px 0 14px;margin-bottom:7px;white-space:nowrap}
.application-filters a{display:inline-flex;padding:9px 11px;border-radius:8px;color:#4f6749;background:#f2f5ef;text-decoration:none;font-weight:700;font-size:12px}
.application-filters a[aria-current="page"]{color:#fff;background:#367b24}
.application-record .record-meta{margin:8px 0}
.application-record .document-links{gap:7px}
.application-record .document-links a{font-size:12px;display:inline-flex;align-items:center;min-height:35px}
.application-contact{margin-top:14px}
.review-form{margin-top:15px;padding-top:12px;border-top:1px solid #e8ece4}
.review-form label{display:block;width:100%}
.review-form textarea{display:block;width:100%;box-sizing:border-box;margin-top:6px;border:1px solid #d8e2d4;border-radius:8px;padding:11px;font-family:inherit;font-size:13px;min-height:67px;resize:vertical}
.review-form .record-buttons{margin-top:11px}
.review-form .record-buttons .button{max-width:100%;white-space:normal;text-align:center}
.workflow-next{border-left:3px solid #8dc57b;padding:10px 13px;background:#f6faf4;color:#597051;font-size:12.5px;line-height:1.6;margin-top:14px}
@media(max-width:580px){.application-workflow{padding:14px}.application-workflow p{font-size:12.5px}.application-filters a{font-size:11.5px;padding:9px}.review-form .record-buttons .button{flex:1 1 150px}}

/* Matrícula: consulta por referencia, pagos seleccionables y comprobante solo bancario. */
.payment-methods{border:0;padding:0;margin:15px 0;display:grid;gap:9px}
.payment-methods legend{font-weight:800;color:#2a4d2a;margin-bottom:9px;font-size:15px}
.payment-choice{display:flex;gap:12px;align-items:flex-start;border:1px solid #d7e5d1;border-radius:12px;background:#f8fbf6;padding:14px;cursor:pointer}
.payment-choice:has(input:checked){border-color:#70a953;background:#f1f8ed}
.payment-choice input{margin:3px 0 0;accent-color:#397b1c;flex-shrink:0}
.payment-choice span{display:flex;flex-direction:column;gap:5px}
.payment-choice strong{font-size:14px;color:#2d462e}
.payment-choice small{font-size:12px;line-height:1.5;color:#667866}
.payment-unavailable{background:#f4f5f4;border-color:#e1e3df;opacity:.76;cursor:not-allowed}
#bank-payment-fields{display:grid;gap:12px;margin:10px 0 18px}
#bank-payment-fields[hidden],#cash-payment-info[hidden],.bank-payment-fields[hidden],.cash-payment-info[hidden]{display:none!important}
.payment-notice{background:#f5f8ef;border-left:3px solid #72a84d;padding:12px 14px;font-size:13px;line-height:1.6;color:#425e3e;margin:12px 0}
.private-expedient-access{margin-top:20px;border:1px solid #dfe8dc;border-radius:11px;padding:15px}
.private-expedient-access summary{cursor:pointer;font-weight:800;color:#326a26;font-size:14px}
.private-expedient-access>p{font-size:13px;color:#647062;line-height:1.5}
.private-expedient-access .tracking-form{margin-top:13px}
.applicant-exit-form{margin-top:20px}
.public-status p{font-size:13px;line-height:1.6;color:#697b69}
@media(max-width:560px){.payment-choice{padding:12px;gap:10px}.payment-choice strong{font-size:13.5px}.private-expedient-access{padding:12px}}


/* Aula por unidades: jerarquía legible, tarjetas y tres carpetas independientes */
.curr-root{max-width:1100px;margin:0 auto 36px}.curr-heading h2{font-size:22px;color:#243d27;margin:0 0 16px}
.curr-module-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:13px}
.curr-module-choice{display:flex;align-items:center;gap:15px;border:1px solid #dae6d5;background:#fff;color:#253d29;text-decoration:none;border-radius:14px;padding:18px;min-height:91px;box-shadow:0 3px 11px #183a1808;transition:border-color .18s,transform .18s}
.curr-module-choice:hover,.curr-module-choice:focus-visible{border-color:#7aaa66;transform:translateY(-2px)}
.curr-module-choice>span:nth-child(2){display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}
.curr-module-choice strong{font-size:15px;line-height:1.35}.curr-module-choice small{font-size:12px;color:#758274}
.curr-module-icon{display:grid;place-items:center;flex:0 0 44px;height:44px;background:#eaf3e5;border-radius:12px;font-size:22px;color:#2f6c25}
.curr-breadcrumb{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;color:#6c7c69;margin:3px 0 20px}
.curr-breadcrumb a{color:#34762a;text-decoration:none;font-weight:700}.curr-breadcrumb strong{font-weight:800;color:#344f33}
.curr-unit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:13px}
.curr-unit-choice{display:flex;flex-direction:column;gap:12px;border:1px solid #dce7d8;border-radius:13px;background:#fff;min-height:148px;padding:17px;text-decoration:none;color:#284328}
.curr-unit-choice:hover,.curr-unit-choice:focus-visible{background:#f6fbf3;border-color:#81b670}
.curr-unit-number{color:#377b28;background:#e9f4e4;border-radius:8px;font-size:12px;font-weight:900;width:36px;height:30px;display:grid;place-items:center}
.curr-unit-choice strong{font-size:16px;line-height:1.4}.curr-open{font-size:12px;color:#367b2c;font-weight:800;margin-top:auto}
.curr-create,.curr-add,.curr-settings{border:1px solid #dce8d7;border-radius:11px;background:#fafcf9;margin-top:14px;padding:13px}
.curr-create summary,.curr-add summary,.curr-settings summary{font-size:13px;color:#367228;font-weight:800;cursor:pointer;list-style-position:inside}
.curr-create[open],.curr-add[open],.curr-settings[open]{background:white}
.curr-create form,.curr-add form,.curr-settings form{margin-top:16px}
.curr-unit-title{font-size:clamp(22px,3vw,28px);margin:0 0 23px;color:#203e25}
.curr-folders{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
.curr-folder{border:1px solid #e0e8da;border-radius:14px;background:white;min-width:0;overflow:hidden;box-shadow:0 4px 18px #1b3f1610}
.curr-folder-heading{display:flex;align-items:center;gap:10px;padding:16px;border-bottom:1px solid #e5ede1;background:#f8fbf6}
.curr-folder-heading h4{margin:0;font-size:16px;color:#2e4d2e;flex:1}.curr-folder-heading>span:last-child{font-size:11px;background:#e5efdf;padding:4px 9px;border-radius:20px;color:#3a7b25;font-weight:800}
.curr-folder-icon{font-size:20px;color:#37752e;line-height:1}
.curr-folder-items{padding:12px;display:grid;gap:8px}
.curr-item{border:1px solid #e5ece2;border-radius:9px;padding:10px 11px;background:#fff}
.curr-item[open]{border-color:#b9d8ab}
.curr-item>summary{font-size:13px;font-weight:800;color:#314932;line-height:1.4;cursor:pointer;list-style-position:inside}
.curr-item>summary small{font-size:11px;font-weight:700;color:#627d59;display:block;margin:5px 0 0 16px}
.curr-item-body{font-size:12.5px;line-height:1.6;color:#556a54;margin:13px 0;white-space:normal;overflow-wrap:anywhere}
.curr-item-body p{margin:8px 0}
.curr-empty,.curr-note{font-size:12px;color:#728072;line-height:1.6;margin:7px 3px}
.curr-add{margin:12px;border-style:dashed;background:#f8fcf6}
.curr-add label,.curr-settings label,.curr-delivery label,.curr-grade-form label{display:grid;gap:6px;font-size:12px;font-weight:750;color:#526852}
.curr-checkline{display:flex!important;align-items:center;gap:9px;font-size:12.5px!important}
.curr-checkline input{width:17px;height:17px;accent-color:#397b24}
.curr-file-link{font-size:12px;display:inline-block;text-decoration:none;color:#286f1c;font-weight:800;margin:8px 0}
.curr-video,.curr-image{display:block;width:100%;height:auto;border-radius:8px;margin-top:9px}
.curr-video{max-height:360px;background:#172519}
.curr-file-preview{font-size:12px;color:#317328;padding:8px;background:#f3f7f0;border-radius:8px}
.curr-file-preview summary{cursor:pointer}.curr-file-preview iframe{display:block;width:100%;height:340px;border:0;margin-top:9px}
.curr-question{border:1px solid #e2eade;border-radius:9px;padding:12px;margin:12px 0}
.curr-question legend{font-size:13px;line-height:1.5;font-weight:800;color:#304a32;padding:0 7px}
.curr-question label{display:flex;align-items:flex-start;gap:7px;padding:7px 0;font-size:12px;line-height:1.5;color:#50664d;cursor:pointer}
.curr-question input{accent-color:#347b23;margin-top:2px}
.curr-exam-form{margin-top:12px}
.curr-grade-result{border:1px solid #cbe2be;background:#f0f8ed;padding:9px 10px;border-radius:9px;color:#2e6d22;font-size:12px;margin:12px 0}
.curr-date{font-size:12px;color:#75582f}
.curr-delivery{display:grid;gap:10px;margin:11px 0}
.curr-deliveries{border-top:1px solid #e4ebe0;margin-top:15px;padding-top:11px}
.curr-deliveries h5{font-size:13px;color:#2d512b;margin:0 0 10px}
.curr-delivery-entry{border-bottom:1px solid #e4eadf;padding:11px 0;font-size:12px}
.curr-delivery-entry>p{line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}
.curr-grade-form{display:grid;gap:9px;margin:10px 0}
.curr-question-preview{padding:8px;border-bottom:1px solid #e8eee5;font-size:12px;color:#374f35}
.curr-question-preview small{display:block;color:#39802e;margin-top:3px}
.curr-grade-summary h2{font-size:18px;color:#2b4c26;margin:0 0 14px}
.curr-grade-module{padding:16px;border:1px solid #e2e9df;border-radius:12px;margin:0 0 14px}
.curr-grade-module h3{font-size:16px;margin:0}.curr-grade-module p{font-size:12px;color:#6a8065}
.curr-grade-module>strong{font-size:21px;color:#277522}.curr-grade-module>strong small{font-size:11px;color:#688266}
.curr-grade-module ul{list-style:none;margin:10px 0 0;padding:0}
.curr-grade-module li{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #e4ebe0;padding:9px 0;font-size:12px}
.curr-grade-module li b{white-space:nowrap}
@media(max-width:1050px){.curr-folders{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:730px){.curr-folders{grid-template-columns:minmax(0,1fr)}.curr-module-list,.curr-unit-grid{grid-template-columns:minmax(0,1fr)}.curr-module-choice{min-height:76px;padding:14px}.curr-folder-heading{padding:14px}.curr-folder-items{padding:11px}.curr-unit-title{margin-bottom:17px}.curr-root{margin-bottom:22px}}


/* Tesorería de 9 meses e informes institucionales */
.finance-dashboard>h2,.finance-overview>h2,.finance-list-title{font-size:20px;margin:12px 0;color:#263f29}
.finance-dashboard>p{font-size:13px;color:#6a7c6a;margin:0 0 15px}
.finance-record,.finance-student-card,.finance-payment-box{border:1px solid #dfe8db;border-radius:14px;background:#fff;margin:16px 0;padding:19px;box-shadow:0 4px 20px #1e42160a}
.finance-record>header,.finance-student-card>header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}
.finance-record>header h3{font-size:18px;color:#263e29;margin:0}
.finance-record>header strong,.finance-student-card header small{font-size:12px;color:#678065}
.finance-badges{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.finance-badges span{background:#edf4e9;border-radius:50px;color:#31592b;font-size:11px;font-weight:800;padding:7px 11px}
.finance-month-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}
.finance-month{display:grid;gap:5px;border:1px solid #e3e9e1;border-radius:9px;padding:11px;background:#f8faf7}
.finance-month strong{font-size:13px;color:#283e2b}
.finance-month span,.finance-month small{font-size:11px;color:#6d7e70}
.finance-month b{font-size:12px;color:#657b64}
.finance-month.is-paid{background:#f0f8eb;border-color:#b9d7aa}.finance-month.is-paid b{color:#347e24}
.finance-month.is-overdue{background:#fff3f0;border-color:#eccfc7}.finance-month.is-overdue b{color:#af4537}
.finance-month.is-pending{background:#f8f9f8}
.finance-small{font-size:12px;line-height:1.65;color:#647462;margin:10px 0}
.finance-payment-box{background:#fafcf9;padding:18px}
.finance-box-header{display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between;align-items:center}
.finance-box-header h3{font-size:17px;color:#2b4c25;margin:0}
.finance-box-header p{font-size:12px;color:#697c65;margin:0}
.finance-required{font-weight:750;color:#2b5424;font-size:13px;display:flex;align-items:center;gap:8px;margin:13px 0}
.finance-required input{accent-color:#367c26}
.finance-payment-total{border:1px solid #add19c;border-radius:11px;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:15px;background:#f1f9ee}
.finance-payment-total span{font-size:12px;font-weight:750;color:#43623a}
.finance-payment-total strong{font-size:20px;color:#255e1a}
.finance-enrollment-preview{margin:14px 0;color:#275b23;background:#f3faf1;border:1px solid #cfdfc7;padding:13px;border-radius:9px;font-size:12.5px;line-height:1.7}
.finance-overview{margin:12px 0 26px}
.finance-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.finance-student-card{margin:0}.finance-student-card header strong{font-size:15px;color:#304f30}
.finance-student-card>p{font-size:12px;color:#758374;margin:4px 0 11px}
.finance-student-card .finance-month-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.finance-student-card .finance-month{padding:8px}
.finance-student-card .finance-month strong{font-size:11px}
.finance-student-card .finance-month span,.finance-student-card .finance-month small{font-size:10px}
.finance-reactivate{margin:12px 0 0}
.finance-tag-danger{color:#a63f2b;display:inline-block;padding:8px 10px;font-size:12px;background:#fff2ee;border-radius:8px}
.finance-warning{background:#fff7ed;border:1px solid #edccaf;border-radius:12px;padding:15px;margin:17px 0;color:#73452d}
.finance-warning strong{font-size:14px}
.finance-warning p{font-size:12.5px;line-height:1.65;margin:6px 0}
.finance-warning a{font-size:12px;color:#91502c;font-weight:800}
.finance-wait,.finance-success{font-size:13px;padding:13px;border-radius:9px;background:#edf6e9;color:#386534}
.finance-history{margin:16px 0;border:1px solid #e3ebe0;border-radius:10px;padding:12px;background:white}
.finance-history summary{font-size:13px;font-weight:850;cursor:pointer;color:#3c7333}
.finance-responsive{width:100%;overflow-x:auto;scrollbar-width:thin}
.finance-responsive table{border-collapse:collapse;width:100%;min-width:520px;font-size:12px;margin:12px 0}
.finance-responsive th,.finance-responsive td{text-align:left;padding:10px 9px;border-bottom:1px solid #e3ebe0}
.finance-responsive th{color:#3c6136;background:#f4f8f1;font-weight:800}
.institutional-report{background:#fff;border:1px solid #dbe7d6;border-radius:14px;padding:22px 25px;margin-bottom:25px}
.report-header{border-bottom:2px solid #378022;padding:0 0 17px}
.report-header p{font-size:12px;font-weight:900;letter-spacing:1px;color:#4b7a39;margin:0 0 8px}
.report-header h2{font-size:25px;color:#234024;margin:0 0 8px}
.report-header span{font-size:12px;color:#70806d}
.report-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:19px 0}
.report-controls nav{display:flex;flex-wrap:wrap;gap:5px;flex:1}
.report-controls nav a{padding:9px 13px;border-radius:9px;background:#edf4e9;color:#316328;font-weight:800;text-decoration:none;font-size:12px}
.report-controls nav a.active{background:#327727;color:white}
.report-controls form{display:flex;align-items:center;gap:7px}
.report-controls form label{font-size:12px;font-weight:800}
.report-controls form select{padding:8px;border:1px solid #cbdcc4;border-radius:8px;font:inherit}
.report-section{margin:25px 0}
.report-section h3{font-size:18px;font-weight:800;color:#284c27;border-bottom:1px solid #e0e9dc;padding-bottom:10px}
.report-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.report-stat{background:#f7faf5;border:1px solid #dfe9db;border-radius:10px;padding:13px;display:grid;gap:11px}
.report-stat small{font-size:11px;color:#6b806a}
.report-stat strong{font-size:17px;color:#2b5429;line-height:1.3;overflow-wrap:anywhere}
.report-footer{font-size:11px;line-height:1.6;color:#718371;border-top:1px solid #e0e9dc;padding-top:13px}
@media(max-width:930px){.finance-admin-grid{grid-template-columns:1fr}.report-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.finance-record,.finance-student-card,.institutional-report{padding:14px}.finance-month-grid{gap:5px}.finance-month{padding:8px}.finance-month strong{font-size:11px}.finance-month span,.finance-month small,.finance-month b{font-size:10px}.finance-payment-total strong{font-size:15px}.report-header h2{font-size:21px}}
@media print {
  .portal-dashboard .dash-nav,.dashboard-welcome,.logout-form,.report-controls,.site-header,.site-footer,.footer-top,footer:not(.report-footer){display:none!important}
  .institutional-report{border:0;padding:0;margin:0;color:#222;font-size:11px}
  .report-section{break-inside:avoid}.report-table{min-width:0!important}.finance-responsive{overflow:visible!important}
  .portal-dashboard{max-width:none!important;margin:0!important;padding:0!important}
  .report-stat{break-inside:avoid;background:#fff}.report-stat strong{color:#111}
}

.bank-payment-fields{display:grid;gap:12px;margin:10px 0 18px}.cash-payment-info{margin:10px 0 18px}


/* Exámenes tipo Moodle propios: cero frameworks o bibliotecas JS */
.quiz-bank{margin:13px 0;padding:12px;border:1px solid #d6e7cf;border-radius:11px;background:#f8fbf6}
.quiz-bank>summary{cursor:pointer;font-size:13px;color:#2b6625;font-weight:800}
.quiz-bank>summary span{float:right;border-radius:20px;padding:2px 9px;background:#dfecd8;font-size:11px}
.quiz-bank-list{max-height:420px;overflow:auto;display:grid;gap:7px;margin:12px 0}
.quiz-bank-question{padding:11px;border:1px solid #e1eadc;border-radius:9px;background:#fff}
.quiz-bank-question>strong{display:block;font-size:12.5px;line-height:1.5;color:#293e2d}
.quiz-bank-question small{font-size:11px;color:#71846e;display:block;margin:5px 0}
.quiz-draft,.quiz-approved{display:inline-block;font-size:10px;font-weight:800;border-radius:12px;padding:4px 8px;margin:5px 0}
.quiz-draft{background:#fff1e0;color:#965926}.quiz-approved{background:#ebf8e5;color:#2a712c}
.quiz-bank-question p{font-size:12px;line-height:1.5;color:#5d6d5b}
.quiz-bank-question button,.quiz-link-row button{font-size:11px;min-height:30px}
.quiz-multiple-options{display:grid;gap:9px}
.quiz-multiple-options[hidden],.quiz-answer-label[hidden],.quiz-short-answer[hidden]{display:none!important}
.quiz-question-editor select,.quiz-question-editor input,.quiz-question-editor textarea{width:100%}
.quiz-settings-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.quiz-link-row{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid #e6eddf;padding:9px 0}
.quiz-link-row>span{font-size:12px;color:#536b51;line-height:1.5;overflow-wrap:anywhere}
.quiz-link-row b{font-size:11px;color:#397229}
.quiz-meta{font-size:12px;color:#627b5f;margin:12px 0;font-weight:700}
.quiz-running{background:#fff;border:1px solid #d5e5d0;border-radius:10px;margin:12px 0;padding:12px}
.quiz-running-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid #e6ede2}
.quiz-running-head strong{font-size:13px;color:#2e5030}
.quiz-timer{background:#e8f3e2;border-radius:8px;padding:6px 10px;font-size:12px;color:#28652a;font-weight:900;font-variant-numeric:tabular-nums}
.quiz-question{min-width:0;padding:14px;margin:16px 0}
.quiz-question legend{font-size:13px}
.quiz-question input[type=text],.quiz-question textarea{box-sizing:border-box;width:100%;max-width:100%;border-radius:7px;border:1px solid #cfddc9;padding:10px;font:inherit;font-size:13px}
.quiz-question>label{border-bottom:1px solid #f0f4ed;display:flex;gap:10px;align-items:flex-start}
.quiz-question>label input{flex-shrink:0}
.quiz-running-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;border-top:1px solid #e5ebe0;padding-top:12px}
.quiz-running-footer small{font-size:11px;color:#71866e}
.quiz-run-result{padding:12px 0;border-bottom:1px solid #e2ebdf;display:grid;gap:6px}
.quiz-run-result>strong{font-size:13px;color:#29482a}
.quiz-run-result>small{font-size:11px;color:#71836d}
.quiz-essay-mark{background:#f8fbf6;border-radius:9px;padding:10px;font-size:12px;color:#445c43;line-height:1.6;overflow-wrap:anywhere}
.quiz-essay-mark p{margin:8px 0}
.quiz-essay-mark form{display:grid;gap:9px}
.quiz-essay-mark input{width:100%;box-sizing:border-box;max-width:330px;border:1px solid #dce5d7;border-radius:7px;padding:9px}
@media(max-width:650px){.quiz-bank{padding:9px}.quiz-settings-form .form-grid{grid-template-columns:1fr}.quiz-running{padding:10px}.quiz-question{padding:11px}.quiz-running-footer .button{width:100%}}

/* Edición de propuestas IA sin ventanas adicionales */
.quiz-preview-options{padding-left:24px;margin:8px 0}
.quiz-preview-options li{font-size:11px;line-height:1.5;color:#536750;padding:2px 0}
.quiz-bank-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}
.quiz-bank-actions .button{padding:7px 12px;font-size:11px}
.quiz-draft-editor{margin:9px 0;border:1px solid #e2eade;border-radius:8px;padding:10px}
.quiz-draft-editor summary{color:#357329;font-size:12px;font-weight:800;cursor:pointer}
.quiz-draft-editor form{margin-top:12px}

.quiz-bank-shortcut{display:flex;align-items:center;gap:9px;justify-content:space-between;border:1px solid #d8e8d0;border-radius:10px;padding:12px 13px;margin:11px 0;text-decoration:none;color:#315f2b;background:#f8fcf6;font-size:12.5px;font-weight:800}
.quiz-bank-shortcut strong{background:#e5f2de;border-radius:20px;padding:4px 9px;font-size:11px}
.quiz-bank-shortcut span{margin-left:auto;color:#357728;font-size:11px}
.quiz-bank-shortcut:hover,.quiz-bank-shortcut:focus-visible{border-color:#87b773;background:#f0f7ec}


/* CEPROMAC NAV COMPACTA v1 */
/* Menú horizontal compacto al estilo CIPVEGE, sin distribuir sus enlaces por todo el ancho. */
.site-header .site-nav,
.site-header .site-nav.open{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  width:max-content!important;
  max-width:100%;
  margin-inline:auto;
  justify-content:center!important;
  align-items:center;
  gap:clamp(4px,.7vw,9px)!important;
  overflow-x:auto;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.site-header .site-nav::-webkit-scrollbar{display:none}
.site-header .site-nav a,
.site-header .site-nav .aula-link{
  flex:0 0 auto!important;
  width:auto;
  font-size:16px!important;
  line-height:1.15!important;
  letter-spacing:0!important;
  padding:9px 10px!important;
  white-space:nowrap!important;
  min-height:40px;
}
.site-header .site-nav .aula-link{margin-left:3px!important}
@media(max-width:820px){
  .site-header .site-nav,
  .site-header .site-nav.open{
    gap:5px!important;
    padding-top:8px;
    padding-bottom:10px;
  }
  .site-header .site-nav a,
  .site-header .site-nav .aula-link{
    font-size:14px!important;
    padding:8px 7px!important;
  }
}
@media(max-width:550px){
  .site-header .site-nav,
  .site-header .site-nav.open{
    gap:4px!important;
    justify-content:center!important;
  }
  .site-header .site-nav a,
  .site-header .site-nav .aula-link{
    font-size:clamp(11px,3.2vw,13.5px)!important;
    padding:7px 5px!important;
    min-height:38px;
  }
  .site-header .site-nav .aula-link{margin-left:0!important}
}
@media(max-width:360px){
  .site-header .site-nav,
  .site-header .site-nav.open{gap:2px!important}
  .site-header .site-nav a,
  .site-header .site-nav .aula-link{
    font-size:11px!important;
    padding:7px 3px!important;
  }
}


/* CEPROMAC SLIDER INTERIOR v1 — espacio real en los dos bordes */
.hero .hero-slide .hero-layout {
  box-sizing: border-box;
  padding-left: clamp(32px, 4.3vw, 60px);
  padding-right: clamp(32px, 4.3vw, 60px);
}
.hero .hero-slide .hero-text {
  min-width: 0;
  max-width: min(615px, 100%);
}
@media (max-width: 820px) {
  .hero .hero-slide .hero-layout {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (max-width: 550px) {
  .hero .hero-slide .hero-layout {
    padding-left: 21px;
    padding-right: 21px;
  }
}
@media (max-width: 360px) {
  .hero .hero-slide .hero-layout {
    padding-left: 17px;
    padding-right: 17px;
  }
}

/* Alineación final del menú: agrupado a la derecha, sin estirar los enlaces. */
.site-header .site-nav,
.site-header .site-nav.open{
  align-self:flex-end!important;
  margin-left:auto!important;
  margin-right:0!important;
}

/* CEPROMAC · pie al fondo cuando las páginas del aula tienen poco contenido.
   Conservar el orden de enlaces de WhatsApp Dirección y Jefatura. */
html{min-height:100%}
body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
body>main{display:block;flex:1 0 auto;min-height:0}
body>.site-footer{flex:0 0 auto;margin-top:auto}

/* CEPROMAC — menú compactado a la derecha; Aula Virtual sigue en el extremo derecho. */
.site-header .header-bar > .site-nav,
.site-header .header-bar > .site-nav.open {
  width:100%!important;
  max-width:100%!important;
  align-self:stretch!important;
  margin-left:0!important;
  margin-right:0!important;
  justify-content:flex-end!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  gap:clamp(4px,.7vw,10px)!important;
  overflow-x:auto;
  scrollbar-width:none;
}
.site-header .header-bar > .site-nav .aula-link {
  margin-left:clamp(4px,.75vw,12px)!important;
  margin-right:0!important;
}
@media(max-width:550px){
  .site-header .header-bar > .site-nav,
  .site-header .header-bar > .site-nav.open{justify-content:flex-end!important;gap:3px!important}
  .site-header .header-bar > .site-nav .aula-link{margin-left:2px!important}
}
@media(max-width:360px){
  .site-header .header-bar > .site-nav,
  .site-header .header-bar > .site-nav.open{gap:1px!important}
}

/* Banner publicitario animado de Fiesta Nacional, situado justo encima del pie. */
.fiesta-banner {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:clamp(18px,3vw,40px);
  margin-top:34px;
  margin-bottom:38px;
  padding:26px clamp(22px,3.4vw,42px);
  color:#fff;
  border-radius:18px;
  border:1px solid #d7b77e;
  background:radial-gradient(circle at 92% 0%,#c58a373d,transparent 38%),
             linear-gradient(110deg,#183d28 0%,#2d6429 60%,#925325 100%);
  box-shadow:0 12px 28px #193c2530;
}
.fiesta-banner::before {
  content:"";
  position:absolute;
  z-index:-1;
  top:-130%;bottom:-130%;
  width:30%;
  left:-45%;
  transform:rotate(20deg);
  background:linear-gradient(90deg,transparent,#ffffff16,transparent);
  animation:cep-fiesta-shimmer 7s ease-in-out infinite;
  pointer-events:none;
}
.fiesta-banner::after {
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:5px;
  background:linear-gradient(90deg,#3da542 0 28%,#ffffff 28% 52%,#e63e42 52% 78%,#3589cc 78% 100%);
}
.fiesta-banner__copy{min-width:0}
.fiesta-banner__eyebrow{
  display:inline-flex;
  gap:8px;
  align-items:center;
  font-size:10px;
  font-weight:900;
  letter-spacing:.11em;
  color:#ffebbb;
}
.fiesta-banner__spark{
  font-size:20px;
  animation:cep-fiesta-spark 2.5s ease-in-out infinite;
}
.fiesta-banner__copy h2{
  font-size:clamp(22px,2.4vw,31px);
  line-height:1.15;
  letter-spacing:-.02em;
  margin:7px 0;
  color:white;
}
.fiesta-banner__copy p{
  margin:0;
  font-size:13px;
  line-height:1.5;
  color:#f4f1e6;
}
.fiesta-banner__prices{
  display:flex;
  flex-direction:column;
  align-items:center;
  white-space:nowrap;
  text-align:center;
}
.fiesta-banner__old{font-size:12px;color:#f6e9d3}
.fiesta-banner__prices>strong{
  color:#fff3b9;
  font-size:clamp(30px,3.4vw,45px);
  font-weight:900;
  line-height:1.04;
  margin:4px 0;
  font-variant-numeric:tabular-nums;
}
.fiesta-banner__prices>strong small{font-size:13px}
.fiesta-banner__tag{
  color:#173f25;
  background:#fff1bd;
  font-size:11px;
  font-weight:850;
  border-radius:50px;
  padding:5px 11px;
}
.fiesta-banner__cta{
  justify-self:end;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:13px 17px;
  min-height:44px;
  color:#244621;
  background:#fff;
  border-radius:9px;
  font-weight:850;
  font-size:13px;
  white-space:nowrap;
  box-shadow:0 4px 13px #10291427;
  transition:transform .2s,background .2s;
}
.fiesta-banner__cta:hover{background:#fff2d3;transform:translateY(-2px)}
@keyframes cep-fiesta-shimmer{
  0%,20%{left:-45%}
  75%,100%{left:130%}
}
@keyframes cep-fiesta-spark{
  0%,100%{opacity:.65;transform:scale(.9) rotate(0)}
  50%{opacity:1;transform:scale(1.2) rotate(30deg)}
}
@media(max-width:950px){
  .fiesta-banner{grid-template-columns:minmax(0,1fr) auto;gap:16px 24px}
  .fiesta-banner__cta{grid-column:1/-1;justify-self:start}
}
@media(max-width:560px){
  .fiesta-banner{grid-template-columns:1fr;padding:22px 20px;margin-top:22px;margin-bottom:28px;gap:16px}
  .fiesta-banner__prices{align-items:flex-start;text-align:left}
  .fiesta-banner__cta{grid-column:auto;width:100%;justify-self:stretch}
  .fiesta-banner__copy h2{font-size:24px}
}
@media(prefers-reduced-motion:reduce){
  .fiesta-banner::before,.fiesta-banner__spark{animation:none!important}
  .fiesta-banner__cta{transition:none}
}

/* CEPROMAC · navegación definitiva: opciones a la izquierda, Aula en esquina derecha.
   Mantener separación compacta y cuatro enlaces visibles, sin menú hamburguesa. */
.site-header .header-bar > .site-nav,
.site-header .header-bar > .site-nav.open {
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding-left:0!important;
  padding-right:0!important;
  gap:clamp(4px,0.7vw,9px)!important;
}
.site-header .header-bar > .site-nav .aula-link {
  margin-left:auto!important;
  margin-right:0!important;
  flex:0 0 auto!important;
}
@media(max-width:550px){
  .site-header .header-bar > .site-nav,
  .site-header .header-bar > .site-nav.open {gap:2px!important;}
  .site-header .header-bar > .site-nav a {
    font-size:clamp(10.5px,3vw,13px)!important;
    padding:7px clamp(2px,1vw,5px)!important;
  }
  .site-header .header-bar > .site-nav .aula-link {
    margin-left:auto!important;
  }
}

/* Primer slider publicitario: Fiesta Nacional. Se activa únicamente entre el 13 y 16 de octubre. */
.hero .hero-slide.theme-fiesta{
  background:radial-gradient(circle at 88% 21%,#ad7f327a,transparent 38%),
             radial-gradient(circle at 12% 94%,#388b337a,transparent 38%),
             linear-gradient(108deg,#153b24 0%,#23652b 61%,#80502c 100%);
  isolation:isolate;
}
.hero .hero-slide.theme-fiesta::before{
  content:"";position:absolute;inset:0 0 auto;height:7px;
  background:linear-gradient(90deg,#399b45 0 30%,#fff 30% 52%,#e84842 52% 74%,#3579bd 74%);
  z-index:3;
}
.hero .hero-slide.theme-fiesta::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;
  background:repeating-linear-gradient(122deg,transparent 0 100px,#ffffff07 100px 101px);
}
.hero-fiesta-decoration{position:absolute;inset:0;pointer-events:none;overflow:hidden;opacity:.34}
.hero-fiesta-decoration span{position:absolute;color:#f9dda6;font-size:45px;animation:cep-fiesta-spark 3s ease-in-out infinite}
.hero-fiesta-decoration span:nth-child(1){right:10%;top:7%;font-size:55px}
.hero-fiesta-decoration span:nth-child(2){right:31%;bottom:12%;animation-delay:-1s}
.hero-fiesta-decoration span:nth-child(3){left:46%;top:15%;font-size:25px;animation-delay:-1.7s}
.hero-fiesta-grid{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(215px,300px);gap:clamp(18px,3.5vw,48px);align-items:center}
.hero-fiesta-copy{min-width:0}
.hero-fiesta-copy .eyebrow{color:#ffe8b0}
.hero-fiesta-copy h1{color:#fff;font-size:clamp(29px,3.65vw,46px);line-height:1.11;letter-spacing:-.035em;margin:12px 0 13px;max-width:650px;font-family:Georgia,serif}
.hero-fiesta-copy p{color:#fff6e5;font-size:15px;line-height:1.45;margin:0;max-width:610px}
.hero-fiesta-copy .hero-fiesta-dates{font-size:13px;color:#e9f5e5;margin-top:7px}
.hero-fiesta-copy .hero-actions{margin-top:19px}
.hero-fiesta-button{background:#fff7df;color:#244927;box-shadow:0 6px 18px #102c202b}
.hero-fiesta-button:hover{background:#fff;transform:translateY(-2px)}
.hero-fiesta-price{display:flex;flex-direction:column;gap:7px;align-items:center;justify-content:center;text-align:center;padding:24px 16px;border-radius:17px;background:#11381ca8;border:1px solid #fde7b677;box-shadow:0 15px 35px #10271955;min-width:0}
.hero-fiesta-price>span:first-child{font-size:12px;letter-spacing:.18em;font-weight:900;color:#fff0c3}
.hero-fiesta-price small{color:#f1e5d8;font-size:12px}
.hero-fiesta-price>strong{color:#ffecac;font-size:clamp(38px,4.8vw,63px);line-height:1.05;font-weight:900;white-space:nowrap;font-variant-numeric:tabular-nums}
.hero-fiesta-price>strong em{font-size:.24em;font-style:normal;vertical-align:baseline}
.hero-fiesta-discount{background:#fff0c7;border-radius:30px;padding:7px 13px;color:#2c5f24!important;font-size:11px;font-weight:900;letter-spacing:.04em}
@media(max-width:820px){
 .hero-fiesta-grid{grid-template-columns:minmax(0,1fr) 190px;gap:16px}
 .hero-fiesta-copy h1{font-size:clamp(26px,4.8vw,36px)}
 .hero-fiesta-price{padding:18px 10px}
 .hero-fiesta-price>strong{font-size:39px}
}
@media(max-width:560px){
 .hero .hero-slide.theme-fiesta .hero-layout{padding-top:13px;padding-bottom:16px}
 .hero-fiesta-grid{grid-template-columns:1fr;gap:12px;align-content:center}
 .hero-fiesta-copy h1{font-size:clamp(28px,7vw,35px);margin:6px 0 9px}
 .hero-fiesta-copy .eyebrow{font-size:9px;letter-spacing:.07em}
 .hero-fiesta-copy p{font-size:12px;line-height:1.4}
 .hero-fiesta-copy .hero-fiesta-dates{font-size:11px;margin-top:3px}
 .hero-fiesta-copy .hero-actions{margin-top:12px}
 .hero-fiesta-button{min-height:39px;padding:10px 14px;font-size:12px}
 .hero-fiesta-price{width:100%;padding:11px 13px;display:grid;grid-template-columns:1fr auto;align-items:center;justify-content:space-between;gap:1px 10px;text-align:left;border-radius:12px}
 .hero-fiesta-price>span:first-child{grid-column:1;grid-row:1;font-size:9px}
 .hero-fiesta-price small{grid-column:1;grid-row:2;font-size:10px}
 .hero-fiesta-price>strong{grid-column:2;grid-row:1 / span 2;font-size:34px}
 .hero-fiesta-discount{grid-column:1 / -1;justify-self:start;font-size:9px;padding:4px 10px;margin-top:3px}
 .hero-fiesta-decoration span:nth-child(3){display:none}
}
@media(max-width:360px){
 .hero-fiesta-copy h1{font-size:27px}
 .hero-fiesta-price>strong{font-size:29px}
}
@media(prefers-reduced-motion:reduce){.hero-fiesta-decoration span{animation:none!important}}

/* Generador de exámenes compacto, accesible en móviles y escritorio. */
.cep-qe{margin:18px 0;border:1px solid #bed6b0!important;background:#f7faf4!important;border-radius:15px!important}
.cep-qe>summary{padding:15px 18px!important;color:#285c21!important;font-size:16px;cursor:pointer}
.cep-qe>summary small{font-size:12px;color:#617a58;margin-left:12px}
.cep-qe-form{padding:4px 18px 20px!important}
.cep-qe-step{display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px;padding:16px 0;border-top:1px solid #e0e8dc}
.cep-qe-num{height:32px;width:32px;display:grid;place-items:center;border-radius:50%;background:#367a21;color:white;font-weight:900}
.cep-qe-step-content{min-width:0}
.cep-qe-step h5{margin:2px 0 15px;font-size:17px}
.cep-qe-step label{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:700;margin:10px 0}
.cep-qe-step input:not([type=radio]):not([type=checkbox]),.cep-qe-step textarea,.cep-qe-step select{width:100%;min-height:43px;border:1px solid #cad8c8;border-radius:8px;background:white;padding:10px 12px;max-width:100%;font:inherit;color:#283c2a}
.cep-qe-types,.cep-qe-source{border:0;padding:0;margin:15px 0}
.cep-qe-types legend,.cep-qe-source legend{font-size:13px;font-weight:750}
.cep-qe-types{display:flex;gap:12px;flex-wrap:wrap}
.cep-qe-types label{flex:1 1 210px;display:flex;flex-direction:row;align-items:center;gap:12px;margin:0;padding:13px;border:1px solid #dce5d6;border-radius:10px;background:white;cursor:pointer}
.cep-qe-types label:has(input:checked){border-color:#327f2e;background:#f0f7ec}
.cep-qe-types label span{display:flex;flex-direction:column;gap:2px}
.cep-qe-types label small{font-weight:400;color:#5f715a}
.cep-qe-types input,.cep-qe-source input{flex:0 0 auto;accent-color:#397c1d}
.cep-qe-source{display:flex;flex-wrap:wrap;gap:10px}
.cep-qe-source label{display:flex;flex-direction:row;align-items:center;gap:6px;margin:0}
.cep-qe-question{min-width:0;border:1px solid #d5dfcf;border-radius:12px;background:#fff;padding:14px 16px;margin:12px 0}
.cep-qe-question legend{font-weight:800;color:#346b27;padding:0 5px}
.cep-qe-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px}
.cep-qe-remove{border:0;background:transparent;color:#a33;font-size:13px;cursor:pointer;padding:5px 0}
.cep-qe-help{font-size:12px;color:#657563}
.cep-qe-optional{margin:16px 0;background:white;border-radius:10px;padding:12px}
.cep-qe-optional>summary{cursor:pointer;color:#3a6833;font-weight:700}
.cep-qe-optional-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;padding-top:12px}
.cep-qe-step label.cep-qe-check{flex-direction:row;align-items:center}
.cep-qe-submit{border-top:1px solid #e0e8dc;padding:20px 0 0 44px}
.cep-qe-submit p{font-size:12px;color:#667761;margin:9px 0 0}
.cep-qe-submit button{min-height:47px}
[data-qe-auto][hidden],[data-qe-new][hidden],[data-qe-bank][hidden],[data-qe-manual][hidden],[data-qe-weight][hidden],.cep-qe-remove[hidden]{display:none!important}
.curr-advanced{border:1px solid #e5ebe2;border-radius:10px;padding:12px;margin:10px 0}
.curr-advanced>summary{font-size:13px;color:#6b796b;cursor:pointer}
@media(max-width:620px){.cep-qe-form{padding-inline:12px!important}.cep-qe-step{grid-template-columns:26px minmax(0,1fr);gap:9px}.cep-qe-num{height:26px;width:26px}.cep-qe-options,.cep-qe-optional-grid{grid-template-columns:1fr}.cep-qe-submit{padding-left:0}.cep-qe-submit button{width:100%}}

/* Exámenes integrados y registro presencial opcional */
.cep-qe-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.cep-qe-types label{min-width:0;align-items:flex-start}
.cep-qe-types label span{min-width:0}
.cep-qe-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}
.cep-qe-options label{min-width:0}
.cep-qe-add-actions{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin-top:12px}
.cep-qe-add-actions>label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;margin:0}
.cep-qe-add-actions select{min-height:42px;min-width:140px}
.cep-qe-multi-options{display:flex;align-items:center;flex-wrap:wrap;gap:13px;padding:11px;border:1px solid #d8e4d2;border-radius:8px}
.cep-qe-multi-options label{display:flex;flex-direction:row;align-items:center;gap:6px;margin:0}
.cep-qe-multi-options input{width:auto;min-height:0}
.cep-exam-attachment{background:#f2f7ed;border-left:4px solid #438a2e;border-radius:8px;padding:15px;margin:14px 0;display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.cep-exam-attachment a{font-weight:800;color:#236627;text-decoration:underline}
.quiz-answer-hint{font-size:13px;color:#4d654c;margin:8px 0}
.quiz-question legend small{font-size:12px;color:#61725a}
.attendance-optional{border:1px solid #d9e5d6;border-radius:10px;padding:14px;margin:12px 0;background:#f9fbf7}
.attendance-optional>summary{cursor:pointer;font-size:15px;font-weight:800;color:#2d692c}
.attendance-optional>p{font-size:13px;color:#5c6c5e}
@media(max-width:760px){.cep-qe-types,.cep-qe-options{grid-template-columns:1fr}}
@media(max-width:480px){.cep-qe-add-actions{display:grid;grid-template-columns:1fr 1fr}.cep-qe-add-actions [data-qe-add]{grid-column:1/-1}}


/* UX examen v2: panel compacto, sin tarjetas gigantes; wizard 2 etapas */
.cep-qe,.cep-qe *{box-sizing:border-box}
.cep-qe{max-width:100%;margin:12px 0;border:1px solid #d9e4d5!important;border-radius:11px!important;background:#fff!important;min-width:0;overflow:clip}
.cep-qe>summary{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:13px!important;font-size:15px!important}
.cep-qe>summary small{font-weight:500;font-size:11px!important;margin:0}
.cep-qe-form{padding:0 14px 15px!important;margin-top:0!important;min-width:0}
.cep-qe-progress{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid #e5ece2;padding:10px 0;font-size:12px;color:#667267}
.cep-qe-progress span{flex:1;min-width:0;padding:5px 8px;border-radius:6px;text-align:center;font-weight:750}
.cep-qe-progress [aria-current="step"]{background:#ebf5e8;color:#286829}
.cep-qe .cep-qe-step{display:grid;grid-template-columns:25px minmax(0,1fr);gap:10px;padding:16px 0 6px;border:0}
.cep-qe .cep-qe-num{width:25px;height:25px;border-radius:50%;font-size:12px;box-shadow:none}
.cep-qe .cep-qe-step h5{font-size:16px;margin:2px 0 10px}
.cep-qe .cep-qe-step label{margin:7px 0;gap:5px;font-size:12.5px;min-width:0}
.cep-qe .cep-qe-step input:not([type=radio]):not([type=checkbox]),.cep-qe .cep-qe-step textarea,.cep-qe .cep-qe-step select{min-height:41px;padding:9px 10px;font-size:14px}
.cep-qe .cep-qe-types{display:flex!important;flex-direction:column;gap:0!important;background:transparent;border:1px solid #e1e7dc;border-radius:9px;overflow:hidden;padding:0;margin:11px 0}
.cep-qe .cep-qe-types legend{margin:0 0 6px;padding:0 2px;font-size:12px}
.cep-qe .cep-qe-types>label{display:flex!important;flex:0 0 auto!important;flex-direction:row!important;align-items:center!important;gap:10px;margin:0!important;padding:9px 10px!important;min-height:45px;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff}
.cep-qe .cep-qe-types>label+label{border-top:1px solid #e8eee5!important}
.cep-qe .cep-qe-types>label:has(input:checked){background:#f0f8ec!important}
.cep-qe .cep-qe-types>label input{width:16px;height:16px;flex:0 0 16px}
.cep-qe .cep-qe-types>label span{flex:1;min-width:0;display:flex;flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:5px 8px}
.cep-qe .cep-qe-types>label strong{font-size:13px;font-weight:750}
.cep-qe .cep-qe-types>label small{font-size:11px;color:#607260;font-weight:400;line-height:1.2}
.cep-qe .cep-qe-forward{display:flex;justify-content:flex-end;padding:12px 0 2px}
.cep-qe .cep-qe-forward .button{min-height:42px}
.cep-qe [hidden]{display:none!important}
.cep-qe .cep-qe-submit{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:14px 0 0;border-top:1px solid #e9eee6}
.cep-qe .cep-qe-submit p{width:100%;order:3;font-size:11px}
.cep-qe .cep-qe-submit .button{flex:1;min-width:0;min-height:44px;font-size:12px}
.cep-qe-item{margin:9px 0;background:#fff;border:1px solid #dce6d8;border-radius:8px;overflow:hidden}
.cep-qe-item>summary{display:flex;justify-content:space-between;align-items:center;gap:10px;cursor:pointer;padding:11px 12px;font-size:13px;color:#315c31;min-height:42px}
.cep-qe-item>summary small{font-size:11px;color:#687768;line-height:1.2}
.cep-qe-item[open]>summary{background:#f5f9f1;border-bottom:1px solid #e1e9df}
.cep-qe-item>.cep-qe-question{padding:11px 12px!important;margin:0!important;background:transparent!important;border:0!important;border-radius:0!important;min-width:0}
.cep-qe-item legend{display:none}
.cep-qe-item .cep-qe-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px}
.cep-qe-item [data-qe-remove]{font-size:12px;min-height:36px}
.cep-qe .cep-qe-add-actions{display:flex;flex-wrap:wrap;gap:7px}
.cep-qe .cep-qe-add-actions>*{min-width:0}
.cep-qe .cep-qe-add-actions label{margin:0}
.cep-qe .cep-qe-add-actions select{min-width:95px}
.cep-qe .cep-qe-help{font-size:11px;line-height:1.35;margin:6px 0}
.cep-qe .cep-qe-source{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;margin:10px 0}
.cep-qe .cep-qe-optional{margin:11px 0;padding:9px 10px;border:1px solid #e4eae0;border-radius:8px}
.cep-qe .cep-qe-optional>summary{font-size:12px}
.cep-qe .cep-qe-multi-field{border:0;padding:0;margin:9px 0;min-width:0}
.cep-qe .cep-qe-multi-field legend{display:block;font-size:12px}
.cep-qe .cep-qe-multi-options{border:0;padding:4px 0}
@media(max-width:620px){
 .cep-qe{margin:9px 0!important;border-radius:9px!important}
 .cep-qe-form{padding:0 10px 12px!important}
 .cep-qe>summary{padding:11px!important}
 .cep-qe>summary small{font-size:10px!important}
 .cep-qe .cep-qe-step{grid-template-columns:1fr!important;gap:5px;padding:12px 0 5px}
 .cep-qe .cep-qe-step .cep-qe-num{display:none}
 .cep-qe .cep-qe-step h5{font-size:15px}
 .cep-qe-item .cep-qe-options{grid-template-columns:1fr}
 .cep-qe .cep-qe-add-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}
 .cep-qe .cep-qe-add-actions>[data-qe-add]{grid-column:1/-1}
 .cep-qe .cep-qe-add-actions .button{min-width:0;width:100%;font-size:12px;padding:9px 7px}
 .cep-qe .cep-qe-add-actions select{min-width:0}
 .cep-qe .cep-qe-submit .button{width:auto!important;min-width:0;flex:1 1 120px}
 .cep-qe .cep-qe-forward .button{width:100%}
}
@media(max-width:370px){.cep-qe .cep-qe-types>label span{flex-direction:column;gap:0}.cep-qe .cep-qe-submit{flex-direction:column}.cep-qe .cep-qe-submit .button{width:100%!important;flex:auto}}
/* Login: verificación visual de autocompletado en ordenador */
.cep-login-password{display:flex;gap:5px;align-items:stretch}
.cep-login-password input{min-width:0;flex:1}
.cep-login-password button{flex:0 0 auto;border:1px solid #bcd0b5;border-radius:8px;background:#f5f9f2;color:#2d692d;padding:6px 10px;font-size:12px;font-weight:750;cursor:pointer}
.cep-login-password button:focus-visible{outline:2px solid #367828;outline-offset:2px}
.cep-login-help{font-size:12px;line-height:1.45;color:#647264;margin:0}

/* Campo de acceso: separar teléfono real de aliases autocompletados del navegador. */
.login-form #cep-login-phone{width:100%;min-height:44px}
.cep-login-phone-help{font-size:12px;line-height:1.4;color:#5e705c;margin:-8px 0 5px}
.cep-login-phone-help.is-error{color:#9e3a19;font-weight:700}
.login-form #cep-login-phone:invalid:not(:placeholder-shown){border-color:#c16f49}
@media(max-width:560px){.cep-login-phone-help{font-size:11px}}


/* Indicaciones de guardado de exámenes: conservan los datos mientras se corrigen. */
.cep-qe-status{margin:12px 0;border:1px solid #d9a672;border-radius:9px;background:#fff7ef;color:#873915;font-size:13px;line-height:1.5;padding:11px 13px}
.cep-qe-status[hidden]{display:none!important}
.cep-qe-saved{padding:10px 14px;border-radius:8px;background:#eef9ea;color:#28652b;font-weight:750;border:1px solid #bbd9b5}
.cep-qe-item[open]>summary small{color:#436447}

/* Entregados — responsive, lista compacta y estados reales */
.delivered-panel{margin:20px 0}.delivered-panel header h2{font-size:clamp(20px,3vw,27px);margin:0 0 8px}.delivered-panel header p{font-size:13px;color:#5c6f5c;margin:0 0 15px}
.delivered-summary,.delivered-filter{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.delivered-summary span{border:1px solid #dce6d8;border-radius:8px;background:#f5f9f3;padding:9px 12px;font-size:12px}.delivered-summary strong{font-size:17px;color:#28702b}
.delivered-filter a{padding:9px 12px;font-size:12px;border-radius:7px;border:1px solid #ccdfc6}.delivered-filter a[aria-current="page"]{background:#307b2b;color:white}
.delivered-list{display:grid;gap:9px;min-width:0}.delivered-entry{padding:13px;border:1px solid #dfe9db;background:white;border-radius:10px;display:flex;align-items:center;gap:12px;justify-content:space-between;min-width:0}.delivered-main{flex:1;min-width:0}.delivered-heading{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.delivered-heading strong{font-size:14px;overflow-wrap:anywhere}.delivered-status{font-size:10px;border-radius:5px;padding:4px 7px;font-weight:750}.delivered-status.done{background:#e9f4e6;color:#2d722e}.delivered-status.pending{background:#fff2e1;color:#98511a}.delivered-main p{font-size:12px;margin:7px 0;color:#5e6d5d}.delivered-main small{font-size:11px;color:#677568}.delivered-open{border:1px solid #bcd4b6;color:#2e7232;border-radius:7px;padding:9px 12px;font-size:12px;font-weight:750;white-space:nowrap}
.cep-qe .cep-qe-simple-options{border:1px solid #d9e5d6;border-radius:9px;padding:10px 12px;margin:12px 0;display:grid;gap:4px}.cep-qe .cep-qe-simple-options legend{font-weight:800;font-size:13px;padding:0 5px}.cep-qe .cep-qe-simple-options label{display:flex;flex-direction:row;align-items:center;gap:9px;margin:0;min-height:39px;padding:6px;border-radius:6px}.cep-qe .cep-qe-simple-options label:has(input:checked){background:#edf7e8}.cep-qe .cep-qe-simple-options input{width:17px;height:17px;accent-color:#2d722e}.cep-qe .cep-qe-include{display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px}
.cep-qe [data-qe-step-three] .cep-qe-submit{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px}.cep-qe [data-qe-step-three] .cep-qe-submit .button{flex:1;min-width:140px}
@media(max-width:620px){.delivered-entry{flex-direction:column;align-items:stretch;padding:10px}.delivered-open{width:100%;text-align:center}.delivered-filter a{flex:1;text-align:center}.cep-qe [data-qe-step-three] .cep-qe-submit{flex-direction:column}.cep-qe [data-qe-step-three] .cep-qe-submit .button{width:100%;flex:auto}}

/* Matrícula: errores localizados, legibles y sin pérdida de datos. */
.cep-form-error-summary{background:#fff1ec;border:1px solid #db765d;border-left:4px solid #b63d2c;border-radius:9px;color:#8c2e20;font-size:13px;font-weight:700;line-height:1.55;padding:13px 15px;margin-bottom:20px}
.cep-form-error-summary[hidden],.cep-field-error[hidden]{display:none!important}
.cep-field-error{display:block;color:#a52b22;font-weight:720;font-size:12px;line-height:1.45}
.application-form [aria-invalid="true"],.application-form input[type="file"][aria-invalid="true"]{border:2px solid #bd3a30!important;background:#fff7f5!important;outline-offset:2px}
.application-form [aria-invalid="true"]:focus-visible{outline:2px solid #ba3b30;outline-offset:2px}
.receipt-success{position:relative;max-width:590px;margin:50px auto 72px;padding:36px clamp(22px,5vw,43px);border:1px solid #d8e5d3;border-radius:18px;background:#fff;text-align:center;box-shadow:0 14px 40px #18341912}
.receipt-success-mark{width:60px;height:60px;margin:0 auto 18px;display:grid;place-items:center;border-radius:50%;background:#eaf6e4;color:#327a24;font-size:33px;font-weight:850}
.receipt-success h1{font-size:clamp(22px,3.5vw,30px);line-height:1.2;margin:0 0 10px;color:#213927}
.receipt-success>p{font-size:13px;line-height:1.55;color:#637461;margin:0}
.receipt-reference{display:grid;gap:6px;padding:18px;background:#f3f8f0;border:1px solid #dce9d5;border-radius:12px;margin:21px auto 13px;max-width:360px}
.receipt-reference small{font-size:12px;color:#597152}
.receipt-reference strong{font-size:32px;letter-spacing:.08em;color:#245b25;font-variant-numeric:tabular-nums}
.receipt-success .receipt-reminder{font-size:12px}
.receipt-actions{display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:23px}
.receipt-actions .button{min-width:145px;justify-content:center}
.receipt-close-icon{position:absolute;right:14px;top:12px;width:35px;height:35px;display:grid;place-items:center;border-radius:50%;font-size:23px;line-height:1;color:#536451;text-decoration:none}
.receipt-close-icon:hover,.receipt-close-icon:focus-visible{background:#f0f5ed}
@media(max-width:520px){.receipt-success{margin:22px 15px 40px}.receipt-actions .button{flex:1 1 100%}}


/* Becas de Estudio · identidad institucional CEPROMAC */
.beca-page{max-width:1030px;padding-block:39px 67px}
.beca-intro{max-width:900px;margin:0 auto 28px}
.beca-intro h1{font-size:clamp(29px,5vw,43px);letter-spacing:-.03em;color:#263527;margin:8px 0 17px}
.beca-intro p{font-size:15px;line-height:1.75;color:#4b5e4b;margin:0 0 13px;text-align:justify;text-align-last:left;hyphens:auto;overflow-wrap:break-word}
.beca-intro strong{color:#2d7029}
.beca-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:29px 0}
.beca-types article{padding:23px;border:1px solid #d9e5d1;border-radius:13px;background:#f8fbf5;min-width:0}
.beca-types article>span{font-size:12px;font-weight:800;color:#51734b}
.beca-types article>strong{display:block;color:#267329;font-size:clamp(29px,3.5vw,38px);line-height:1.18;margin:10px 0}
.beca-types article>p{font-size:13px;line-height:1.55;color:#516650;margin:0}
.beca-types .beca-places{background:#fff9f0;border-color:#f1ddbc}
.beca-types .beca-places>strong{color:#a56327;font-size:clamp(25px,3vw,34px)}
.beca-steps{padding:21px 25px;border-left:4px solid #70a657;background:#f4f9f1;border-radius:9px;margin:0 0 32px}
.beca-steps h2{font-size:20px;margin:0 0 8px;color:#28592d}
.beca-steps p{font-size:14px;line-height:1.72;margin:0;color:#435744;text-align:justify;text-align-last:left;hyphens:auto;overflow-wrap:break-word}
.beca-form-section{max-width:890px;margin:0 auto}
.beca-form-title h2{font-size:25px;letter-spacing:-.02em;margin:6px 0 15px}
.beca-form .form-wide{grid-column:1/-1}
.beca-form textarea{min-height:110px}
.beca-consent{display:flex!important;align-items:start;flex-direction:row!important;gap:9px!important;margin:18px 0 10px;line-height:1.5}
.beca-consent input{flex:0 0 auto;accent-color:#32762b;margin-top:3px}
.beca-security-note{font-size:12px;line-height:1.5;color:#637363;margin:12px 0 21px}
.beca-error{background:#fff2ed;border:1px solid #d79372;border-radius:8px;color:#953c25;padding:13px 14px;font-size:13px;margin-bottom:17px}
.beca-error[hidden]{display:none!important}
.beca-success{position:relative;max-width:620px;margin:25px auto 60px;padding:34px 28px;text-align:center;border:1px solid #d9e6d2;border-radius:16px;box-shadow:0 15px 30px #244d2210;background:white}
.beca-check{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 15px;border-radius:50%;background:#e8f5e3;color:#367b28;font-size:35px;font-weight:900}
.beca-success h1{font-size:clamp(24px,4vw,31px);margin:7px 0 10px}
.beca-success p{font-size:13px;line-height:1.7;color:#5d6c5b;margin:12px 0}
.beca-reference{display:grid;gap:6px;max-width:420px;margin:19px auto;padding:15px;background:#f6faf4;border-radius:9px}
.beca-reference small{color:#5a7055}
.beca-reference strong{font-size:clamp(19px,4vw,27px);color:#2b6b24;letter-spacing:.03em;overflow-wrap:anywhere}
.beca-close{position:absolute;right:15px;top:9px;font-size:27px;color:#71806e;text-decoration:none}
.beca-admin-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px}
.beca-admin-head h2{font-size:24px;margin:5px 0}
.beca-admin-head>strong{font-size:14px;border-radius:8px;background:#eff6eb;color:#276c23;padding:12px}
.beca-admin>p{font-size:13px;line-height:1.6;color:#546752}
.beca-admin-list{display:grid;gap:14px;margin-top:19px}
.beca-admin-card{padding:18px 20px;border:1px solid #dde8d8;border-radius:12px;background:#fff;overflow-wrap:anywhere}
.beca-admin-card header{display:flex;justify-content:space-between;gap:11px;flex-wrap:wrap}
.beca-admin-card header h3{font-size:17px;margin:4px 0}
.beca-admin-card header>strong{font-size:12px;color:#31762d}
.beca-admin-card header span,.beca-admin-card header p{font-size:12px;color:#617260;margin:0}
.beca-admin-card>p{font-size:13px;line-height:1.5}
.beca-private-answer{border-left:3px solid #bbd7b3;padding:10px 14px;background:#f8fbf6;border-radius:5px}
.beca-private-answer b{font-size:12px;color:#365c35}
.beca-private-answer p{margin:5px 0 13px;font-size:13px;line-height:1.6}
.beca-documents{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:15px 0;font-size:12px}
.beca-documents a{color:#27652b;text-decoration:underline}
.beca-review{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:17px;border-top:1px solid #e7eee4;padding-top:17px}
.beca-review label{display:grid;gap:6px;font-size:12px;font-weight:750;color:#325e30;min-width:0}
.beca-review input,.beca-review select,.beca-review textarea{width:100%;min-height:41px;border:1px solid #d4e3cf;border-radius:7px;padding:9px 10px;font:inherit;font-weight:500}
.beca-review .form-wide{grid-column:1/-1}
.beca-review .button{justify-self:start}
@media(max-width:760px){
 .header-bar .site-nav{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px 6px;padding:8px 0 11px}
 .header-bar .site-nav a{font-size:12px!important;padding:9px 4px!important;white-space:normal;text-align:center;line-height:1.25;min-width:0}
 .header-bar .site-nav a.aula-link{display:flex;align-items:center;justify-content:center;gap:4px;margin:0}
 .beca-types{grid-template-columns:1fr;gap:10px}
 .beca-types article{padding:17px 19px}
 .beca-form .form-grid,.beca-review{grid-template-columns:1fr}
 .beca-page{padding-block:25px 44px}
 .beca-intro p{font-size:14px}
 .beca-steps{padding:18px}
 .beca-admin-card{padding:14px}
}


/* Convocatoria anual de becas y consulta privada del expediente. */
.beca-window{display:flex;flex-wrap:wrap;gap:7px;padding:17px 20px;margin:19px 0 25px;background:#f0f6eb;border:1px solid #d1e1c7;border-radius:11px;color:#2d5f2c;font-size:14px;line-height:1.6}
.beca-window strong{width:100%;font-size:15px}
.beca-window span{font-size:13px}
.beca-tracking{padding:25px;border:1px solid #dae7d5;border-radius:14px;background:#f8fbf6;margin:26px 0 30px;scroll-margin-top:110px}
.beca-tracking-heading h2{font-size:clamp(20px,3vw,25px);margin:6px 0 9px;color:#284c29}
.beca-tracking-heading p{font-size:13px;line-height:1.65;color:#536951;max-width:800px;margin:0 0 17px;text-align:justify;hyphens:auto}
.beca-tracking-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;max-width:800px;box-shadow:none;padding:17px}
.beca-tracking-form .beca-error{grid-column:1/-1;margin:0}
.beca-tracking-form .button{grid-column:1/-1;justify-self:start;min-width:185px}
.beca-tracking-result{padding:18px 22px;border:1px solid #bcd9b1;background:#fff;border-radius:11px;margin-top:17px}
.beca-tracking-result h3{font-size:clamp(21px,3vw,28px);color:#31702d;margin:7px 0}
.beca-tracking-result p{font-size:13px;line-height:1.7;color:#50614c;margin:7px 0}
.beca-tracking-exit{margin-top:16px}
.beca-closed{padding:23px 26px;border:1px solid #e5dac0;background:#fffaf1;border-radius:12px}
.beca-closed h2{color:#805f26;font-size:21px;margin:0 0 9px}
.beca-closed p{font-size:13px;line-height:1.6;margin:0;color:#665a45;text-align:justify}
.beca-success-actions{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:16px}
.beca-success-actions .button{min-width:145px;justify-content:center}
@media(max-width:720px){.beca-tracking{padding:16px}.beca-tracking-form{grid-template-columns:1fr;padding:15px}.beca-tracking-form .button{width:100%;justify-self:stretch}.beca-tracking-result{padding:15px}.beca-window{padding:14px 16px}.beca-success-actions .button{flex:1 1 100%}}
