@import url('https://fonts.googleapis.com/css2?family=Libre+Franklin:wght@300;400;500;600;700&display=swap');

:root{
  --almik-navy:#1e2a38;
  --almik-black:#071a2b;
  --almik-green:#7c8f84;
  --almik-cream:#e6dfd5;
  --almik-text:#111;
  --almik-line:#d7d7d7;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--almik-text);font-family:Georgia,'Times New Roman',serif;line-height:1.35}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,textarea,select{font:inherit}
.page-shell{min-height:100vh}
.original-container{width:min(1126px,calc(100% - 40px));margin:0 auto}

/* Header: copia visual del sitio actual */
.site-header{height:108px;background:var(--almik-navy);color:#fff;position:relative;z-index:100}
.header-inner{height:108px;display:flex;align-items:center}
.brand-link{display:flex;align-items:center;flex:none;margin-left:49px}
.brand-logo{width:126px;height:auto;object-fit:contain}
.main-nav{margin-left:auto;margin-right:4px;display:flex;align-items:center;gap:25px;font-family:Georgia,'Times New Roman',serif;font-size:15px;white-space:nowrap}
.main-nav>a,.nav-dropdown>button{color:#fff;border:0;background:transparent;padding:12px 0;cursor:pointer;font-weight:400}
.main-nav>a:hover,.nav-dropdown>button:hover{opacity:.82}
.nav-dropdown{position:relative}
.nav-dropdown>button{display:flex;gap:5px;align-items:center}
.chev{font-family:Arial,sans-serif;font-size:16px;transform:translateY(-1px)}
.dropdown-menu{display:none;position:absolute;top:100%;left:-16px;min-width:235px;padding:7px 0;background:#fff;color:#111;box-shadow:0 10px 28px rgba(0,0,0,.18);border-radius:2px;font-family:Georgia,'Times New Roman',serif}
.nav-dropdown:hover .dropdown-menu,.nav-dropdown.is-open .dropdown-menu{display:block}
.dropdown-menu a{display:block;padding:10px 16px;font-size:14px}
.dropdown-menu a:hover{background:#f3f3f3}
.nav-toggle{display:none;margin-left:auto;border:1px solid rgba(255,255,255,.55);background:transparent;color:#fff;border-radius:4px;padding:6px 9px}

/* Home */
.home-top{background:#fff;padding:38px 0 64px}
.home-hero{display:grid;grid-template-columns:480px 480px;gap:56px;align-items:start;padding-top:0}
.home-copy{padding-top:30px}
.home-copy h1{font-family:'Libre Franklin',Arial,sans-serif;color:#071b2d;font-size:34px;line-height:1.15;font-weight:500;letter-spacing:-1.45px;margin:0 0 39px}
.home-copy h2{font-family:'Libre Franklin',Arial,sans-serif;color:#071b2d;font-size:24px;line-height:1.25;font-weight:500;letter-spacing:-1px;margin:0 0 23px}
.home-copy p{font-size:15.7px;line-height:1.35;margin:0;color:#111;max-width:478px}
.home-cta-row{text-align:right;margin-top:28px}
.outline-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:7px 16px;border:2px solid #4a4a4a;background:#fff;color:#222;border-radius:2px;font-size:16px;line-height:1}
.outline-button:hover{background:#f7f7f7}
.home-hero-image-wrap{width:480px;padding-top:0}
.home-hero-image{width:480px;height:360px;object-fit:cover;border-radius:20px;box-shadow:0 7px 16px rgba(0,0,0,.18)}
.home-links{display:grid;grid-template-columns:repeat(4,150px);column-gap:119px;justify-content:start;padding:46px 0 0 30px}
.home-link-card{text-align:center;font-family:'Libre Franklin',Arial,sans-serif;color:#071b2d}
.home-link-card img{width:150px;height:111px;object-fit:cover;border-radius:18px;box-shadow:0 7px 14px rgba(0,0,0,.15);margin:0 auto 29px}
.home-link-card strong{font-size:17px;line-height:1.1;font-weight:700;letter-spacing:-.45px;white-space:nowrap}
.home-avales{padding:11px 0 58px;background:#fff}
.home-avales h2{font-family:'Libre Franklin',Arial,sans-serif;font-size:34px;line-height:1.1;color:#071b2d;font-weight:500;letter-spacing:-1.2px;margin:0 0 28px}
.avales-track{display:flex;align-items:center;gap:22px;overflow-x:auto;padding:8px 2px 18px;scrollbar-width:thin}
.aval-card{width:175px;height:105px;flex:0 0 175px;display:flex;align-items:center;justify-content:center;background:#fff}
.aval-card img{max-width:165px;max-height:90px;object-fit:contain}
.home-events{padding:4px 0 30px}
.empty-events{font-size:14px;color:#555}
.home-reviews{padding:28px 0 75px;background:#fafafa}
.reviews-heading h3{font-family:'Libre Franklin',Arial,sans-serif;font-size:20px;margin:0 0 6px;color:#111}
.review-score{font-family:'Libre Franklin',Arial,sans-serif;display:flex;gap:9px;align-items:center}.review-score span,.stars{letter-spacing:2px;color:#f7a600}
.reviews-heading p{font-family:'Libre Franklin',Arial,sans-serif;font-size:13px;color:#444}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}
.review-card{background:#fff;border:1px solid #e8e8e8;border-radius:5px;padding:17px;min-height:160px;font-family:'Libre Franklin',Arial,sans-serif}
.review-name{font-weight:700;font-size:14px}.stars{font-size:14px;margin:5px 0}.review-card p{font-size:13px;line-height:1.45;color:#444;margin:0}

/* Public inner pages */
.inner-hero{padding:70px 0 35px;max-width:1020px}
.inner-hero .eyebrow{font-family:'Libre Franklin',Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em;font-size:14px;color:#1d2a38;margin-bottom:14px}
.inner-hero h1{font-family:'Libre Franklin',Arial,sans-serif;color:#071b2d;font-size:42px;font-weight:500;letter-spacing:-1.5px;line-height:1.12;margin:0 0 24px;max-width:820px}
.inner-hero p{font-size:17px;line-height:1.55;max-width:900px;margin:0}
.section{padding:40px 0 70px}
.grid{display:grid;gap:24px}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-4{grid-template-columns:repeat(4,1fr)}
.card{border:1px solid #e2e2e2;padding:24px;background:#fff}
.card h3{font-family:'Libre Franklin',Arial,sans-serif;color:#071b2d}
.area-card{min-height:220px;display:flex;flex-direction:column;justify-content:space-between}
.area-card a{font-weight:700}
.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding:20px 0 85px}
.course-card{background:#fff}
.course-cover{height:235px;background:#eee;overflow:hidden}
.course-cover img{width:100%;height:100%;object-fit:cover}
.course-body{padding:19px 5px 8px}.course-body h3{font-family:'Libre Franklin',Arial,sans-serif;font-size:15px;line-height:1.25;letter-spacing:.01em;margin:0 0 13px;color:#111;text-transform:uppercase}.course-body p{font-size:15px;line-height:1.48;margin:0 0 16px}.course-body a{font-family:'Libre Franklin',Arial,sans-serif;font-size:14px;font-weight:600;text-decoration:underline}
.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:10px 0 80px}.resource{border:1px solid #ddd;padding:18px;display:flex;align-items:center;gap:12px;background:#fff}.resource-icon{width:38px;height:38px;border-radius:50%;background:#1e2a38;color:#fff;display:grid;place-items:center;flex:none}.resource strong{font-family:'Libre Franklin',Arial,sans-serif}.resource small{color:#666}
.catalog-toolbar{margin-bottom:22px}.catalog-list{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding-bottom:80px}.catalog-card{border:1px solid #e3e3e3;padding:22px;background:#fff}.catalog-card h3{font-family:'Libre Franklin',Arial,sans-serif;color:#071b2d}.status{display:inline-block;background:#eee;padding:4px 8px;font-size:12px}.rating{color:#777}

/* Auth + LMS retain a clean version while the public site mirrors current frontend */
.auth-wrap{width:min(1000px,calc(100% - 40px));margin:0 auto;padding:60px 0 90px;display:grid;grid-template-columns:1fr 1fr;gap:50px}.auth-intro h1,.auth-card h1,.auth-card h2{font-family:'Libre Franklin',Arial,sans-serif;color:#071b2d}.auth-card{border:1px solid #dedede;padding:28px;background:#fff}.field{display:grid;gap:6px;margin-bottom:14px}.field label{font-family:'Libre Franklin',Arial,sans-serif;font-size:13px;font-weight:600}.field input,.field textarea,.field select{border:1px solid #cfcfcf;padding:11px 12px;width:100%;background:#fff}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #1e2a38;background:#1e2a38;color:#fff;padding:10px 16px;cursor:pointer}.btn.secondary{background:#fff;color:#1e2a38}.error{background:#fde8e8;padding:10px;margin-bottom:12px;color:#801d1d}

.dashboard,.lms-shell{width:min(1160px,calc(100% - 40px));margin:0 auto;padding:48px 0 85px;font-family:'Libre Franklin',Arial,sans-serif}.dashboard h1,.dashboard h2,.dashboard h3,.lms-shell h1,.lms-shell h2,.lms-shell h3{color:#071b2d}.dash-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.dash-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.progress{height:8px;background:#e6dfd5}.progress span{display:block;height:100%;background:#7c8f84}.lms-panel{border:1px solid #ddd;background:#fff;padding:22px;margin:18px 0}.lms-list,.lesson-outline,.discussion-list{display:grid;gap:10px}.lms-row,.lesson-link,.discussion-card{display:flex;justify-content:space-between;align-items:center;gap:15px;border:1px solid #e5e5e5;padding:14px;background:#fff}.lesson-link{display:grid;grid-template-columns:42px 1fr auto}.lesson-number{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e6dfd5}.lesson-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);gap:20px}.video-card{background:#1e2a38;padding:18px}.video-card video{width:100%}.live-callout{padding:15px;background:#e6dfd5}.stack-form{display:grid;gap:12px}.stack-form input,.stack-form textarea,.admin-grid-form input,.admin-grid-form textarea,.admin-grid-form select{width:100%;border:1px solid #ccc;padding:10px}.admin-grid-form{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.admin-grid-form .span-2{grid-column:span 2}.admin-table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:10px;border-bottom:1px solid #ddd;text-align:left}.status-pill{display:inline-block;background:#e6dfd5;padding:4px 8px;border-radius:999px;font-size:12px}

/* Footer */
.site-footer{background:var(--almik-navy);color:#fff;padding:48px 0 35px}
.footer-inner{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:60px}
.footer-social p{font-family:'Libre Franklin',Arial,sans-serif;font-size:18px;margin-top:0}.social-row{display:flex;gap:10px}.social-row a{width:32px;height:32px;border:1px solid rgba(255,255,255,.6);border-radius:50%;display:grid;place-items:center;font-family:Arial,sans-serif;font-size:13px}
.footer-links h2,.footer-contact h2{font-family:'Libre Franklin',Arial,sans-serif;color:#fff;font-size:22px;font-weight:500;margin:0 0 14px}.footer-links>a,.footer-contact>a{display:block;margin:7px 0;font-size:15px}.footer-credit{font-size:13px;margin-top:25px}.footer-credit a{text-decoration:underline}
.whatsapp{position:fixed;right:22px;bottom:20px;width:64px;height:64px;background:transparent!important;color:inherit;display:block!important;box-shadow:none!important;border:0!important;border-radius:0!important;padding:0!important;z-index:200;text-decoration:none;overflow:visible!important}.whatsapp .whatsapp-logo{display:block!important;width:64px!important;height:64px!important;max-width:none!important;object-fit:contain!important;aspect-ratio:1/1!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;filter:drop-shadow(0 4px 7px rgba(0,0,0,.20))}

@media(max-width:1050px){
  .original-container{width:min(100% - 32px,940px)}
  .brand-link{margin-left:0}.main-nav{gap:14px;font-size:14px}
  .home-hero{grid-template-columns:1fr 1fr;gap:38px}.home-hero-image-wrap,.home-hero-image{width:100%}.home-hero-image{height:auto;aspect-ratio:4/3}.home-links{padding-left:0;grid-template-columns:repeat(4,140px);column-gap:92px}.home-link-card img{width:140px}
}
@media(max-width:820px){
  .site-header,.header-inner{height:82px}.brand-logo{width:112px}.nav-toggle{display:block}.main-nav{display:none;position:absolute;top:82px;left:16px;right:16px;background:#1e2a38;padding:16px 20px;flex-direction:column;align-items:stretch;gap:3px;box-shadow:0 12px 25px rgba(0,0,0,.22)}.main-nav.is-open{display:flex}.nav-dropdown>button{width:100%;justify-content:space-between}.nav-dropdown-with-link>.nav-dropdown-trigger{width:100%}.dropdown-menu{position:static;box-shadow:none;background:#fff;margin-bottom:6px}.nav-dropdown:hover .dropdown-menu{display:none}.nav-dropdown.is-open .dropdown-menu{display:block}
  .home-top{padding-top:25px}.home-hero{grid-template-columns:1fr;gap:30px}.home-copy{padding-top:0}.home-copy h1{margin-bottom:26px}.home-cta-row{text-align:left}.home-hero-image-wrap{max-width:560px}.home-links{grid-template-columns:repeat(2,150px);justify-content:center;column-gap:65px;row-gap:35px}.home-link-card img{width:150px}.reviews-grid{grid-template-columns:1fr 1fr}.course-grid,.resource-grid,.catalog-list{grid-template-columns:repeat(2,1fr)}.footer-inner{grid-template-columns:1fr 1fr}.auth-wrap,.lesson-layout{grid-template-columns:1fr}.dash-cards{grid-template-columns:1fr 1fr}
}
@media(max-width:540px){
  .original-container{width:min(100% - 28px,1126px)}.home-copy h1{font-size:30px}.home-copy h2{font-size:21px}.desktop-only{display:none}.home-links{grid-template-columns:1fr 1fr;column-gap:18px;padding-top:35px}.home-link-card img{width:100%;height:auto;aspect-ratio:150/111}.home-link-card strong{white-space:normal;font-size:15px}.home-avales h2{font-size:30px}.reviews-grid,.course-grid,.resource-grid,.catalog-list,.grid.cols-2,.grid.cols-3,.grid.cols-4,.dash-cards,.footer-inner,.form-row,.admin-grid-form{grid-template-columns:1fr}.admin-grid-form .span-2{grid-column:auto}.inner-hero h1{font-size:34px}.course-cover{height:220px}.whatsapp{right:14px;bottom:14px}
}
.inner-subtitle{font-family:'Libre Franklin',Arial,sans-serif;color:#071b2d;font-size:24px;font-weight:500;letter-spacing:-.6px;line-height:1.25;margin:0 0 20px}.public-section-title{font-family:'Libre Franklin',Arial,sans-serif;color:#071b2d;font-size:28px;font-weight:500;margin:0 0 24px}
.auth-intro h2{font-family:'Libre Franklin',Arial,sans-serif;font-size:27px;font-weight:500;color:#071b2d;margin:0 0 18px}.auth-register-single{grid-template-columns:1fr;max-width:720px}.login-options{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:8px 0 18px;font-size:13px}.login-options label{display:flex;gap:7px;align-items:center}.login-options input{width:auto}

/* ====== Fidelity fixes: homepage / Google Business / footer ====== */
.home-link-card img{
  width:150px;
  height:111px;
  object-fit:cover;
  object-position:center;
  border-radius:18px;
  box-shadow:none;
  margin:0 auto 29px;
}

.home-avales{padding:11px 0 58px;background:#fff}
.avales-carousel{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;gap:8px}
.avales-viewport{overflow:hidden;width:100%}
.avales-track{display:flex;align-items:center;gap:22px;overflow:visible;padding:8px 2px 18px;scrollbar-width:none;transition:transform .28s ease}
.avales-track::-webkit-scrollbar{display:none}
.avales-arrow{width:30px;height:44px;border:0;background:transparent;color:#555;font-family:Arial,sans-serif;font-size:36px;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0;opacity:.8}
.avales-arrow:hover{opacity:1}
.aval-card{width:165px;height:105px;flex:0 0 165px;display:flex;align-items:center;justify-content:center;background:#fff}
.aval-card img{max-width:155px;max-height:88px;object-fit:contain}

.home-reviews{padding:34px 0 72px;background:#fff;font-family:'Libre Franklin',Arial,sans-serif}
.google-reviews-header{display:flex;justify-content:space-between;align-items:flex-start;gap:25px;margin-bottom:18px}
.google-reviews-header h3{font-size:20px;line-height:1.2;margin:0 0 6px;font-weight:700;color:#171717}
.google-reviews-header p{font-size:13px;color:#535353;margin:8px 0 0}
.google-business-link{font-size:12px;color:#555;text-decoration:underline;margin-top:3px}
.review-score{display:flex;align-items:center;gap:8px;font-size:15px}
.review-score strong{font-size:15px;color:#171717}
.review-score span,.stars{color:#f9a000;letter-spacing:1px}
.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}
.review-card{background:#fff;border:1px solid #e1e1e1;border-radius:4px;padding:16px;min-height:174px;font-family:'Libre Franklin',Arial,sans-serif;box-shadow:none}
.review-card-head{display:grid;grid-template-columns:38px minmax(0,1fr) 18px;gap:10px;align-items:start;margin-bottom:8px}
.review-avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;background:#f0f0f0}
.review-avatar-fallback{display:grid;place-items:center;background:#e9edf1;color:#1e2a38;font-weight:700}
.review-meta{min-width:0}
.review-name{display:block;font-size:13px;line-height:1.2;font-weight:700;color:#202124;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.review-stars-row{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:4px}
.review-stars-row .stars{font-size:13px;line-height:1}
.review-time{font-size:11px;color:#777;line-height:1.2}
.google-g{font-family:Arial,sans-serif;font-size:18px;font-weight:700;color:#4285f4;line-height:1}
.review-card p{font-size:13px;line-height:1.46;color:#4b4b4b;margin:0}

/* Footer mirrors the live public site's three-column structure and real social links. */
.site-footer{background:#1e2a38;color:#fff;padding:50px 0 42px;font-family:Georgia,'Times New Roman',serif}
.footer-inner{display:grid;grid-template-columns:1.25fr .95fr 1fr;column-gap:88px;align-items:start}
.footer-social h2,.footer-links h2,.footer-contact h2{font-family:'Libre Franklin',Arial,sans-serif;color:#fff;font-size:21px;line-height:1.2;font-weight:600;margin:0 0 16px}
.footer-social h2{font-size:18px;font-weight:500}
.social-row{display:flex;gap:10px;margin-top:18px}
.social-row a{width:32px;height:32px;border:1px solid rgba(255,255,255,.7);border-radius:50%;display:grid;place-items:center;color:#fff}
.social-row svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5}
.social-row a[aria-label="Facebook"] svg,.social-row a[aria-label="YouTube"] svg{fill:currentColor;stroke:none}
.footer-links>a,.footer-contact>a{display:block;width:max-content;max-width:100%;margin:7px 0;color:#fff;font-size:15px;line-height:1.25}
.footer-links>a:hover,.footer-contact>a:hover,.footer-credit a:hover{text-decoration:underline}
.footer-credit{font-size:13px;line-height:1.35;margin:25px 0 0;color:#fff}
.footer-credit a{color:#fff;text-decoration:underline}

@media(max-width:820px){
  .avales-carousel{grid-template-columns:28px minmax(0,1fr) 28px}
  .reviews-grid{grid-template-columns:1fr 1fr}
  .footer-inner{grid-template-columns:1fr 1fr;column-gap:45px;row-gap:36px}
  .footer-contact{grid-column:1/-1}
}
@media(max-width:540px){
  .home-link-card img{width:100%;height:auto;aspect-ratio:150/111}
  .reviews-grid{grid-template-columns:1fr}
  .google-reviews-header{display:block}
  .google-business-link{display:inline-block;margin-top:12px}
  .footer-inner{grid-template-columns:1fr;gap:32px}
  .footer-contact{grid-column:auto}
}
.avales-viewport{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;scroll-behavior:smooth}
.avales-viewport::-webkit-scrollbar{display:none}

/* =====================================================================
   HOME FIDELITY PASS — replica de las capturas de sanacionalmik.com
   ===================================================================== */

/* 4 accesos visuales: mismo tamaño, separación y sombra que el original. */
.home-links{
  grid-template-columns:repeat(4,159px);
  column-gap:127px;
  padding-left:74px;
  padding-top:46px;
}
.home-link-card img{
  width:159px;
  height:118px;
  object-fit:cover;
  object-position:center;
  border-radius:18px;
  box-shadow:0 8px 18px rgba(0,0,0,.18);
  margin:0 auto 31px;
}
.home-link-card strong{
  font-size:17px;
  line-height:1.1;
  letter-spacing:-.5px;
}

/* Avales: slider grande, 4 por vista en escritorio, sin barra de scroll. */
.home-avales{
  background:#fff;
  padding:26px 0 22px;
  overflow:hidden;
}
.home-avales>.original-container{
  width:min(1062px,calc(100% - 40px));
}
.home-avales h2{
  font-size:36px;
  line-height:1.1;
  font-weight:500;
  letter-spacing:-1.35px;
  margin:0 0 38px;
}
.avales-carousel{
  position:relative;
  display:block;
  width:100%;
  min-height:230px;
}
.avales-viewport{
  width:100%;
  overflow:hidden !important;
  scroll-behavior:smooth;
  scrollbar-width:none;
}
.avales-viewport::-webkit-scrollbar{display:none}
.avales-track{
  display:flex;
  align-items:center;
  gap:0;
  width:max-content;
  padding:0;
  overflow:visible;
  transition:none;
}
.aval-card{
  flex:0 0 calc(1062px / 4);
  width:calc(1062px / 4);
  height:220px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  overflow:hidden;
}
.aval-card img{
  display:block;
  width:auto;
  height:auto;
  max-width:none;
  max-height:none;
  object-fit:contain;
}
.aval-card:nth-child(1) img{width:278px}
.aval-card:nth-child(2) img{width:208px}
.aval-card:nth-child(3) img{width:230px}
.aval-card:nth-child(4) img{width:282px}
.aval-card:nth-child(5) img{width:270px}
.aval-card:nth-child(6) img{width:205px}
.avales-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:5;
  width:44px;
  height:44px;
  border:0;
  border-radius:50%;
  background:rgba(30,42,56,.86);
  color:#fff;
  font-family:Arial,sans-serif;
  font-size:34px;
  font-weight:300;
  line-height:1;
  display:grid;
  place-items:center;
  padding:0 0 3px;
  cursor:pointer;
  box-shadow:none;
  opacity:1;
}
.avales-arrow.prev{left:-22px}
.avales-arrow.next{right:-22px}
.avales-arrow[disabled]{opacity:0;pointer-events:none}

/* Franja de eventos: crema institucional exacto #E6DFD5. */
.home-events{
  background:#e6dfd5;
  padding:54px 0;
}
.home-events>.original-container{
  width:min(1080px,calc(100% - 40px));
}
.empty-events{
  margin:0;
  min-height:59px;
  display:flex;
  align-items:center;
  padding:15px 20px;
  border-radius:16px;
  background:#fff;
  color:#111;
  font-size:15px;
  line-height:1.35;
}

/* La sección de reseñas vuelve al blanco como en la página original. */
.home-reviews{background:#fff}

/* Footer exacto: íconos cuadrados arriba, 3 columnas centradas y crédito abajo. */
.site-footer{
  background:#1e2a38;
  color:#fff;
  padding:25px 0 10px;
  min-height:250px;
  font-family:Georgia,'Times New Roman',serif;
}
.footer-inner{
  position:relative;
  min-height:215px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  column-gap:36px;
  align-items:start;
}
.footer-social,
.footer-links,
.footer-contact{
  text-align:center;
}
.footer-social{padding-top:14px}
.footer-social p{
  margin:10px 0 0;
  color:#fff;
  font-family:Georgia,'Times New Roman',serif;
  font-size:16px;
  line-height:1.25;
  font-weight:700;
}
.social-row{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:9px;
  margin:0;
}
.social-row a{
  width:33px;
  height:33px;
  border:0;
  border-radius:3px;
  background:#ead8cc;
  color:#fff;
  display:grid;
  place-items:center;
}
.social-row svg{
  width:17px;
  height:17px;
  fill:currentColor;
  stroke:none;
}
.social-row a[aria-label="Instagram"] svg{
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
}
.footer-links h2,
.footer-contact h2{
  margin:0 0 10px;
  color:#fff;
  font-family:'Libre Franklin',Arial,sans-serif;
  font-size:36px;
  line-height:1.05;
  font-weight:700;
  letter-spacing:-1.2px;
}
.footer-links>a,
.footer-contact>a{
  display:block;
  width:auto;
  margin:2px 0;
  color:#fff;
  font-family:Georgia,'Times New Roman',serif;
  font-size:16px;
  line-height:1.25;
  text-align:center;
}
.footer-credit{
  position:absolute;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  width:max-content;
  max-width:100%;
  margin:0;
  color:#fff;
  font-family:Georgia,'Times New Roman',serif;
  font-size:16px;
  line-height:1.2;
  font-style:italic;
  text-align:center;
}
.footer-credit a{color:#fff;text-decoration:underline}

@media(max-width:1165px){
  .home-links{
    grid-template-columns:repeat(4,150px);
    column-gap:calc((100% - 600px)/3);
    padding-left:0;
  }
  .home-link-card img{width:150px;height:111px}
  .home-avales>.original-container{width:min(100% - 48px,1062px)}
  .aval-card{flex-basis:25vw;width:25vw}
}
@media(max-width:820px){
  .home-links{grid-template-columns:repeat(2,159px);column-gap:64px;row-gap:36px;justify-content:center}
  .home-link-card img{width:159px;height:118px}
  .home-avales>.original-container{width:min(100% - 36px,1062px)}
  .aval-card{flex:0 0 50vw;width:50vw;height:190px}
  .aval-card:nth-child(1) img{width:240px}
  .aval-card:nth-child(2) img{width:180px}
  .aval-card:nth-child(3) img{width:205px}
  .aval-card:nth-child(4) img{width:240px}
  .aval-card:nth-child(5) img{width:225px}
  .aval-card:nth-child(6) img{width:180px}
  .avales-arrow.prev{left:-8px}.avales-arrow.next{right:-8px}
  .footer-inner{grid-template-columns:1fr 1fr;row-gap:28px;min-height:0;padding-bottom:44px}
  .footer-contact{grid-column:1/-1}
  .footer-credit{bottom:0}
}
@media(max-width:540px){
  .home-links{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;padding-left:0}
  .home-link-card img{width:100%;height:auto;aspect-ratio:159/118}
  .aval-card{flex:0 0 82vw;width:82vw;height:180px}
  .home-avales h2{font-size:30px}
  .avales-arrow{width:40px;height:40px;font-size:30px}
  .footer-inner{display:block;padding-bottom:48px}
  .footer-social,.footer-links,.footer-contact{margin-bottom:30px}
  .footer-links h2,.footer-contact h2{font-size:30px}
  .footer-credit{position:absolute;bottom:0}
}

/* Carrusel de avales — distribución fiel al original.
   En escritorio se ven 3 avales completos y una parte del siguiente.
   Cada logo queda contenido dentro de su slide para impedir superposiciones. */
@media(min-width:821px){
  .avales-track{
    gap:20px;
  }
  .aval-card{
    flex:0 0 300px;
    width:300px;
    height:220px;
    overflow:hidden;
    justify-content:center;
  }
  .aval-card img{
    max-width:100%;
    max-height:205px;
  }
  .aval-card:nth-child(1) img{width:278px}
  .aval-card:nth-child(2) img{width:208px}
  .aval-card:nth-child(3) img{width:230px}
  .aval-card:nth-child(4) img{width:282px}
  .aval-card:nth-child(5) img{width:270px}
  .aval-card:nth-child(6) img{width:205px}
}

/* =====================================================================
   HOTFIX EXACTO — accesos de portada (24/08/2026)
   Las imágenes son los recortes limpios de la portada original.
   No usar contenedores blancos ni reencuadres internos.
   ===================================================================== */
@media (min-width:821px){
  .home-links{
    display:grid;
    grid-template-columns:repeat(4,159px) !important;
    column-gap:127px !important;
    justify-content:start !important;
    padding:46px 0 0 74px !important;
  }
  .home-link-card{
    width:159px;
    text-align:center;
  }
  .home-link-card img{
    display:block;
    width:159px !important;
    height:118px !important;
    max-width:none !important;
    object-fit:cover !important;
    object-position:center !important;
    margin:0 auto 31px !important;
    border-radius:18px !important;
    background:transparent !important;
    box-shadow:0 8px 18px rgba(0,0,0,.18) !important;
  }
  .home-link-card strong{
    display:block;
    font-size:17px !important;
    line-height:1.1 !important;
    font-weight:700 !important;
    letter-spacing:-.5px !important;
    white-space:nowrap !important;
  }
}

/* =====================================================================
   ADMIN · DIAGNÓSTICO DE MIGRACIÓN WORDPRESS / TUTOR LMS
   Vista temporal, protegida por ADMIN_DIAGNOSTIC_PASSWORD.
   ===================================================================== */
.import-login-shell,
.import-admin-shell{
  font-family:'Libre Franklin',Arial,sans-serif;
  color:#1e2a38;
}
.import-login-shell{
  min-height:62vh;
  display:grid;
  place-items:center;
  padding:64px 20px;
  background:#f7f4ef;
}
.import-login-card{
  width:min(520px,100%);
  background:#fff;
  border:1px solid rgba(30,42,56,.12);
  border-radius:20px;
  padding:36px;
  box-shadow:0 18px 48px rgba(30,42,56,.12);
}
.import-login-mark{
  width:54px;height:54px;border-radius:50%;display:grid;place-items:center;
  background:#1e2a38;color:#fff;font-family:Georgia,serif;font-style:italic;font-size:21px;margin-bottom:20px;
}
.import-eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.11em;font-size:12px;font-weight:800;color:#7c8f84}
.import-login-card h1,.import-admin-topbar h1{margin:0;color:#1e2a38;letter-spacing:-.035em}
.import-login-card h1{font-size:34px;line-height:1.08}
.import-login-card>p:not(.import-eyebrow){font-size:15px;line-height:1.55;color:#53606c;margin:16px 0 24px}
.import-login-form{display:grid;gap:18px}
.import-login-form label,.import-filters label{display:grid;gap:7px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.import-login-form input,.import-filters input,.import-filters select{
  width:100%;box-sizing:border-box;border:1px solid #cfd5d9;border-radius:9px;background:#fff;color:#1e2a38;
  padding:12px 13px;font:500 14px/1.2 'Libre Franklin',Arial,sans-serif;outline:none;
}
.import-login-form input:focus,.import-filters input:focus,.import-filters select:focus{border-color:#7c8f84;box-shadow:0 0 0 3px rgba(124,143,132,.16)}
.import-login-form button,.import-filters button{
  border:0;border-radius:9px;background:#1e2a38;color:#fff;padding:13px 18px;font-weight:800;cursor:pointer;
}
.import-alert{border-radius:10px;padding:13px 15px;margin:18px 0;font-size:14px;line-height:1.45}
.import-alert-error{background:#fff0ef;border:1px solid #efc8c5;color:#8f2f29}
.import-config-help{padding:16px;background:#f2eee8;border-radius:12px;display:grid;gap:10px;font-size:14px}
.import-config-help code{display:block;background:#1e2a38;color:#fff;border-radius:7px;padding:10px;overflow:auto}
.import-config-help p{margin:0;color:#53606c}

.import-admin-shell{width:min(1500px,calc(100% - 48px));margin:0 auto;padding:42px 0 76px}
.import-admin-topbar{display:flex;justify-content:space-between;gap:30px;align-items:flex-start;margin-bottom:24px}
.import-admin-topbar h1{font-size:38px;line-height:1.08}
.import-admin-lead{margin:10px 0 0;color:#63707a;font-size:15px}
.import-admin-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.readonly-badge,.ready-badge{
  display:inline-flex;align-items:center;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:900;letter-spacing:.05em;
}
.readonly-badge{background:#e7efe9;color:#476553;border:1px solid #cbdccf}
.ready-badge{background:#eaf4ed;color:#3f6c4b;border:1px solid #cae2d0;white-space:nowrap}
.import-ghost-button{border:1px solid #cbd2d7;background:#fff;color:#1e2a38;border-radius:8px;padding:8px 12px;font-weight:700;cursor:pointer}
.import-source-strip{display:flex;flex-wrap:wrap;gap:8px 24px;background:#f5f2ed;border:1px solid #e4ded5;border-radius:12px;padding:13px 16px;margin-bottom:20px;font-size:13px;color:#58646e}
.import-source-strip a{color:#1e2a38;text-decoration:underline}.import-source-strip code{color:#1e2a38;font-weight:800}
.import-stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:22px}
.import-stat-grid article{background:#fff;border:1px solid #e0e4e6;border-radius:14px;padding:17px;min-width:0;box-shadow:0 4px 14px rgba(30,42,56,.04)}
.import-stat-grid span{display:block;color:#6a7680;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.import-stat-grid strong{display:block;color:#1e2a38;font-size:30px;line-height:1;margin:11px 0 7px;letter-spacing:-.04em}
.import-stat-grid small{display:block;color:#7a858d;font-size:12px;line-height:1.3}
.import-panel{background:#fff;border:1px solid #dde2e5;border-radius:16px;overflow:hidden;box-shadow:0 5px 20px rgba(30,42,56,.045);margin-bottom:18px}
.import-panel-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding:20px 22px;border-bottom:1px solid #e5e8ea}
.import-panel-heading h2{margin:0 0 4px;font-size:22px;letter-spacing:-.025em}.import-panel-heading p{margin:0;color:#69757e;font-size:13px}
.import-result-count{white-space:nowrap;color:#53606a;font-size:13px;background:#f4f6f6;border-radius:999px;padding:8px 11px}
.import-filters{display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(3,minmax(150px,.8fr)) auto auto;gap:10px;align-items:end;padding:16px 22px;background:#fafbfb;border-bottom:1px solid #e5e8ea}
.import-filters label{color:#66727c}.import-filters button{height:41px}.import-clear{height:41px;display:flex;align-items:center;color:#52616d;font-size:13px;font-weight:700;padding:0 4px}
.import-table-wrap{overflow:auto;max-width:100%}
.import-table{width:100%;min-width:1260px;border-collapse:collapse;font-size:13px}
.import-table th{position:sticky;top:0;background:#f4f6f6;color:#5d6973;text-align:left;padding:11px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #dfe4e7;z-index:1}
.import-table td{vertical-align:top;padding:13px 12px;border-bottom:1px solid #edf0f1;color:#27333e}
.import-table tbody tr:hover{background:#fcfdfd}
.course-cell{min-width:370px}.course-cell-inner{display:grid;grid-template-columns:92px 1fr;gap:12px;align-items:start}.course-cell-inner img,.course-no-image{width:92px;height:62px;border-radius:8px;object-fit:cover;background:#eef0ef}.course-no-image{display:grid;place-items:center;font-size:10px;color:#7b858b;text-align:center}.course-cell strong{display:block;font-size:14px;line-height:1.3;margin-bottom:4px}.course-cell small,.import-table td>small{display:block;color:#7b858d;font-size:11px;line-height:1.35}.course-cell code{display:block;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:5px;color:#5c6872;font-size:11px}.course-links{display:flex;gap:11px;margin-top:7px}.course-links a{color:#567565;font-weight:800;font-size:11px;text-decoration:none}.course-links a:hover{text-decoration:underline}
.status-pill{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900;white-space:nowrap;background:#edf0f2;color:#53616c}.status-publish{background:#e8f2eb;color:#3f684a}.status-draft{background:#fff1d8;color:#855f21}.status-private{background:#ece9f5;color:#5e507b}.status-trash{background:#fae6e4;color:#8e423c}.table-date{margin-top:7px}.category-stack,.warning-stack,.structure-counts{display:flex;flex-direction:column;gap:5px}.category-stack span{display:inline-flex;width:max-content;max-width:180px;background:#edf2ef;color:#496354;padding:4px 7px;border-radius:6px;font-size:11px}.category-stack em{font-style:normal;color:#a05d45;font-size:11px}.structure-counts span{white-space:nowrap;color:#68747d;font-size:11px}.structure-counts b{color:#26333d;font-size:12px}.enrollment-cell strong{font-size:18px}.warning-stack span{display:inline-flex;width:max-content;max-width:180px;padding:4px 7px;border-radius:6px;background:#fff1df;color:#815f28;font-size:10px;font-weight:800}.empty-table{text-align:center!important;padding:42px!important;color:#78848c!important}
.import-technical-panel details{padding:0}.import-technical-panel summary{cursor:pointer;padding:17px 20px;font-weight:800;color:#33414c}.technical-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;padding:0 20px 22px;border-top:1px solid #edf0f1}.technical-grid h3{font-size:14px;margin:18px 0 10px}.code-list{display:flex;flex-wrap:wrap;gap:6px}.code-list code{background:#f2f4f4;border-radius:5px;padding:5px 7px;font-size:11px}.posttype-list{display:grid;grid-template-columns:1fr 1fr;gap:5px 12px}.posttype-list span{display:flex;justify-content:space-between;gap:8px;border-bottom:1px dashed #dfe3e5;padding:4px 0;font-size:11px}.posttype-list code{overflow:hidden;text-overflow:ellipsis}.import-next-step{background:#e6dfd5;border-radius:12px;padding:15px 17px;color:#46515a;font-size:13px;line-height:1.5}
@media(max-width:1200px){.import-stat-grid{grid-template-columns:repeat(3,1fr)}.import-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.import-filters button,.import-clear{width:max-content}}
@media(max-width:700px){.import-admin-shell{width:min(100% - 24px,1500px);padding-top:26px}.import-admin-topbar{display:block}.import-admin-topbar h1{font-size:30px}.import-admin-actions{margin-top:18px}.import-stat-grid{grid-template-columns:repeat(2,1fr)}.import-filters{grid-template-columns:1fr}.technical-grid{grid-template-columns:1fr}.import-login-card{padding:26px 22px}.import-login-card h1{font-size:29px}}

/* =====================================================================
   DESCARGAS GRATUITAS — réplica de la página WordPress actual.
   Las portadas NO están hardcodeadas: src se resuelve desde la biblioteca
   multimedia de WordPress usando la base SOURCE_DB compartida.
   ===================================================================== */
.downloads-page{background:#fff;color:#071b2d}
.downloads-intro{background:#fff;padding:31px 0 16px}
.downloads-intro-inner{width:min(985px,calc(100% - 48px));margin:0 auto}
.downloads-intro h1{
  margin:0 0 39px;
  text-align:center;
  font-family:'Libre Franklin',Arial,sans-serif;
  font-size:32px;
  line-height:1.15;
  font-weight:500;
  letter-spacing:-1.25px;
  color:#071b2d;
}
.downloads-intro h2{
  margin:0 0 37px;
  font-family:'Libre Franklin',Arial,sans-serif;
  font-size:28px;
  line-height:1.2;
  font-weight:500;
  letter-spacing:-1.25px;
  color:#071b2d;
}
.downloads-intro p{
  margin:0 0 13px;
  max-width:985px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:15px;
  line-height:1.35;
  color:#111;
}
.downloads-library{
  background:#e6dfd5;
  padding:18px 0 78px;
  min-height:500px;
}
.downloads-grid{
  width:min(985px,calc(100% - 48px));
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  column-gap:54px;
  row-gap:52px;
  align-items:start;
}
.download-card{
  min-width:0;
  text-align:center;
  color:#071b2d;
}
.download-card-featured{grid-column:1/-1;width:296px;justify-self:center}
.download-cover-link{display:block;width:max-content;max-width:100%;margin:0 auto}
.download-cover{
  display:block;
  width:296px;
  max-width:100%;
  height:auto;
  margin:0 auto;
  border-radius:19px;
  box-shadow:0 7px 17px rgba(0,0,0,.18);
  object-fit:contain;
  background:transparent;
}
.download-cover-missing{
  aspect-ratio:0.71;
  display:grid;
  place-items:center;
  padding:20px;
  background:#1e2a38;
  color:#fff;
  font-family:'Libre Franklin',Arial,sans-serif;
  font-size:13px;
}
.download-title{
  display:block;
  margin:26px auto 0;
  color:#071b2d;
  font-family:'Libre Franklin',Arial,sans-serif;
  font-size:18px;
  line-height:1.25;
  font-weight:400;
  text-decoration:none;
}
a.download-title:hover{text-decoration:underline}

@media(max-width:900px){
  .downloads-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:38px}
  .download-card-featured{grid-column:1/-1}
}
@media(max-width:560px){
  .downloads-intro{padding-top:28px}
  .downloads-intro-inner,.downloads-grid{width:min(100% - 32px,985px)}
  .downloads-intro h1{font-size:28px;margin-bottom:30px}
  .downloads-intro h2{font-size:23px;margin-bottom:28px}
  .downloads-grid{grid-template-columns:1fr;row-gap:42px}
  .download-card-featured{grid-column:auto;width:auto}
  .download-cover{width:min(296px,82vw)}
}

/* =====================================================================
   FIX FINAL AVALES — 25/08/2026
   Cada institución ocupa un slide físicamente aislado. Ningún logo puede
   invadir el espacio del siguiente, incluso si el archivo fuente es ancho.
   ===================================================================== */
.home-avales .avales-viewport{
  overflow-x:auto !important;
  overflow-y:hidden !important;
  width:100% !important;
  scrollbar-width:none !important;
}
.home-avales .avales-viewport::-webkit-scrollbar{display:none !important}
.home-avales .avales-track{
  display:flex !important;
  align-items:center !important;
  gap:28px !important;
  width:max-content !important;
  min-width:100% !important;
  padding:0 !important;
  margin:0 !important;
  overflow:visible !important;
}
.home-avales .aval-card{
  flex:0 0 300px !important;
  width:300px !important;
  min-width:300px !important;
  max-width:300px !important;
  height:220px !important;
  box-sizing:border-box !important;
  padding:0 14px !important;
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  contain:layout paint;
  isolation:isolate;
  background:#fff !important;
}
.home-avales .aval-card img,
.home-avales .aval-card:nth-child(n) img{
  display:block !important;
  position:static !important;
  flex:none !important;
  width:auto !important;
  height:auto !important;
  max-width:272px !important;
  max-height:190px !important;
  object-fit:contain !important;
  object-position:center !important;
  transform:none !important;
  margin:0 auto !important;
}
@media(max-width:820px){
  .home-avales .avales-track{gap:22px !important}
  .home-avales .aval-card{
    flex-basis:260px !important;
    width:260px !important;
    min-width:260px !important;
    max-width:260px !important;
    height:190px !important;
    padding:0 12px !important;
  }
  .home-avales .aval-card img,
  .home-avales .aval-card:nth-child(n) img{
    max-width:236px !important;
    max-height:165px !important;
  }
}
@media(max-width:540px){
  .home-avales .aval-card{
    flex-basis:78vw !important;
    width:78vw !important;
    min-width:78vw !important;
    max-width:78vw !important;
  }
  .home-avales .aval-card img,
  .home-avales .aval-card:nth-child(n) img{
    max-width:calc(78vw - 32px) !important;
  }
}

/* =====================================================================
   PORTADA + INGRESAR — fidelidad final 25/08/2026
   ===================================================================== */
/* Los cuatro accesos toman la imagen real desde la biblioteca multimedia
   de WordPress. El CSS sólo define el encuadre que se ve en la web original. */
.home-link-card img{
  width:159px !important;
  height:118px !important;
  object-fit:cover !important;
  object-position:center !important;
  border-radius:18px !important;
  background:transparent !important;
  box-shadow:0 8px 18px rgba(0,0,0,.18) !important;
}
@media(min-width:821px){
  .home-links{
    grid-template-columns:repeat(4,159px) !important;
    column-gap:127px !important;
    justify-content:start !important;
    padding:46px 0 0 74px !important;
  }
  .home-link-card{width:159px !important}
}

/* Página Ingresar: réplica de la página original enviada por la usuaria. */
.login-page{
  background:#e6dfd5;
  padding:52px 0 50px;
  min-height:650px;
}
.login-layout{
  width:min(1020px,calc(100% - 40px));
  display:grid;
  grid-template-columns:450px 479px;
  column-gap:84px;
  align-items:start;
}
.login-intro{
  padding-top:2px;
  color:#071b2d;
}
.login-intro h1{
  margin:0 0 13px;
  font-family:'Libre Franklin',Arial,sans-serif;
  font-size:28px;
  line-height:1.15;
  font-weight:500;
  letter-spacing:-1px;
  color:#071b2d;
}
.login-intro p{
  margin:0;
  font-family:Georgia,'Times New Roman',serif;
  font-size:15px;
  line-height:1.32;
  color:#111;
}
.login-card-original{
  width:479px;
  background:#fff;
  border:1px solid rgba(30,42,56,.14);
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 5px 11px rgba(0,0,0,.18);
}
.login-card-accent{
  width:100%;
  height:7px;
  background:#89b0cf;
}
.login-card-body{
  padding:31px 26px 37px;
  text-align:center;
}
.login-card-body h2{
  margin:0 0 41px;
  font-family:'Libre Franklin',Arial,sans-serif;
  color:#1e2a38;
  font-size:36px;
  line-height:1.08;
  font-weight:500;
  letter-spacing:-1.45px;
}
.login-form-original{display:block}
.login-field-original{
  margin:0 0 31px;
}
.login-field-original label{
  display:block;
  margin:0 0 10px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:15px;
  line-height:1.2;
  font-weight:700;
  color:#1e2a38;
  text-align:center;
}
.login-field-original input{
  display:block;
  width:100%;
  height:49px;
  border:1px solid #c9d8e8;
  border-radius:9px;
  outline:none;
  background:#e8f1fd;
  color:#111;
  padding:0 13px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:13px;
  line-height:49px;
  box-shadow:none;
}
.login-field-original input:focus{
  border-color:#89b0cf;
  box-shadow:0 0 0 2px rgba(137,176,207,.14);
}
.password-input-wrap{
  position:relative;
}
.password-input-wrap input{
  padding-right:55px;
}
.password-toggle{
  position:absolute;
  right:13px;
  top:50%;
  transform:translateY(-50%);
  border:0;
  background:transparent;
  color:#1e2a38;
  padding:4px 0;
  cursor:pointer;
  font-family:Georgia,'Times New Roman',serif;
  font-size:13px;
  font-weight:700;
}
.login-options-original{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:-2px 2px 33px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:14px;
  line-height:1.2;
  color:#506273;
}
.remember-option{
  display:flex;
  align-items:center;
  gap:9px;
  white-space:nowrap;
}
.remember-option input{
  width:13px;
  height:13px;
  margin:0;
  accent-color:#89b0cf;
}
.login-options-original a{
  color:#7398b9;
  font-weight:700;
  white-space:nowrap;
}
.login-submit-original{
  display:block;
  width:100%;
  height:49px;
  border:0;
  border-radius:9px;
  background:#86accb;
  color:#fff;
  cursor:pointer;
  font-family:Georgia,'Times New Roman',serif;
  font-size:14px;
  font-weight:700;
  box-shadow:0 10px 22px rgba(87,130,165,.20);
}
.login-submit-original:hover{background:#789fbe}
.login-register-original{
  margin:25px 0 0;
  font-family:Georgia,'Times New Roman',serif;
  font-size:14px;
  line-height:1.25;
  color:#506273;
}
.login-register-original a{
  color:#7398b9;
  font-weight:700;
}
.login-card-body .error{
  margin:-22px 0 20px;
  border-radius:7px;
  text-align:left;
  font-size:13px;
}

@media(max-width:1050px){
  .login-layout{
    grid-template-columns:minmax(0,1fr) minmax(420px,479px);
    column-gap:48px;
  }
  .login-card-original{width:100%}
}
@media(max-width:820px){
  .login-page{padding:38px 0 46px}
  .login-layout{
    grid-template-columns:1fr;
    gap:34px;
    width:min(620px,calc(100% - 34px));
  }
  .login-intro{padding-top:0}
  .login-card-original{width:100%;max-width:479px;margin:0 auto}
}
@media(max-width:540px){
  .login-card-body{padding:28px 18px 32px}
  .login-card-body h2{font-size:31px;margin-bottom:34px}
  .login-options-original{font-size:12.5px;gap:10px}
  .remember-option{white-space:normal;text-align:left}
  .login-options-original a{white-space:normal;text-align:right}
}

/* =====================================================================
   HOME HERO · ajuste de fidelidad visual (25/08/2026)
   Replica el ancho y los saltos de línea de la portada original.
   ===================================================================== */
@media (min-width:1051px){
  .home-hero{
    grid-template-columns:510px 510px !important;
    gap:58px !important;
  }

  .home-copy{
    width:510px !important;
    max-width:510px !important;
  }

  .home-copy h2,
  .home-copy p{
    width:510px !important;
    max-width:510px !important;
  }

  .home-hero-image-wrap{
    width:510px !important;
  }

  .home-hero-image{
    width:510px !important;
    height:383px !important;
    aspect-ratio:4 / 3;
    object-fit:cover;
  }
}


/* === REVIEW CAROUSEL ONLY - 20260825-1018 === */
.home-reviews-carousel-section{padding:46px 0 36px;background:#f6f6f4;border-top:4px solid #e6dfd5}
.reviews-centered-container{max-width:1140px}
.reviews-summary-centered{text-align:center;margin:0 auto 34px;max-width:760px}
.reviews-summary-centered h3{margin:0 0 18px;font-family:'Libre Franklin',Arial,sans-serif;font-size:20px;font-weight:500;color:#222}
.reviews-big-score-row{display:flex;justify-content:center;align-items:flex-start;gap:14px;margin-bottom:12px}
.reviews-big-score{font-family:Georgia,'Times New Roman',serif;font-size:52px;line-height:.95;color:#000;font-weight:700}
.reviews-small-label{font-family:Georgia,'Times New Roman',serif;font-size:18px;line-height:1.05;color:#111;margin-top:6px;text-align:left}
.reviews-big-stars{font-size:52px;line-height:.95;color:#f3b200;letter-spacing:3px}
.reviews-summary-line{margin:0;font-family:'Libre Franklin',Arial,sans-serif;font-size:18px;color:#5d5d5d}
.reviews-carousel-shell{position:relative;padding:0 42px 56px}
.reviews-carousel-viewport{overflow:hidden}
.reviews-carousel-track{display:flex;gap:34px;align-items:stretch;scroll-behavior:smooth}
.review-slide{flex:0 0 calc((100% - 68px)/3);min-width:0;background:#fff;border:1px solid #ececec;border-radius:20px;box-shadow:0 4px 14px rgba(0,0,0,.06);padding:24px 28px 18px;min-height:252px}
.review-slide-head{display:grid;grid-template-columns:54px minmax(0,1fr) 24px;gap:16px;align-items:start}
.review-slide .review-avatar{width:54px;height:54px;border-radius:50%;object-fit:cover;background:#ececec;display:flex;align-items:center;justify-content:center;font-weight:700;color:#364f73}
.review-slide .review-avatar-fallback{font-family:'Libre Franklin',Arial,sans-serif;font-size:24px}
.review-slide-meta{min-width:0}
.review-slide-name{display:block;font-family:'Libre Franklin',Arial,sans-serif;font-size:18px;line-height:1.15;font-weight:700;color:#5c87eb;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.review-slide-stars{font-size:18px;line-height:1;color:#f3b200;letter-spacing:2px;margin:8px 0 6px}
.review-slide-time{font-family:'Libre Franklin',Arial,sans-serif;font-size:14px;color:#8b8b8b}
.review-google-badge{display:inline-flex;align-items:center;justify-content:center;font-family:'Libre Franklin',Arial,sans-serif;font-size:16px;font-weight:700;color:#4285f4;line-height:1;margin-top:2px}
.review-slide-body{margin-top:18px;max-height:92px;overflow:auto;padding-right:8px}
.review-slide-body p{margin:0;font-family:'Libre Franklin',Arial,sans-serif;font-size:16px;line-height:1.45;color:#6b6b6b}
.review-slide-body::-webkit-scrollbar{width:6px}.review-slide-body::-webkit-scrollbar-thumb{background:#d3d3d3;border-radius:12px}.review-slide-body::-webkit-scrollbar-track{background:transparent}
.reviews-arrow{position:absolute;bottom:0;width:40px;height:40px;border-radius:999px;border:1px solid #bdbdbd;background:#fff;color:#585858;font-size:32px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer}
.reviews-arrow:disabled{opacity:.4;cursor:default}.reviews-arrow-prev{left:42px}.reviews-arrow-next{right:42px}
@media(max-width:1024px){.review-slide{flex:0 0 calc((100% - 34px)/2)}}
@media(max-width:767px){.home-reviews-carousel-section{padding:34px 0 28px}.reviews-big-score-row{gap:10px}.reviews-big-score{font-size:42px}.reviews-big-stars{font-size:38px;letter-spacing:1px}.reviews-summary-line{font-size:15px}.reviews-carousel-shell{padding:0 10px 54px}.review-slide{flex:0 0 100%;padding:20px}.review-slide-name{font-size:16px}.review-slide-body p{font-size:14px}.reviews-arrow-prev{left:10px}.reviews-arrow-next{right:10px}}

/* ================================================================
   CLASES ABIERTAS - réplica del frontend original + player interno
   ================================================================ */
.open-classes-page{background:#fff}
.open-classes-intro{background:#fff;padding:30px 0 18px}
.open-classes-intro-inner{width:min(100% - 40px,980px);margin:0 auto}
.open-classes-intro h1{font-family:'Libre Franklin',Arial,sans-serif;font-size:34px;line-height:1.15;font-weight:400;color:#071b2d;text-align:center;margin:0 0 46px}
.open-classes-copy h2{font-family:'Libre Franklin',Arial,sans-serif;font-size:25px;line-height:1.2;font-weight:400;color:#071b2d;margin:0 0 36px}
.open-classes-copy p{font-family:'Cormorant Garamond',Georgia,serif;font-size:17px;line-height:1.34;color:#111;margin:0 0 13px;max-width:970px}
.open-classes-library{background:#e6dfd5;padding:20px 0 70px}
.open-classes-grid{width:min(100% - 40px,980px);margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:54px;row-gap:56px}
.open-class-card{text-align:center;min-width:0}
.open-class-cover-link{display:block;width:100%;aspect-ratio:294/165;border-radius:18px;overflow:hidden;background:#1e2a38;box-shadow:0 7px 16px rgba(0,0,0,.20);text-decoration:none}
.open-class-cover{display:block;width:100%;height:100%;object-fit:cover}
.open-class-cover-missing{display:flex;align-items:center;justify-content:center;color:#e6dfd5;font-family:'Libre Franklin',Arial,sans-serif;font-size:14px}
.open-class-title{display:block;margin:27px auto 0;color:#071b2d;text-decoration:none;font-family:'Libre Franklin',Arial,sans-serif;font-size:19px;line-height:1.25;font-weight:400;max-width:300px}
.open-class-title:hover{text-decoration:underline}

.open-class-player-page{background:#e6dfd5;padding:44px 20px 70px;min-height:65vh}
.open-class-player-shell{width:min(100%,980px);margin:0 auto}
.open-class-back{display:inline-block;margin-bottom:22px;color:#1e2a38;font-family:'Libre Franklin',Arial,sans-serif;font-size:14px}
.open-class-player-shell h1{font-family:'Libre Franklin',Arial,sans-serif;font-size:34px;font-weight:400;color:#071b2d;margin:0 0 28px}
.open-class-player-frame{width:100%;aspect-ratio:16/9;background:#111;border-radius:18px;overflow:hidden;box-shadow:0 8px 22px rgba(0,0,0,.18)}
.open-class-player-frame iframe,.open-class-player-frame video{display:block;width:100%;height:100%;border:0;background:#000}
.open-class-video-fallback{width:100%;height:100%;display:flex;flex-direction:column;gap:20px;align-items:center;justify-content:center;text-align:center;background:#1e2a38;color:#fff;padding:30px}
.open-class-video-fallback img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.22}
.open-class-video-fallback p,.open-class-video-fallback a{position:relative;z-index:1}
.open-class-migration-note{font-family:'Libre Franklin',Arial,sans-serif;font-size:13px;line-height:1.5;color:#58616b;margin:16px 0 0}

@media (max-width:900px){
  .open-classes-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:36px}
}
@media (max-width:600px){
  .open-classes-intro{padding-top:25px}.open-classes-intro-inner{width:min(100% - 28px,980px)}
  .open-classes-intro h1{font-size:30px;margin-bottom:34px}.open-classes-copy h2{font-size:22px;margin-bottom:25px}.open-classes-copy p{font-size:16px}
  .open-classes-library{padding:18px 0 50px}.open-classes-grid{width:min(100% - 28px,980px);grid-template-columns:1fr;row-gap:42px}
  .open-class-card{max-width:360px;width:100%;margin:0 auto}.open-class-title{font-size:18px;margin-top:20px}
  .open-class-player-shell h1{font-size:28px}
}

/* ===== Formaciones Disponibles: página + menú independiente (2026-08-25) ===== */
.nav-dropdown-trigger{display:flex;align-items:center;gap:4px}
.nav-dropdown-page-link{color:#fff;padding:12px 0;font-weight:400}
.nav-dropdown-page-link:hover{opacity:.82}
.nav-dropdown-toggle{border:0;background:transparent;color:#fff;padding:12px 0 12px 1px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.nav-dropdown-toggle:hover{opacity:.82}

.formaciones-page{background:#fff}
.formaciones-intro{padding:31px 0 20px}
.formaciones-intro h1{font-family:'Libre Franklin',Arial,sans-serif;font-size:32px;line-height:1.15;font-weight:500;letter-spacing:-1px;color:#071b2d;text-align:center;margin:0 0 43px}
.formaciones-intro h2{font-family:'Libre Franklin',Arial,sans-serif;font-size:24px;line-height:1.25;font-weight:500;letter-spacing:-.8px;color:#071b2d;margin:0 0 42px}
.formaciones-intro p{font-family:Georgia,'Times New Roman',serif;font-size:15px;line-height:1.35;color:#111;max-width:1010px;margin:0 0 16px}
.formaciones-areas{background:#e6dfd5;padding:29px 0 38px}
.formaciones-areas h2{font-family:'Libre Franklin',Arial,sans-serif;font-size:24px;line-height:1.2;font-weight:500;letter-spacing:-.8px;color:#071b2d;margin:0 0 72px}
.formaciones-area-grid{display:grid;grid-template-columns:repeat(4,208px);justify-content:space-between;gap:34px}
.formaciones-area-card{display:flex;flex-direction:column;align-items:center;text-align:center;color:#071b2d;font-family:'Libre Franklin',Arial,sans-serif}
.formaciones-area-card img{width:208px;height:157px;object-fit:cover;border-radius:18px;box-shadow:0 7px 16px rgba(0,0,0,.16);margin:0 0 27px}
.formaciones-area-card span{font-size:18px;line-height:1.25;font-weight:400;letter-spacing:-.6px}
.formaciones-area-card:hover img{transform:translateY(-1px);box-shadow:0 9px 18px rgba(0,0,0,.18)}

@media(max-width:1050px){
  .formaciones-area-grid{grid-template-columns:repeat(4,180px);gap:26px}
  .formaciones-area-card img{width:180px;height:136px}
}
@media(max-width:820px){
  .nav-dropdown-trigger{width:100%;justify-content:space-between}
  .nav-dropdown-page-link{flex:1;padding:11px 0}
  .nav-dropdown-toggle{width:44px;padding:11px 0}
  .formaciones-intro{padding-top:35px}
  .formaciones-intro h1{margin-bottom:30px}
  .formaciones-intro h2{margin-bottom:28px}
  .formaciones-areas h2{margin-bottom:38px}
  .formaciones-area-grid{grid-template-columns:repeat(2,208px);justify-content:center;gap:42px 70px}
  .formaciones-area-card img{width:208px;height:157px}
}
@media(max-width:540px){
  .formaciones-intro h1{font-size:30px}
  .formaciones-intro h2{font-size:21px}
  .formaciones-intro p{font-size:14.5px}
  .formaciones-areas{padding-bottom:42px}
  .formaciones-area-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 18px}
  .formaciones-area-card img{width:100%;height:auto;aspect-ratio:208/157;margin-bottom:16px}
  .formaciones-area-card span{font-size:15px}
}

/* ===== Páginas públicas de formación · diseño fiel + administración R2 ===== */
.formation-area-page{background:#fff;color:#071b2d}
.formation-area-hero{background:#e6dfd5;padding:18px 0 30px}
.formation-area-hero-grid{display:grid;grid-template-columns:430px minmax(0,1fr);gap:88px;align-items:start}
.formation-area-title-block{padding-top:0}
.formation-area-eyebrow{font-family:Georgia,'Times New Roman',serif;font-size:14px;line-height:1.2;text-transform:uppercase;letter-spacing:.01em;color:#111;margin:0 0 18px}
.formation-area-title-block h1{font-family:'Libre Franklin',Arial,sans-serif;font-size:28px;line-height:1.22;font-weight:500;letter-spacing:-1px;color:#071b2d;margin:0;max-width:430px}
.formation-area-description{padding-top:0;max-width:515px}
.formation-area-description p{font-family:Georgia,'Times New Roman',serif;font-size:15px;line-height:1.45;color:#111;margin:0}
.formation-area-courses{background:#fff;padding:48px 0 90px}
.formation-area-list{display:grid;gap:88px}
.formation-list-item{display:grid;grid-template-columns:208px minmax(0,1fr);gap:55px;align-items:start;max-width:1040px}
.formation-list-image-wrap{width:208px;height:157px;border-radius:18px;overflow:hidden;background:#f1f1f1;box-shadow:0 7px 16px rgba(0,0,0,.16)}
.formation-list-image-wrap img{width:100%;height:100%;display:block;object-fit:cover}
.formation-list-content{padding-top:0;max-width:720px}
.formation-list-content h2{font-family:Georgia,'Times New Roman',serif;font-size:18px;line-height:1.25;font-weight:400;color:#071b2d;text-transform:uppercase;margin:0 0 10px}
.formation-list-content p{font-family:Georgia,'Times New Roman',serif;font-size:15px;line-height:1.4;color:#111;margin:0 0 27px;max-width:680px}
.formation-list-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #222;background:#fff;color:#111;font-family:Georgia,'Times New Roman',serif;font-size:17px;line-height:1;padding:12px 18px;text-decoration:none}
.formation-list-button:hover{background:#1e2a38;color:#fff}
.formation-empty{font-family:Georgia,'Times New Roman',serif;padding:30px 0}
.public-course-page,.course-contract-page{background:#fff;min-height:65vh}
.public-course-shell,.course-contract-shell{padding:55px 0 90px}
.back-link{display:inline-block;margin-bottom:28px;color:#1e2a38;font-family:'Libre Franklin',Arial,sans-serif;font-size:14px}
.public-course-grid,.course-contract-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:55px;align-items:start}
.public-course-image{width:100%;max-height:430px;object-fit:cover;border-radius:18px;margin-bottom:28px}
.public-course-main h1,.course-contract-shell h1{font-family:'Libre Franklin',Arial,sans-serif;font-size:38px;line-height:1.15;font-weight:500;color:#071b2d;margin:8px 0 18px}
.public-course-main>p,.course-contract-shell>p,.course-contract-grid>div>p{font-family:Georgia,'Times New Roman',serif;font-size:16px;line-height:1.55;color:#222}
.public-course-action-card,.bank-details-card{background:#e6dfd5;padding:28px;border-radius:18px}
.public-course-action-card h2,.bank-details-card h2{font-family:'Libre Franklin',Arial,sans-serif;margin:0 0 18px;color:#071b2d}
.public-course-price,.contract-price{font-size:25px!important;color:#071b2d}
.bank-details-card>div{display:grid;gap:3px;padding:12px 0;border-bottom:1px solid rgba(30,42,56,.18)}
.bank-details-card span{font-family:'Libre Franklin',Arial,sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#56606a}
.bank-details-card strong{font-family:'Libre Franklin',Arial,sans-serif;font-size:17px;color:#071b2d;word-break:break-word}
.bank-instructions{font-family:Georgia,'Times New Roman',serif;line-height:1.5;margin:20px 0 0}
.public-formations-admin-shell{max-width:1220px}
.admin-success{background:#e6f2e7;border:1px solid #b8d7bc;color:#234b29;padding:12px 14px;margin:16px 0}
.admin-check{display:flex!important;align-items:center;gap:8px}.admin-check input{width:auto!important}
.public-area-admin-card{margin-top:28px}
.public-area-admin-heading{display:flex;justify-content:space-between;align-items:flex-start}
.area-copy-form{border-bottom:1px solid #e3e3e3;padding-bottom:24px;margin-bottom:24px}
.public-course-admin-list{display:grid;gap:16px}
.public-course-admin-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;padding:16px;border:1px solid #e1e1e1;background:#fafafa}
.public-course-admin-preview{width:120px;height:92px;background:#eee;overflow:hidden;border-radius:10px}
.public-course-admin-preview img{width:100%;height:100%;object-fit:cover}
.public-course-admin-actions{display:flex;gap:10px;margin-top:12px}
.danger-button{border:1px solid #a43a3a;background:#fff;color:#8b2323;padding:10px 14px;cursor:pointer}
.new-public-course-form{margin-top:24px;padding:20px;background:#f3f0eb;border:1px solid #dfd9cf}.new-public-course-form h3{margin-top:0}
@media(max-width:900px){.formation-area-hero-grid{grid-template-columns:1fr;gap:24px}.formation-list-item{grid-template-columns:180px 1fr;gap:32px}.formation-list-image-wrap{width:180px;height:136px}.public-course-grid,.course-contract-grid{grid-template-columns:1fr}.public-course-admin-row{grid-template-columns:1fr}.public-course-admin-preview{width:180px;height:136px}}
@media(max-width:620px){.formation-area-hero{padding:28px 0}.formation-area-title-block h1{font-size:25px}.formation-area-courses{padding-top:35px}.formation-area-list{gap:55px}.formation-list-item{grid-template-columns:1fr;gap:22px}.formation-list-image-wrap{width:100%;height:auto;aspect-ratio:208/157}.formation-list-content h2{font-size:17px}.public-course-main h1,.course-contract-shell h1{font-size:31px}}

/* Registro + Google OAuth · 2026-08-25 */
.register-page{background:#e6dfd5;padding:48px 0 58px;min-height:650px}
.register-layout{display:grid;grid-template-columns:430px 520px;gap:105px;justify-content:center;align-items:start}
.register-intro{padding-top:6px;color:#071b2d}
.register-intro h1{font-family:'Libre Franklin',Arial,sans-serif;font-size:30px;line-height:1.15;font-weight:500;margin:0 0 18px}
.register-intro p{font-family:'Cormorant Garamond',Georgia,serif;font-size:16px;line-height:1.28;margin:0 0 4px;color:#111}
.register-card-original{position:relative;width:520px;background:#fff;border:1px solid #d9d9d9;border-radius:20px;overflow:hidden;box-shadow:0 6px 14px rgba(0,0,0,.18)}
.register-card-body{padding:30px 29px 28px}
.register-card-body h2{font-family:'Libre Franklin',Arial,sans-serif;text-align:center;color:#10243b;font-size:36px;line-height:1.08;font-weight:500;margin:6px 0 26px}
.register-form-original{display:block}
.register-name-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.register-card-body .login-field-original{margin-bottom:13px}
.register-card-body .login-field-original label{margin-bottom:7px}
.register-card-body .login-field-original input{height:46px}
.register-card-body .login-submit-original{margin-top:8px}
.google-auth-button{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;min-height:48px;border:1px solid #c9d1db;border-radius:8px;background:#fff;color:#17283c;text-decoration:none;font-family:'Libre Franklin',Arial,sans-serif;font-size:14px;font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.04);transition:border-color .15s,box-shadow .15s,background .15s}
.google-auth-button:hover{background:#fafbfc;border-color:#9fb2c3;box-shadow:0 2px 6px rgba(0,0,0,.08)}
.google-auth-icon{width:20px;height:20px;flex:0 0 20px}
.auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:#87919b;font-family:'Libre Franklin',Arial,sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.auth-divider:before,.auth-divider:after{content:'';height:1px;background:#e1e5e9;flex:1}.auth-divider span{white-space:nowrap}
.login-card-body .google-auth-button{margin:0 0 0}
.login-card-body .auth-divider{margin:19px 0 21px}
@media(max-width:1050px){.register-layout{grid-template-columns:1fr;gap:30px;max-width:650px}.register-intro{padding-top:0}.register-card-original{width:100%;max-width:520px;margin:0 auto}}
@media(max-width:600px){.register-page{padding:34px 0 44px}.register-card-body{padding:26px 18px 28px}.register-card-body h2{font-size:31px}.register-name-grid{grid-template-columns:1fr;gap:0}.auth-divider span{font-size:10px}}

/* =====================================================================
   PANTALLAS INTERNAS · ESTILO UNIFICADO
   Referencia visual: panel Vimeo → Cloudflare R2.
   ===================================================================== */
.admin-layout .page-shell>main{display:grid;grid-template-columns:238px minmax(0,1fr);align-items:start;background:#e6dfd5}
.admin-internal-nav{position:sticky;top:0;align-self:start;min-height:calc(100vh - 108px);background:#f4f0ea;border-right:1px solid rgba(30,42,56,.11);padding:34px 24px;font-family:'Libre Franklin',Arial,sans-serif}
.admin-internal-nav-inner{display:block;width:auto;margin:0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
.admin-nav-section{padding:0 0 28px;margin:0}
.admin-internal-nav a,.admin-nav-label{display:block;min-height:0;padding:0;border:0;border-radius:0;background:none;color:#1e2a38;text-decoration:none}
.admin-internal-nav .admin-nav-root,.admin-nav-label{font-size:14px;font-weight:700;line-height:1.3;margin:0 0 11px}
.admin-internal-nav .admin-nav-child{font-size:13px;font-weight:400;line-height:1.35;color:#5f6871;margin:8px 0 0 13px}
.admin-internal-nav a:hover{background:none;color:#071a2b;text-decoration:underline;text-underline-offset:3px}
.admin-nav-migration{padding-top:8px;border-top:1px solid rgba(30,42,56,.1)}

main.page-shell.lms-shell{width:100%;max-width:none;margin:0;background:#e6dfd5;min-height:72vh;padding:42px 0 72px;box-sizing:border-box;color:#1e2a38;font-family:'Libre Franklin',Arial,sans-serif}
main.page-shell.lms-shell>*,main.page-shell.lms-shell.narrow>*{width:min(1120px,calc(100% - 36px));margin-left:auto;margin-right:auto;box-sizing:border-box}
main.page-shell.lms-shell.narrow>*{width:min(900px,calc(100% - 36px))}
main.page-shell.lms-shell .lms-hero.compact{background:transparent;padding:0 0 10px;border:0}
main.page-shell.lms-shell .lms-hero.compact h1{font:600 34px/1.12 'Libre Franklin',Arial,sans-serif;margin:5px 0 8px;color:#1e2a38;letter-spacing:-.035em}
main.page-shell.lms-shell .lms-hero.compact p:not(.eyebrow){max-width:760px;color:#56636d;line-height:1.5}
main.page-shell.lms-shell .eyebrow{color:#7c8f84;font-weight:800;letter-spacing:.09em;text-transform:uppercase;font-size:12px}
main.page-shell.lms-shell .lms-panel,
main.page-shell.lms-shell .card{border:0;border-radius:16px;background:#fff;box-shadow:0 7px 22px rgba(30,42,56,.08);padding:24px}
main.page-shell.lms-shell .lms-panel{margin-top:18px;margin-bottom:18px}
main.page-shell.lms-shell .dash-cards{gap:14px;margin-top:18px;margin-bottom:18px}
main.page-shell.lms-shell .card h3,main.page-shell.lms-shell .lms-panel h2{color:#1e2a38}
main.page-shell.lms-shell .card strong{font-size:28px;color:#1e2a38}
main.page-shell.lms-shell .lms-row,main.page-shell.lms-shell .lesson-link,main.page-shell.lms-shell .discussion-card{border:1px solid #e3e7e9;border-radius:11px;background:#fbfcfc;padding:14px 16px}
main.page-shell.lms-shell .lesson-link:hover,main.page-shell.lms-shell .discussion-card:hover{border-color:#b9c6c0;background:#f7faf8}
main.page-shell.lms-shell .admin-grid-form input,main.page-shell.lms-shell .admin-grid-form textarea,main.page-shell.lms-shell .admin-grid-form select,main.page-shell.lms-shell .stack-form input,main.page-shell.lms-shell .stack-form textarea{border:1px solid #cbd2d8;border-radius:9px;background:#fff;padding:11px 12px;outline:none}
main.page-shell.lms-shell .admin-grid-form input:focus,main.page-shell.lms-shell .admin-grid-form textarea:focus,main.page-shell.lms-shell .admin-grid-form select:focus,main.page-shell.lms-shell .stack-form input:focus,main.page-shell.lms-shell .stack-form textarea:focus{border-color:#7c8f84;box-shadow:0 0 0 3px rgba(124,143,132,.14)}
main.page-shell.lms-shell .admin-table-wrap{background:#fff;border-radius:12px;overflow:auto}
main.page-shell.lms-shell .admin-table th{background:#f4f6f6;color:#59656f;font-size:11px;text-transform:uppercase;letter-spacing:.04em}
main.page-shell.lms-shell .button{border-radius:9px}
main.page-shell.lms-shell .breadcrumb{margin-bottom:16px}

main.public-formations-admin-shell{width:100%;max-width:none;margin:0;background:#e6dfd5;min-height:72vh;padding:42px 0 72px;box-sizing:border-box;color:#1e2a38;font-family:'Libre Franklin',Arial,sans-serif}
main.public-formations-admin-shell>*{width:min(1120px,calc(100% - 36px));margin-left:auto;margin-right:auto;box-sizing:border-box}
main.public-formations-admin-shell .lms-hero.compact{padding:0 0 10px}
main.public-formations-admin-shell .lms-hero.compact h1{font:600 34px/1.12 'Libre Franklin',Arial,sans-serif;margin:5px 0 8px;color:#1e2a38;letter-spacing:-.035em}
main.public-formations-admin-shell .lms-panel{border:0;border-radius:16px;background:#fff;box-shadow:0 7px 22px rgba(30,42,56,.08);padding:24px;margin:18px auto}
main.public-formations-admin-shell .admin-grid-form input,main.public-formations-admin-shell .admin-grid-form textarea,main.public-formations-admin-shell .admin-grid-form select{border:1px solid #cbd2d8;border-radius:9px;background:#fff;padding:11px 12px;outline:none}
main.public-formations-admin-shell .public-course-admin-row{border:1px solid #e4e8ea;border-radius:13px;background:#fafbfb}
main.public-formations-admin-shell .new-public-course-form{border:1px solid #ded9d1;border-radius:13px;background:#f5f1eb}
main.public-formations-admin-shell .danger-button{border-radius:9px}

.import-admin-shell{width:100%!important;max-width:none!important;margin:0!important;background:#e6dfd5;min-height:72vh;padding:42px max(24px,calc((100vw - 1500px)/2)) 76px!important;box-sizing:border-box}
.import-admin-shell .import-source-strip{background:rgba(255,255,255,.55)}
.import-admin-shell .import-stat-grid article,.import-admin-shell .import-panel{border:0;box-shadow:0 7px 22px rgba(30,42,56,.07)}
.import-admin-shell .import-next-step{background:rgba(255,255,255,.7);border:1px solid rgba(30,42,56,.08)}

.video-admin-page,.vm-page{padding-top:42px!important}
.video-admin-card,.vm-stat,.vm-card{border:0!important;box-shadow:0 7px 22px rgba(30,42,56,.08)!important}

.internal-failure-list{display:grid;gap:10px;margin-top:14px}
.internal-failure-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start;padding:13px 14px;border:1px solid #efd5d5;background:#fff7f7;border-radius:11px}
.internal-failure-main strong{display:block;font:700 14px/1.35 'Libre Franklin',Arial,sans-serif;color:#682626;margin-bottom:4px}
.internal-failure-main code{font-size:12px;color:#7c4a4a}
.internal-failure-error{margin:7px 0 0;font:13px/1.4 'Libre Franklin',Arial,sans-serif;color:#793535;word-break:break-word}
.internal-failure-hint{margin:5px 0 0;font:12px/1.4 'Libre Franklin',Arial,sans-serif;color:#715f5f}
.internal-failure-retry{border:0;border-radius:8px;background:#1e2a38;color:#fff;padding:9px 12px;font-weight:700;cursor:pointer;white-space:nowrap}
.internal-failure-retry:disabled{opacity:.45;cursor:default}

@media(max-width:760px){.admin-layout .page-shell>main{display:block}.admin-internal-nav{position:relative;top:auto;min-height:0;border-right:0;border-bottom:1px solid rgba(30,42,56,.11);padding:22px 18px 8px}.admin-nav-section{padding-bottom:20px}.internal-failure-item{grid-template-columns:1fr}.import-admin-shell{padding-left:12px!important;padding-right:12px!important}}

.admin-final-shell .admin-table-link{text-decoration:none;color:#1e2a38}
.admin-final-shell .admin-table-link:hover{text-decoration:underline}
.admin-final-shell .admin-inline-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
.admin-final-shell .admin-inline-form select{min-width:min(520px,100%);border:1px solid #cbd2d8;border-radius:9px;background:#fff;padding:11px 12px}
.admin-final-shell .admin-empty-state,.admin-final-shell .admin-pending-state{padding:18px;border-radius:10px;background:#f5f1eb;color:#5d6871}
.admin-final-shell .admin-panel-heading-row{display:flex;justify-content:space-between;align-items:center;gap:18px}
.admin-final-shell .admin-panel-heading-row .section-heading{margin:0}
.admin-final-shell .danger-text{color:#8b2e2e}
@media(max-width:760px){.admin-final-shell .admin-panel-heading-row{align-items:flex-start;flex-direction:column}.admin-final-shell .admin-inline-form{display:grid;grid-template-columns:1fr;width:100%}.admin-final-shell .admin-inline-form select{min-width:0;width:100%}}

.migration-engine-badge{display:inline-block;margin:6px 0 14px;padding:7px 11px;border-radius:999px;background:#e8f4ec;color:#234c32;font-size:13px;}

/* =====================================================================
   ADMIN FINAL · FORMACIONES / ESTUDIANTES / MEET / EMAIL MARKETING
   ===================================================================== */
.admin-course-filters{display:grid;grid-template-columns:minmax(240px,1.6fr) minmax(150px,.8fr) minmax(170px,.9fr) auto;gap:12px;align-items:end;margin:14px 0 22px}
.admin-course-filters label,.admin-student-search label{display:grid;gap:7px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#5d6871}
.admin-course-filters input,.admin-course-filters select,.admin-student-search input{height:44px;border:1px solid #cbd2d8;border-radius:9px;background:#fff;padding:0 12px;font:14px 'Libre Franklin',Arial,sans-serif;color:#1e2a38}
.admin-courses-table{min-width:1040px}
.admin-courses-table td{vertical-align:top;padding-top:14px;padding-bottom:14px}
.admin-course-main{display:flex;gap:12px;align-items:flex-start;min-width:360px}
.admin-course-main>div:last-child{display:grid;gap:4px}
.admin-course-main small,.admin-courses-table td>small,.student-identity small,.email-campaign-table td small{display:block;color:#78828b;font-size:11px;line-height:1.35;margin-top:3px}
.admin-course-thumb,.admin-course-hero-thumb,.student-enrollment-cover{overflow:hidden;background:#dfe5e2;display:grid;place-items:center;color:#65756d;font-weight:800;flex:0 0 auto}
.admin-course-thumb{width:92px;height:62px;border-radius:8px}
.admin-course-thumb img,.admin-course-hero-thumb img,.student-enrollment-cover img{width:100%;height:100%;object-fit:cover;display:block}
.admin-row-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:3px}.admin-row-links a{font-size:11px;font-weight:700;color:#557365;text-decoration:none}.admin-row-links a:hover{text-decoration:underline}
.course-state{display:inline-block;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap;background:#eef1f2;color:#52606a}
.course-state-open{background:#e7f3e8;color:#397149}.course-state-draft{background:#f3eee4;color:#876d3b}.course-state-paused{background:#fff1d7;color:#8a6724}.course-state-full{background:#e7edf5;color:#3e5e82}.course-state-archived{background:#f0eeee;color:#777}
.structure-cell{font-size:12px;line-height:1.55;white-space:nowrap}.structure-cell strong{font-size:13px}.students-number{font-size:26px!important;font-weight:800;color:#1e2a38}
.admin-course-actions{min-width:118px}.admin-course-actions .button{margin-bottom:8px}.admin-course-actions form{margin:0}
.admin-course-hero{display:flex!important;align-items:center;justify-content:space-between;gap:22px}
.admin-course-hero-main{display:flex;align-items:center;gap:18px}.admin-course-hero-thumb{width:128px;height:88px;border-radius:12px}.admin-course-hero-main h1{margin-top:2px!important}.admin-course-hero-main p:last-child{margin:5px 0 0!important}
.admin-anchor-nav{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px!important;margin-bottom:6px!important}.admin-anchor-nav a{padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.65);color:#43535d;text-decoration:none;font-size:12px;font-weight:700}
.admin-anchor-nav a:hover{background:#fff}
.admin-content-create-grid{display:grid;grid-template-columns:1fr 2fr;gap:16px;margin:16px 0 20px}.admin-mini-form{padding:16px;border:1px solid #e3e6e6;border-radius:12px;background:#fafbfb}.admin-mini-form h3{margin:0 0 12px}.admin-mini-form form{display:grid;gap:10px}.admin-mini-form input,.admin-mini-form select,.admin-mini-form textarea{width:100%;box-sizing:border-box;border:1px solid #cbd2d8;border-radius:8px;padding:10px 11px;background:#fff}
.admin-topics-strip{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 18px}.admin-topics-strip>span{display:flex;align-items:center;gap:7px;border:1px solid #dde3e1;background:#f7f9f8;border-radius:999px;padding:7px 10px;font-size:11px}.admin-topics-strip form{display:inline;margin:0}
.admin-lessons-list{display:grid;gap:13px}.admin-lesson-card{border:1px solid #e0e5e3;border-radius:13px;background:#fbfcfb;padding:15px}.admin-lesson-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.admin-lesson-card-head>div{display:flex;gap:12px;align-items:flex-start}.admin-lesson-card-head h3{margin:2px 0 4px;font-size:17px}.admin-lesson-card-head p,.admin-lesson-card-head small{margin:0;color:#748078;font-size:11px}.admin-lesson-card-head>a{font-size:12px;color:#557365;font-weight:700;text-decoration:none;white-space:nowrap}.lesson-index{width:28px;height:28px;border-radius:50%;background:#e8eee9;display:grid;place-items:center;font-size:11px;font-weight:800}.admin-lesson-card details{margin-top:12px;padding-top:10px;border-top:1px solid #e6e9e8}.admin-lesson-card summary{cursor:pointer;font-size:12px;font-weight:800;color:#52645b}.lesson-edit-form{margin-top:12px}.admin-form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.lesson-materials-admin{margin-top:14px;padding:13px;border-radius:10px;background:#f3f6f4}.lesson-materials-admin h4{margin:0 0 10px}.material-chip-list{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}.material-chip-list>span{display:flex;gap:6px;align-items:center;padding:6px 9px;border-radius:8px;background:#fff;border:1px solid #dfe5e2;font-size:11px}.material-chip-list form{margin:0}.material-upload-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(210px,1fr) auto;gap:8px;align-items:center}.material-upload-form input{width:100%;box-sizing:border-box;border:1px solid #cbd2d8;border-radius:8px;background:#fff;padding:9px}.material-upload-status{grid-column:1/-1;font-size:11px;color:#60716a}
.meet-status-line{display:flex;gap:12px;align-items:center;margin-bottom:16px}.meet-status-line a{font-size:12px;font-weight:800;color:#557365}

.admin-student-search{display:flex;gap:10px;align-items:end}.admin-student-search label{flex:1}.admin-students-table{min-width:920px}.student-identity{display:grid;gap:2px}.student-row-actions{text-align:right;white-space:nowrap}.student-enroll-form{margin:12px 0 20px}.student-enrollment-grid{display:grid;gap:10px}.student-enrollment-card{display:grid;grid-template-columns:116px 1fr;gap:14px;border:1px solid #e1e5e3;border-radius:12px;padding:12px;background:#fafbfb}.student-enrollment-cover{width:116px;height:78px;border-radius:9px}.student-enrollment-body{display:flex;justify-content:space-between;gap:16px;align-items:center}.student-enrollment-body h3{margin:3px 0}.student-enrollment-body h3 a{color:#1e2a38;text-decoration:none}.student-enrollment-body p,.student-enrollment-body small{margin:0;color:#778078;font-size:11px}.danger-button{background:#8b2e2e!important;color:#fff!important;border-color:#8b2e2e!important}

.email-admin-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:center}.email-admin-toolbar>div:first-child{display:flex;gap:10px;align-items:center}.email-campaign-table{min-width:930px}.email-campaign-table td:first-child{min-width:260px}.table-actions{display:flex;align-items:center;gap:10px;white-space:nowrap}.table-actions form{margin:0}.email-campaign-form textarea{font-family:'Libre Franklin',Arial,sans-serif;line-height:1.55}.email-image-field{border:1px solid #e0e5e3;border-radius:12px;padding:14px;background:#f8faf9}.email-image-field>label{display:grid;gap:7px;font-weight:700}.email-image-preview{margin-top:10px;min-height:70px;border:1px dashed #cbd5d0;border-radius:10px;display:flex;align-items:center;gap:12px;padding:10px;color:#76817b}.email-image-preview img{width:130px;height:78px;object-fit:cover;border-radius:8px}.email-image-preview div{display:grid;gap:3px}.email-image-preview small{color:#7a8580}.email-send-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.email-send-grid .lms-panel{margin-top:0!important;margin-bottom:0!important}.email-delivery-summary{font-size:13px;color:#5f6964}.email-send-final{border:1px solid #dbe7df!important}.email-settings-page .admin-inline-form input{flex:1;min-width:240px;border:1px solid #cbd2d8;border-radius:9px;padding:11px 12px}

.meet-config-status{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}.meet-config-status>div{border:1px solid #e0e5e3;border-radius:11px;background:#f8faf9;padding:14px;display:grid;gap:5px}.meet-config-status small{color:#748078}.code-copy-box{padding:13px;border-radius:9px;background:#172331;color:#e7edf2;overflow:auto}.code-copy-box code{white-space:nowrap;font-size:12px}.meet-flow-list{display:grid;gap:10px;padding-left:21px;line-height:1.5;color:#56636d}

.lesson-downloads{margin:24px 0 18px;padding:18px;border-radius:12px;background:#f4f7f5}.lesson-downloads h2{font-size:18px;margin:0 0 12px}.lesson-download-list{display:grid;gap:8px}.lesson-download-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border-radius:9px;background:#fff;border:1px solid #dfe5e2;text-decoration:none;color:#1e2a38}.lesson-download-item span{display:grid;gap:3px}.lesson-download-item small{color:#78837d;font-size:11px}.lesson-download-item b{color:#557365;font-size:12px}

@media(max-width:980px){.admin-course-filters{grid-template-columns:1fr 1fr}.admin-course-filters button{width:max-content}.admin-content-create-grid,.email-send-grid{grid-template-columns:1fr}.material-upload-form{grid-template-columns:1fr}.material-upload-status{grid-column:auto}.admin-course-hero{align-items:flex-start!important}.admin-course-hero-main{align-items:flex-start}.email-admin-toolbar{align-items:flex-start;flex-direction:column}}
@media(max-width:680px){.admin-course-filters{grid-template-columns:1fr}.admin-course-hero{display:grid!important}.admin-course-hero-main{display:grid}.admin-course-hero-thumb{width:100%;height:150px}.admin-student-search{display:grid;grid-template-columns:1fr}.student-enrollment-card{grid-template-columns:1fr}.student-enrollment-cover{width:100%;height:150px}.student-enrollment-body{display:grid}.meet-config-status{grid-template-columns:1fr}.email-admin-toolbar .admin-form-actions{width:100%}.email-admin-toolbar .admin-form-actions .button{flex:1;text-align:center}}

/* Layout real del Admin: menú lateral + contenido, sin segundo menú intermedio.
   IMPORTANTE: header.ejs abre un <main> contenedor general. El menú y el <main>
   específico de cada pantalla viven DENTRO de ese contenedor; por eso el grid
   debe aplicarse al main exterior y nunca ocultarlo. */
body.admin-layout > .page-shell > main{
  display:grid!important;
  grid-template-columns:238px minmax(0,1fr);
  align-items:start;
  background:#e6dfd5;
  min-height:72vh;
}
body.admin-layout > .page-shell > main > .admin-internal-nav{
  grid-column:1;
  min-width:0;
  z-index:2;
}
body.admin-layout > .page-shell > main > .admin-internal-nav + main{
  grid-column:2;
  display:block!important;
  min-width:0;
}
body.admin-layout > .page-shell > .whatsapp{position:fixed}
@media(max-width:760px){
  body.admin-layout > .page-shell > main{display:block!important}
  body.admin-layout > .page-shell > main > .admin-internal-nav{display:block}
  body.admin-layout > .page-shell > main > .admin-internal-nav + main{display:block!important}
}
.course-cover-upload-field{padding:13px;border:1px solid #e0e5e3;border-radius:11px;background:#f8faf9}.course-cover-upload-field>label{display:grid;gap:7px;font-weight:700}.course-cover-preview{display:flex;align-items:center;gap:12px;min-height:62px;margin-top:10px;padding:9px;border:1px dashed #cad5cf;border-radius:9px;color:#748078}.course-cover-preview img{width:110px;height:68px;object-fit:cover;border-radius:7px}.course-cover-preview span{display:grid;gap:3px}.course-cover-preview small{color:#7a8580}

/* ===== LMS refinado v10.2 ===== */
.admin-section-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.admin-content-toolbar{display:flex;gap:10px;flex-wrap:wrap}
.soft-action{border-radius:11px!important;padding:11px 16px!important;box-shadow:none!important}
.admin-content-panel{overflow:visible}
.refined-topics{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 20px}
.refined-topics>span{display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid #e2e7e4;border-radius:999px;background:#f7f9f8}
.refined-topics small{color:#77827c}.refined-topics form{margin:0}
.refined-lessons-list{margin-top:6px}.refined-lesson-card{padding:18px 19px!important;background:#fff!important;box-shadow:0 8px 24px rgba(24,41,34,.035)}
.lesson-meta-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:4px}.lesson-meta-row>span:first-child{font-size:11px;color:#748078}
.lesson-type-pill{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:#eef2f0;color:#586a61;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.lesson-type-pill.is-live{background:#f4ebe4;color:#8d6046}
.lesson-card-actions{display:flex;align-items:center;gap:10px}.subtle-link{font-size:12px;color:#557365!important;font-weight:800;text-decoration:none}.subtle-link:hover{text-decoration:underline}
.live-session-inline{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;margin-top:13px;border-radius:11px;background:#f6f8f7;border:1px solid #e0e6e3}.live-session-inline>div:first-child{display:flex;align-items:center;gap:9px}.live-session-inline small{display:block;color:#75817b;margin-left:2px}.live-session-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.live-dot{width:9px;height:9px;border-radius:50%;background:#789384;box-shadow:0 0 0 4px rgba(120,147,132,.12);flex:0 0 auto}.recording-pill{padding:5px 9px;border-radius:999px;background:#ecefed;color:#66736d;font-size:10px;font-weight:800}.recording-ready{background:#e6f0e9;color:#4f735d}.recording-error{background:#f8e8e7;color:#934742}
.admin-lesson-details{margin-top:13px!important;padding-top:12px!important}.admin-lesson-details>summary{list-style:none;display:inline-flex;align-items:center;gap:7px;color:#506259!important}.admin-lesson-details>summary::-webkit-details-marker{display:none}.admin-lesson-details>summary:after{content:'⌄';font-size:14px}.admin-lesson-details[open]>summary:after{transform:rotate(180deg)}
.advanced-video-settings{padding:12px 14px;border:1px dashed #d5dcda;border-radius:10px;background:#fafbfb}.advanced-video-settings>summary{cursor:pointer;font-weight:800;color:#69766f}.advanced-video-settings p{font-size:12px;color:#78837d;line-height:1.5}.advanced-video-settings label{display:grid;gap:7px}
.refined-materials{background:#f8faf9!important;border:1px solid #e6ebe8!important}.materials-heading h4{margin:0!important}.materials-heading p{margin:3px 0 10px;color:#7b8580;font-size:12px}
.meet-overview-panel{background:#fbfcfb!important}.refined-meet-status{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #e1e6e3;border-radius:11px;background:#f7f9f8;margin:10px 0 18px}.refined-meet-status>span:last-child{font-size:12px;color:#69766f}
.admin-soft-dialog{width:min(720px,calc(100% - 28px));max-height:88vh;border:0;border-radius:18px;padding:0;box-shadow:0 28px 80px rgba(22,35,30,.2);background:#fff;color:#1e2a38}.admin-soft-dialog::backdrop{background:rgba(26,34,31,.42);backdrop-filter:blur(3px)}.admin-soft-dialog>form{padding:24px}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.dialog-head h2{margin:2px 0 5px!important}.dialog-head p:last-child{margin:0;color:#728078}.dialog-close{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:50%;background:#f0f3f1;color:#5e6c65;font-size:22px;line-height:1;cursor:pointer}.dialog-close:hover{background:#e5eae7}.admin-soft-dialog label{display:grid;gap:7px;font-size:12px;font-weight:700;color:#52615a}.admin-soft-dialog input,.admin-soft-dialog select,.admin-soft-dialog textarea{width:100%;box-sizing:border-box;border:1px solid #ccd5d1;border-radius:10px;background:#fff;padding:11px 12px;font:14px 'Libre Franklin',Arial,sans-serif;color:#1e2a38;outline:none}.admin-soft-dialog input:focus,.admin-soft-dialog select:focus,.admin-soft-dialog textarea:focus{border-color:#849a8f;box-shadow:0 0 0 3px rgba(132,154,143,.12)}.dialog-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dialog-form-grid .span-2{grid-column:1/-1}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid #edf0ee}.live-fields{display:grid;gap:13px}.meet-auto-note{display:grid;gap:4px;padding:14px;border-radius:12px;background:#eef4f0;border:1px solid #dce8e1}.meet-auto-note strong{color:#385847}.meet-auto-note span{font-size:12px;color:#66766e;line-height:1.5}.dialog-live-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-warning{padding:10px 12px;border-radius:10px;background:#fff4e5;color:#8d673f;font-size:12px}.form-warning a{font-weight:800;color:inherit}

/* Aula alumno */
.student-course-shell,.student-lesson-shell,.student-thread-shell{color:#263b35}.student-course-shell{width:min(1180px,calc(100% - 42px));padding-top:36px}
.student-course-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:34px;align-items:center;padding:34px 36px;border-radius:22px;background:#f2eee6;border:1px solid #e7e1d7;margin-bottom:24px}.student-course-hero-copy h1{margin:5px 0 14px!important;font-size:clamp(30px,4vw,48px)!important;line-height:1.04!important;letter-spacing:-.03em}.student-course-excerpt{max-width:760px;font-size:16px;line-height:1.65;color:#61716b}.student-course-cover{height:280px;border-radius:18px;overflow:hidden;background:#dfe6e1;box-shadow:0 14px 34px rgba(36,52,45,.11)}.student-course-cover img{width:100%;height:100%;object-fit:cover}.student-progress-card{max-width:560px;margin-top:24px;padding:15px 17px;border-radius:14px;background:rgba(255,255,255,.68);border:1px solid rgba(255,255,255,.82)}.student-progress-card>div:first-child{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:800;color:#596a62}.student-progress-card>div:first-child strong{font-size:18px;color:#2d4c3e}.student-progress-track{height:8px;border-radius:999px;background:#dde4df;overflow:hidden;margin:9px 0 7px}.student-progress-track span{display:block;height:100%;border-radius:inherit;background:#7e9889}.student-progress-card small{color:#7a8580}
.student-live-section,.student-content-section,.student-forum-section{padding:26px 0}.student-live-section .section-heading,.student-content-section>.section-heading{margin-bottom:14px}.student-live-grid{display:grid;gap:10px}.student-live-card{display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:center;padding:15px 17px;border-radius:15px;background:#fff;border:1px solid #e2e7e4;box-shadow:0 6px 18px rgba(30,47,40,.035)}.live-date-badge{width:52px;height:52px;border-radius:13px;background:#edf2ef;display:grid;place-items:center;align-content:center}.live-date-badge strong{font-size:18px;line-height:1}.live-date-badge span{font-size:10px;text-transform:uppercase;color:#6d7c74;margin-top:3px}.student-live-card h3{margin:0 0 4px!important;font-size:16px!important}.student-live-card p{margin:0;color:#748078;font-size:12px}
.student-module-list{display:grid;gap:14px}.student-module-card{border:1px solid #e1e6e3;border-radius:17px;background:#fff;overflow:hidden;box-shadow:0 7px 22px rgba(29,46,39,.035)}.student-module-head{padding:17px 19px;background:#f7f9f8;border-bottom:1px solid #e8ecea}.student-module-head span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#829087;font-weight:800}.student-module-head h3{margin:3px 0 0!important;font-size:18px!important}.student-lesson-list{display:grid}.student-lesson-row{display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:center;padding:14px 18px;color:#273b35;text-decoration:none;border-bottom:1px solid #edf0ee;transition:background .15s ease}.student-lesson-row:last-child{border-bottom:0}.student-lesson-row:hover{background:#fafcfb}.student-lesson-row.is-complete{background:#fbfdfb}.student-lesson-number{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#eef2ef;color:#66766d;font-size:11px;font-weight:800}.student-lesson-row.is-complete .student-lesson-number{background:#dfece3;color:#53735e}.student-lesson-copy{display:grid;gap:3px}.student-lesson-copy strong{font-size:14px}.student-lesson-copy small{color:#89928d;font-size:11px}.student-lesson-state{font-size:11px;font-weight:800;color:#60746a;padding:6px 9px;border-radius:999px;background:#f0f3f1}.student-lesson-row.is-complete .student-lesson-state{background:#e5f0e8;color:#52715d}
.student-forum-section{margin:22px 0 30px;padding:24px;border-radius:19px;background:#fff;border:1px solid #e1e6e3;box-shadow:0 8px 26px rgba(28,45,38,.04)}.student-forum-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}.student-forum-header h2{margin:3px 0 6px!important}.student-forum-header p:last-child{margin:0;max-width:720px;color:#718078;line-height:1.55}.student-forum-header.compact{margin-bottom:12px}.student-forum-header.compact h2{font-size:20px!important}.student-forum-compose{display:grid;gap:12px;padding:17px;margin:12px 0 18px;border-radius:14px;background:#f7f9f8;border:1px solid #e3e8e5}.student-forum-compose.compact{padding:14px}.student-forum-compose label,.student-reply-form label{display:grid;gap:7px;font-size:12px;font-weight:800;color:#55655d}.student-forum-compose input,.student-forum-compose textarea,.student-reply-form textarea{width:100%;box-sizing:border-box;border:1px solid #ccd5d0;border-radius:10px;background:#fff;padding:11px 12px;font:14px 'Libre Franklin',Arial,sans-serif;outline:none}.student-forum-compose input:focus,.student-forum-compose textarea:focus,.student-reply-form textarea:focus{border-color:#82978c;box-shadow:0 0 0 3px rgba(130,151,140,.11)}.forum-compose-head{display:flex;align-items:center;justify-content:space-between}.forum-compose-actions{display:flex;justify-content:flex-end;gap:9px}.student-thread-list,.student-class-thread-list{display:grid;gap:9px}.student-thread-card{display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;padding:13px 14px;border-radius:13px;border:1px solid #e5e9e7;background:#fbfcfb;color:#263b35;text-decoration:none;transition:transform .15s ease,border-color .15s ease,background .15s ease}.student-thread-card:hover{transform:translateY(-1px);background:#fff;border-color:#cdd8d2}.student-thread-card.compact{grid-template-columns:34px 1fr;padding:11px}.thread-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#e8efeb;color:#526f60;font-size:12px;font-weight:900}.student-thread-card.compact .thread-avatar{width:32px;height:32px}.thread-card-copy{display:grid;gap:4px;min-width:0}.thread-card-copy strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-card-copy small{color:#839089;font-size:10px}.thread-replies{display:grid;text-align:center;min-width:58px}.thread-replies b{font-size:14px}.thread-replies small{font-size:9px;color:#849089}.student-empty-state{padding:18px;border-radius:13px;background:#f7f9f8;color:#77837d;text-align:center;font-size:13px}.student-empty-state.small{padding:13px}

/* Clase alumno */
.student-breadcrumb{margin-bottom:15px}.student-breadcrumb a{color:#60756a;text-decoration:none;font-weight:800;font-size:12px}.student-lesson-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(290px,.65fr);gap:20px;align-items:start}.student-lesson-main,.student-class-forum,.student-thread-page{border-radius:19px;background:#fff;border:1px solid #e1e6e3;box-shadow:0 8px 26px rgba(29,45,38,.04)}.student-lesson-main{padding:26px}.student-lesson-header h1{font-size:clamp(28px,3.2vw,42px)!important;line-height:1.08!important;margin:4px 0 18px!important}.student-video-card{padding:0;margin:8px 0 22px;background:#17232d;border-radius:16px;overflow:hidden}.student-video-card video{width:100%;display:block;max-height:70vh;background:#000}.student-video-frame{position:relative;padding-top:56.25%;background:#000}.student-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.student-live-callout{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 15px;margin:12px 0 20px;border-radius:13px;background:#eef4f0;border:1px solid #dce7e1}.student-live-callout>div{display:flex;align-items:center;gap:10px}.student-live-callout strong,.student-live-callout small{display:block}.student-live-callout small{color:#718078;margin-top:3px}.student-lesson-body{font-size:15px;line-height:1.75;color:#40544b}.student-lesson-body img{max-width:100%;height:auto;border-radius:12px}.student-downloads{margin-top:26px;padding-top:20px;border-top:1px solid #e8ecea}.student-download-list{display:grid;gap:8px}.student-download-item{display:grid;grid-template-columns:34px 1fr auto;gap:11px;align-items:center;padding:11px 13px;border:1px solid #e3e8e5;border-radius:12px;background:#fafcfb;color:#283e35;text-decoration:none}.student-download-item:hover{background:#fff;border-color:#cbd7d1}.download-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#e8efeb;font-weight:900}.student-download-item>span:nth-child(2){display:grid;gap:2px}.student-download-item small{color:#84908a;font-size:10px}.student-download-item b{font-size:11px;color:#5d7368}.lesson-complete-form{margin-top:24px}.student-class-forum{padding:19px;position:sticky;top:100px}.student-class-thread-list{max-height:58vh;overflow:auto;padding-right:2px}
.student-thread-shell{padding-top:34px}.student-thread-page{padding:26px}.student-thread-page>header h1{margin:4px 0 18px!important;font-size:30px!important}.thread-conversation{display:grid;gap:11px}.thread-bubble{padding:14px 15px;border-radius:14px;background:#f7f9f8;border:1px solid #e5e9e7}.thread-bubble.staff{background:#eef4f0;border-color:#dbe7e0}.thread-author{display:flex;align-items:center;gap:9px;margin-bottom:9px}.thread-author strong{display:flex;align-items:center;gap:7px;font-size:12px}.thread-author small{padding:3px 6px;border-radius:999px;background:#dce9e1;color:#547060;font-size:9px}.thread-bubble p{margin:0;line-height:1.65;color:#43574e;white-space:pre-wrap}.student-reply-form{display:grid;gap:11px;margin-top:20px;padding-top:18px;border-top:1px solid #e7ebe9}.student-reply-form>div{display:flex;justify-content:flex-end}

@media(max-width:900px){.student-course-hero{grid-template-columns:1fr}.student-course-cover{height:220px;order:-1}.student-lesson-grid{grid-template-columns:1fr}.student-class-forum{position:static}.admin-section-heading-row,.student-forum-header{display:grid}.admin-content-toolbar{justify-content:flex-start}.dialog-form-grid,.dialog-live-grid{grid-template-columns:1fr}.dialog-form-grid .span-2{grid-column:auto}.live-session-inline{align-items:flex-start;display:grid}.student-live-card{grid-template-columns:auto 1fr}.student-live-card>.button{grid-column:1/-1;width:max-content;margin-left:67px}}
@media(max-width:620px){.student-course-shell{width:min(100% - 24px,1180px)}.student-course-hero{padding:22px 20px;border-radius:17px}.student-course-cover{height:180px}.student-forum-section,.student-lesson-main,.student-class-forum,.student-thread-page{padding:18px}.student-lesson-row{grid-template-columns:32px 1fr}.student-lesson-state{grid-column:2;width:max-content}.student-thread-card{grid-template-columns:34px 1fr}.thread-replies{grid-column:2;display:flex;gap:4px;text-align:left}.student-live-card{grid-template-columns:1fr}.live-date-badge{display:none}.student-live-card>.button{grid-column:auto;margin-left:0}.material-upload-form{grid-template-columns:1fr!important}}
.course-new-lesson-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:112px;border-radius:10px!important;text-decoration:none!important;box-shadow:none!important}

/* v10.3 admin UX polish */
main.page-shell.lms-shell .button,
main.page-shell.lms-shell button.button,
main.page-shell.lms-shell a.button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px;
  min-height:42px;
  padding:11px 18px!important;
  border-radius:14px!important;
  border:1px solid #1e2a38!important;
  background:#1e2a38!important;
  color:#fff!important;
  text-decoration:none!important;
  font:700 14px/1 'Libre Franklin',Arial,sans-serif!important;
  cursor:pointer;
  transition:transform .14s ease, box-shadow .14s ease, background .14s ease, border-color .14s ease;
  box-shadow:0 8px 18px rgba(30,42,56,.10)!important;
}
main.page-shell.lms-shell .button:hover,
main.page-shell.lms-shell button.button:hover,
main.page-shell.lms-shell a.button:hover{transform:translateY(-1px);box-shadow:0 12px 22px rgba(30,42,56,.14)!important}
main.page-shell.lms-shell .button.secondary,
main.page-shell.lms-shell button.button.secondary,
main.page-shell.lms-shell a.button.secondary{background:#f6f4f0!important;color:#1e2a38!important;border-color:#d7d2ca!important;box-shadow:none!important}
main.page-shell.lms-shell .button.secondary:hover,
main.page-shell.lms-shell button.button.secondary:hover,
main.page-shell.lms-shell a.button.secondary:hover{background:#efebe4!important}
main.page-shell.lms-shell .button.small,
main.page-shell.lms-shell button.button.small,
main.page-shell.lms-shell a.button.small{min-height:38px;padding:9px 14px!important;border-radius:12px!important;font-size:13px!important}
main.page-shell.lms-shell .danger-button,
main.page-shell.lms-shell button.danger-button,
main.page-shell.lms-shell a.danger-button{background:#fff6f5!important;color:#a04343!important;border-color:#e8c3c0!important;box-shadow:none!important}
main.page-shell.lms-shell .danger-button:hover,
main.page-shell.lms-shell button.danger-button:hover,
main.page-shell.lms-shell a.danger-button:hover{background:#fff0ee!important}
main.page-shell.lms-shell .text-button{background:none;border:0;padding:0;font:700 12px/1 'Libre Franklin',Arial,sans-serif;cursor:pointer}
main.page-shell.lms-shell .subtle-danger{font-weight:700}
.section-heading-with-action{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.admin-course-actions{min-width:152px;display:grid;gap:10px;align-content:center}
.admin-course-actions .button{width:100%}
.course-new-lesson-button{white-space:nowrap!important}
.admin-row-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:7px}
.admin-row-links a{font-weight:700;color:#5b6a75;text-decoration:none}
.admin-row-links a:hover{text-decoration:underline}

.admin-modal[hidden]{display:none!important}
.admin-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:28px}
.admin-modal-backdrop{position:absolute;inset:0;background:rgba(19,27,37,.48);backdrop-filter:blur(3px)}
.admin-modal-card{position:relative;z-index:1;width:min(680px,100%);max-height:min(88vh,920px);overflow:auto;border-radius:24px;background:#fff;box-shadow:0 26px 80px rgba(16,24,35,.20);border:1px solid #e5e2db}
.admin-modal-card-lg{width:min(860px,100%)}
.admin-modal-card > form{padding:28px}
body.modal-open{overflow:hidden}
.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.dialog-head h2{margin:3px 0 8px!important;font-size:34px!important;letter-spacing:-.03em}
.dialog-head p:last-child{margin:0;color:#63717b;line-height:1.55;max-width:680px}
.dialog-close{width:40px;height:40px;display:grid;place-items:center;border:1px solid #ddd6cd;border-radius:14px;background:#f7f4ef;color:#56626b;font-size:26px;cursor:pointer;flex:0 0 auto}
.dialog-close:hover{background:#f1ece5}
.dialog-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.dialog-form-grid.single-col{grid-template-columns:1fr}
.modal-form-spacing{margin-top:20px}
.admin-modal-card label{display:grid;gap:7px;font-size:12px;font-weight:800;color:#55645d}
.admin-modal-card input,.admin-modal-card select,.admin-modal-card textarea{width:100%;box-sizing:border-box;border:1px solid #d3dad7;border-radius:14px;background:#fff;padding:12px 14px;font:14px 'Libre Franklin',Arial,sans-serif;color:#1e2a38;outline:none}
.admin-modal-card input:focus,.admin-modal-card select:focus,.admin-modal-card textarea:focus{border-color:#869b91;box-shadow:0 0 0 3px rgba(134,155,145,.12)}
.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid #ece9e3}
.class-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:6px}
.class-type-option{position:relative;display:grid;gap:6px;text-align:left;padding:16px 18px;border-radius:18px;border:1px solid #e1e5e3;background:#fbfcfb;color:#1e2a38;cursor:pointer;min-height:108px;box-shadow:0 6px 18px rgba(29,44,40,.04)}
.class-type-option strong{font-size:15px}
.class-type-option span{color:#728078;font-size:12px;line-height:1.45}
.class-type-option .type-status{display:inline-flex;align-items:center;gap:6px;margin-top:2px;font-style:normal;font-size:11px;font-weight:800;width:max-content;padding:6px 9px;border-radius:999px}
.class-type-option .type-status.is-good{background:#e8f3ed;color:#456756}
.class-type-option .type-status.is-warn{background:#fff5e9;color:#91663d}
.class-type-option.is-active{border-color:#879c92;background:#eef4f0;box-shadow:0 10px 22px rgba(33,52,46,.08)}
.class-type-option.is-disabled{opacity:.78;cursor:not-allowed}
.live-fields{display:grid;gap:14px}
.meet-auto-note{display:grid;gap:5px;padding:16px;border-radius:16px;background:#eef4f0;border:1px solid #dbe7df}
.meet-auto-note strong{color:#3a5d4b}
.meet-auto-note span{font-size:12px;color:#697870;line-height:1.55}
.dialog-live-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-warning{padding:12px 14px;border-radius:13px;background:#fff4e5;color:#8d673f;font-size:12px}
.form-warning a{font-weight:800;color:inherit}
.meet-status-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap}

.student-forum-header .button.secondary{background:#f7f4ef!important;border-color:#ddd6cd!important}
.student-thread-card{background:#fff!important;border-color:#e6ebe8!important}
.student-thread-card strong{white-space:normal!important;overflow:visible!important;text-overflow:unset!important;line-height:1.35}

@media(max-width:900px){
  .section-heading-with-action{display:grid}
  .class-type-grid,.dialog-form-grid,.dialog-live-grid{grid-template-columns:1fr}
  .admin-modal{padding:18px}
  .admin-modal-card > form{padding:22px}
}
@media(max-width:640px){
  .admin-course-actions{min-width:132px}
  .dialog-head h2{font-size:28px!important}
  .admin-modal-card{border-radius:20px}
  .admin-modal-card > form{padding:18px}
  .dialog-actions{display:grid}
  .dialog-actions .button{width:100%}
}

/* v10.5 users + receipts */
.role-help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:4px}.role-help-grid article{padding:14px 16px;border:1px solid #e3e7e5;border-radius:14px;background:#fafbf9;display:grid;gap:5px}.role-help-grid article strong{font-size:14px}.role-help-grid article span{font-size:12px;color:#6f7b75;line-height:1.45}.role-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:800;background:#f0f2f1;color:#52615a}.role-admin{background:#e9edf3;color:#33485e}.role-agent{background:#f3eee7;color:#765f43}.role-teacher{background:#e9f2ed;color:#486451}.role-student{background:#f0f2f1;color:#64716a}.admin-users-filters{grid-template-columns:2fr 1fr auto!important}.admin-form-actions{display:flex;justify-content:flex-end;gap:10px;align-items:center}.receipt-x-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;margin-bottom:20px;border-radius:14px;background:#fff6f5;border:1px solid #ecc9c5;color:#8f3b3b}.receipt-x-notice strong{font-size:18px}.receipt-x-notice span{font-size:12px;font-weight:900;letter-spacing:.05em}.receipt-status{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:800}.receipt-status.is-issued{background:#e9f2ed;color:#496752}.receipt-status.is-void{background:#fff0ee;color:#9d4646}.receipt-toolbar{width:min(920px,calc(100% - 36px))!important;display:flex;justify-content:flex-end;gap:10px;align-items:center;margin:0 auto 14px!important}.receipt-toolbar form{margin:0}.receipt-paper{position:relative;width:min(920px,calc(100% - 36px))!important;margin:0 auto!important;padding:44px 48px!important;border-radius:18px;background:#fff;box-shadow:0 12px 34px rgba(30,42,56,.09);overflow:hidden}.receipt-paper-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-bottom:1px solid #e6e8e7;padding-bottom:20px}.receipt-paper-head h1{margin:0 0 6px!important;font-size:28px!important}.receipt-paper-head p{margin:0;color:#69766f;line-height:1.5;font-size:12px}.receipt-x-box{width:92px;height:92px;border:2px solid #1e2a38;display:grid;place-items:center;align-content:center;border-radius:10px}.receipt-x-box strong{font-size:40px;line-height:1}.receipt-x-box span{font-size:11px;font-weight:900;letter-spacing:.08em}.receipt-non-fiscal{text-align:center;font-weight:900;font-size:12px;letter-spacing:.08em;padding:12px 0;border-bottom:1px solid #e6e8e7}.receipt-meta{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:20px 0}.receipt-meta>div{display:grid;gap:4px}.receipt-meta span,.receipt-detail-row span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#829087;font-weight:800}.receipt-body{padding:12px 0 26px}.receipt-body>p{font-size:15px;line-height:1.7}.receipt-amount{margin:22px 0;padding:20px 22px;border-radius:16px;background:#f5f3ef;font-size:34px;font-weight:800}.receipt-amount small{font-size:12px;color:#6f7c75}.receipt-detail-row{display:grid;grid-template-columns:180px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid #ecefed}.receipt-detail-row strong{font-size:14px;line-height:1.5}.receipt-footer{display:flex;justify-content:space-between;gap:16px;padding-top:22px;border-top:1px solid #dfe4e1;color:#7a8680;font-size:11px}.receipt-void-watermark{position:absolute;inset:42% auto auto 50%;transform:translate(-50%,-50%) rotate(-18deg);font-size:88px;font-weight:900;color:rgba(158,57,57,.10);letter-spacing:.08em;pointer-events:none}.receipt-paper.is-void{border:2px solid #e5b8b3}.receipt-view-shell{padding-bottom:80px!important}
@media(max-width:760px){.role-help-grid{grid-template-columns:1fr}.admin-users-filters{grid-template-columns:1fr!important}.admin-form-actions{display:grid}.receipt-paper{padding:26px 22px!important}.receipt-detail-row{grid-template-columns:1fr}.receipt-toolbar{display:grid;grid-template-columns:1fr}.receipt-toolbar .button{width:100%}.receipt-paper-head{display:grid}.receipt-x-box{width:72px;height:72px}.receipt-footer{display:grid}}
@media print{body{background:#fff!important}.site-header,.site-footer,.admin-internal-nav,.no-print,.whatsapp{display:none!important}.admin-layout .page-shell>main{display:block!important}.receipt-view-shell{padding:0!important;background:#fff!important}.receipt-paper{width:100%!important;max-width:none!important;margin:0!important;padding:22mm 18mm!important;border:0!important;border-radius:0!important;box-shadow:none!important}.receipt-paper.is-void{border:0!important}.receipt-void-watermark{font-size:92px}}

/* v10.5 users + receipts */
.role-help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:4px}.role-help-grid article{padding:14px 16px;border:1px solid #e3e7e5;border-radius:14px;background:#fafbf9;display:grid;gap:5px}.role-help-grid article strong{font-size:14px}.role-help-grid article span{font-size:12px;color:#6f7b75;line-height:1.45}.role-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:800;background:#f0f2f1;color:#52615a}.role-admin{background:#e9edf3;color:#33485e}.role-agent{background:#f3eee7;color:#765f43}.role-teacher{background:#e9f2ed;color:#486451}.role-student{background:#f0f2f1;color:#64716a}.admin-users-filters{grid-template-columns:2fr 1fr auto!important}.admin-form-actions{display:flex;justify-content:flex-end;gap:10px;align-items:center}.receipt-x-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;margin-bottom:20px;border-radius:14px;background:#fff6f5;border:1px solid #ecc9c5;color:#8f3b3b}.receipt-x-notice strong{font-size:18px}.receipt-x-notice span{font-size:12px;font-weight:900;letter-spacing:.05em}.receipt-status{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:800}.receipt-status.is-issued{background:#e9f2ed;color:#496752}.receipt-status.is-void{background:#fff0ee;color:#9d4646}.receipt-toolbar{width:min(920px,calc(100% - 36px))!important;display:flex;justify-content:flex-end;gap:10px;align-items:center;margin:0 auto 14px!important}.receipt-toolbar form{margin:0}.receipt-paper{position:relative;width:min(920px,calc(100% - 36px))!important;margin:0 auto!important;padding:44px 48px!important;border-radius:18px;background:#fff;box-shadow:0 12px 34px rgba(30,42,56,.09);overflow:hidden}.receipt-paper-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-bottom:1px solid #e6e8e7;padding-bottom:20px}.receipt-paper-head h1{margin:0 0 6px!important;font-size:28px!important}.receipt-paper-head p{margin:0;color:#69766f;line-height:1.5;font-size:12px}.receipt-x-box{width:92px;height:92px;border:2px solid #1e2a38;display:grid;place-items:center;align-content:center;border-radius:10px}.receipt-x-box strong{font-size:40px;line-height:1}.receipt-x-box span{font-size:11px;font-weight:900;letter-spacing:.08em}.receipt-non-fiscal{text-align:center;font-weight:900;font-size:12px;letter-spacing:.08em;padding:12px 0;border-bottom:1px solid #e6e8e7}.receipt-meta{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:20px 0}.receipt-meta>div{display:grid;gap:4px}.receipt-meta span,.receipt-detail-row span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#829087;font-weight:800}.receipt-body{padding:12px 0 26px}.receipt-body>p{font-size:15px;line-height:1.7}.receipt-amount{margin:22px 0;padding:20px 22px;border-radius:16px;background:#f5f3ef;font-size:34px;font-weight:800}.receipt-amount small{font-size:12px;color:#6f7c75}.receipt-detail-row{display:grid;grid-template-columns:180px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid #ecefed}.receipt-detail-row strong{font-size:14px;line-height:1.5}.receipt-footer{display:flex;justify-content:space-between;gap:16px;padding-top:22px;border-top:1px solid #dfe4e1;color:#7a8680;font-size:11px}.receipt-void-watermark{position:absolute;inset:42% auto auto 50%;transform:translate(-50%,-50%) rotate(-18deg);font-size:88px;font-weight:900;color:rgba(158,57,57,.10);letter-spacing:.08em;pointer-events:none}.receipt-paper.is-void{border:2px solid #e5b8b3}.receipt-view-shell{padding-bottom:80px!important}
@media(max-width:760px){.role-help-grid{grid-template-columns:1fr}.admin-users-filters{grid-template-columns:1fr!important}.admin-form-actions{display:grid}.receipt-paper{padding:26px 22px!important}.receipt-detail-row{grid-template-columns:1fr}.receipt-toolbar{display:grid;grid-template-columns:1fr}.receipt-toolbar .button{width:100%}.receipt-paper-head{display:grid}.receipt-x-box{width:72px;height:72px}.receipt-footer{display:grid}}
@media print{body{background:#fff!important}.site-header,.site-footer,.admin-internal-nav,.no-print,.whatsapp{display:none!important}.admin-layout .page-shell>main{display:block!important}.receipt-view-shell{padding:0!important;background:#fff!important}.receipt-paper{width:100%!important;max-width:none!important;margin:0!important;padding:22mm 18mm!important;border:0!important;border-radius:0!important;box-shadow:none!important}.receipt-paper.is-void{border:0!important}.receipt-void-watermark{font-size:92px}}

/* v10.5.2 Correo IMAP dentro del Admin */
.mail-admin-page{padding-bottom:80px!important}.admin-mail-hero{display:flex!important;align-items:flex-start;justify-content:space-between;gap:20px}.mail-hero-actions{display:flex;gap:10px;flex-wrap:wrap}.mail-summary-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:12px;margin:14px auto 18px!important}.mail-summary-grid article{padding:18px 20px;border-radius:16px;background:#fff;border:1px solid #e3e7e5;box-shadow:0 7px 20px rgba(30,42,56,.05);display:grid;gap:5px}.mail-summary-grid span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#7b8881;font-weight:800}.mail-summary-grid strong{font-size:19px;overflow-wrap:anywhere}.mail-inbox-panel{padding:0!important;overflow:hidden}.mail-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:22px 24px;border-bottom:1px solid #e8ecea}.mail-toolbar h2{margin:0 0 5px!important}.mail-toolbar p{margin:0;color:#728078;font-size:12px}.mail-search-form{display:flex;gap:8px;align-items:center}.mail-search-form input{min-width:280px;border:1px solid #d0d8d4;border-radius:13px;padding:11px 13px;font:14px 'Libre Franklin',Arial,sans-serif}.mail-list{display:grid}.mail-row{display:grid;grid-template-columns:14px minmax(220px,.9fr) minmax(300px,1.7fr) auto;gap:14px;align-items:center;padding:14px 22px;border-bottom:1px solid #edf0ee;color:#263b35;text-decoration:none;background:#fff;transition:background .15s ease}.mail-row:last-child{border-bottom:0}.mail-row:hover{background:#fafcfb}.mail-row.is-unread{background:#f5f8f6}.mail-row.is-unread .mail-from>strong,.mail-row.is-unread .mail-subject>strong{font-weight:900;color:#1d332a}.mail-unread-dot{width:8px;height:8px;border-radius:50%;background:transparent}.mail-row.is-unread .mail-unread-dot{background:#6f9180}.mail-from,.mail-subject{display:grid;gap:3px;min-width:0}.mail-from strong,.mail-subject strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mail-from small,.mail-subject small{font-size:10px;color:#89938e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mail-date{font-size:11px;color:#748078;white-space:nowrap}.mail-empty-config{text-align:left}.mail-empty-config p{max-width:720px;line-height:1.6}.mail-message-topbar{margin-bottom:12px!important}.mail-message-card{padding:30px!important}.mail-message-header{padding-bottom:22px;border-bottom:1px solid #e7ebe9}.mail-message-header h1{font-size:clamp(28px,4vw,42px)!important;line-height:1.1!important;margin:4px 0 20px!important;letter-spacing:-.03em}.mail-message-meta{display:grid;gap:9px}.mail-message-meta>div{display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:start}.mail-message-meta span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#84908a;font-weight:800}.mail-message-meta strong{font-size:12px;line-height:1.5;overflow-wrap:anywhere}.mail-message-body{padding:28px 0 16px;white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.72 'Libre Franklin',Arial,sans-serif;color:#31483e}.mail-note{margin-top:18px;padding:12px 14px;border-radius:12px;background:#f5f2ec;color:#7a6d5c;font-size:11px}.mail-attachments{display:grid;gap:9px;margin-top:20px;padding:16px;border-radius:14px;background:#f8faf9;border:1px solid #e4e9e6}.mail-attachments>div{display:flex;gap:8px;flex-wrap:wrap}.mail-attachments span{padding:7px 10px;border-radius:999px;background:#edf2ef;font-size:11px;font-weight:800}.mail-attachments small{color:#7e8983}.mail-reply-card textarea{min-height:150px}.mail-settings-hint{padding:12px 14px;border-radius:12px;background:#eef4f0;color:#567063;font-size:12px;line-height:1.5}
@media(max-width:900px){.admin-mail-hero,.mail-toolbar{display:grid!important}.mail-summary-grid{grid-template-columns:1fr}.mail-search-form{display:grid;grid-template-columns:1fr auto}.mail-search-form input{min-width:0}.mail-row{grid-template-columns:12px 1fr auto}.mail-subject{grid-column:2}.mail-date{grid-column:3;grid-row:1/3}.mail-from{grid-column:2}.mail-unread-dot{grid-row:1/3}.mail-message-meta>div{grid-template-columns:1fr}.mail-message-meta span{margin-bottom:-4px}}
@media(max-width:620px){.mail-search-form{grid-template-columns:1fr}.mail-row{grid-template-columns:10px 1fr;padding:13px 15px}.mail-date{grid-column:2;grid-row:auto}.mail-unread-dot{grid-row:1/4}.mail-message-card{padding:20px!important}.mail-hero-actions{display:grid}.mail-hero-actions .button{width:100%}}

/* v10.5.3 · múltiples casillas, firmas y respuestas automáticas */
.mail-account-switcher-wrap{width:min(1120px,calc(100% - 36px));margin:0 auto 16px!important}.mail-account-switcher{display:flex;align-items:end;justify-content:space-between;gap:16px;padding:16px 18px;border-radius:16px;background:#f8f6f2;border:1px solid #ddd8d0}.mail-account-switcher label{display:grid;gap:6px;min-width:min(460px,100%);font-size:11px;font-weight:800;color:#66736c}.mail-account-switcher select{width:100%;border:1px solid #d0d7d3;border-radius:12px;padding:11px 13px;background:#fff;font:14px 'Libre Franklin',Arial,sans-serif}.mail-account-switcher>a{font-size:12px;font-weight:800;color:#566d61;text-decoration:none}.mail-account-switcher>a:hover{text-decoration:underline}
.mail-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.mail-account-card{padding:18px;border-radius:17px;border:1px solid #e2e7e4;background:#fbfcfb;display:grid;gap:15px}.mail-account-card.is-disabled{opacity:.7}.mail-account-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.mail-account-card-head>div{display:grid;gap:4px}.mail-account-card-head span:first-child{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#7a8780;font-weight:800}.mail-account-card-head strong{font-size:16px;overflow-wrap:anywhere}.mail-account-tags{display:flex;flex-wrap:wrap;gap:7px}.mail-account-tags span{padding:6px 9px;border-radius:999px;background:#edf3ef;color:#597062;font-size:10px;font-weight:800}.mail-account-card-actions{display:flex;gap:9px;flex-wrap:wrap}.mail-fixed-purpose{display:grid;gap:4px;padding:12px 14px;border-radius:13px;background:#eef4f0;border:1px solid #dce7e1;color:#486153}.mail-fixed-purpose span{font-size:11px;line-height:1.45}.mail-account-settings-form{display:grid;gap:0}.mail-settings-actions{display:flex;justify-content:flex-end;gap:10px;margin:8px 0 18px}.mail-signature-image-field{margin-top:16px}.mail-remove-signature{margin-top:10px!important;display:flex!important;align-items:center;gap:8px!important;font-weight:700!important}.mail-remove-signature input{width:auto!important}.danger-zone{border:1px solid #efd0cd!important;background:#fffafa!important}
.rich-mail-editor{border:1px solid #d6ddd9;border-radius:15px;background:#fff;overflow:hidden}.rich-mail-toolbar{display:flex;flex-wrap:wrap;gap:5px;padding:8px 10px;background:#f6f8f7;border-bottom:1px solid #e2e7e4}.rich-mail-toolbar button{border:1px solid transparent;background:transparent;color:#40544b;border-radius:8px;padding:6px 9px;font:700 12px 'Libre Franklin',Arial,sans-serif;cursor:pointer}.rich-mail-toolbar button:hover{background:#fff;border-color:#d6ddd9}.rich-mail-surface{min-height:150px;padding:15px 16px;outline:none;font:14px/1.65 'Libre Franklin',Arial,sans-serif;color:#263b35}.reply-surface{min-height:200px}.rich-mail-surface:empty:before{content:attr(data-placeholder);color:#9aa39f;pointer-events:none}.rich-mail-surface p{margin:0 0 10px}.rich-mail-surface ul,.rich-mail-surface ol{padding-left:24px}.mail-reply-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px}.mail-reply-footer span{font-size:11px;color:#7b8781}.mail-auto-grid{width:min(1120px,calc(100% - 36px));margin:0 auto!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.mail-auto-card{margin:0!important}.mail-auto-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.mail-auto-card-head h2{margin:0 0 4px!important}.mail-auto-card-head p{margin:0;color:#7d8983;font-size:12px}.mail-auto-config-link{margin-top:12px;font-size:12px}.mail-auto-config-link a{font-weight:800;color:#587063}.mail-purpose-card{display:grid;gap:4px;padding:14px 16px;border:1px solid #dce5e0;border-radius:14px;background:#f5f8f6;margin-bottom:16px}.mail-purpose-card span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#7b8881;font-weight:800}.mail-purpose-card strong{font-size:16px}.mail-purpose-card small{color:#748078}.mail-settings-link{margin-top:16px}.mail-settings-link a{font-size:12px;font-weight:800;color:#587063}.receipt-email-note,.receipt-email-status{padding:12px 14px;border-radius:13px;background:#eef4f0;border:1px solid #dce7e1;color:#526b5e;font-size:12px;line-height:1.5}.receipt-email-status{display:flex;gap:14px;justify-content:space-between;flex-wrap:wrap;margin:0 auto 14px!important;width:min(1120px,calc(100% - 36px));box-sizing:border-box}
@media(max-width:850px){.mail-account-grid,.mail-auto-grid{grid-template-columns:1fr}.mail-account-switcher{display:grid}.mail-account-switcher label{min-width:0}.mail-settings-actions,.mail-reply-footer{align-items:stretch;display:grid}.mail-settings-actions .button,.mail-reply-footer .button{width:100%}}
.mail-auto-preview{display:grid;gap:5px;margin:15px 0;padding:13px 14px;border-radius:13px;background:#f7f9f8;border:1px solid #e5e9e7}.mail-auto-preview span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#829087;font-weight:800}.mail-auto-preview strong{font-size:13px}.mail-auto-preview p{margin:2px 0 0;color:#738078;font-size:12px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.mail-auto-toggle-form{display:flex;gap:9px;flex-wrap:wrap}

/* v10.5.7 · recibos con logo + correo resistente a IMAP lento */
.receipt-logo-upload-field{display:grid;gap:10px;padding:16px;border:1px solid #e1ddd6;border-radius:16px;background:#faf8f5}
.receipt-logo-preview{display:flex;align-items:center;gap:14px;min-height:76px;padding:12px;border:1px dashed #d3cec6;border-radius:14px;background:#fff;color:#65717b}
.receipt-logo-preview img{width:auto;max-width:180px;max-height:72px;object-fit:contain;display:block}
.receipt-logo-preview span{display:grid;gap:4px}.receipt-logo-preview strong{color:#1e2a38}.receipt-logo-preview small{font-size:12px;color:#839088}
.receipt-logo-remove{display:flex!important;align-items:center!important;grid-template-columns:none!important;gap:8px!important;font-size:12px!important;font-weight:700!important;color:#8a5555!important}.receipt-logo-remove input{width:auto!important;margin:0}
.receipt-brand-block{display:block}.receipt-brand-logo{display:block;max-width:190px;max-height:78px;width:auto;height:auto;object-fit:contain;margin:0 0 12px}
@media print{.receipt-brand-logo{max-width:170px;max-height:68px}}

/* v10.5.9 · selección múltiple en bandeja */
.mail-bulk-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border-top:1px solid #e5e9e7;border-bottom:1px solid #e5e9e7;background:#f8faf9}
.mail-select-all{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:700;color:#52635b;cursor:pointer}
.mail-select-all input,.mail-row-check input{width:17px;height:17px;accent-color:#6f8f7e;cursor:pointer}
.mail-bulk-actions{display:flex;align-items:center;gap:12px}.mail-bulk-actions>span{font-size:12px;color:#7b8781;min-width:86px;text-align:right}
.mail-bulk-actions .button:disabled{opacity:.45;cursor:not-allowed;transform:none!important}
.mail-row-wrap{display:grid;grid-template-columns:46px minmax(0,1fr);align-items:stretch;border-bottom:1px solid #e6ebe8;background:#fff;transition:background .12s ease}
.mail-row-wrap.is-unread{background:#f3f8f5}.mail-row-wrap.is-selected{background:#edf4f0}
.mail-row-check{display:grid;place-items:center;cursor:pointer;border-right:1px solid #edf0ee}
.mail-row-wrap .mail-row{border-bottom:0!important;background:transparent!important}
@media(max-width:720px){.mail-bulk-toolbar{align-items:flex-start;display:grid}.mail-bulk-actions{justify-content:space-between}.mail-row-wrap{grid-template-columns:40px minmax(0,1fr)}}

/* v10.6.0: bandejas separadas por casilla */
.mailbox-picker-panel{margin-bottom:18px!important}
.mailbox-picker-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:16px 0}
.mailbox-picker-card{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:15px 16px;border:1px solid #dde3e0;border-radius:16px;background:#fbfcfb;text-decoration:none;color:#1e2a38;transition:.15s ease}
.mailbox-picker-card:hover{border-color:#9cafa5;background:#f5f8f6;transform:translateY(-1px)}
.mailbox-picker-card.is-active{border-color:#7f998b;background:#eef4f0;box-shadow:0 7px 18px rgba(30,42,56,.06)}
.mailbox-picker-icon{width:42px;height:42px;border-radius:13px;background:#eef1ef;display:grid;place-items:center;font-size:18px}
.mailbox-picker-copy{display:grid;gap:3px;min-width:0}.mailbox-picker-copy strong{font-size:14px}.mailbox-picker-copy small{font-size:12px;color:#68756e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mailbox-picker-state{font-size:11px;font-weight:800;color:#60756a;white-space:nowrap}
.mailbox-picker-select{margin-top:8px;display:flex;align-items:end;justify-content:space-between;gap:16px}.mailbox-picker-select label{display:grid;gap:7px;min-width:min(460px,100%);font-size:12px;font-weight:800}.mailbox-picker-select select{min-height:46px;border:1px solid #ccd5d1;border-radius:13px;padding:0 13px;background:#fff}
.mailbox-awaiting-selection{text-align:center;padding:42px!important}.mailbox-awaiting-selection h2{margin-bottom:8px!important}.mailbox-awaiting-selection p{color:#68756e}
@media(max-width:700px){.mailbox-picker-card{grid-template-columns:42px 1fr}.mailbox-picker-state{grid-column:2}.mailbox-picker-select{display:grid}.mailbox-picker-select label{min-width:0;width:100%}}

/* v10.6.5 · usuarios compacto + gestión de cursos */
.admin-users-page{width:100%!important;max-width:none!important;margin:0!important;padding:42px 28px 72px!important;box-sizing:border-box}
.admin-users-page>*{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
.admin-users-panel{overflow:visible!important}
.admin-users-table-wrap{overflow:visible!important;border:1px solid #e4e8e6;border-radius:15px!important}
.admin-users-table{width:100%!important;min-width:0!important;table-layout:fixed!important}
.admin-users-table .users-col-name{width:25%}.admin-users-table .users-col-email{width:31%}.admin-users-table .users-col-role{width:15%}.admin-users-table .users-col-courses{width:13%}.admin-users-table .users-col-action{width:16%}
.admin-users-table th{padding:11px 10px!important;font-size:10px!important;white-space:nowrap!important}
.admin-users-table td{padding:12px 10px!important;vertical-align:middle!important;overflow:hidden!important;white-space:nowrap!important}
.user-name-cell strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.user-email-cell span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:#46545e}
.user-role-cell,.user-courses-cell,.user-action-cell{white-space:nowrap!important}
.user-courses-button{padding:8px 11px!important;min-height:36px!important;gap:7px!important}
.user-courses-button span{display:inline-grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border-radius:999px;background:#e8eeea;color:#53685d;font-size:10px;font-weight:900}
.user-no-courses{display:inline-flex;padding:7px 9px;border-radius:10px;background:#f5f4f1;color:#7f8984;font-size:11px}
.user-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;min-width:0}.user-row-actions form{margin:0}.user-row-actions .button{min-height:34px!important;padding:7px 10px!important;font-size:11px!important;border-radius:10px!important}
.user-courses-modal-card{width:min(680px,calc(100% - 32px))!important;max-height:84vh!important;padding:0!important;overflow:hidden!important}
.user-courses-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 24px 16px;border-bottom:1px solid #e8ebe9}.user-courses-modal-head h2{margin:3px 0 0!important;font-size:26px!important}
#userCoursesModalBody{padding:18px 24px;max-height:58vh;overflow:auto}
.user-courses-modal-user{display:grid;gap:3px;padding:0 0 15px;margin-bottom:5px;border-bottom:1px solid #ecefed}.user-courses-modal-user strong{font-size:16px}.user-courses-modal-user span{font-size:12px;color:#78847e;overflow-wrap:anywhere}
.user-courses-modal-list{display:grid;gap:9px;margin-top:12px}.user-course-modal-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px 14px;border:1px solid #e1e6e3;border-radius:13px;background:#fafbf9}.user-course-modal-row>div{display:grid;gap:4px;min-width:0}.user-course-modal-row strong{font-size:13px;line-height:1.4;white-space:normal}.user-course-modal-row span{font-size:11px;color:#7a8780}.user-course-modal-row form{margin:0}.user-course-modal-row .button{min-height:34px!important;padding:7px 11px!important;font-size:11px!important}
.user-courses-modal-footer{display:flex;justify-content:flex-end;padding:14px 24px 20px;border-top:1px solid #e8ebe9;background:#fbfbfa}
@media(max-width:1100px){.admin-users-page{padding-left:18px!important;padding-right:18px!important}.admin-users-table .users-col-name{width:23%}.admin-users-table .users-col-email{width:29%}.admin-users-table .users-col-role{width:16%}.admin-users-table .users-col-courses{width:14%}.admin-users-table .users-col-action{width:18%}}
@media(max-width:860px){.admin-users-table-wrap{overflow-x:auto!important}.admin-users-table{min-width:780px!important}.admin-users-page{padding-left:14px!important;padding-right:14px!important}}

/* v10.6.7 Email Marketing: estado real del remitente y creación clara */
.email-sender-status{max-width:1120px;margin:0 auto 18px;padding:14px 16px;border-radius:16px;display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #ddd8cf;background:#f7f4ef}
.email-sender-status>div{display:flex;align-items:center;gap:12px;min-width:0}
.email-sender-status>div>div{display:grid;gap:3px}
.email-sender-status strong{font-size:14px;color:#1e2a38}
.email-sender-status small{font-size:12px;color:#68737c}
.email-sender-dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto;background:#b78758;box-shadow:0 0 0 5px rgba(183,135,88,.12)}
.email-sender-status.is-ready{background:#eef5f0;border-color:#d2e3d7}
.email-sender-status.is-ready .email-sender-dot{background:#5e8b70;box-shadow:0 0 0 5px rgba(94,139,112,.12)}
.email-primary-actions{justify-content:flex-end}
.email-send-grid button[disabled]{opacity:.45;cursor:not-allowed;transform:none!important}
.email-config-warning{display:block;margin-top:10px;color:#9a6548;font-weight:700}
@media(max-width:700px){.email-sender-status{align-items:stretch;display:grid}.email-sender-status .button{width:100%}}

/* v10.6.9 · Admin compacto, contenido público, eventos y Sobre nosotros */
.admin-nav-session{margin-top:18px;padding-top:14px;border-top:1px solid #ded9d1}
.admin-nav-session form{margin:0}.admin-logout-button{appearance:none;border:0;background:transparent;padding:0;cursor:pointer;text-align:left;width:100%;font:inherit;color:#8a4c45!important}
.admin-courses-table-compact{table-layout:fixed!important;min-width:900px!important}.admin-courses-table-compact th:nth-child(1){width:36%}.admin-courses-table-compact th:nth-child(2){width:10%}.admin-courses-table-compact th:nth-child(3){width:9%}.admin-courses-table-compact th:nth-child(4){width:14%}.admin-courses-table-compact th:nth-child(5){width:8%}.admin-courses-table-compact th:nth-child(6){width:23%}
.compact-course-main{gap:10px!important}.compact-course-copy{min-width:0}.compact-course-title{display:block;white-space:normal;line-height:1.3;font-size:13px}.compact-course-copy small{display:block;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-structure{white-space:normal!important;font-size:12px;line-height:1.5}.compact-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;min-width:0!important}.compact-actions form{margin:0}.compact-actions .button{width:100%!important;min-height:34px!important;padding:7px 8px!important;font-size:11px!important}
.compact-row-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.compact-row-actions form{margin:0}
.resource-admin-main{display:flex;align-items:center;gap:12px;min-width:0}.resource-admin-thumb{width:58px;height:72px;border-radius:10px;overflow:hidden;background:#1e2a38;color:#fff;display:grid;place-items:center;flex:0 0 auto;font-size:11px;font-weight:800}.resource-admin-thumb img{width:100%;height:100%;object-fit:cover}.resource-admin-main>div:last-child{display:grid;gap:4px;min-width:0}.resource-admin-main strong{line-height:1.35}.resource-admin-main small{color:#76817b;overflow:hidden;text-overflow:ellipsis}
.public-resource-upload-card,.event-banner-upload{border:1px solid #e1e4e2;border-radius:16px;padding:17px;background:#fafbf9}.public-resource-upload-card h3,.event-banner-upload h3{margin:0 0 5px!important}.public-resource-upload-card p,.event-banner-upload p{margin:0 0 12px;color:#758078;font-size:12px}.public-resource-image-preview,.event-banner-preview{margin-top:12px;min-height:90px;border:1px dashed #ccd4d0;border-radius:13px;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#7b8580}.public-resource-image-preview img{width:90px;height:120px;object-fit:cover}.event-banner-preview img{width:100%;aspect-ratio:3.2/1;object-fit:cover}.public-resource-file-status{margin-top:10px;padding:10px 12px;border-radius:11px;background:#f1f4f2;font-size:12px;color:#617068}
.admin-events-grid{display:grid;gap:14px}.admin-event-card{border:1px solid #e1e5e3;border-radius:17px;overflow:hidden;background:#fbfcfb}.admin-event-banner{width:100%;aspect-ratio:3.2/1;background:#1e2a38;display:grid;place-items:center;color:#fff}.admin-event-banner img{width:100%;height:100%;object-fit:cover}.admin-event-copy{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:13px 15px}.admin-event-copy>div:first-child{display:grid;gap:4px}.admin-event-copy small{color:#748078}
.arca-status-card{display:grid;gap:4px;margin-bottom:18px;padding:14px 16px;border-radius:14px;background:#fff4e8;border:1px solid #efd9bd;color:#765638}.arca-status-card.is-ready{background:#edf5f0;border-color:#d2e4d8;color:#466453}.arca-status-card span{font-size:12px;line-height:1.5}.arca-credentials-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.arca-credentials-grid>div{border:1px solid #e0e4e1;border-radius:15px;padding:15px;background:#fafbf9}.arca-credentials-grid h3{margin:0 0 5px!important}.arca-credentials-grid p{margin:0 0 10px;color:#728078;font-size:12px}
.public-course-main-centered-action{max-width:930px;margin:0 auto}.public-course-enroll-center{display:flex;justify-content:center;margin:30px 0 8px}.public-course-enroll-button{min-width:160px!important;padding:13px 24px!important;border-radius:999px!important;text-align:center}.public-course-enroll-missing{text-align:center;color:#8a7464;margin-top:24px}
.home-events-slider-section{padding:42px 0 54px;background:#f7f4ef}.home-events-title{width:min(1180px,calc(100% - 40px));margin:0 auto 20px;font-size:32px;font-weight:500;color:#102437}.events-slider{position:relative;width:100%;overflow:hidden}.events-viewport{overflow:hidden;width:100%}.events-track{display:flex;width:100%;transition:transform .55s ease}.event-slide{display:block;flex:0 0 100%;width:100%;background:#1e2a38}.event-slide img{display:block;width:100%;aspect-ratio:3.2/1;object-fit:cover}.events-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.7);background:rgba(15,31,47,.58);color:#fff;font-size:28px;cursor:pointer}.events-prev{left:20px}.events-next{right:20px}.events-dots{position:absolute;bottom:13px;left:50%;transform:translateX(-50%);display:flex;gap:7px}.events-dots button{width:9px;height:9px;border:0;border-radius:50%;background:rgba(255,255,255,.55);padding:0;cursor:pointer}.events-dots button.is-active{background:#fff;transform:scale(1.2)}
.about-page{background:linear-gradient(180deg,#fff 0%,#fbf7f1 55%,#fff 100%);color:#1e2a38}.about-wrap{width:min(1180px,calc(100% - 40px));margin:0 auto}.about-hero{padding:64px 0;background:linear-gradient(135deg,#fff,#fbf7f1)}.about-hero-grid,.about-split{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,420px);gap:54px;align-items:center}.about-split{grid-template-columns:minmax(300px,390px) minmax(0,1fr)}.about-split-reverse{grid-template-columns:minmax(0,1fr) minmax(300px,390px)}.about-kicker{display:inline-flex;align-items:center;gap:10px;margin:0 0 12px;color:#8d6b5d;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.about-kicker:before{content:"";width:32px;height:1px;background:currentColor}.about-copy h1{font-size:clamp(38px,5vw,62px);line-height:1.05;margin:0}.about-lead{font-size:18px;line-height:1.7;max-width:680px}.about-media{margin:0;aspect-ratio:4/3;border:6px solid #fff;border-radius:28px;overflow:hidden;box-shadow:0 20px 48px rgba(20,38,53,.17)}.about-media img{width:100%;height:100%;object-fit:cover;display:block}.about-section{padding:76px 0}.about-section-alt{background:#fbf7f1}.about-card{font-size:16px;line-height:1.75}.about-card h2{font-size:clamp(30px,3vw,44px);line-height:1.1;margin:0 0 18px}.about-card p{margin:0 0 15px}.about-closing{padding:80px 0;background:#1e2a38;color:#fff}.about-card-dark h2{color:#fff}.about-card-dark .about-kicker{color:#d7bfb1}
@media(max-width:900px){.admin-courses-table-wrap{overflow-x:auto!important}.arca-credentials-grid,.about-hero-grid,.about-split,.about-split-reverse{grid-template-columns:1fr}.about-media{max-width:560px;margin:auto}.about-split-reverse .about-card{order:2}.about-split-reverse .about-media{order:1}.event-slide img{aspect-ratio:2.2/1}}
@media(max-width:620px){.compact-actions{grid-template-columns:1fr!important}.admin-event-copy{display:grid}.home-events-title{font-size:26px}.event-slide img{aspect-ratio:1.7/1}.events-arrow{width:38px;height:38px}.about-wrap{width:min(100% - 28px,1180px)}.about-hero,.about-section,.about-closing{padding:48px 0}.about-copy h1{font-size:38px}}

/* v10.7.1 – inscripción por buscador, materiales/quiz, ARCA y selector de correo */
.enrollment-panel .section-heading{margin-bottom:18px}
.student-course-search-form{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin:0 0 22px;padding:16px;border:1px solid #e1e5e2;border-radius:16px;background:#fafbf9}
.student-course-search-box{position:relative;min-width:0}.student-course-search-box>label{display:grid;gap:7px;font-size:12px;font-weight:800;color:#435049}.student-course-search-box input[type=search]{width:100%;min-height:46px;border:1px solid #ccd4d0;border-radius:12px;padding:0 14px;background:#fff;font:inherit;color:#1e2a38}
.student-search-results{position:absolute;z-index:35;top:72px;left:0;right:0;max-height:300px;overflow:auto;background:#fff;border:1px solid #d8dfdb;border-radius:14px;box-shadow:0 16px 38px rgba(30,42,56,.15);padding:6px}
.student-search-result{width:100%;border:0;background:transparent;text-align:left;padding:11px 12px;border-radius:10px;display:grid;gap:3px;cursor:pointer;color:#1e2a38}.student-search-result:hover{background:#f0f4f1}.student-search-result strong{font-size:14px}.student-search-result small{font-size:12px;color:#69756f}.student-search-empty{padding:14px;color:#6b756f;font-size:13px}
.student-search-picked{margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;background:#edf4ef;border:1px solid #d7e5db}.student-search-picked span{display:grid;gap:2px}.student-search-picked small{color:#66736b}.student-search-picked button{border:0;background:transparent;font-size:22px;line-height:1;cursor:pointer;color:#5e6c64}.student-course-search-form>.button{min-height:46px}.student-course-search-form>.button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:760px){.student-course-search-form{grid-template-columns:1fr}.student-course-search-form>.button{width:100%}}

.quiz-builder-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:20px 0 10px}.quiz-builder-head h3{margin:0}.quiz-builder{display:grid;gap:14px;max-height:46vh;overflow:auto;padding-right:4px}.quiz-question-editor{border:1px solid #dde3df;border-radius:15px;background:#fafbf9;padding:14px;display:grid;gap:12px}.quiz-question-top{display:flex;justify-content:space-between;align-items:center}.quiz-question-editor>label{display:grid;gap:6px;font-weight:700}.quiz-question-editor input[type=text],.quiz-question-editor input:not([type]){width:100%;border:1px solid #ccd4d0;border-radius:10px;padding:10px 12px;font:inherit}.quiz-option-editors{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quiz-option-editor{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;border:1px solid #e2e6e3;border-radius:11px;padding:8px 10px;background:#fff}.quiz-option-editor input[type=radio]{accent-color:#1e2a38}.quiz-option-editor input[data-option-index]{border:0;outline:0;width:100%;font:inherit;background:transparent}
@media(max-width:700px){.quiz-option-editors{grid-template-columns:1fr}}

.student-quiz-card{margin:22px 0;padding:22px;border:1px solid #dce3df;border-radius:18px;background:#f8faf8}.student-quiz-card .section-heading{margin-bottom:16px}.student-quiz-form{display:grid;gap:16px}.student-quiz-question{border:1px solid #dde3df;border-radius:15px;background:#fff;padding:16px}.student-quiz-question legend{font-weight:800;padding:0 6px;display:flex;gap:9px;align-items:center}.student-quiz-question legend span{width:26px;height:26px;border-radius:50%;display:inline-grid;place-items:center;background:#eef3ef;font-size:12px}.student-quiz-options{display:grid;gap:8px;margin-top:10px}.student-quiz-options label{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;padding:10px 12px;border:1px solid #e4e8e5;border-radius:11px;cursor:pointer}.student-quiz-options label:has(input:checked){border-color:#91a99c;background:#f0f5f2}.student-quiz-options input{accent-color:#1e2a38}

.arca-logo-field,.arca-csr-panel{border:1px solid #e0e4e1;border-radius:15px;padding:16px;background:#fafbf9;display:grid;gap:14px}.arca-logo-field h3,.arca-csr-panel h3{margin:0 0 5px!important}.arca-logo-field p,.arca-csr-panel p{margin:0;color:#728078;font-size:12px;line-height:1.5}.arca-logo-control{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.arca-logo-preview{min-height:70px;min-width:250px;display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px dashed #cbd5d0;border-radius:12px;background:#fff;color:#6f7a74}.arca-logo-preview img{width:150px;height:70px;object-fit:contain;border-radius:7px;background:#fff}.arca-logo-preview span{display:grid;gap:3px}.arca-logo-preview small{color:#7a8580}.arca-csr-panel{grid-template-columns:minmax(0,1fr) auto;align-items:center}.arca-csr-panel .button{white-space:nowrap}
@media(max-width:760px){.arca-csr-panel{grid-template-columns:1fr}.arca-csr-panel .button{width:100%}}

.mailbox-picker-only-select{padding:18px!important}.single-mailbox-select{display:block!important;margin:0!important}.single-mailbox-select label{min-width:0!important;width:100%!important;max-width:680px}.single-mailbox-select select{width:100%;font-size:15px}

/* v10.7.4 · acceso Google + vista real de alumno */
.admin-google-release{display:grid;grid-template-columns:minmax(240px,1fr) minmax(260px,420px) auto;gap:12px;align-items:center;margin:14px 0 18px;padding:14px 16px;border:1px solid #e1e5e2;border-radius:14px;background:#f8f7f3}
.admin-google-release>div{display:grid;gap:3px}.admin-google-release strong{font-size:13px}.admin-google-release span{font-size:11px;color:#6c7872;line-height:1.4}.admin-google-release input{width:100%;min-height:42px;border:1px solid #ccd4cf;border-radius:10px;padding:9px 12px;background:#fff;font:inherit;box-sizing:border-box}.admin-google-release .button{white-space:nowrap}
.admin-users-table .users-col-name{width:23%}.admin-users-table .users-col-email{width:29%}.admin-users-table .users-col-role{width:14%}.admin-users-table .users-col-courses{width:11%}.admin-users-table .users-col-action{width:23%}
.user-row-actions{flex-wrap:nowrap!important}.user-row-actions .button{white-space:nowrap!important}
.student-preview-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 20px;padding:14px 16px;border:1px solid #cfd9d3;border-radius:14px;background:#f3f7f4}.student-preview-banner>div{display:grid;gap:3px}.student-preview-banner strong{font-size:15px}.student-preview-banner span{font-size:12px;color:#65736c}.student-preview-banner form{margin:0}
@media(max-width:1050px){.admin-google-release{grid-template-columns:1fr 1fr}.admin-google-release>div{grid-column:1/-1}.admin-google-release .button{width:100%}.admin-users-table-wrap{overflow-x:auto!important}.admin-users-table{min-width:980px!important}}
@media(max-width:700px){.admin-google-release{grid-template-columns:1fr}.admin-google-release>div{grid-column:auto}.student-preview-banner{align-items:flex-start;flex-direction:column}.student-preview-banner .button{width:100%}}

/* ===== Student Center v10.7.6 ===== */
.student-center-shell{width:min(1220px,calc(100% - 42px));margin:0 auto;padding:26px 0 82px;font-family:'Libre Franklin',Arial,sans-serif;color:#243630}
.student-center-nav{display:flex;align-items:center;gap:7px;padding:7px;border:1px solid #e1e5e2;background:rgba(255,255,255,.76);border-radius:16px;margin-bottom:22px;position:sticky;top:10px;z-index:20;backdrop-filter:blur(10px)}
.student-center-nav a{display:flex;align-items:center;gap:7px;padding:10px 14px;border-radius:11px;color:#53645c;font-size:13px;font-weight:800;text-decoration:none;white-space:nowrap}.student-center-nav a:hover,.student-center-nav a.is-active{background:#1e2a38;color:#fff}.student-center-nav a span{min-width:20px;height:20px;padding:0 5px;border-radius:999px;display:grid;place-items:center;background:#be6c61;color:#fff;font-size:10px}
.student-account-hero{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;padding:28px 30px;border:1px solid #e0e4e1;border-radius:22px;background:linear-gradient(135deg,#f4f0e8,#fff);box-shadow:0 12px 34px rgba(31,45,38,.06)}.student-account-avatar,.student-avatar-large{overflow:hidden;border-radius:50%;background:#dce5df;display:grid;place-items:center;color:#355045;font-weight:900}.student-account-avatar{width:78px;height:78px;font-size:27px}.student-account-avatar img,.student-avatar-large img{width:100%;height:100%;object-fit:cover}.student-account-copy h1{font-size:34px!important;margin:3px 0 6px!important;letter-spacing:-.025em}.student-account-copy p:last-child{margin:0;color:#6d7b74;font-size:13px}.student-account-copy p strong{color:#344b41}.student-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.student-summary-grid article{padding:19px 20px;border:1px solid #e1e5e2;border-radius:17px;background:#fff;display:grid;gap:4px}.student-summary-grid article span{font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:900;color:#7a8a82}.student-summary-grid article strong{font-size:31px;color:#1e2a38}.student-summary-grid article small{color:#7a8780}
.student-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.65fr);gap:18px;align-items:start}.student-dashboard-main-card,.student-side-card,.student-profile-card,.student-notification-inbox,.student-certificate-section{border:1px solid #e0e4e1;border-radius:20px;background:#fff;padding:24px}.student-dashboard-side{display:grid;gap:18px}.student-panel-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.student-panel-heading h2{margin:3px 0 0!important;font-size:24px!important}.student-panel-heading>a{font-size:12px;font-weight:900;color:#49675a;text-decoration:none}.student-panel-heading.compact{align-items:center}.student-panel-heading.compact h2{font-size:20px!important}.student-course-cards{display:grid;gap:12px}.student-dashboard-course{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:15px;align-items:center;padding:12px;border:1px solid #e7eae8;border-radius:15px;background:#fbfcfb}.student-dashboard-course-image{width:76px;height:58px;border-radius:11px;overflow:hidden;background:#e6ece8;display:grid;place-items:center;font-size:11px;font-weight:900}.student-dashboard-course-image img{width:100%;height:100%;object-fit:cover}.student-dashboard-course-copy{min-width:0}.student-dashboard-course-copy h3{font-size:15px!important;margin:0 0 8px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-dashboard-course-copy small{color:#7b8881}.student-dashboard-progress{height:6px;border-radius:999px;background:#e5ebe7;overflow:hidden;margin-bottom:5px}.student-dashboard-progress span{display:block;height:100%;background:#7e9889;border-radius:inherit}.student-empty-state.polished{padding:26px;border:1px dashed #d4dcd7;border-radius:16px;background:#fafbf9;display:grid;gap:8px;justify-items:start}.student-empty-state.polished strong{font-size:16px}.student-empty-state.polished p{margin:0;color:#6d7973;line-height:1.55}.student-mini-notifications{display:grid}.student-mini-notifications a{display:grid;gap:3px;padding:11px 0;border-bottom:1px solid #edf0ee;text-decoration:none;color:#273932}.student-mini-notifications a:last-child{border-bottom:0}.student-mini-notifications a.is-unread strong:before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:#779889;margin-right:7px}.student-mini-notifications small,.student-upcoming-mini small{color:#829087;font-size:10px}.student-upcoming-mini{display:grid;gap:10px}.student-upcoming-mini article{padding:11px 0;border-bottom:1px solid #edf0ee;display:grid;gap:4px}.student-upcoming-mini article:last-child{border-bottom:0}.student-upcoming-mini a{font-size:11px;font-weight:900;color:#476455;text-decoration:none}
.student-page-heading{margin:30px 0 18px;padding:0 4px}.student-page-heading h1{font-size:38px!important;margin:5px 0 8px!important}.student-page-heading>p:last-child{max-width:760px;color:#65756d;line-height:1.6}.student-page-heading.row{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.student-required-notice{display:grid;gap:3px;padding:14px 17px;margin:0 0 16px;border-radius:14px;background:#fff5e8;border:1px solid #edd4aa;color:#76562f}.student-required-notice span{font-size:12px}.student-profile-form{display:grid;grid-template-columns:230px 1fr;gap:30px}.student-avatar-editor{display:grid;justify-items:center;align-content:start;gap:10px;padding:18px;border-radius:17px;background:#f6f7f5}.student-avatar-large{width:150px;height:150px;font-size:45px;border:5px solid #fff;box-shadow:0 8px 24px rgba(34,47,41,.08)}.student-avatar-editor small{font-size:10px;color:#7d8983}.student-profile-fields{display:grid;gap:14px}.student-profile-fields label,.student-form-grid label{display:grid;gap:6px;font-size:12px;font-weight:800;color:#52635b}.student-profile-fields input,.student-form-grid input{min-height:46px;border:1px solid #cdd5d1;border-radius:11px;padding:0 13px;background:#fff;font:inherit;color:#1e2a38}.student-profile-fields input:disabled{background:#f4f5f3;color:#79867f}.student-profile-fields label small{font-size:10px;font-weight:500;color:#85918b}.student-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.required-label{color:#a24f48;font-size:10px;text-transform:uppercase;letter-spacing:.05em}
.student-notification-inbox{padding:0;overflow:hidden}.student-notification-row{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:14px;align-items:center;padding:18px 20px;border-bottom:1px solid #e9edea}.student-notification-row:last-child{border-bottom:0}.student-notification-row.is-unread{background:#f7faf8}.notification-dot{width:8px;height:8px;border-radius:50%;background:#d7ded9}.student-notification-row.is-unread .notification-dot{background:#719284}.notification-copy{min-width:0}.notification-copy>div{display:flex;justify-content:space-between;gap:12px}.notification-copy strong{font-size:14px}.notification-copy span{font-size:10px;color:#8a958f;white-space:nowrap}.notification-copy p{margin:6px 0 0;color:#66756e;font-size:13px;line-height:1.55}
.student-available-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.student-available-card{overflow:hidden;border:1px solid #e0e5e2;border-radius:19px;background:#fff;box-shadow:0 10px 30px rgba(31,43,37,.05)}.student-available-image{display:block;height:190px;background:#e6ece8;overflow:hidden;text-decoration:none}.student-available-image img{width:100%;height:100%;object-fit:cover}.student-available-image span{height:100%;display:grid;place-items:center;color:#52665c;font-weight:900}.student-available-copy{padding:17px;display:grid;gap:8px}.student-available-copy>span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:900;color:#7c8c84}.student-available-copy h2{font-size:19px!important;margin:0!important;line-height:1.2}.student-available-copy p{margin:0;color:#6d7973;font-size:12px;line-height:1.55;min-height:38px}.student-available-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.student-certificate-section{margin-bottom:18px}.student-certificate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.student-certificate-grid article{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:13px;align-items:center;padding:14px;border:1px solid #e5e9e6;border-radius:15px;background:#fbfcfb}.certificate-icon{width:44px;height:44px;border-radius:13px;background:#e6f0ea;color:#446454;display:grid;place-items:center;font-size:21px;font-weight:900}.student-certificate-grid article>div:nth-child(2){display:grid;gap:3px}.student-certificate-grid article small{color:#7c8982;font-size:10px}
.certificate-settings-card{overflow:visible}.certificate-upload-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px;border:1px solid #e1e5e2;border-radius:15px;background:#fafbf9}.certificate-upload-card>div{display:grid;gap:4px}.certificate-upload-card span{font-size:11px;color:#6f7b75;line-height:1.45}.certificate-upload-card img{max-width:230px;max-height:120px;border-radius:10px;border:1px solid #e1e5e2}.certificate-upload-card img.signature-preview{max-height:75px}.certificate-upload-card .button{grid-column:1/-1;width:max-content}
@media(max-width:960px){.student-summary-grid{grid-template-columns:repeat(2,1fr)}.student-dashboard-grid{grid-template-columns:1fr}.student-available-grid{grid-template-columns:repeat(2,1fr)}.student-profile-form{grid-template-columns:1fr}.student-avatar-editor{justify-items:start;grid-template-columns:auto 1fr;align-items:center}.student-avatar-editor small{grid-column:2}.student-certificate-grid{grid-template-columns:1fr}}
@media(max-width:680px){.student-center-shell{width:min(100% - 24px,1220px);padding-top:16px}.student-center-nav{overflow-x:auto;position:static}.student-account-hero{grid-template-columns:auto 1fr;padding:20px}.student-account-hero>.button{grid-column:1/-1;width:100%}.student-account-avatar{width:60px;height:60px}.student-account-copy h1{font-size:25px!important}.student-summary-grid{grid-template-columns:1fr 1fr}.student-dashboard-course{grid-template-columns:60px 1fr}.student-dashboard-course-image{width:60px;height:52px}.student-dashboard-course>.button{grid-column:2;width:max-content}.student-page-heading.row{display:grid}.student-form-grid{grid-template-columns:1fr}.student-available-grid{grid-template-columns:1fr}.student-notification-row{grid-template-columns:10px 1fr}.student-notification-row>form{grid-column:2}.notification-copy>div{display:grid}.student-certificate-grid article{grid-template-columns:44px 1fr}.student-certificate-grid article>.button{grid-column:2;width:max-content}.certificate-upload-card{grid-template-columns:1fr}.certificate-upload-card img{max-width:100%}}


/* =====================================================================
   v10.7.8 · Selector de idioma global
   Traduce la interfaz pública, login y centro del alumno sin cambiar rutas.
   ===================================================================== */
.language-selector-wrap{
  display:flex;
  align-items:center;
  gap:6px;
  position:relative;
  flex:none;
  color:#fff;
}
.language-selector-icon{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  flex:none;
  opacity:.9;
}
.language-selector{
  width:112px;
  min-width:112px;
  height:34px;
  border:1px solid rgba(255,255,255,.38);
  border-radius:18px;
  background:rgba(255,255,255,.07);
  color:#fff;
  padding:0 9px;
  font-family:'Libre Franklin',Arial,sans-serif;
  font-size:12px;
  font-weight:600;
  line-height:1;
  outline:none;
  cursor:pointer;
}
.language-selector:hover,.language-selector:focus{border-color:rgba(255,255,255,.75);background:rgba(255,255,255,.12)}
.language-selector option{background:#fff;color:#162636;font-family:Arial,sans-serif}
.google-translate-engine{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.goog-te-banner-frame.skiptranslate,.goog-te-banner-frame,#goog-gt-tt,.goog-te-balloon-frame{display:none!important}
body{top:0!important}
.goog-text-highlight{background:transparent!important;box-shadow:none!important}

@media(max-width:1180px) and (min-width:821px){
  .main-nav{gap:14px;font-size:14px}
  .language-selector-wrap{gap:4px}
  .language-selector{width:94px;min-width:94px;font-size:11px;padding-left:7px;padding-right:6px}
  .language-selector-icon{width:15px;height:15px}
}
@media(max-width:820px){
  .language-selector-wrap{width:100%;padding:8px 0 2px;margin-top:4px;border-top:1px solid rgba(255,255,255,.14)}
  .language-selector{width:100%;min-width:0;height:38px;border-radius:8px;background:rgba(255,255,255,.08)}
}

/* =====================================================================
   v10.7.9 · CELULAR + PWA
   ===================================================================== */
body{overflow-x:hidden}
.pwa-install-button{color:#fff;border:1px solid rgba(255,255,255,.55);background:transparent;border-radius:7px;padding:8px 11px;cursor:pointer;white-space:nowrap}
.pwa-install-button:hover{background:rgba(255,255,255,.09)}
.pwa-install-button[hidden]{display:none!important}
@media(max-width:820px){
  .site-header,.header-inner{height:82px}
  .header-inner{position:relative}
  .brand-link{margin-left:0}
  .brand-logo{width:106px;max-height:58px}
  .nav-toggle{min-width:42px;min-height:42px;display:grid;place-items:center;font-size:22px;line-height:1;padding:0}
  .main-nav{top:82px;left:10px;right:10px;max-height:calc(100dvh - 94px);overflow-y:auto;overscroll-behavior:contain;border-radius:0 0 12px 12px;padding:12px 16px 18px;gap:0}
  .main-nav>a,.nav-dropdown>button,.nav-dropdown-page-link,.pwa-install-button{min-height:44px;display:flex;align-items:center;width:100%;padding:10px 4px!important;text-align:left}
  .nav-dropdown-trigger{min-height:44px;align-items:center}
  .nav-dropdown-toggle{min-width:44px;min-height:44px}
  .dropdown-menu{border-radius:8px;margin:2px 0 8px;overflow:hidden}
  .dropdown-menu a{min-height:42px;display:flex;align-items:center;padding:10px 14px}
  .pwa-install-button{margin:5px 0 3px;border-radius:8px;justify-content:center!important;font-family:'Libre Franklin',Arial,sans-serif;font-size:13px;font-weight:700}
}
@media(max-width:560px){
  .downloads-library{padding-bottom:56px}
  .downloads-grid{row-gap:38px}
  .download-cover-shell,.download-cover-document{width:min(296px,84vw)!important}
  .download-title{font-size:17px;margin-top:20px}
  .download-action{min-height:42px;padding:10px 18px}
}


/* ===== MOBILE PUBLIC TEXT CENTERING · V10.7.11 =====
   En pantallas de celular, los títulos y textos de las páginas públicas
   se centran sin alterar formularios, tablas ni el panel administrativo. */
@media(max-width:620px){
  .home-copy,
  .home-avales h2,
  .home-events-title,
  .home-reviews-carousel-section .review-slide,
  .about-page .about-copy,
  .about-page .about-card,
  .downloads-intro,
  .open-classes-intro,
  .formaciones-intro,
  .formaciones-areas > .original-container > h2,
  .formation-area-title-block,
  .formation-area-description,
  .formation-list-content,
  .public-course-main,
  .inner-hero,
  .catalog-card,
  .course-detail-hero .course-detail-grid > div,
  .course-detail-hero .info-card,
  .open-class-player-shell,
  .login-intro,
  .register-intro,
  .login-card-body > h2,
  .register-card-body > h2,
  .login-register-original,
  .site-footer .footer-social,
  .site-footer .footer-links,
  .site-footer .footer-contact,
  .site-footer .footer-credit{
    text-align:center;
  }

  .home-copy p,
  .about-page .about-copy p,
  .about-page .about-card p,
  .downloads-intro p,
  .open-classes-copy p,
  .formaciones-intro p,
  .formation-area-description p,
  .formation-list-content p,
  .public-course-main > p,
  .catalog-card p,
  .course-detail-hero p,
  .open-class-migration-note{
    margin-left:auto;
    margin-right:auto;
    text-align:center;
  }

  .home-cta-row{ text-align:center!important; }
  .home-hero-image-wrap{ margin-left:auto; margin-right:auto; }
  .formation-area-title-block h1,
  .formation-area-description,
  .formation-list-content,
  .formation-list-content p,
  .public-course-main,
  .public-course-main > p{
    max-width:none;
  }
  .formation-list-item{ justify-items:center; }
  .formation-list-content{ width:100%; }
  .formation-empty{ text-align:center; }
  .public-course-image{ margin-left:auto; margin-right:auto; }
  .public-course-enroll-center{ display:flex; justify-content:center; }
  .public-course-shell > .back-link{ display:block; width:max-content; max-width:100%; margin-left:auto; margin-right:auto; text-align:center; }

  .course-detail-hero ul{
    padding-left:0;
    list-style-position:inside;
    text-align:center;
  }
  .course-detail-hero .btn{ margin-left:auto; margin-right:auto; }

  .about-page .about-cta{ margin-left:auto; margin-right:auto; }
  .social-row{ justify-content:center; }
  .site-footer .footer-links > a,
  .site-footer .footer-contact > a{ margin-left:auto; margin-right:auto; }

  .review-slide-head{ justify-content:center; }
  .review-slide-body p{ text-align:center; }
}

/* =====================================================================
   SOBRE NOSOTROS + AUTH STANDALONE · V10.7.12 · 31/08/2026
   - Unifica toda /sobre-nosotros con el lenguaje visual de su primer bloque.
   - Reduce el aire vertical entre secciones.
   - /ingresar y /registrate funcionan sin header/footer visibles.
   ===================================================================== */

/* SOBRE NOSOTROS: mismo lenguaje tipográfico y visual en toda la página. */
.about-page{
  background:#fdfbf8;
  color:#1e2a38;
  font-family:Georgia,'Times New Roman',serif;
}
.about-page .about-wrap{
  width:min(1160px,calc(100% - 40px));
}
.about-page .about-hero{
  padding:42px 0 44px;
  background:#fdfbf8;
}
.about-page .about-hero-grid,
.about-page .about-split,
.about-page .about-split-reverse{
  gap:46px;
}
.about-page .about-hero-grid{
  grid-template-columns:minmax(0,1.08fr) minmax(320px,420px);
}
.about-page .about-split{
  grid-template-columns:minmax(310px,390px) minmax(0,1fr);
}
.about-page .about-split-reverse{
  grid-template-columns:minmax(0,1fr) minmax(310px,390px);
}
.about-page .about-kicker{
  margin:0 0 10px;
  color:#8d6b5d;
  font-family:Georgia,'Times New Roman',serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
}
.about-page .about-kicker:before{
  width:32px;
}
.about-page .about-copy h1,
.about-page .about-card h2{
  font-family:Georgia,'Times New Roman',serif;
  color:#1e2a38;
  font-weight:700;
  letter-spacing:-.02em;
}
.about-page .about-copy h1{
  font-size:clamp(42px,5vw,62px);
  line-height:1.04;
  margin:0 0 20px;
  max-width:650px;
}
.about-page .about-lead{
  margin:0 0 20px;
  max-width:690px;
  color:#111;
  font-size:18px;
  line-height:1.55;
}
.about-page .about-cta{
  margin-top:2px;
  background:transparent;
}
.about-page .about-section,
.about-page .about-closing{
  padding:44px 0;
}
.about-page .about-section-alt,
.about-page .about-closing{
  background:#f8f3ec;
  color:#1e2a38;
}
.about-page .about-card{
  color:#111;
  font-family:Georgia,'Times New Roman',serif;
  font-size:16px;
  line-height:1.56;
}
.about-page .about-card h2,
.about-page .about-card-dark h2{
  color:#1e2a38;
  font-size:clamp(31px,3vw,44px);
  line-height:1.08;
  margin:0 0 14px;
}
.about-page .about-card p{
  margin:0 0 10px;
}
.about-page .about-card p:last-of-type{
  margin-bottom:0;
}
.about-page .about-card .about-cta{
  margin-top:18px;
}
.about-page .about-card-dark .about-kicker,
.about-page .about-closing .about-kicker{
  color:#8d6b5d;
}
.about-page .about-media{
  border:5px solid #fff;
  border-radius:24px;
  box-shadow:0 14px 34px rgba(20,38,53,.14);
}

/* AUTH: pantalla autónoma sin navegación ni pie, con paleta Sanación Almik. */
.auth-standalone-body{
  min-height:100dvh;
  margin:0;
  background:
    radial-gradient(circle at 10% 12%,rgba(124,143,132,.28),transparent 31%),
    radial-gradient(circle at 92% 8%,rgba(141,107,93,.16),transparent 26%),
    radial-gradient(circle at 82% 88%,rgba(30,42,56,.10),transparent 30%),
    linear-gradient(145deg,#fbf7f1 0%,#e6dfd5 52%,#dce4df 100%);
  background-attachment:fixed;
}
.auth-standalone-shell{
  width:100%;
  min-height:100dvh;
  padding:22px 0 34px;
}
.auth-standalone-brand{
  width:74px;
  height:74px;
  margin:0 auto 12px;
  display:block;
}
.auth-standalone-brand img{
  width:100%;
  height:100%;
  object-fit:contain;
  background:transparent;
}
.auth-standalone-body .login-page,
.auth-standalone-body .register-page{
  min-height:0;
  padding:16px 0 28px;
  background:transparent;
}
.auth-standalone-body .login-layout,
.auth-standalone-body .register-layout{
  align-items:center;
}
.auth-standalone-body .login-intro,
.auth-standalone-body .register-intro{
  color:#1e2a38;
}
.auth-standalone-body .login-intro h1,
.auth-standalone-body .register-intro h1{
  font-family:Georgia,'Times New Roman',serif;
  font-size:40px;
  line-height:1.06;
  font-weight:700;
  letter-spacing:-.02em;
}
.auth-standalone-body .login-intro p,
.auth-standalone-body .register-intro p{
  font-family:Georgia,'Times New Roman',serif;
  line-height:1.5;
}
.auth-standalone-body .login-intro p + p,
.auth-standalone-body .register-intro p + p{
  margin-top:10px;
}
.auth-standalone-body .login-card-original,
.auth-standalone-body .register-card-original{
  border-color:rgba(30,42,56,.12);
  box-shadow:0 16px 38px rgba(30,42,56,.14);
}
.auth-standalone-body .login-card-accent{
  background:linear-gradient(90deg,#7c8f84 0%,#89b0cf 52%,#8d6b5d 100%);
}
.auth-standalone-body .login-card-body h2,
.auth-standalone-body .register-card-body h2{
  font-family:Georgia,'Times New Roman',serif;
  color:#1e2a38;
  font-weight:700;
  letter-spacing:-.02em;
}

@media(max-width:900px){
  .about-page .about-hero-grid,
  .about-page .about-split,
  .about-page .about-split-reverse{
    grid-template-columns:1fr;
    gap:28px;
  }
  .about-page .about-media{
    width:min(560px,100%);
  }
  .about-page .about-hero{padding:34px 0 38px}
  .about-page .about-section,
  .about-page .about-closing{padding:38px 0}
}

@media(max-width:620px){
  .about-page .about-wrap{width:min(100% - 28px,1160px)}
  .about-page .about-hero{padding:30px 0 32px}
  .about-page .about-section,
  .about-page .about-closing{padding:32px 0}
  .about-page .about-hero-grid,
  .about-page .about-split,
  .about-page .about-split-reverse{gap:24px}
  .about-page .about-copy h1{font-size:39px;margin-bottom:15px}
  .about-page .about-lead{font-size:16px;line-height:1.48;margin-bottom:17px}
  .about-page .about-card{font-size:15.5px;line-height:1.5}
  .about-page .about-card h2{font-size:31px;margin-bottom:12px}
  .about-page .about-card p{margin-bottom:9px}
  .about-page .about-media{border-width:4px;border-radius:20px}

  .auth-standalone-shell{padding:16px 0 24px}
  .auth-standalone-brand{width:64px;height:64px;margin-bottom:6px}
  .auth-standalone-body .login-page,
  .auth-standalone-body .register-page{padding:8px 0 20px}
  .auth-standalone-body .login-layout,
  .auth-standalone-body .register-layout{gap:22px}
  .auth-standalone-body .login-intro h1,
  .auth-standalone-body .register-intro h1{font-size:34px;margin-bottom:12px}
  .auth-standalone-body .login-intro p,
  .auth-standalone-body .register-intro p{font-size:15px;line-height:1.42}
}

/* v10.7.13 — aula standalone + CTA buttons */
.student-standalone-body{margin:0;background:#f6f3ee;color:#1e2a38;min-height:100%;}
.student-standalone-shell{min-height:100%;}
.student-standalone-body .page-shell{margin:0 auto;}
.student-center-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.student-center-nav .student-nav-logout{margin:0 0 0 auto;padding:0;}
.student-center-nav .student-nav-logout button,
.student-aula-toolbar button{appearance:none;border:1px solid #1e2a38;background:#1e2a38;color:#fff;border-radius:12px;padding:10px 15px;min-height:42px;font:700 13px/1 inherit;cursor:pointer;white-space:nowrap;}
.student-center-nav .student-nav-logout button:hover,
.student-aula-toolbar button:hover{background:#334457;}
.student-aula-toolbar{width:min(100% - 32px,1180px);margin:18px auto 0;display:flex;justify-content:space-between;align-items:center;gap:12px;}
.student-aula-toolbar form{margin:0;}
.student-aula-home{display:inline-flex;align-items:center;min-height:42px;padding:9px 14px;border:1px solid #d8d2ca;border-radius:12px;background:#fff;color:#1e2a38;text-decoration:none;font-weight:800;font-size:13px;}
.student-available-actions{display:flex!important;gap:10px!important;flex-wrap:wrap!important;margin-top:10px!important;}
.student-available-actions a.button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:44px!important;padding:10px 16px!important;border-radius:12px!important;border:1px solid #1e2a38!important;background:#1e2a38!important;color:#fff!important;text-decoration:none!important;font-size:13px!important;font-weight:800!important;line-height:1.2!important;box-shadow:none!important;}
.student-available-actions a.button.secondary{background:#fff!important;color:#1e2a38!important;border-color:#1e2a38!important;}
.student-available-actions a.button:hover{transform:translateY(-1px);}
@media(max-width:680px){
  .student-center-nav{align-items:stretch;}
  .student-center-nav .student-nav-logout{margin-left:0;flex:0 0 auto;}
  .student-center-nav .student-nav-logout button{min-height:40px;padding:8px 13px;}
  .student-aula-toolbar{width:min(100% - 24px,1180px);margin-top:12px;}
  .student-aula-toolbar button,.student-aula-home{min-height:40px;padding:8px 12px;font-size:12px;}
  .student-available-actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important;}
  .student-available-actions a.button{width:100%!important;min-width:0!important;text-align:center!important;}
}
@media(max-width:390px){.student-available-actions{grid-template-columns:1fr!important;}}


/* =====================================================================
   SISTEMA VISUAL PÚBLICO SANACIÓN ALMIK · V10.7.14 · 31/08/2026
   Referencia: /sobre-nosotros + Identidad Visual.
   - Misma familia de títulos, ritmo, paleta, bordes y sombras en TODO lo público.
   - Secciones más compactas.
   - Mobile con títulos y textos centrados.
   - Auth autónomo con logo apaisado y fondo de identidad.
   ===================================================================== */
:root{
  --almik-display:'Recoleta',Georgia,'Times New Roman',serif;
  --almik-body:Georgia,'Times New Roman',serif;
  --almik-ui:'Libre Franklin',Arial,sans-serif;
  --almik-ink:#1e2a38;
  --almik-copy:#171717;
  --almik-sage:#7c8f84;
  --almik-cream:#e6dfd5;
  --almik-charcoal:#4a4a4a;
  --almik-paper:#fdfbf8;
  --almik-paper-alt:#f8f3ec;
  --almik-warm:#8d6b5d;
  --almik-border:rgba(30,42,56,.14);
  --almik-shadow:0 14px 34px rgba(20,38,53,.14);
}

/* Base pública */
.public-site-body{
  background:var(--almik-paper);
  color:var(--almik-copy);
  font-family:var(--almik-body);
}
.public-site-body main{
  background:var(--almik-paper);
}
.public-site-body h1,
.public-site-body h2,
.public-site-body h3,
.public-site-body h4{
  font-family:var(--almik-display);
  color:var(--almik-ink);
  letter-spacing:-.02em;
}
.public-site-body p,
.public-site-body li{
  font-family:var(--almik-body);
}
.public-site-body .original-container{
  width:min(1160px,calc(100% - 40px));
}
.public-site-body .outline-button,
.public-site-body .formation-list-button,
.public-site-body .download-action,
.public-site-body .btn:not(.pwa-install-button),
.public-site-body .button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 18px;
  border:1px solid var(--almik-ink);
  border-radius:2px;
  background:transparent;
  color:var(--almik-ink);
  font:600 14px/1.15 var(--almik-ui);
  text-decoration:none;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
.public-site-body .outline-button:hover,
.public-site-body .formation-list-button:hover,
.public-site-body .download-action:hover,
.public-site-body .btn:not(.pwa-install-button):hover,
.public-site-body .button:hover{
  background:var(--almik-ink);
  color:#fff;
  transform:translateY(-1px);
}

/* Header público: conserva navegación, pero con proporción coherente con Sobre nosotros. */
.public-site-body .site-header,
.public-site-body .header-inner{
  height:94px;
}
.public-site-body .site-header{
  background:var(--almik-ink);
}
.public-site-body .brand-link{
  margin-left:0;
}
.public-site-body .brand-logo{
  width:118px;
}
.public-site-body .main-nav{
  gap:22px;
  font-family:var(--almik-body);
  font-size:14px;
}
.public-site-body .dropdown-menu{
  font-family:var(--almik-body);
  border-radius:10px;
  overflow:hidden;
}
.public-site-body .pwa-install-button{
  min-height:38px;
  padding:8px 14px;
  border-radius:8px;
}

/* Etiquetas / eyebrow unificadas. */
.public-site-body .formation-area-eyebrow,
.public-site-body .inner-hero .eyebrow,
.public-site-body .eyebrow,
.public-site-body .about-kicker,
.public-site-body .course-detail-hero .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 0 10px;
  color:var(--almik-warm);
  font:700 12px/1.2 var(--almik-body);
  letter-spacing:.08em;
  text-transform:uppercase;
}
.public-site-body .formation-area-eyebrow:before,
.public-site-body .inner-hero .eyebrow:before,
.public-site-body .course-detail-hero .eyebrow:before{
  content:"";
  width:32px;
  height:1px;
  background:currentColor;
}

/* HOME */
.public-site-body .home-top{
  background:var(--almik-paper);
  padding:42px 0 36px;
}
.public-site-body .home-hero{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(340px,430px);
  gap:48px;
  align-items:center;
  padding:0;
}
.public-site-body .home-copy{
  padding:0;
}
.public-site-body .home-copy:before{
  content:"SANACIÓN ALMIK";
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 0 12px;
  color:var(--almik-warm);
  font:700 12px/1.2 var(--almik-body);
  letter-spacing:.08em;
}
.public-site-body .home-copy:after{
  content:"";
  position:absolute;
}
.public-site-body .home-copy h1{
  margin:0 0 18px;
  max-width:680px;
  font:700 clamp(44px,5vw,62px)/1.04 var(--almik-display);
  letter-spacing:-.025em;
  color:var(--almik-ink);
}
.public-site-body .home-copy h2{
  margin:0 0 14px;
  max-width:690px;
  font:700 clamp(24px,2.5vw,31px)/1.12 var(--almik-display);
  letter-spacing:-.02em;
  color:var(--almik-ink);
}
.public-site-body .home-copy p{
  max-width:700px;
  margin:0;
  font:400 17px/1.55 var(--almik-body);
  color:var(--almik-copy);
}
.public-site-body .home-cta-row{
  margin-top:20px;
  text-align:left;
}
.public-site-body .home-hero-image-wrap{
  width:100%;
  padding:0;
}
.public-site-body .home-hero-image{
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:cover;
  border:5px solid #fff;
  border-radius:24px;
  box-shadow:var(--almik-shadow);
}
.public-site-body .home-links{
  width:min(1160px,calc(100% - 40px));
  margin:34px auto 0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
}
.public-site-body .home-link-card{
  min-width:0;
  text-align:left;
  font-family:var(--almik-body);
}
.public-site-body .home-link-card img{
  width:100% !important;
  height:auto !important;
  aspect-ratio:1.45/1;
  margin:0 0 12px !important;
  border:4px solid #fff;
  border-radius:18px;
  box-shadow:0 10px 24px rgba(20,38,53,.11) !important;
  object-fit:cover;
}
.public-site-body .home-link-card strong{
  display:block;
  color:var(--almik-ink);
  font:700 17px/1.15 var(--almik-display);
  letter-spacing:-.01em;
  white-space:normal;
}
.public-site-body .home-avales{
  padding:38px 0 34px;
  background:var(--almik-paper-alt);
}
.public-site-body .home-avales h2,
.public-site-body .home-events-title{
  margin:0 0 20px;
  font:700 clamp(30px,3vw,42px)/1.08 var(--almik-display);
  color:var(--almik-ink);
}
.public-site-body .home-avales .aval-card{
  background:transparent !important;
}
.public-site-body .home-events-slider-section{
  padding:38px 0 44px;
  background:var(--almik-paper);
}
.public-site-body .event-slide{
  border-radius:22px;
  overflow:hidden;
  background:var(--almik-ink);
}
.public-site-body .event-slide img{
  border-radius:22px;
}
.public-site-body .home-reviews{
  padding:40px 0 48px;
  background:var(--almik-paper-alt);
}
.public-site-body .reviews-summary-centered h3,
.public-site-body .reviews-heading h3{
  font-family:var(--almik-display);
  color:var(--almik-ink);
}
.public-site-body .review-card,
.public-site-body .review-slide{
  border:1px solid var(--almik-border);
  border-radius:18px;
  box-shadow:none;
}
.public-site-body .review-name,
.public-site-body .review-slide-name{
  font-family:var(--almik-ui);
}

/* SOBRE NOSOTROS: fija la referencia visual. */
.public-site-body .about-page{
  background:var(--almik-paper);
}
.public-site-body .about-page .about-hero,
.public-site-body .about-page .about-section,
.public-site-body .about-page .about-closing{
  padding-top:42px;
  padding-bottom:42px;
}
.public-site-body .about-page .about-section-alt,
.public-site-body .about-page .about-closing{
  background:var(--almik-paper-alt);
}
.public-site-body .about-page .about-copy h1{
  font-family:var(--almik-display);
}
.public-site-body .about-page .about-card h2{
  font-family:var(--almik-display);
}

/* FORMACIONES DISPONIBLES */
.public-site-body .formaciones-page{
  background:var(--almik-paper);
  color:var(--almik-copy);
}
.public-site-body .formaciones-intro{
  padding:42px 0 38px;
}
.public-site-body .formaciones-intro:before{
  content:"FORMACIONES";
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--almik-warm);
  font:700 12px/1.2 var(--almik-body);
  letter-spacing:.08em;
}
.public-site-body .formaciones-intro h1{
  margin:10px 0 14px;
  font:700 clamp(42px,5vw,58px)/1.04 var(--almik-display);
  color:var(--almik-ink);
}
.public-site-body .formaciones-intro h2{
  margin:0 0 16px;
  max-width:760px;
  font:700 clamp(27px,3vw,38px)/1.1 var(--almik-display);
  color:var(--almik-ink);
}
.public-site-body .formaciones-intro p{
  max-width:920px;
  margin:0 0 10px;
  font:400 17px/1.55 var(--almik-body);
}
.public-site-body .formaciones-areas{
  padding:38px 0 48px;
  background:var(--almik-paper-alt);
}
.public-site-body .formaciones-areas h2{
  margin:0 0 22px;
  font:700 clamp(30px,3vw,42px)/1.08 var(--almik-display);
}
.public-site-body .formaciones-area-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
}
.public-site-body .formaciones-area-card{
  overflow:hidden;
  border:1px solid var(--almik-border);
  border-radius:20px;
  background:#fff;
  box-shadow:0 10px 24px rgba(20,38,53,.08);
}
.public-site-body .formaciones-area-card img{
  width:100%;
  aspect-ratio:1.4/1;
  object-fit:cover;
}
.public-site-body .formaciones-area-card span{
  display:block;
  padding:16px 16px 18px;
  color:var(--almik-ink);
  font:700 18px/1.2 var(--almik-display);
  text-align:left;
}

/* ÁREAS DE FORMACIÓN */
.public-site-body .formation-area-page{
  background:var(--almik-paper);
  color:var(--almik-copy);
}
.public-site-body .formation-area-hero{
  padding:42px 0 34px;
  background:var(--almik-paper);
}
.public-site-body .formation-area-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:46px;
  align-items:end;
}
.public-site-body .formation-area-title-block h1{
  margin:0;
  font:700 clamp(40px,4.6vw,56px)/1.04 var(--almik-display);
  color:var(--almik-ink);
  text-transform:none;
}
.public-site-body .formation-area-description p{
  margin:0;
  font:400 17px/1.55 var(--almik-body);
  color:var(--almik-copy);
}
.public-site-body .formation-area-courses{
  padding:38px 0 48px;
  background:var(--almik-paper-alt);
}
.public-site-body .formation-area-list{
  display:grid;
  gap:24px;
}
.public-site-body .formation-list-item{
  display:grid;
  grid-template-columns:minmax(230px,330px) minmax(0,1fr);
  gap:34px;
  align-items:center;
  padding:18px;
  border:1px solid var(--almik-border);
  border-radius:22px;
  background:#fff;
}
.public-site-body .formation-list-image-wrap{
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  overflow:hidden;
  border-radius:17px;
  background:var(--almik-cream);
}
.public-site-body .formation-list-image-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.public-site-body .formation-list-content h2{
  margin:0 0 10px;
  font:700 clamp(25px,2.5vw,34px)/1.08 var(--almik-display);
  color:var(--almik-ink);
  text-transform:none;
}
.public-site-body .formation-list-content p{
  max-width:720px;
  margin:0 0 18px;
  font:400 16.5px/1.5 var(--almik-body);
  color:var(--almik-copy);
}

/* DETALLE DE FORMACIÓN PÚBLICA */
.public-site-body .public-course-page,
.public-site-body .course-contract-page{
  min-height:65vh;
  background:var(--almik-paper);
}
.public-site-body .public-course-shell,
.public-site-body .course-contract-shell{
  padding:40px 0 48px;
}
.public-site-body .back-link,
.public-site-body .open-class-back{
  margin-bottom:18px;
  color:var(--almik-warm);
  font:700 13px/1.3 var(--almik-ui);
}
.public-site-body .public-course-main{
  max-width:930px;
}
.public-site-body .public-course-image{
  width:100%;
  max-height:none;
  aspect-ratio:16/8.7;
  margin:0 0 22px;
  object-fit:cover;
  border:5px solid #fff;
  border-radius:24px;
  box-shadow:var(--almik-shadow);
}
.public-site-body .public-course-main h1,
.public-site-body .course-contract-shell h1{
  margin:8px 0 14px;
  font:700 clamp(38px,4.2vw,54px)/1.05 var(--almik-display);
  color:var(--almik-ink);
}
.public-site-body .public-course-main>p,
.public-site-body .course-contract-grid>div>p{
  margin:0 0 12px;
  font:400 17px/1.55 var(--almik-body);
}
.public-site-body .public-course-enroll-center{
  margin:22px 0 0;
}
.public-site-body .bank-details-card{
  padding:24px;
  border:1px solid var(--almik-border);
  border-radius:20px;
  background:var(--almik-paper-alt);
}
.public-site-body .bank-details-card h2{
  font:700 28px/1.08 var(--almik-display);
}
.public-site-body .bank-details-card span{
  font-family:var(--almik-ui);
}

/* DESCARGAS */
.public-site-body .downloads-page{
  background:var(--almik-paper);
  color:var(--almik-copy);
}
.public-site-body .downloads-intro{
  padding:42px 0 34px;
  background:var(--almik-paper);
}
.public-site-body .downloads-intro-inner{
  width:min(1160px,calc(100% - 40px));
}
.public-site-body .downloads-intro-inner:before{
  content:"RECURSOS GRATIS";
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--almik-warm);
  font:700 12px/1.2 var(--almik-body);
  letter-spacing:.08em;
}
.public-site-body .downloads-intro h1{
  margin:10px 0 14px;
  text-align:left;
  font:700 clamp(42px,5vw,58px)/1.04 var(--almik-display);
  letter-spacing:-.025em;
  color:var(--almik-ink);
}
.public-site-body .downloads-intro h2{
  max-width:850px;
  margin:0 0 14px;
  font:700 clamp(27px,3vw,38px)/1.1 var(--almik-display);
  letter-spacing:-.02em;
  color:var(--almik-ink);
}
.public-site-body .downloads-intro p{
  max-width:980px;
  margin:0 0 9px;
  font:400 17px/1.55 var(--almik-body);
  color:var(--almik-copy);
}
.public-site-body .downloads-library{
  min-height:0;
  padding:38px 0 48px;
  background:var(--almik-paper-alt);
}
.public-site-body .downloads-grid{
  width:min(1160px,calc(100% - 40px));
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:26px;
}
.public-site-body .download-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  min-width:0;
  text-align:center;
}
.public-site-body .download-card-featured{
  grid-column:auto;
  width:auto;
  justify-self:stretch;
}
.public-site-body .download-cover-shell{
  position:relative;
  width:100%;
  max-width:300px;
  aspect-ratio:.71;
  margin:0 auto;
  overflow:hidden;
  border:4px solid #fff;
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 28px rgba(20,38,53,.12);
}
.public-site-body .download-cover-shell .download-cover{
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  object-fit:cover !important;
}
.public-site-body .download-cover-document{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:24px;
  background:var(--almik-ink) !important;
  color:#fff !important;
  text-align:center;
}
.public-site-body .download-cover-document span{
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  border-radius:14px;
  background:rgba(255,255,255,.12);
  font:800 13px/1 var(--almik-ui);
}
.public-site-body .download-cover-document strong{
  max-width:210px;
  font:700 15px/1.35 var(--almik-display);
}
.public-site-body .download-cover-overlay{
  position:absolute;
  inset:0;
  z-index:3;
}
.public-site-body .download-title{
  margin:16px auto 0;
  font:700 20px/1.18 var(--almik-display);
  color:var(--almik-ink);
}
.public-site-body .download-action{
  margin:12px auto 0;
  border-radius:2px;
  background:transparent;
}
.public-site-body .download-action.is-disabled{
  border-color:transparent;
  background:#ddd8d0;
  color:#6d6a65 !important;
  cursor:not-allowed;
}

/* CLASES ABIERTAS */
.public-site-body .oc-page,
.public-site-body .open-classes-page{
  background:var(--almik-paper);
}
.public-site-body .oc-intro,
.public-site-body .open-classes-intro{
  padding:42px 0 34px;
  background:var(--almik-paper);
}
.public-site-body .oc-intro-inner,
.public-site-body .open-classes-intro-inner{
  width:min(1160px,calc(100% - 40px));
  margin:0 auto;
}
.public-site-body .oc-intro-inner:before,
.public-site-body .open-classes-intro-inner:before{
  content:"RECURSOS GRATIS";
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--almik-warm);
  font:700 12px/1.2 var(--almik-body);
  letter-spacing:.08em;
}
.public-site-body .oc-intro h1,
.public-site-body .open-classes-intro h1{
  margin:10px 0 14px;
  text-align:left;
  font:700 clamp(42px,5vw,58px)/1.04 var(--almik-display);
  color:var(--almik-ink);
}
.public-site-body .oc-copy h2,
.public-site-body .open-classes-copy h2{
  max-width:850px;
  margin:0 0 14px;
  font:700 clamp(27px,3vw,38px)/1.1 var(--almik-display);
  color:var(--almik-ink);
}
.public-site-body .oc-copy p,
.public-site-body .open-classes-copy p{
  max-width:980px;
  margin:0 0 9px;
  font:400 17px/1.55 var(--almik-body);
  color:var(--almik-copy);
}
.public-site-body .oc-library,
.public-site-body .open-classes-library{
  padding:38px 0 48px;
  background:var(--almik-paper-alt);
}
.public-site-body .oc-grid,
.public-site-body .open-classes-grid{
  width:min(1160px,calc(100% - 40px));
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:26px;
}
.public-site-body .oc-card,
.public-site-body .open-class-card{
  min-width:0;
  text-align:left;
}
.public-site-body .oc-cover-link,
.public-site-body .open-class-cover-link{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  border:4px solid #fff;
  border-radius:20px;
  background:var(--almik-ink);
  box-shadow:0 12px 28px rgba(20,38,53,.12);
}
.public-site-body .oc-cover,
.public-site-body .open-class-cover{
  width:100%;
  height:100%;
  object-fit:cover;
}
.public-site-body .oc-video-thumb-link,
.public-site-body .open-class-video-thumb-link{
  position:relative;
}
.public-site-body .oc-video-thumb,
.public-site-body .open-class-video-thumb{
  pointer-events:none;
}
.public-site-body .oc-play,
.public-site-body .open-class-thumb-play{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(30,42,56,.82);
  color:#fff;
  font:700 14px/1 var(--almik-ui);
}
.public-site-body .oc-missing,
.public-site-body .open-class-cover-missing{
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--almik-cream);
  font:700 14px/1.3 var(--almik-ui);
}
.public-site-body .oc-title,
.public-site-body .open-class-title{
  display:block;
  max-width:none;
  margin:14px 0 0;
  color:var(--almik-ink);
  font:700 21px/1.18 var(--almik-display);
}

/* REPRODUCTOR DE CLASE ABIERTA */
.public-site-body .open-class-player-page{
  min-height:65vh;
  padding:40px 20px 48px;
  background:var(--almik-paper);
}
.public-site-body .open-class-player-shell{
  width:min(100%,980px);
  margin:0 auto;
}
.public-site-body .open-class-player-shell h1{
  margin:0 0 20px;
  font:700 clamp(36px,4vw,50px)/1.06 var(--almik-display);
  color:var(--almik-ink);
}
.public-site-body .open-class-player-frame{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  border:5px solid #fff;
  border-radius:22px;
  background:#111;
  box-shadow:var(--almik-shadow);
}
.public-site-body .open-class-player-frame iframe,
.public-site-body .open-class-player-frame video{
  display:block;
  width:100%;
  height:100%;
  border:0;
  background:#000;
}
.public-site-body .open-class-video-fallback{
  position:relative;
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
  gap:18px;
  align-items:center;
  justify-content:center;
  padding:30px;
  overflow:hidden;
  background:var(--almik-ink);
  color:#fff;
  text-align:center;
}
.public-site-body .open-class-video-fallback img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.22;
}
.public-site-body .open-class-video-fallback p,
.public-site-body .open-class-video-fallback a{
  position:relative;
  z-index:1;
}
.public-site-body .open-class-migration-note{
  display:none;
}

/* CATÁLOGO / CURSOS LEGACY */
.public-site-body .inner-hero{
  padding:40px 0 20px;
}
.public-site-body .inner-hero h1{
  font:700 clamp(42px,5vw,58px)/1.04 var(--almik-display);
  color:var(--almik-ink);
}
.public-site-body .catalog-list,
.public-site-body .course-grid{
  gap:24px;
  padding-bottom:48px;
}
.public-site-body .catalog-card,
.public-site-body .course-card{
  overflow:hidden;
  padding:18px;
  border:1px solid var(--almik-border);
  border-radius:20px;
  background:#fff;
}
.public-site-body .catalog-card h3,
.public-site-body .course-card h3,
.public-site-body .course-body h3{
  font:700 22px/1.15 var(--almik-display);
  color:var(--almik-ink);
  text-transform:none;
}
.public-site-body .catalog-card p,
.public-site-body .course-body p{
  font:400 15.5px/1.5 var(--almik-body);
}
.public-site-body .catalog-thumb{
  border-radius:16px;
}

/* Página específica Tarot / detalle clásico */
.public-site-body .course-detail-hero{
  padding:40px 0 48px;
  background:var(--almik-paper);
}
.public-site-body .course-detail-grid{
  width:min(1160px,calc(100% - 40px));
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,380px);
  gap:42px;
}
.public-site-body .course-detail-hero h1{
  margin:8px 0 12px;
  font:700 clamp(40px,4.6vw,56px)/1.04 var(--almik-display);
}
.public-site-body .course-detail-hero h3{
  margin:16px 0 8px;
  font:700 25px/1.12 var(--almik-display);
}
.public-site-body .course-detail-hero p,
.public-site-body .course-detail-hero li{
  font:400 16.5px/1.52 var(--almik-body);
}
.public-site-body .course-detail-hero .info-card{
  padding:24px;
  border:1px solid var(--almik-border);
  border-radius:20px;
  background:var(--almik-paper-alt);
}

/* Contratación */
.public-site-body .course-contract-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(310px,410px);
  gap:42px;
  align-items:start;
}
.public-site-body .course-contract-grid>div>p{
  max-width:760px;
}

/* 404 pública */
.public-site-body main.page-shell.lms-shell{
  padding:40px 0 48px;
  background:var(--almik-paper);
  font-family:var(--almik-body);
}
.public-site-body main.page-shell.lms-shell .lms-panel{
  padding:28px;
  border:1px solid var(--almik-border);
  border-radius:20px;
  box-shadow:none;
}
.public-site-body main.page-shell.lms-shell .lms-panel h1{
  font:700 clamp(36px,4vw,48px)/1.05 var(--almik-display);
}
.public-site-body main.page-shell.lms-shell .lms-panel p{
  font-family:var(--almik-body);
}

/* Footer coherente: mismo navy, tipografía más editorial. */
.public-site-body .site-footer{
  background:var(--almik-ink);
}
.public-site-body .footer-social h2,
.public-site-body .footer-links h2,
.public-site-body .footer-contact h2{
  font-family:var(--almik-display);
  letter-spacing:-.01em;
}

/* AUTH STANDALONE — logo apaisado + fondo basado en la identidad visual. */
.auth-standalone-body{
  position:relative;
  min-height:100dvh;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 12% 18%,rgba(230,223,213,.34),transparent 31%),
    radial-gradient(circle at 86% 16%,rgba(124,143,132,.52),transparent 34%),
    radial-gradient(circle at 78% 86%,rgba(30,42,56,.27),transparent 34%),
    linear-gradient(135deg,#1e2a38 0%,#334553 24%,#7c8f84 55%,#e6dfd5 100%);
  background-attachment:fixed;
}
.auth-standalone-body:before,
.auth-standalone-body:after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
}
.auth-standalone-body:before{
  z-index:0;
  /* V10.7.19: se elimina el patrón decorativo porque no coincide con
     los elementos gráficos oficiales de la identidad visual. */
  background:none;
  opacity:0;
}
.auth-standalone-body:after{
  z-index:0;
  background:
    linear-gradient(105deg,rgba(30,42,56,.62) 0 42%,rgba(255,255,255,.06) 42% 100%),
    radial-gradient(circle at 50% 0,rgba(255,255,255,.20),transparent 42%);
}
.auth-standalone-shell{
  position:relative;
  z-index:1;
  width:100%;
  min-height:100dvh;
  padding:24px 0 34px;
}
.auth-standalone-brand{
  width:min(300px,calc(100% - 48px));
  height:auto;
  min-height:86px;
  margin:0 auto 16px;
  padding:16px 28px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.46);
  border-radius:22px;
  background:rgba(255,255,255,.84);
  box-shadow:0 14px 34px rgba(14,31,46,.18);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.auth-standalone-brand img{
  width:100%;
  height:auto;
  max-height:74px;
  object-fit:contain;
  background:transparent;
}
.auth-standalone-body .login-page,
.auth-standalone-body .register-page{
  min-height:100dvh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px 0;
  background:transparent;
}
.auth-standalone-body .login-layout,
.auth-standalone-body .register-layout{
  align-items:center;
  align-content:center;
  margin:auto;
}
.auth-standalone-body .login-intro,
.auth-standalone-body .register-intro{
  padding:26px 28px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:24px;
  background:rgba(30,42,56,.72);
  box-shadow:0 14px 38px rgba(14,31,46,.15);
  color:#fff;
  backdrop-filter:blur(11px);
  -webkit-backdrop-filter:blur(11px);
}
.auth-standalone-body .login-intro h1,
.auth-standalone-body .register-intro h1{
  margin:0 0 12px;
  color:#fff;
  font:700 clamp(36px,4vw,48px)/1.04 var(--almik-display);
  letter-spacing:-.02em;
}
.auth-standalone-body .login-intro p,
.auth-standalone-body .register-intro p{
  margin:0 0 8px;
  color:rgba(255,255,255,.93);
  font:400 16px/1.5 var(--almik-body);
}
.auth-standalone-body .login-card-original,
.auth-standalone-body .register-card-original{
  border:1px solid rgba(255,255,255,.48);
  border-radius:24px;
  background:rgba(255,255,255,.96);
  box-shadow:0 18px 48px rgba(14,31,46,.24);
}
.auth-standalone-body .login-card-accent{
  height:8px;
  background:linear-gradient(90deg,#1e2a38 0%,#7c8f84 52%,#e6dfd5 100%);
}
.auth-standalone-body .login-card-body h2,
.auth-standalone-body .register-card-body h2{
  font-family:var(--almik-display);
  color:var(--almik-ink);
}
.auth-standalone-body .login-field-original label{
  font-family:var(--almik-ui);
}
.auth-standalone-body .login-field-original input{
  border-radius:10px;
  border-color:#c8d0cc;
}
.auth-standalone-body .login-submit-original{
  border-radius:10px;
  background:var(--almik-ink);
}
.auth-standalone-body .google-auth-button{
  border-radius:10px;
}

/* RESPONSIVE PÚBLICO */
@media(max-width:980px){
  .public-site-body .home-hero{
    grid-template-columns:1fr 380px;
    gap:32px;
  }
  .public-site-body .home-links,
  .public-site-body .formaciones-area-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .public-site-body .formation-area-hero-grid{
    grid-template-columns:1fr;
    gap:18px;
  }
  .public-site-body .downloads-grid,
  .public-site-body .oc-grid,
  .public-site-body .open-classes-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .public-site-body .course-detail-grid,
  .public-site-body .course-contract-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:820px){
  .public-site-body .site-header,
  .public-site-body .header-inner{
    height:82px;
  }
  .public-site-body .brand-logo{
    width:105px;
  }
  .public-site-body .home-hero{
    grid-template-columns:1fr;
  }
  .public-site-body .home-hero-image-wrap{
    width:min(560px,100%);
    margin:0 auto;
  }
  .public-site-body .formation-list-item{
    grid-template-columns:minmax(180px,260px) minmax(0,1fr);
    gap:24px;
  }
}

@media(max-width:680px){
  .public-site-body .original-container,
  .public-site-body .downloads-intro-inner,
  .public-site-body .downloads-grid,
  .public-site-body .oc-intro-inner,
  .public-site-body .oc-grid,
  .public-site-body .open-classes-intro-inner,
  .public-site-body .open-classes-grid,
  .public-site-body .course-detail-grid{
    width:min(100% - 28px,1160px);
  }
  .public-site-body .home-top,
  .public-site-body .formaciones-intro,
  .public-site-body .downloads-intro,
  .public-site-body .oc-intro,
  .public-site-body .open-classes-intro,
  .public-site-body .formation-area-hero,
  .public-site-body .open-class-player-page,
  .public-site-body .course-detail-hero{
    padding-top:30px;
    padding-bottom:28px;
  }
  .public-site-body .home-avales,
  .public-site-body .home-events-slider-section,
  .public-site-body .home-reviews,
  .public-site-body .formaciones-areas,
  .public-site-body .downloads-library,
  .public-site-body .oc-library,
  .public-site-body .open-classes-library,
  .public-site-body .formation-area-courses{
    padding-top:30px;
    padding-bottom:34px;
  }

  /* Pedido previo: en celular, títulos y textos públicos centrados. */
  .public-site-body .home-copy,
  .public-site-body .home-copy h1,
  .public-site-body .home-copy h2,
  .public-site-body .home-copy p,
  .public-site-body .home-cta-row,
  .public-site-body .home-avales h2,
  .public-site-body .home-events-title,
  .public-site-body .formaciones-intro,
  .public-site-body .formaciones-intro h1,
  .public-site-body .formaciones-intro h2,
  .public-site-body .formaciones-intro p,
  .public-site-body .formaciones-areas h2,
  .public-site-body .formation-area-title-block,
  .public-site-body .formation-area-description,
  .public-site-body .formation-area-description p,
  .public-site-body .formation-list-content,
  .public-site-body .formation-list-content h2,
  .public-site-body .formation-list-content p,
  .public-site-body .public-course-main,
  .public-site-body .public-course-main h1,
  .public-site-body .public-course-main p,
  .public-site-body .downloads-intro-inner,
  .public-site-body .downloads-intro h1,
  .public-site-body .downloads-intro h2,
  .public-site-body .downloads-intro p,
  .public-site-body .oc-intro-inner,
  .public-site-body .oc-copy,
  .public-site-body .oc-copy h2,
  .public-site-body .oc-copy p,
  .public-site-body .open-classes-intro-inner,
  .public-site-body .open-classes-copy,
  .public-site-body .open-classes-copy h2,
  .public-site-body .open-classes-copy p,
  .public-site-body .open-class-player-shell,
  .public-site-body .open-class-player-shell h1,
  .public-site-body .course-detail-hero,
  .public-site-body .course-detail-hero h1,
  .public-site-body .course-detail-hero h3,
  .public-site-body .course-detail-hero p,
  .public-site-body .course-contract-grid>div,
  .public-site-body .inner-hero{
    text-align:center !important;
  }
  .public-site-body .home-copy:before,
  .public-site-body .formaciones-intro:before,
  .public-site-body .downloads-intro-inner:before,
  .public-site-body .oc-intro-inner:before,
  .public-site-body .open-classes-intro-inner:before,
  .public-site-body .formation-area-eyebrow,
  .public-site-body .course-detail-hero .eyebrow{
    justify-content:center;
  }
  .public-site-body .home-cta-row,
  .public-site-body .public-course-enroll-center{
    display:flex;
    justify-content:center;
  }
  .public-site-body .home-links,
  .public-site-body .formaciones-area-grid,
  .public-site-body .downloads-grid,
  .public-site-body .oc-grid,
  .public-site-body .open-classes-grid{
    grid-template-columns:1fr;
    gap:24px;
  }
  .public-site-body .home-link-card,
  .public-site-body .formaciones-area-card span,
  .public-site-body .oc-card,
  .public-site-body .open-class-card{
    text-align:center;
  }
  .public-site-body .home-link-card{
    max-width:430px;
    width:100%;
    margin:0 auto;
  }
  .public-site-body .formaciones-area-card,
  .public-site-body .oc-card,
  .public-site-body .open-class-card{
    max-width:430px;
    width:100%;
    margin:0 auto;
  }
  .public-site-body .download-card{
    max-width:330px;
    width:100%;
    margin:0 auto;
  }
  .public-site-body .formation-list-item{
    grid-template-columns:1fr;
    gap:18px;
    padding:16px;
    text-align:center;
  }
  .public-site-body .formation-list-image-wrap{
    width:min(100%,430px);
    margin:0 auto;
  }
  .public-site-body .formation-list-button{
    margin-left:auto;
    margin-right:auto;
  }
  .public-site-body .back-link,
  .public-site-body .open-class-back{
    display:block;
    width:max-content;
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
  }
  .public-site-body .course-detail-hero ul{
    padding-left:0;
    list-style-position:inside;
  }

  .auth-standalone-shell{
    padding:16px 0 24px;
  }
  .auth-standalone-brand{
    width:min(270px,calc(100% - 36px));
    min-height:76px;
    padding:13px 22px;
    margin-bottom:12px;
  }
  .auth-standalone-body .login-page,
  .auth-standalone-body .register-page{
    padding:8px 0 20px;
  }
  .auth-standalone-body .login-layout,
  .auth-standalone-body .register-layout{
    gap:18px;
  }
  .auth-standalone-body .login-intro,
  .auth-standalone-body .register-intro{
    padding:20px;
    text-align:center;
  }
  .auth-standalone-body .login-intro h1,
  .auth-standalone-body .register-intro h1{
    font-size:34px;
  }
  .auth-standalone-body .login-intro p,
  .auth-standalone-body .register-intro p{
    font-size:15px;
  }
}

@media(max-width:390px){
  .public-site-body .home-copy h1,
  .public-site-body .formaciones-intro h1,
  .public-site-body .downloads-intro h1,
  .public-site-body .oc-intro h1,
  .public-site-body .open-classes-intro h1{
    font-size:37px;
  }
  .public-site-body .home-copy h2,
  .public-site-body .formaciones-intro h2,
  .public-site-body .downloads-intro h2,
  .public-site-body .oc-copy h2,
  .public-site-body .open-classes-copy h2{
    font-size:26px;
  }
}

/* V10.7.14 · Cursos / clases históricas también usan el sistema de Sobre nosotros. */
.public-site-body .legacy-course-page,
.public-site-body .legacy-lesson-page{
  padding:40px 0 48px;
  background:var(--almik-paper);
  color:var(--almik-copy);
}
.public-site-body .legacy-course-hero{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
  gap:44px;
  align-items:center;
}
.public-site-body .legacy-course-copy h1,
.public-site-body .legacy-lesson-shell h1{
  margin:8px 0 14px;
  font:700 clamp(38px,4.5vw,54px)/1.05 var(--almik-display);
  color:var(--almik-ink);
}
.public-site-body .legacy-course-copy p,
.public-site-body .legacy-lesson-course,
.public-site-body .legacy-lesson-content{
  font:400 16.5px/1.55 var(--almik-body);
}
.public-site-body .legacy-course-cover img{
  width:100%;
  max-height:none;
  aspect-ratio:4/3;
  object-fit:cover;
  border:5px solid #fff;
  border-radius:24px;
  box-shadow:var(--almik-shadow);
}
.public-site-body .legacy-course-content{
  margin-top:34px;
  padding:28px;
  border:1px solid var(--almik-border);
  border-radius:22px;
  background:var(--almik-paper-alt);
}
.public-site-body .legacy-course-content>h2{
  margin:0 0 18px;
  font:700 clamp(28px,3vw,38px)/1.08 var(--almik-display);
}
.public-site-body .legacy-topic{
  padding:18px 0;
  border-top:1px solid var(--almik-border);
}
.public-site-body .legacy-topic h3{
  margin:0 0 8px;
  font:700 23px/1.12 var(--almik-display);
}
.public-site-body .legacy-topic p,
.public-site-body .legacy-topic li{
  font:400 15.5px/1.5 var(--almik-body);
}
.public-site-body .legacy-access-note{
  margin:0 0 18px;
  padding:14px 16px;
  border-radius:14px;
  background:#fff;
  border:1px solid var(--almik-border);
}
.public-site-body .legacy-lesson-shell{
  width:min(980px,calc(100% - 40px));
}
.public-site-body .legacy-lesson-course{
  margin:0 0 20px;
  color:#5c666f;
}
.public-site-body .legacy-lesson-player{
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  border:5px solid #fff;
  border-radius:22px;
  background:var(--almik-ink);
  box-shadow:var(--almik-shadow);
}
.public-site-body .legacy-lesson-player video,
.public-site-body .legacy-lesson-player iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
  background:#000;
}
.public-site-body .legacy-lesson-player-empty{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:30px;
  color:#fff;
  text-align:center;
}
.public-site-body .legacy-lesson-content{
  margin-top:22px;
  padding:22px;
  border:1px solid var(--almik-border);
  border-radius:18px;
  background:#fff;
}
@media(max-width:760px){
  .public-site-body .legacy-course-hero{grid-template-columns:1fr;gap:24px;text-align:center}
  .public-site-body .legacy-course-copy .eyebrow{justify-content:center}
  .public-site-body .legacy-course-content{text-align:center}
  .public-site-body .legacy-topic ol{padding-left:0;list-style-position:inside}
  .public-site-body .legacy-lesson-shell{text-align:center;width:min(100% - 28px,980px)}
  .public-site-body .legacy-lesson-shell .formation-area-eyebrow{justify-content:center}
}

/* =====================================================================
   V10.7.15 · MENÚ RESPONSIVE DEL AULA
   En mobile reemplaza la botonera horizontal por un único menú hamburguesa.
   Desktop conserva la navegación completa.
   ===================================================================== */
.student-mobile-menu{display:none;}

@media(max-width:680px){
  .student-center-nav-desktop{display:none!important;}

  .student-mobile-menu{
    display:block;
    position:relative;
    margin:0 0 22px;
    width:100%;
  }

  .student-mobile-menu summary{
    list-style:none;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    min-height:54px;
    padding:12px 16px 12px 18px;
    border:1px solid rgba(30,42,56,.14);
    border-radius:16px;
    background:#1e2a38;
    color:#fff;
    box-shadow:0 8px 22px rgba(30,42,56,.13);
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }
  .student-mobile-menu summary::-webkit-details-marker{display:none;}
  .student-mobile-menu summary::marker{display:none;content:"";}
  .student-mobile-menu-title{
    font-family:'Libre Franklin',Arial,sans-serif;
    font-size:15px;
    line-height:1;
    font-weight:800;
    letter-spacing:.01em;
  }
  .student-mobile-menu-icon{
    width:28px;
    height:28px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:4px;
    flex:0 0 auto;
  }
  .student-mobile-menu-icon i{
    display:block;
    width:24px;
    height:2px;
    margin-left:auto;
    border-radius:999px;
    background:#fff;
    transition:transform .18s ease,opacity .18s ease,width .18s ease;
  }
  .student-mobile-menu[open] .student-mobile-menu-icon i:nth-child(1){transform:translateY(6px) rotate(45deg);}
  .student-mobile-menu[open] .student-mobile-menu-icon i:nth-child(2){opacity:0;width:0;}
  .student-mobile-menu[open] .student-mobile-menu-icon i:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

  .student-mobile-menu-panel{
    display:grid;
    gap:6px;
    margin-top:8px;
    padding:10px;
    border:1px solid #ded9d1;
    border-radius:16px;
    background:rgba(255,255,255,.98);
    box-shadow:0 14px 30px rgba(30,42,56,.12);
  }
  .student-mobile-menu-panel a,
  .student-mobile-menu-panel .student-nav-logout button{
    width:100%;
    min-height:46px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:11px 13px;
    border:0;
    border-radius:11px;
    background:transparent;
    color:#425149;
    text-decoration:none;
    text-align:left;
    font-family:'Libre Franklin',Arial,sans-serif;
    font-size:14px;
    line-height:1.2;
    font-weight:750;
    cursor:pointer;
  }
  .student-mobile-menu-panel a:hover,
  .student-mobile-menu-panel a:focus-visible{
    background:#f1eee8;
    color:#1e2a38;
  }
  .student-mobile-menu-panel a.is-active{
    background:rgba(124,143,132,.17);
    color:#1e2a38;
    box-shadow:inset 3px 0 0 #7c8f84;
  }
  .student-mobile-menu-panel .student-nav-notifications span{
    min-width:24px;
    height:24px;
    display:grid;
    place-items:center;
    padding:0 6px;
    border-radius:999px;
    background:#1e2a38;
    color:#fff;
    font-size:11px;
  }
  .student-mobile-menu-panel .student-nav-logout{
    margin:4px 0 0;
    padding:8px 0 0;
    border-top:1px solid #e8e2da;
  }
  .student-mobile-menu-panel .student-nav-logout button{
    justify-content:center;
    background:#1e2a38;
    color:#fff;
    font-weight:800;
  }
  .student-mobile-menu-panel .student-nav-logout button:hover,
  .student-mobile-menu-panel .student-nav-logout button:focus-visible{
    background:#334457;
  }
}

/* =====================================================================
   V10.7.16 · CONTRASTE DE TÍTULOS DEL FOOTER
   El sistema visual global asigna color navy a todos los h2 públicos.
   En el footer navy ese color quedaba prácticamente invisible.
   Este bloque fuerza el contraste correcto y mantiene la estética editorial.
   ===================================================================== */
.public-site-body .site-footer .footer-links h2,
.public-site-body .site-footer .footer-contact h2{
  color:#fff !important;
  font-family:var(--almik-display) !important;
  font-size:28px;
  line-height:1.08;
  font-weight:700;
  letter-spacing:-.02em;
  text-shadow:none;
}
.public-site-body .site-footer .footer-social p,
.public-site-body .site-footer .footer-links > a,
.public-site-body .site-footer .footer-contact > a,
.public-site-body .site-footer .footer-credit,
.public-site-body .site-footer .footer-credit a{
  color:#fff !important;
}
@media(max-width:540px){
  .public-site-body .site-footer .footer-links h2,
  .public-site-body .site-footer .footer-contact h2{
    font-size:26px;
  }
}


/* =========================================================
   V10.7.17 · LOGO INTEGRADO AL BLOQUE DEL AULA / REGISTRO
   ========================================================= */
.auth-standalone-shell{
  padding-top:34px;
}
.auth-standalone-body .login-page,
.auth-standalone-body .register-page{
  padding-top:12px;
}
.auth-standalone-body .auth-intro-logo{
  display:flex;
  justify-content:center;
  align-items:center;
  width:min(330px,88%);
  margin:0 auto 22px;
  text-decoration:none;
}
.auth-standalone-body .auth-intro-logo img{
  display:block;
  width:100%;
  height:auto;
  max-height:118px;
  object-fit:contain;
  object-position:center;
  margin:0 auto;
  background:transparent;
}
.auth-standalone-body .login-intro,
.auth-standalone-body .register-intro{
  padding-top:30px;
}
.auth-standalone-body .login-intro h1,
.auth-standalone-body .register-intro h1{
  margin-top:0;
}
@media(max-width:680px){
  .auth-standalone-shell{
    padding-top:18px;
  }
  .auth-standalone-body .auth-intro-logo{
    width:min(270px,88%);
    margin:0 auto 18px;
  }
  .auth-standalone-body .auth-intro-logo img{
    max-height:98px;
    object-position:center;
  }
}


/* =========================================================
   V10.7.18 · CENTRADO DEL LAYOUT AUTH + LOGO CENTRADO
   Los dos recuadros del acceso/registro quedan centrados en pantalla
   y el logo apaisado queda centrado dentro del recuadro izquierdo.
   ========================================================= */
@media(min-width:681px){
  .auth-standalone-body .login-intro,
  .auth-standalone-body .register-intro{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:384px;
  }
}
@media(max-width:680px){
  .auth-standalone-body .login-page,
  .auth-standalone-body .register-page{
    min-height:auto;
    padding:14px 0 22px;
  }
}


/* =========================================================
   V10.7.19 · AUTH SIN PATRÓN NO OFICIAL
   Fondo limpio: sólo gradientes/transparencias de la paleta institucional.
   ========================================================= */
.auth-standalone-body:before{
  background-image:none !important;
  opacity:0 !important;
}
