*{box-sizing:border-box} :root{--uaz:#7b1e3a;--uaz2:#4a1024;--gold:#c6a15b;--ink:#1d2027;--muted:#6d7380;--bg:#f4f1ee;--card:#fff;--ok:#166534;--bad:#991b1b}
body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--ink)}
a{color:inherit;text-decoration:none}.container{max-width:1180px;margin:auto;padding:28px 18px 60px}
.topbar{background:linear-gradient(115deg,var(--uaz2),var(--uaz));color:white;display:flex;justify-content:space-between;align-items:center;padding:14px max(18px,calc((100vw - 1180px)/2));position:sticky;top:0;z-index:10;box-shadow:0 8px 24px #0002}
.brand{display:flex;align-items:center;gap:12px}.brand strong{font-size:22px;display:block}.brand small{opacity:.8}.crest{width:48px;height:48px;border:2px solid var(--gold);border-radius:50%;display:grid;place-items:center;font-weight:800;color:var(--gold)}
nav{display:flex;gap:16px;align-items:center}.btn-sm,.btn{background:var(--gold);color:#23180b;padding:10px 15px;border-radius:12px;font-weight:800;border:0;cursor:pointer}.btn.secondary{background:#ede7df}.btn.danger{background:#fee2e2;color:var(--bad)}.btn.dark{background:var(--uaz);color:white}
.hero{background:linear-gradient(135deg,#3c0d1e,#7b1e3a 62%,#9d6f35);color:white;border-radius:28px;padding:48px;margin:16px 0 30px;box-shadow:0 22px 55px #4a102433}.hero h1{font-size:clamp(36px,6vw,72px);margin:0 0 10px}.hero p{max-width:760px;font-size:18px;line-height:1.6;opacity:.9}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid.two{grid-template-columns:repeat(2,1fr)}.card{background:var(--card);border-radius:20px;padding:22px;box-shadow:0 10px 30px #28211a10;border:1px solid #ece7e1}.card h2,.card h3{margin-top:0}.muted{color:var(--muted)}.kpi{font-size:36px;font-weight:850}.pill{display:inline-flex;padding:7px 10px;border-radius:999px;background:#f0e8e2;color:var(--uaz);font-weight:750;font-size:13px}.stack{display:grid;gap:14px}
form{display:grid;gap:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{font-weight:700;font-size:14px}input,select,textarea{width:100%;margin-top:6px;padding:12px;border:1px solid #d7d1cb;border-radius:12px;background:white;font:inherit}textarea{min-height:110px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;background:white}th,td{text-align:left;padding:12px;border-bottom:1px solid #eee8e2}th{font-size:13px;color:#68605a;text-transform:uppercase;letter-spacing:.04em}.flash{max-width:1180px;margin:16px auto 0;padding:14px 18px;border-radius:12px}.flash.success{background:#dcfce7;color:#14532d}.flash.error{background:#fee2e2;color:#7f1d1d}
.footer{text-align:center;padding:30px;color:#79706a}.badge-orb{width:94px;height:94px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 32% 25%,#fff8,#fff0 25%),linear-gradient(145deg,#c6a15b,#7b1e3a);color:white;border:5px solid #f4e3b7;box-shadow:0 14px 30px #0002;font-size:18px;font-weight:900}.progress{height:11px;background:#ece6df;border-radius:999px;overflow:hidden}.progress>span{height:100%;display:block;background:linear-gradient(90deg,var(--uaz),var(--gold))}
.credential{width:860px;max-width:100%;aspect-ratio:1.58/1;border-radius:28px;position:relative;overflow:hidden;background:linear-gradient(135deg,#2e0a17,#721d39 60%,#9f793d);color:#fff;box-shadow:0 25px 60px #0003;padding:32px}.credential:before{content:"";position:absolute;width:420px;height:420px;border:1px solid #ffffff22;border-radius:50%;right:-120px;top:-120px;box-shadow:0 0 0 42px #ffffff08,0 0 0 84px #ffffff07}.credential-head{display:flex;align-items:center;justify-content:space-between;position:relative}.credential .uaz-mark{font-size:28px;font-weight:900;letter-spacing:.06em;color:#f4d798}.credential-body{display:grid;grid-template-columns:170px 1fr 155px;gap:26px;align-items:center;position:relative;margin-top:30px}.photo{width:165px;height:205px;object-fit:cover;border-radius:20px;border:4px solid #f0d391;background:#eee}.photo-placeholder{width:165px;height:205px;border-radius:20px;border:4px solid #f0d391;display:grid;place-items:center;background:#ffffff15;font-size:52px}.credential h2{font-size:28px;margin:0 0 8px}.credential .club{color:#f3d69d;font-weight:800;font-size:18px}.credential .meta{line-height:1.8;color:#f6ecef}.qrbox{background:white;padding:10px;border-radius:18px;width:145px;height:145px;display:grid;place-items:center}.credential-foot{position:absolute;left:32px;right:32px;bottom:24px;display:flex;justify-content:space-between;color:#f7e7c4;font-size:13px}
.doc{max-width:850px;margin:0 auto;background:white;padding:70px;min-height:1050px;box-shadow:0 10px 40px #0001}.doc-header{text-align:center;border-bottom:3px solid var(--uaz);padding-bottom:20px}.doc-body{font-family:Georgia,serif;font-size:19px;line-height:1.8;text-align:justify;margin-top:70px}.doc-sign{margin-top:110px;text-align:center}.actions{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:800px){nav a:not(.btn-sm){display:none}.grid,.grid.two,.form-grid{grid-template-columns:1fr}.credential{aspect-ratio:auto;min-height:620px}.credential-body{grid-template-columns:1fr;text-align:center}.photo,.photo-placeholder{margin:auto}.qrbox{margin:auto}.credential-foot{position:static;margin-top:24px;display:grid;gap:6px;text-align:center}.doc{padding:35px 24px}}
@media print{.topbar,.footer,.actions,.flash{display:none!important}body{background:white}.container{padding:0;max-width:none}.doc{box-shadow:none;margin:0;min-height:auto}.credential{box-shadow:none;margin:30px auto;-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* ExtenAPP 2.0 */
.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:26px 0 14px}.space-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.space-card{background:#fff;border:1px solid #ece7e1;border-radius:18px;padding:18px;position:relative}.space-card .dot{width:10px;height:10px;border-radius:50%;display:inline-block;background:#16a34a;margin-right:6px}.agenda{display:grid;grid-template-columns:140px repeat(7,minmax(150px,1fr));min-width:1150px;border:1px solid #e7e0d8;border-radius:16px;overflow:hidden;background:white}.agenda>div{border-right:1px solid #eee7df;border-bottom:1px solid #eee7df;min-height:72px;padding:8px}.agenda .head{background:#f8f4ef;font-weight:800;min-height:auto}.agenda .resource{font-weight:800;background:#fbf8f5}.booking{background:#f3e8ec;border-left:4px solid var(--uaz);border-radius:10px;padding:8px;margin-bottom:6px;font-size:12px}.booking strong{display:block}.member-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.member-card{background:white;border-radius:18px;padding:16px;text-align:center;border:1px solid #ece7e1;box-shadow:0 8px 24px #0000000c}.member-photo{width:105px;height:105px;border-radius:50%;object-fit:cover;border:4px solid #e7d4a6;background:#eee}.member-photo.placeholder{display:grid;place-items:center;margin:auto;font-weight:900;color:var(--uaz);font-size:28px}.qr-session{display:grid;grid-template-columns:1fr 220px;gap:24px;align-items:center}.qr-panel{background:#fff;padding:18px;border-radius:20px;text-align:center}.letterhead-bg{background-repeat:no-repeat;background-position:top center;background-size:100% auto}.signature-img{max-height:90px;max-width:220px;object-fit:contain}.status-free{color:#166534;font-weight:800}.status-busy{color:#991b1b;font-weight:800}.mini{font-size:12px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.tabs a{padding:9px 13px;border-radius:999px;background:white;border:1px solid #e4ddd5}.tabs a.active{background:var(--uaz);color:white}.checkbox-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.checkbox-item{display:flex;gap:8px;align-items:center;background:#faf7f3;padding:10px;border-radius:10px}.checkbox-item input{width:auto;margin:0}@media(max-width:900px){.space-grid,.member-grid{grid-template-columns:repeat(2,1fr)}.qr-session{grid-template-columns:1fr}.checkbox-list{grid-template-columns:1fr}}@media(max-width:560px){.space-grid,.member-grid{grid-template-columns:1fr}}

/* ExtenAPP 2.1 · Agenda visual estilo cartelera/salas */
.cinema-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:12px 0 22px}.cinema-toolbar h1{font-size:38px;margin:4px 0}.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:900;color:var(--uaz)}
.date-strip{position:relative;background:linear-gradient(115deg,#32101c,#741c39);color:white;border-radius:24px;padding:18px 24px;display:flex;align-items:center;justify-content:center;gap:28px;box-shadow:0 18px 44px #4a10242a;margin-bottom:16px}.date-main{text-align:center;display:grid;line-height:1}.date-main span{font-size:12px;letter-spacing:.17em;color:#efdba9;font-weight:900}.date-main strong{font-size:52px;line-height:1;margin:4px 0}.date-main small{font-size:12px;letter-spacing:.12em}.date-arrow{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#ffffff16;border:1px solid #ffffff2f;color:white;font-size:32px;font-weight:300}.date-arrow:hover{background:#ffffff28}.date-arrow.small{width:38px;height:38px;font-size:26px}.today-chip{position:absolute;right:20px;top:18px;background:var(--gold);color:#25180d;border-radius:999px;padding:8px 13px;font-weight:900;font-size:12px}
.legend-bar{display:flex;gap:18px;flex-wrap:wrap;padding:10px 2px 20px;font-size:12px;font-weight:750;color:#625d59}.legend-bar span{display:flex;align-items:center;gap:7px}.legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.legend-dot.free{background:#22a06b}.legend-dot.busy{background:#c43f50}.legend-dot.fixed{background:#7b1e3a}.legend-dot.event{background:#c6a15b}
.cinema-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.cinema-room{background:linear-gradient(180deg,#fff,#fcfaf7);border-radius:24px;border:1px solid #e8e0d7;box-shadow:0 14px 34px #30251d12;padding:22px;overflow:hidden;position:relative}.cinema-room:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--uaz),var(--gold))}.room-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.room-number{font-size:11px;letter-spacing:.18em;font-weight:950;color:#817871}.room-status{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:950;letter-spacing:.04em;border-radius:999px;padding:7px 10px}.room-status span{width:8px;height:8px;border-radius:50%;display:inline-block}.room-status.free{background:#e8f7ef;color:#12633f}.room-status.free span{background:#22a06b;box-shadow:0 0 0 4px #22a06b18}.room-status.busy{background:#fae9ec;color:#8f2435}.room-status.busy span{background:#c43f50;box-shadow:0 0 0 4px #c43f5018}.cinema-room h2{font-size:25px;margin:13px 0 6px}.room-meta{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:#766f69;margin-bottom:23px}.timeline-labels{display:flex;justify-content:space-between;font-size:9px;color:#8a817a;margin:0 1px 5px}.room-timeline{height:38px;position:relative;margin-bottom:20px}.timeline-base{position:absolute;left:0;right:0;top:10px;height:18px;border-radius:999px;background:repeating-linear-gradient(90deg,#eee8e2 0,#eee8e2 calc(6.666% - 1px),#ddd6ce calc(6.666% - 1px),#ddd6ce 6.666%);box-shadow:inset 0 1px 2px #0000000b}.timeline-booking{position:absolute;top:10px;height:18px;border-radius:999px;z-index:2;min-width:5px}.timeline-booking.fixed{background:linear-gradient(90deg,#63172f,#8e2c4c)}.timeline-booking.event{background:linear-gradient(90deg,#b88c43,#d6b56f)}.now-marker{position:absolute;top:3px;height:32px;width:1px;background:#151515;z-index:4}.now-marker b{position:absolute;top:-1px;left:-4px;width:9px;height:9px;background:#151515;border-radius:50%}.now-marker small{position:absolute;top:31px;left:-16px;background:#151515;color:white;font-size:8px;padding:2px 5px;border-radius:5px;white-space:nowrap}.showtimes{display:grid;gap:8px;min-height:76px}.showtime{display:grid;grid-template-columns:72px 1fr;align-items:center;gap:10px;padding:10px 12px;border-radius:13px;background:#f8f5f1;border:1px solid #ebe4dc}.showtime.fixed{border-left:5px solid var(--uaz)}.showtime.event{border-left:5px solid var(--gold)}.showtime-hour{font-size:16px;font-weight:950;color:var(--uaz)}.showtime-hour small{display:block;font-size:10px;color:#817972;font-weight:700}.showtime strong{display:block;font-size:13px}.showtime span{font-size:10px;color:#807872}.empty-room{min-height:76px;border:1px dashed #c9c0b7;border-radius:13px;display:grid;place-items:center;text-align:center;padding:12px;color:#377458;background:#f8fdf9}.empty-room strong{display:block}.empty-room span{font-size:11px}.room-actions{margin-top:16px;padding-top:14px;border-top:1px solid #eee8e2;display:flex;justify-content:flex-end}
.week-nav{background:#3a111f;color:white;border-radius:18px;padding:13px 18px;display:flex;justify-content:center;align-items:center;gap:22px;margin-bottom:14px}.week-nav>div{text-align:center;display:grid;gap:2px}.week-nav span{font-size:11px;color:#e4cfa0}.agenda-cinema{grid-template-columns:170px repeat(7,minmax(155px,1fr));border-radius:20px;box-shadow:0 12px 30px #0000000b}.agenda-cinema .head{background:#4a1024;color:white;text-align:center;border-color:#6b2d41}.agenda-cinema .head span{display:block;color:#d9ba79;font-size:10px;margin-top:3px}.agenda-cinema .resource{background:#faf6f1;display:flex;flex-direction:column;justify-content:center}.agenda-cinema .resource span{font-size:10px;color:#7d756f;margin-top:4px}.week-cell{padding:7px!important;min-height:110px!important;background:#fff}.week-booking{border-radius:10px;padding:8px;margin-bottom:6px;display:grid;gap:2px}.week-booking.fixed{background:#f2e4e9;border-left:4px solid var(--uaz)}.week-booking.event{background:#f7efdd;border-left:4px solid var(--gold)}.week-booking span{font-size:9px;font-weight:900}.week-booking strong{font-size:10px}.week-free{min-height:90px;border:1px dashed #bfcfc5;background:#f8fcf9;border-radius:11px;display:grid;place-items:center;align-content:center;color:#29724b;font-size:10px;gap:2px}.week-free b{font-size:22px;line-height:1}
@media(max-width:900px){.cinema-toolbar{align-items:flex-start;flex-direction:column}.cinema-grid{grid-template-columns:1fr}.date-strip{padding-left:12px;padding-right:12px}.today-chip{position:static}.room-meta{gap:9px}.cinema-room{padding:18px}}

/* ExtenAPP 2.2 · reservaciones recurrentes por periodo */
.reservation-mode-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 24px}.reservation-mode{background:#fff;border:1px solid #e4ddd6;border-radius:18px;padding:18px 20px;display:flex;flex-direction:column;gap:5px;box-shadow:0 8px 24px #28211a0c;transition:.18s ease}.reservation-mode:hover{transform:translateY(-2px);border-color:#c6a15b}.reservation-mode.active{background:linear-gradient(135deg,#4a1024,#7b1e3a);color:#fff;border-color:#7b1e3a;box-shadow:0 14px 34px #4a10242e}.reservation-mode strong{font-size:17px}.reservation-mode span{font-size:13px;opacity:.75}.recurring-card{border-top:4px solid var(--gold)}
.weekday-picker{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:8px}.weekday-picker label{margin:0;cursor:pointer}.weekday-picker input{position:absolute;opacity:0;pointer-events:none}.weekday-picker span{display:grid;place-items:center;min-height:46px;border:1px solid #d9d1ca;border-radius:12px;background:#fff;font-weight:800;color:#5d5550;transition:.15s ease}.weekday-picker input:checked+span{background:var(--uaz);color:#fff;border-color:var(--uaz);box-shadow:0 7px 18px #7b1e3a33}.weekday-picker span:hover{border-color:var(--gold)}
@media(max-width:700px){.reservation-mode-tabs{grid-template-columns:1fr}.weekday-picker{grid-template-columns:repeat(4,1fr)}}

/* PATCH 2.3 · CRUD + catálogo público */
.space-inactive{opacity:.58;filter:grayscale(.35)}
.btn.whatsapp{background:#1f8f55;color:#fff}.btn.whatsapp:hover{filter:brightness(.94)}
.public-schedule-list{display:grid;gap:10px}.public-schedule{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#faf7f3;border:1px solid #ece4dc;border-radius:14px;padding:14px 16px}.public-schedule strong{color:var(--uaz)}.public-schedule span{font-weight:900;font-size:18px}
.public-catalog-hero{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center;gap:28px;background:linear-gradient(125deg,#3b0c1c,#741d39 62%,#a77e3f);color:#fff;border-radius:30px;padding:42px 46px;margin:15px 0 22px;box-shadow:0 22px 50px #4a10242b}.public-catalog-hero:after{content:"";position:absolute;width:350px;height:350px;border:1px solid #fff2;border-radius:50%;right:-100px;top:-145px;box-shadow:0 0 0 45px #ffffff08,0 0 0 90px #ffffff06}.public-catalog-hero h1{font-size:clamp(38px,6vw,64px);margin:6px 0 10px}.public-catalog-hero p{max-width:720px;line-height:1.6;color:#f3e9ed;font-size:17px}.public-catalog-hero .eyebrow{color:#e7c77e}.catalog-emblem{position:relative;z-index:2;flex:0 0 118px;width:118px;height:118px;border-radius:50%;display:grid;place-items:center;border:2px solid #e4c478;color:#e4c478;font-size:28px;font-weight:950;letter-spacing:.08em;background:#ffffff09}
.catalog-filters{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 22px}.catalog-filters a{background:#fff;border:1px solid #e2dad1;padding:10px 16px;border-radius:999px;font-weight:800;color:#625951}.catalog-filters a.active{background:var(--uaz);border-color:var(--uaz);color:white;box-shadow:0 7px 18px #7b1e3a24}
.public-club-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.public-club-card{background:#fff;border:1px solid #ece4dc;border-radius:24px;overflow:hidden;box-shadow:0 13px 36px #372b2310;display:flex;flex-direction:column;min-height:360px;transition:transform .16s ease,box-shadow .16s ease}.public-club-card:hover{transform:translateY(-4px);box-shadow:0 20px 44px #372b231b}.club-card-top{min-height:108px;padding:18px 20px;display:flex;justify-content:space-between;align-items:flex-start;background:linear-gradient(135deg,#f8f1f3,#fbf8f3)}.club-icon{width:70px;height:70px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(145deg,var(--uaz2),var(--uaz));color:#f1d492;font-size:34px;font-weight:900;box-shadow:0 10px 24px #4a10242b}.public-type{font-size:9px;letter-spacing:.13em;font-weight:950;color:#7b1e3a;background:#fff;padding:7px 9px;border-radius:999px;border:1px solid #eadfe2}.club-card-body{padding:20px;flex:1}.club-category{font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:#a17c3f}.public-club-card h2{font-size:25px;line-height:1.08;margin:7px 0 11px}.public-club-card p{color:#6f6761;line-height:1.55;font-size:14px}.schedule-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px}.schedule-chips span{font-size:10px;font-weight:850;padding:7px 9px;background:#f6f1ec;border-radius:999px;color:#5e5550;border:1px solid #ebe2da}.club-card-footer{padding:0 20px 20px}.club-link{display:flex;justify-content:space-between;align-items:center;padding:13px 15px;border-radius:14px;background:#4a1024;color:#fff;font-weight:850}.club-link b{font-size:21px;color:#e5c676}
@media(max-width:950px){.public-club-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.public-catalog-hero{padding:30px 24px}.catalog-emblem{display:none}.public-club-grid{grid-template-columns:1fr}.public-schedule span{font-size:15px}}


/* PATCH 2.4 · Selector de iconos + vitrina pública premium */
.icon-admin-block{margin:4px 0 6px;padding:16px;border:1px solid #e6ddd5;border-radius:18px;background:#fbf8f5}
.icon-admin-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:13px}.icon-admin-heading strong{display:block;font-size:14px}.icon-admin-heading span{display:block;color:#77706a;font-size:12px;margin-top:2px}
.icon-live-preview{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(145deg,#4a1024,#7b1e3a);color:#f0cf83;box-shadow:0 9px 20px #4a102424}.icon-live-preview svg{width:30px;height:30px}
.icon-picker{display:grid;grid-template-columns:repeat(6,minmax(76px,1fr));gap:9px}.icon-choice{margin:0;cursor:pointer}.icon-choice input{position:absolute;opacity:0;pointer-events:none}.icon-choice-card{min-height:86px;padding:10px 6px;border:1px solid #ded6cf;border-radius:14px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;transition:.15s ease}.icon-choice-card svg{width:30px;height:30px;color:#6b2440}.icon-choice-card small{font-size:9px;line-height:1.15;color:#625b56;font-weight:800}.icon-choice:hover .icon-choice-card{transform:translateY(-2px);border-color:#c6a15b;box-shadow:0 8px 18px #38281c10}.icon-choice input:checked+.icon-choice-card{background:#4a1024;border-color:#4a1024;color:#fff;box-shadow:0 8px 20px #4a10242c}.icon-choice input:checked+.icon-choice-card svg{color:#efcf82}.icon-choice input:checked+.icon-choice-card small{color:#fff}
.admin-mini-icon{width:40px;height:40px;border-radius:12px;background:#f3e8ec;color:#7b1e3a;display:grid;place-items:center}.admin-mini-icon svg{width:23px;height:23px}

.showcase-hero{position:relative;overflow:hidden;min-height:390px;border-radius:34px;margin:14px 0 22px;padding:54px 58px;display:flex;align-items:center;justify-content:space-between;gap:30px;color:#fff;background:radial-gradient(circle at 85% 20%,#b98b47 0,#b98b4700 24%),radial-gradient(circle at 12% 86%,#9c3656 0,#9c365600 30%),linear-gradient(128deg,#2b0714 0,#531126 47%,#761c39 100%);box-shadow:0 28px 60px #4a102433}
.showcase-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:45px 45px;mask-image:linear-gradient(90deg,#0009,transparent)}
.showcase-hero-copy{position:relative;z-index:2;max-width:760px}.showcase-kicker{font-size:11px;letter-spacing:.18em;font-weight:900;color:#e4c57d}.showcase-hero h1{font-size:clamp(42px,6vw,72px);line-height:.96;margin:12px 0 19px;letter-spacing:-.04em}.showcase-hero h1 em{font-style:normal;color:#e8c877}.showcase-hero p{max-width:680px;color:#f3e9ed;font-size:17px;line-height:1.65}
.showcase-stats{display:flex;gap:10px;flex-wrap:wrap;margin-top:27px}.showcase-stats>span{min-width:155px;padding:11px 14px;border:1px solid #ffffff20;background:#ffffff0b;backdrop-filter:blur(5px);border-radius:14px}.showcase-stats b{display:block;font-size:12px;color:#f2d895}.showcase-stats small{font-size:10px;color:#eadde1}
.showcase-mark{position:relative;z-index:2;flex:0 0 235px;width:235px;height:235px;display:grid;place-items:center}.showcase-mark-ring{position:absolute;inset:0;border-radius:50%;border:1px solid #e8c97a55;box-shadow:0 0 0 28px #ffffff07,0 0 0 56px #ffffff05}.showcase-mark-inner{width:148px;height:148px;border-radius:50%;display:grid;place-items:center;align-content:center;background:#ffffff0a;border:2px solid #e8c97a;color:#e8c97a;box-shadow:inset 0 0 35px #0002}.showcase-mark-inner strong{font-size:24px;letter-spacing:.11em}.showcase-mark-inner span{font-size:11px;letter-spacing:.42em;margin-left:.42em}

.showcase-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px;padding:7px;background:#eee8e1;border-radius:16px;width:max-content;max-width:100%}.showcase-filters a{padding:10px 18px;border-radius:11px;font-size:12px;font-weight:850;color:#675f59}.showcase-filters a.active{background:#fff;color:#6c1934;box-shadow:0 5px 15px #31261f12}

.showcase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.showcase-card{--tone1:#4a1024;--tone2:#7b1e3a;--toneGlow:#d6b46c;position:relative;background:#fff;border-radius:26px;overflow:hidden;border:1px solid #e8e0d8;box-shadow:0 14px 38px #2b211a10;display:flex;flex-direction:column;min-height:455px;transition:transform .22s ease,box-shadow .22s ease}.showcase-card:hover{transform:translateY(-7px);box-shadow:0 28px 55px #2b211a20}
.showcase-card.tone-plum{--tone1:#48133f;--tone2:#8c3e77;--toneGlow:#e0a6cf}.showcase-card.tone-green{--tone1:#123f31;--tone2:#24785e;--toneGlow:#86d7b5}.showcase-card.tone-orange{--tone1:#6d2f10;--tone2:#bd641e;--toneGlow:#f1b778}.showcase-card.tone-blue{--tone1:#143c5a;--tone2:#2879a6;--toneGlow:#91cfe9}.showcase-card.tone-gold{--tone1:#4d3512;--tone2:#987032;--toneGlow:#ecd291}.showcase-card.tone-indigo{--tone1:#29265f;--tone2:#5651a3;--toneGlow:#b8b5ee}.showcase-card.tone-rose{--tone1:#681f39;--tone2:#b64b6d;--toneGlow:#edabc1}.showcase-card.tone-purple{--tone1:#3b1c5f;--tone2:#7446a7;--toneGlow:#c8a4ed}.showcase-card.tone-magenta{--tone1:#5b194f;--tone2:#a94091;--toneGlow:#eab0df}.showcase-card.tone-teal{--tone1:#123f42;--tone2:#287a7f;--toneGlow:#9ad9d8}
.showcase-art{height:172px;position:relative;overflow:hidden;padding:18px;background:radial-gradient(circle at 80% 10%,var(--toneGlow) 0,var(--toneGlow) 4%,transparent 38%),linear-gradient(140deg,var(--tone1),var(--tone2));color:#fff}.showcase-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#ffffff0c 1px,transparent 1px),linear-gradient(#ffffff0c 1px,transparent 1px);background-size:27px 27px;opacity:.45}.showcase-type{position:relative;z-index:4;display:inline-flex;padding:7px 9px;border:1px solid #ffffff35;background:#ffffff10;border-radius:999px;font-size:9px;letter-spacing:.14em;font-weight:950}.showcase-icon{position:absolute;z-index:4;left:22px;bottom:18px;width:78px;height:78px;border-radius:24px;display:grid;place-items:center;background:#ffffff14;border:1px solid #ffffff35;backdrop-filter:blur(7px);box-shadow:0 13px 30px #0002}.showcase-icon svg{width:46px;height:46px;stroke-width:1.45;color:#fff}.showcase-watermark{position:absolute;z-index:1;right:-8px;bottom:-27px;opacity:.11;transform:rotate(-8deg)}.showcase-watermark svg{width:170px;height:170px;stroke-width:.8}.showcase-orbit{position:absolute;border:1px solid #fff2;border-radius:50%}.orbit-one{width:170px;height:170px;right:-28px;top:-55px}.orbit-two{width:100px;height:100px;right:29px;top:-20px}

.showcase-body{padding:22px 22px 16px;flex:1}.showcase-category{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#9a7440;font-weight:900}.showcase-card h2{font-size:27px;line-height:1.05;letter-spacing:-.025em;margin:7px 0 11px}.showcase-card p{font-size:13px;line-height:1.55;color:#706863;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.showcase-schedule{margin-top:18px;padding-top:14px;border-top:1px solid #eee7e0}.schedule-label{display:block;font-size:8px;letter-spacing:.16em;color:#9a9189;font-weight:950;margin-bottom:8px}.showcase-time-grid{display:flex;gap:6px;flex-wrap:wrap}.showcase-time-grid span,.showcase-time-empty{font-size:10px;font-weight:850;padding:7px 9px;border-radius:9px;background:#f5f0ea;color:#5d5550}.showcase-time-grid .more-times{background:#efe3e7;color:#7b1e3a}
.showcase-footer{padding:0 18px 18px}.showcase-footer a{display:flex;align-items:center;justify-content:space-between;border-radius:15px;padding:13px 15px;background:#211c1a;color:#fff;font-size:12px;font-weight:850;transition:.16s ease}.showcase-footer a:hover{background:var(--tone1)}.showcase-footer b{font-size:20px;color:var(--toneGlow);font-weight:500}

@media(max-width:1050px){.showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.icon-picker{grid-template-columns:repeat(4,minmax(76px,1fr))}}
@media(max-width:760px){.showcase-hero{min-height:auto;padding:36px 26px}.showcase-mark{display:none}.showcase-stats{display:none}.showcase-grid{grid-template-columns:1fr}.showcase-filters{width:100%;overflow:auto;flex-wrap:nowrap}.icon-picker{grid-template-columns:repeat(3,minmax(70px,1fr))}.showcase-art{height:155px}}


/* PATCH 2.5 · Hero público más compacto */
.showcase-hero{
  min-height:245px;
  padding:30px 42px;
  margin:10px 0 16px;
  border-radius:28px;
}
.showcase-kicker{font-size:9px}
.showcase-hero h1{
  font-size:clamp(34px,4.5vw,55px);
  margin:8px 0 12px;
  line-height:.94;
}
.showcase-hero p{
  max-width:650px;
  font-size:14px;
  line-height:1.5;
  margin-bottom:0;
}
.showcase-stats{margin-top:17px}
.showcase-stats>span{
  min-width:135px;
  padding:8px 11px;
}
.showcase-stats b{font-size:10px}
.showcase-stats small{font-size:8px}
.showcase-mark{
  flex-basis:170px;
  width:170px;
  height:170px;
}
.showcase-mark-ring{
  box-shadow:0 0 0 19px #ffffff07,0 0 0 38px #ffffff05;
}
.showcase-mark-inner{
  width:108px;
  height:108px;
}
.showcase-mark-inner strong{font-size:18px}
.showcase-mark-inner span{font-size:8px}
.showcase-filters{margin-bottom:17px}

@media(max-width:760px){
  .showcase-hero{
    min-height:auto;
    padding:28px 22px;
    margin-top:6px;
  }
  .showcase-hero h1{font-size:39px}
  .showcase-hero p{font-size:13px}
}

/* PATCH 2.6 · Periodos, Eventos y calendario variable de Selecciones */
.check-line{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid #ddd4cd;border-radius:13px;background:#faf7f4;font-weight:750}.check-line input{width:auto;margin:0;transform:scale(1.15)}
.events-public-hero{position:relative;overflow:hidden;border-radius:28px;padding:38px 42px;margin:10px 0 22px;color:white;background:radial-gradient(circle at 88% 20%,#c3975360,transparent 28%),linear-gradient(125deg,#350916,#741b38);box-shadow:0 20px 45px #4a10242b}.events-public-hero h1{font-size:clamp(38px,5vw,58px);line-height:1;margin:8px 0 12px;letter-spacing:-.035em}.events-public-hero p{max-width:670px;margin:0;color:#f3e8eb;font-size:15px;line-height:1.55}
.public-events-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.public-event-card{overflow:hidden;border-radius:24px;background:#fff;border:1px solid #e9e1da;box-shadow:0 13px 34px #2c211b10;transition:.2s ease}.public-event-card:hover{transform:translateY(-5px);box-shadow:0 24px 48px #2c211b1c}.event-poster{height:210px;background-position:center;background-size:cover}.event-poster-empty{display:grid;place-items:center;align-content:center;background:radial-gradient(circle at 65% 15%,#d1ac6355,transparent 31%),linear-gradient(140deg,#3e0c1c,#7b1e3a);color:#f0cf83}.event-poster-empty span{font-size:60px;font-weight:900;line-height:.85}.event-poster-empty b{font-size:13px;letter-spacing:.22em;margin-top:8px}.event-copy{padding:20px}.event-copy h2{font-size:24px;line-height:1.08;margin:10px 0}.event-copy>p{color:#6e6661;font-size:13px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.event-meta{display:grid;gap:4px;margin-top:16px;padding-top:14px;border-top:1px solid #eee7e1}.event-meta strong{font-size:12px;color:#661833}.event-meta span{font-size:11px;color:#77706a}
@media(max-width:950px){.public-events-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.public-events-grid{grid-template-columns:1fr}.events-public-hero{padding:30px 23px}.event-poster{height:180px}}

/* PATCH 2.7 · Estudiante, insignias y Sponsors */
.student-page-head{display:flex;justify-content:space-between;align-items:end;margin:18px 0 22px}.student-page-head h1{font-size:44px;margin:8px 0}.profile-photo-wrap{display:flex;align-items:center;gap:20px;margin-bottom:22px}.profile-photo{width:118px;height:148px;object-fit:cover;border-radius:22px;border:4px solid #ead39a;box-shadow:0 12px 28px #0002}.profile-photo.empty{display:grid;place-items:center;background:#6d1733;color:#f0d18b;font-size:28px;font-weight:900}.photo-help{font-size:12px;color:#77706a;background:#f7f3ef;padding:11px;border-radius:11px}.student-dashboard-hero{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;background:linear-gradient(125deg,#32101d,#741d3a);color:#fff;border-radius:27px;padding:28px 32px;margin:15px 0 24px;box-shadow:0 18px 45px #4a10242b}.student-dashboard-hero h1{font-size:42px;margin:6px 0}.student-dashboard-hero p{margin:0;color:#eadde1}.student-id-mini{width:86px;height:105px;border-radius:18px;overflow:hidden;border:3px solid #e5c77d;background:#ffffff12;display:grid;place-items:center;color:#efd68f;font-weight:900}.student-id-mini img{width:100%;height:100%;object-fit:cover}.student-level-mini{text-align:right;padding-left:22px;border-left:1px solid #ffffff2a}.student-level-mini small,.student-level-mini span{display:block;color:#e9dce0}.student-level-mini strong{display:block;color:#efd58d;font-size:22px;margin:4px 0}.student-shortcut{display:block;transition:.18s}.student-shortcut:hover{transform:translateY(-4px)}.student-shortcut strong,.student-shortcut span{display:block}.student-shortcut span{font-size:12px;color:#7a716b;margin-top:5px}.badge-hero{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:36px 42px;border-radius:30px;background:radial-gradient(circle at 85% 20%,#c7a35766,transparent 30%),linear-gradient(130deg,#34101e,#751d3a);color:#fff;margin:15px 0 24px}.badge-hero h1{font-size:52px;margin:8px 0}.badge-hero-copy{flex:1}.badge-next{display:flex;justify-content:space-between;font-size:12px;margin:22px 0 7px;max-width:620px}.badge-progress{max-width:620px;background:#ffffff1c}.badge-giant{width:165px;height:165px;border-radius:50%;display:grid;place-items:center;align-content:center;border:6px double #e7c97e;background:radial-gradient(circle at 35% 25%,#fff5,transparent 22%),linear-gradient(145deg,#a87932,#6d1733);box-shadow:0 18px 40px #0003}.badge-giant span{font-size:38px;font-weight:950}.badge-giant small{font-size:11px;margin-top:4px}.badge-road{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:22px}.badge-road-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;background:#fff;padding:14px;border:1px solid #e8e1da;border-radius:16px}.badge-road-item.locked{opacity:.52;filter:grayscale(.3)}.badge-road-medal{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#6f1b37;color:#f0d18b;font-weight:900}.badge-road-item small{display:block;color:#807770;font-size:10px;margin-top:3px}.badge-road-item>span{font-size:9px;font-weight:900;color:#7b1e3a}.benefit-summary{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.benefit-summary strong{font-size:22px;color:#7b1e3a}.benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.benefit-card{background:#fff;border-radius:22px;padding:20px;border:1px solid #e9e1da;box-shadow:0 12px 32px #2d211a0e}.benefit-card.locked{opacity:.62}.sponsor-top{display:flex;gap:12px;align-items:center}.sponsor-top img,.sponsor-logo-placeholder{width:58px;height:58px;object-fit:contain;border-radius:14px;border:1px solid #e5ddd6;background:#fff;display:grid;place-items:center;color:#7b1e3a;font-weight:900}.sponsor-top small{color:#9a7440;font-weight:900}.sponsor-top h2{font-size:20px;margin:3px 0}.benefit-lock{margin:15px 0;padding:11px;border-radius:12px;background:#f5f0ea}.benefit-lock span,.benefit-lock strong{display:block}.benefit-lock span{font-size:9px;letter-spacing:.12em;color:#7b1e3a;font-weight:950}.benefit-lock strong{font-size:11px;margin-top:3px}.benefit-instructions{background:#eaf7ef;border:1px solid #c7e9d3;padding:12px;border-radius:12px;font-size:12px}.benefit-missing{font-size:11px;color:#7c736d;background:#f7f4f1;padding:10px;border-radius:10px}.sponsor-admin-logo{width:55px;height:45px;object-fit:contain}.event-attendance-option{padding:13px 14px;border:1px solid #d9c28a;border-radius:14px;background:#fbf6e9}.event-attendance-option p{font-size:11px;margin:6px 0 0;color:#746b65}@media(max-width:900px){.benefits-grid,.badge-road{grid-template-columns:repeat(2,1fr)}.student-dashboard-hero{grid-template-columns:auto 1fr}.student-level-mini{grid-column:1/-1;text-align:left;border-left:0;border-top:1px solid #ffffff2a;padding:14px 0 0}}@media(max-width:650px){.benefits-grid,.badge-road{grid-template-columns:1fr}.badge-hero{padding:28px 22px}.badge-giant{width:110px;height:110px}.badge-hero h1{font-size:38px}.student-dashboard-hero{grid-template-columns:1fr}.student-id-mini{width:75px;height:90px}.profile-photo-wrap{align-items:flex-start}.student-page-head h1{font-size:36px}}

/* PATCH 2.8 · Preinscripción y gestión de integrantes */
.join-card{position:relative;overflow:hidden}.join-card:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-90px;top:-90px;background:#7b1e3a0a}.join-status{display:flex;flex-direction:column;gap:3px;padding:14px 16px;border-radius:14px;margin:16px 0}.join-status.approved{background:#e8f6ed;border:1px solid #c6e8d1;color:#14532d}.join-status.pending{background:#fff7e4;border:1px solid #ecd69d;color:#714f0c}.join-status strong{font-size:14px}.join-status span{font-size:11px}.roster-request{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid #eee7e0}.roster-request:last-child{border-bottom:0}.roster-request small{display:block;color:#7a716b;margin-top:4px}@media(max-width:650px){.roster-request{align-items:flex-start;flex-direction:column}}


/* PATCH 2.11 · Espacios pendientes + nueva portada */
.field-help{display:block;margin-top:5px;font-size:10px;color:#837a73;font-weight:500}
.space-pending{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;background:#fff0c5;border:1px solid #e7bd52;color:#765100;font-size:10px;font-weight:900}
.space-pending:before{content:"";width:7px;height:7px;border-radius:50%;background:#e1a100;margin-right:6px;box-shadow:0 0 0 4px #e1a1001a}
.space-ok{font-weight:700;color:#4f4945}
.schedule-heading-row{display:flex;align-items:center;justify-content:space-between;gap:15px}.pending-space-alert{display:inline-flex;align-items:center;gap:5px;padding:8px 11px;border-radius:11px;background:#fff3cf;border:1px solid #e7c46d;color:#775300;font-size:10px;font-weight:800}.pending-space-alert b{font-size:14px}
.admin-space-reminder{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:20px 24px;border:1px solid #e4c36d;border-radius:20px;background:linear-gradient(120deg,#fff9e8,#fffdf8);box-shadow:0 10px 28px #4e37100b}.admin-space-reminder h2{margin:6px 0}.admin-space-reminder p{margin:0;color:#70675f}
.public-schedule{display:flex!important;align-items:center;justify-content:space-between;gap:12px}.public-schedule>div{display:flex;align-items:center;gap:12px}.public-space-pending{padding:5px 8px;border-radius:999px;background:#fff2cb;color:#7a5700;border:1px solid #e9c971;font-size:9px;font-weight:850;white-space:nowrap}

.home-premium-hero{position:relative;overflow:hidden;min-height:470px;margin:14px 0 18px;padding:58px 62px;border-radius:36px;display:grid;grid-template-columns:1.4fr .8fr;align-items:center;gap:40px;color:#fff;background:radial-gradient(circle at 83% 18%,#d1a74e73 0,#d1a74e00 28%),radial-gradient(circle at 8% 92%,#a3315e77 0,#a3315e00 32%),linear-gradient(128deg,#290711,#531126 48%,#771c3a);box-shadow:0 30px 70px #4a102432}
.home-premium-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(90deg,#000b,transparent)}
.home-premium-copy{position:relative;z-index:3}.home-kicker{font-size:10px;letter-spacing:.19em;font-weight:950;color:#e8ca7d}.home-premium-hero h1{font-size:clamp(48px,6vw,76px);line-height:.94;letter-spacing:-.045em;margin:12px 0 20px}.home-premium-hero h1 em{font-style:normal;color:#ebcf80}.home-premium-hero p{max-width:690px;font-size:17px;line-height:1.62;color:#f0e5e9}.home-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:27px}.home-main-btn,.home-ghost-btn{display:inline-flex;align-items:center;gap:30px;padding:14px 18px;border-radius:14px;font-size:12px;font-weight:900}.home-main-btn{background:#f0d080;color:#3e1020}.home-main-btn b{font-size:19px}.home-ghost-btn{border:1px solid #ffffff45;background:#ffffff0e;color:#fff}
.home-microstats{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.home-microstats span{min-width:130px;padding:10px 13px;border-radius:13px;border:1px solid #ffffff18;background:#ffffff09}.home-microstats strong,.home-microstats small{display:block}.home-microstats strong{font-size:15px;color:#f2d68d}.home-microstats small{font-size:9px;margin-top:2px;color:#e5d9dd}
.home-visual{position:relative;z-index:2;height:300px;display:grid;place-items:center}.home-center-mark{position:relative;z-index:4;width:142px;height:142px;border-radius:50%;display:grid;place-items:center;align-content:center;border:2px solid #eccf83;background:#ffffff0a;box-shadow:inset 0 0 40px #0002,0 0 0 25px #ffffff05}.home-center-mark span{font-size:22px;font-weight:950;letter-spacing:.11em;color:#ebcf83}.home-center-mark b{font-size:9px;letter-spacing:.4em;margin-left:.4em;color:#ebcf83}.home-orbit{position:absolute;border-radius:50%;border:1px solid #e9ca7955}.home-orbit.o1{width:225px;height:225px}.home-orbit.o2{width:290px;height:290px;opacity:.55}.home-orbit.o3{width:355px;height:355px;opacity:.28}.floating-tag{position:absolute;padding:8px 11px;border-radius:999px;background:#fff;color:#5d1730;font-size:9px;font-weight:900;box-shadow:0 10px 28px #0002}.tag-a{top:28px;left:4px}.tag-b{right:0;top:100px}.tag-c{bottom:23px;left:20px}

.home-paths{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:38px}.home-paths a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:17px 18px;border-radius:18px;background:#fff;border:1px solid #e8e0d9;box-shadow:0 10px 30px #30231c0b;transition:.18s}.home-paths a:hover{transform:translateY(-3px);border-color:#c7a15a}.home-paths strong,.home-paths small{display:block}.home-paths strong{font-size:15px;color:#2f2926}.home-paths small{font-size:10px;color:#7f756e;margin-top:2px}.path-number{font-size:9px;font-weight:950;color:#a78342}.home-paths b{font-size:20px;color:#7b1e3a}
.home-section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:28px 0 16px}.home-section-head h2{font-size:31px;margin:7px 0 4px}.home-section-head p{margin:0;color:#766d67;font-size:12px}.home-section-head>a{font-size:11px;font-weight:900;color:#7b1e3a}
.home-activity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.home-activity-card{--h1:#4b1024;--h2:#801e3e;position:relative;overflow:hidden;background:#fff;border:1px solid #e9e1da;border-radius:23px;box-shadow:0 13px 34px #35271f0d;transition:.2s}.home-activity-card:hover{transform:translateY(-5px);box-shadow:0 23px 45px #35271f18}.home-activity-card.tone-plum{--h1:#47133e;--h2:#8c3f78}.home-activity-card.tone-green{--h1:#123f31;--h2:#287b61}.home-activity-card.tone-orange{--h1:#6c3011;--h2:#bf6620}.home-activity-card.tone-blue{--h1:#143c5a;--h2:#287da9}.home-activity-card.tone-gold{--h1:#4d3512;--h2:#9a7334}.home-activity-card.tone-indigo{--h1:#2b275e;--h2:#5853a6}.home-activity-card.tone-rose{--h1:#681e39;--h2:#b94d70}.home-activity-card.tone-purple{--h1:#3c1c60;--h2:#7749aa}.home-activity-card.tone-magenta{--h1:#5d194f;--h2:#aa4293}.home-activity-card.tone-teal{--h1:#123f42;--h2:#2a7d81}
.home-activity-art{height:112px;display:flex;align-items:flex-start;justify-content:space-between;padding:15px;background:radial-gradient(circle at 85% 15%,#ffffff36,transparent 25%),linear-gradient(135deg,var(--h1),var(--h2));color:#fff}.home-activity-art>span{font-size:8px;letter-spacing:.15em;font-weight:950;padding:5px 7px;border:1px solid #ffffff2f;border-radius:999px}.home-activity-art>div{width:62px;height:62px;border-radius:19px;display:grid;place-items:center;background:#ffffff12;border:1px solid #ffffff2d}.home-activity-art svg{width:36px;height:36px}
.home-activity-body{padding:16px 17px 18px}.home-activity-body>small{font-size:8px;letter-spacing:.13em;text-transform:uppercase;color:#9e7b44;font-weight:950}.home-activity-body h3{font-size:21px;margin:5px 0 12px;color:#2e2825}.home-time-list{display:flex;gap:5px;flex-wrap:wrap}.home-time-list span{font-size:9px;font-weight:800;padding:6px 7px;border-radius:8px;background:#f4efe9;color:#635b55}.home-space-pending{display:inline-flex;margin-top:9px;padding:5px 8px;border-radius:999px;background:#fff1c8;border:1px solid #e6c66d;color:#745000;font-size:8px;font-weight:950}.home-card-arrow{position:absolute;right:15px;bottom:13px;color:#9a7440;font-size:17px}
.home-event-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.home-event-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:15px;background:#fff;border:1px solid #e8e0d9;border-radius:18px}.home-event-date{width:53px;height:57px;border-radius:14px;display:grid;place-items:center;align-content:center;background:#6f1836;color:#fff}.home-event-date strong{font-size:20px;line-height:1}.home-event-date span{font-size:8px;color:#efd286;margin-top:3px}.home-event-item small{font-size:8px;color:#9d7540;font-weight:900}.home-event-item h3{font-size:15px;margin:3px 0}.home-event-item p{font-size:10px;color:#736a64;margin:0}.home-event-item>b{font-size:19px;color:#7b1e3a}
.home-final-cta{margin:40px 0 15px;padding:25px 30px;border-radius:24px;background:#211b19;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:25px}.home-final-cta span{font-size:9px;letter-spacing:.13em;color:#d9ba74;font-weight:900}.home-final-cta h2{font-size:24px;margin:6px 0 0;color:#fff}

@media(max-width:950px){.home-premium-hero{grid-template-columns:1fr;min-height:auto;padding:44px 38px}.home-visual{display:none}.home-activity-grid{grid-template-columns:repeat(2,1fr)}.home-event-strip{grid-template-columns:1fr}.home-paths{grid-template-columns:1fr}}
@media(max-width:650px){.home-premium-hero{padding:34px 24px;border-radius:27px}.home-premium-hero h1{font-size:46px}.home-premium-hero p{font-size:14px}.home-microstats{display:none}.home-activity-grid{grid-template-columns:1fr}.home-section-head{align-items:flex-start}.home-final-cta{display:block}.home-final-cta .actions{margin-top:15px}.admin-space-reminder{display:block}.admin-space-reminder .btn{margin-top:13px}.public-schedule{align-items:flex-start}.public-schedule>div{display:block}.public-space-pending{margin-top:3px}}

/* HOTFIX 2.11.1 · Inicio alineado a la vitrina pública */
.exten-home-hero{min-height:305px;padding:38px 48px;margin-bottom:14px}.exten-home-hero .showcase-hero-copy{max-width:780px}.exten-home-hero .showcase-hero h1{margin-bottom:12px}.exten-home-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:19px}.exten-home-primary,.exten-home-secondary{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:11px 15px;border-radius:12px;font-size:11px;font-weight:900}.exten-home-primary{background:#edcf81;color:#491126}.exten-home-primary span{font-size:17px}.exten-home-secondary{background:#ffffff0b;border:1px solid #ffffff35;color:#fff}.exten-home-stats{margin-top:16px}.exten-home-stats>span{min-width:130px;padding:8px 11px}
.exten-home-links{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 30px}.exten-home-link-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:15px 16px;border-radius:17px;background:#fff;border:1px solid #e8e0d9;box-shadow:0 8px 24px #2e231d0b;transition:.18s ease}.exten-home-link-card:hover{transform:translateY(-3px);border-color:#cba85e;box-shadow:0 16px 32px #2e231d13}.exten-link-index{font-size:9px;font-weight:950;color:#a07c42}.exten-home-link-card strong,.exten-home-link-card small{display:block}.exten-home-link-card strong{font-size:14px;color:#302925}.exten-home-link-card small{font-size:9px;line-height:1.35;color:#7d746e;margin-top:2px}.exten-home-link-card>b{font-size:19px;color:#7b1e3a}
.exten-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:25px 0 14px}.exten-section-head h2{font-size:29px;margin:6px 0 3px}.exten-section-head p{margin:0;color:#756d67;font-size:11px}.exten-section-head>a{font-size:10px;font-weight:900;color:#7b1e3a}.exten-home-grid .showcase-card{min-height:410px}.exten-home-grid .showcase-art{height:145px}.exten-home-grid .showcase-icon{width:66px;height:66px;border-radius:20px}.exten-home-grid .showcase-icon svg{width:38px;height:38px}.exten-home-grid .showcase-body{padding:18px 19px 13px}.exten-home-grid .showcase-card h2{font-size:23px}.exten-home-grid .showcase-card p{-webkit-line-clamp:2;font-size:12px}.exten-home-grid .showcase-schedule{margin-top:13px;padding-top:11px}.exten-pending-place{display:inline-flex;margin-top:8px;padding:5px 8px;border-radius:999px;background:#fff2c9;border:1px solid #e5c56d;color:#795500;font-size:8px;font-weight:950}
.exten-events-head{margin-top:38px}.exten-event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.exten-event-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px;border:1px solid #e8e0d9;border-radius:17px;background:#fff;box-shadow:0 8px 22px #2e231d09}.exten-event-card:hover{border-color:#c6a25d}.exten-event-date{width:52px;height:56px;border-radius:13px;display:grid;place-items:center;align-content:center;background:linear-gradient(145deg,#4a1024,#7b1e3a);color:#fff}.exten-event-date strong{font-size:20px;line-height:1}.exten-event-date span{font-size:8px;color:#e9cd83;margin-top:3px}.exten-event-info small{font-size:7px;letter-spacing:.1em;color:#a47c3f;font-weight:950}.exten-event-info h3{font-size:14px;margin:3px 0}.exten-event-info p{font-size:9px;color:#746b65;margin:0}.exten-event-card>b{font-size:18px;color:#7b1e3a}.exten-home-account{margin:34px 0 10px;padding:22px 25px;border-radius:21px;background:#211b19;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:24px}.exten-home-account>div>span{font-size:8px;letter-spacing:.15em;font-weight:900;color:#dabd79}.exten-home-account h2{font-size:20px;margin:5px 0 0;color:#fff}
@media(max-width:900px){.exten-home-links,.exten-event-grid{grid-template-columns:1fr}.exten-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exten-home-hero{padding:34px 30px}}
@media(max-width:700px){.exten-home-grid{grid-template-columns:1fr}.exten-section-head{align-items:flex-start}.exten-home-account{display:block}.exten-home-account .actions{margin-top:14px}.exten-home-hero{min-height:auto;padding:29px 22px}.exten-home-actions{margin-top:15px}}


/* HOTFIX 2.11.2 · PORTADA TIPO PORTAL — DISEÑO DIFERENTE A CLUBS.PHP */
.portal-hero{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);min-height:390px;margin:12px 0 18px;border-radius:32px;overflow:hidden;box-shadow:0 26px 60px #3b271d18;background:#fff;border:1px solid #e6ddd5}
.portal-hero-main{position:relative;padding:48px 52px;background:linear-gradient(140deg,#fbf7f2 0,#fff 72%)}
.portal-hero-main:after{content:"";position:absolute;width:250px;height:250px;border-radius:50%;right:-120px;bottom:-120px;border:48px solid #7b1e3a08}
.portal-eyebrow{font-size:9px;letter-spacing:.2em;font-weight:950;color:#9b7337}.portal-hero h1{font-size:clamp(46px,6vw,70px);line-height:.92;letter-spacing:-.048em;margin:14px 0 19px;color:#2d2421}.portal-hero h1 em{font-style:normal;color:#7b1e3a}.portal-hero-main p{max-width:690px;font-size:15px;line-height:1.65;color:#6e645e}.portal-hero-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:25px}.portal-btn-primary,.portal-btn-light,.portal-btn-dark{display:inline-flex;align-items:center;justify-content:center;gap:26px;padding:13px 16px;border-radius:12px;font-size:11px;font-weight:900;transition:.17s}.portal-btn-primary{background:#7b1e3a;color:#fff;box-shadow:0 9px 20px #7b1e3a20}.portal-btn-primary:hover{background:#5e142c;transform:translateY(-1px)}.portal-btn-primary span{font-size:18px;color:#e9ca7b}.portal-btn-light{background:#f0e9e2;color:#443a35}.portal-btn-light:hover{background:#e8ded5}.portal-btn-dark{background:#211b19;color:#fff}
.portal-hero-side{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px;color:#fff;background:radial-gradient(circle at 70% 15%,#d0a65575,transparent 28%),linear-gradient(150deg,#3b0c1d,#771c39)}.portal-hero-side:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff0a 1px,transparent 1px),linear-gradient(90deg,#ffffff0a 1px,transparent 1px);background-size:30px 30px}.portal-seal{position:relative;z-index:2;width:158px;height:158px;border-radius:50%;border:1px solid #e9cb7b;box-shadow:0 0 0 28px #fff06,0 0 0 57px #fff04;display:grid;place-items:center;align-content:center}.portal-seal span{font-size:21px;letter-spacing:.13em;font-weight:950;color:#edcf80}.portal-seal strong{font-size:9px;letter-spacing:.42em;margin-left:.42em;color:#edcf80}.portal-side-copy{position:relative;z-index:2;text-align:center;margin-top:65px}.portal-side-copy small,.portal-side-copy b{display:block}.portal-side-copy small{font-size:7px;letter-spacing:.16em;color:#d9bd77}.portal-side-copy b{font-size:10px;margin-top:5px;color:#f0e7ea}

.portal-modules{display:grid;grid-template-columns:1.15fr .85fr .85fr 1.15fr;gap:12px;margin:0 0 38px}.portal-module{position:relative;overflow:hidden;min-height:245px;border-radius:24px;padding:20px;display:flex;flex-direction:column;border:1px solid #e6ded7;box-shadow:0 12px 32px #33271f0d;transition:.2s}.portal-module:hover{transform:translateY(-5px);box-shadow:0 22px 44px #33271f18}.portal-module-top{display:flex;align-items:center;justify-content:space-between}.portal-module-top span{font-size:9px;font-weight:950;opacity:.65}.portal-module-top b{font-size:8px;letter-spacing:.1em;text-transform:uppercase}.portal-module-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;margin:24px 0 18px}.portal-module-icon svg{width:33px;height:33px}.portal-module-copy{margin-top:auto}.portal-module-copy small{font-size:7px;letter-spacing:.14em;font-weight:950}.portal-module-copy h2{font-size:27px;margin:5px 0 7px}.portal-module-copy p{font-size:10px;line-height:1.45;margin:0;max-width:250px}.portal-module-go{display:flex;align-items:center;justify-content:space-between;margin-top:15px;padding-top:13px;border-top:1px solid currentColor;font-size:9px;font-weight:900;opacity:.9}.portal-module-go span{font-size:17px}
.portal-module-clubs{background:#fff;color:#352d29}.portal-module-clubs .portal-module-icon{background:#f5e8ec;color:#7b1e3a}.portal-module-clubs .portal-module-copy small{color:#9b7440}.portal-module-selection{background:#211c1a;color:#fff}.portal-module-selection .portal-module-icon{background:#ffffff10;color:#e9cb80}.portal-module-selection .portal-module-copy small{color:#d9bd77}.portal-module-events{background:#f1e6c8;color:#49371d}.portal-module-events .portal-module-icon{background:#fff8e7;color:#7b1e3a}.portal-module-account{background:linear-gradient(145deg,#4a1024,#7b1e3a);color:#fff}.portal-module-account .portal-module-icon{background:#ffffff11;color:#edcf80}.portal-module-account .portal-module-copy small{color:#e3c77c}

.portal-events-section,.portal-discover-section{margin:34px 0}.portal-section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:14px}.portal-section-heading>div>span{font-size:8px;letter-spacing:.16em;font-weight:950;color:#9b7440}.portal-section-heading h2{font-size:30px;margin:5px 0 3px}.portal-section-heading p{font-size:11px;color:#756c66;margin:0}.portal-section-heading>a{font-size:9px;font-weight:900;color:#7b1e3a;padding-bottom:3px;border-bottom:1px solid #c8a75f}
.portal-event-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.portal-event-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:15px 16px;border-radius:18px;background:#fff;border:1px solid #e7dfd8;box-shadow:0 8px 22px #30231c09;transition:.17s}.portal-event-row:hover{border-color:#c8a75f;transform:translateY(-2px)}.portal-event-date{width:56px;height:62px;border-radius:15px;display:grid;place-items:center;align-content:center;background:#f3ebe5;color:#7b1e3a}.portal-event-date strong{font-size:22px;line-height:1}.portal-event-date span{font-size:8px;font-weight:900;color:#9b7440;margin-top:4px}.portal-event-meta small{font-size:7px;letter-spacing:.11em;font-weight:950;color:#9b7440}.portal-event-meta h3{font-size:15px;margin:3px 0}.portal-event-meta p{font-size:9px;color:#746b65;margin:0}.portal-event-arrow{font-size:19px;color:#7b1e3a}

.portal-activity-list{background:#fff;border:1px solid #e7dfd8;border-radius:22px;overflow:hidden;box-shadow:0 12px 32px #30231c0b}.portal-activity-row{display:grid;grid-template-columns:auto minmax(0,1.3fr) minmax(140px,.65fr) minmax(130px,.55fr) auto;align-items:center;gap:14px;padding:13px 16px;border-bottom:1px solid #eee7e1;transition:.15s}.portal-activity-row:last-child{border-bottom:0}.portal-activity-row:hover{background:#fbf8f5}.portal-activity-icon{width:45px;height:45px;border-radius:13px;display:grid;place-items:center;background:#f1e7ea;color:#7b1e3a}.portal-activity-icon svg{width:25px;height:25px}.portal-activity-info small{font-size:7px;letter-spacing:.1em;color:#9c7640;font-weight:950}.portal-activity-info h3{font-size:14px;margin:3px 0}.portal-activity-time span,.portal-activity-time small{display:block}.portal-activity-time span{font-size:10px;font-weight:850}.portal-activity-time small{font-size:8px;color:#827971;margin-top:2px}.portal-activity-status span{display:inline-flex;padding:5px 7px;border-radius:999px;background:#fff2c9;border:1px solid #e7c66d;color:#765100;font-size:7px;font-weight:950}.portal-activity-arrow{font-size:18px;color:#9b7440}

.portal-bottom-cta{margin:38px 0 8px;padding:28px 30px;border-radius:25px;display:flex;align-items:center;justify-content:space-between;gap:25px;background:linear-gradient(125deg,#241c19,#382620);color:#fff}.portal-bottom-cta small{font-size:8px;letter-spacing:.18em;color:#d7ba74;font-weight:950}.portal-bottom-cta h2{font-size:25px;margin:5px 0}.portal-bottom-cta p{font-size:10px;color:#d8ceca;margin:0}.portal-bottom-actions{display:flex;gap:8px;flex-wrap:wrap;flex:0 0 auto}

@media(max-width:1050px){.portal-modules{grid-template-columns:repeat(2,1fr)}.portal-hero{grid-template-columns:1fr .6fr}.portal-event-list{grid-template-columns:1fr}}
@media(max-width:780px){.portal-hero{grid-template-columns:1fr;min-height:auto}.portal-hero-side{display:none}.portal-hero-main{padding:38px 28px}.portal-modules{grid-template-columns:1fr 1fr}.portal-activity-row{grid-template-columns:auto 1fr auto}.portal-activity-time,.portal-activity-status{display:none}.portal-bottom-cta{display:block}.portal-bottom-actions{margin-top:16px}}
@media(max-width:560px){.portal-hero-main{padding:31px 22px}.portal-hero h1{font-size:45px}.portal-hero-main p{font-size:13px}.portal-modules{grid-template-columns:1fr}.portal-module{min-height:220px}.portal-section-heading{align-items:flex-start}.portal-event-row{grid-template-columns:auto 1fr}.portal-event-arrow{display:none}.portal-bottom-cta h2{font-size:21px}}

/* PATCH 2.12 · privacidad, costos, evento masivo, constancias */
.showcase-card-meta{display:flex;justify-content:space-between;align-items:center;gap:8px}.fee-badge{font-size:8px;font-weight:950;padding:5px 8px;border-radius:999px;white-space:nowrap}.fee-badge.free{background:#e9f6ed;color:#27643b}.fee-badge.paid{background:#fff0c9;color:#775000}.public-fee-line{display:inline-flex;align-items:center;gap:10px;margin-top:13px;padding:8px 11px;border:1px solid #ffffff2b;border-radius:999px;background:#ffffff0d}.public-fee-line span{font-size:10px;font-weight:850}.public-fee-line strong{color:#efcf83}
.member-private-schedule{margin:12px 0;padding:11px;border-radius:12px;background:#f6f0e8;border:1px solid #e8d9c7}.member-private-schedule small{display:block;font-size:8px;letter-spacing:.12em;font-weight:950;color:#8f6b38;margin-bottom:5px}.member-private-schedule span{display:block;font-size:10px;font-weight:750;color:#514a45;margin-top:3px}
.template-vars{margin:8px 0 13px;padding:9px;border-radius:9px;background:#f5f0ea;font-size:10px;color:#6c625c}.template-vars code{margin-right:5px}.event-register-btn{display:inline-flex;margin-top:12px;padding:9px 12px;border-radius:10px;background:#6f1836;color:#fff;font-size:10px;font-weight:900}
.guest-checkin-shell{max-width:740px;margin:25px auto}.guest-event-head,.guest-success{padding:30px;border-radius:24px;background:linear-gradient(130deg,#3b0d1d,#761c3a);color:#fff;margin-bottom:15px}.guest-event-head h1,.guest-success h1{font-size:36px;margin:8px 0}.guest-event-head p,.guest-success p{color:#eadde1}.guest-checkin-form{padding:25px}.event-certificate{position:relative;max-width:1050px;min-height:650px;margin:20px auto;background:#fff;box-shadow:0 20px 50px #0002;overflow:hidden}.certificate-letterhead{width:100%;max-height:180px;object-fit:cover}.certificate-content{text-align:center;padding:45px 70px}.certificate-brand{font-size:10px;letter-spacing:.17em;font-weight:900;color:#7b1e3a}.certificate-content h1{font-size:48px;letter-spacing:.08em;color:#4b1024;margin:20px 0 30px}.certificate-body{font-family:Georgia,serif;font-size:19px;line-height:1.8;color:#3e3834;max-width:800px;margin:auto}.certificate-folio{margin:24px 0;font-size:10px;color:#8a817a}.certificate-signatures{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:55px}.certificate-signatures>div{border-top:1px solid #574c46;padding-top:8px;position:relative}.certificate-signatures img{height:65px;max-width:190px;object-fit:contain;position:absolute;bottom:35px;left:50%;transform:translateX(-50%)}.certificate-signatures strong,.certificate-signatures span{display:block}.certificate-signatures span{font-size:10px;color:#756b64;margin-top:3px}.certificate-toolbar{max-width:1050px;margin:15px auto}.portal-trust-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:-5px 0 18px;border-radius:16px;overflow:hidden;background:#d9d1ca}.portal-trust-strip span{padding:11px 14px;background:#fff;font-size:10px;color:#766d67}.portal-trust-strip b{color:#6e1835}
@media(max-width:700px){.certificate-content{padding:35px 25px}.certificate-signatures{grid-template-columns:1fr;gap:65px}.portal-trust-strip{grid-template-columns:1fr}.showcase-card-meta{align-items:flex-start;flex-direction:column}}
@media print{header,.topbar,.certificate-toolbar,footer{display:none!important}.event-certificate{box-shadow:none;margin:0;max-width:none;min-height:100vh}.container{max-width:none;padding:0}}

/* PATCH 2.12.1 · historial de eventos vinculados */
.event-history-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.event-history-card h3{font-size:17px;margin:9px 0 5px}.event-history-card p{font-size:11px;color:#776e68}@media(max-width:800px){.event-history-grid{grid-template-columns:1fr}}

/* HOTFIX 2.12.2 · QR de eventos claramente visible */
.event-qr-main{margin-right:6px}.event-express-tag{display:inline-flex;margin-top:5px;padding:4px 7px;border-radius:999px;background:#eaf7ef;color:#2f6b43;font-weight:850}
.event-attendance-option{border:1px solid #d8bb73;background:linear-gradient(135deg,#fffaf0,#fffdf9);padding:15px;border-radius:15px;margin:12px 0}.event-attendance-option p{margin:4px 0 10px;font-size:11px;color:#706861}.event-attendance-option .check-line{margin-top:4px}

/* PATCH 2.13 · Constancias adaptativas */
.certificate-layout-controls{margin:15px 0;padding:13px;border:1px solid #e2d7cc;border-radius:13px;background:#fbf9f6}.certificate-layout-controls summary{font-weight:900;color:#6f1836;cursor:pointer}.template-help-card{align-self:start}.template-thumb{width:100%;margin-top:15px;border-radius:12px;border:1px solid #e4ddd7}.preview-note{font-size:10px;color:#756c66;margin-left:10px}
.adaptive-certificate{--cert-left:17%;--cert-top:23%;--cert-width:66%;--cert-height:33%;--cert-sign-top:70%;position:relative;margin:20px auto;background:#fff;overflow:hidden;box-shadow:0 20px 55px #0002;color:#33485e}
.adaptive-certificate.landscape{width:min(1120px,96vw);aspect-ratio:1.4142/1}.adaptive-certificate.portrait{width:min(760px,94vw);aspect-ratio:1/1.4142}
.adaptive-cert-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:0}
.adaptive-cert-content{position:absolute;z-index:2;left:var(--cert-left);top:var(--cert-top);width:var(--cert-width);height:var(--cert-height);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1.5%;box-sizing:border-box}
.adaptive-cert-title{font-family:Georgia,'Times New Roman',serif;font-weight:800;font-size:clamp(20px,2.3vw,38px);letter-spacing:.08em;margin-bottom:2.2%;color:#435d78}
.adaptive-cert-body{font-family:Georgia,'Times New Roman',serif;font-size:clamp(12px,1.25vw,20px);line-height:1.55;color:#3f4e5e;max-width:100%}.cert-recipient{display:inline-block;font-size:1.45em;color:#1f3e5e;font-weight:800;border-bottom:1px solid #b88b27;padding:0 .18em}.cert-event-name{font-weight:800;color:#435d78}.cert-value{font-weight:700}.adaptive-cert-folio{font-size:clamp(7px,.7vw,10px);margin-top:2%;color:#7c858d;letter-spacing:.05em}
.adaptive-cert-signatures{position:absolute;z-index:2;left:16%;right:16%;top:var(--cert-sign-top);display:grid;grid-template-columns:1fr 1fr;gap:13%;text-align:center}.adaptive-cert-signatures>div{position:relative;padding-top:3.5%;border-top:1px solid #52606c;min-height:42px}.adaptive-cert-signatures img{position:absolute;left:50%;bottom:58%;transform:translateX(-50%);height:clamp(28px,5vw,72px);max-width:80%;object-fit:contain}.adaptive-cert-signatures strong,.adaptive-cert-signatures span{display:block}.adaptive-cert-signatures strong{font-size:clamp(8px,.9vw,13px)}.adaptive-cert-signatures span{font-size:clamp(6px,.7vw,10px);margin-top:2px}
.preview-mode .adaptive-cert-content{outline:2px dashed #c58a1a99;outline-offset:-2px}.preview-mode .adaptive-cert-signatures:before{content:"Zona de firmas";position:absolute;left:0;top:-18px;font-size:9px;color:#a36e0a}
@media(max-width:700px){.adaptive-cert-signatures{left:12%;right:12%;gap:7%}.adaptive-cert-body{line-height:1.35}}
@media print{@page{size:A4 landscape;margin:0}.adaptive-certificate.portrait{@page{size:A4 portrait;margin:0}}.adaptive-certificate{width:100vw!important;height:100vh!important;aspect-ratio:auto!important;margin:0!important;box-shadow:none!important}.preview-mode .adaptive-cert-content{outline:none!important}.certificate-toolbar{display:none!important}}

/* PATCH 2.14.1 · Firmas sobre la línea real del fondo */
.trajectory-source-note{margin:-10px 0 18px;padding:9px 12px;border-radius:11px;background:#edf7f0;border:1px solid #cce6d4;color:#386047;font-size:10px}.trajectory-source-note strong{font-size:14px;color:#28553a}
.adaptive-cert-content{max-height:var(--cert-height);overflow:hidden}
.adaptive-cert-signatures{position:absolute!important;inset:0!important;z-index:3!important;display:block!important;pointer-events:none!important;text-align:center!important}
.adaptive-signature{position:absolute;width:var(--cert-sig-width);top:var(--cert-sign-line);transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;border:0!important;padding:0!important;min-height:0!important}
.adaptive-signature.sig1{left:var(--cert-sig1-x)}.adaptive-signature.sig2{left:var(--cert-sig2-x)}
.adaptive-signature img{position:static!important;transform:none!important;width:100%!important;height:auto!important;max-height:11vh!important;max-width:100%!important;object-fit:contain!important;display:block!important;margin:0 auto!important;filter:none!important}
.adaptive-signer-text{position:absolute;top:calc(100% + 5px);left:50%;transform:translateX(-50%);width:180%;font-size:clamp(6px,.7vw,10px);line-height:1.15;color:#394855}.adaptive-signer-text strong,.adaptive-signer-text span{display:block}
.preview-sign-line{position:absolute;left:8%;right:8%;top:var(--cert-sign-line);border-top:1px dashed #d33;opacity:.75}.preview-sign-line:after{content:'Y de la línea del fondo';position:absolute;right:0;top:3px;font-size:8px;color:#b22;background:#fff8;padding:1px 3px}
.preview-mode .adaptive-cert-signatures:before{display:none!important}
.current-signatures img{background:repeating-conic-gradient(#eee 0 25%,#fff 0 50%) 50%/12px 12px}

/* HOTFIX 2.14.2 · GENERADOR ESTABLE DE CONSTANCIAS */
.cert2142{--cert-left:17%;--cert-top:24%;--cert-width:66%;--cert-height:30%;--sig-y:74%;--sig1-x:34%;--sig2-x:66%;--sig-w:17%;position:relative;margin:18px auto;background:#fff;overflow:hidden;box-shadow:0 18px 50px #0002}
.cert2142.landscape{width:min(1120px,96vw);aspect-ratio:1.4142/1}.cert2142.portrait{width:min(760px,94vw);aspect-ratio:1/1.4142}
.cert2142-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:0}
.cert2142-content{position:absolute;z-index:2;left:var(--cert-left);top:var(--cert-top);width:var(--cert-width);height:var(--cert-height);box-sizing:border-box;padding:1%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden}
.cert2142-title{font-family:Georgia,'Times New Roman',serif;font-size:clamp(20px,2.25vw,37px);font-weight:800;letter-spacing:.07em;color:#405a75;margin-bottom:2%}
.cert2142-body{font-family:Georgia,'Times New Roman',serif;font-size:clamp(12px,1.18vw,19px);line-height:1.48;color:#384c60;max-width:100%}.cert2142-body .cert-recipient{display:inline-block;font-size:1.38em;font-weight:800;color:#24435f}.cert2142-body .cert-event-name{font-weight:800}.cert2142-folio{font-size:clamp(7px,.65vw,10px);margin-top:2%;color:#777}
.cert2142-sign{position:absolute;z-index:3;top:var(--sig-y);width:var(--sig-w);height:12%;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;overflow:visible}
.cert2142-sign.sig1{left:var(--sig1-x)}.cert2142-sign.sig2{left:var(--sig2-x)}
.cert2142-sign>img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;object-position:center bottom;margin:0 auto}
.cert2142-signer{position:absolute;top:103%;left:50%;transform:translateX(-50%);width:160%;text-align:center;color:#3f4850}.cert2142-signer strong,.cert2142-signer span{display:block}.cert2142-signer strong{font-size:clamp(7px,.8vw,12px)}.cert2142-signer span{font-size:clamp(6px,.65vw,9px)}
.cert2142-guide{display:none}.cert2142.preview .cert2142-guide{display:block;position:absolute;z-index:10;left:8%;right:8%;top:var(--sig-y);border-top:1px dashed #d12b2b;pointer-events:none}
.current-signatures{display:flex;align-items:center;gap:18px;margin:10px 0 16px}.current-signatures img{max-width:170px;max-height:75px;object-fit:contain;border:1px solid #ddd;border-radius:8px;padding:5px;background:#fff}
@media print{@page{size:A4 landscape;margin:0}.cert2142{width:100vw!important;height:100vh!important;aspect-ratio:auto!important;margin:0!important;box-shadow:none!important}.certificate-toolbar,.cert2142-guide{display:none!important}}

/* PATCH 2.15 · EDITOR VISUAL DE CONSTANCIAS */
.visual-editor-card{align-self:start}.cert-editor{position:relative;width:100%;overflow:hidden;background:#f4f2ef;border:1px solid #ddd2c7;border-radius:14px;touch-action:none;user-select:none}.cert-editor.landscape{aspect-ratio:1.4142/1}.cert-editor.portrait{aspect-ratio:1/1.4142}.cert-editor-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}.cert-editor-empty{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:30px;color:#877d75}
.editor-box{position:absolute;border:2px dashed #8a1d3f;background:#8a1d3f0d;cursor:move;box-sizing:border-box}.editor-box>span{position:absolute;left:5px;top:4px;background:#8a1d3f;color:#fff;padding:3px 5px;border-radius:5px;font-size:8px;font-weight:900}.resize-handle{position:absolute;width:18px;height:18px;right:-2px;bottom:-2px;background:#8a1d3f;border:2px solid #fff;border-radius:50%;cursor:nwse-resize}
.editor-signature-box{position:absolute;transform:translate(-50%,-100%);height:12%;display:flex;align-items:flex-end;justify-content:center;cursor:move;border:1px dashed #c18b27;background:#fff8df30;box-sizing:border-box}.editor-signature-box img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;object-position:center bottom}.editor-signature-box span{font-size:9px;font-weight:900;color:#86611f}.editor-help{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;font-size:9px;color:#756c66}

.cert215{--c-left:22%;--c-top:27%;--c-width:56%;--c-height:30%;--s1x:42%;--s1y:72%;--s1w:13%;--s2x:58%;--s2y:72%;--s2w:13%;position:relative;margin:18px auto;background:#fff;overflow:hidden;box-shadow:0 18px 50px #0002}
.cert215.landscape{width:min(1120px,96vw);aspect-ratio:1.4142/1}.cert215.portrait{width:min(760px,94vw);aspect-ratio:1/1.4142}
.cert215-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:0}
.cert215-content{position:absolute;z-index:2;left:var(--c-left);top:var(--c-top);width:var(--c-width);height:var(--c-height);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-sizing:border-box;padding:1.5%;overflow:hidden}
.cert215-title{font-family:Georgia,'Times New Roman',serif;font-size:clamp(18px,2vw,34px);font-weight:800;letter-spacing:.06em;color:#435c74;margin-bottom:2%}.cert215-body{font-family:Georgia,'Times New Roman',serif;font-size:clamp(11px,1.12vw,18px);line-height:1.45;color:#3f4c59}.cert215-name{font-size:1.42em;font-weight:800;color:#1f3f5d}.cert215-event{font-weight:800;color:#435c74}.cert215-folio{font-size:clamp(7px,.65vw,10px);color:#777;margin-top:2%}
.cert215-sign{position:absolute;z-index:3;height:12%;transform:translate(-50%,-100%);display:flex;align-items:flex-end;justify-content:center}.cert215-sign.sig1{left:var(--s1x);top:var(--s1y);width:var(--s1w)}.cert215-sign.sig2{left:var(--s2x);top:var(--s2y);width:var(--s2w)}.cert215-sign>img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;object-position:center bottom}.cert215-signer{position:absolute;left:50%;top:103%;transform:translateX(-50%);width:170%;text-align:center}.cert215-signer strong,.cert215-signer span{display:block}.cert215-signer strong{font-size:clamp(7px,.78vw,11px)}.cert215-signer span{font-size:clamp(6px,.62vw,9px)}
@media print{@page{size:A4 landscape;margin:0}.cert215{width:100vw!important;height:100vh!important;aspect-ratio:auto!important;margin:0!important;box-shadow:none!important}.certificate-toolbar{display:none!important}}

/* HOTFIX 2.15.1 · CONSTANCIA DE EMERGENCIA ESTABLE */
/* Ignora por completo las coordenadas experimentales anteriores. */
.emergency-certificate{
  position:relative;
  width:min(1120px,96vw);
  aspect-ratio:2000/1414;
  margin:18px auto;
  overflow:hidden;
  background:#fff;
  box-shadow:0 18px 55px #0002;
}
.emergency-cert-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:fill;
  z-index:0;
}
.emergency-cert-content{
  position:absolute;
  z-index:2;
  left:20%;
  top:27%;
  width:60%;
  height:34%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  box-sizing:border-box;
  padding:1.5% 3%;
  overflow:hidden;
}
.emergency-cert-title{
  font-family:Georgia,'Times New Roman',serif;
  font-weight:800;
  font-size:clamp(20px,2.2vw,38px);
  letter-spacing:.07em;
  color:#415d79;
  margin-bottom:2.3%;
}
.emergency-cert-body{
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(11px,1.17vw,19px);
  line-height:1.52;
  color:#405164;
  max-width:100%;
}
.emergency-cert-body .ec-name{
  display:inline-block;
  font-size:1.5em;
  line-height:1.2;
  font-weight:800;
  color:#233f5b;
  margin:.12em .12em;
}
.emergency-cert-body .ec-event{
  font-weight:800;
  color:#415d79;
}
.emergency-cert-body .ec-value{font-weight:700;}
.emergency-cert-folio{
  margin-top:2.4%;
  font-size:clamp(7px,.65vw,10px);
  color:#777;
}

/*
 * Firmas fuera del cuerpo:
 * - ancho fijo proporcional
 * - altura limitada
 * - object-fit contain
 * - nunca se deforman
 */
.emergency-sign{
  position:absolute;
  z-index:3;
  top:70%;
  width:20%;
  min-height:18%;
  text-align:center;
}
.emergency-sign-left{left:20%;}
.emergency-sign-right{right:20%;}
.emergency-sign-imgwrap{
  width:100%;
  height:88px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  overflow:hidden;
}
.emergency-sign-imgwrap img{
  display:block;
  max-width:88%;
  max-height:82px;
  width:auto;
  height:auto;
  object-fit:contain;
  object-position:center bottom;
}
.emergency-signer-name{
  margin-top:3px;
  font-size:clamp(7px,.8vw,12px);
  line-height:1.15;
  font-weight:800;
  color:#2d3f52;
}
.emergency-signer-title{
  margin-top:2px;
  font-size:clamp(6px,.63vw,9px);
  line-height:1.18;
  color:#56636f;
}
.emergency-toolbar{max-width:1120px;margin:12px auto;}

@media(max-width:700px){
 .emergency-cert-content{left:17%;width:66%;top:26%;height:35%;}
 .emergency-sign{width:23%;top:69%;}
 .emergency-sign-left{left:16%;}
 .emergency-sign-right{right:16%;}
 .emergency-sign-imgwrap{height:52px;}
 .emergency-sign-imgwrap img{max-height:48px;}
}
@media print{
 @page{size:A4 landscape;margin:0;}
 html,body{margin:0!important;padding:0!important;background:#fff!important;}
 header,.topbar,nav,footer,.emergency-toolbar{display:none!important;}
 .container{max-width:none!important;width:100%!important;margin:0!important;padding:0!important;}
 .emergency-certificate{
   width:297mm!important;
   height:210mm!important;
   aspect-ratio:auto!important;
   margin:0!important;
   box-shadow:none!important;
   page-break-after:avoid!important;
 }
}

/* HOTFIX 2.15.2 · MAQUETACIÓN VERIFICADA PARA FONDO 2000x1414 */
.certificate-2152{
    position:relative;
    width:min(1120px,96vw);
    aspect-ratio:2000/1414;
    margin:18px auto;
    overflow:hidden;
    background:#fff;
    box-shadow:0 18px 55px #0002;
    font-family:Georgia,'Times New Roman',serif;
}
.c2152-bg{
    position:absolute;
    z-index:0;
    inset:0;
    width:100%;
    height:100%;
    object-fit:fill;
}
.c2152-content{
    position:absolute;
    z-index:2;
    left:18.5%;
    top:27.5%;
    width:63%;
    height:35%;
    box-sizing:border-box;
    padding:0 2.5%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    overflow:hidden;
    color:#405a75;
}
.c2152-title{
    margin:0 0 2.2%;
    font-size:clamp(22px,2.35vw,40px);
    line-height:1;
    font-weight:800;
    letter-spacing:.055em;
    color:#3f5c78;
}
.c2152-body{
    max-width:100%;
    font-size:clamp(11px,1.14vw,19px);
    line-height:1.52;
    color:#405a75;
    text-wrap:balance;
}
.c2152-name{
    display:inline-block;
    margin:.12em .15em;
    font-size:1.52em;
    line-height:1.12;
    font-weight:800;
    color:#2c4a67;
}
.c2152-event{
    font-size:1.13em;
    font-weight:800;
    color:#3d5974;
}
.c2152-value{font-weight:700;}

/*
 * Dos firmas a izquierda/derecha del sello inferior central.
 * La zona de firmas no toca el bloque de contenido.
 */
.c2152-signatures{
    position:absolute;
    z-index:3;
    left:15%;
    right:15%;
    top:69%;
    height:16.5%;
    display:grid;
    grid-template-columns:1fr 1fr;
    column-gap:31%;
    align-items:end;
}
.c2152-signatures.single{
    grid-template-columns:minmax(0,34%);
    justify-content:center;
    column-gap:0;
}
.c2152-signature{
    position:relative;
    min-width:0;
    text-align:center;
    color:#324c64;
}
.c2152-sign-image{
    height:75px;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    overflow:visible;
}
.c2152-sign-image img{
    display:block;
    max-width:92%;
    max-height:72px;
    width:auto;
    height:auto;
    object-fit:contain;
    object-position:center bottom;
    /* Si la firma trae fondo blanco, éste se integra visualmente al papel. */
    mix-blend-mode:multiply;
}
.c2152-line{
    height:1px;
    width:100%;
    margin:2px auto 5px;
    background:#405a75;
    opacity:.82;
}
.c2152-signature strong{
    display:block;
    font-family:Arial,Helvetica,sans-serif;
    font-size:clamp(7px,.73vw,11px);
    line-height:1.1;
    font-weight:700;
}
.c2152-signature span{
    display:block;
    max-width:96%;
    margin:2px auto 0;
    font-family:Arial,Helvetica,sans-serif;
    font-size:clamp(6px,.60vw,9px);
    line-height:1.15;
    color:#536474;
}
.c2152-folio{
    position:absolute;
    z-index:3;
    left:50%;
    bottom:7.4%;
    transform:translateX(-50%);
    font-family:Arial,Helvetica,sans-serif;
    font-size:clamp(6px,.58vw,9px);
    color:#69737c;
    white-space:nowrap;
}
.c2152-toolbar{
    max-width:1120px;
    margin:12px auto;
}

@media(max-width:720px){
    .c2152-content{left:17%;width:66%;top:27%;height:35%}
    .c2152-signatures{left:12%;right:12%;column-gap:27%;top:68.5%}
    .c2152-sign-image{height:46px}
    .c2152-sign-image img{max-height:44px}
}
@media print{
    @page{size:A4 landscape;margin:0;}
    html,body{margin:0!important;padding:0!important;background:#fff!important;}
    header,.topbar,nav,footer,.c2152-toolbar{display:none!important;}
    .container{max-width:none!important;width:100%!important;margin:0!important;padding:0!important;}
    .certificate-2152{
        width:297mm!important;
        height:210mm!important;
        aspect-ratio:auto!important;
        margin:0!important;
        box-shadow:none!important;
        page-break-inside:avoid!important;
    }
}

/* PATCH 2.16 · Eventos, historial, catálogo pendiente y constancias */
.c2152-type{font-weight:700;color:#405a75}
.c2152-signatures{left:13%;right:13%;column-gap:20%;height:19%;top:67.5%}
.c2152-signature{min-width:0;overflow:visible}
.c2152-signature strong,.c2152-signature span{white-space:normal;overflow-wrap:anywhere;max-width:100%;margin-left:auto;margin-right:auto}
.c2152-signature strong{font-size:clamp(6px,.67vw,10px)}
.c2152-signature span{font-size:clamp(5px,.54vw,8px);max-width:92%}
.c2152-sign-image{height:68px}.c2152-sign-image img{max-height:65px}
.c2152-folio{bottom:4.5%}
@media(max-width:720px){
 .certificate-2152{width:100%;max-width:none;box-shadow:none}
 .c2152-signatures{left:9%;right:9%;column-gap:14%;top:66%;height:22%}
 .c2152-sign-image{height:36px}.c2152-sign-image img{max-height:34px}
 .c2152-signature strong{font-size:5.5px}.c2152-signature span{font-size:4.8px}
 .c2152-folio{bottom:3%;font-size:5px}
}
@media print{
 .c2152-signatures{left:13%!important;right:13%!important;column-gap:20%!important;top:67.5%!important;height:19%!important}
 .c2152-sign-image{height:18mm!important}.c2152-sign-image img{max-height:17mm!important}
 .c2152-signature strong{font-size:8pt!important}.c2152-signature span{font-size:6.5pt!important}
 .c2152-folio{bottom:4mm!important}
}

.pending-definition{display:block!important;padding:10px 11px!important;border:1px dashed #d2aa53;background:#fff7de!important;color:#785600!important}
.pending-definition strong,.pending-definition small{display:block}.pending-definition small{margin-top:3px;font-size:8px;line-height:1.3}
.activity-publish-note{background:#f4f8ff;border-color:#c9d7ec;color:#43576f}

.my-events-section{margin-top:28px}.my-events-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:12px}.my-events-heading h2{margin:6px 0 3px}.my-events-heading p{margin:0;color:#756c66}.my-events-heading>strong{font-size:13px;color:#7b1e3a}
.event-history-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.event-history-top>span:last-child{font-size:9px;font-weight:900;color:#8e6b36;text-transform:uppercase}.event-history-card small{display:block;margin:8px 0;color:#756c66}.empty-events{text-align:center;padding:30px}
.event-history-shortcut{border-color:#d9c18a!important}
.contact-progress{margin-top:12px;padding:10px;border-radius:10px;background:#f3eee8;font-weight:850;color:#6f1836}
@media(max-width:700px){.my-events-heading{display:block}.my-events-heading>strong{display:block;margin-top:8px}}
\n/* PATCH 2.17 */\n.registration-window-box{margin:14px 0;padding:14px;border:1px solid #d9bd76;border-radius:14px;background:linear-gradient(135deg,#fff8e8,#fffdf8)}\n.reopen-inline{display:flex;align-items:end;gap:7px;margin-top:8px}.reopen-inline label{font-size:9px;margin:0}.reopen-inline input{padding:6px 7px}.required-mark{color:#b42318;font-weight:900}.kpi-detail{display:block;margin-top:3px;font-size:8px;color:#d8cbd0;font-weight:500}@media(max-width:700px){.reopen-inline{align-items:stretch;flex-direction:column}}\n
/* PATCH 2.18 · EVENTOS ORDENADOS */
.event-admin-title{align-items:center}.event-admin-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}.event-editor-card{padding:0;overflow:hidden}.event-admin-form{display:block}.event-form-section{padding:22px 24px;border-bottom:1px solid #eee5dc}.event-form-heading{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px}.event-form-heading>span{flex:0 0 28px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#6f1836;color:#fff;font-size:11px;font-weight:950}.event-form-heading h2{margin:0 0 3px;font-size:19px}.event-form-heading p{margin:0;color:#7b716a;font-size:10px}.event-fields{display:grid;gap:12px}.event-fields.two{grid-template-columns:repeat(2,minmax(0,1fr))}.event-fields.three{grid-template-columns:repeat(3,minmax(0,1fr))}.event-fields.four{grid-template-columns:repeat(4,minmax(0,1fr))}.event-fields input,.event-fields select,.event-admin-form input,.event-admin-form select,.event-admin-form textarea{width:100%;box-sizing:border-box}.registration-section{background:linear-gradient(135deg,#fffaf0,#fffdf9)}.event-window-summary{margin:-4px 0 13px;padding:9px 11px;border-radius:10px;background:#fff3cf;border:1px solid #e5c46d;color:#725400;font-size:9px}.event-option-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.event-toggle{display:flex!important;gap:9px;align-items:flex-start;padding:12px;border:1px solid #e3d9d0;border-radius:12px;background:#fff}.event-toggle input{width:auto!important;margin-top:2px}.event-toggle span,.event-toggle strong,.event-toggle small{display:block}.event-toggle strong{font-size:11px}.event-toggle small{font-size:9px;color:#7a716b}.event-form-actions{display:flex;gap:8px;flex-wrap:wrap;padding:18px 24px;background:#f8f4ef}.event-admin-side{display:grid;gap:14px;position:sticky;top:74px}.reopen-card{border-color:#dec47d;background:#fffaf0}.event-list-heading{display:flex;align-items:end;justify-content:space-between;gap:15px;margin:32px 0 12px}.event-list-heading form{display:flex;align-items:end;gap:7px}.event-list-heading input{width:90px}.event-admin-list{display:grid;gap:12px}.event-admin-item{padding:16px 18px;overflow:visible}.event-admin-item-main{display:flex;align-items:flex-start;gap:14px}.event-admin-date{flex:0 0 54px;width:54px;height:58px;border-radius:14px;background:#6f1836;color:#fff;display:grid;place-items:center;align-content:center}.event-admin-date strong{font-size:21px;line-height:1}.event-admin-date span{font-size:8px;color:#efd188;margin-top:3px}.event-admin-info{min-width:0;flex:1}.event-admin-info h3{margin:5px 0 8px;font-size:18px;overflow-wrap:anywhere}.event-admin-tags{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.status-dot{font-size:8px;font-weight:900;text-transform:uppercase;padding:4px 7px;border-radius:999px;background:#f0ece8}.status-scheduled{color:#795500;background:#fff3ce}.status-completed{color:#2d6940;background:#eaf6ed}.status-cancelled{color:#9b2b2b;background:#fdeaea}.event-admin-metadata{display:flex;gap:7px 16px;flex-wrap:wrap;color:#716861;font-size:9px}.event-admin-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.event-admin-actions .btn{white-space:nowrap}.event-reopen-details{margin-top:13px;padding-top:11px;border-top:1px solid #eee6df}.event-reopen-details summary{cursor:pointer;color:#7b1e3a;font-size:10px;font-weight:900}.event-reopen-grid{display:grid;grid-template-columns:1.2fr .8fr 1.2fr .8fr auto;gap:8px;align-items:end;margin-top:10px}.event-reopen-grid input{width:100%;box-sizing:border-box}
@media(max-width:1050px){.event-admin-layout{grid-template-columns:1fr}.event-admin-side{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.event-fields.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.event-form-section{padding:18px 16px}.event-fields.two,.event-fields.three,.event-fields.four,.event-option-grid{grid-template-columns:1fr}.event-admin-side{grid-template-columns:1fr}.event-list-heading{display:block}.event-list-heading form{margin-top:8px}.event-admin-actions .btn{flex:1 1 auto;text-align:center}.event-reopen-grid{grid-template-columns:1fr 1fr}.event-reopen-grid .btn{grid-column:1/-1}.event-admin-metadata{display:grid;gap:4px}}

/* HOTFIX 2.18.1 · MIS EVENTOS */
.my-events-heading>.actions{align-items:center}.my-events-heading>.actions>strong{font-size:13px;color:#7b1e3a}
.my-events-summary{display:grid;grid-template-columns:repeat(2,minmax(0,220px));gap:12px;margin-bottom:18px}
.my-events-summary .card{padding:16px 18px}.my-events-summary span{display:block;font-size:9px;color:#776e68;text-transform:uppercase;font-weight:850}.my-events-summary strong{display:block;font-size:30px;margin-top:3px;color:#6f1836}
.event-history-meta{display:grid;gap:3px;margin:9px 0 12px;font-size:9px;color:#756c66}
.my-events-full{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.my-events-full{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.my-events-summary{grid-template-columns:1fr 1fr}.my-events-full{grid-template-columns:1fr}.my-events-heading>.actions{margin-top:8px}}

/* HOTFIX 2.19 · VINCULACIÓN DE HISTORIAL */
.history-link-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);gap:22px;align-items:center;margin-bottom:16px;border-color:#dcc786;background:linear-gradient(135deg,#fffaf0,#fff)}
.history-link-card h2{margin:6px 0}.history-link-card p{margin:0;color:#6f6863;line-height:1.45}
.history-claim-form{display:grid;gap:9px}.history-claim-form label{margin:0}.history-claim-form .btn{justify-self:start}
.history-zero-notice{margin:14px 0}.history-zero-notice a{color:#6f1836}
@media(max-width:760px){.history-link-card{grid-template-columns:1fr}.history-claim-form .btn{width:100%}}

/* EXTENAPP 2.20 · VINCULACIÓN INSTITUCIONAL */
.linkage-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.linkage-hub-card{text-decoration:none;color:inherit;transition:.18s transform,.18s box-shadow}.linkage-hub-card:hover{transform:translateY(-3px);box-shadow:0 18px 35px #0002}.linkage-hub-card>strong{display:block;font-size:34px;color:#7b1e3a;margin:11px 0 2px}.linkage-hub-card h2{margin:3px 0 6px}.linkage-hub-card p{margin:0;color:#766d66}
.public-request-wrap{max-width:980px;margin:auto}.request-success{text-align:center;padding:38px}.request-code{display:inline-block;margin:12px 0;padding:14px 20px;border:1px solid #d4b45c;background:#fff8df;border-radius:12px;font-size:24px;font-weight:950;letter-spacing:.08em;color:#6f1836}
.request-tabs{display:flex;gap:8px;margin:15px 0}.request-tabs a{padding:8px 12px;border-radius:999px;background:#eee8e3;text-decoration:none;color:#625a55;font-weight:800;font-size:10px}.request-tabs a.active{background:#6f1836;color:#fff}.request-admin-list{display:grid;gap:13px}.request-admin-card{overflow:visible}.request-card-head{display:flex;justify-content:space-between;align-items:start;gap:15px}.request-card-head h2{margin:7px 0}.official-folio{padding:8px 10px;border-radius:10px;background:#fff2ca;color:#725400;white-space:nowrap}.request-meta{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:9px;color:#6e665f}.request-review-actions{margin-top:12px;padding-top:12px;border-top:1px solid #eee3db}
.c2152-folio strong{color:#6f1836}
@media(max-width:900px){.linkage-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.linkage-hub-grid{grid-template-columns:1fr}.request-card-head{display:block}.official-folio{display:inline-block;margin-bottom:8px}}

/* EXTENAPP 2.20.2 · SOLICITUD EXTERNA COMPLETA */
.public-event-request{padding:0;overflow:hidden}.request-form-section{padding:22px 24px;border-bottom:1px solid #eee4dc}.request-submit{padding:18px 24px;background:#f7f3ef;display:flex;justify-content:space-between;align-items:center;gap:15px}.request-submit p{margin:0;color:#6f665f;font-size:10px}
.flyer-choice{border:0;padding:0;margin:16px 0 0}.flyer-choice legend{font-size:11px;font-weight:900;margin-bottom:8px}.flyer-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.flyer-upload-box{margin-top:12px;padding:13px;border:1px dashed #d5b65d;background:#fff9e7;border-radius:12px}.flyer-upload-box small{display:block;margin-top:5px;color:#796f66}
.request-data-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 12px;margin:14px 0}.request-data-grid>div{padding:10px;border-radius:10px;background:#f8f5f2}.request-data-grid small,.request-data-grid strong{display:block}.request-data-grid small{font-size:8px;text-transform:uppercase;color:#847970;font-weight:800;margin-bottom:3px}.request-data-grid strong{font-size:10px;overflow-wrap:anywhere}
.request-flyer-preview{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;background:#f7f3ef;margin:12px 0}.request-flyer-preview img{width:90px;height:90px;object-fit:cover;border-radius:10px}.flyer-design-alert{margin:12px 0;padding:11px;border-radius:10px;background:#fff2c8;border:1px solid #ddbd5b;color:#725400}.approval-explanation{padding:10px 11px;margin:10px 0;background:#edf6ef;border:1px solid #c5dec9;border-radius:10px;font-size:9px;color:#376147}
@media(max-width:760px){.request-data-grid{grid-template-columns:1fr 1fr}.flyer-choice{grid-template-columns:1fr}.request-submit{display:block}.request-submit .btn{width:100%;margin-top:10px}}
@media(max-width:520px){.request-data-grid{grid-template-columns:1fr}.request-form-section{padding:18px 16px}}

/* EXTENAPP 2.20.3 · APROBACIÓN + ASISTENCIA AUTOMÁTICA */
.approval-attendance-box{margin:14px 0;padding:15px;border:1px solid #d7bf77;border-radius:14px;background:linear-gradient(135deg,#fff9e9,#fff)}
.approval-attendance-box>.pill{margin-bottom:10px}.approval-attendance-box .event-toggle{margin-bottom:8px}
.approval-attendance-box>.event-fields{margin:12px 0}.approval-attendance-box>label:last-child{display:block;margin-top:10px}
.official-event-folio{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px;padding:12px 15px;border-radius:13px;background:#fff3ca;border:1px solid #d5b65e;color:#715200}
.official-event-folio span{font-size:9px;font-weight:850;text-transform:uppercase}.official-event-folio strong{font-size:18px;color:#6f1836}
@media(max-width:700px){.official-event-folio{display:block}.official-event-folio strong{display:block;margin-top:4px}}

/* EXTENAPP 2.21 · CONSTANCIAS CON MAYOR APROVECHAMIENTO HORIZONTAL */
.certificate-2152 .c2152-content{left:14.5%;width:71%;top:25.5%;height:38.5%;padding:0 2%}
.certificate-2152 .c2152-body{max-width:100%;font-size:clamp(10px,1.06vw,18px);line-height:1.46;text-wrap:pretty}
.certificate-2152 .c2152-name{font-size:1.58em;max-width:96%;overflow-wrap:anywhere}
.special-cert-content{justify-content:center!important}.special-cert-detail{display:inline-block;margin-top:8px;font-size:.78em;color:#66717d}
/* Plantilla pública */
.public-roster-control{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px;background:linear-gradient(135deg,#fff8e5,#fff)}.public-roster-control h3{margin:5px 0}.public-roster-control p{margin:0;color:#766d66}.public-roster-hero{text-align:center;padding:35px 20px;margin-bottom:18px;border-radius:24px;background:linear-gradient(130deg,#37111f,#761d3b);color:#fff}.public-roster-hero h1{font-size:42px;margin:8px 0}.public-roster-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.public-member-card{position:relative;background:#fff;border:1px solid #e8dfd7;border-radius:20px;overflow:hidden;box-shadow:0 12px 28px #00000010}.public-member-card img,.public-member-photo-empty{width:100%;aspect-ratio:4/5;object-fit:cover;background:#6f1836;color:#f0d18b;display:grid;place-items:center;font-size:28px;font-weight:900}.public-member-card>div:last-child{padding:14px}.public-member-card h3{margin:7px 0 3px}.public-member-card p{font-size:10px;color:#766e68}.member-number{position:absolute;top:10px;right:10px;background:#fff4d0;color:#6f1836;padding:5px 7px;border-radius:999px;font-weight:900}.public-roster-callout{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:16px}.public-roster-callout h2{margin:6px 0}.public-roster-callout p{margin:0;color:#746b65}
/* Trayectorias */
.reward-track-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.reward-track-card{overflow:hidden}.reward-track-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.reward-medal{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#6f1836;color:#efd18a;font-weight:950}.badge-road.compact{grid-template-columns:1fr;margin-top:12px}.benefit-track-head{display:flex;justify-content:space-between;align-items:end;margin:26px 0 10px}.benefit-track-head h2{margin:0}.benefit-track-head span{font-size:10px;color:#7c736d}
/* Curso especial */
.special-course-hero{padding:30px;border-radius:24px;background:linear-gradient(130deg,#32101d,#751d3a);color:#fff;margin-bottom:18px}.special-course-hero h1{font-size:38px;margin:7px 0}.special-course-status{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.special-course-status span{padding:7px 10px;border-radius:999px;background:#ffffff15;color:#e5d9dd;font-size:9px;font-weight:850}.special-course-status span.done{background:#e8c975;color:#542039}.exam-question{border:1px solid #e5ddd7;border-radius:14px;padding:14px;margin:12px 0}.exam-question legend{font-weight:900}.exam-question label{display:block;padding:7px 8px;border-radius:9px}.exam-question label:hover{background:#f7f3ef}.certificate-choice{display:block;padding:20px;border:1px solid #d8bf75;background:#fff9e8;border-radius:15px;text-decoration:none;color:#4c3940}.certificate-choice strong,.certificate-choice span{display:block}.certificate-choice span{margin-top:5px;font-size:10px;color:#7a6d65}.special-course-events{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.special-course-events a{padding:11px;border-radius:11px;border:1px solid #e5ddd7;text-decoration:none;color:inherit}.special-course-events a.active{border-color:#6f1836;background:#fff2f6}.special-course-events strong,.special-course-events small{display:block}.special-course-events small{margin-top:4px;color:#7d736d}.exam-admin-question{display:flex;justify-content:space-between;align-items:center;gap:10px}
@media(max-width:900px){.public-roster-grid{grid-template-columns:repeat(3,1fr)}.special-course-events{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.public-roster-control,.public-roster-callout{display:block}.public-roster-control form,.public-roster-callout .btn{margin-top:10px}.public-roster-grid{grid-template-columns:repeat(2,1fr)}.reward-track-grid{grid-template-columns:1fr}.special-course-status{display:grid}.special-course-events{grid-template-columns:1fr}.certificate-2152 .c2152-content{left:12%;width:76%;top:25%;height:40%}}

/* EXTENAPP 2.21.1 */
.roster-admin-preview{margin-bottom:16px;border:1px solid #d9c17b;background:linear-gradient(135deg,#fffaf0,#fff)}
.roster-admin-preview-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.roster-admin-preview-head h2{margin:6px 0}.roster-admin-preview-head p{margin:0;color:#766d66}
.admin-roster-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.admin-roster-member{display:grid;grid-template-columns:88px 1fr;gap:12px;padding:11px;border:1px solid #e6ddd6;border-radius:14px;background:#fff}
.admin-roster-member img,.admin-roster-avatar{width:88px;height:108px;object-fit:cover;border-radius:11px;background:#6f1836;color:#efd18a;display:grid;place-items:center;font-weight:900}
.admin-roster-member h3{margin:5px 0}.admin-roster-member p{margin:5px 0;font-size:10px;overflow-wrap:anywhere}
.admin-roster-member p small{display:block;text-transform:uppercase;font-size:7px;color:#8b8179;font-weight:850}
.admin-roster-flags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.admin-roster-flags span{font-size:8px;padding:4px 6px;border-radius:999px;background:#f3eee9}
.exam-result-notice{padding:10px 12px;margin:12px 0;border-radius:10px;background:#fff5d6;border:1px solid #dcc36d;color:#6b5718}
.certificate-number{font-size:8px!important;font-weight:900!important;text-transform:uppercase;color:#7b6d62!important;letter-spacing:.08em}
.special-cert-kind{font-size:9px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:#6f1836;margin-bottom:8px}
@media(max-width:1000px){.admin-roster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.roster-admin-preview-head{display:block}.roster-admin-preview-head .btn{margin-top:10px}.admin-roster-grid{grid-template-columns:1fr}}

/* EXTENAPP 2.21.3 · CRUD FOLIOS + DEPURACIÓN */
.folio-crud-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:12px}
.folio-crud-head h2{margin:5px 0}.folio-event-list{display:grid;gap:10px}
.folio-event-row{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(360px,2fr) auto;gap:12px;align-items:end;padding:13px;border:1px solid #e5ddd6;border-radius:14px;background:#fff}
.folio-event-info h3{margin:6px 0}.folio-event-info p{margin:0;color:#7b716b;font-size:9px}
.folio-inline-form{display:grid;grid-template-columns:120px 1fr auto;gap:8px;align-items:end}.folio-inline-form label{margin:0}
.user-event-search{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.user-event-search label{margin:0}
.user-search-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.user-search-results a{padding:10px;border:1px solid #e7dfd8;border-radius:11px;text-decoration:none;color:inherit}.user-search-results strong,.user-search-results span{display:block}.user-search-results span{font-size:9px;color:#7d746e;margin-top:3px}
.admin-user-events-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.admin-user-events-grid h3{margin:7px 0}.inline-delete-form{display:inline-block;margin:0}.linkage-super-tool{margin-top:14px;border:1px solid #d8bf75;background:#fff9e9}
@media(max-width:1000px){.folio-event-row{grid-template-columns:1fr}.folio-inline-form{grid-template-columns:110px 1fr auto}.admin-user-events-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.folio-inline-form,.user-event-search{grid-template-columns:1fr}.user-search-results,.admin-user-events-grid{grid-template-columns:1fr}}

/* EXTENAPP 2.21.4 */
.special-cert-admin-block{padding:14px;margin:14px 0;border:1px solid #d9c17a;border-radius:14px;background:#fffaf0}
.special-cert-admin-block.ethics{border-color:#b8c5d7;background:#f7faff}
.special-cert-admin-block h3{margin:6px 0 12px}.special-bg-current{display:grid;grid-template-columns:180px 1fr;gap:10px;align-items:center;margin:8px 0}.special-bg-current img{width:180px;aspect-ratio:1.414/1;object-fit:cover;border-radius:9px;border:1px solid #ddd}
.special-question-list{margin-top:16px}.special-question-list .exam-admin-question{padding:10px;border:1px solid #e4dcd5;border-radius:10px;background:#fff}.special-question-list small{display:block;margin-top:4px;color:#786f69}
@media(max-width:700px){.special-bg-current{grid-template-columns:1fr}.special-bg-current img{width:100%}}

/* EXTENAPP 2.21.5 · QR → DATOS → EXAMEN → DOS CONSTANCIAS */
.special-qr-flow{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.special-qr-flow span{padding:6px 9px;border-radius:999px;background:#ffffff15;color:#eee;font-size:9px;font-weight:850}.special-qr-flow span.done{background:#e9cb79;color:#5a2036}

/* ===== EXTENAPP 2.22 · NAVEGACIÓN Y ADMINISTRACIÓN ===== */
.topbar-222{gap:22px}.nav-222{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.nav-222>a,.nav-group>summary{border:0!important;background:transparent!important;box-shadow:none!important;padding:9px 10px!important;border-radius:9px!important;font-weight:750;cursor:pointer;list-style:none}.nav-group{position:relative}.nav-group>summary::-webkit-details-marker{display:none}.nav-group>summary:after{content:'⌄';font-size:9px;margin-left:5px}.nav-group[open]>summary,.nav-222>a:hover,.nav-group>summary:hover{background:rgba(255,255,255,.10)!important}.nav-pop{position:absolute;top:calc(100% + 8px);left:0;min-width:220px;padding:8px;background:#fff;border:1px solid #e5ddd5;border-radius:14px;box-shadow:0 18px 50px rgba(35,25,31,.18);z-index:100}.nav-pop.right{left:auto;right:0}.nav-pop a{display:block;color:#382d31!important;padding:9px 10px;border-radius:9px;text-decoration:none;font-size:10px}.nav-pop a:hover{background:#f6f1ed}.nav-cta{background:#c6a15b!important;color:#291c22!important}.admin-hero-222,.instructor-hero-222{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:28px 30px;margin:5px 0 18px;border-radius:22px;background:linear-gradient(135deg,#311b28,#6f1836);color:#fff;box-shadow:0 18px 45px rgba(62,25,41,.14)}.admin-hero-222 h1,.instructor-hero-222 h1{font-size:clamp(27px,4vw,48px);margin:6px 0}.admin-hero-222 p,.instructor-hero-222 p{max-width:720px;color:#eadfe4}.eyebrow{font-size:9px;letter-spacing:.18em;font-weight:900;color:#e4c77a}.admin-hero-user,.hero-stat{min-width:180px;padding:15px;border:1px solid rgba(255,255,255,.18);border-radius:15px;background:rgba(255,255,255,.07)}.admin-hero-user small,.admin-hero-user strong,.admin-hero-user span,.hero-stat small,.hero-stat strong{display:block}.hero-stat strong{font-size:38px}.admin-kpis-222{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:18px}.admin-kpis-222 article{padding:16px;border:1px solid #e6ded7;border-radius:16px;background:#fff}.admin-kpis-222 strong{display:block;font-size:28px;color:#6f1836}.admin-kpis-222 span{font-size:9px;color:#746970}.admin-groups-222{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-module-group{background:#fff;border:1px solid #e5ddd6;border-radius:18px;padding:18px}.module-group-head{display:flex;gap:12px;align-items:flex-start;border-bottom:1px solid #eee7e1;padding-bottom:13px}.module-group-head>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#6f1836;color:#fff;font-size:10px;font-weight:900}.module-group-head h2{margin:0}.module-group-head p{margin:4px 0 0;color:#7b7176;font-size:10px}.module-links{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;padding-top:12px}.module-links a{display:block;padding:11px;border-radius:11px;text-decoration:none;color:#392d32;background:#f8f5f2}.module-links a:hover{background:#efe7e2}.module-links strong,.module-links small{display:block}.module-links small{margin-top:3px;color:#81767b}.login-card-222,.upgrade-card{max-width:560px;margin:40px auto}.btn-big-222{width:100%;padding:14px}.quick-session-list{display:grid;gap:8px}.quick-session-list a{display:grid;grid-template-columns:1fr auto;gap:3px 10px;padding:11px;border:1px solid #e8e0da;border-radius:11px;text-decoration:none;color:inherit}.quick-session-list span{font-size:9px;color:#7b7075}.quick-session-list b{grid-row:1/3;grid-column:2;align-self:center;color:#6f1836;font-size:9px}.folio-example{font-size:24px;font-weight:900;color:#6f1836;padding:14px;background:#faf5ee;border-radius:12px}.exam-review-list{display:grid;gap:10px}.exam-review{border-left:5px solid #999}.exam-review.ok{border-left-color:#56845c}.exam-review.bad{border-left-color:#9a4b4b}.review-option{padding:8px;border-radius:8px;margin:5px 0}.review-option.chosen{background:#f6ecef}.review-option.correct{box-shadow:inset 0 0 0 1px #84a98a}
/* ===== CONSTANCIA A4 ESTABLE ===== */
.certificate-2152{position:relative;width:min(100%,1122px);aspect-ratio:297/210;margin:0 auto;background:#fff;overflow:hidden}.c2152-bg{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:fill!important}.certificate-2152 .c2152-content{position:absolute!important;left:14.5%!important;top:25.5%!important;width:71%!important;height:38%!important;padding:0 2%!important;box-sizing:border-box!important}.certificate-2152 .c2152-title{font-size:18pt!important;line-height:1.15!important}.certificate-2152 .c2152-body{font-size:12pt!important;line-height:1.46!important;max-width:100%!important}.certificate-2152 .c2152-name{font-size:19pt!important;line-height:1.15!important}.certificate-2152 .c2152-signatures{position:absolute!important;left:13%!important;right:13%!important;top:67%!important;height:19%!important;column-gap:20%!important}.certificate-2152 .c2152-sign-image{height:16mm!important}.certificate-2152 .c2152-sign-image img{max-height:16mm!important;max-width:46mm!important;object-fit:contain!important}.certificate-2152 .c2152-signature strong{font-size:8pt!important}.certificate-2152 .c2152-signature span{font-size:6.5pt!important}.certificate-2152 .c2152-folio{position:absolute!important;bottom:4.5%!important;left:10%!important;right:10%!important;font-size:7pt!important}.certificate-2152.cert-layout-wide .c2152-content{left:10%!important;width:80%!important;top:24%!important}.certificate-2152.cert-layout-wide .c2152-body{font-size:11.5pt!important}.certificate-2152.cert-layout-minimal .c2152-content{left:18%!important;width:64%!important;top:29%!important}.certificate-2152.cert-layout-minimal .c2152-title{font-size:15pt!important}.certificate-2152.cert-layout-minimal .c2152-body{font-size:11pt!important;line-height:1.6!important}
@media print{@page{size:A4 landscape;margin:0}html,body{width:297mm!important;height:210mm!important;margin:0!important;padding:0!important;background:#fff!important}header,.topbar,nav,footer,.certificate-toolbar,.c2152-toolbar{display:none!important}.container{width:297mm!important;max-width:none!important;margin:0!important;padding:0!important}.certificate-2152{width:297mm!important;height:210mm!important;max-width:none!important;aspect-ratio:auto!important;margin:0!important;box-shadow:none!important;page-break-after:avoid!important}.certificate-2152 .c2152-content{left:43mm!important;top:53.5mm!important;width:211mm!important;height:80mm!important}.certificate-2152.cert-layout-wide .c2152-content{left:30mm!important;top:50mm!important;width:237mm!important}.certificate-2152.cert-layout-minimal .c2152-content{left:53mm!important;top:61mm!important;width:190mm!important}.certificate-2152 .c2152-signatures{left:38mm!important;right:38mm!important;top:141mm!important;height:40mm!important}.certificate-2152 .c2152-folio{left:30mm!important;right:30mm!important;bottom:9mm!important}}
@media(max-width:900px){.admin-kpis-222{grid-template-columns:repeat(2,1fr)}.admin-groups-222{grid-template-columns:1fr}.topbar-222{align-items:flex-start}.nav-222{justify-content:flex-end}.nav-pop{position:fixed;left:12px!important;right:12px!important;top:72px;min-width:0}.admin-hero-222,.instructor-hero-222{display:block}.admin-hero-user,.hero-stat{margin-top:15px}.certificate-2152{width:100%}.certificate-2152 .c2152-title{font-size:clamp(10px,3vw,18pt)!important}.certificate-2152 .c2152-body{font-size:clamp(7px,2vw,12pt)!important}.certificate-2152 .c2152-name{font-size:clamp(10px,3vw,19pt)!important}.certificate-2152 .c2152-signature strong{font-size:clamp(4px,1.2vw,8pt)!important}.certificate-2152 .c2152-signature span{font-size:clamp(3px,1vw,6.5pt)!important}}
@media(max-width:650px){.admin-kpis-222{grid-template-columns:1fr 1fr}.module-links{grid-template-columns:1fr}.brand small{display:none}.nav-direct{display:none}.topbar-222{padding-left:10px;padding-right:10px}}

/* =====================================================================
   EXTENAPP 2.22.1 · INTERFAZ INSTITUCIONAL PROFESIONAL
   Sólo cambia experiencia visual: navegación, administración y login.
   ===================================================================== */
:root{
  --uaz-wine:#6f1736;
  --uaz-wine-deep:#3e0c21;
  --uaz-gold:#c7a65a;
  --uaz-navy:#182b49;
  --ui-ink:#172033;
  --ui-muted:#70788a;
  --ui-line:#e7e9ef;
  --ui-surface:#ffffff;
  --ui-soft:#f7f8fa;
}

/* Barra superior: texto y jerarquía, no colección de botones */
.topbar-223{
  min-height:72px;
  padding:10px max(20px,calc((100vw - 1240px)/2));
  background:#fff;
  color:var(--ui-ink);
  border-bottom:1px solid #e7e7e9;
  box-shadow:0 5px 18px rgba(18,23,38,.045);
  gap:28px;
}
.brand-223{gap:11px;min-width:280px}.brand-mark-223{width:45px;height:45px;display:grid;place-items:center;flex:0 0 45px}.brand-mark-223 img{width:100%;height:100%;object-fit:contain}.brand-copy-223 strong{font-size:19px;line-height:1.05;color:var(--uaz-wine);letter-spacing:-.025em}.brand-copy-223 small{display:block;margin-top:4px;font-size:9px;color:#737887;letter-spacing:.025em}
.nav-223{display:flex;align-items:center;justify-content:flex-end;gap:23px;flex-wrap:nowrap;margin-left:auto}.nav-223>a,.nav-223 .nav-group>summary{position:relative;padding:10px 0!important;border-radius:0!important;background:transparent!important;border:0!important;color:#51596a!important;font-size:11px;font-weight:750;box-shadow:none!important;white-space:nowrap;cursor:pointer;list-style:none}.nav-223 .nav-group>summary::-webkit-details-marker{display:none}.nav-223 .nav-group>summary:after{content:'⌄';margin-left:6px;font-size:8px;color:#9197a3}.nav-223>a:before,.nav-223 .nav-group>summary:before{content:'';position:absolute;left:0;right:100%;bottom:4px;height:2px;background:var(--uaz-wine);transition:right .18s ease}.nav-223>a:hover:before,.nav-223 .nav-group>summary:hover:before,.nav-223 .nav-group[open]>summary:before{right:0}.nav-223>a:hover,.nav-223 .nav-group>summary:hover,.nav-223 .nav-group[open]>summary{color:var(--uaz-wine)!important;background:transparent!important}.nav-223 .nav-admin-link{color:var(--uaz-wine)!important;font-weight:850}.nav-223 .nav-cta{padding:9px 14px!important;border-radius:8px!important;background:var(--uaz-wine)!important;color:white!important}.nav-223 .nav-cta:before{display:none}.nav-223 .nav-cta:hover{background:var(--uaz-wine-deep)!important}.nav-223 .nav-pop{top:calc(100% + 12px);min-width:225px;padding:7px;background:#fff;border:1px solid #e5e7eb;border-radius:11px;box-shadow:0 18px 48px rgba(24,31,46,.14)}.nav-223 .nav-pop a{padding:10px 11px;border-radius:7px;font-size:10px;color:#303747!important}.nav-223 .nav-pop a:hover{background:#f6f7f9;color:var(--uaz-wine)!important}

/* ADMIN: la topbar global desaparece; el dashboard tiene navegación propia */
.admin-page-223{background:#f5f6f8;color:var(--ui-ink)}.admin-page-223>.topbar,.admin-page-223>.footer{display:none!important}.admin-page-223>.container{max-width:none;padding:0;margin:0}.admin-page-223>.flash{position:fixed;z-index:300;top:14px;left:50%;transform:translateX(-50%);box-shadow:0 14px 40px #0002}
.admin-shell-223{min-height:100vh;display:grid;grid-template-columns:270px minmax(0,1fr)}
.admin-sidebar-223{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:24px 18px 18px;background:#fff;border-right:1px solid #e4e6eb;overflow:auto}.admin-side-brand-223{display:flex;align-items:center;gap:11px;padding:0 8px 19px;border-bottom:1px solid #eceef2}.admin-side-brand-223 img{width:42px;height:42px;object-fit:contain}.admin-side-brand-223 strong,.admin-side-brand-223 small{display:block}.admin-side-brand-223 strong{color:var(--uaz-wine);font-size:18px;line-height:1}.admin-side-brand-223 small{margin-top:5px;color:#858b98;font-size:9px;letter-spacing:.08em;text-transform:uppercase}
.admin-user-223{display:flex;align-items:center;gap:10px;padding:17px 8px 9px}.admin-user-avatar-223{width:35px;height:35px;border-radius:10px;display:grid;place-items:center;background:#f2e9ed;color:var(--uaz-wine);font-size:13px;font-weight:900}.admin-user-223 strong,.admin-user-223 small{display:block;max-width:175px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-user-223 strong{font-size:10px}.admin-user-223 small{margin-top:3px;font-size:8px;color:#8a909b}
.admin-side-nav-223{display:grid;gap:2px;padding:7px 0 18px}.admin-nav-label-223{padding:14px 9px 6px;color:#a0a5af;font-size:7px;font-weight:900;letter-spacing:.16em}.admin-side-nav-223>a{display:grid;grid-template-columns:29px 1fr;align-items:center;gap:9px;padding:9px;border-radius:8px;color:#424958;transition:.16s ease}.admin-side-nav-223>a:hover{background:#f6f7f9;color:var(--uaz-wine)}.admin-side-nav-223>a.active{background:#f6eef1;color:var(--uaz-wine)}.admin-nav-icon-223{width:27px;height:27px;border-radius:7px;display:grid;place-items:center;border:1px solid #e5e7eb;color:#8a909b;font-size:7px;font-weight:900}.admin-side-nav-223>a.active .admin-nav-icon-223{border-color:#dfc9d2;background:#fff;color:var(--uaz-wine)}.admin-side-nav-223 strong,.admin-side-nav-223 small{display:block}.admin-side-nav-223 strong{font-size:9.5px}.admin-side-nav-223 small{margin-top:2px;color:#9297a2;font-size:7.5px;font-weight:500}.admin-side-foot-223{margin-top:auto;padding:13px 8px 0;border-top:1px solid #eceef2;display:flex;justify-content:space-between;gap:8px}.admin-side-foot-223 a{font-size:8px;color:#7a808c}.admin-side-foot-223 a:hover{color:var(--uaz-wine)}
.admin-main-223{min-width:0;padding:38px clamp(25px,4vw,58px) 60px}.admin-main-head-223{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:28px}.admin-date-223{display:block;margin-bottom:8px;color:#9a7b3e;font-size:8px;font-weight:900;letter-spacing:.14em}.admin-main-head-223 h1{margin:0;color:#1b2230;font-size:clamp(28px,3.4vw,43px);font-weight:750;letter-spacing:-.045em}.admin-main-head-223 p{margin:8px 0 0;color:#777e8d;font-size:11px}.admin-head-actions-223{display:flex;gap:8px;flex:0 0 auto}.admin-head-actions-223 a{padding:10px 14px;border-radius:8px;font-size:9px;font-weight:850}.admin-primary-action-223{background:var(--uaz-wine);color:#fff}.admin-primary-action-223:hover{background:var(--uaz-wine-deep)}.admin-secondary-action-223{background:#fff;color:#414856;border:1px solid #dedfe4}.admin-secondary-action-223:hover{border-color:#bfc2c9}
.admin-metrics-223{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#fff;border:1px solid #e4e6eb;border-radius:14px;margin-bottom:18px;overflow:hidden}.admin-metrics-223 article{position:relative;padding:19px 21px;border-right:1px solid #eceef2}.admin-metrics-223 article:last-child{border-right:0}.admin-metrics-223 span,.admin-metrics-223 strong,.admin-metrics-223 small{display:block}.admin-metrics-223 span{font-size:7px;font-weight:900;letter-spacing:.14em;color:#999eaa}.admin-metrics-223 strong{margin:5px 0 2px;font-size:28px;line-height:1;color:#202735;letter-spacing:-.04em}.admin-metrics-223 small{font-size:8px;color:#8b909b}
.admin-dashboard-grid-223{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:18px;margin-bottom:18px}.admin-panel-223{background:#fff;border:1px solid #e4e6eb;border-radius:14px;overflow:hidden}.admin-panel-head-223{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:20px 21px 15px;border-bottom:1px solid #eceef2}.admin-panel-head-223 span{display:block;margin-bottom:5px;color:#a08042;font-size:7px;font-weight:900;letter-spacing:.14em}.admin-panel-head-223 h2{margin:0;font-size:16px;letter-spacing:-.02em}.admin-panel-head-223>small{color:#9398a2;font-size:8px}
.admin-operation-list-223{display:grid}.admin-operation-list-223>a{display:grid;grid-template-columns:35px 1fr auto;gap:12px;align-items:center;padding:16px 21px;border-bottom:1px solid #eff0f3;transition:.15s ease}.admin-operation-list-223>a:last-child{border-bottom:0}.admin-operation-list-223>a:hover{background:#fafafb}.operation-index-223{width:31px;height:31px;display:grid;place-items:center;border-radius:8px;background:#f5f1f2;color:var(--uaz-wine);font-size:7px;font-weight:900}.admin-operation-list-223 strong{display:block;font-size:10px;color:#2c3340}.admin-operation-list-223 p{margin:4px 0 0;color:#8a909b;font-size:8px}.admin-operation-list-223>a>span{color:#a6abb4;font-size:16px}.admin-operation-list-223>a:hover>span{color:var(--uaz-wine)}
.admin-pending-223{align-self:start}.pending-counter-223{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 21px;border-bottom:1px solid #eff0f3}.pending-counter-223 strong,.pending-counter-223 span{display:block}.pending-counter-223 strong{font-size:24px;color:#242b39}.pending-counter-223 span{margin-top:2px;color:#858b97;font-size:8px}.pending-counter-223 a{padding:7px 9px;border-radius:7px;background:#f5f6f8;color:#5a616e;font-size:8px;font-weight:800}.pending-counter-223 a:hover{color:var(--uaz-wine)}.admin-system-note-223{display:flex;align-items:center;gap:9px;padding:17px 21px;background:#fbfcfb}.system-dot-223{width:8px;height:8px;border-radius:50%;background:#38a169;box-shadow:0 0 0 4px #e5f6eb}.admin-system-note-223 strong,.admin-system-note-223 small{display:block}.admin-system-note-223 strong{font-size:9px}.admin-system-note-223 small{margin-top:2px;color:#8b919b;font-size:7px}
.admin-resources-223{margin-bottom:18px}.admin-resource-columns-223{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.admin-resource-columns-223>div{padding:18px 21px;border-right:1px solid #eceef2}.admin-resource-columns-223>div:last-child{border-right:0}.admin-resource-columns-223 h3{margin:0 0 9px;color:#555c69;font-size:8px;text-transform:uppercase;letter-spacing:.09em}.admin-resource-columns-223 a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid #f1f2f4;color:#353c49;font-size:8.5px}.admin-resource-columns-223 a:last-child{border-bottom:0}.admin-resource-columns-223 a span{color:#adb1ba}.admin-resource-columns-223 a:hover{color:var(--uaz-wine)}

/* LOGIN institucional: pantalla completa y sin ruido del portal */
.login-page-223{min-height:100vh;background:#eef0f3}.login-page-223>.topbar,.login-page-223>.footer{display:none!important}.login-page-223>.container{max-width:none;padding:0;margin:0;min-height:100vh}.login-page-223>.flash{position:fixed;z-index:400;top:20px;left:50%;transform:translateX(-50%);width:min(560px,calc(100vw - 30px));margin:0;box-shadow:0 14px 42px rgba(0,0,0,.18)}
.login-shell-223{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.04fr) minmax(460px,.96fr);background:#fff}.login-brand-panel-223{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:42px clamp(34px,5vw,72px);overflow:hidden;background:linear-gradient(145deg,#421024 0%,#681633 58%,#812244 100%);color:#fff}.login-brand-panel-223:before{content:'';position:absolute;width:630px;height:630px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-320px;top:-250px;box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018)}.login-brand-panel-223:after{content:'';position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--uaz-gold)}.login-brand-top-223,.login-brand-message-223,.login-brand-foot-223{position:relative;z-index:2}.login-brand-top-223{display:flex;align-items:center;gap:14px}.login-brand-top-223 img{width:72px;height:72px;object-fit:contain;padding:6px;border-radius:13px;background:#fff}.login-brand-top-223 span,.login-brand-top-223 strong{display:block}.login-brand-top-223 span{font-size:8px;letter-spacing:.12em;color:#e5ca89;font-weight:900}.login-brand-top-223 strong{margin-top:4px;font-size:12px;font-weight:650}.login-brand-message-223{max-width:650px;margin:70px 0}.login-kicker-223{font-size:8px;letter-spacing:.2em;color:#e6c878;font-weight:900}.login-brand-message-223 h1{margin:15px 0 15px;font-size:clamp(38px,5.1vw,68px);line-height:1.02;letter-spacing:-.055em;font-weight:700}.login-brand-message-223 p{max-width:570px;margin:0;color:#eadfe4;font-size:14px;line-height:1.65}.login-brand-foot-223{display:flex;align-items:center;gap:10px;color:#e6dbe0}.login-brand-foot-223 span{font-size:12px;font-weight:900}.login-brand-foot-223 small{font-size:8px;color:#d5c3cb}
.login-form-panel-223{display:flex;align-items:center;justify-content:center;padding:50px clamp(35px,6vw,90px);background:#fff}.login-form-wrap-223{width:min(100%,440px)}.login-mobile-brand-223{display:none}.login-overline-223{display:block;margin-bottom:11px;color:#a27e3d;font-size:8px;font-weight:900;letter-spacing:.17em}.login-form-wrap-223 h2{margin:0;color:#1e2738;font-size:35px;letter-spacing:-.04em}.login-intro-223{margin:10px 0 28px;color:#7d8492;font-size:11px;line-height:1.6}.login-form-223{gap:17px}.login-form-223 label{font-size:9px;color:#454c59}.login-input-wrap-223{display:grid;grid-template-columns:38px 1fr;align-items:center;margin-top:7px;border:1px solid #dfe2e7;border-radius:9px;background:#fff;transition:.16s ease}.login-input-wrap-223:focus-within{border-color:#ac7c8d;box-shadow:0 0 0 3px #f5ebef}.login-input-wrap-223>span{display:grid;place-items:center;height:100%;border-right:1px solid #eceef1;color:#9399a4;font-size:9px;font-weight:900}.login-input-wrap-223 input{margin:0;padding:13px 12px;border:0;border-radius:0;background:transparent;outline:none;font-size:11px}.login-input-wrap-223 input:focus{box-shadow:none}.login-submit-223{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:5px;padding:13px 15px;border:0;border-radius:9px;background:var(--uaz-wine);color:#fff;font-size:10px;font-weight:850;cursor:pointer;transition:.16s ease}.login-submit-223:hover{background:var(--uaz-wine-deep);transform:translateY(-1px)}.login-submit-223 span{font-size:16px;font-weight:400}.login-help-223{display:flex;justify-content:space-between;gap:18px;margin-top:22px;padding-top:18px;border-top:1px solid #eceef2;color:#979ca6;font-size:8px;line-height:1.5}.login-help-223 a{color:var(--uaz-wine);font-weight:850;white-space:nowrap}

@media(max-width:1050px){.nav-223{gap:14px}.brand-copy-223 small{display:none}.admin-resource-columns-223{grid-template-columns:repeat(2,1fr)}.admin-resource-columns-223>div:nth-child(2){border-right:0}.admin-resource-columns-223>div:nth-child(-n+2){border-bottom:1px solid #eceef2}.login-shell-223{grid-template-columns:.9fr 1.1fr}.login-brand-message-223 h1{font-size:45px}}
@media(max-width:860px){.admin-shell-223{grid-template-columns:1fr}.admin-sidebar-223{position:relative;height:auto;padding:17px}.admin-side-brand-223{padding-bottom:13px}.admin-user-223{display:none}.admin-side-nav-223{grid-template-columns:repeat(4,1fr);gap:5px}.admin-nav-label-223,.admin-side-nav-223>a small{display:none}.admin-side-nav-223>a{display:flex;justify-content:center;text-align:center;padding:8px 5px}.admin-nav-icon-223{display:none}.admin-side-nav-223>a strong{font-size:8px}.admin-side-foot-223{margin-top:8px}.admin-main-223{padding:28px 18px 50px}.admin-main-head-223{align-items:flex-start}.admin-metrics-223{grid-template-columns:repeat(2,1fr)}.admin-metrics-223 article:nth-child(2){border-right:0}.admin-metrics-223 article:nth-child(-n+2){border-bottom:1px solid #eceef2}.admin-dashboard-grid-223{grid-template-columns:1fr}.login-shell-223{grid-template-columns:1fr}.login-brand-panel-223{min-height:300px;padding:30px}.login-brand-message-223{margin:45px 0 20px}.login-brand-message-223 h1{font-size:40px}.login-form-panel-223{padding:42px 28px 60px}}
@media(max-width:700px){.topbar-223{min-height:62px;padding:8px 13px}.brand-223{min-width:auto}.brand-mark-223{width:40px;height:40px;flex-basis:40px}.brand-copy-223 small{display:none}.nav-223{gap:11px}.nav-223>a,.nav-223 .nav-group>summary{font-size:9px}.nav-223 .nav-direct:not(.nav-admin-link){display:none}.nav-223 .nav-pop{position:fixed;top:64px;left:10px!important;right:10px!important;min-width:0}.admin-main-head-223{display:block}.admin-head-actions-223{margin-top:17px}.admin-resource-columns-223{grid-template-columns:1fr}.admin-resource-columns-223>div{border-right:0!important;border-bottom:1px solid #eceef2!important}.admin-resource-columns-223>div:last-child{border-bottom:0!important}.login-brand-panel-223{display:none}.login-form-panel-223{min-height:100vh;padding:28px 22px;background:linear-gradient(180deg,#fafafa,#fff)}.login-mobile-brand-223{display:flex;align-items:center;gap:10px;margin-bottom:58px}.login-mobile-brand-223 img{width:55px;height:55px;object-fit:contain}.login-mobile-brand-223 strong,.login-mobile-brand-223 small{display:block}.login-mobile-brand-223 strong{color:var(--uaz-wine);font-size:17px}.login-mobile-brand-223 small{margin-top:3px;color:#858b96;font-size:8px}.login-form-wrap-223 h2{font-size:31px}.login-help-223{display:block}.login-help-223 a{display:inline-block;margin-top:11px}}
@media(max-width:520px){.admin-side-nav-223{grid-template-columns:repeat(2,1fr)}.admin-metrics-223 strong{font-size:24px}.admin-panel-head-223{display:block}.admin-panel-head-223>small{display:block;margin-top:6px}.admin-operation-list-223>a{grid-template-columns:31px 1fr}.admin-operation-list-223>a>span{display:none}.admin-head-actions-223 a{flex:1;text-align:center}.login-form-panel-223{align-items:flex-start}.login-mobile-brand-223{margin-bottom:45px}}


/* ==========================================================
   EXTENAPP 2.22.2 · REFINAMIENTO PROFESIONAL
   Ajuste visual exclusivamente. No modifica lógica.
   ========================================================== */

/* ---------- LOGIN ---------- */
.login-page-223{
  background:#f3f4f6;
}

.login-shell-223{
  min-height:100vh;
  grid-template-columns:minmax(380px, .88fr) minmax(500px,1.12fr);
}

.login-brand-panel-223{
  padding:44px clamp(36px,4.5vw,64px);
  background:
    linear-gradient(145deg,#3b0d20 0%,#56152c 52%,#6d1a37 100%);
}

.login-brand-panel-223:before{
  width:470px;
  height:470px;
  right:-255px;
  top:-190px;
  box-shadow:0 0 0 60px rgba(255,255,255,.018),0 0 0 120px rgba(255,255,255,.012);
}

.login-brand-top-223{
  gap:14px;
  align-items:center;
}

.login-logo-box-224{
  width:58px;
  height:58px;
  flex:0 0 58px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:rgba(255,255,255,.97);
  box-shadow:0 8px 24px rgba(0,0,0,.12);
  padding:7px;
}

.login-brand-top-223 img{
  width:100% !important;
  height:100% !important;
  max-width:44px;
  max-height:44px;
  object-fit:contain;
  padding:0 !important;
  border-radius:0 !important;
  background:transparent !important;
}

.login-brand-top-223 span{
  font-size:8px;
  letter-spacing:.115em;
}

.login-brand-top-223 strong{
  margin-top:3px;
  font-size:11px;
  font-weight:650;
}

.login-brand-message-223{
  max-width:560px;
  margin:68px 0 42px;
}

.login-brand-message-223 h1{
  max-width:520px;
  margin:14px 0 17px;
  font-size:clamp(36px,4.25vw,58px);
  line-height:1.055;
  letter-spacing:-.045em;
  font-weight:680;
}

.login-brand-message-223 p{
  max-width:500px;
  font-size:13px;
  line-height:1.7;
  color:rgba(255,255,255,.75);
}

.login-brand-foot-223{
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.12);
}

.login-form-panel-223{
  padding:60px clamp(42px,6vw,92px);
  background:#fff;
}

.login-form-wrap-223{
  width:min(100%,400px);
}

.login-overline-223{
  margin-bottom:12px;
  font-size:8px;
}

.login-form-wrap-223 h2{
  font-size:32px;
  letter-spacing:-.03em;
}

.login-intro-223{
  margin:9px 0 29px;
  font-size:11px;
  line-height:1.65;
}

.login-form-223{
  display:grid;
  gap:17px;
}

.login-form-223 label{
  margin:0;
  font-size:9px;
  font-weight:760;
}

.login-input-wrap-223{
  grid-template-columns:40px 1fr;
  margin-top:7px;
  min-height:49px;
  border-radius:10px;
  background:#fbfbfc;
}

.login-input-wrap-223 input{
  min-height:47px;
  padding:0 13px;
  font-size:11px;
  background:transparent;
}

.login-submit-223{
  min-height:49px;
  margin-top:4px;
  padding:0 16px;
  border-radius:10px;
  font-size:10px;
}

.login-help-223{
  align-items:flex-start;
  margin-top:24px;
  padding-top:19px;
}

.login-mobile-logo-224{
  width:50px;
  height:50px;
  flex:0 0 50px;
  display:grid;
  place-items:center;
  padding:6px;
  border-radius:11px;
  background:#fff;
  border:1px solid #ece9ea;
  box-shadow:0 5px 16px rgba(30,34,40,.07);
}

.login-mobile-brand-223 img{
  width:100% !important;
  height:100% !important;
  max-width:38px;
  max-height:38px;
  object-fit:contain;
}

/* ---------- ADMINISTRACIÓN ---------- */
.admin-shell-223{
  grid-template-columns:232px minmax(0,1fr);
  background:#f5f6f8;
}

.admin-sidebar-223{
  box-shadow:1px 0 0 rgba(24,32,45,.06);
}

.admin-main-223{
  padding:34px clamp(24px,3vw,48px) 60px;
}

.admin-main-head-223{
  margin-bottom:24px;
  padding-bottom:20px;
  border-bottom:1px solid #e5e7eb;
}

.admin-main-head-223 h1{
  font-size:26px;
  letter-spacing:-.025em;
}

.admin-main-head-223 p{
  max-width:720px;
  line-height:1.55;
}

.admin-metrics-223{
  overflow:hidden;
  border-radius:14px;
  box-shadow:none;
  border:1px solid #e4e6ea;
}

.admin-metrics-223 article{
  padding:19px 21px;
  background:#fff;
}

.admin-metrics-223 strong{
  font-size:27px;
}

.admin-dashboard-grid-223{
  gap:18px;
  margin-top:18px;
}

.admin-panel-223,
.admin-pending-223,
.admin-resources-223{
  overflow:hidden;
  border:1px solid #e4e6ea;
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 26px rgba(24,32,45,.035);
}

.admin-panel-head-223{
  min-height:58px;
  padding:16px 20px;
  background:#fbfbfc;
  border-bottom:1px solid #eceef1;
}

.admin-operation-list-223>a{
  min-height:65px;
  padding:15px 20px;
}

.admin-operation-list-223>a:hover{
  background:#f8f8fa;
}

.admin-resource-columns-223>div{
  padding:18px 20px;
}

.admin-resource-columns-223 a{
  padding:9px 0;
}

.admin-head-actions-223{
  gap:8px;
}

.admin-primary-action-223,
.admin-secondary-action-223{
  border-radius:9px;
}

/* El encabezado administrativo debe leerse como encabezado,
   no como una fila de botones. */
.admin-main-head-223 .pill,
.admin-main-head-223 .admin-tag-223{
  border-radius:5px !important;
  box-shadow:none !important;
  cursor:default !important;
  pointer-events:none;
  letter-spacing:.08em;
}

@media(max-width:1050px){
  .login-shell-223{
    grid-template-columns:minmax(340px,.82fr) minmax(450px,1.18fr);
  }
  .login-brand-message-223 h1{
    font-size:42px;
  }
}

@media(max-width:860px){
  .login-shell-223{
    grid-template-columns:1fr;
  }

  .login-brand-panel-223{
    min-height:245px;
    padding:28px 34px;
  }

  .login-brand-message-223{
    margin:34px 0 18px;
  }

  .login-brand-message-223 h1{
    max-width:560px;
    margin:10px 0;
    font-size:34px;
  }

  .login-brand-message-223 p{
    font-size:12px;
  }

  .login-form-panel-223{
    padding:42px 32px 58px;
  }

  .admin-shell-223{
    grid-template-columns:1fr;
  }
}

@media(max-width:700px){
  .login-brand-panel-223{
    display:none;
  }

  .login-form-panel-223{
    min-height:100vh;
    align-items:center;
    padding:34px 22px;
    background:#fff;
  }

  .login-form-wrap-223{
    width:min(100%,390px);
  }

  .login-mobile-brand-223{
    margin-bottom:42px;
  }

  .login-mobile-brand-223 img{
    width:100% !important;
    height:100% !important;
  }

  .login-form-wrap-223 h2{
    font-size:29px;
  }

  .admin-main-223{
    padding:24px 16px 46px;
  }
}

@media(max-width:520px){
  .login-form-panel-223{
    align-items:flex-start;
    padding-top:28px;
  }

  .login-mobile-brand-223{
    margin-bottom:40px;
  }

  .login-help-223{
    display:block;
  }

  .admin-main-head-223 h1{
    font-size:23px;
  }

  .admin-metrics-223{
    grid-template-columns:1fr 1fr;
  }
}

/* EXTENAPP 2.22.3 · Blindaje visual */
.login-page-223 img{max-width:100%;height:auto}
.brand-mark-223 img{display:block!important;width:34px!important;height:34px!important;max-width:34px!important;max-height:34px!important;object-fit:contain!important}
.admin-side-brand-223>img{display:block!important;width:40px!important;height:40px!important;max-width:40px!important;max-height:40px!important;object-fit:contain!important}
.admin-uaz-mark-223{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:11px;background:#fff;color:#681633;font-size:12px;font-weight:950;letter-spacing:.04em;box-shadow:0 5px 15px rgba(0,0,0,.10)}
.admin-side-brand-223{display:flex;align-items:center;gap:12px}


/* =========================================================
   EXTENAPP 2.22.4 · ADMINISTRACIÓN DINÁMICA
   ========================================================= */
.admin-page-224>.container{max-width:none!important;width:100%!important;padding:0!important;margin:0!important}
.admin-page-224>.footer{margin-top:0}
.admin224{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:calc(100vh - 112px);background:#f5f6f8;color:#24303c}
.admin224-sidebar{position:sticky;top:112px;height:calc(100vh - 112px);overflow:auto;padding:24px 18px 20px;background:#17283a;color:#fff;border-right:1px solid rgba(0,0,0,.08)}
.admin224-brand{display:flex;align-items:center;gap:12px;padding:0 8px 20px;border-bottom:1px solid rgba(255,255,255,.11)}
.admin224-mark{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:11px;background:#fff;color:#681633;font-size:13px;font-weight:900}
.admin224-brand strong,.admin224-brand span{display:block}.admin224-brand strong{font-size:18px;line-height:1.1}.admin224-brand div>span{margin-top:3px;color:rgba(255,255,255,.62);font-size:12px}
.admin224-user{display:flex;align-items:center;gap:11px;margin:20px 6px 22px;padding:12px;border-radius:12px;background:rgba(255,255,255,.06)}
.admin224-avatar{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:50%;background:#c6a75f;color:#17283a;font-size:15px;font-weight:900}
.admin224-user strong,.admin224-user div>span{display:block}.admin224-user strong{font-size:13px}.admin224-user div>span{margin-top:3px;color:rgba(255,255,255,.62);font-size:12px}
.admin224-nav{display:grid;gap:8px}
.admin224-nav>a{display:block;padding:12px 13px;border-radius:10px;color:#fff;text-decoration:none;font-size:14px}
.admin224-nav>a small{display:block;margin-top:3px;color:rgba(255,255,255,.56);font-size:11px;line-height:1.35}
.admin224-nav>a.active{background:#fff;color:#17283a}.admin224-nav>a.active small{color:#687381}
.admin224-nav details{border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:7px}
.admin224-nav summary{display:flex;align-items:center;justify-content:space-between;padding:11px 12px;cursor:pointer;list-style:none;color:rgba(255,255,255,.9);font-size:13px;font-weight:750}
.admin224-nav summary::-webkit-details-marker{display:none}.admin224-nav summary span{color:rgba(255,255,255,.45)}
.admin224-nav details div{display:grid;padding:2px 8px 7px 14px}
.admin224-nav details a{padding:8px 9px;color:rgba(255,255,255,.70);text-decoration:none;font-size:13px;border-radius:7px}
.admin224-nav details a:hover{background:rgba(255,255,255,.07);color:#fff}
.admin224-sidefoot{display:flex;justify-content:space-between;gap:10px;margin-top:22px;padding:18px 8px 0;border-top:1px solid rgba(255,255,255,.11)}
.admin224-sidefoot a{color:rgba(255,255,255,.65);font-size:11px;text-decoration:none}

.admin224-main{min-width:0;padding:34px clamp(26px,3.2vw,52px) 60px}
.admin224-head{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;padding-bottom:25px;border-bottom:1px solid #e0e4e8}
.admin224-overline{display:block;margin-bottom:8px;color:#8a682d;font-size:11px;font-weight:850;letter-spacing:.11em}
.admin224-head h1{margin:0;color:#17283a;font-size:32px;line-height:1.15;letter-spacing:-.03em}
.admin224-head p{margin:8px 0 0;color:#687381;font-size:15px;line-height:1.55}
.admin224-head-actions{display:flex;gap:9px;flex-wrap:wrap}
.admin224-head-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 15px;border:1px solid #d7dde3;border-radius:10px;background:#fff;color:#253748;text-decoration:none;font-size:13px;font-weight:750}
.admin224-head-actions a.primary{border-color:#681633;background:#681633;color:#fff}

.admin224-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}
.admin224-stats article{padding:20px;border:1px solid #e1e5e9;border-radius:13px;background:#fff}
.admin224-stats span{display:block;color:#697581;font-size:13px}
.admin224-stats strong{display:block;margin-top:9px;color:#17283a;font-size:30px;line-height:1}

.admin224-alerts,.admin224-work,.admin224-secondary{margin-top:30px}
.admin224-section-title{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:14px}
.admin224-section-title>div>span{display:block;margin-bottom:4px;color:#8b692d;font-size:10px;font-weight:900;letter-spacing:.12em}
.admin224-section-title h2{margin:0;color:#213140;font-size:21px;letter-spacing:-.015em}
.admin224-alert-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.admin224-alert-grid>a{display:grid;grid-template-columns:55px 1fr 24px;align-items:center;gap:14px;padding:18px;border:1px solid #e4ddd0;border-radius:13px;background:#fffdf8;color:#273542;text-decoration:none}
.admin224-alert-grid>a>strong{display:grid;place-items:center;width:50px;height:50px;border-radius:10px;background:#f3ead6;color:#714f17;font-size:23px}
.admin224-alert-grid b,.admin224-alert-grid span{display:block}.admin224-alert-grid b{font-size:14px}.admin224-alert-grid span{margin-top:4px;color:#737d87;font-size:12px;line-height:1.4}.admin224-alert-grid i{font-style:normal;font-size:20px}

.admin224-search{display:grid;gap:5px;width:min(320px,100%);color:#697581;font-size:11px;font-weight:700}
.admin224-search input{height:42px;padding:0 13px;border:1px solid #dce1e6;border-radius:10px;background:#fff;font-size:13px;outline:none}.admin224-search input:focus{border-color:#8d6a32;box-shadow:0 0 0 3px rgba(141,106,50,.09)}
.admin224-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.admin224-card{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:16px;min-height:118px;padding:19px;border:1px solid #e0e4e8;border-radius:14px;background:#fff;color:#263645;text-decoration:none;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}
.admin224-card:hover{transform:translateY(-2px);border-color:#d1d7dd;box-shadow:0 12px 28px rgba(26,36,48,.07)}
.admin224-card-num{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:#f0f2f4;color:#5d6874;font-size:12px;font-weight:850}
.admin224-card h3{margin:0 0 5px;color:#1d2f40;font-size:16px}.admin224-card p{margin:0;color:#6d7883;font-size:13px;line-height:1.45}.admin224-card>b{color:#681633;font-size:12px;white-space:nowrap}
.admin224-noresults{padding:25px;border:1px dashed #cfd5db;border-radius:12px;text-align:center;color:#6e7882;background:#fff;font-size:14px}

.admin224-links{display:flex;flex-wrap:wrap;gap:9px}.admin224-links a{padding:10px 13px;border:1px solid #dfe3e7;border-radius:9px;background:#fff;color:#344452;text-decoration:none;font-size:13px;font-weight:650}
.admin224-links a:hover{border-color:#bfc7cf}

.admin-context-224{position:sticky;top:0;z-index:90;border-bottom:1px solid #e1e4e7;background:#fff;box-shadow:0 4px 14px rgba(27,36,47,.045)}
.admin-context-224>div{display:flex;align-items:center;gap:4px;max-width:1500px;margin:auto;padding:8px 20px;overflow-x:auto}
.admin-context-224 strong{margin-right:8px;color:#681633;font-size:13px;white-space:nowrap}
.admin-context-224 a{padding:8px 11px;border-radius:8px;color:#40505f;text-decoration:none;font-size:13px;white-space:nowrap}.admin-context-224 a:hover{background:#f1f3f5;color:#17283a}

@media(max-width:1100px){
 .admin224{grid-template-columns:230px minmax(0,1fr)}.admin224-main{padding-left:26px;padding-right:26px}
 .admin224-head{display:block}.admin224-head-actions{margin-top:18px}.admin224-grid{grid-template-columns:1fr}
}
@media(max-width:820px){
 .admin224{display:block}.admin224-sidebar{position:relative;top:auto;height:auto;padding:18px}
 .admin224-nav details{display:none}.admin224-sidefoot{display:none}
 .admin224-nav>a.active{margin-top:3px}.admin224-main{padding:24px 18px 45px}
 .admin224-stats{grid-template-columns:1fr 1fr}.admin224-alert-grid{grid-template-columns:1fr}
 .admin224-section-title{display:block}.admin224-search{width:100%;margin-top:14px}.admin224-card{grid-template-columns:40px 1fr}.admin224-card>b{grid-column:2}
}
@media(max-width:520px){
 .admin224-brand{padding-bottom:15px}.admin224-user{display:none}
 .admin224-head h1{font-size:27px}.admin224-head p{font-size:14px}.admin224-head-actions{display:grid}
 .admin224-head-actions a{width:100%;box-sizing:border-box}.admin224-stats{grid-template-columns:1fr 1fr;gap:10px}
 .admin224-stats article{padding:15px}.admin224-stats strong{font-size:25px}
 .admin224-card{padding:16px}.admin224-card h3{font-size:15px}.admin224-card p{font-size:12px}
 .admin-context-224>div{padding-left:12px;padding-right:12px}
}


/* =========================================================
   EXTENAPP 2.23 · GESTIÓN INSTITUCIONAL
   ========================================================= */

/* Constancias: preview responsive, salida física estable */
.certificate-2152{width:min(1120px,calc(100vw - 24px))!important;aspect-ratio:297/210!important;position:relative!important;margin:18px auto!important;overflow:hidden!important;background:#fff!important;box-shadow:0 14px 38px rgba(24,34,45,.13)!important}
.certificate-2152 .c2152-bg{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:fill!important}
.certificate-2152 .c2152-folio{z-index:8!important;display:flex!important;justify-content:flex-end!important;align-items:center!important;min-height:24px!important;padding:4px 8px!important;box-sizing:border-box!important;color:#681633!important;text-align:right!important}
.certificate-2152 .c2152-folio strong{font-weight:800!important;letter-spacing:.02em!important}
@media(max-width:700px){
 .certificate-2152{width:calc(100vw - 12px)!important;margin:8px auto!important;border-radius:4px!important}
 .certificate-2152 .c2152-title{font-size:clamp(8px,2.8vw,16px)!important}
 .certificate-2152 .c2152-body{font-size:clamp(6px,2vw,12px)!important;line-height:1.35!important}
 .certificate-2152 .c2152-name{font-size:clamp(9px,3vw,17px)!important}
 .certificate-2152 .c2152-signature strong{font-size:clamp(4px,1.4vw,8px)!important}
 .certificate-2152 .c2152-signature span{font-size:clamp(3.5px,1.15vw,7px)!important}
 .certificate-2152 .c2152-folio{font-size:clamp(4px,1.3vw,7px)!important;bottom:3.5%!important}
 .certificate-toolbar,.c2152-toolbar{padding:8px!important}
}
@media print{
 @page{size:A4 landscape;margin:0}
 html,body{width:297mm!important;height:210mm!important;margin:0!important;padding:0!important;background:#fff!important}
 .topbar,.footer,.certificate-toolbar,.c2152-toolbar{display:none!important}
 .container{width:297mm!important;max-width:none!important;margin:0!important;padding:0!important}
 .certificate-2152{width:297mm!important;height:210mm!important;max-width:none!important;aspect-ratio:auto!important;margin:0!important;box-shadow:none!important;border:0!important;border-radius:0!important}
 .certificate-2152 .c2152-title{font-size:18pt!important}.certificate-2152 .c2152-body{font-size:12pt!important;line-height:1.46!important}.certificate-2152 .c2152-name{font-size:19pt!important}
 .certificate-2152 .c2152-folio{font-size:7pt!important;bottom:9mm!important;left:30mm!important;right:30mm!important}
}

/* Solicitud pública */
.request223{max-width:1120px;margin:28px auto}.request223-head{margin-bottom:20px}.request223-head>span,.request223-success>span,.reqadmin223 header span,.folio223 header>div>span,.psybadges223>header>span,.clubbenef223>header>span,.adminbenef223>header>span{display:block;color:#89662b;font-size:11px;font-weight:850;letter-spacing:.12em}.request223-head h1,.reqadmin223 h1,.folio223 h1,.psybadges223 h1,.clubbenef223 h1,.adminbenef223 h1{margin:7px 0 8px;color:#1d2e3e;font-size:32px;letter-spacing:-.03em}.request223-head p{margin:0;color:#697581;font-size:15px}.request223-form{display:grid;gap:16px}.request223-form>section,.request223-form>footer,.request223-success,.reqadmin223-edit{padding:24px;border:1px solid #e0e4e8;border-radius:15px;background:#fff}.request223-form h2{margin:0 0 18px;font-size:19px;color:#233442}.request223-grid{display:grid;gap:14px;margin-bottom:14px}.request223-grid.two{grid-template-columns:repeat(2,1fr)}.request223-grid.three{grid-template-columns:repeat(3,1fr)}.request223-grid.four{grid-template-columns:repeat(4,1fr)}.request223-check,.request223-radio{display:flex!important;align-items:flex-start!important;gap:10px!important;padding:13px!important;border:1px solid #e1e5e9!important;border-radius:10px!important;background:#fbfcfd}.request223-check input,.request223-radio input{width:auto!important;margin-top:3px!important}.request223-check strong,.request223-check small,.request223-radio strong,.request223-radio small{display:block}.request223-check small,.request223-radio small{margin-top:3px;color:#75808b;font-size:12px}.request223-success{text-align:center;padding:48px 28px}.request223-success>strong{display:inline-block;margin:14px;padding:12px 18px;border-radius:10px;background:#f1e8d6;color:#681633;font-size:20px}

/* Solicitudes admin */
.reqadmin223{max-width:1450px;margin:26px auto;padding:0 18px}.reqadmin223>header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.reqadmin223-tabs{display:flex;gap:6px;margin:22px 0}.reqadmin223-tabs a{padding:10px 14px;border-radius:9px;background:#eef1f4;color:#40515f;text-decoration:none;font-size:14px}.reqadmin223-tabs a.active{background:#17283a;color:#fff}.reqadmin223-list{display:grid;gap:14px}.reqadmin223-card{padding:22px;border:1px solid #dfe4e8;border-radius:15px;background:#fff}.reqadmin223-cardhead{display:flex;justify-content:space-between;gap:18px}.reqadmin223-cardhead span{font-size:11px;font-weight:800;color:#8a692e}.reqadmin223-cardhead h2{margin:5px 0 0;font-size:20px}.reqadmin223-actions{display:flex;gap:8px;align-items:center}.reqadmin223-actions a,.reqadmin223-actions button{border:0;background:transparent;color:#681633;font-size:13px;font-weight:750;cursor:pointer;text-decoration:none}.reqadmin223-data{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.reqadmin223-data>div{padding:13px;border-radius:10px;background:#f7f8fa}.reqadmin223-data small,.reqadmin223-data strong,.reqadmin223-data span{display:block}.reqadmin223-data small{color:#7b858f;font-size:10px}.reqadmin223-data strong{margin:5px 0;font-size:13px}.reqadmin223-data span{font-size:12px;color:#68737d}.reqadmin223-approve,.reqadmin223-approved{padding-top:16px;border-top:1px solid #edf0f2}.reqadmin223-checks{display:flex;gap:15px;flex-wrap:wrap;margin:12px 0}.reqadmin223-checks label{font-size:13px}.reqadmin223-flyer{display:flex;gap:8px;align-items:center;flex-wrap:wrap}

/* Folios */
.folio223{max-width:1450px;margin:28px auto;padding:0 18px}.folio223>header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.folio223>header>div:last-child{min-width:150px;padding:16px;border-radius:12px;background:#17283a;color:white;text-align:center}.folio223>header>div:last-child small,.folio223>header>div:last-child strong{display:block}.folio223>header>div:last-child strong{font-size:30px}.folio223-top{display:grid;grid-template-columns:1.4fr .8fr;gap:16px;margin:22px 0}.folio223-top>section,.folio223-table{padding:20px;border:1px solid #e0e4e8;border-radius:14px;background:#fff}.folio223-table{overflow:auto}.folio223-status{display:inline-block;padding:5px 8px;border-radius:6px;background:#e7f3ec;color:#2f6d47;font-size:10px;font-weight:800}.folio223-status.revoked{background:#f8e7e7;color:#9b3d3d}.folio223-edit{display:grid;gap:8px;min-width:230px;padding:10px}

/* Roster temporal */
.rostershare223{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:18px;padding:22px;border:1px solid #dfe4e8;border-radius:14px;background:#fff}.rostershare223 h2{margin:5px 0 7px}.rostershare223 p{margin:0;color:#6d7883}.rostershare223-actions{display:grid;gap:10px}.rostershare223-link{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center}.rostershare223-link input{min-width:0}.rostershare223-link small{grid-column:1/-1;color:#737e88}.publicroster223{padding:20px;background:#edf0f3;min-height:100vh}.publicroster223-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;max-width:1120px;margin:0 auto 14px}.publicroster223-sheet{max-width:1120px;min-height:760px;margin:auto;padding:45px;box-sizing:border-box;background:#fff;box-shadow:0 18px 45px rgba(24,34,45,.13)}.publicroster223-sheet header{text-align:center;border-bottom:2px solid #681633;padding-bottom:20px}.publicroster223-sheet header span{font-size:11px;font-weight:850;letter-spacing:.12em;color:#89662b}.publicroster223-sheet header h1{margin:8px 0 4px;font-size:30px}.publicroster223-sheet header p{margin:0;color:#6f7983}.publicroster223-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:30px 0}.publicroster223-grid article{text-align:center}.publicroster223-grid img,.publicroster223-avatar{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:12px;background:#eef1f4}.publicroster223-avatar{display:grid;place-items:center;font-size:22px;font-weight:900;color:#681633}.publicroster223-grid strong{display:block;margin-top:10px;font-size:14px}.publicroster223-sheet footer{text-align:center;color:#8a929a;font-size:11px}
@media print{.publicroster223-toolbar,.publicroster223~.footer{display:none!important}.publicroster223{padding:0!important;background:#fff!important}.publicroster223-sheet{width:210mm!important;min-height:297mm!important;box-shadow:none!important;margin:0!important;padding:15mm!important}}

/* Badges separated */
.psybadges223,.clubbenef223,.adminbenef223{max-width:1380px;margin:28px auto;padding:0 18px}.psybadges223>header,.clubbenef223>header,.adminbenef223>header{margin-bottom:26px}.psybadges223>header p,.clubbenef223>header p,.adminbenef223>header p{color:#697581}.psybadges223-clubs,.psybadges223-academic{margin-top:28px}.psybadges223-title{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:15px}.psybadges223-title span{color:#89662b;font-size:10px;font-weight:850;letter-spacing:.12em}.psybadges223-title h2{margin:4px 0 0;font-size:23px}.psybadges223-title p{margin:0;color:#727d87}.psybadges223-club{margin-bottom:18px;padding:20px;border:1px solid #dfe4e8;border-radius:15px;background:#fff}.psybadges223-clubhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.psybadges223-clubhead h3{margin:0 0 4px}.psybadges223-clubhead span{color:#6f7a84;font-size:12px}.psybadges223-clubhead a{color:#681633;font-size:12px;font-weight:800}.psychar223-road{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.psychar223{padding:14px;border-radius:13px;background:#f4f6f7;opacity:.52}.psychar223.earned{background:linear-gradient(145deg,#fff9ec,#fff);border:1px solid #eadab7;opacity:1}.psychar223-face{position:relative;width:58px;height:58px;margin-bottom:11px;border-radius:50% 50% 44% 44%;background:#243a4f;color:#fff;display:grid;place-items:center}.psychar223.earned .psychar223-face{background:#681633}.psychar223-face b{font-size:22px}.psychar223-face i:before,.psychar223-face i:after{content:"";position:absolute;top:23px;width:5px;height:5px;border-radius:50%;background:#fff}.psychar223-face i:before{left:16px}.psychar223-face i:after{right:16px}.psychar223 span{color:#8c692d;font-size:9px;font-weight:850;text-transform:uppercase}.psychar223 h4{margin:3px 0 5px}.psychar223 p{margin:0 0 7px;font-size:11px;color:#6d7882;line-height:1.4}.psychar223 small{font-size:10px;color:#89929a}.psybadges223-atlas{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.psybadges223-atlas>article{padding:18px;border:1px solid #e0e4e8;border-radius:14px;background:#fff}.psybadges223-atlas article>header div{display:flex;justify-content:space-between}.psybadges223-atlas article>header strong{font-size:28px}.psybadges223-levels{display:grid;gap:8px;margin-top:14px}.psybadges223-levels>div{display:flex;gap:10px;align-items:center;padding:9px;border-radius:9px;background:#f4f6f7;opacity:.5}.psybadges223-levels>div.earned{background:#f8f0df;opacity:1}.psybadges223-levels>div>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#17283a;color:white;font-weight:900}.psybadges223-levels strong,.psybadges223-levels small{display:block}.psybadges223-levels small{margin-top:2px;color:#74808a}.clubbenef223-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.clubbenef223-grid article{padding:20px;border:1px solid #e0e4e8;border-radius:14px;background:#fff}.clubbenef223-grid article.locked{opacity:.58}.clubbenef223-char{display:flex;gap:11px;align-items:center}.clubbenef223-char>span{display:grid;place-items:center;width:45px;height:45px;border-radius:50%;background:#681633;color:#fff;font-size:19px;font-weight:900}.clubbenef223-char small,.clubbenef223-char strong{display:block}.clubbenef223-grid h2{font-size:17px}.clubbenef223-status{margin-top:14px;padding:8px;border-radius:7px;background:#f0f2f4;font-size:10px;font-weight:850}

/* Admin 2.23 */
.admin223-page>.container{max-width:none!important;width:100%!important;padding:0!important;margin:0!important}.admin223{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:calc(100vh - 76px);background:#f5f6f8}.admin223-side{padding:24px 18px;background:#17283a;color:#fff}.admin223-brand{display:flex;gap:11px;align-items:center;padding:0 6px 20px;border-bottom:1px solid rgba(255,255,255,.12)}.admin223-brand>span{display:grid;place-items:center;width:43px;height:43px;border-radius:10px;background:#fff;color:#681633;font-size:12px;font-weight:900}.admin223-brand strong,.admin223-brand small{display:block}.admin223-brand strong{font-size:18px}.admin223-brand small{margin-top:3px;color:rgba(255,255,255,.62);font-size:12px}.admin223-side nav{display:grid;margin-top:18px}.admin223-side nav>b{margin:17px 10px 6px;color:#d3b56d;font-size:10px;letter-spacing:.12em}.admin223-side nav>a{padding:10px 11px;border-radius:8px;color:rgba(255,255,255,.76);text-decoration:none;font-size:14px}.admin223-side nav>a:hover,.admin223-side nav>a.active{background:rgba(255,255,255,.10);color:#fff}.admin223-side footer{display:flex;justify-content:space-between;margin-top:28px;padding:16px 6px 0;border-top:1px solid rgba(255,255,255,.12)}.admin223-side footer a{color:rgba(255,255,255,.62);font-size:11px;text-decoration:none}.admin223-main{padding:34px clamp(25px,3vw,48px) 60px}.admin223-head{display:flex;justify-content:space-between;gap:25px;align-items:flex-start;padding-bottom:22px;border-bottom:1px solid #dfe4e8}.admin223-head>div:first-child>span,.admin223-title span{color:#89662b;font-size:10px;font-weight:850;letter-spacing:.12em}.admin223-head h1{margin:6px 0 7px;font-size:31px;color:#1d2e3e}.admin223-head p{margin:0;color:#6c7781;font-size:15px}.admin223-head>div:last-child{display:flex;gap:8px}.admin223-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.admin223-stats article{padding:18px;border:1px solid #e0e4e8;border-radius:12px;background:#fff}.admin223-stats span,.admin223-stats strong{display:block}.admin223-stats span{color:#6f7b85;font-size:13px}.admin223-stats strong{margin-top:8px;font-size:29px}.admin223-pending{margin:25px 0}.admin223-pending h2{font-size:20px}.admin223-pending>div{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.admin223-pending a{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;padding:15px;border:1px solid #e5dcc7;border-radius:12px;background:#fffaf0;color:#2d3a46;text-decoration:none}.admin223-pending a>strong{font-size:24px;color:#681633}.admin223-pending a>span{font-size:13px}.admin223-pending a>b{font-size:12px;color:#681633}.admin223-title{display:flex;justify-content:space-between;gap:20px;align-items:end;margin:28px 0 13px}.admin223-title h2{margin:4px 0 0;font-size:22px}.admin223-title input{width:300px;height:42px;border:1px solid #d8dee4;border-radius:9px;padding:0 12px;background:#fff}.admin223-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.admin223-grid>a{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:14px;padding:18px;border:1px solid #dfe4e8;border-radius:13px;background:#fff;color:#273745;text-decoration:none}.admin223-grid>a>span{display:grid;place-items:center;width:40px;height:40px;border-radius:9px;background:#eef1f4;font-size:11px;font-weight:850}.admin223-grid h3{margin:0 0 4px;font-size:16px}.admin223-grid p{margin:0;color:#6f7983;font-size:13px}.admin223-grid b{font-size:11px;color:#681633}

/* Remove prior sticky admin context if stylesheet remains */
.admin-context-224{display:none!important}

@media(max-width:980px){.reqadmin223-data{grid-template-columns:repeat(2,1fr)}.psychar223-road{grid-template-columns:repeat(3,1fr)}.clubbenef223-grid{grid-template-columns:repeat(2,1fr)}.admin223{grid-template-columns:220px minmax(0,1fr)}.admin223-grid{grid-template-columns:1fr}.request223-grid.four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.request223-grid.two,.request223-grid.three,.request223-grid.four{grid-template-columns:1fr}.reqadmin223>header,.folio223>header,.psybadges223-title,.admin223-head,.admin223-title{display:block}.reqadmin223>header .btn,.admin223-head>div:last-child{margin-top:14px}.reqadmin223-data{grid-template-columns:1fr}.folio223-top,.rostershare223,.psybadges223-atlas,.clubbenef223-grid{grid-template-columns:1fr}.rostershare223-link{grid-template-columns:1fr}.publicroster223-grid{grid-template-columns:repeat(2,1fr)}.admin223{display:block}.admin223-side{padding:16px}.admin223-side nav{display:flex;gap:5px;overflow-x:auto}.admin223-side nav>b{display:none}.admin223-side nav>a{white-space:nowrap}.admin223-side footer{display:none}.admin223-main{padding:22px 15px 45px}.admin223-stats{grid-template-columns:repeat(2,1fr)}.admin223-pending>div{grid-template-columns:1fr}.admin223-title input{width:100%;margin-top:12px}.psychar223-road{grid-template-columns:repeat(2,1fr)}}


/* ==========================================================
   EXTENAPP 2.24 · IDENTIDAD INSTITUCIONAL
   ========================================================== */
:root{--uaz-navy:#102d47;--uaz-navy2:#173c5c;--uaz-gold:#b8944b;--uaz-wine:#6a1734;--ink:#1f2f3d;--muted:#6c7883;--paper:#f5f6f7;--line:#dfe4e8}
body{background:#f5f6f7;color:var(--ink);font-size:15px}
.topbar-224{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px;padding:0 clamp(18px,3vw,44px);background:rgba(255,255,255,.97);border-bottom:1px solid #e4e7ea;box-shadow:0 4px 18px rgba(24,35,47,.045);backdrop-filter:blur(10px)}
.brand-224{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink)}.brand-emblem-224{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:var(--uaz-navy);color:#fff;font-size:12px;font-weight:900;box-shadow:inset 0 -3px 0 var(--uaz-gold)}.brand-224 strong,.brand-224 small{display:block}.brand-224 strong{font-size:18px;letter-spacing:-.02em}.brand-224 small{margin-top:2px;color:#77818a;font-size:10px}
.nav-224{display:flex;align-items:center;gap:4px}.nav-224>a,.nav-224 summary{padding:9px 10px;border-radius:8px;color:#3b4b58;text-decoration:none;font-size:13px;font-weight:700;cursor:pointer;list-style:none}.nav-224>a:hover,.nav-224 summary:hover{background:#f0f2f4;color:var(--uaz-navy)}.nav-224 .admin-link{color:var(--uaz-wine)}.nav-224 .cta{background:var(--uaz-navy);color:#fff}.nav-224 details{position:relative}.nav-224 details>div{position:absolute;top:42px;right:auto;min-width:210px;padding:7px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 16px 38px rgba(25,35,46,.13)}.nav-224 details.user>div{right:0}.nav-224 details>div a{display:block;padding:10px 11px;border-radius:7px;color:#40515f;text-decoration:none;font-size:13px}.nav-224 details>div a:hover{background:#f2f4f6}
.container{max-width:1500px}

/* Mi panel */
.portal224{max-width:1320px;margin:30px auto;padding:0 18px}.portal224-hero{display:grid;grid-template-columns:88px 1fr auto;align-items:center;gap:20px;padding:28px;border-radius:20px;background:linear-gradient(135deg,var(--uaz-navy),#214c6d);color:#fff;box-shadow:0 18px 40px rgba(16,45,71,.16)}.portal224-person img,.portal224-person>span{width:78px;height:78px;border-radius:18px;object-fit:cover;display:grid;place-items:center;background:#fff;color:var(--uaz-wine);font-size:28px;font-weight:900}.portal224-hero>div:nth-child(2)>span{font-size:10px;letter-spacing:.14em;font-weight:850;color:#d8bd79}.portal224-hero h1{margin:5px 0 5px;font-size:30px;color:#fff}.portal224-hero p{margin:0;color:rgba(255,255,255,.72)}.portal224-hero>a{padding:10px 13px;border:1px solid rgba(255,255,255,.25);border-radius:9px;color:#fff;text-decoration:none;font-size:12px}.portal224-shortcuts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0 28px}.portal224-shortcuts a{padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff;text-decoration:none;color:var(--ink)}.portal224-shortcuts strong{display:block;font-size:27px;color:var(--uaz-wine)}.portal224-shortcuts span{display:block;margin-top:6px;font-size:12px;color:#66727d}.portal224-title span{font-size:10px;font-weight:850;letter-spacing:.13em;color:#8b692c}.portal224-title h2{margin:4px 0 13px;font-size:23px}.portal224-memberships{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.portal224-memberships article{padding:20px;border:1px solid var(--line);border-radius:15px;background:#fff}.portal224-memberships header{display:flex;justify-content:space-between}.portal224-memberships header span,.portal224-memberships header strong{font-size:10px}.portal224-memberships header span{color:#8c692d;font-weight:850}.portal224-memberships h3{margin:14px 0 5px;font-size:18px}.portal224-memberships p,.portal224-memberships small{color:#727d87}.portal224-progress{height:7px;margin:15px 0 7px;border-radius:10px;background:#edf0f2;overflow:hidden}.portal224-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--uaz-wine),var(--uaz-gold))}.portal224-memberships footer{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}.portal224-memberships footer a{padding:8px 10px;border-radius:8px;background:#eef1f3;color:#314352;text-decoration:none;font-size:11px;font-weight:750}.portal224-memberships footer a.primary{background:var(--uaz-navy);color:#fff}

/* Credencial */
.credential224-wrap{max-width:1000px;margin:28px auto;padding:0 16px}.credential224-actions{margin-bottom:12px;text-align:right}.credential224{aspect-ratio:1.586/1;position:relative;overflow:hidden;border-radius:23px;background:#fff;border:1px solid #dbe0e5;box-shadow:0 20px 55px rgba(20,33,45,.15)}.credential224:after{content:"";position:absolute;right:-90px;bottom:-120px;width:330px;height:330px;border-radius:50%;border:60px solid rgba(184,148,75,.08)}.credential224-band{display:flex;align-items:center;justify-content:space-between;padding:20px 26px;background:var(--uaz-navy);color:#fff;border-bottom:5px solid var(--uaz-gold)}.credential224-band>div{display:flex;align-items:center;gap:12px}.credential224-uaz{display:grid;place-items:center;width:52px;height:52px;border-radius:12px;background:#fff;color:var(--uaz-wine);font-size:14px;font-weight:900}.credential224-band strong,.credential224-band small{display:block}.credential224-band strong{font-size:13px}.credential224-band small{margin-top:3px;font-size:10px;color:rgba(255,255,255,.68)}.credential224-band>span{font-size:11px;font-weight:850;letter-spacing:.12em}.credential224-main{display:grid;grid-template-columns:180px 1fr 140px;gap:24px;align-items:center;padding:30px 30px 24px}.credential224-photo{width:180px;height:220px;border-radius:16px;object-fit:cover;background:#eef1f3}.credential224-photo.fallback{display:grid;place-items:center;color:var(--uaz-wine);font-size:30px;font-weight:900}.credential224-data>span{font-size:10px;letter-spacing:.13em;font-weight:850;color:#8d6b2d}.credential224-data h1{margin:8px 0 6px;font-size:29px;line-height:1.05}.credential224-data h2{margin:0 0 18px;color:var(--uaz-wine);font-size:17px}.credential224-data dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0}.credential224-data dt{font-size:9px;color:#78838c;text-transform:uppercase}.credential224-data dd{margin:3px 0 0;font-size:12px;font-weight:750}.credential224-qr{text-align:center}.credential224-qr #qrcode{display:inline-block;padding:8px;border:1px solid #e1e5e8;border-radius:12px;background:#fff}.credential224-qr small{display:block;margin-top:7px;color:#7c8790;font-size:9px}.credential224-foot{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:18px;align-items:center;padding:15px 26px;background:#f0f2f4;border-top:1px solid #dde2e6}.credential224-foot small,.credential224-foot strong{display:block}.credential224-foot small{font-size:8px;color:#7c8790}.credential224-foot strong{margin-top:2px;font-size:11px}.credential224-foot>span{color:#7c8790;font-size:9px}
@media print{.credential224-actions,.topbar-224,.footer{display:none!important}.credential224-wrap{width:86mm!important;margin:0!important;padding:0!important}.credential224{width:86mm!important;height:54mm!important;border-radius:3mm!important;box-shadow:none!important}.credential224-band{padding:3mm 4mm!important;border-bottom-width:1mm!important}.credential224-uaz{width:8mm!important;height:8mm!important;font-size:7pt!important}.credential224-main{grid-template-columns:24mm 1fr 19mm!important;gap:3mm!important;padding:4mm!important}.credential224-photo{width:24mm!important;height:30mm!important;border-radius:2mm!important}.credential224-data h1{font-size:10pt!important}.credential224-data h2{font-size:7pt!important}.credential224-data dl{gap:1.5mm!important}.credential224-foot{padding:2mm 4mm!important}.credential224-qr #qrcode{transform:scale(.55);transform-origin:center}}

/* Folios dobles */
.folio224{max-width:1450px;margin:28px auto;padding:0 18px}.folio224>header span,.flyerai224>header>div>span,.running224>header>span{font-size:10px;font-weight:900;letter-spacing:.13em;color:#8b692c}.folio224>header h1,.flyerai224>header h1,.running224>header h1{margin:6px 0 7px;font-size:31px}.folio224>header p,.flyerai224>header p,.running224>header p{color:#6d7882}.folio224-books{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0}.folio224-books a{padding:20px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);text-decoration:none}.folio224-books a.active{border-color:var(--uaz-gold);box-shadow:0 0 0 3px rgba(184,148,75,.12)}.folio224-books strong,.folio224-books span,.folio224-books b{display:block}.folio224-books strong{font-size:17px}.folio224-books span{margin:5px 0 12px;color:#6f7a84;font-size:12px}.folio224-books b{color:var(--uaz-wine);font-size:13px}.folio224-config{display:grid;grid-template-columns:.8fr 1.2fr;gap:25px;padding:22px;border:1px solid var(--line);border-radius:14px;background:#fff}.folio224-config form{display:grid;grid-template-columns:1fr 1fr 1fr auto auto;gap:10px;align-items:end}.folio224-table{margin-top:16px;padding:18px;overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fff}

/* Flyer IA */
.flyerai224{max-width:1320px;margin:28px auto;padding:0 18px}.flyerai224>header{display:flex;justify-content:space-between;gap:24px}.flyerai224-status{min-width:240px;padding:15px;border-radius:13px;background:#eef1f4}.flyerai224-status.on{background:#edf5ef}.flyerai224-status b,.flyerai224-status span{display:block}.flyerai224-status span{margin-top:5px;color:#6c7781;font-size:11px}.flyerai224-settings{display:grid;grid-template-columns:.7fr 1.3fr;gap:24px;margin:22px 0;padding:22px;border:1px solid var(--line);border-radius:15px;background:#fff}.flyerai224-settings form{display:grid;grid-template-columns:1fr 1fr;gap:11px}.flyerai224-settings form button{align-self:end}.flyerai224-list{display:grid;gap:12px}.flyerai224-list article{display:grid;grid-template-columns:1fr auto auto;gap:15px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}.flyerai224-list article>div>span{font-size:10px;color:#8c692d;font-weight:800}.flyerai224-list h3{margin:4px 0}.flyerai224-list p{margin:0;color:#6f7a84;font-size:12px}.flyerai224-list form{display:flex;align-items:end;gap:8px}

/* Running */
.running224{max-width:1200px;margin:28px auto;padding:0 18px}.running224-form{padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff}.running224-note{margin:14px 0;padding:12px;border-radius:10px;background:#f5f0e4;color:#675833;font-size:12px}.running224-actions{display:flex;gap:8px;margin:15px 0}.running224-zones{padding:20px;border:1px solid var(--line);border-radius:14px;background:#fff}.running224-zones>div{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.running224-zones article{padding:11px;border-radius:10px;background:#f1f3f5}.running224-zones span,.running224-zones strong{display:block}.running224-zones span{font-size:10px;color:#7a858e}.running224-zones strong{margin-top:4px;font-size:11px}.running224-plan{display:grid;gap:15px;margin-top:15px}.running224-plan>article{padding:20px;border:1px solid var(--line);border-radius:15px;background:#fff}.running224-plan>article.recovery{background:#fffaf0;border-color:#e8d9b7}.running224-plan>article>header{display:flex;justify-content:space-between}.running224-plan>article>header span{font-size:10px;color:#8c692d;font-weight:850}.running224-plan>article>header h2{margin:4px 0}.running224-plan>article>div{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:13px}.running224-plan section{padding:13px;border-radius:11px;background:#f5f6f7}.running224-plan section>span{font-size:9px;color:#8d6a2e;font-weight:850}.running224-plan h3{margin:4px 0 5px;font-size:14px}.running224-plan p{margin:0;color:#65717b;font-size:12px;line-height:1.45}
@media print{.running224-actions,.topbar-224,.footer{display:none!important}.running224{max-width:none;margin:0;padding:0}.running224-plan>article{break-inside:avoid;page-break-inside:avoid}.running224-zones{break-inside:avoid}}

/* Roster temporal fix */
.publicroster223-toolbar>div strong,.publicroster223-toolbar>div small{display:block}.publicroster223-toolbar>div small{margin-top:3px;color:#74808a}
.publicroster223-grid:empty:after{content:"No se encontraron integrantes aprobados para esta actividad.";display:block;grid-column:1/-1;padding:30px;text-align:center;color:#78838c}

/* Responsive */
@media(max-width:1000px){.nav-224{overflow-x:auto}.portal224-memberships{grid-template-columns:repeat(2,1fr)}.flyerai224-settings{grid-template-columns:1fr}.flyerai224-list article{grid-template-columns:1fr}.running224-zones>div{grid-template-columns:repeat(3,1fr)}.running224-plan>article>div{grid-template-columns:repeat(2,1fr)}.credential224-main{grid-template-columns:145px 1fr 120px}.credential224-photo{width:145px;height:185px}}
@media(max-width:720px){.topbar-224{display:block;padding:12px 14px}.nav-224{margin-top:9px}.brand-224 small{display:none}.portal224-hero{grid-template-columns:64px 1fr}.portal224-person img,.portal224-person>span{width:60px;height:60px}.portal224-hero>a{grid-column:1/-1;width:max-content}.portal224-shortcuts,.portal224-memberships,.folio224-books{grid-template-columns:1fr 1fr}.folio224-config{grid-template-columns:1fr}.folio224-config form{grid-template-columns:1fr 1fr}.flyerai224>header{display:block}.flyerai224-status{margin-top:14px}.flyerai224-settings form{grid-template-columns:1fr}.running224-plan>article>div{grid-template-columns:1fr}.credential224{aspect-ratio:auto}.credential224-main{grid-template-columns:100px 1fr}.credential224-photo{width:100px;height:130px}.credential224-qr{grid-column:1/-1}.credential224-foot{position:relative;grid-template-columns:1fr 1fr}.credential224-foot>span{grid-column:1/-1}}
@media(max-width:500px){.portal224-shortcuts,.portal224-memberships,.folio224-books{grid-template-columns:1fr}.running224-zones>div{grid-template-columns:1fr 1fr}.folio224-config form{grid-template-columns:1fr}.credential224-band>span{display:none}}


/* ==========================================================
   EXTENAPP 2.25 · SISTEMA VISUAL INSTITUCIONAL
   ========================================================== */
:root{--xnavy:#102d47;--xnavy2:#173f60;--xgold:#b8944b;--xgold2:#d4bb7b;--xwine:#6b1734;--xink:#1d2e3d;--xmuted:#697681;--xpaper:#f5f6f7;--xline:#dde3e7}
html{scroll-behavior:smooth}body{background:var(--xpaper);color:var(--xink);font-size:15px;line-height:1.55}.container{max-width:1500px}
h1,h2,h3,h4{letter-spacing:-.02em}.card{border:1px solid var(--xline)!important;border-radius:16px!important;background:#fff!important;box-shadow:0 8px 24px rgba(22,37,50,.035)!important}
.btn{min-height:42px!important;border-radius:9px!important;padding:0 14px!important;font-size:13px!important;font-weight:750!important;box-shadow:none!important}.btn.dark{background:var(--xnavy)!important;color:#fff!important}.btn.dark:hover{background:#0b2439!important}.btn.secondary{background:#fff!important;border:1px solid #d5dce2!important;color:#344654!important}
input,select,textarea{border:1px solid #d8dee4!important;border-radius:10px!important;background:#fff!important;color:#243542!important;font-size:14px!important}input:focus,select:focus,textarea:focus{border-color:#9f7d3e!important;box-shadow:0 0 0 3px rgba(184,148,75,.11)!important;outline:none!important}label{font-size:13px!important;color:#344553!important}
table{background:#fff}th{color:#687580;font-size:11px!important;letter-spacing:.035em}td{font-size:13px!important}
.footer-225{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:28px clamp(18px,4vw,55px)!important;background:#0e283f!important;color:#fff!important;border-top:4px solid var(--xgold)}.footer-225 strong,.footer-225 span,.footer-225 b{display:block}.footer-225 strong{font-size:18px}.footer-225 span{margin-top:3px;color:rgba(255,255,255,.66);font-size:11px}.footer-225 b{margin-top:3px;font-size:11px;color:#d9c081}

/* HOME */
.home225-page>.container{max-width:none!important;padding:0!important;margin:0!important}.home225{background:#f5f6f7}.home225-hero{display:grid;grid-template-columns:1.04fr .96fr;min-height:650px;background:linear-gradient(145deg,#102d47,#183f5f 67%,#1c496c);color:#fff;overflow:hidden}.home225-copy{padding:95px clamp(35px,6vw,90px);display:flex;flex-direction:column;justify-content:center}.home225-copy>span{font-size:10px;font-weight:850;letter-spacing:.15em;color:#dcc383}.home225-copy h1{max-width:720px;margin:16px 0 20px;font-size:clamp(48px,6vw,78px);line-height:.98;color:#fff;letter-spacing:-.055em}.home225-copy h1 em{font-style:normal;color:#d8bd79}.home225-copy>p{max-width:630px;margin:0;color:rgba(255,255,255,.72);font-size:17px;line-height:1.7}.home225-actions{display:flex;gap:9px;margin-top:30px}.home225-actions a,.home225-cta a{display:inline-flex;align-items:center;min-height:48px;padding:0 17px;border:1px solid rgba(255,255,255,.22);border-radius:10px;color:#fff;text-decoration:none;font-size:13px;font-weight:800}.home225-actions a.primary,.home225-cta a{border-color:var(--xgold);background:var(--xgold);color:#102d47}.home225-numbers{display:flex;gap:30px;margin-top:48px}.home225-numbers div{padding-right:30px;border-right:1px solid rgba(255,255,255,.12)}.home225-numbers strong,.home225-numbers span{display:block}.home225-numbers strong{font-size:30px}.home225-numbers span{font-size:11px;color:rgba(255,255,255,.58)}.home225-visual{position:relative;display:grid;place-items:center;background:radial-gradient(circle at 50% 50%,rgba(213,187,123,.14),transparent 46%)}.home225-psi{position:relative;z-index:3;display:grid;place-items:center;width:230px;height:230px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(255,255,255,.06);font-family:Georgia,serif;font-size:120px;color:#d8bd79;box-shadow:0 0 0 35px rgba(255,255,255,.02),0 0 0 70px rgba(255,255,255,.015)}.home225-orbit{position:absolute;border:1px solid rgba(255,255,255,.08);border-radius:50%}.home225-orbit.orbit1{width:480px;height:480px}.home225-orbit.orbit2{width:650px;height:650px}.home225-card{position:absolute;z-index:4;width:190px;padding:16px;border:1px solid rgba(255,255,255,.15);border-radius:14px;background:rgba(255,255,255,.09);backdrop-filter:blur(8px)}.home225-card span,.home225-card strong{display:block}.home225-card span{font-size:8px;font-weight:850;letter-spacing:.12em;color:#d8bd79}.home225-card strong{margin-top:5px;font-size:13px}.home225-card.c1{top:22%;left:8%}.home225-card.c2{right:8%;top:47%}.home225-card.c3{bottom:16%;left:17%}.home225-path{display:grid;grid-template-columns:repeat(3,1fr);max-width:1320px;margin:-45px auto 0;position:relative;z-index:5;padding:0 18px}.home225-path article{display:grid;grid-template-columns:48px 1fr;gap:13px;padding:24px;background:#fff;border-right:1px solid #e2e6e9;box-shadow:0 14px 32px rgba(22,36,49,.08)}.home225-path article:first-child{border-radius:16px 0 0 16px}.home225-path article:last-child{border-radius:0 16px 16px 0;border-right:0}.home225-path article>span{display:grid;place-items:center;width:43px;height:43px;border-radius:10px;background:#f2ede2;color:#805e27;font-size:11px;font-weight:850}.home225-path small{color:#8d6b2d;font-size:9px;font-weight:850;letter-spacing:.11em}.home225-path h2{margin:3px 0 5px;font-size:17px}.home225-path p{margin:0;color:#6e7983;font-size:12px}.home225-section{max-width:1320px;margin:70px auto;padding:0 18px}.home225-section>header{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:17px}.home225-section>header span{color:#8b692b;font-size:10px;font-weight:900;letter-spacing:.13em}.home225-section>header h2{margin:4px 0 5px;font-size:29px}.home225-section>header p{margin:0;color:#6c7882}.home225-section>header>a{color:#173f60;text-decoration:none;font-size:12px;font-weight:800}.home225-events{display:grid;grid-template-columns:1fr 1fr;gap:12px}.home225-event{display:grid;grid-template-columns:105px 58px 1fr 25px;gap:14px;align-items:center;padding:13px;border:1px solid var(--xline);border-radius:15px;background:#fff;color:var(--xink);text-decoration:none}.home225-eventArt{width:105px;height:95px;overflow:hidden;border-radius:11px;background:linear-gradient(145deg,#163e5e,#b8944b);display:grid;place-items:center}.home225-eventArt img{width:100%;height:100%;object-fit:cover}.home225-eventArt span{font-size:40px;color:#fff}.home225-date{text-align:center}.home225-date strong,.home225-date span{display:block}.home225-date strong{font-size:24px}.home225-date span{font-size:9px;color:#8d6a2d;font-weight:850}.home225-event small{font-size:9px;color:#8d6a2d;font-weight:850}.home225-event h3{margin:3px 0 4px;font-size:15px}.home225-event p{margin:0;color:#727d87;font-size:11px}.home225-event>b{color:#6a1734}.home225-activities{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.home225-activity{display:grid;grid-template-columns:50px 1fr 20px;gap:12px;align-items:center;padding:17px;border:1px solid var(--xline);border-radius:14px;background:#fff;color:var(--xink);text-decoration:none}.home225-activityIcon{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:#102d47;color:#d8bd79;font-size:24px}.home225-activity span{font-size:9px;color:#8c692d;font-weight:850}.home225-activity h3{margin:3px 0;font-size:15px}.home225-activity p{margin:0;color:#737e88;font-size:11px}.home225-cta{display:flex;justify-content:space-between;gap:30px;align-items:center;max-width:1284px;margin:70px auto;padding:40px;border-radius:20px;background:linear-gradient(135deg,#6a1734,#8b3151);color:#fff}.home225-cta>div>span{font-size:9px;letter-spacing:.13em;color:#e6cc8b;font-weight:850}.home225-cta h2{margin:6px 0;font-size:31px;color:#fff}.home225-cta p{margin:0;color:rgba(255,255,255,.70)}.home225-cta>div:last-child{display:flex;gap:8px}.home225-cta a.secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.26)}

/* LOGIN */
.login225-page>.topbar,.login225-page>.footer{display:none!important}.login225-page>.container{max-width:none!important;width:100%!important;padding:0!important;margin:0!important}.login225{min-height:100vh;display:grid;place-items:center;padding:28px;background:linear-gradient(145deg,#eef1f3,#f8f7f4)}.login225-shell{width:min(1120px,100%);min-height:680px;display:grid;grid-template-columns:.98fr 1.02fr;overflow:hidden;border:1px solid #dfe3e6;border-radius:24px;background:#fff;box-shadow:0 25px 70px rgba(20,34,47,.14)}.login225-visual{position:relative;display:flex;flex-direction:column;padding:46px;background:linear-gradient(150deg,#102d47,#173f60 65%,#214e70);color:#fff;overflow:hidden}.login225-visual:after{content:"";position:absolute;left:0;right:0;bottom:0;height:7px;background:#b8944b}.login225-visual-top{display:flex;align-items:center;gap:14px;z-index:2}.login225-logoPair{display:flex;gap:7px}.login225-logoPair>span{display:grid;place-items:center;width:55px;height:55px;padding:5px;box-sizing:border-box;border-radius:11px;background:#fff;color:#6a1734;font-weight:900}.login225-logoPair img{width:43px!important;height:43px!important;max-width:43px!important;max-height:43px!important;object-fit:contain!important}.login225-visual-top small,.login225-visual-top strong{display:block}.login225-visual-top small{font-size:8px;letter-spacing:.10em;color:#d9c07e}.login225-visual-top strong{margin-top:4px;font-size:11px}.login225-message{position:relative;z-index:2;margin:auto 0;max-width:470px}.login225-message>span{font-size:9px;letter-spacing:.14em;color:#d8bd79;font-weight:850}.login225-message h1{margin:12px 0 17px;color:#fff;font-size:48px;line-height:1.02;letter-spacing:-.045em}.login225-message p{margin:0;max-width:430px;color:rgba(255,255,255,.72);font-size:14px;line-height:1.7}.login225-watermark{position:absolute;right:-30px;bottom:-80px;font-family:Georgia,serif;font-size:430px;line-height:1;color:rgba(255,255,255,.025)}.login225-visual footer{position:relative;z-index:2;padding-top:17px;border-top:1px solid rgba(255,255,255,.12)}.login225-visual footer b,.login225-visual footer span{display:block}.login225-visual footer b{font-size:14px}.login225-visual footer span{font-size:10px;color:rgba(255,255,255,.58)}.login225-form{display:flex;align-items:center;justify-content:center;padding:58px}.login225-formInner{width:min(400px,100%)}.login225-mobilebrand{display:none}.login225-kicker{font-size:9px;font-weight:900;letter-spacing:.14em;color:#8c692d}.login225-formInner h2{margin:9px 0 8px;font-size:34px}.login225-formInner>p{margin:0 0 28px;color:#6d7883;font-size:13px}.login225-form form{display:grid;gap:17px}.login225-form label{display:grid;gap:7px;font-weight:750}.login225-form label>div{display:grid;grid-template-columns:44px 1fr;align-items:center;border:1px solid #d8dee4;border-radius:11px;background:#fbfcfd;overflow:hidden}.login225-form label>div>span{display:grid;place-items:center;height:50px;color:#8c692d;font-size:12px;font-weight:850}.login225-form input{height:50px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.login225-form button{display:flex;justify-content:space-between;align-items:center;height:51px;padding:0 16px;border:0;border-radius:11px;background:#102d47;color:#fff;font-size:13px;font-weight:850;cursor:pointer}.login225-help{display:flex;justify-content:space-between;margin-top:24px;padding-top:17px;border-top:1px solid #edf0f2;color:#7a848e;font-size:11px}.login225-help a,.login225-back{color:#6a1734;text-decoration:none;font-weight:800}.login225-back{display:inline-block;margin-top:17px;font-size:11px}

/* CREDENTIAL */
.credential225-page>.container{max-width:none}.credential225-wrap{max-width:1040px;margin:30px auto;padding:0 16px}.credential225-actions{text-align:right;margin-bottom:11px}.credential225{position:relative;aspect-ratio:1.586/1;overflow:hidden;border-radius:26px;background:linear-gradient(135deg,#f9faf9 0%,#eef2f3 45%,#f8f4e9 100%);border:1px solid #d6dce1;box-shadow:0 23px 60px rgba(20,32,44,.16)}.credential225:before{content:"";position:absolute;left:-130px;bottom:-180px;width:500px;height:500px;border-radius:50%;background:rgba(184,148,75,.12)}.credential225-watermark{position:absolute;right:-35px;bottom:-50px;width:420px;height:420px;object-fit:contain;opacity:.035;filter:grayscale(1)}.credential225-goldline{position:absolute;top:0;bottom:0;left:0;width:10px;background:#b8944b}.credential225 header{position:relative;z-index:2;display:flex;align-items:center;gap:13px;padding:22px 28px 18px 35px;background:linear-gradient(90deg,#102d47 0%,#173f60 76%,#204d70 100%);color:#fff;border-bottom:5px solid #b8944b}.credential225-logo{display:grid;place-items:center;width:56px;height:56px;padding:6px;border-radius:12px;background:#fff}.credential225-logo img{width:44px;height:44px;object-fit:contain}.credential225 header strong,.credential225 header span{display:block}.credential225 header strong{font-size:13px}.credential225 header span{font-size:10px;color:rgba(255,255,255,.64)}.credential225 header>b{margin-left:auto;font-size:10px;letter-spacing:.13em;color:#dcc27f}.credential225 main{position:relative;z-index:2;display:grid;grid-template-columns:185px 1fr 140px;gap:24px;align-items:center;padding:28px 32px 75px 38px}.credential225-photo{width:185px;height:225px;border-radius:17px;object-fit:cover;border:5px solid #fff;box-shadow:0 10px 28px rgba(30,40,50,.13);background:#e6ebee}.credential225-photo.fallback{display:grid;place-items:center;color:#6a1734;font-size:32px;font-weight:900}.credential225-person>span{font-size:9px;font-weight:900;letter-spacing:.14em;color:#8c692d}.credential225-person h1{margin:8px 0 6px;font-size:29px;line-height:1.05}.credential225-person h2{margin:0 0 18px;color:#6a1734;font-size:17px}.credential225-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.credential225-grid small,.credential225-grid strong{display:block}.credential225-grid small{font-size:8px;color:#78838c}.credential225-grid strong{margin-top:2px;font-size:11px}.credential225-qr{text-align:center}.credential225-qr #qrcode{display:inline-block;padding:8px;border:1px solid #d8dee3;border-radius:12px;background:#fff}.credential225-qr small{display:block;margin-top:6px;font-size:8px;color:#76818b}.credential225 footer{position:absolute;z-index:3;left:10px;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:15px;align-items:center;padding:14px 27px;background:rgba(16,45,71,.96);color:#fff}.credential225 footer small,.credential225 footer strong{display:block}.credential225 footer small{font-size:7px;color:#d7bd78}.credential225 footer strong{font-size:10px}.credential225 footer>span{font-size:8px;color:rgba(255,255,255,.62)}

/* RUNNING */
.running225-page>.container{max-width:none}.running225{max-width:1240px;margin:28px auto;padding:0 18px}.running225-hero{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:34px;border-radius:20px;background:linear-gradient(135deg,#102d47,#174566);color:#fff;overflow:hidden}.running225-hero>div>span{font-size:9px;letter-spacing:.14em;color:#d8bd79;font-weight:850}.running225-hero h1{margin:6px 0 7px;color:#fff;font-size:38px}.running225-hero p{margin:0;color:rgba(255,255,255,.70)}.running225-mark{display:grid;place-items:center;width:115px;height:115px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07)}.running225-mark b,.running225-mark small{display:block}.running225-mark b{font-size:29px;color:#d8bd79}.running225-mark small{font-size:9px}.running225-start{display:grid;grid-template-columns:.7fr 1.3fr;gap:28px;margin-top:18px;padding:24px;border:1px solid var(--xline);border-radius:16px;background:#fff}.running225-startText>span{font-size:9px;letter-spacing:.13em;color:#8b692c;font-weight:850}.running225-startText h2{margin:5px 0 7px;font-size:26px}.running225-startText p{color:#6e7983}.running225-principles{display:grid;gap:9px;margin-top:23px}.running225-principles div{display:flex;align-items:center;gap:10px}.running225-principles b{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#f2ecdf;color:#8b682c;font-size:10px}.running225-principles span{font-size:12px}.running225-note{padding:11px;border-radius:9px;background:#f6f0e4;color:#675933;font-size:11px}.running225-actions{display:flex;gap:8px;margin:16px 0}.running225-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.running225-summary article{padding:17px;border:1px solid var(--xline);border-radius:13px;background:#fff}.running225-summary span,.running225-summary strong,.running225-summary small{display:block}.running225-summary span{font-size:8px;color:#8b692c;font-weight:850}.running225-summary strong{margin:5px 0 2px;font-size:25px}.running225-summary small{color:#74808a;font-size:10px}.running225-chart{margin-top:14px;padding:20px;border:1px solid var(--xline);border-radius:15px;background:#102d47;color:#d8bd79}.running225-chart header{display:flex;justify-content:space-between;color:#fff}.running225-chart header span,.running225-zones header>span,.running225-weeks>header>span{font-size:9px;font-weight:850;letter-spacing:.13em;color:#d8bd79}.running225-chart h2,.running225-zones h2,.running225-weeks h2{margin:4px 0}.running225-chart header small{color:rgba(255,255,255,.57)}.running225-chart svg{width:100%;height:auto;margin-top:8px}.running225-chart svg text{fill:rgba(255,255,255,.72);font-size:11px}.running225-chart svg circle{fill:#d8bd79}.running225-zones{margin-top:14px;padding:20px;border:1px solid var(--xline);border-radius:15px;background:#fff}.running225-zones>div{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:12px}.running225-zones article{position:relative;overflow:hidden;display:grid;grid-template-columns:34px 1fr;gap:10px;padding:12px;border-radius:11px;background:#f1f3f5}.running225-zones article>b{display:grid;place-items:center;width:31px;height:31px;border-radius:8px;background:#102d47;color:#d8bd79;font-size:9px}.running225-zones article span,.running225-zones article strong{display:block}.running225-zones article span{font-size:9px;color:#727d87}.running225-zones article strong{font-size:11px}.running225-zones article i{position:absolute;left:0;bottom:0;width:var(--fill);height:3px;background:#b8944b}.running225-weeks{margin-top:18px}.running225-weeks>header{margin-bottom:11px}.running225-weeks>article{display:grid;grid-template-columns:170px 1fr;gap:14px;margin-bottom:11px;padding:16px;border:1px solid var(--xline);border-radius:14px;background:#fff}.running225-weeks>article.recovery{border-left:5px solid #b8944b;background:#fffaf0}.running225-weeks>article.peak{border-left:5px solid #6a1734}.running225-weekHead span{font-size:9px;color:#8a682c;font-weight:850}.running225-weekHead h3{margin:4px 0;font-size:18px}.running225-weekHead>strong{font-size:13px;color:#6a1734}.running225-days{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.running225-days section{display:grid;grid-template-columns:32px 1fr;gap:9px;padding:10px;border-radius:10px;background:#f5f6f7}.running225-dayIndex{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#173f60;color:#fff;font-size:10px;font-weight:850}.running225-days span{font-size:8px;color:#8a682c;font-weight:850}.running225-days p{margin:3px 0 0;color:#65717b;font-size:11px;line-height:1.4}

/* FLYER LAB */
.flyerai224-status.on{border-left:4px solid #3c8055}.flyerai224-status.off{border-left:4px solid #b8944b}.flyerai224-list article{transition:transform .15s ease,box-shadow .15s ease}.flyerai224-list article:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(22,36,49,.06)}

/* RESPONSIVE */
@media(max-width:1000px){.home225-hero{grid-template-columns:1fr}.home225-visual{min-height:460px}.home225-copy{padding:70px 35px}.home225-events{grid-template-columns:1fr}.home225-activities{grid-template-columns:repeat(2,1fr)}.login225-shell{grid-template-columns:.85fr 1.15fr}.credential225 main{grid-template-columns:145px 1fr 120px}.credential225-photo{width:145px;height:185px}.running225-start{grid-template-columns:1fr}}
@media(max-width:760px){.footer-225{display:block}.footer-225>div:last-child{margin-top:12px}.home225-copy h1{font-size:48px}.home225-visual{min-height:400px}.home225-path{grid-template-columns:1fr;margin:16px auto}.home225-path article,.home225-path article:first-child,.home225-path article:last-child{border-radius:12px;border:1px solid #e1e5e8;margin-bottom:8px}.home225-numbers{gap:14px;flex-wrap:wrap}.home225-numbers div{padding-right:14px}.home225-activities{grid-template-columns:1fr}.home225-cta{display:block;margin:45px 14px}.home225-cta>div:last-child{margin-top:18px}.login225{padding:0;background:#fff}.login225-shell{display:block;min-height:100vh;border:0;border-radius:0;box-shadow:none}.login225-visual{display:none}.login225-form{min-height:100vh;padding:28px 22px}.login225-mobilebrand{display:flex;align-items:center;gap:10px;margin-bottom:48px}.login225-mobilebrand>span{display:grid;place-items:center;width:48px;height:48px;border-radius:10px;background:#102d47;color:#fff;font-weight:900}.login225-mobilebrand strong,.login225-mobilebrand small{display:block}.login225-mobilebrand strong{font-size:18px}.login225-mobilebrand small{font-size:9px;color:#77828c}.credential225{aspect-ratio:auto}.credential225 main{grid-template-columns:100px 1fr;padding-bottom:95px}.credential225-photo{width:100px;height:130px}.credential225-qr{grid-column:1/-1}.credential225 footer{grid-template-columns:1fr 1fr}.credential225 footer>span{grid-column:1/-1}.running225-summary{grid-template-columns:1fr 1fr}.running225-zones>div{grid-template-columns:1fr 1fr}.running225-weeks>article{grid-template-columns:1fr}.running225-days{grid-template-columns:1fr}}
@media(max-width:500px){.home225-copy{padding:55px 22px}.home225-copy h1{font-size:40px}.home225-actions{display:grid}.home225-visual{min-height:340px}.home225-psi{width:165px;height:165px;font-size:88px}.home225-card{width:145px;padding:11px}.home225-card.c1{left:3%}.home225-card.c2{right:3%}.home225-card.c3{left:8%}.home225-event{grid-template-columns:80px 48px 1fr}.home225-eventArt{width:80px;height:75px}.home225-event>b{display:none}.running225-hero{padding:24px}.running225-mark{width:80px;height:80px}.running225-summary,.running225-zones>div{grid-template-columns:1fr}.credential225 header>b{display:none}.credential225 main{display:block}.credential225-photo{width:115px;height:145px;margin-bottom:16px}.credential225-qr{margin-top:14px}.credential225 footer{position:relative;left:10px}}
@media print{.credential225-actions,.topbar-224,.footer-225{display:none!important}.credential225-wrap{width:86mm!important;margin:0!important;padding:0!important}.credential225{width:86mm!important;height:54mm!important;border-radius:3mm!important;box-shadow:none!important}.credential225 header{padding:2.5mm 3.5mm!important;border-bottom-width:.8mm!important}.credential225-logo{width:8mm!important;height:8mm!important;padding:1mm!important}.credential225-logo img{width:6mm!important;height:6mm!important}.credential225 main{grid-template-columns:23mm 1fr 18mm!important;gap:3mm!important;padding:3mm 4mm 11mm 5mm!important}.credential225-photo{width:23mm!important;height:28mm!important;border-width:1mm!important;border-radius:2mm!important}.credential225-person h1{font-size:9pt!important}.credential225-person h2{font-size:6.5pt!important}.credential225-grid{gap:1.5mm!important}.credential225 footer{left:1mm!important;padding:2mm 4mm!important}.credential225-qr #qrcode{transform:scale(.52);transform-origin:center}.running225-actions,.running225-hero,.topbar-224,.footer-225{display:none!important}.running225{max-width:none;margin:0;padding:0}.running225-chart,.running225-zones,.running225-weeks>article{break-inside:avoid}}


/* ==========================================================
   EXTENAPP 2.26 · DISEÑO IA / QR PERMANENTE / RUNNING LAB
   ========================================================== */

/* Registro institucional */
.register226-page>.container{max-width:1180px}.register226{display:grid;grid-template-columns:.72fr 1.28fr;gap:18px;margin:30px auto;padding:0 18px}.register226-intro,.register226-form{padding:27px;border:1px solid var(--xline);border-radius:18px;background:#fff}.register226-intro{background:linear-gradient(145deg,#102d47,#174865);color:#fff}.register226-intro>span{font-size:9px;font-weight:900;letter-spacing:.13em;color:#d8bd79}.register226-intro h1{margin:8px 0 10px;color:#fff;font-size:31px}.register226-intro>p{color:rgba(255,255,255,.70)}.register226-intro>div{display:flex;align-items:center;gap:11px;margin-top:16px;padding-top:15px;border-top:1px solid rgba(255,255,255,.10)}.register226-intro>div b{display:grid;place-items:center;width:35px;height:35px;border-radius:9px;background:#b8944b;color:#102d47;font-size:10px}.register226-intro>div span{font-size:12px}.register226-profile{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.register226-profile label{display:flex!important;align-items:flex-start!important;gap:9px!important;padding:14px!important;border:1px solid #dfe4e8!important;border-radius:11px!important;background:#f8f9fa}.register226-profile label:has(input:checked){border-color:#b8944b!important;background:#fffaf0}.register226-profile input{width:auto!important}.register226-profile b,.register226-profile small{display:block}.register226-profile small{margin-top:3px;color:#77828c;font-size:10px}

/* Instructores */
.admininstructors226{max-width:1300px;margin:28px auto;padding:0 18px}.admininstructors226>header>span,.autoqr226>header span,.instructorqr226>header span,.attendance226-hero>div>span,.flyer226-hero>div>span,.running226-hero>div>span{font-size:9px;font-weight:900;letter-spacing:.14em;color:#8b692c}.admininstructors226>header h1,.autoqr226>header h1,.instructorqr226>header h1,.attendance226-hero h1,.flyer226-hero h1{margin:6px 0 6px;font-size:31px}.admininstructors226>header p,.autoqr226>header p,.instructorqr226>header p{color:#6d7983}.admininstructors226-list{display:grid;gap:10px;margin-top:20px}.admininstructors226-list>article{display:grid;grid-template-columns:1fr auto;gap:14px;padding:17px;border:1px solid var(--xline);border-radius:13px;background:#fff}.admininstructors226-person{display:flex;align-items:center;gap:11px}.admininstructors226-person>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#102d47;color:#d8bd79;font-weight:900}.admininstructors226-person h3,.admininstructors226-person p{margin:0}.admininstructors226-person p{margin-top:3px;color:#74808a;font-size:11px}.admininstructors226-role{display:flex;align-items:center;gap:8px}.admininstructors226-role>strong{padding:6px 9px;border-radius:7px;background:#f2ead8;color:#785924;font-size:9px}.admininstructors226-assign{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid #edf0f2}.admininstructors226-assign>div{display:flex;gap:6px;flex-wrap:wrap}.admininstructors226-assign>div form button{padding:7px 9px;border:0;border-radius:7px;background:#eef1f3;color:#3f4e5a;font-size:10px;cursor:pointer}.admininstructors226-assign>form{display:flex;gap:7px}

/* Attendance center */
.attendance226{max-width:1320px;margin:28px auto;padding:0 18px}.attendance226-hero{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:27px;border-radius:18px;background:linear-gradient(135deg,#102d47,#174866);color:#fff}.attendance226-hero>div>span{color:#d8bd79}.attendance226-hero h1{color:#fff}.attendance226-hero p{margin:0;color:rgba(255,255,255,.69)}.attendance226-mainactions{display:flex;gap:8px}.attendance226-mainactions .btn.secondary{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.22)!important;color:#fff!important}.attendance226-modes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.attendance226-modes article{padding:21px;border:1px solid var(--xline);border-radius:14px;background:#fff}.attendance226-modes article.recommended{border-color:#d8c18c;background:#fffaf0}.attendance226-modes article>span{font-size:9px;font-weight:900;letter-spacing:.11em;color:#8b692c}.attendance226-modes h2{margin:5px 0 7px;font-size:18px}.attendance226-modes p{color:#6e7982;font-size:12px}.attendance226-modes a{color:#6a1734;text-decoration:none;font-size:11px;font-weight:800}

/* Permanent QR Admin */
.autoqr226,.instructorqr226{max-width:1380px;margin:28px auto;padding:0 18px}.autoqr226>header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.autoqr226-explain{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.autoqr226-explain article{padding:17px;border:1px solid var(--xline);border-radius:13px;background:#fff}.autoqr226-explain b{display:grid;place-items:center;width:33px;height:33px;border-radius:9px;background:#102d47;color:#d8bd79;font-size:10px}.autoqr226-explain h3{margin:9px 0 4px;font-size:15px}.autoqr226-explain p{margin:0;color:#6f7a84;font-size:11px}.autoqr226-list>header,.autoqr226-spaces>header{margin:25px 0 11px}.autoqr226-list>header span,.autoqr226-spaces>header span{font-size:9px;color:#8b692c;font-weight:900;letter-spacing:.12em}.autoqr226-list>header h2,.autoqr226-spaces>header h2{margin:3px 0}.autoqr226-list>article{display:grid;grid-template-columns:1fr 150px auto;gap:13px;align-items:center;padding:16px;border:1px solid var(--xline);border-radius:13px;background:#fff;margin-bottom:9px}.autoqr226-info>span{font-size:9px;color:#8b692c;font-weight:850}.autoqr226-info h3{margin:3px 0 4px}.autoqr226-info p{margin:0;color:#707b85;font-size:11px}.autoqr226-toggle label{display:flex!important;align-items:center!important;gap:7px!important}.autoqr226-toggle input{width:auto!important}.autoqr226-actions{display:flex;gap:7px}.autoqr226-spaces>div{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.autoqr226-spaces article{padding:16px;border:1px solid var(--xline);border-radius:12px;background:#fff}.autoqr226-spaces h3{margin-top:0}.autoqr226-spaces form{display:inline}

/* instructor QR */
.instructorqr226-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.instructorqr226-grid article{padding:20px;border:1px solid var(--xline);border-radius:14px;background:#fff}.instructorqr226-grid article>span{font-size:9px;color:#8b692c;font-weight:900}.instructorqr226-grid h2{margin:5px 0 4px;font-size:18px}.instructorqr226-grid p{margin:0 0 15px;color:#6d7983;font-size:11px}

/* QR full screen */
.qrdisplay226-page>.topbar,.qrdisplay226-page>.footer{display:none!important}.qrdisplay226-page>.container{max-width:none!important;padding:0!important}.qrdisplay226{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px;text-align:center;background:linear-gradient(145deg,#102d47,#174865);color:#fff}.qrdisplay226 header>span{font-size:10px;letter-spacing:.15em;color:#d8bd79;font-weight:900}.qrdisplay226 h1{margin:7px 0 3px;color:#fff;font-size:38px}.qrdisplay226 header p{margin:0;color:rgba(255,255,255,.63)}.qrdisplay226 #qr226{margin:28px 0 15px;padding:18px;border-radius:20px;background:#fff;box-shadow:0 18px 50px rgba(0,0,0,.20)}.qrdisplay226>strong{font-size:18px}.qrdisplay226>p{max-width:520px;color:rgba(255,255,255,.65)}.qrdisplay226 footer{margin-top:25px;padding-top:16px;border-top:1px solid rgba(255,255,255,.14);font-size:10px;color:#d8bd79}

/* Check-in */
.checkin226{max-width:620px;margin:55px auto;padding:40px 30px;border:1px solid var(--xline);border-radius:20px;background:#fff;text-align:center}.checkin226>span{font-size:9px;color:#8b692c;font-weight:900;letter-spacing:.12em}.checkin226-icon{display:grid;place-items:center;width:86px;height:86px;margin:20px auto;border-radius:50%;background:#102d47;color:#d8bd79;font-size:42px}.checkin226.success .checkin226-icon{background:#256a47;color:#fff}.checkin226 h1{font-size:27px}.checkin226 p{color:#63707b}.checkin226 small{display:block;margin-bottom:20px;color:#7b858e}

/* Flyer AI studio */
.flyer226{max-width:1360px;margin:28px auto;padding:0 18px}.flyer226-hero{display:flex;justify-content:space-between;gap:26px;align-items:flex-start;padding:28px;border-radius:18px;background:linear-gradient(135deg,#102d47,#174765);color:#fff}.flyer226-hero>div>span{color:#d8bd79}.flyer226-hero h1{color:#fff}.flyer226-hero p{max-width:760px;margin:0;color:rgba(255,255,255,.68)}.flyer226-ai{min-width:260px;padding:14px;border-radius:12px;background:rgba(255,255,255,.08);border-left:4px solid #b8944b}.flyer226-ai.ready{border-left-color:#65b780}.flyer226-ai strong,.flyer226-ai span{display:block}.flyer226-ai strong{font-size:11px}.flyer226-ai span{margin-top:4px;color:rgba(255,255,255,.65);font-size:10px}.flyer226-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}.flyer226-flow article{padding:17px;border:1px solid var(--xline);border-radius:13px;background:#fff}.flyer226-flow b{color:#b8944b}.flyer226-flow h3{margin:5px 0;font-size:15px}.flyer226-flow p{margin:0;color:#6d7983;font-size:11px}.flyer226-warning{padding:16px;border:1px solid #e1c989;border-radius:12px;background:#fff7df}.flyer226-warning p{margin:5px 0 0;color:#6c5b2b}.flyer226-settings{display:grid;grid-template-columns:.65fr 1.35fr;gap:22px;margin:18px 0;padding:22px;border:1px solid var(--xline);border-radius:14px;background:#fff}.flyer226-settings>div>span,.flyer226-projects>header>span{font-size:9px;color:#8b692c;font-weight:900;letter-spacing:.12em}.flyer226-settings h2{margin:4px 0}.flyer226-settings>div p{color:#6d7983}.flyer226-settings form{display:grid;grid-template-columns:1fr 1fr;gap:9px}.flyer226-projects>header{margin:24px 0 10px}.flyer226-projects>header h2{margin:4px 0}.flyer226-projects>article{display:grid;grid-template-columns:1fr 1.1fr auto;gap:14px;align-items:center;padding:17px;border:1px solid var(--xline);border-radius:13px;background:#fff;margin-bottom:9px}.flyer226-projectmeta>span{font-size:9px;color:#8b692c;font-weight:850}.flyer226-projectmeta h3{margin:4px 0}.flyer226-projectmeta p{margin:0;color:#6f7a83;font-size:11px}.flyer226-projectmeta small{display:block;margin-top:6px;color:#6a1734}.flyer226-projects form{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end}

/* Running Lab */
.running226{max-width:1400px;margin:28px auto;padding:0 18px}.running226-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:30px;border-radius:19px;background:linear-gradient(135deg,#102d47,#155275);color:#fff}.running226-hero>div>span{color:#d8bd79}.running226-hero h1{margin:5px 0;color:#fff;font-size:37px}.running226-hero p{margin:0;color:rgba(255,255,255,.67)}.running226-mark{display:grid;place-items:center;width:100px;height:100px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07)}.running226-mark b,.running226-mark small{display:block}.running226-mark b{font-size:24px;color:#d8bd79}.running226-mark small{font-size:9px}.running226-toolbar{display:flex;gap:8px;margin:14px 0}.running226-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:14px}.running226-sidebar{align-self:start;position:sticky;top:90px;padding:14px;border:1px solid var(--xline);border-radius:14px;background:#fff}.running226-sidebar>span{display:block;margin:3px 7px 9px;font-size:9px;color:#8b692c;font-weight:900;letter-spacing:.12em}.running226-sidebar>a{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:11px;border-radius:9px;color:#344654;text-decoration:none}.running226-sidebar>a.active{background:#102d47;color:#fff}.running226-sidebar strong,.running226-sidebar small{display:block}.running226-sidebar strong{font-size:12px}.running226-sidebar small{margin-top:3px;font-size:9px;color:#77838d}.running226-sidebar>a.active small{color:rgba(255,255,255,.58)}.running226-main{min-width:0}.running226-editor,.running226-overview,.running226-chart,.running226-progress,.running226-weeks,.running226-empty{padding:20px;border:1px solid var(--xline);border-radius:14px;background:#fff}.running226-editor>div>span,.running226-overview>div>span,.running226-sectiontitle span{font-size:9px;color:#8b692c;font-weight:900;letter-spacing:.12em}.running226-editor h2,.running226-overview h2{margin:4px 0}.running226-overview{display:flex;justify-content:space-between;align-items:flex-start}.running226-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:10px 0}.running226-kpis article{padding:15px;border:1px solid var(--xline);border-radius:11px;background:#fff}.running226-kpis span,.running226-kpis strong,.running226-kpis small{display:block}.running226-kpis span{font-size:8px;color:#8b692c;font-weight:850}.running226-kpis strong{margin:4px 0;font-size:24px}.running226-kpis small{font-size:9px;color:#78838d}.running226-chart{background:#102d47;color:#d8bd79}.running226-chart header{display:flex;justify-content:space-between;color:#fff}.running226-chart header span{font-size:9px;color:#d8bd79;font-weight:850}.running226-chart h3{margin:3px 0}.running226-chart header>div:last-child{font-size:10px;color:rgba(255,255,255,.65)}.running226-chart header i{display:inline-block;width:18px;height:3px;margin:0 5px 2px 10px}.running226-chart header i.planned{background:#d8bd79}.running226-chart header i.actual{background:#65c7db}.running226-chart svg{width:100%;height:auto}.running226-chart .line{fill:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.running226-chart .line.planned{stroke:#d8bd79}.running226-chart .line.actual{stroke:#65c7db}.running226-chart text{fill:rgba(255,255,255,.65);font-size:10px}.running226-progress{margin-top:10px}.running226-sectiontitle h3{margin:3px 0 12px}.running226-log{display:grid;gap:6px;margin-top:14px}.running226-log article{display:grid;grid-template-columns:1fr 1fr .7fr 32px;gap:10px;align-items:center;padding:10px;border-radius:9px;background:#f5f6f7}.running226-log strong,.running226-log span{display:block}.running226-log strong{font-size:11px}.running226-log span{font-size:9px;color:#75818b}.running226-log button{border:0;background:transparent;color:#8a3850;font-size:18px;cursor:pointer}.running226-weeks{margin-top:10px}.running226-weeks>article{display:grid;grid-template-columns:150px 1fr;gap:12px;margin-bottom:8px;padding:13px;border-radius:11px;background:#f6f7f8}.running226-weeks>article.recovery{border-left:4px solid #b8944b}.running226-weeks>article.peak{border-left:4px solid #6a1734}.running226-weeks article header span{font-size:8px;color:#8b692c;font-weight:850}.running226-weeks article header h4{margin:3px 0}.running226-weeks article header strong{font-size:11px}.running226-weeks article>div{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.running226-weeks section{display:grid;grid-template-columns:28px 1fr;gap:8px;padding:8px;border-radius:8px;background:#fff}.running226-weeks section>b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#173f60;color:#fff;font-size:9px}.running226-weeks section span{font-size:8px;color:#8b692c;font-weight:850}.running226-weeks section p{margin:2px 0 0;color:#66727c;font-size:10px}.running226-empty{text-align:center;padding:55px}.running226-empty>div{display:grid;place-items:center;width:95px;height:95px;margin:0 auto 14px;border-radius:50%;background:#102d47;color:#d8bd79;font-size:24px;font-weight:900}

/* Responsive */
@media(max-width:1000px){.register226{grid-template-columns:1fr}.admininstructors226-list>article{grid-template-columns:1fr}.admininstructors226-assign{display:block}.admininstructors226-assign>form{margin-top:8px}.autoqr226-list>article{grid-template-columns:1fr}.autoqr226-spaces>div,.instructorqr226-grid{grid-template-columns:repeat(2,1fr)}.flyer226-settings{grid-template-columns:1fr}.flyer226-projects>article{grid-template-columns:1fr}.running226-layout{grid-template-columns:1fr}.running226-sidebar{position:relative;top:auto;display:flex;gap:5px;overflow-x:auto}.running226-sidebar>span{display:none}.running226-sidebar>a{min-width:180px}.running226-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.attendance226-hero,.autoqr226>header,.flyer226-hero,.running226-hero{display:block}.attendance226-mainactions{margin-top:14px;flex-wrap:wrap}.attendance226-modes,.autoqr226-explain,.register226-profile{grid-template-columns:1fr}.autoqr226-spaces>div,.instructorqr226-grid{grid-template-columns:1fr}.flyer226-flow{grid-template-columns:1fr 1fr}.flyer226-settings form{grid-template-columns:1fr}.flyer226-projects form{grid-template-columns:1fr}.running226-kpis{grid-template-columns:1fr 1fr}.running226-log article{grid-template-columns:1fr 1fr}.running226-weeks>article{grid-template-columns:1fr}.running226-weeks article>div{grid-template-columns:1fr}.qrdisplay226 #qr226{transform:scale(.80);margin:0}.qrdisplay226 h1{font-size:29px}}
@media(max-width:480px){.flyer226-flow,.running226-kpis{grid-template-columns:1fr}.running226-log article{grid-template-columns:1fr}.autoqr226-actions{flex-wrap:wrap}}
@media print{.running226-toolbar,.running226-sidebar,.running226-progress,.topbar-224,.footer-225{display:none!important}.running226-layout{display:block}.running226-chart,.running226-weeks>article{break-inside:avoid}}

/* ===== EXTENAPP 2.31 · navegación contextual ===== */
.nav-224>a.nav-current,.nav-224 details.nav-current-group>summary{position:relative;background:rgba(255,255,255,.12);color:#fff!important;border-radius:10px}
.nav-224>a.nav-current:after,.nav-224 details.nav-current-group>summary:after{content:"";position:absolute;left:13px;right:13px;bottom:4px;height:2px;border-radius:3px;background:#d7bd78}
.nav-224 .admin-link{background:#b8944b!important;color:#102d47!important;border:1px solid #d7bd78!important;font-weight:950!important;box-shadow:0 5px 14px rgba(184,148,75,.24)}
.nav-224 .admin-link:hover,.nav-224 .admin-link.nav-current{background:#d7bd78!important;color:#102d47!important;box-shadow:0 8px 22px rgba(184,148,75,.38)}
.nav-224 .admin-link.nav-current{outline:2px solid rgba(255,255,255,.65);outline-offset:2px}

/* ===== EXTENAPP 2.31 · constancias realmente responsivas ===== */
.certificate-2152{width:min(1120px,calc(100vw - 20px))!important;aspect-ratio:297/210!important;height:auto!important;max-height:none!important}
.certificate-2152 .c2152-signatures{display:grid!important;grid-template-columns:1fr 1fr!important;align-items:start!important}
.certificate-2152 .c2152-sign-image{display:flex!important;align-items:flex-end!important;justify-content:center!important;overflow:hidden!important}
.certificate-2152 .c2152-sign-image img{width:auto!important;height:auto!important;object-fit:contain!important}
@media(max-width:900px){
 .certificate-toolbar,.c2152-toolbar{position:sticky;top:6px;z-index:20;background:#fff;border-radius:12px;box-shadow:0 7px 22px rgba(16,45,71,.12)}
 .certificate-2152 .c2152-sign-image{height:clamp(20px,5.3vw,48px)!important}
 .certificate-2152 .c2152-sign-image img{max-height:100%!important;max-width:clamp(62px,18vw,150px)!important}
 .certificate-2152 .c2152-signatures{column-gap:7%!important}
}
@media(max-width:560px){
 .certificate-2152{width:calc(100vw - 8px)!important;margin:6px auto!important}
 .certificate-2152 .c2152-sign-image{height:clamp(16px,5vw,30px)!important}
 .certificate-2152 .c2152-sign-image img{max-width:22vw!important}
 .certificate-2152 .c2152-signature strong{font-size:clamp(3.8px,1.35vw,7px)!important;line-height:1.05!important}
 .certificate-2152 .c2152-signature span{font-size:clamp(3.2px,1.05vw,6px)!important;line-height:1.05!important}
}
@media print{
 @page{size:A4 landscape;margin:0}
 html,body{width:297mm!important;height:210mm!important;margin:0!important;padding:0!important}
 .certificate-2152{width:297mm!important;height:210mm!important;aspect-ratio:auto!important;margin:0!important;border-radius:0!important;box-shadow:none!important}
 .certificate-2152 .c2152-sign-image{height:16mm!important}
 .certificate-2152 .c2152-sign-image img{max-height:16mm!important;max-width:46mm!important}
}

/* ===== EXTENAPP 2.31 · credencial compacta premium ===== */
.credential225-wrap{max-width:980px!important}
.credential225{aspect-ratio:1.586/1!important;min-height:0!important;background:linear-gradient(135deg,#f7f9fa 0%,#edf2f5 56%,#f8f1df 100%)!important;border:1px solid #cfd8de!important;border-radius:24px!important}
.credential225:after{content:"PSICOLOGÍA UAZ";position:absolute;right:-24px;top:43%;transform:rotate(-90deg);font-size:10px;letter-spacing:.28em;font-weight:950;color:rgba(16,45,71,.13)}
.credential225-brandlogos{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.credential225-logo.psi{width:48px;height:48px}
.credential225-logo.psi img{width:38px;height:38px}
.credential225 header{padding:18px 26px 15px 34px!important;min-height:68px!important}
.credential225 main{grid-template-columns:150px minmax(0,1fr) 122px!important;gap:20px!important;padding:22px 30px 66px 36px!important}
.credential225-photo{width:150px!important;height:185px!important;border-radius:15px!important}
.credential225-person h1{font-size:clamp(20px,2.55vw,30px)!important;max-width:100%;overflow-wrap:anywhere}
.credential225-person h2{font-size:clamp(13px,1.6vw,18px)!important}
.credential225 footer{padding:11px 24px!important;min-height:48px!important}
@media(max-width:760px){
 .credential225-wrap{padding:0 8px!important;margin:14px auto!important}
 .credential225{width:100%!important;aspect-ratio:1.586/1!important;border-radius:16px!important}
 .credential225 header{padding:2.2vw 3vw 1.8vw 4vw!important;min-height:0!important;gap:1.2vw!important;border-bottom-width:.7vw!important}
 .credential225-logo{width:7vw!important;height:7vw!important;min-width:32px!important;min-height:32px!important;padding:.7vw!important;border-radius:1.3vw!important}
 .credential225-logo img{width:5.5vw!important;height:5.5vw!important;max-width:31px!important;max-height:31px!important}
 .credential225-logo.psi{width:6.2vw!important;height:6.2vw!important}
 .credential225 header strong{font-size:clamp(6px,1.55vw,11px)!important}.credential225 header span{font-size:clamp(5px,1.15vw,8px)!important}
 .credential225 main{display:grid!important;grid-template-columns:17.5vw minmax(0,1fr) 14vw!important;gap:2vw!important;padding:2.4vw 3vw 8.4vw 4vw!important}
 .credential225-photo{width:17.5vw!important;height:21vw!important;min-width:70px!important;min-height:86px!important;max-width:125px!important;max-height:154px!important;border-width:.55vw!important;border-radius:1.7vw!important;margin:0!important}
 .credential225-person>span{font-size:clamp(4px,.95vw,7px)!important}.credential225-person h1{font-size:clamp(10px,3vw,22px)!important;margin:.8vw 0 .5vw!important}.credential225-person h2{font-size:clamp(7px,1.75vw,13px)!important;margin:0 0 1.3vw!important}
 .credential225-grid{gap:1vw!important}.credential225-grid small{font-size:clamp(3.5px,.8vw,6px)!important}.credential225-grid strong{font-size:clamp(5px,1.15vw,9px)!important}
 .credential225-qr{grid-column:auto!important;margin:0!important}.credential225-qr #qrcode{padding:.65vw!important;border-radius:1vw!important}.credential225-qr #qrcode img,.credential225-qr #qrcode canvas{width:10vw!important;height:10vw!important;min-width:46px!important;min-height:46px!important;max-width:82px!important;max-height:82px!important}.credential225-qr small{font-size:clamp(4px,.8vw,6px)!important}
 .credential225 footer{position:absolute!important;left:1vw!important;right:0!important;bottom:0!important;grid-template-columns:1fr 1fr 1fr auto!important;gap:1.2vw!important;padding:1.25vw 3vw!important;min-height:0!important}.credential225 footer small{font-size:clamp(3.5px,.7vw,5px)!important}.credential225 footer strong{font-size:clamp(4.5px,1vw,7px)!important}.credential225 footer>span{grid-column:auto!important;font-size:clamp(3.5px,.75vw,5.5px)!important}
}
@media(max-width:430px){.credential225 header>b{display:block!important;font-size:5px!important}.credential225:after{display:none}.credential225 main{grid-template-columns:18vw minmax(0,1fr) 13vw!important}.credential225-photo{min-width:60px!important;min-height:74px!important}.credential225-qr #qrcode img,.credential225-qr #qrcode canvas{min-width:40px!important;min-height:40px!important}}

/* ===== EXTENAPP 2.31 · beneficios masivos ===== */
.benefit231-clubs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0 18px}.benefit231-clubs label{padding:10px 12px;border:1px solid #dce5ea;border-radius:10px;background:#f8fafb;font-weight:800}.benefit231-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:8px;margin:10px 0;padding:10px;border:1px solid #dce5ea;border-radius:13px}.benefit231-row input,.benefit231-row textarea{min-width:0;padding:9px;border:1px solid #cfdbe2;border-radius:9px}.benefit231-row textarea{min-height:70px}
@media(max-width:800px){.benefit231-clubs{grid-template-columns:1fr 1fr}.benefit231-row{grid-template-columns:1fr}}
@media(max-width:520px){.benefit231-clubs{grid-template-columns:1fr}}

/* ===== EXTENAPP 2.31 · plantel público ===== */
.publicroster231 .publicroster223-toolbar{position:sticky;top:8px;z-index:12}
@media print{.publicroster231 .publicroster223-toolbar{display:none!important}.publicroster231 .publicroster223-sheet{box-shadow:none!important;margin:0!important}}

/* EXTENAPP 2.32 · navegación, QR de constancias y Sponsors */
.nav-224>a.nav-current,.nav-224 details.nav-current-group>summary{background:#b8944b!important;color:#102d47!important;border:1px solid #d8bf80!important;box-shadow:0 4px 14px rgba(184,148,75,.28)!important;font-weight:900!important}
.nav-224>a.nav-current:after,.nav-224 details.nav-current-group>summary:after{background:#102d47!important;height:3px!important}
.nav-224 .admin-link{background:#d7bd78!important;color:#102d47!important}.nav-224 .admin-link.nav-current{background:#f0d48f!important;outline:2px solid #102d47!important;outline-offset:2px!important}
.c232-verify{position:absolute;right:10mm;bottom:8mm;width:25mm;text-align:center;z-index:6;background:rgba(255,255,255,.9);padding:2mm;border-radius:2mm;box-shadow:0 1mm 4mm rgba(0,0,0,.08)}.c232-verify .qr{width:20mm;height:20mm;margin:auto}.c232-verify .qr img,.c232-verify .qr canvas{width:20mm!important;height:20mm!important}.c232-verify small{display:block;font-size:5.4pt;line-height:1.05;color:#102d47;margin-top:1mm}.certificate-2152 .c2152-folio{right:39mm!important}
.verify232{max-width:920px;margin:35px auto}.verify232-card{border:1px solid #dce4e8;border-radius:24px;padding:28px;background:#fff;box-shadow:0 14px 36px rgba(16,45,71,.08)}.verify232-ok{border-left:8px solid #2e7d58}.verify232-code{font-size:clamp(24px,5vw,46px);font-weight:950;color:#102d47;letter-spacing:.04em}.sponsor232-pick{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:10px 0 18px}.sponsor232-pick label{border:1px solid #dce4e8;border-radius:14px;padding:10px;background:#fff;display:flex;align-items:center;gap:8px}.sponsor232-pick img,.sponsor232-logo{width:46px;height:46px;object-fit:contain;border-radius:9px;background:#f7f9fa}.sponsor232-none{width:46px;height:46px;border-radius:9px;display:grid;place-items:center;background:#102d47;color:#d7bd78;font-weight:900}
@media(max-width:700px){.c232-verify{right:2.8vw;bottom:2.2vw;width:12vw;min-width:50px;padding:1vw}.c232-verify .qr,.c232-verify .qr img,.c232-verify .qr canvas{width:9vw!important;height:9vw!important;min-width:40px!important;min-height:40px!important}.c232-verify small{font-size:clamp(3px,.8vw,5px)}.certificate-2152 .c2152-folio{right:16vw!important}}
@media print{.c232-verify{right:10mm!important;bottom:8mm!important;width:25mm!important;padding:2mm!important}.c232-verify .qr,.c232-verify .qr img,.c232-verify .qr canvas{width:20mm!important;height:20mm!important;min-width:0!important;min-height:0!important}.c232-verify small{font-size:5.4pt!important}.certificate-2152 .c2152-folio{right:39mm!important}}

/* ExtenAPP 2.33 · Sponsors / aliados */
.s233-wrap{max-width:1240px;margin:0 auto}.s233-head,.benefit233-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:18px 0 22px}.s233-head h1,.benefit233-head h1{margin:4px 0;color:#102d47}.s233-head>div>span,.s233-flow>span{font-size:11px;letter-spacing:.14em;font-weight:950;color:#9a7440}.s233-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.s233-flow>div{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start;padding:11px 0;border-bottom:1px solid #e6e0d8}.s233-flow>div>b{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#102d47;color:#d7bd78}.s233-flow p{margin:0}.s233-placeholder{width:55px;height:45px;border-radius:10px;display:grid;place-items:center;background:#102d47;color:#d7bd78;font-weight:900}.sponsor-admin-logo{width:72px!important;height:58px!important;object-fit:contain!important;background:transparent!important}.s233-wrap table small{color:#73818b}.benefit233-head{margin:0 0 16px}
@media(max-width:800px){.s233-head,.benefit233-head{display:block}.s233-head .btn,.benefit233-head .btn{margin-top:12px}.s233-grid{grid-template-columns:1fr}}

/* ExtenAPP 2.34 · Sponsors públicos */
.pub-sponsors{max-width:1180px;margin:0 auto;padding-bottom:34px}.pub-sponsors-hero{padding:28px 0 20px}.pub-sponsors-hero>span{font-size:11px;font-weight:950;letter-spacing:.16em;color:#a47b42}.pub-sponsors-hero h1{font-size:clamp(34px,5vw,58px);line-height:1;margin:7px 0 10px;color:#102d47}.pub-sponsors-hero p{max-width:780px;color:#5d6a73;font-size:17px}.pub-sponsors-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.pub-sponsor-card{background:#fff;border:1px solid #e8e1d8;border-radius:22px;overflow:hidden;box-shadow:0 14px 35px rgba(16,45,71,.08)}.pub-sponsor-logo{height:170px;display:grid;place-items:center;padding:20px;background:linear-gradient(180deg,#fbfaf8,#f4f0e9)}.pub-sponsor-logo img{max-width:84%;max-height:120px;object-fit:contain}.pub-sponsor-logo span{width:82px;height:82px;border-radius:50%;display:grid;place-items:center;background:#102d47;color:#d7bd78;font-size:24px;font-weight:950}.pub-sponsor-body{padding:20px}.pub-sponsor-body h2{margin:0 0 8px;color:#102d47;font-size:23px}.pub-sponsor-body p{color:#64717a;line-height:1.5}.pub-sponsor-line{display:grid;grid-template-columns:85px 1fr;gap:10px;padding:10px 0;border-top:1px solid #eee8df;font-size:14px}.pub-sponsor-line b{color:#9a7440}.pub-sponsor-line span{color:#2c3c48}.pub-sponsor-actions{padding-top:14px}@media(max-width:900px){.pub-sponsors-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.pub-sponsors{padding-left:12px;padding-right:12px}.pub-sponsors-grid{grid-template-columns:1fr}.pub-sponsor-logo{height:145px}.pub-sponsor-logo img{max-height:100px}.pub-sponsor-line{grid-template-columns:1fr;gap:4px}}

/* ExtenAPP 2.35 · firmas adaptativas (superado por 2.36) */
.c2152-signatures{display:flex!important;justify-content:center!important;align-items:flex-end!important;gap:clamp(20px,5vw,72px)!important;left:8%!important;right:8%!important;width:auto!important}
.c2152-signatures.sig-count-1{justify-content:center!important}
.c2152-signatures.sig-count-1 .c2152-signature{width:32%!important;max-width:310px!important;margin:0 auto!important}
.c2152-signatures.sig-count-2 .c2152-signature{width:30%!important;max-width:300px!important}
.c2152-signatures.sig-count-3{gap:3.5%!important}
.c2152-signatures.sig-count-3 .c2152-signature{width:27%!important;max-width:265px!important}
.c2152-signature{min-width:0!important;text-align:center!important}
.c2152-sign-image{height:clamp(42px,7vw,82px)!important;display:flex!important;align-items:flex-end!important;justify-content:center!important}
.c2152-sign-image img{max-width:100%!important;max-height:100%!important;width:auto!important;height:auto!important;object-fit:contain!important}
.c2152-signature strong,.c2152-signature span{display:block;white-space:normal!important;overflow-wrap:anywhere!important}
.tpl235-signfiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.tpl235-note{margin:8px 0 16px;padding:10px 12px;border-left:5px solid #b8944b;background:#fff8e8;border-radius:9px;color:#62501f}
.ext235-eventqr{max-width:900px;margin:18px 0}.ext235-eventqr form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.ext235-eventqr .btn{margin-bottom:1px}.ext235-qrhelp{margin-top:12px;padding:11px 13px;background:#f5f8fa;border-radius:10px;border-left:5px solid #b8944b}
@media(max-width:760px){.tpl235-signfiles{grid-template-columns:1fr}.ext235-eventqr form{grid-template-columns:1fr}}
/* La constancia conserva proporción de hoja; en móvil sólo escala visualmente, no reacomoda firmas como página web. */
@media print{.c2152-signatures{gap:28px!important}.c2152-signatures.sig-count-1 .c2152-signature{width:32%!important}.c2152-signatures.sig-count-2 .c2152-signature{width:30%!important}.c2152-signatures.sig-count-3 .c2152-signature{width:27%!important}}

/* ExtenAPP 2.36 · motor inteligente de firmas 1–4 */
.certificate-2152 .c2152-signatures{
    position:absolute!important;
    z-index:4!important;
    left:9%!important;
    right:9%!important;
    top:67.5%!important;
    height:18.5%!important;
    width:auto!important;
    display:grid!important;
    align-items:end!important;
    justify-items:center!important;
    column-gap:4%!important;
    row-gap:0!important;
}
.certificate-2152 .c2152-signatures.sig-count-0{display:none!important}
.certificate-2152 .c2152-signatures.sig-count-1{grid-template-columns:minmax(0,34%)!important;justify-content:center!important}
.certificate-2152 .c2152-signatures.sig-count-2{grid-template-columns:repeat(2,minmax(0,31%))!important;justify-content:space-around!important}
.certificate-2152 .c2152-signatures.sig-count-3{grid-template-columns:repeat(3,minmax(0,29%))!important;justify-content:space-between!important;column-gap:3%!important}
.certificate-2152 .c2152-signatures.sig-count-4{grid-template-columns:repeat(4,minmax(0,22%))!important;justify-content:space-between!important;column-gap:3%!important}
.certificate-2152 .c2152-signature{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    text-align:center!important;
    align-self:end!important;
    color:#324c64!important;
}
.certificate-2152 .c2152-sign-image{
    height:clamp(34px,5.8vw,70px)!important;
    width:100%!important;
    display:flex!important;
    justify-content:center!important;
    align-items:flex-end!important;
    overflow:hidden!important;
}
.certificate-2152 .c2152-sign-image img{
    display:block!important;
    max-width:92%!important;
    max-height:100%!important;
    width:auto!important;
    height:auto!important;
    object-fit:contain!important;
    object-position:center bottom!important;
}
.certificate-2152 .sig-count-3 .c2152-sign-image{height:clamp(30px,5.2vw,64px)!important}
.certificate-2152 .sig-count-4 .c2152-sign-image{height:clamp(26px,4.7vw,58px)!important}
.certificate-2152 .c2152-line{width:100%!important;margin:2px auto 4px!important}
.certificate-2152 .c2152-signature strong{
    display:block!important;
    font-size:clamp(4.6px,.72vw,10px)!important;
    line-height:1.08!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
}
.certificate-2152 .c2152-signature span{
    display:block!important;
    max-width:100%!important;
    margin:2px auto 0!important;
    font-size:clamp(4px,.60vw,8px)!important;
    line-height:1.08!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
}
.certificate-2152 .sig-count-4 .c2152-signature strong{font-size:clamp(4px,.62vw,8.5px)!important}
.certificate-2152 .sig-count-4 .c2152-signature span{font-size:clamp(3.5px,.52vw,7.2px)!important}

/* CRUD beneficios */
.benefit236-editor{border-top:5px solid #b8944b}.benefit236-listhead{display:flex;justify-content:space-between;gap:14px;align-items:end;margin-bottom:12px}.benefit236-listhead input{max-width:330px}.benefit236-status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:900}.benefit236-status.on{background:#e8f6ee;color:#17673a}.benefit236-status.off{background:#f4ecec;color:#8a3030}.actions.compact{gap:6px;flex-wrap:wrap}.actions.compact form{margin:0}
@media(max-width:760px){.benefit236-listhead{display:block}.benefit236-listhead input{max-width:none;margin-top:10px}}
@media print{
    .certificate-2152 .c2152-signatures{left:27mm!important;right:27mm!important;top:142mm!important;height:39mm!important;column-gap:9mm!important}
    .certificate-2152 .c2152-signatures.sig-count-1{grid-template-columns:72mm!important;justify-content:center!important}
    .certificate-2152 .c2152-signatures.sig-count-2{grid-template-columns:repeat(2,72mm)!important;justify-content:space-around!important}
    .certificate-2152 .c2152-signatures.sig-count-3{grid-template-columns:repeat(3,63mm)!important;justify-content:space-between!important;column-gap:6mm!important}
    .certificate-2152 .c2152-signatures.sig-count-4{grid-template-columns:repeat(4,48mm)!important;justify-content:space-between!important;column-gap:4mm!important}
    .certificate-2152 .c2152-sign-image{height:15mm!important}
    .certificate-2152 .sig-count-3 .c2152-sign-image{height:14mm!important}
    .certificate-2152 .sig-count-4 .c2152-sign-image{height:12mm!important}
    .certificate-2152 .c2152-sign-image img{max-width:100%!important;max-height:100%!important}
    .certificate-2152 .c2152-signature strong{font-size:7pt!important}
    .certificate-2152 .c2152-signature span{font-size:6pt!important}
    .certificate-2152 .sig-count-4 .c2152-signature strong{font-size:6.3pt!important}
    .certificate-2152 .sig-count-4 .c2152-signature span{font-size:5.4pt!important}
}

/* ExtenAPP 2.36.3 · distribución final de firmas.
   Esta regla va al final para neutralizar estilos heredados de versiones anteriores. */
.certificate-2152 .c2152-signatures{
  position:absolute!important;
  left:10%!important;
  right:10%!important;
  top:64.5%!important;
  height:23%!important;
  display:grid!important;
  align-items:end!important;
  justify-content:center!important;
  justify-items:stretch!important;
  gap:0!important;
  column-gap:0!important;
  overflow:visible!important;
}
.certificate-2152 .c2152-signatures.sig-count-1{
  grid-template-columns:minmax(0,38%)!important;
  justify-content:center!important;
}
.certificate-2152 .c2152-signatures.sig-count-2{
  grid-template-columns:repeat(2,minmax(0,36%))!important;
  justify-content:space-between!important;
}
.certificate-2152 .c2152-signatures.sig-count-3{
  grid-template-columns:repeat(3,minmax(0,29%))!important;
  justify-content:space-between!important;
}
.certificate-2152 .c2152-signatures.sig-count-4{
  grid-template-columns:repeat(4,minmax(0,22%))!important;
  justify-content:space-between!important;
}
.certificate-2152 .c2152-signature{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0 2%!important;
  box-sizing:border-box!important;
  align-self:end!important;
  text-align:center!important;
  overflow:visible!important;
}
.certificate-2152 .c2152-sign-image{
  width:100%!important;
  height:clamp(58px,9vw,105px)!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  overflow:visible!important;
  margin:0 auto 3px!important;
}
.certificate-2152 .sig-count-3 .c2152-sign-image{height:clamp(52px,8vw,92px)!important}
.certificate-2152 .sig-count-4 .c2152-sign-image{height:clamp(46px,7vw,82px)!important}
.certificate-2152 .c2152-sign-image img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:96%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center bottom!important;
}
.certificate-2152 .c2152-line{
  width:92%!important;
  margin:0 auto 5px!important;
  border-top:1px solid #526b80!important;
}
.certificate-2152 .c2152-signature strong{
  display:block!important;
  width:100%!important;
  font-size:clamp(7px,1.05vw,12px)!important;
  line-height:1.08!important;
  margin:0 auto!important;
  font-weight:800!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.certificate-2152 .c2152-signature span{
  display:block!important;
  width:94%!important;
  font-size:clamp(5.7px,.82vw,9.2px)!important;
  line-height:1.12!important;
  margin:3px auto 0!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.certificate-2152 .sig-count-3 .c2152-signature strong{font-size:clamp(6.4px,.90vw,10.5px)!important}
.certificate-2152 .sig-count-3 .c2152-signature span{font-size:clamp(5.1px,.70vw,8px)!important}
.certificate-2152 .sig-count-4 .c2152-signature strong{font-size:clamp(5.8px,.78vw,9px)!important}
.certificate-2152 .sig-count-4 .c2152-signature span{font-size:clamp(4.7px,.62vw,7.2px)!important}

@media(max-width:700px){
  .certificate-2152 .c2152-signatures{left:8%!important;right:8%!important;top:64%!important;height:24%!important}
  .certificate-2152 .c2152-sign-image{height:clamp(38px,9vw,72px)!important}
}
@media print{
  .certificate-2152 .c2152-signatures{
    left:30mm!important;right:30mm!important;top:135mm!important;height:48mm!important;
  }
  .certificate-2152 .c2152-signatures.sig-count-1{grid-template-columns:82mm!important}
  .certificate-2152 .c2152-signatures.sig-count-2{grid-template-columns:repeat(2,82mm)!important;justify-content:space-between!important}
  .certificate-2152 .c2152-signatures.sig-count-3{grid-template-columns:repeat(3,64mm)!important;justify-content:space-between!important}
  .certificate-2152 .c2152-signatures.sig-count-4{grid-template-columns:repeat(4,47mm)!important;justify-content:space-between!important}
  .certificate-2152 .c2152-sign-image{height:23mm!important}
  .certificate-2152 .sig-count-3 .c2152-sign-image{height:20mm!important}
  .certificate-2152 .sig-count-4 .c2152-sign-image{height:17mm!important}
  .certificate-2152 .c2152-signature strong{font-size:9pt!important}
  .certificate-2152 .c2152-signature span{font-size:7pt!important}
  .certificate-2152 .sig-count-3 .c2152-signature strong{font-size:8pt!important}
  .certificate-2152 .sig-count-3 .c2152-signature span{font-size:6.3pt!important}
  .certificate-2152 .sig-count-4 .c2152-signature strong{font-size:7.2pt!important}
  .certificate-2152 .sig-count-4 .c2152-signature span{font-size:5.8pt!important}
}

/* ExtenAPP 2.37 · composición profesional de firmas + sello */
.certificate-2152 .c2152-signatures{
  left:9%!important;right:9%!important;top:62%!important;height:26%!important;
  display:grid!important;align-items:end!important;justify-items:center!important;
  z-index:6!important;
}
.certificate-2152 .c2152-signatures.sig-count-1{grid-template-columns:42%!important;justify-content:center!important}
.certificate-2152 .c2152-signatures.sig-count-2{grid-template-columns:38% 38%!important;justify-content:space-between!important}
.certificate-2152 .c2152-signatures.sig-count-3{grid-template-columns:30% 30% 30%!important;justify-content:space-between!important}
.certificate-2152 .c2152-signatures.sig-count-4{grid-template-columns:23% 23% 23% 23%!important;justify-content:space-between!important}
.certificate-2152 .c2152-signature{padding:0 4%!important;box-sizing:border-box!important}
.certificate-2152 .c2152-sign-image{height:clamp(72px,10vw,118px)!important;margin-bottom:5px!important}
.certificate-2152 .sig-count-3 .c2152-sign-image{height:clamp(62px,8.5vw,100px)!important}
.certificate-2152 .sig-count-4 .c2152-sign-image{height:clamp(54px,7.4vw,88px)!important}
.certificate-2152 .c2152-sign-image img{max-width:100%!important;max-height:100%!important}
.certificate-2152 .c2152-line{width:88%!important;margin:0 auto 7px!important}
.certificate-2152 .c2152-signature strong{
  font-size:clamp(8px,1.18vw,14px)!important;line-height:1.18!important;
  max-width:100%!important;margin:auto!important;
}
.certificate-2152 .c2152-signature span{
  font-size:clamp(6.4px,.92vw,10.5px)!important;line-height:1.2!important;
  max-width:92%!important;margin:4px auto 0!important;
}
.certificate-2152 .sig-count-3 .c2152-signature strong{font-size:clamp(7.2px,1vw,12px)!important}
.certificate-2152 .sig-count-3 .c2152-signature span{font-size:clamp(5.8px,.78vw,9px)!important}
.certificate-2152 .sig-count-4 .c2152-signature strong{font-size:clamp(6.5px,.88vw,10.5px)!important}
.certificate-2152 .sig-count-4 .c2152-signature span{font-size:clamp(5.2px,.70vw,8px)!important}

/* Con sello, las firmas conservan toda su anchura y el sello ocupa una zona propia,
   ligeramente superior y centrada, sin participar en el grid. */
.certificate-2152 .c2152-signatures.has-seal{top:65%!important;height:23%!important}
.certificate-2152 .c2152-seal{
  position:absolute!important;z-index:5!important;
  left:50%!important;transform:translateX(-50%)!important;
  top:56.5%!important;width:12%!important;height:12%!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  pointer-events:none!important;
}
.certificate-2152 .c2152-seal img{
  max-width:100%!important;max-height:100%!important;width:auto!important;height:auto!important;
  object-fit:contain!important;
}
.certificate-2152 .c2152-signatures.has-seal.sig-count-1{grid-template-columns:44%!important}
.certificate-2152 .c2152-signatures.has-seal.sig-count-2{grid-template-columns:36% 36%!important}
.certificate-2152 .c2152-signatures.has-seal.sig-count-3{grid-template-columns:29% 29% 29%!important}
.certificate-2152 .c2152-signatures.has-seal.sig-count-4{grid-template-columns:22% 22% 22% 22%!important}

@media(max-width:700px){
 .certificate-2152 .c2152-signatures{left:7%!important;right:7%!important}
 .certificate-2152 .c2152-seal{width:13%!important;height:13%!important}
}
@media print{
 .certificate-2152 .c2152-signatures{left:27mm!important;right:27mm!important;top:130mm!important;height:55mm!important}
 .certificate-2152 .c2152-signatures.sig-count-1{grid-template-columns:90mm!important}
 .certificate-2152 .c2152-signatures.sig-count-2{grid-template-columns:82mm 82mm!important}
 .certificate-2152 .c2152-signatures.sig-count-3{grid-template-columns:62mm 62mm 62mm!important}
 .certificate-2152 .c2152-signatures.sig-count-4{grid-template-columns:45mm 45mm 45mm 45mm!important}
 .certificate-2152 .c2152-sign-image{height:25mm!important}
 .certificate-2152 .sig-count-3 .c2152-sign-image{height:21mm!important}
 .certificate-2152 .sig-count-4 .c2152-sign-image{height:18mm!important}
 .certificate-2152 .c2152-signature strong{font-size:9.5pt!important;line-height:1.15!important}
 .certificate-2152 .c2152-signature span{font-size:7.2pt!important;line-height:1.15!important}
 .certificate-2152 .c2152-seal{top:119mm!important;width:28mm!important;height:28mm!important}
 .certificate-2152 .c2152-signatures.has-seal{top:139mm!important;height:44mm!important}
}

/* ExtenAPP 2.38 · corrección definitiva de firmas */
.certificate-2152 .c2152-signatures .c2152-signature,
.certificate-2152 .c2152-signatures.sig-count-1 .c2152-signature,
.certificate-2152 .c2152-signatures.sig-count-2 .c2152-signature,
.certificate-2152 .c2152-signatures.sig-count-3 .c2152-signature,
.certificate-2152 .c2152-signatures.sig-count-4 .c2152-signature{
    width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;
    padding:0 10px!important;box-sizing:border-box!important;
}
.certificate-2152 .c2152-signatures.no-seal.sig-count-1{
    left:28%!important;right:28%!important;top:61%!important;height:27%!important;
    grid-template-columns:1fr!important;justify-content:center!important;
}
.certificate-2152 .c2152-signatures.no-seal.sig-count-2{
    left:13%!important;right:13%!important;top:61%!important;height:27%!important;
    grid-template-columns:42% 42%!important;justify-content:space-between!important;
}
.certificate-2152 .c2152-signatures.no-seal.sig-count-3{
    left:8%!important;right:8%!important;top:62%!important;height:26%!important;
    grid-template-columns:31% 31% 31%!important;justify-content:space-between!important;
}
.certificate-2152 .c2152-signatures.no-seal.sig-count-4{
    left:6%!important;right:6%!important;top:63%!important;height:25%!important;
    grid-template-columns:24% 24% 24% 24%!important;justify-content:space-between!important;
}
.certificate-2152 .c2152-signatures.has-seal.sig-count-1{
    left:51%!important;right:8%!important;top:61%!important;height:27%!important;
    grid-template-columns:1fr!important;justify-content:center!important;
}
.certificate-2152 .c2152-signatures.has-seal.sig-count-2{
    left:10%!important;right:10%!important;top:62%!important;height:26%!important;
    grid-template-columns:39% 39%!important;justify-content:space-between!important;
}
.certificate-2152 .c2152-signatures.has-seal.sig-count-3{
    left:7%!important;right:7%!important;top:65%!important;height:23%!important;
    grid-template-columns:31% 31% 31%!important;justify-content:space-between!important;
}
.certificate-2152 .c2152-signatures.has-seal.sig-count-4{
    left:5%!important;right:5%!important;top:66%!important;height:22%!important;
    grid-template-columns:24% 24% 24% 24%!important;justify-content:space-between!important;
}
.certificate-2152 .c2152-seal{
    width:15%!important;height:18%!important;top:60%!important;
    left:30%!important;transform:translateX(-50%)!important;
}
.certificate-2152 .c2152-signatures.has-seal.sig-count-2 + .c2152-seal,
.certificate-2152 .c2152-signatures.has-seal.sig-count-3 + .c2152-seal,
.certificate-2152 .c2152-signatures.has-seal.sig-count-4 + .c2152-seal{
    left:50%!important;top:55%!important;width:12%!important;height:13%!important;
}
.certificate-2152 .c2152-sign-image{
    height:clamp(82px,11vw,126px)!important;margin:0 auto 6px!important;
}
.certificate-2152 .sig-count-3 .c2152-sign-image{height:clamp(68px,9vw,105px)!important}
.certificate-2152 .sig-count-4 .c2152-sign-image{height:clamp(58px,8vw,92px)!important}
.certificate-2152 .c2152-line{width:90%!important;margin:0 auto 7px!important}
.certificate-2152 .c2152-signature strong{
    font-size:clamp(10px,1.28vw,15px)!important;line-height:1.14!important;width:96%!important;
    margin:0 auto!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;
}
.certificate-2152 .c2152-signature span{
    font-size:clamp(7.2px,.96vw,11px)!important;line-height:1.18!important;width:94%!important;
    margin:4px auto 0!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;
}
.certificate-2152 .sig-count-3 .c2152-signature strong{font-size:clamp(8px,1.05vw,12px)!important}
.certificate-2152 .sig-count-3 .c2152-signature span{font-size:clamp(6.3px,.82vw,9.5px)!important}
.certificate-2152 .sig-count-4 .c2152-signature strong{font-size:clamp(7px,.92vw,10.5px)!important}
.certificate-2152 .sig-count-4 .c2152-signature span{font-size:clamp(5.8px,.72vw,8.5px)!important}
@media print{
  .certificate-2152 .c2152-signatures .c2152-signature{width:100%!important;max-width:none!important;padding:0 3mm!important}
  .certificate-2152 .c2152-signatures.no-seal.sig-count-1{left:82mm!important;right:82mm!important;top:128mm!important;height:57mm!important;grid-template-columns:1fr!important}
  .certificate-2152 .c2152-signatures.no-seal.sig-count-2{left:38mm!important;right:38mm!important;top:128mm!important;height:57mm!important;grid-template-columns:88mm 88mm!important}
  .certificate-2152 .c2152-signatures.has-seal.sig-count-1{left:151mm!important;right:24mm!important;top:128mm!important;height:57mm!important;grid-template-columns:1fr!important}
  .certificate-2152 .c2152-seal{left:88mm!important;top:127mm!important;width:38mm!important;height:38mm!important}
  .certificate-2152 .c2152-sign-image{height:27mm!important}
  .certificate-2152 .c2152-signature strong{font-size:10pt!important}
  .certificate-2152 .c2152-signature span{font-size:7.5pt!important}
}

/* Aulas CRUD */
.space238-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.space238-card{background:#fff;border:1px solid #dfe6eb;border-radius:18px;padding:18px;box-shadow:0 7px 20px rgba(10,45,70,.05)}
.space238-card.inactive{opacity:.66}.space238-card h3{margin:4px 0 8px}.space238-meta{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.space238-editor{border-top:5px solid #b8944b}
@media(max-width:900px){.space238-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.space238-grid{grid-template-columns:1fr}}

/* Beneficios por establecimiento */
.b238-establishment{border:1px solid #dde6ec;border-radius:20px;background:#fff;overflow:hidden;margin:16px 0}
.b238-establishment-head{display:flex;gap:14px;align-items:center;padding:18px;background:#f7fafc;border-bottom:1px solid #e4eaee}
.b238-establishment-head img{width:62px;height:62px;object-fit:contain;border-radius:12px;background:#fff;border:1px solid #e1e7eb;padding:5px}
.b238-establishment-head .fallback{width:62px;height:62px;display:grid;place-items:center;border-radius:12px;background:#102d47;color:#fff;font-weight:900}
.b238-benefit{padding:16px 18px;border-top:1px solid #edf1f4}.b238-benefit:first-of-type{border-top:0}
.b238-benefit-top{display:flex;justify-content:space-between;gap:14px;align-items:start}
.b238-clubs{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.b238-club{padding:5px 8px;border-radius:999px;background:#eef4f7;font-size:11px;font-weight:800;color:#153e5d}
.b238-form-clubs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.b238-form-clubs label{padding:9px 10px;border:1px solid #dde6ec;border-radius:10px;background:#fff}
@media(max-width:780px){.b238-form-clubs{grid-template-columns:1fr 1fr}.b238-benefit-top,.b238-establishment-head{align-items:flex-start;flex-direction:column}.b238-establishment-head .actions{margin-left:0}}

/* ExtenAPP 2.39 · navegación institucional responsiva */
.mobile-nav-toggle{display:none}.mobile-nav-backdrop{display:none}
.nav-224{display:flex;align-items:center;gap:5px}.nav-224 .nav-group{position:relative}
.nav-224 .nav-group>summary{list-style:none;cursor:pointer;padding:9px 10px;border-radius:10px;font-weight:800}
.nav-224 .nav-group>summary::-webkit-details-marker{display:none}.nav-224 .nav-group>summary:after{content:"⌄";font-size:10px;margin-left:6px}
.nav-224 .nav-group[open]>summary{background:rgba(255,255,255,.12)}
.nav-224 .nav-pop{position:absolute;top:calc(100% + 9px);left:0;min-width:225px;padding:8px;border-radius:15px;background:#fff;border:1px solid #e2e6e9;box-shadow:0 18px 50px rgba(13,38,59,.2);z-index:100}
.nav-224 .nav-pop.right{left:auto;right:0}.nav-224 .nav-pop-wide{display:grid;grid-template-columns:1fr 1fr;min-width:390px}
.nav-224 .nav-pop a{display:block;padding:10px 11px;border-radius:9px;text-decoration:none;color:#243746!important;font-size:11px;font-weight:700}
.nav-224 .nav-pop a:hover{background:#f2f6f8;color:#102d47!important}.nav-admin-group>summary{background:#d7bd78!important;color:#102d47!important}

/* Login 2.39 */
.login239-page>.topbar,.login239-page>.footer{display:none!important}.login239-page>.container{max-width:none!important;width:100%!important;padding:0!important;margin:0!important}
.login239{min-height:100svh;display:grid;place-items:center;padding:26px;background:linear-gradient(145deg,#eef3f6,#faf9f6)}
.login239-shell{width:min(1080px,100%);min-height:650px;display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid #dce4e9;border-radius:28px;overflow:hidden;box-shadow:0 28px 80px rgba(16,45,71,.15)}
.login239-visual{position:relative;display:flex;flex-direction:column;padding:48px;background:linear-gradient(145deg,#0d2942,#174764);color:#fff;overflow:hidden}
.login239-visual:after{content:"";position:absolute;left:-15%;right:-15%;bottom:-95px;height:180px;border-radius:50% 50% 0 0;background:#b8944b;opacity:.95}
.login239-brand{display:flex;align-items:center;gap:13px;position:relative;z-index:2}.login239-brand>span,.login239-mobilebrand>span{display:grid;place-items:center;width:58px;height:58px;border-radius:15px;background:#fff;color:#102d47;font-weight:950;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.login239-brand strong,.login239-brand small,.login239-mobilebrand b,.login239-mobilebrand small{display:block}.login239-brand strong{font-size:20px}.login239-brand small{font-size:10px;color:#d8c78f}
.login239-copy{position:relative;z-index:2;margin:auto 0;max-width:440px}.login239-copy>span{font-size:10px;letter-spacing:.16em;color:#d8bd79;font-weight:900}.login239-copy h1{font-size:clamp(38px,4.3vw,58px);line-height:1.02;margin:13px 0 18px;color:#fff;letter-spacing:-.035em}.login239-copy p{font-size:14px;line-height:1.7;color:rgba(255,255,255,.72)}
.login239-foot{position:relative;z-index:2;font-weight:800}.login239-foot small{color:rgba(255,255,255,.62);font-weight:500}
.login239-form{display:flex;flex-direction:column;justify-content:center;padding:60px 64px}.login239-mobilebrand{display:none;align-items:center;gap:12px;margin-bottom:34px}.login239-mobilebrand.always{display:flex}.login239-mobilebrand b{font-size:19px}.login239-mobilebrand small{font-size:10px;color:#75818b}
.login239-kicker{font-size:9px;letter-spacing:.16em;color:#9a752e;font-weight:950}.login239-form h2{font-size:36px;margin:8px 0 7px}.login239-form>p{margin:0 0 27px;color:#6f7c86;font-size:13px}
.login239-form form{display:grid;gap:17px}.login239-form label{display:grid;gap:7px;font-size:12px;font-weight:850;color:#263c4f}
.login239-field{display:grid;grid-template-columns:44px 1fr auto;align-items:center;border:1px solid #d7e0e6;border-radius:13px;background:#fbfcfd;overflow:hidden}.login239-field>span{display:grid;place-items:center;color:#a07c35;font-weight:900}.login239-field input{height:52px!important;border:0!important;background:transparent!important;box-shadow:none!important}.login239-eye{border:0;background:transparent;color:#536b7e;padding:0 13px;font-size:10px;font-weight:850;cursor:pointer}
.login239-submit{height:53px;border:0;border-radius:13px;padding:0 17px;background:#102d47;color:#fff;display:flex;align-items:center;justify-content:space-between;font-weight:900;font-size:13px;cursor:pointer;box-shadow:0 10px 24px rgba(16,45,71,.18)}
.login239-submit:hover{background:#173f60}.login239-links{display:flex;justify-content:space-between;gap:14px;margin-top:22px;padding-top:18px;border-top:1px solid #edf0f2}.login239-links a,.login239-back{font-size:11px;color:#6a1734;text-decoration:none;font-weight:850}.login239-back{display:inline-block;margin-top:20px}
.login239-error{margin-bottom:16px;padding:11px 13px;border-radius:11px;background:#fff0f0;border:1px solid #efcaca;color:#8b2e2e;font-size:11px;font-weight:750}
.login239-recovery{padding:24px}.login239-recovery-card{width:min(560px,100%);padding:42px;background:#fff;border:1px solid #dde4e8;border-radius:24px;box-shadow:0 22px 60px rgba(16,45,71,.12)}.login239-recovery-card h1{font-size:34px;margin:10px 0}.login239-recovery-card p{color:#667681;line-height:1.65}.login239-recovery-card form{display:grid;gap:16px;margin-top:24px}.login239-recovery-card label{display:grid;gap:7px;font-weight:800}.login239-okmark{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#e7f5ed;color:#176a3d;font-size:26px;font-weight:950}

@media(max-width:900px){
 body.nav239-open{overflow:hidden}
 .topbar-224{min-height:72px;padding:10px 16px!important;z-index:500}
 .brand-224 small{display:none}
 .mobile-nav-toggle{display:grid;grid-template-columns:22px auto;grid-template-rows:repeat(3,4px);align-items:center;column-gap:8px;width:auto;min-width:74px;padding:9px 10px;border:1px solid rgba(255,255,255,.24);border-radius:11px;background:rgba(255,255,255,.08);color:#fff;cursor:pointer}
 .mobile-nav-toggle span{display:block;width:22px;height:2px;background:#fff;border-radius:3px;grid-column:1}.mobile-nav-toggle b{grid-column:2;grid-row:1/4;font-size:10px}
 .nav-224{position:fixed!important;top:72px!important;right:0!important;bottom:0!important;width:min(88vw,380px)!important;display:block!important;padding:14px 14px 30px!important;background:#fff!important;overflow-y:auto!important;transform:translateX(104%);transition:transform .22s ease;z-index:490;box-shadow:-16px 0 45px rgba(16,45,71,.18)}
 .nav-224.mobile-open{transform:translateX(0)}
 .mobile-nav-backdrop{position:fixed;inset:72px 0 0;background:rgba(8,27,42,.48);z-index:480}.nav239-open .mobile-nav-backdrop{display:block}
 .nav-224>a,.nav-224 .nav-group>summary{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;box-sizing:border-box!important;margin:3px 0!important;padding:13px 12px!important;border-radius:11px!important;color:#18364d!important;background:#f6f8f9!important;border:1px solid #edf0f2!important}
 .nav-224>a.cta{background:#102d47!important;color:#fff!important}.nav-224 .nav-admin-group>summary{background:#ead79f!important;color:#102d47!important}
 .nav-224 .nav-group{display:block!important;position:static!important;width:100%!important}
 .nav-224 .nav-pop,.nav-224 .nav-pop.right,.nav-224 .nav-pop-wide{position:static!important;display:block!important;min-width:0!important;width:100%!important;padding:4px 5px 8px!important;border:0!important;box-shadow:none!important;background:transparent!important}
 .nav-224 .nav-group:not([open])>.nav-pop{display:none!important}
 .nav-224 .nav-pop a{padding:12px 17px!important;margin:2px 0!important;background:#fff!important;border-bottom:1px solid #edf0f2!important;font-size:12px!important}
 .nav-224 .nav-current,.nav-224 .nav-current-group>summary{background:#d7bd78!important;color:#102d47!important}
 .login239{padding:0;background:#fff}.login239-shell{display:block;min-height:100svh;border:0;border-radius:0;box-shadow:none}.login239-visual{display:none}
 .login239-form{min-height:100svh;padding:34px 22px;justify-content:center}.login239-mobilebrand{display:flex}.login239-form h2{font-size:32px}.login239-form>p{margin-bottom:23px}
 .login239-links{flex-direction:column;gap:10px}.login239-field{grid-template-columns:40px 1fr auto}
}
@media(max-width:420px){
 .login239-form{padding:26px 18px}.login239-mobilebrand{margin-bottom:30px}.login239-mobilebrand>span{width:50px;height:50px;border-radius:13px}.login239-form h2{font-size:29px}.login239-recovery{padding:0}.login239-recovery-card{min-height:100svh;border:0;border-radius:0;box-shadow:none;padding:32px 20px}
}

/* ExtenAPP 2.39 FINAL · avisos contextuales dentro de acceso/recuperación */
.login239-notice{
    margin:0 0 17px;
    padding:12px 14px;
    border-radius:12px;
    border:1px solid transparent;
    font-size:12px;
    line-height:1.45;
    font-weight:750;
}
.login239-notice.error{
    background:#fff0f0;
    border-color:#efcaca;
    color:#8b2e2e;
}
.login239-notice.success{
    background:#eaf7ef;
    border-color:#bfe1cb;
    color:#17643a;
}
.login239-notice.warning{
    background:#fff8e8;
    border-color:#ead59b;
    color:#76551b;
}
.login239-recovery-help{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:center;
    margin-top:18px;
    padding-top:16px;
    border-top:1px solid #edf0f2;
    font-size:11px;
}
.login239-recovery-help a{
    color:#6a1734;
    font-weight:850;
    text-decoration:none;
}
@media(max-width:520px){
    .login239-recovery-help{
        align-items:flex-start;
        flex-direction:column;
    }
}

/* =========================================================
   ExtenAPP 2.39.1 · MOBILE-FIRST HARDENING
   Corrige scroll horizontal, drawer fuera de viewport y login móvil.
   ========================================================= */

/* Seguridad global contra desbordamiento horizontal */
html,body{max-width:100%;overflow-x:hidden!important}
*,*::before,*::after{box-sizing:border-box}
img,svg,video,canvas{max-width:100%;height:auto}
.container{width:min(100% - 24px,1180px)!important;max-width:1180px!important;margin-inline:auto!important}
.topbar-224{width:100%!important;max-width:100vw!important;overflow:visible!important}
.mobile-nav-head{display:none}

/* ---------------------- MENÚ MÓVIL REAL ---------------------- */
@media(max-width:900px){
  html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
  body.nav239-open{overflow:hidden!important;touch-action:none}
  .topbar-224{
    position:sticky!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-width:100%!important;
    min-height:68px!important;
    padding:9px 12px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    overflow:visible!important;
    z-index:1100!important;
  }
  .brand-224{
    min-width:0!important;
    max-width:calc(100% - 88px)!important;
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
  }
  .brand-224>span:last-child{min-width:0!important}
  .brand-224 strong{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .brand-224 small{display:none!important}
  .brand-emblem-224{flex:0 0 auto!important;width:42px!important;height:42px!important}

  .mobile-nav-toggle{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    width:auto!important;
    min-width:78px!important;
    max-width:90px!important;
    height:44px!important;
    margin:0!important;
    padding:0 11px!important;
    flex:0 0 auto!important;
    border-radius:12px!important;
    border:1px solid rgba(255,255,255,.26)!important;
    background:rgba(255,255,255,.1)!important;
    color:#fff!important;
    box-shadow:none!important;
  }
  .mobile-nav-toggle span{
    width:18px!important;
    height:2px!important;
    background:#fff!important;
    border-radius:2px!important;
    display:block!important;
    position:absolute!important;
    left:12px!important;
  }
  .mobile-nav-toggle span:nth-child(1){transform:translateY(-6px)}
  .mobile-nav-toggle span:nth-child(2){transform:none}
  .mobile-nav-toggle span:nth-child(3){transform:translateY(6px)}
  .mobile-nav-toggle b{
    display:block!important;
    margin-left:23px!important;
    font-size:10px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }

  .nav-224{
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    width:min(92vw,390px)!important;
    max-width:390px!important;
    min-width:0!important;
    height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    padding:0 14px 24px!important;
    display:block!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    background:#fff!important;
    color:#18364d!important;
    transform:translate3d(102%,0,0)!important;
    transition:transform .24s cubic-bezier(.2,.7,.2,1)!important;
    box-shadow:-20px 0 55px rgba(16,45,71,.25)!important;
    z-index:1300!important;
  }
  .nav-224.mobile-open{transform:translate3d(0,0,0)!important}

  .mobile-nav-head{
    position:sticky!important;
    top:0!important;
    z-index:3!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    min-height:72px!important;
    margin:0 -14px 10px!important;
    padding:13px 16px!important;
    background:#102d47!important;
    color:#fff!important;
    border-bottom:4px solid #b8944b!important;
  }
  .mobile-nav-head strong,.mobile-nav-head small{display:block!important}
  .mobile-nav-head strong{font-size:15px!important}
  .mobile-nav-head small{font-size:10px!important;color:#d9c68f!important;margin-top:2px!important}
  .mobile-nav-close{
    display:grid!important;
    place-items:center!important;
    width:38px!important;
    height:38px!important;
    flex:0 0 38px!important;
    border:1px solid rgba(255,255,255,.26)!important;
    border-radius:10px!important;
    background:rgba(255,255,255,.08)!important;
    color:#fff!important;
    font-size:25px!important;
    line-height:1!important;
    cursor:pointer!important;
  }

  .mobile-nav-backdrop{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    background:rgba(6,22,34,.58)!important;
    opacity:0!important;
    visibility:hidden!important;
    transition:opacity .2s ease,visibility .2s ease!important;
    z-index:1200!important;
  }
  .nav239-open .mobile-nav-backdrop{
    opacity:1!important;
    visibility:visible!important;
  }

  .nav-224>a,
  .nav-224 .nav-group>summary{
    width:100%!important;
    max-width:100%!important;
    min-height:46px!important;
    margin:4px 0!important;
    padding:12px 13px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    border-radius:12px!important;
    border:1px solid #e5ebef!important;
    background:#f7f9fa!important;
    color:#18364d!important;
    font-size:12px!important;
    font-weight:850!important;
    text-decoration:none!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  .nav-224>a.cta{background:#102d47!important;color:#fff!important;border-color:#102d47!important}
  .nav-224 .nav-admin-group>summary{background:#ead79f!important;border-color:#dec57a!important;color:#102d47!important}
  .nav-224 .nav-current,.nav-224 .nav-current-group>summary{background:#d7bd78!important;color:#102d47!important}

  .nav-224 .nav-group{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    position:static!important;
  }
  .nav-224 .nav-group>summary::after{
    content:"＋"!important;
    margin-left:auto!important;
    font-size:14px!important;
  }
  .nav-224 .nav-group[open]>summary::after{content:"−"!important}
  .nav-224 .nav-pop,
  .nav-224 .nav-pop.right,
  .nav-224 .nav-pop-wide{
    position:static!important;
    inset:auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    padding:3px 5px 8px 10px!important;
    display:block!important;
    border:0!important;
    border-left:3px solid #d7bd78!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  .nav-224 .nav-group:not([open])>.nav-pop{display:none!important}
  .nav-224 .nav-pop a{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-height:42px!important;
    margin:2px 0!important;
    padding:11px 12px!important;
    border-radius:9px!important;
    border:0!important;
    border-bottom:1px solid #edf1f3!important;
    background:#fff!important;
    color:#263d4f!important;
    font-size:12px!important;
    line-height:1.25!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
}

/* ---------------------- LOGIN MÓVIL PRO ---------------------- */
@media(max-width:900px){
  .login239-page{
    min-height:100dvh!important;
    background:linear-gradient(180deg,#0f2f4a 0,#143f5f 31%,#eef3f6 31%,#f8fafb 100%)!important;
  }
  .login239-page>.container{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
  }
  .login239{
    min-height:100dvh!important;
    width:100%!important;
    margin:0!important;
    padding:18px 14px 24px!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
    background:transparent!important;
  }
  .login239-shell{
    width:100%!important;
    max-width:520px!important;
    min-height:0!important;
    margin:0 auto!important;
    display:block!important;
    overflow:visible!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  .login239-visual{display:none!important}

  .login239-form{
    width:100%!important;
    min-height:0!important;
    margin:76px 0 0!important;
    padding:28px 20px 22px!important;
    display:block!important;
    border-radius:24px!important;
    background:#fff!important;
    border:1px solid rgba(255,255,255,.75)!important;
    box-shadow:0 20px 55px rgba(10,38,58,.18)!important;
  }
  .login239-mobilebrand{
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    margin:-66px 0 25px!important;
    padding:0 4px!important;
    color:#fff!important;
  }
  .login239-mobilebrand>span{
    width:56px!important;
    height:56px!important;
    border-radius:15px!important;
    background:#fff!important;
    color:#102d47!important;
    box-shadow:0 10px 26px rgba(0,0,0,.18)!important;
  }
  .login239-mobilebrand b{font-size:21px!important;color:#fff!important}
  .login239-mobilebrand small{font-size:10px!important;color:#ead79f!important;margin-top:2px!important}

  .login239-kicker{
    display:inline-flex!important;
    padding:5px 8px!important;
    border-radius:999px!important;
    background:#f4ecd4!important;
    color:#785e1d!important;
    font-size:9px!important;
    margin-bottom:9px!important;
  }
  .login239-form h2{
    margin:0 0 6px!important;
    font-size:30px!important;
    line-height:1.05!important;
    letter-spacing:-.025em!important;
    color:#17364e!important;
  }
  .login239-form>p{
    margin:0 0 22px!important;
    font-size:12px!important;
    line-height:1.55!important;
    color:#687781!important;
  }
  .login239-form form{display:grid!important;gap:15px!important}
  .login239-form label{
    gap:7px!important;
    font-size:11px!important;
    color:#263d4f!important;
  }
  .login239-field{
    min-height:54px!important;
    grid-template-columns:40px minmax(0,1fr) auto!important;
    border-radius:13px!important;
    border:1px solid #d7e1e7!important;
    background:#fbfcfd!important;
  }
  .login239-field:focus-within{
    border-color:#b8944b!important;
    box-shadow:0 0 0 3px rgba(184,148,75,.12)!important;
  }
  .login239-field input{
    width:100%!important;
    min-width:0!important;
    height:52px!important;
    padding:0 8px!important;
    font-size:16px!important; /* evita zoom automático en iOS */
  }
  .login239-eye{
    min-width:56px!important;
    padding:0 10px!important;
    font-size:10px!important;
  }
  .login239-submit{
    width:100%!important;
    min-height:54px!important;
    margin-top:2px!important;
    border-radius:13px!important;
    padding:0 16px!important;
    font-size:13px!important;
  }
  .login239-links{
    margin-top:19px!important;
    padding-top:16px!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
  }
  .login239-links a{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:42px!important;
    padding:10px!important;
    border-radius:10px!important;
    background:#f7f9fa!important;
    border:1px solid #e8ecef!important;
    font-size:11px!important;
  }
  .login239-back{
    display:block!important;
    width:100%!important;
    margin-top:14px!important;
    text-align:center!important;
    font-size:10px!important;
  }
  .login239-notice{
    margin:0 0 16px!important;
    padding:11px 12px!important;
    border-radius:11px!important;
    font-size:11px!important;
  }

  /* recuperación */
  .login239-recovery{
    min-height:100dvh!important;
    padding:18px 14px 24px!important;
  }
  .login239-recovery-card{
    width:100%!important;
    max-width:520px!important;
    min-height:0!important;
    margin:76px auto 0!important;
    padding:28px 20px 24px!important;
    border-radius:24px!important;
    background:#fff!important;
    border:1px solid rgba(255,255,255,.75)!important;
    box-shadow:0 20px 55px rgba(10,38,58,.18)!important;
  }
  .login239-recovery-card .login239-mobilebrand{
    margin:-66px 0 25px!important;
  }
  .login239-recovery-card h1{
    font-size:28px!important;
    line-height:1.1!important;
    margin:10px 0 7px!important;
  }
  .login239-recovery-card p{
    font-size:12px!important;
    line-height:1.55!important;
  }
  .login239-recovery-card input{
    width:100%!important;
    min-height:52px!important;
    font-size:16px!important;
    border-radius:12px!important;
  }
  .login239-recovery-card .btn{
    min-height:52px!important;
    border-radius:12px!important;
  }
}

@media(max-width:420px){
  .topbar-224{padding:8px 10px!important}
  .brand-emblem-224{width:39px!important;height:39px!important}
  .brand-224 strong{font-size:14px!important}
  .mobile-nav-toggle{min-width:72px!important;max-width:78px!important;height:40px!important;padding:0 9px!important}
  .nav-224{width:94vw!important;max-width:94vw!important;padding-left:12px!important;padding-right:12px!important}
  .login239{padding:14px 10px 20px!important}
  .login239-form{margin-top:68px!important;padding:24px 16px 20px!important;border-radius:20px!important}
  .login239-mobilebrand{margin-top:-61px!important}
  .login239-form h2{font-size:27px!important}
  .login239-recovery{padding:14px 10px 20px!important}
  .login239-recovery-card{margin-top:68px!important;padding:24px 16px 20px!important;border-radius:20px!important}
}

/* =========================================================
   ExtenAPP 2.40 · CONSTANCIA MÓVIL PROPORCIONAL
   El problema anterior eran mínimos en px (clamp) que no reducían
   al mismo ritmo que la hoja. En móvil todo escala con el ancho
   de la propia constancia usando unidades de contenedor.
   ========================================================= */
.certificate-2152{
  container-type:inline-size!important;
}
@media(max-width:700px){
  .certificate-2152{
    width:100%!important;
    max-width:100%!important;
    aspect-ratio:297/210!important;
    overflow:hidden!important;
  }
  .certificate-2152 .c2152-signatures{
    top:62%!important;
    height:25%!important;
    align-items:end!important;
  }
  .certificate-2152 .c2152-signatures.no-seal.sig-count-1{
    left:28%!important;right:28%!important;grid-template-columns:1fr!important;
  }
  .certificate-2152 .c2152-signatures.no-seal.sig-count-2{
    left:12%!important;right:12%!important;grid-template-columns:39% 39%!important;
  }
  .certificate-2152 .c2152-signatures.no-seal.sig-count-3{
    left:7%!important;right:7%!important;grid-template-columns:30% 30% 30%!important;
  }
  .certificate-2152 .c2152-signatures.no-seal.sig-count-4{
    left:5%!important;right:5%!important;grid-template-columns:23% 23% 23% 23%!important;
  }
  .certificate-2152 .c2152-signatures.has-seal.sig-count-1{
    left:53%!important;right:8%!important;top:62%!important;height:25%!important;grid-template-columns:1fr!important;
  }
  .certificate-2152 .c2152-signatures.has-seal.sig-count-2{
    left:10%!important;right:10%!important;top:63%!important;height:24%!important;grid-template-columns:38% 38%!important;
  }
  .certificate-2152 .c2152-signatures.has-seal.sig-count-3{
    left:7%!important;right:7%!important;top:64%!important;height:23%!important;grid-template-columns:30% 30% 30%!important;
  }
  .certificate-2152 .c2152-signatures.has-seal.sig-count-4{
    left:5%!important;right:5%!important;top:65%!important;height:22%!important;grid-template-columns:23% 23% 23% 23%!important;
  }

  .certificate-2152 .c2152-signatures .c2152-signature{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    padding:0 1.2cqw!important;
  }
  .certificate-2152 .c2152-sign-image{
    width:100%!important;
    height:7.4cqw!important;
    min-height:0!important;
    max-height:none!important;
    margin:0 auto .7cqw!important;
    overflow:hidden!important;
  }
  .certificate-2152 .sig-count-3 .c2152-sign-image{height:6.6cqw!important}
  .certificate-2152 .sig-count-4 .c2152-sign-image{height:5.8cqw!important}
  .certificate-2152 .c2152-sign-image img{
    max-width:92%!important;
    max-height:100%!important;
    width:auto!important;
    height:auto!important;
    object-fit:contain!important;
  }
  .certificate-2152 .c2152-line{
    width:88%!important;
    margin:0 auto .55cqw!important;
    border-top-width:.12cqw!important;
  }
  .certificate-2152 .c2152-signature strong{
    width:96%!important;
    font-size:1.32cqw!important;
    line-height:1.12!important;
    margin:0 auto!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
  }
  .certificate-2152 .c2152-signature span{
    width:94%!important;
    font-size:1.02cqw!important;
    line-height:1.14!important;
    margin:.35cqw auto 0!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
  }
  .certificate-2152 .sig-count-3 .c2152-signature strong{font-size:1.14cqw!important}
  .certificate-2152 .sig-count-3 .c2152-signature span{font-size:.90cqw!important}
  .certificate-2152 .sig-count-4 .c2152-signature strong{font-size:1.02cqw!important}
  .certificate-2152 .sig-count-4 .c2152-signature span{font-size:.80cqw!important}

  .certificate-2152 .c2152-seal{
    left:30%!important;
    top:58%!important;
    width:11.5%!important;
    height:11.5%!important;
    transform:translateX(-50%)!important;
  }
  .certificate-2152 .c2152-signatures.has-seal.sig-count-2 + .c2152-seal,
  .certificate-2152 .c2152-signatures.has-seal.sig-count-3 + .c2152-seal,
  .certificate-2152 .c2152-signatures.has-seal.sig-count-4 + .c2152-seal{
    left:50%!important;top:54.5%!important;width:9.5%!important;height:10%!important;
  }

  /* Folio y QR también se reducen proporcionalmente para no competir con firmas. */
  .certificate-2152 .c2152-folio{
    font-size:1.05cqw!important;
  }
  .certificate-2152 .c232-verify{
    transform:scale(.78)!important;
    transform-origin:right bottom!important;
  }
}

/* =========================================================
   ExtenAPP 2.40 · MENÚ MÓVIL SIN OVERLAY NEGRO
   Se convierte en una hoja blanca a pantalla completa bajo
   la barra superior. El botón queda junto a ExtenAPP.
   ========================================================= */
@media(max-width:900px){
  .topbar-224{
    justify-content:flex-start!important;
    gap:8px!important;
    z-index:2100!important;
  }
  .brand-224{
    flex:0 1 auto!important;
    max-width:calc(100% - 90px)!important;
  }
  .mobile-nav-toggle{
    position:relative!important;
    margin:0!important;
    flex:0 0 auto!important;
  }
  .mobile-nav-backdrop{
    display:none!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  body.nav239-open{
    overflow:hidden!important;
    touch-action:auto!important;
  }
  .nav-224{
    position:fixed!important;
    top:68px!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100vw!important;
    max-width:100vw!important;
    height:calc(100dvh - 68px)!important;
    max-height:calc(100dvh - 68px)!important;
    padding:14px 14px 28px!important;
    margin:0!important;
    background:#f7f9fa!important;
    color:#18364d!important;
    border-top:1px solid #dfe6eb!important;
    box-shadow:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    transform:none!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:opacity .16s ease,visibility .16s ease!important;
    z-index:2050!important;
  }
  .nav-224.mobile-open{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
  }
  .mobile-nav-head{
    display:none!important;
  }
  .nav-224>a,
  .nav-224 .nav-group>summary{
    background:#fff!important;
    border:1px solid #e1e8ec!important;
    min-height:48px!important;
    font-size:13px!important;
    padding:13px 14px!important;
    border-radius:13px!important;
  }
  .nav-224 .nav-group[open]>summary{
    background:#edf3f6!important;
    border-color:#cddbe3!important;
  }
  .nav-224 .nav-pop,
  .nav-224 .nav-pop.right,
  .nav-224 .nav-pop-wide{
    background:#fff!important;
    margin:0 0 8px 12px!important;
    width:calc(100% - 12px)!important;
    padding:4px 7px 7px!important;
    border-left:3px solid #b8944b!important;
  }
  .nav-224 .nav-pop a{
    background:#fff!important;
    min-height:44px!important;
    font-size:12px!important;
    padding:12px!important;
  }
}

/* ExtenAPP 2.41 · menú móvil simplificado y confiable */
@media(max-width:900px){
  html,body{overflow-x:hidden!important;width:100%!important;max-width:100%!important}
  body.nav241-open{overflow:hidden!important}
  .topbar-224{
    position:sticky!important;top:0!important;z-index:5000!important;
    display:flex!important;align-items:center!important;justify-content:flex-start!important;
    gap:8px!important;width:100%!important;max-width:100%!important;padding:9px 12px!important;
  }
  .brand-224{display:flex!important;align-items:center!important;flex:0 1 auto!important;min-width:0!important;max-width:calc(100% - 86px)!important}
  .brand-224 strong{white-space:nowrap!important}
  .mobile-nav-toggle{
    position:relative!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
    gap:6px!important;flex:0 0 auto!important;width:auto!important;min-width:74px!important;height:40px!important;
    margin:0!important;padding:0 10px!important;border-radius:10px!important;border:1px solid rgba(255,255,255,.28)!important;
    background:#173f60!important;color:#fff!important;z-index:5100!important;
  }
  .mobile-nav-toggle span{position:static!important;display:inline!important;width:auto!important;height:auto!important;background:none!important;transform:none!important;font-size:18px!important;line-height:1!important}
  .mobile-nav-toggle b{display:inline!important;margin:0!important;font-size:10px!important;line-height:1!important}
  #mainNav239.nav-224{
    display:none!important;position:fixed!important;top:68px!important;left:0!important;right:0!important;bottom:0!important;
    width:100%!important;max-width:100%!important;height:calc(100dvh - 68px)!important;
    margin:0!important;padding:12px 14px 28px!important;background:#f7f9fa!important;
    overflow-y:auto!important;overflow-x:hidden!important;z-index:4900!important;box-shadow:none!important;
    transform:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;
  }
  #mainNav239.nav-224.mobile-open{display:block!important}
  #mainNav239 .mobile-nav-head{display:none!important}
  #mainNav239>a,#mainNav239 .nav-group>summary{
    display:flex!important;width:100%!important;min-height:48px!important;align-items:center!important;justify-content:space-between!important;
    margin:4px 0!important;padding:12px 14px!important;background:#fff!important;color:#17364e!important;
    border:1px solid #dde6eb!important;border-radius:12px!important;font-size:13px!important;font-weight:850!important;
  }
  #mainNav239 .nav-group{display:block!important;position:static!important;width:100%!important}
  #mainNav239 .nav-pop,#mainNav239 .nav-pop.right,#mainNav239 .nav-pop-wide{
    position:static!important;display:block!important;width:calc(100% - 10px)!important;min-width:0!important;
    margin:0 0 7px 10px!important;padding:4px 7px 7px!important;background:#fff!important;border:0!important;
    border-left:3px solid #b8944b!important;border-radius:0!important;box-shadow:none!important;
  }
  #mainNav239 .nav-group:not([open])>.nav-pop{display:none!important}
  #mainNav239 .nav-pop a{display:block!important;width:100%!important;padding:12px!important;color:#263d4f!important;background:#fff!important;border-bottom:1px solid #edf1f3!important}
}

/* ExtenAPP 2.43 */
.certificate-2152 .c2152-seal{
 left:50%!important;right:auto!important;transform:translateX(-50%)!important;
 width:10%!important;max-width:10%!important;height:auto!important;z-index:3!important;
}
/* Flyer: official marks and controlled typography get more visual presence */
.f230-canvas .official-logo,.flyer-canvas .official-logo,.flyer-preview .official-logo{width:clamp(82px,11%,132px)!important;height:auto!important;max-height:132px!important;object-fit:contain!important}
.f230-canvas .flyer-title,.flyer-canvas .flyer-title,.flyer-preview .flyer-title{font-size:clamp(38px,5.8vw,72px)!important;line-height:.98!important}
.f230-canvas .flyer-speaker,.flyer-canvas .flyer-speaker,.flyer-preview .flyer-speaker{font-size:clamp(22px,3vw,38px)!important}
.f230-canvas .flyer-meta,.flyer-canvas .flyer-meta,.flyer-preview .flyer-meta{font-size:clamp(17px,2vw,27px)!important}

/* 2.44 · Ajuste conservador de constancias: evita cortes sin cambiar la composición aprobada */
.certificate-2152,.certificate-2152 *{box-sizing:border-box}
.certificate-2152 .c2152-signature strong,.certificate-2152 .c2152-signature span{overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important}
.certificate-2152 .c2152-seal img{max-width:100%!important;max-height:100%!important;object-fit:contain!important}
@media(max-width:700px){
 .certificate-2152{contain:layout paint!important}
 .certificate-2152 .c2152-signature{min-width:0!important}
 .certificate-2152 .c2152-signature strong,.certificate-2152 .c2152-signature span{white-space:normal!important}
}


/* ===== ExtenAPP 2.56 · Inicio responsivo sin recortes ===== */
html,body{max-width:100%;overflow-x:hidden}
main.container{min-width:0}
.home225{width:min(100%,1480px);max-width:100%;margin-inline:auto;box-sizing:border-box}
.home225 *{box-sizing:border-box}
.home225-hero{width:100%;min-width:0;height:auto!important;min-height:clamp(520px,64vh,760px);display:grid!important;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);align-items:stretch;overflow:hidden}
.home225-copy,.home225-visual{min-width:0;max-width:100%}
.home225-copy{padding:clamp(32px,5vw,78px)!important}
.home225-copy h1{font-size:clamp(38px,5.4vw,78px)!important;line-height:.98!important;max-width:13ch;overflow-wrap:break-word}
.home225-copy p{max-width:64ch;font-size:clamp(14px,1.25vw,19px)}
.home225-actions{display:flex;flex-wrap:wrap;gap:10px}
.home225-actions a{max-width:100%;white-space:normal;text-align:center}
.home225-numbers{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.home225-visual{position:relative;min-height:440px;overflow:hidden}
.home225-visual .home225-card{max-width:min(86%,340px)}
.home225-section,.home225-path,.home225-cta{min-width:0}
.home225-events,.home225-activities{min-width:0}
.home225-event,.home225-activity{min-width:0}
.home225-event>div,.home225-activity>div{min-width:0}
.home225-event h3,.home225-activity h3,.home225-event p,.home225-activity p{overflow-wrap:anywhere}
@media(max-width:1180px){
 .home225-hero{grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);min-height:590px}
 .home225-copy{padding:44px 38px!important}
 .home225-copy h1{font-size:clamp(42px,5.5vw,64px)!important}
}
@media(max-width:900px){
 .home225{width:100%}
 .home225-hero{grid-template-columns:1fr!important;min-height:0}
 .home225-copy{padding:40px 24px 24px!important}
 .home225-copy h1{max-width:14ch;font-size:clamp(38px,10vw,62px)!important}
 .home225-visual{min-height:380px;width:100%}
 .home225-numbers{grid-template-columns:repeat(3,minmax(0,1fr))}
 .home225-path{grid-template-columns:1fr!important}
 .home225-cta{display:grid!important;grid-template-columns:1fr!important;gap:18px}
}
@media(max-width:600px){
 .home225-copy{padding:30px 17px 20px!important}
 .home225-copy h1{font-size:clamp(34px,12vw,50px)!important}
 .home225-actions{display:grid;grid-template-columns:1fr}
 .home225-actions a{width:100%}
 .home225-numbers{grid-template-columns:1fr!important}
 .home225-visual{min-height:330px}
 .home225-card{font-size:11px!important}
 .home225-section>header{display:block!important}
 .home225-section>header>a{display:inline-flex;margin-top:9px}
 .home225-event{grid-template-columns:64px 54px minmax(0,1fr) auto!important;gap:8px!important}
 .home225-eventArt{width:64px!important;height:64px!important}
 .home225-activity{grid-template-columns:48px minmax(0,1fr) auto!important}
}
@media(max-width:420px){
 .home225-event{grid-template-columns:52px minmax(0,1fr) auto!important}
 .home225-eventArt{display:none!important}
 .home225-date{width:52px!important}
 .home225-visual{min-height:300px}
}

.campus257{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:14px 0;padding:14px 16px;border:1px solid #dfe7eb;border-radius:16px;background:#fff}.campus257>div span,.campus257>div strong{display:block}.campus257>div span{font-size:8px;font-weight:950;letter-spacing:.12em;color:#b28a39}.campus257>div strong{font-size:17px;color:#173f59;margin-top:2px}.campus257 nav{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.campus257 nav a{padding:7px 10px;border:1px solid #dce5e9;border-radius:999px;text-decoration:none;color:#456171;font-size:9px;font-weight:850;background:#f9fbfc}.campus257 nav a.active{background:#123f5c;color:#fff;border-color:#123f5c}@media(max-width:760px){.campus257{display:block}.campus257 nav{justify-content:flex-start;margin-top:10px}.campus257 nav a{flex:0 0 auto}}
/* ExtenAPP 2.58 · Inicio realmente fluido en escritorio */
body.home225-page>main.container{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;overflow-x:hidden!important}
body.home225-page .home225{width:100%!important;max-width:none!important;margin:0!important}
body.home225-page .home225-hero{width:100vw!important;max-width:100%!important;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr)!important}
@media(max-width:900px){body.home225-page .home225-hero{grid-template-columns:1fr!important}}
/* 2.59 · administración discreta + contador de registro */
@media(min-width:901px){.nav259-admin-pop{width:250px!important;min-width:250px!important;max-width:250px!important;grid-template-columns:1fr!important;padding:8px!important;max-height:72vh;overflow:auto}.nav259-admin-pop a{padding:9px 10px!important;border-radius:8px}}
.reg259-countdown{max-width:760px;margin:14px auto;padding:14px 18px;border-radius:16px;background:#123f5c;color:#fff;text-align:center;box-shadow:0 10px 30px rgba(15,49,70,.14)}.reg259-countdown small,.reg259-countdown span{display:block}.reg259-countdown b{display:block;color:#e0bd65;font-size:clamp(24px,5vw,38px);margin:3px}.reg259-countdown.closed{background:#8b2635}.reg259-countdown.closed b:after{content:' · CERRADO'}
/* ExtenAPP 2.61 · Verificación avanzada + constancias responsivas */
.verify261-shell{width:min(1120px,calc(100% - 28px));margin:26px auto 60px}.verify261-hero{background:linear-gradient(135deg,#082f49,#0b4a6f);color:#fff;border-radius:24px;padding:30px 34px;display:flex;align-items:center;justify-content:space-between;gap:24px;box-shadow:0 18px 50px rgba(8,47,73,.18)}.verify261-kicker{font-size:12px;letter-spacing:.16em;font-weight:800;color:#f0c85a}.verify261-hero h1{font-size:clamp(28px,4vw,48px);margin:6px 0}.verify261-hero p{max-width:720px;margin:0;color:#dcebf2}.verify261-shield{width:78px;height:78px;border-radius:24px;border:1px solid rgba(255,255,255,.35);display:grid;place-items:center;font-size:38px;font-weight:900;background:rgba(255,255,255,.08)}.verify261-search,.verify261-panel,.verify261-status,.verify261-card,.verify261-footnote{background:#fff;border:1px solid #e4ebef;border-radius:18px;box-shadow:0 8px 30px rgba(15,45,65,.06)}.verify261-search{margin:18px 0;padding:18px}.verify261-search label{display:block;font-size:12px;font-weight:800;letter-spacing:.08em;margin-bottom:8px}.verify261-search>div{display:flex;gap:10px}.verify261-search input{flex:1;min-width:0}.verify261-status{padding:22px;display:flex;gap:18px;align-items:center;border-left:6px solid #198754}.verify261-status.bad{border-left-color:#b42318}.verify261-statusicon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#e9f8ef;color:#147a43;font-size:28px;font-weight:900;flex:0 0 auto}.verify261-status.bad .verify261-statusicon{background:#feeceb;color:#b42318}.verify261-status small,.verify261-panel small,.verify261-card span{font-size:11px;letter-spacing:.1em;font-weight:800;color:#6b7d88}.verify261-status h2{margin:2px 0 4px;font-size:22px}.verify261-status p{margin:0;color:#526672}.verify261-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0}.verify261-card{padding:17px}.verify261-card span{display:block}.verify261-card strong{display:block;margin-top:6px;overflow-wrap:anywhere}.verify261-panel{padding:22px;margin:14px 0}.verify261-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}.verify261-head h2{margin:3px 0 0;font-size:21px}.verify261-dl{display:grid;grid-template-columns:1fr 1fr;margin:0;gap:1px;background:#e6edf1;border:1px solid #e6edf1;border-radius:14px;overflow:hidden}.verify261-dl div{background:#fff;padding:14px}.verify261-dl dt{font-size:11px;font-weight:800;color:#72838c;text-transform:uppercase}.verify261-dl dd{margin:4px 0 0;font-weight:700}.verify261-badge{font-size:11px;font-weight:900;padding:7px 10px;border-radius:999px;background:#fff2d2;color:#8b5a00}.verify261-badge.ok{background:#e8f7ee;color:#11683a}.verify261-signers{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.verify261-signers article{border:1px solid #e4ebef;border-radius:14px;padding:15px;display:flex;flex-direction:column;gap:4px}.verify261-signers article>b{color:#167345}.verify261-signers code,.verify261-reference code,.verify261-alert code{font-size:11px;overflow-wrap:anywhere}.verify261-upload{display:flex;gap:10px;align-items:center;padding:14px;border:1px dashed #b9c9d1;border-radius:14px;background:#f8fbfc}.verify261-upload input{flex:1;min-width:0}.verify261-reference{margin-top:12px;padding:13px 15px;border-radius:12px;background:#f6f9fa;display:flex;flex-direction:column;gap:4px}.verify261-reference>span{font-size:11px;font-weight:800;color:#6c7e88}.verify261-alert{padding:14px;border-radius:12px;margin:12px 0;display:flex;flex-direction:column;gap:6px}.verify261-alert.good{background:#e9f8ef;color:#126b3b}.verify261-alert.bad{background:#fff0ef;color:#a52b23}.verify261-alert.neutral{background:#eef6fb;color:#315b73}.verify261-footnote{padding:18px 22px;margin-top:14px}.verify261-footnote p{margin:5px 0 0;color:#596d78}
.ex260-digital-sign{padding:0 1.1cqw!important}.ex260-digital-sign>div:first-child{font-size:2.2cqw!important;line-height:1!important}.ex260-digital-sign small{display:block;font-size:.66cqw!important;line-height:1.15!important;letter-spacing:.02em!important;margin-top:.25cqw!important;overflow-wrap:anywhere}
@media(max-width:760px){.verify261-shell{width:min(100% - 18px,1120px);margin-top:12px}.verify261-hero{padding:22px;border-radius:18px}.verify261-shield{width:58px;height:58px;border-radius:18px}.verify261-search>div,.verify261-upload{flex-direction:column;align-items:stretch}.verify261-grid{grid-template-columns:1fr 1fr}.verify261-dl{grid-template-columns:1fr}.verify261-signers{grid-template-columns:1fr}.verify261-head{align-items:flex-start;flex-direction:column}.verify261-status{align-items:flex-start}.certificate-toolbar{overflow-x:auto}.certificate-2152{max-width:100%!important;margin-left:auto!important;margin-right:auto!important}.ex260-digital-sign small{font-size:.72cqw!important}}
@media(max-width:430px){.verify261-grid{grid-template-columns:1fr}.verify261-hero{padding:18px}.verify261-shield{display:none}.verify261-panel{padding:17px}.verify261-status{padding:17px}.verify261-statusicon{width:44px;height:44px;font-size:23px}.verify261-status h2{font-size:18px}}
@media print{.verify261-shell{width:100%;margin:0}.verify261-search,.verify261-upload,.topbar-224,.footer-224{display:none!important}.verify261-panel,.verify261-status,.verify261-card{box-shadow:none!important}}

/* =========================================================
   ExtenAPP 2.62.4 · AJUSTE VISUAL CONSERVADOR
   Solo aumenta sello y QR. No altera geometría de contenido,
   firmas, textos ni relación de aspecto de la constancia.
   ========================================================= */
.certificate-2152 .c2152-seal{
  width:13.5%!important;
  max-width:13.5%!important;
  height:13.5%!important;
  aspect-ratio:1/1!important;
}
.certificate-2152 .c2152-seal .ex263-protected-visual,
.certificate-2152 .c2152-seal .ex263-protected-seal{
  width:100%!important;height:100%!important;min-height:0!important;
  background-size:contain!important;background-position:center!important;
}
.certificate-2152 .c232-verify{
  width:30mm!important;
  padding:2mm!important;
}
.certificate-2152 .c232-verify .qr,
.certificate-2152 .c232-verify .qr img,
.certificate-2152 .c232-verify .qr canvas{
  width:25mm!important;height:25mm!important;
}
.certificate-2152 .c2152-folio{right:45mm!important}

@media(max-width:700px){
  .certificate-2152 .c2152-seal{
    width:14.5%!important;max-width:14.5%!important;height:14.5%!important;
  }
  .certificate-2152 .c232-verify{
    width:14.5vw!important;min-width:58px!important;
    padding:1vw!important;
    transform:none!important;
    right:2.8vw!important;bottom:2.2vw!important;
  }
  .certificate-2152 .c232-verify .qr,
  .certificate-2152 .c232-verify .qr img,
  .certificate-2152 .c232-verify .qr canvas{
    width:11.5vw!important;height:11.5vw!important;
    min-width:48px!important;min-height:48px!important;
  }
  .certificate-2152 .c2152-folio{right:19vw!important}
}

@media print{
  .certificate-2152 .c2152-seal{
    width:34mm!important;max-width:34mm!important;height:34mm!important;
  }
  .certificate-2152 .c232-verify{
    width:30mm!important;padding:2mm!important;
    right:10mm!important;bottom:8mm!important;
    transform:none!important;
  }
  .certificate-2152 .c232-verify .qr,
  .certificate-2152 .c232-verify .qr img,
  .certificate-2152 .c232-verify .qr canvas{
    width:25mm!important;height:25mm!important;min-width:0!important;min-height:0!important;
  }
  .certificate-2152 .c2152-folio{right:45mm!important}
}

/* =========================================================
   ExtenAPP 2.62.5 · ESCALA DOCUMENTAL ADAPTATIVA
   La hoja mantiene su relación 297/210. Firmas, sello y QR
   se dimensionan respecto de la propia constancia, no del viewport.
   ========================================================= */
.certificate-2152{container-type:inline-size!important}
.certificate-2152 .c2152-sign-image{
  width:100%!important;
  height:11.2cqw!important;
  min-height:0!important;max-height:none!important;
  display:flex!important;align-items:flex-end!important;justify-content:center!important;
  overflow:visible!important;
}
.certificate-2152 .sig-count-3 .c2152-sign-image{height:9.2cqw!important}
.certificate-2152 .sig-count-4 .c2152-sign-image{height:7.8cqw!important}
.certificate-2152 .c2152-sign-image .ex263-protected-visual{
  width:100%!important;height:100%!important;min-height:0!important;
  background-size:contain!important;background-position:center bottom!important;
}
/* El sello usa una caja cuadrada; el JS 2.62.5 decide su tamaño final según
   1/2/3/4 firmantes y busca una posición libre antes de mostrarlo. */
.certificate-2152 .c2152-seal{
  width:15.5cqw!important;max-width:none!important;height:15.5cqw!important;
  min-width:0!important;min-height:0!important;
}
.certificate-2152 .c2152-seal .ex263-protected-visual,
.certificate-2152 .c2152-seal .ex263-protected-seal{
  width:100%!important;height:100%!important;min-height:0!important;
  background-size:contain!important;background-position:center!important;
}
.certificate-2152 .c232-verify{width:9.1cqw!important;padding:.62cqw!important}
.certificate-2152 .c232-verify .qr,
.certificate-2152 .c232-verify .qr img,
.certificate-2152 .c232-verify .qr canvas{width:7.6cqw!important;height:7.6cqw!important;min-width:0!important;min-height:0!important}
.certificate-2152 .c2152-folio{right:13.7cqw!important}

@media(max-width:700px){
  /* No se rediseña la constancia en móvil: se reduce la hoja completa. */
  .certificate-2152 .c2152-sign-image{height:11.2cqw!important}
  .certificate-2152 .sig-count-3 .c2152-sign-image{height:9.2cqw!important}
  .certificate-2152 .sig-count-4 .c2152-sign-image{height:7.8cqw!important}
  .certificate-2152 .c2152-seal{width:15.5cqw!important;max-width:none!important;height:15.5cqw!important}
  .certificate-2152 .c232-verify{width:9.1cqw!important;min-width:0!important;padding:.62cqw!important;right:2.8cqw!important;bottom:2.2cqw!important;transform:none!important}
  .certificate-2152 .c232-verify .qr,.certificate-2152 .c232-verify .qr img,.certificate-2152 .c232-verify .qr canvas{width:7.6cqw!important;height:7.6cqw!important;min-width:0!important;min-height:0!important}
  .certificate-2152 .c2152-folio{right:13.7cqw!important}
}
@media print{
  .certificate-2152 .c2152-sign-image{height:29mm!important}
  .certificate-2152 .sig-count-3 .c2152-sign-image{height:24mm!important}
  .certificate-2152 .sig-count-4 .c2152-sign-image{height:20mm!important}
  .certificate-2152 .c2152-seal{width:42mm!important;max-width:42mm!important;height:42mm!important}
  .certificate-2152 .c232-verify{width:30mm!important;padding:2mm!important;right:10mm!important;bottom:8mm!important}
  .certificate-2152 .c232-verify .qr,.certificate-2152 .c232-verify .qr img,.certificate-2152 .c232-verify .qr canvas{width:25mm!important;height:25mm!important}
  .certificate-2152 .c2152-folio{right:45mm!important}
}
