.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}.loading-spinner{border:4px solid #f3f3f3;border-top:4px solid #2c5282;border-radius:50%;animation:spin 1s linear infinite}.loading-small .loading-spinner{width:24px;height:24px}.loading-medium .loading-spinner{width:40px;height:40px}.loading-large .loading-spinner{width:60px;height:60px}.loading-message{margin-top:1rem;color:#4a5568;font-size:.95rem}.loading-fullpage{position:fixed;inset:0;background:#ffffffe6;z-index:9999}.landing{--content: 1080px;color:var(--color-neutral-800);background:var(--color-page-bg)}.btn-ink,.btn-outline,.btn-amber,.btn-whatsapp{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 20px;border-radius:var(--radius-sm);font-size:var(--fs-button);font-weight:var(--fw-semibold);text-decoration:none;cursor:pointer;border:1px solid transparent;white-space:nowrap;transition:background .2s ease,box-shadow .2s ease,transform .2s ease,border-color .2s ease}.btn-outline:focus-visible{border-color:var(--btn-primary);color:var(--btn-primary);box-shadow:0 6px 18px #3662ff38;outline:none}.btn-amber:hover{filter:brightness(.96)}.btn-whatsapp:hover{filter:brightness(.96)}.tint-blue{color:var(--btn-primary)}.tint-green{color:var(--color-success)}.tint-amber{color:var(--color-warning)}.tint-violet{color:var(--color-violet-500)}.service-icon.tint-blue{background:var(--color-blue-50)}.service-icon.tint-green{background:#eafaf3}.service-icon.tint-amber{background:var(--color-warning-bg)}.service-icon.tint-violet{background:#f0ecfb}.cifra-dot.tint-blue,.cifra-bar-fill.tint-blue{background:var(--btn-primary)}.cifra-dot.tint-green,.cifra-bar-fill.tint-green{background:var(--color-success)}.cifra-dot.tint-amber,.cifra-bar-fill.tint-amber{background:var(--color-warning)}.cifra-dot.tint-violet,.cifra-bar-fill.tint-violet{background:var(--color-violet-500)}.img-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-neutral-200),var(--color-neutral-300));color:var(--color-neutral-500);border-radius:var(--radius-md);min-height:120px}.landing-brand{display:flex;align-items:center;gap:10px}.landing-brand-mark{width:40px;height:40px;flex-shrink:0;border-radius:10px;background:var(--color-ink);color:#fff;display:flex;align-items:center;justify-content:center}.landing-brand-text{display:flex;flex-direction:column;line-height:1.15}.landing-brand-text strong{font-size:.95rem;color:var(--color-ink)}.landing-brand-sub{font-size:.7rem;letter-spacing:.05em;color:var(--color-neutral-500)}.landing-brand.on-dark .landing-brand-text strong{color:#fff}.landing-brand.on-dark .landing-brand-sub{color:#fff9}.landing-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:24px;padding:12px 32px;background:#fdfcf8d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-neutral-300)}.landing-nav{display:flex;gap:28px;margin:0 auto}.landing-nav a{position:relative;color:var(--color-neutral-700);text-decoration:none;font-size:15px;font-weight:500;padding-bottom:4px;transition:color .2s ease}.landing-nav a:after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;border-radius:2px;background:var(--btn-primary);transition:width .28s cubic-bezier(.4,0,.2,1)}.landing-nav a:hover,.landing-nav a:focus-visible{color:var(--color-ink);outline:none}.landing-nav a:hover:after,.landing-nav a:focus-visible:after{width:100%}.landing-section{max-width:var(--content);margin:0 auto;padding:88px 32px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:40px}.section-label{display:inline-block;margin-bottom:12px;font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--color-neutral-500)}.section-label.on-dark{color:#ffffff8c}.landing h2{display:block;font-size:var(--fs-h2);font-weight:var(--fw-h2);color:var(--color-ink);line-height:1.15;margin:0}.landing h2:before{content:none;display:none}.landing-hero-text h1{text-align:left;border-bottom:none;padding-bottom:0}.section-link{display:inline-flex;align-items:center;gap:6px;color:var(--btn-primary);font-weight:600;font-size:14px;text-decoration:none;white-space:nowrap}.section-link:hover{text-decoration:underline}.landing-hero{max-width:var(--content);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding:72px 32px 56px}.landing-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:var(--radius-pill);background:#fff;border:1px solid var(--color-blue-100);color:var(--btn-primary);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:22px}.landing-hero-text h1{font-size:var(--fs-display);font-weight:var(--fw-display);line-height:var(--line-height-tight);color:var(--color-ink);margin:0 0 16px}.landing-hero-text p{color:var(--color-neutral-700);font-size:1.05rem;max-width:460px;margin-bottom:28px}.landing-hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:40px}.landing-stats{display:flex;gap:48px;padding-top:28px;border-top:1px solid var(--color-neutral-300)}.landing-stats strong{display:block;font-size:1.7rem;font-weight:700;color:var(--color-ink)}.landing-stats span{font-size:.85rem;color:var(--color-neutral-600)}.landing-hero-visual{min-height:380px;border-radius:var(--radius-lg)}.photo-strip{overflow:hidden;padding:20px 32px;background:var(--color-ink)}.photo-strip.on-eco{background:transparent;padding:20px 0 0}.strip-track{display:flex;gap:14px;width:max-content;animation:strip-scroll 55s linear infinite}.strip-track.reverse{animation-direction:reverse}.photo-strip:hover .strip-track{animation-play-state:paused}.strip-tile{flex:0 0 180px;height:96px;min-height:0;border-radius:8px}@keyframes strip-scroll{0%{transform:translate(0)}to{transform:translate(calc(-50% - 7px))}}.nodes-svg{width:100%;height:100%;max-height:380px}.node-dot{transform-box:fill-box;transform-origin:center;animation:node-pulse 3.6s ease-in-out infinite}.nodes-edges line{stroke-dasharray:340;stroke-dashoffset:340;animation:edge-draw 1s ease forwards}@keyframes node-pulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.18)}}@keyframes edge-draw{to{stroke-dashoffset:0}}.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.service-card{--card-accent: var(--btn-primary);position:relative;overflow:hidden;display:flex;flex-direction:column;padding:24px;border-radius:var(--radius-md);background:#fff;border:1px solid var(--color-neutral-300);transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s ease,border-color .28s ease}.service-card.accent-blue{--card-accent: var(--btn-primary)}.service-card.accent-green{--card-accent: var(--color-success)}.service-card.accent-amber{--card-accent: var(--color-warning)}.service-card.accent-violet{--card-accent: var(--color-violet-500)}.service-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--card-accent);transform:scaleX(0);transform-origin:left;transition:transform .32s cubic-bezier(.4,0,.2,1);z-index:1}.service-card:hover{transform:translateY(-6px);box-shadow:0 18px 42px #101c4a24,0 0 0 1.5px var(--card-accent);border-color:transparent}.service-card:hover:before{transform:scaleX(1)}.service-card:hover .service-media{transform:scale(1.06)}.service-card:hover .service-icon{transform:scale(1.08)}.service-card:hover .service-acceder svg{transform:translate(4px)}.service-media{height:170px;margin-bottom:20px;transition:transform .4s cubic-bezier(.22,1,.36,1)}.service-icon{width:44px;height:44px;border-radius:12px;margin-bottom:18px;display:flex;align-items:center;justify-content:center;transition:transform .28s cubic-bezier(.34,1.56,.64,1)}.service-acceder svg{transition:transform .25s ease}.service-card h3{font-size:1.15rem;color:var(--color-ink);margin:0 0 8px}.service-card p{color:var(--color-neutral-600);font-size:.95rem;margin:0 0 18px;flex:1}.service-acceder{display:inline-flex;align-items:center;gap:4px;font-weight:600;font-size:14px;text-decoration:none}.service-acceder:hover{gap:8px}.landing-cifras{background:var(--color-ink);color:#fff;padding:88px 32px}.landing-cifras>.section-head,.landing-cifras>.cifras-grid,.landing-cifras>.datos-abiertos{max-width:var(--content);margin-left:auto;margin-right:auto}.landing-cifras h2{color:#fff}.cifras-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:24px}.cifra-card{position:relative;padding:22px;border-radius:var(--radius-md);background:#ffffff0a;border:1px solid rgba(255,255,255,.09)}.cifra-trend{color:var(--color-success);display:inline-flex}.cifra-dot{position:absolute;top:22px;right:22px;width:8px;height:8px;border-radius:50%}.cifra-card strong{display:block;font-size:2.1rem;font-weight:700;margin:8px 0 2px}.cifra-label{font-size:.85rem;color:#fff9}.cifra-bar{display:block;height:5px;margin-top:16px;border-radius:3px;background:#ffffff1f;overflow:hidden}.cifra-bar-fill{display:block;height:100%;border-radius:3px}.datos-abiertos{display:flex;align-items:center;gap:16px;padding:20px 24px;border-radius:var(--radius-md);background:#ffffff0a;border:1px solid rgba(255,255,255,.09)}.datos-ic{width:40px;height:40px;border-radius:10px;background:#ffffff14;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.datos-text{display:flex;flex-direction:column;flex:1}.datos-text strong{color:#fff}.datos-text span{color:#fff9;font-size:.9rem}.conv-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px;align-items:start}.conv-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.conv-item{width:100%;text-align:left;cursor:pointer;font:inherit;display:flex;align-items:center;gap:18px;padding:18px 22px;border-radius:var(--radius-md);background:#fff;border:1px solid var(--color-neutral-300);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.conv-item:hover,.conv-item:focus,.conv-item:focus-visible{transform:translate(2px);background:#fff}.conv-item.activa,.conv-item.activa:hover,.conv-item.activa:focus{border-color:var(--color-ink);box-shadow:var(--shadow-sm);border-left-width:3px;background:var(--color-neutral-100)}.conv-num{font-weight:700;color:var(--color-neutral-500);font-size:.95rem;width:28px;flex-shrink:0;text-align:center}.conv-item.activa .conv-num{color:#fff;background:var(--color-ink);width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center}.conv-body{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.conv-body strong{color:var(--color-ink)}.conv-sub{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;color:var(--color-neutral-500)}.conv-arrow{color:var(--color-neutral-400);flex-shrink:0;transition:transform .22s ease,color .22s ease}.conv-item:hover .conv-arrow{transform:translate(3px);color:var(--btn-primary)}.conv-item.activa .conv-arrow{color:var(--color-ink)}.badge-estado{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:var(--radius-pill);font-size:11px;font-weight:600;background:var(--color-neutral-200);color:var(--color-neutral-600)}.badge-estado:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge-estado.tono-activa{background:var(--color-success-bg);color:var(--color-success)}.badge-estado.tono-proximamente{background:var(--color-warning-bg);color:var(--color-warning)}.badge-estado.tono-cerrada{background:var(--color-neutral-200);color:var(--color-neutral-600)}.conv-detail{position:sticky;top:88px;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-neutral-300);background:#fff}.conv-detail-media{position:relative;height:240px;animation:conv-zoom .5s ease}.conv-detail-media .img-placeholder{height:100%;border-radius:0}.badge-estado.floating{position:absolute;top:16px;left:16px;background:#ffffffe6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.conv-detail-body{padding:28px}.conv-detail-body>*{animation:conv-fade .5s ease backwards}.conv-detail-body>*:nth-child(1){animation-delay:.04s}.conv-detail-body>*:nth-child(2){animation-delay:.1s}.conv-detail-body>*:nth-child(3){animation-delay:.16s}.conv-detail-body>*:nth-child(4){animation-delay:.22s}.conv-detail-body>*:nth-child(5){animation-delay:.28s}@keyframes conv-fade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.conv-detail-body h3{font-size:1.4rem;color:var(--color-ink);margin:0 0 12px}.conv-detail-body p{color:var(--color-neutral-600);margin:0 0 24px}.conv-meta{display:flex;gap:56px;padding:18px 0;border-top:1px solid var(--color-neutral-200);border-bottom:1px solid var(--color-neutral-200);margin-bottom:24px}.meta-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--color-neutral-500);margin-bottom:4px}.conv-meta strong{color:var(--color-ink)}.conv-cerrada{display:inline-block;color:var(--color-neutral-500);font-size:.9rem;font-weight:500}@keyframes conv-zoom{0%{transform:scale(1.04);opacity:.6}to{transform:scale(1);opacity:1}}.landing-eco{background:linear-gradient(135deg,var(--color-violet-600),var(--color-violet-500) 60%,#6a3fd6);color:#fff;padding:88px 32px 32px}.landing-eco>*{max-width:var(--content);margin-left:auto;margin-right:auto}.landing-eco h2{color:#fff;margin-bottom:16px}.eco-desc{color:#ffffffd1;max-width:760px;margin-bottom:32px}.eco-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.eco-card{display:flex;align-items:center;gap:14px;padding:20px 22px;border-radius:var(--radius-md);background:#ffffff14;border:1px solid rgba(255,255,255,.14)}.eco-ic{width:40px;height:40px;border-radius:10px;background:#ffffff1f;display:flex;align-items:center;justify-content:center;flex-shrink:0}.eco-card strong{display:block;font-size:1.5rem;font-weight:700}.eco-card span{font-size:.85rem;color:#ffffffb3}.landing-institucion h2{margin:0 0 16px}.institucion-desc{color:var(--color-neutral-700);max-width:620px;margin-bottom:24px}.normativa-pills{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:40px}.pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--radius-pill);background:var(--color-neutral-200);color:var(--color-neutral-700);font-size:.85rem;font-weight:500}.institucion-contacto{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:720px}.contacto-row{display:flex;align-items:center;gap:14px;text-decoration:none;transition:transform .18s ease}a.contacto-row:hover{transform:translate(2px)}a.contacto-row:hover .contacto-ic{background:var(--color-blue-50);color:var(--btn-primary)}.contacto-ic{transition:background .18s ease,color .18s ease}.contacto-ic{width:40px;height:40px;border-radius:10px;background:var(--color-neutral-200);color:var(--color-neutral-700);display:flex;align-items:center;justify-content:center;flex-shrink:0}.contacto-row span{display:block;font-size:.78rem;color:var(--color-neutral-500)}.contacto-row strong{color:var(--color-ink)}.landing-footer{background:#07101f;color:#ffffffb8;padding:56px 32px 24px}.footer-grid{max-width:var(--content);margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:40px}.footer-brand p{margin:18px 0;font-size:.9rem;max-width:240px}.footer-brand em{color:#ffffffe6;font-style:italic}.footer-social{display:flex;gap:10px}.footer-social a{width:38px;height:38px;border-radius:10px;background:#ffffff0f;display:flex;align-items:center;justify-content:center;color:#fff;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}.footer-social a:hover{transform:translateY(-2px)}.footer-social a.soc-wa:hover{background:#25d366;box-shadow:0 6px 16px #25d36666}.footer-social a.soc-ig:hover{background:#e1306c;box-shadow:0 6px 16px #e1306c66}.footer-social a.soc-fb:hover{background:#1877f2;box-shadow:0 6px 16px #1877f266}.footer-col{display:flex;flex-direction:column;gap:12px}.footer-col-title{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffffff80;margin-bottom:4px}.footer-col a{color:#ffffffb8;text-decoration:none;font-size:.9rem}.footer-col a:hover{color:#fff}.footer-contact{display:flex;gap:10px;color:#ffffff80;text-decoration:none;transition:color .18s ease}a.footer-contact:hover{color:#ffffffd9}a.footer-contact:hover strong{color:#fff}.footer-contact div{display:flex;flex-direction:column}.footer-contact span{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}.footer-contact strong{color:#ffffffe6;font-size:.9rem}.btn-whatsapp{margin-top:8px}.footer-bottom{max-width:var(--content);margin:0 auto;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:.82rem}.footer-legal{display:flex;gap:22px}.footer-legal a{color:#fff9;text-decoration:none}.footer-legal a:hover{color:#fff}.whatsapp-float{position:fixed;bottom:24px;right:24px;z-index:40;width:56px;height:56px;border-radius:50%;background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px #25d36666}.whatsapp-float:hover{filter:brightness(.95)}@media(max-width:860px){.landing-nav{display:none}.landing-hero,.services-grid,.cifras-grid,.eco-grid,.conv-layout,.institucion-contacto,.footer-grid{grid-template-columns:1fr}.landing-hero-visual{min-height:220px}.conv-detail{position:static}.conv-meta{gap:28px}.footer-bottom,.section-head{flex-direction:column;align-items:flex-start}.landing h2{font-size:1.7rem}.landing-hero-text h1{font-size:2rem}}@media(prefers-reduced-motion:reduce){.strip-track,.node-dot,.nodes-edges line,.conv-detail-media,.conv-detail-body>*{animation:none}.service-card:hover,.btn-ink:hover,.btn-outline:hover,.service-card:hover .service-media,.service-card:hover .service-icon{transform:none}.nodes-edges line{stroke-dashoffset:0}}.login-split{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:var(--color-page-bg)}.login-aside{position:relative;overflow:hidden;color:#fff;padding:48px;display:flex;background:linear-gradient(135deg,var(--color-ink) 0%,var(--color-violet-600) 55%,#6a3fd6 100%)}.login-aside-media{position:absolute;inset:0;background:linear-gradient(135deg,#101c4ad1,#5a32c7b8),repeating-linear-gradient(135deg,#ffffff08 0 22px,#fff0 22px 44px);background-color:#2a2350}.login-aside-content{position:relative;z-index:1;display:flex;flex-direction:column;width:100%;max-width:460px;margin:auto}.login-back{display:inline-flex;align-items:center;gap:8px;color:#ffffffbf;text-decoration:none;font-size:.9rem;margin-bottom:40px}.login-back:hover{color:#fff}.login-back .flip{transform:scaleX(-1)}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:40px}.login-brand-mark{width:44px;height:44px;border-radius:12px;flex-shrink:0;background:#ffffff1f;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;color:#fff}.login-brand-text{display:flex;flex-direction:column;line-height:1.2}.login-brand-text strong{font-size:1rem}.login-brand-text span{font-size:.7rem;letter-spacing:.08em;color:#ffffffa6}.login-aside-copy h1{font-size:2.4rem;font-weight:var(--fw-display);line-height:1.12;color:#fff;margin:0 0 18px;border:none;text-align:left}.login-aside-copy p{color:#fffc;font-size:1.02rem;max-width:400px}.login-stats{margin-top:auto;display:flex;gap:12px;padding:22px 24px;border-radius:var(--radius-md);background:#ffffff17;border:1px solid rgba(255,255,255,.15);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.login-stats>div{flex:1}.login-stats strong{display:block;font-size:1.5rem;font-weight:700}.login-stats span{font-size:.8rem;color:#ffffffb3}.login-panel{display:flex;align-items:center;justify-content:center;padding:48px;background:var(--color-page-bg)}.login-form-wrap{width:100%;max-width:400px}.login-panel h2{font-size:1.9rem;font-weight:var(--fw-h2);color:var(--color-ink);margin:0 0 6px;border:none;text-align:left;display:block}.login-panel h2:before{content:none}.login-sub{color:var(--color-neutral-600);margin:0 0 24px}.login-demo{border:1px dashed var(--color-neutral-400);border-radius:var(--radius-md);padding:12px;margin-top:28px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 10px;background:#fff;max-width:100%;box-sizing:border-box}.login-demo-title{grid-column:1 / -1;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--color-neutral-500);padding:2px 4px 6px}@media(max-width:480px){.login-demo{grid-template-columns:minmax(0,1fr)}}.login-demo-btn{display:flex;align-items:center;gap:8px;min-width:0;padding:10px 12px;border-radius:var(--radius-sm);background:#fff;border:1px solid var(--color-neutral-300);cursor:pointer;text-align:left;font-family:var(--font-family-base);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.login-demo-btn:hover{border-color:var(--btn-primary);box-shadow:0 4px 14px #3662ff24;transform:translateY(-1px)}.login-demo-btn:disabled{opacity:.6;cursor:not-allowed}.login-demo-ic{width:26px;height:26px;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.login-demo-ic.tint-blue{background:var(--color-blue-50);color:var(--btn-primary)}.login-demo-ic.tint-violet{background:#f0ecfb;color:var(--color-violet-500)}.login-demo-ic.tint-green{background:#eafaf3;color:var(--color-success)}.login-demo-ic.tint-orange{background:#fff2e8;color:#d9730d}.login-demo-ic.tint-grey{background:var(--color-neutral-100);color:var(--color-neutral-500)}.login-demo-text{display:flex;flex-direction:column;min-width:0;flex:1}.login-demo-label{font-size:.85rem;font-weight:600;color:var(--color-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.login-demo-email{font-size:.75rem;color:var(--color-neutral-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.login-form{display:flex;flex-direction:column}.login-label{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-neutral-700);margin-bottom:8px}.login-form input[type=email],.login-form input[type=password]{height:48px;padding:0 14px;margin-bottom:18px;border:1px solid var(--color-neutral-300);border-radius:var(--radius-sm);background:#fff;font-family:var(--font-family-base);font-size:.95rem;color:var(--color-ink);transition:border-color .18s ease,box-shadow .18s ease}.login-form input:focus{outline:none;border-color:var(--btn-primary);box-shadow:0 0 0 3px #3662ff29}.login-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.login-check{display:inline-flex;align-items:center;gap:8px;font-size:.88rem;color:var(--color-neutral-700);cursor:pointer}.login-check input{width:16px;height:16px;accent-color:var(--btn-primary)}.login-link{color:var(--btn-primary);text-decoration:none;font-size:.88rem;font-weight:600}.login-link:hover{text-decoration:underline}.login-submit{width:100%}.login-divider{height:1px;background:var(--color-neutral-300);margin:24px 0}.login-miarg{width:100%}.login-register{text-align:center;font-size:.9rem;color:var(--color-neutral-600);margin:18px 0 0}.login-fine{text-align:center;font-size:.75rem;color:var(--color-neutral-500);margin:14px 0 0}.login-error{background:var(--color-error-bg);color:var(--color-error);border:1px solid var(--color-error);border-radius:var(--radius-sm);padding:12px 14px;font-size:.9rem;margin-bottom:18px}.login-resend{display:block;margin-top:8px;background:none;border:none;padding:0;color:inherit;text-decoration:underline;cursor:pointer;font:inherit}.login-note{font-size:.85rem;color:var(--color-neutral-600);margin-bottom:16px}@media(max-width:860px){.login-split{grid-template-columns:1fr}.login-aside{display:none}.login-panel{padding:32px 20px}}:root{--react-pdf-annotation-layer: 1;--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color: Highlight;--input-focus-outline: 1px solid Canvas;--input-unfocused-border-color: transparent;--input-disabled-border-color: transparent;--input-hover-border-color: black;--link-outline: none}@media screen and (forced-colors:active){:root{--input-focus-border-color: CanvasText;--input-unfocused-border-color: ActiveText;--input-disabled-border-color: GrayText;--input-hover-border-color: Highlight;--link-outline: 1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{position:absolute;width:100%;height:100%}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;margin:0;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;max-width:calc(180px * var(--total-scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--total-scale-factor))}.annotationLayer .popupContent{border-top:1px solid rgba(51,51,51,1);margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer: 1;--highlight-bg-color: rgba(180, 0, 170, 1);--highlight-selected-bg-color: rgba(0, 100, 0, 1)}@media screen and (forced-colors:active){:root{--highlight-bg-color: Highlight;--highlight-selected-bg-color: ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translate(-100%)}.textLayer{position:absolute;text-align:initial;inset:0;overflow:hidden;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;margin:0;transform-origin:0 0}.textLayer span.markedContent{top:0;height:0}.textLayer .highlight{margin:-1px;padding:1px;background-color:var(--highlight-bg-color);border-radius:4px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;inset:100% 0 0;z-index:-1;cursor:default;-webkit-user-select:none;user-select:none}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}.document-viewer-overlay{position:fixed;inset:0;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.document-viewer-modal{background:#fff;border-radius:8px;width:90%;max-width:900px;height:90vh;max-height:900px;display:flex;flex-direction:column;box-shadow:0 4px 20px #0000004d}.document-viewer-header{padding:20px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center}.document-viewer-header h3{margin:0;font-size:18px;color:#333}.document-viewer-content{flex:1;padding:20px;overflow:auto}.document-frame{width:100%;height:100%;border:none;border-radius:4px}.image-preview-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#f5f5f5;border-radius:4px;overflow:auto}.document-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px;box-shadow:0 2px 10px #0000001a}.document-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#666}.document-preview p{margin-bottom:20px;font-size:16px}.document-viewer-footer{padding:20px;border-top:1px solid #eee;display:flex;justify-content:flex-end;gap:10px}.download-btn,.close-btn{padding:8px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.download-btn{background-color:#007bff;color:#fff}.download-btn:hover{background-color:#0056b3}.close-btn{background-color:#6c757d;color:#fff}.close-btn:hover{background-color:#545b62}.docx-preview-container{width:100%;height:100%;overflow:auto;background:#fff}.docx-content{padding:40px;max-width:800px;margin:0 auto;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;color:#333}.docx-content h1{font-size:24px;margin-bottom:16px;color:#1a1a1a}.docx-content h2{font-size:20px;margin-bottom:12px;color:#2a2a2a}.docx-content p{margin-bottom:12px}.docx-content table{width:100%;border-collapse:collapse;margin:16px 0}.docx-content table td,.docx-content table th{border:1px solid #ddd;padding:8px}.docx-loading,.docx-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#666}.docx-loading .spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #007bff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.docx-error p{margin-bottom:16px;color:#dc3545}.download-btn.primary{background-color:#28a745;padding:12px 32px;font-size:16px}.download-btn.primary:hover{background-color:#218838}.pdf-viewer-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;cursor:pointer}.pdf-viewer-container{background:#fff;border-radius:8px;width:100%;max-width:1200px;height:90vh;max-height:900px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 10px 30px #0000004d;cursor:default}.pdf-viewer-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:#f8f9fa;border-bottom:1px solid #dee2e6}.pdf-viewer-header h3{margin:0;color:#2c3e50;font-size:1.2rem}.pdf-viewer-hint{display:flex;align-items:center}.pdf-viewer-hint span{font-size:.85rem;color:#666;font-style:italic}.pdf-viewer-controls{display:flex;align-items:center;gap:10px}.pdf-viewer-controls button{background:#3498db;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:14px;transition:background .2s;min-width:35px}.pdf-viewer-controls button:hover:not(:disabled){background:#2980b9}.pdf-viewer-controls button:disabled{background:#bdc3c7;cursor:not-allowed}.pdf-viewer-controls span{font-size:14px;color:#666;min-width:45px;text-align:center}.pdf-viewer-content{flex:1;overflow:auto;display:flex;justify-content:center;align-items:flex-start;padding:20px;background:#525659}.pdf-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;color:#fff}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:15px}.pdf-error{color:#e74c3c;font-size:18px;text-align:center;padding:40px}.react-pdf__Page{margin-bottom:20px;box-shadow:0 4px 10px #0000004d;background:#fff}.react-pdf__Page:last-child{margin-bottom:0}.pdf-viewer-navigation{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:#f8f9fa;border-top:1px solid #dee2e6}.nav-button{background:#3498db;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;transition:background .2s}.nav-button:hover:not(:disabled){background:#2980b9}.nav-button:disabled{background:#bdc3c7;cursor:not-allowed}.page-info{font-size:14px;color:#666;font-weight:500}@media(max-width:768px){.pdf-viewer-container{height:100vh;max-height:100vh;border-radius:0}.pdf-viewer-header{padding:10px 15px}.pdf-viewer-header h3{font-size:1rem}.pdf-viewer-controls button{padding:5px 8px;font-size:12px;min-width:30px}.pdf-viewer-content{padding:10px}.pdf-viewer-navigation{padding:10px 15px}.nav-button{padding:6px 12px;font-size:12px}}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/InterVariable-DiVDrmQJ.woff2) format("woff2")}:root{--color-violet-200: #b0a1dd;--color-violet-300: #8c76cd;--color-violet-400: #755cc3;--color-violet-500: #5333b4;--color-violet-600: #4c2ea4;--color-violet-700: #3b2480;--color-blue-50: #ebeffc;--color-blue-100: #c0ccf7;--color-blue-200: #a2b4f3;--color-blue-300: #7891ee;--color-blue-400: #5d7cea;--color-blue-500: #355be5;--color-blue-600: #3053d0;--color-blue-700: #2641a3;--color-blue-800: #1d327e;--color-blue-900: #162660;--color-neutral-50: #ffffff;--color-neutral-100: #fcfcfc;--color-neutral-200: #f5f5f5;--color-neutral-300: #f0f0f0;--color-neutral-400: #d9d9d9;--color-neutral-500: #bfbfbf;--color-neutral-600: #8c8c8c;--color-neutral-700: #595959;--color-neutral-800: #454545;--color-neutral-900: #262626;--color-neutral-950: #1f1f1f;--color-neutral-1000: #141414;--color-success: #35a878;--color-success-bg: #f1f9f5;--color-error: #cd422f;--color-error-bg: #faecea;--color-warning: #d8a444;--color-warning-bg: #fcf6ed;--btn-primary: #3662ff;--btn-violet: #8a38f5;--btn-dark: #101c4a;--color-ink: #101c4a;--color-ink-hover: #0a1230;--color-page-bg: #fdfcf8;--color-sidebar-from: #0a1535;--color-sidebar-to: #101c4a;--color-sidebar-accent: #5a32c7;--color-sidebar-text: #ffffff;--color-sidebar-text-muted: rgba(255, 255, 255, .65);--font-family-base: "Inter", "Segoe UI", system-ui, -apple-system, Arial, sans-serif;--fs-display: 43px;--fw-display: 700;--fs-h2: 30px;--fw-h2: 700;--fs-body: 16px;--fw-body: 400;--fs-button: 14px;--fw-button: 600;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--line-height-tight: 1.15;--line-height-normal: 1.5;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 16px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(16, 28, 74, .06), 0 1px 3px rgba(16, 28, 74, .08);--shadow-md: 0 4px 12px rgba(16, 28, 74, .1), 0 2px 4px rgba(16, 28, 74, .06)}.btn-ink,.btn-outline,.btn-amber,.btn-whatsapp{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 20px;border-radius:var(--radius-sm);font-size:var(--fs-button);font-weight:var(--fw-semibold);font-family:var(--font-family-base);text-decoration:none;cursor:pointer;border:1px solid transparent;white-space:nowrap;transition:background .2s ease,color .2s ease,transform .18s ease,box-shadow .2s ease,border-color .2s ease}.btn-sm{padding:10px 16px}.btn-ink svg,.btn-outline svg,.btn-amber svg,.btn-whatsapp svg{transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.btn-ink:hover svg:last-child,.btn-ink:focus svg:last-child,.btn-amber:hover svg:last-child{transform:translate(4px)}.btn-ink:hover svg:first-child,.btn-ink:focus svg:first-child{transform:translate(-2px)}.btn-ink{background:var(--color-ink);color:#fff}.btn-ink:hover,.btn-ink:focus,.btn-ink:focus-visible{background:var(--btn-primary);transform:translateY(-1px);box-shadow:0 8px 24px #3662ff61;outline:none}.btn-ink:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn-outline{background:#fff;color:var(--color-ink);border-color:var(--color-neutral-300)}.btn-outline:hover{border-color:var(--color-neutral-500);background:var(--color-neutral-100);transform:translateY(-1px)}.btn-outline:focus,.btn-outline:focus-visible{border-color:var(--btn-primary);color:var(--btn-primary);box-shadow:0 6px 18px #3662ff38;outline:none}.btn-outline:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-amber{background:var(--color-warning);color:#3a2a06}.btn-amber:hover{filter:brightness(.96);transform:translateY(-1px)}.btn-whatsapp{background:#25d366;color:#fff}.btn-whatsapp:hover{filter:brightness(.96);transform:translateY(-1px)}@media(prefers-reduced-motion:reduce){.btn-ink,.btn-outline,.btn-amber,.btn-whatsapp,.btn-ink svg,.btn-outline svg{transition:none}.btn-ink:hover,.btn-ink:focus,.btn-outline:hover{transform:none}}.user-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:linear-gradient(135deg,#2b6cb0,#1a365d);border-radius:10px;margin-bottom:20px;color:#fff}.user-info{display:flex;align-items:center;gap:12px}.user-email{font-size:.95rem}.admin-badge{background:var(--color-warning, #f6ad55);color:#744210;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:700}.logout-button{background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s}.logout-button:hover{background:#ffffff40}.back-button{background:#edf2f7;border:1px solid #cbd5e0;color:#1a365d;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9rem;margin-bottom:16px;transition:all .2s}.back-button:hover{background:#e2e8f0}.btn-volver{background:#edf2f7;border:1px solid #cbd5e0;color:#1a365d;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9rem;margin-bottom:16px;transition:all .2s}.btn-volver:hover{background:#e2e8f0}body{font-family:var(--font-family-base);line-height:1.6;color:var(--color-neutral-800);margin:0;padding:0;min-height:100vh;background-color:var(--color-page-bg)}.form-container{width:80%;max-width:900px;margin:30px auto;padding:30px 20px;background-color:#ffffff80;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;box-shadow:0 10px 30px #0000001a}h1{color:#2c3e50;font-size:32px;margin-bottom:25px;border-bottom:2px solid var(--color-violet-500, #3498db);padding-bottom:15px;text-align:center;font-weight:600;letter-spacing:-.5px}h2{color:var(--color-violet-500, #3498db);font-size:24px;margin:20px 0;font-weight:500;display:flex;align-items:center}h2:before{content:"";display:inline-block;width:6px;height:24px;background-color:var(--color-violet-500, #3498db);margin-right:10px;border-radius:3px}.bloque{background-color:#fff;border-radius:10px;box-shadow:0 4px 12px #00000014;padding:25px;margin-bottom:25px;transition:all .3s ease}.bloque:hover{box-shadow:0 6px 16px #0000001f}.form-section{margin-bottom:30px;padding-bottom:10px}.form-section h3{text-transform:uppercase}.question{margin-bottom:25px;padding:15px;border-radius:8px;background-color:#f9f9f9;border-left:4px solid #3498db;transition:all .3s ease}.question:hover{background-color:#f0f7fc}.question-text{font-weight:600;margin-bottom:12px;color:#2c3e50;font-size:16px}input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],input[type=url],input[type=date],textarea,select{width:100%;padding:12px;border:1px solid var(--color-neutral-300);border-radius:var(--radius-sm);font-family:var(--font-family-base);font-size:var(--fs-body);margin-bottom:15px;box-sizing:border-box;transition:all .18s ease;background-color:var(--color-neutral-100)}input:hover,textarea:hover,select:hover{border-color:var(--color-neutral-500);background-color:var(--color-neutral-50)}input:focus,textarea:focus,select:focus{border-color:var(--color-blue-500);outline:none;box-shadow:0 0 0 3px #355be526;background-color:var(--color-neutral-50)}textarea{min-height:100px;resize:vertical}input[type=date]{padding:10px 12px}.radio-group,.checkbox-group{display:flex;flex-direction:column;gap:12px;margin-bottom:20px;padding:5px 0}label{display:flex;align-items:center;cursor:pointer;padding:5px 0;transition:all .2s ease;font-size:15px}label:hover{color:#3498db}input[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border:2px solid #ccc;border-radius:50%;margin-right:10px;position:relative;cursor:pointer;transition:all .2s ease}input[type=radio]:checked{border-color:#3498db}input[type=radio]:checked:after{content:"";position:absolute;width:10px;height:10px;background-color:#3498db;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%)}input[type=radio]:hover{border-color:#3498db}input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;min-width:20px;border:2px solid #ccc;border-radius:4px;margin-right:10px;position:relative;cursor:pointer;transition:all .2s ease;flex-shrink:0}input[type=checkbox]:checked{background-color:#3498db;border-color:#3498db}input[type=checkbox]:checked:after{content:"✓";position:absolute;color:#fff;font-size:14px;top:50%;left:50%;transform:translate(-50%,-50%)}input[type=checkbox]:hover{border-color:#3498db}.checkbox-group label{display:flex;align-items:flex-start;margin-bottom:5px;line-height:1.4}.conditional-field{margin-left:30px;padding:15px;border-left:3px solid #3498db;background-color:#f8f9fa;border-radius:0 6px 6px 0;margin-bottom:15px;box-shadow:0 2px 5px #0000000d;animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.block-header{margin-bottom:25px;border-bottom:1px solid #eee;padding-bottom:15px}.block-header h3{color:#3498db;font-size:20px;font-weight:600;margin:0;display:flex;align-items:center}.block-header h3:before{content:"";display:inline-block;width:4px;height:20px;background-color:#3498db;margin-right:10px;border-radius:2px}.navigation-buttons{display:flex;justify-content:space-between}.form-navigation{display:flex;justify-content:space-between;align-items:center;margin-top:30px;padding-top:20px;border-top:1px solid #e2e8f0;gap:15px}.form-navigation .nav-left,.form-navigation .nav-right{display:flex;gap:10px}.btn-cancelar{background-color:#e2e8f0!important;color:#4a5568!important}.btn-cancelar:hover{background-color:#cbd5e0!important}.btn-guardar-borrador{background-color:#ed8936!important;color:#fff!important}.btn-guardar-borrador:hover{background-color:#dd6b20!important}.btn-enviar{background-color:#38a169!important}.btn-enviar:hover{background-color:#2f855a!important}button{background-color:var(--color-violet-500);color:#fff;border:none;padding:12px 24px;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-family-base);font-size:var(--fs-button);transition:all .18s;font-weight:var(--fw-button);box-shadow:0 2px 4px #0000001a;display:flex;align-items:center;gap:8px}button:hover{background-color:var(--color-violet-600, #2980b9);transform:translateY(-2px);box-shadow:0 4px 8px #00000026}button:active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}button[type=submit]{background-color:var(--btn-primary);padding:14px 28px}button[type=submit]:hover{background-color:var(--color-blue-700)}.progress-container{margin-top:30px;padding-top:20px;border-top:1px solid #eee;margin-bottom:20px}.progress-indicator{display:flex;justify-content:center;align-items:center}.step-container{display:flex;align-items:center}.step{width:36px;height:36px;border-radius:50%;background-color:#ddd;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;position:relative;z-index:2;transition:all .3s ease}.step.active{background-color:#3498db;box-shadow:0 0 0 3px #3498db4d;transform:scale(1.1)}.step.completed{background-color:#2ecc71}.step-connector{height:3px;flex-grow:1;background-color:#ddd;margin:0 5px;min-width:50px}@media(max-width:768px){.form-container{width:95%;padding:15px;margin:15px auto}h1{font-size:24px;padding-bottom:10px;margin-bottom:15px}h2{font-size:20px}.block-header h3{font-size:18px}.bloque{padding:15px}.question{padding:12px}button{padding:10px 15px;font-size:14px}.step{width:30px;height:30px;font-size:14px}.step-connector{min-width:20px}.progress-container{margin-top:20px;padding-top:15px}}@media(max-width:480px){.form-container{width:100%;padding:10px;margin:0;border-radius:0}.block-title span{font-size:14px;padding:6px 12px}.navigation-buttons{flex-direction:column;gap:10px}.navigation-buttons button{width:100%;justify-content:center}}.file-uploaded{display:flex;align-items:center;justify-content:space-between;padding:10px 15px;background-color:#e6fffa;border:1px solid #38b2ac;border-radius:5px;margin-bottom:5px}.file-name{color:#234e52;font-weight:500}.btn-remove-file{background-color:#fc8181;color:#fff;border:none;padding:5px 10px;border-radius:3px;cursor:pointer;font-size:.85rem;transition:background-color .2s}.btn-remove-file:hover{background-color:#f56565}.uploading{color:#3182ce;font-style:italic;display:block;margin-top:5px}.field-error-message{color:#e53e3e;font-size:.85rem;margin-top:5px;display:block}.monto-input-wrapper{width:100%}.monto-input-row{display:flex;align-items:stretch;gap:0}.monto-currency-select{width:auto;min-width:72px;border-radius:4px 0 0 4px!important;border-right:none!important;background-color:#e8f0fe!important;font-weight:600;color:#2b6cb0;padding:10px 8px!important;flex-shrink:0}.monto-text-field{flex:1;position:relative;display:flex;align-items:center}.monto-symbol{position:absolute;left:10px;color:#666;font-weight:500;pointer-events:none;z-index:1}.monto-input{border-radius:0 4px 4px 0!important;padding-left:32px!important;width:100%}.monto-currency-select+.monto-text-field .monto-input{border-radius:0 4px 4px 0!important}.monto-error .monto-currency-select,.monto-error .monto-input{border-color:#e74c3c!important}a,button,input,select,textarea,.card,.registro-card,.formulario-card,.sidebar-link{transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-blue-500);outline-offset:2px;border-radius:var(--radius-sm)}.app-sidebar a:focus-visible,.app-sidebar button:focus-visible{outline-color:var(--color-violet-200)}button:disabled,button[disabled]{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}a{transition:color .18s ease}.card:hover,.registro-card:hover,.formulario-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}.card:hover,.registro-card:hover,.formulario-card:hover,button:hover{transform:none}}.app-shell{display:flex;min-height:100vh;align-items:stretch}.app-sidebar{width:240px;flex-shrink:0;background:linear-gradient(180deg,var(--color-sidebar-from, #0A1535) 0%,var(--color-sidebar-to, #101C4A) 100%);color:var(--color-sidebar-text, #fff);display:flex;flex-direction:column;padding:20px 0;position:sticky;top:0;height:100vh;overflow-y:auto}.app-content{flex:1;min-width:0;padding:20px}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:0 20px 16px}.sidebar-brand-mark{width:34px;height:34px;border-radius:8px;background:linear-gradient(135deg,var(--color-sidebar-accent),var(--color-violet-700));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}.sidebar-brand-text{display:flex;flex-direction:column;line-height:1.2}.sidebar-brand-name{font-weight:700;font-size:.95rem}.sidebar-brand-sub{font-size:.68rem;letter-spacing:.04em;color:var(--color-sidebar-text-muted)}.sidebar-profile{display:flex;align-items:center;gap:12px;padding:0 20px 20px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:16px}.sidebar-avatar{width:36px;height:36px;border-radius:50%;background:var(--color-sidebar-accent, #5A32C7);display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.sidebar-profile-text{min-width:0;overflow:hidden}.sidebar-profile-name{font-size:.85rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-profile-role{font-size:.75rem;color:var(--color-sidebar-text-muted, rgba(255, 255, 255, .65))}.sidebar-nav{flex:1;padding:0 12px;display:flex;flex-direction:column;gap:4px}.sidebar-link,.sidebar-section-toggle,.sidebar-logout{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;color:var(--color-sidebar-text-muted, rgba(255, 255, 255, .75));text-decoration:none;background:none;border:none;width:100%;text-align:left;font-size:.9rem;cursor:pointer}.sidebar-link:hover,.sidebar-section-toggle:hover,.sidebar-logout:hover{background:#ffffff14;color:#fff}.app-sidebar.role-user{--color-sidebar-accent: var(--btn-primary, #3662FF)}.app-sidebar.role-admin,.app-sidebar.role-student{--color-sidebar-accent: #5A32C7}.sidebar-link.active{background:var(--color-sidebar-accent, #5A32C7);color:#fff}.sidebar-icon{width:20px;text-align:center;flex-shrink:0}.sidebar-chevron{margin-left:auto;transition:transform .15s ease}.sidebar-chevron.expanded{transform:rotate(180deg)}.sidebar-subitems{display:flex;flex-direction:column;padding-left:30px;gap:2px}.sidebar-sublink{padding:8px 12px;border-radius:6px;font-size:.85rem;color:var(--color-sidebar-text-muted, rgba(255, 255, 255, .65));text-decoration:none}.sidebar-sublink:hover{background:#ffffff14;color:#fff}.sidebar-sublink.active{color:#fff;font-weight:600}.sidebar-footer{padding:12px;border-top:1px solid rgba(255,255,255,.12);margin-top:12px;display:flex;flex-direction:column;gap:4px}@media(max-width:768px){.app-shell{flex-direction:column}.app-sidebar{width:100%;height:auto;position:static}}.sidebar-dev-link{position:relative;opacity:.7}.sidebar-dev-link:hover{opacity:1}.sidebar-dev-tag{margin-left:auto;font-size:9px;font-weight:700;letter-spacing:.06em;padding:2px 6px;border-radius:4px;background:#d8a44433;color:var(--color-warning, #D8A444)}.app-main{flex:1;min-width:0;display:flex;flex-direction:column}.app-topbar{display:flex;align-items:center;gap:20px;height:64px;padding:0 24px;background:var(--color-neutral-50);border-bottom:1px solid var(--color-neutral-300);position:sticky;top:0;z-index:20}.topbar-breadcrumb{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--color-neutral-600);white-space:nowrap}.topbar-breadcrumb .crumb-sep{transform:rotate(-90deg);opacity:.5}.topbar-crumb-current{color:var(--color-neutral-900);font-weight:var(--fw-semibold)}.topbar-actions{display:flex;align-items:center;gap:14px;margin-left:auto}.topbar-user{display:flex;align-items:center;gap:10px;padding:4px 8px 4px 4px;background:none;border:none;border-radius:var(--radius-pill);color:var(--color-neutral-700);cursor:pointer;box-shadow:none}.topbar-user:hover{background:var(--color-neutral-200);transform:none}.topbar-user-avatar{width:34px;height:34px;flex-shrink:0;border-radius:50%;background:var(--color-violet-500);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:var(--fw-semibold);font-size:14px}.topbar-user-text{display:flex;flex-direction:column;line-height:1.2;text-align:left}.topbar-user-name{font-size:14px;font-weight:var(--fw-semibold);color:var(--color-neutral-900);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-user-role{font-size:12px;color:var(--color-neutral-600)}.sidebar-icon{display:inline-flex;align-items:center;justify-content:center}.sidebar-chevron{display:inline-flex;align-items:center}@media(max-width:768px){.topbar-breadcrumb span:first-child,.topbar-user-text{display:none}.app-topbar{gap:12px;padding:0 14px}}.topbar-user-wrap{position:relative}.topbar-user{cursor:pointer}.topbar-user.open{background:var(--color-neutral-200, #f5f5f5)}.topbar-user-chev{transition:transform .18s ease}.topbar-user-chev.open{transform:rotate(180deg)}.topbar-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:60;min-width:220px;background:#fff;border:1px solid var(--color-neutral-300, #f0f0f0);border-radius:var(--radius-md, 14px);box-shadow:0 12px 32px #101c4a24;padding:6px;animation:topbar-menu-in .14s ease}@keyframes topbar-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.topbar-menu-head{padding:8px 12px 10px;border-bottom:1px solid var(--color-neutral-200, #f5f5f5);margin-bottom:4px;display:flex;flex-direction:column}.topbar-menu-name{font-weight:600;color:var(--color-ink, #101C4A);font-size:.9rem;overflow:hidden;text-overflow:ellipsis}.topbar-menu-role{font-size:.75rem;color:var(--color-neutral-600, #8c8c8c)}.topbar-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;background:none;cursor:pointer;font-family:var(--font-family-base);font-size:.9rem;color:var(--color-ink, #101C4A);border-radius:8px;text-align:left;transition:background .14s ease}.topbar-menu-item:hover{background:var(--color-neutral-200, #f5f5f5)}.topbar-menu-item.danger{color:var(--color-error, #cd422f)}.topbar-menu-item.danger:hover{background:var(--color-error-bg, #faecea)}.invalid-field{border:2px solid #e74c3c!important;background-color:#fff0f0!important;box-shadow:0 0 5px #e74c3c4d!important}.invalid-section{border:2px solid #e74c3c!important;background-color:#fff0f0!important;padding:10px!important;border-radius:5px!important}.error-message{color:#e74c3c;font-size:14px;margin-top:5px;margin-bottom:10px;font-weight:500}.validation-errors{background-color:#fff0f0;border-left:4px solid #e74c3c;padding:10px 15px;margin-bottom:20px;border-radius:4px;animation:fadeIn .3s ease-in-out}.validation-errors ul{margin:0;padding-left:20px}.validation-errors li{margin-bottom:5px}.required-field:after{content:"*";color:#e74c3c;margin-left:4px}.field-container{position:relative}.error-tooltip{position:absolute;bottom:100%;left:0;background-color:#e74c3c;color:#fff;padding:5px 10px;border-radius:4px;font-size:12px;z-index:10;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}.invalid-field:hover+.error-tooltip{opacity:1;visibility:visible}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.invalid-field:focus{animation:shake .5s ease-in-out}.valid-field{border:2px solid #2ecc71!important;background-color:#f0fff0!important}.field-completed:after{content:"✓";color:#2ecc71;margin-left:5px;font-weight:700}label.required:after{content:" *";color:#e74c3c}.field-required-message{display:none;color:#e74c3c;font-size:12px;margin-top:5px}.invalid-field~.field-required-message{display:block}.progress-container{margin:20px 0;padding:15px 0}.progress-indicator{display:flex;justify-content:center;align-items:center;margin-bottom:15px;flex-wrap:wrap}.step-container{display:flex;align-items:center;margin:0 2px}.step{width:30px;height:30px;border-radius:50%;background-color:#ddd;color:#666;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;position:relative;z-index:2;transition:all .3s ease}.step.active{background-color:#3498db;color:#fff;box-shadow:0 0 0 3px #3498db4d;transform:scale(1.2)}.step.completed{background-color:#2ecc71;color:#fff}.step-connector{height:2px;width:20px;background-color:#ddd}.step-title{text-align:center;font-weight:500;color:#3498db;font-size:16px;margin-top:10px;padding:5px 10px;background-color:#f0f7fc;border-radius:4px;display:inline-block;margin-left:auto;margin-right:auto;width:auto;position:relative;left:50%;transform:translate(-50%)}@media(max-width:768px){.progress-indicator{overflow-x:auto;justify-content:flex-start;padding-bottom:10px}.step{width:25px;height:25px;font-size:12px}.step-connector{width:15px}}@media(max-width:480px){.progress-container{margin:10px 0;padding:10px 0}.step{width:22px;height:22px;font-size:11px}.step-connector{width:10px}.step-title{font-size:14px}}.date-field-container{display:flex;align-items:center;position:relative;width:100%;gap:10px;margin-top:5px}.date-field-container .text-field{flex:1;margin-bottom:0}.date-input-field{margin-bottom:0;padding-bottom:0}.date-input{margin-top:0!important;height:40px;padding:10px;box-sizing:border-box}.date-label{font-weight:500;margin-bottom:5px;display:block;color:#333}.calendar-button{background-color:#3498db;color:#fff;border:none;border-radius:4px;padding:8px 12px;cursor:pointer;height:40px;min-width:40px;display:flex;align-items:center;justify-content:center;transition:background-color .3s;align-self:flex-start}.calendar-button:hover{background-color:#2980b9}.calendar-button span{font-size:18px}@media(max-width:768px){.calendar-button{padding:6px 8px;margin-left:5px}.calendar-button span{font-size:16px}}.autocomplete-container{position:relative;width:100%;margin-bottom:20px}.autocomplete-input{width:100%;padding:10px;border:1px solid #ccc;border-radius:4px;font-size:16px;box-sizing:border-box;height:40px;transition:border-color .3s,box-shadow .3s}.autocomplete-container label{position:absolute;top:-20px;left:0;font-size:14px;color:#333;transition:all .3s ease}.autocomplete-input:focus{border-color:#3498db;outline:none;box-shadow:0 0 5px #3498db80}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;max-height:200px;overflow-y:auto;background-color:#fff;border:1px solid #ccc;border-top:none;border-radius:0 0 4px 4px;z-index:10;box-shadow:0 4px 8px #0000001a}.autocomplete-item{padding:10px;cursor:pointer}.autocomplete-item:hover,.autocomplete-item.highlighted{background-color:#f0f7fc}.autocomplete-item.selected{background-color:#e1f0fa;font-weight:500}.autocomplete-no-results{padding:10px;color:#999;font-style:italic}.highlight{font-weight:700;color:#3498db;background-color:#3498db1a;border-radius:2px}@media(max-width:768px){.autocomplete-dropdown{max-height:150px}.autocomplete-item{padding:8px}}.registros-grid{display:flex;flex-direction:column;gap:15px}.registro-card{display:flex;align-items:center;gap:15px;padding:15px;background:#f8f9fa;border-radius:8px;border-left:4px solid #3498db}.registro-card.completado{border-left-color:#27ae60;background:#f0fff4}.registro-card.borrador{border-left-color:#f39c12;background:#fffbf0}.registro-icono{font-size:2rem}.registro-info{flex:1;display:flex;flex-direction:column;gap:4px}.registro-info strong{color:#2c3e50;font-size:1rem}.registro-info span{color:#666;font-size:.9rem}.registro-estado{color:#27ae60!important;font-weight:500}.registro-estado.estado-borrador{color:#f39c12!important}.registro-estado.estado-vencido{color:#e53e3e!important;font-weight:600}.registro-card.vencido{border-left-color:#e53e3e;background:#fff5f5}.registro-acciones{display:flex;gap:10px;flex-wrap:wrap}.btn-editar{padding:8px 16px;background:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem}.btn-editar:hover{background:#2980b9}.badge-borrador{display:inline-block;padding:2px 8px;background:#f39c12;color:#fff;border-radius:12px;font-size:.75rem;font-weight:500;margin-top:4px}.formulario-card.borrador{background:#fffbf0;border-left-color:#f39c12}.registro-codigo{display:block;font-size:.85rem;color:#2c5282;font-family:monospace;margin-top:2px}.registro-fecha{font-size:.75rem;color:#718096;font-style:italic}.btn-ver{padding:8px 16px!important;font-size:.85rem!important;background:#3498db!important}.btn-ver:hover{background:#2980b9!important}.docs-dropdown-container{position:relative;display:inline-block}.btn-docs{padding:8px 14px;background:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;transition:background .2s;display:flex;align-items:center;gap:4px}.btn-docs:hover{background:#2980b9}.docs-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;min-width:180px;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;border:1px solid #e2e8f0;margin-top:4px;overflow:hidden}.docs-dropdown-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:12px 16px;background:#fff;border:none;cursor:pointer;font-size:.9rem;color:#2c3e50;text-align:left;transition:background .2s}.docs-dropdown-menu button:hover{background:#f0f9ff;color:#2563eb}.docs-dropdown-menu button:not(:last-child){border-bottom:1px solid #f1f5f9}.btn-dni{padding:8px 12px;background:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;transition:background .2s}.btn-dni:hover{background:#2980b9}.btn-doc{padding:8px 12px;background:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;transition:background .2s;margin-right:5px}.btn-doc:hover{background:#2980b9}.formularios-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.formulario-card{display:flex;align-items:flex-start;gap:15px;padding:20px;background:#fff;border-radius:8px;border-left:4px solid #3498db;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000000d}.formulario-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.formulario-card.registrado{opacity:.7}.formulario-icono{font-size:2.5rem}.formulario-contenido{flex:1}.formulario-contenido h4{margin:0 0 5px;color:#2c3e50;font-size:1.1rem}.formulario-contenido p{margin:0;color:#666;font-size:.85rem;line-height:1.4}.badge-registrado{display:inline-block;margin-top:8px;padding:2px 8px;background:#27ae60;color:#fff;border-radius:4px;font-size:.75rem;font-weight:500}.estudiante-hero{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,var(--color-violet-500, #5a32c7) 0%,var(--color-violet-700, #3b2480) 100%);color:#fff;border-radius:14px;padding:25px 28px;margin-bottom:20px}.estudiante-hero-icono{font-size:2.5rem;background:#ffffff26;border-radius:50%;width:64px;height:64px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.estudiante-hero-texto{flex:1;min-width:0}.estudiante-hero-texto h1{color:#fff;margin:0 0 4px;font-size:1.4rem}.estudiante-hero-texto p{margin:0;color:#fffc;font-size:.9rem}.estudiante-pill{padding:6px 14px;border-radius:20px;font-size:.8rem;font-weight:600;white-space:nowrap;background:#ffffff26;color:#fff}.estudiante-pill-vigente{background:var(--color-success-bg, #f1f9f5);color:var(--color-success, #35a878)}.estudiante-pill-vencido{background:var(--color-error-bg, #faecea);color:var(--color-error, #cd422f)}.estudiante-pill-borrador{background:var(--color-warning-bg, #fcf6ed);color:var(--color-warning, #d8a444)}.estudiante-codigo-banner{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px dashed var(--color-violet-300, #8c76cd);border-radius:10px;padding:14px 20px;margin-bottom:20px}.estudiante-codigo-banner span{color:#666;font-size:.85rem}.estudiante-codigo-banner strong{font-family:monospace;font-size:1.1rem;color:var(--color-violet-600, #4c2ea4);letter-spacing:.5px}@media(max-width:480px){.estudiante-hero{flex-wrap:wrap;text-align:center;justify-content:center}}.kpi-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:25px}.kpi-card{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000000f;padding:20px;display:flex;flex-direction:column;gap:4px;border-left:4px solid var(--color-violet-500, #5a32c7)}.kpi-card.kpi-warning{border-left-color:var(--color-warning, #d8a444)}.kpi-card.kpi-info{border-left-color:var(--color-blue-500, #3662ff)}.kpi-valor{font-size:2rem;font-weight:700;color:var(--color-neutral-900, #1f1f1f)}.kpi-label{font-size:.85rem;color:#666}.admin-dashboard-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;align-items:start}.admin-dashboard-grid .bloque{margin-bottom:0}.activity-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.activity-item{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding-bottom:10px;border-bottom:1px solid #f0f0f0}.activity-item:last-child{border-bottom:none;padding-bottom:0}.activity-desc{font-size:.9rem;color:#333}.activity-time{font-size:.8rem;color:#999;white-space:nowrap}.btn-link{background:none;border:none;color:var(--color-violet-500, #5a32c7);cursor:pointer;font-size:.85rem;padding:10px 0 0;text-decoration:underline}@media(max-width:768px){.kpi-strip,.admin-dashboard-grid{grid-template-columns:1fr}}.admin-panel{background:linear-gradient(135deg,#f8f4ff,#f0e6ff)!important;border:1px solid #d4c4e8}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.admin-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 15px;background:#fff;border-radius:8px;cursor:pointer;transition:all .2s ease;border:1px solid #e0d4f0}.admin-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #805ad526;border-color:#9f7aea}.admin-icono{font-size:1.8rem}.admin-card span:last-child{font-size:.9rem;color:#553c9a;font-weight:500}@media(max-width:768px){.formularios-grid{grid-template-columns:1fr}.admin-grid{grid-template-columns:repeat(2,1fr)}.registro-card{flex-direction:column;text-align:center}.registro-info{align-items:center}}@media(max-width:480px){.admin-grid{grid-template-columns:1fr}}.registro-header{display:flex;align-items:center;gap:15px;padding:20px;background:linear-gradient(135deg,#2b6cb0,#1a365d);border-radius:10px;margin-bottom:20px;color:#fff}.registro-header-icono{font-size:2.5rem}.registro-contenido{padding:25px}.seccion-registro{margin-bottom:25px;padding-bottom:20px;border-bottom:1px solid #e2e8f0}.seccion-registro:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.seccion-registro h4{color:#3498db;font-size:1.1rem;margin:0 0 15px;padding-bottom:8px;border-bottom:2px solid #3498db;display:inline-block}.campos-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.campo-registro{display:flex;flex-direction:column;gap:4px;padding:10px;background:#f8f9fa;border-radius:6px;border-left:3px solid #e2e8f0}.campo-label{font-size:.8rem;color:#666;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.campo-valor{font-size:.95rem;color:#2c3e50;font-weight:500}@media(max-width:768px){.campos-grid{grid-template-columns:1fr}.registro-header{flex-direction:column;text-align:center}}.badge-en-desarrollo{display:inline-block;margin-top:8px;padding:3px 10px;background:linear-gradient(135deg,#95a5a6,#7f8c8d);color:#fff;border-radius:4px;font-size:.75rem;font-weight:500}.formulario-card.en-desarrollo{background:linear-gradient(135deg,#f8f9fa,#ecf0f1);opacity:.85;position:relative;overflow:hidden}.formulario-card.en-desarrollo:before{content:"";position:absolute;top:0;right:0;width:0;height:0;border-style:solid;border-width:0 40px 40px 0;border-color:transparent #f39c12 transparent transparent}.formulario-card.en-desarrollo:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014;opacity:.95}.formulario-card.en-desarrollo .formulario-contenido h4{color:#5a6268}.formulario-card.en-desarrollo .formulario-contenido p{color:#7f8c8d}.block-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:15px}.block-header h3{margin:0}.chooser-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:10px}.chooser-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:30px 20px;background:#fff;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .2s ease}.chooser-card:hover:not(:disabled){border-color:var(--color-violet-500, #5A32C7);box-shadow:0 6px 16px #0000001a;transform:translateY(-2px)}.chooser-card:disabled{opacity:.6;cursor:not-allowed}.chooser-icono{font-size:2.5rem}.chooser-card h3{margin:0;color:#2c3e50}.chooser-card p{margin:0;color:#666;font-size:.9rem}@media(max-width:600px){.chooser-grid{grid-template-columns:1fr}}.dash{max-width:1120px;margin:0 auto;padding:8px 4px 40px}.dash-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:32px 34px;border-radius:var(--radius-lg, 20px);color:#fff;margin-bottom:24px}.dash-hero-admin{background:linear-gradient(120deg,#101c4a,#1b1150 55%,#3a1d7a)}.dash-hero-body{position:relative;z-index:1}.dash-hero-badge{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#ffffffd9;background:#ffffff14;border:1px solid rgba(255,255,255,.14);padding:5px 12px;border-radius:var(--radius-pill, 999px);margin-bottom:14px}.dash-hero-badge .dot{width:7px;height:7px;border-radius:50%;background:var(--color-success, #35A878);box-shadow:0 0 0 3px #35a87840}.dash-hero h1{color:#fff;font-size:1.7rem;font-weight:700;margin:0 0 8px;border:none;text-align:left}.dash-hero h1:before{content:none}.dash-hero p{color:#ffffffb8;margin:0;font-size:.95rem}.dash-hero-actions{position:relative;z-index:1;display:flex;gap:12px;flex-shrink:0}.btn-hero-primary,.btn-hero-ghost{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:var(--radius-sm, 10px);font-size:var(--fs-button, 14px);font-weight:600;cursor:pointer;font-family:var(--font-family-base);border:1px solid transparent;transition:all .18s ease}.btn-hero-primary{background:#fff;color:var(--color-ink, #101C4A)}.btn-hero-primary:hover{transform:translateY(-1px);box-shadow:0 8px 22px #00000040}.btn-hero-ghost{background:#ffffff1a;color:#fff;border-color:#ffffff38}.btn-hero-ghost:hover{background:#ffffff2e}.dash-error{border-left:4px solid var(--color-error, #cd422f);background:var(--color-error-bg, #faecea);padding:12px 18px;border-radius:8px;margin-bottom:20px}.dash-error p{margin:0;color:var(--color-error, #cd422f)}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.kpi-tile{display:block;width:100%;text-align:left;font-family:var(--font-family-base);background:#fff;color:inherit;border:1px solid var(--color-neutral-300, #f0f0f0);border-radius:var(--radius-md, 14px);padding:18px 20px;cursor:pointer;transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease}.kpi-tile:hover,.kpi-tile:focus,.kpi-tile:active{background:#fff;color:inherit}.kpi-tile:hover:not(:disabled){box-shadow:var(--shadow-md, 0 6px 20px rgba(16,28,74,.08));transform:translateY(-2px);border-color:var(--color-neutral-400, #d9d9d9)}.kpi-tile:disabled{cursor:default}.kpi-tile-top{display:flex;align-items:center;justify-content:space-between}.kpi-tile-ic{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center}.kpi-tile-trend{color:var(--color-success, #35A878)}.kpi-tile-valor{display:block;font-size:1.9rem;font-weight:700;color:var(--color-ink, #101C4A);margin:12px 0 2px}.kpi-tile-label{display:block;font-size:.85rem;color:var(--color-neutral-600, #8c8c8c)}.kpi-tile-bar{display:block;height:4px;border-radius:3px;margin:14px 0 8px;opacity:.85}.kpi-tile-pie{font-size:.72rem;color:var(--color-neutral-600, #8c8c8c)}.kpi-tile-ic.tint-blue,.admin-tool-ic.tint-blue{background:var(--color-blue-50, #ebeffc);color:var(--btn-primary, #3662FF)}.kpi-tile-ic.tint-violet,.admin-tool-ic.tint-violet{background:#f0ecfb;color:var(--color-violet-500, #5333b4)}.kpi-tile-ic.tint-amber,.admin-tool-ic.tint-amber{background:var(--color-warning-bg, #fcf6ed);color:var(--color-warning, #D8A444)}.kpi-tile-ic.tint-green,.admin-tool-ic.tint-green{background:#eafaf3;color:var(--color-success, #35A878)}.kpi-tile-bar.tint-blue{background:var(--btn-primary, #3662FF)}.kpi-tile-bar.tint-violet{background:var(--color-violet-500, #5333b4)}.kpi-tile-bar.tint-amber{background:var(--color-warning, #D8A444)}.kpi-tile-bar.tint-green{background:var(--color-success, #35A878)}.dash-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px}.dash-card{background:#fff;border:1px solid var(--color-neutral-300, #f0f0f0);border-radius:var(--radius-md, 14px);padding:22px 24px}.dash-card-head{margin-bottom:16px}.dash-eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-neutral-600, #8c8c8c);margin-bottom:4px}.dash-card h3{margin:0;font-size:1.1rem;color:var(--color-ink, #101C4A)}.dash-card h3:before{content:none}.dash-muted{color:var(--color-neutral-600, #8c8c8c)}.dash-card-link{display:inline-flex;align-items:center;gap:6px;margin-top:12px;background:none;border:none;padding:0;cursor:pointer;color:var(--btn-primary, #3662FF);font-weight:600;font-size:.9rem;font-family:var(--font-family-base)}.dash-card-link:hover{text-decoration:underline}.admin-tools{display:flex;flex-direction:column;gap:8px}.admin-tool{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:var(--radius-sm, 10px);background:var(--color-neutral-100, #fcfcfc);border:1px solid var(--color-neutral-300, #f0f0f0);cursor:pointer;text-align:left;font-family:var(--font-family-base);transition:all .16s ease}.admin-tool:hover{background:#fff;border-color:var(--color-neutral-400, #d9d9d9);transform:translate(2px);box-shadow:var(--shadow-sm, 0 2px 8px rgba(16,28,74,.06))}.admin-tool-ic{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .16s ease}.admin-tool:hover .admin-tool-ic{transform:scale(1.06)}.admin-tool-name{flex:1;font-weight:600;color:var(--color-ink, #101C4A);font-size:.95rem}.admin-tool-arrow{color:var(--color-neutral-500, #bfbfbf)}.feed{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.feed-item{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--color-neutral-200, #f5f5f5)}.feed-item:last-child{border-bottom:none}.feed-dot{width:8px;height:8px;border-radius:50%;margin-top:6px;flex-shrink:0;background:var(--btn-primary, #3662FF)}.feed-body{display:flex;flex-direction:column}.feed-desc{color:var(--color-ink, #101C4A);font-size:.92rem}.feed-time{color:var(--color-neutral-600, #8c8c8c);font-size:.78rem}@media(max-width:860px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.dash-cols{grid-template-columns:1fr}.dash-hero{flex-direction:column;align-items:flex-start}}.dash-hero-user{background:linear-gradient(120deg,#101c4a,#2a1c6e 55%,#5a32c7 120%)}.dash-hero-user .dash-hero-badge .dot{background:var(--color-success, #35A878)}.dash-section{margin-top:28px}.dash-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}.dash-section-head h2{margin:0;font-size:1.25rem;color:var(--color-ink, #101C4A);border:none}.dash-section-head h2:before{content:none}.quick-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.quick-action{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:22px 24px;text-align:left;cursor:pointer;background:#fff;border:1px solid var(--color-neutral-300, #f0f0f0);border-radius:var(--radius-md, 14px);font-family:var(--font-family-base);transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease}.quick-action:hover{background:#fff;box-shadow:var(--shadow-md, 0 6px 20px rgba(16,28,74,.08));transform:translateY(-2px);border-color:var(--color-neutral-400, #d9d9d9)}.quick-action-ic{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;transition:transform .16s ease}.quick-action:hover .quick-action-ic{transform:scale(1.06)}.quick-action-title{font-weight:600;color:var(--color-ink, #101C4A);font-size:1rem}.quick-action-desc{color:var(--color-neutral-600, #8c8c8c);font-size:.88rem}.quick-action-ic.tint-blue{background:var(--color-blue-50, #ebeffc);color:var(--btn-primary, #3662FF)}.quick-action-ic.tint-violet{background:#f0ecfb;color:var(--color-violet-500, #5333b4)}.quick-action-ic.tint-amber{background:var(--color-warning-bg, #fcf6ed);color:var(--color-warning, #D8A444)}.quick-action-ic.tint-green{background:#eafaf3;color:var(--color-success, #35A878)}.conv-mini-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.conv-mini{display:block;width:100%;text-align:left;cursor:pointer;font-family:var(--font-family-base);padding:20px 22px;background:#fff;border:1px solid var(--color-neutral-300, #f0f0f0);border-radius:var(--radius-md, 14px);transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease}.conv-mini:hover{background:#fff;box-shadow:var(--shadow-md, 0 6px 20px rgba(16,28,74,.08));transform:translateY(-2px);border-color:var(--color-neutral-400, #d9d9d9)}.conv-mini-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.conv-mini-title{font-weight:600;color:var(--color-ink, #101C4A);font-size:.98rem}.conv-mini-bar{display:block;height:6px;border-radius:4px;background:var(--color-neutral-300, #f0f0f0);overflow:hidden}.conv-mini-fill{display:block;height:100%;border-radius:4px}.conv-mini-fill.tint-blue{background:var(--btn-primary, #3662FF)}.conv-mini-fill.tint-green{background:var(--color-success, #35A878)}.conv-mini-foot{display:flex;align-items:center;justify-content:space-between;margin-top:12px;font-size:.82rem;color:var(--color-neutral-600, #8c8c8c)}.conv-mini-foot span{display:inline-flex;align-items:center;gap:5px}.conv-mini-cta{color:var(--btn-primary, #3662FF);font-weight:600}.dash .badge-estado{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--radius-pill, 999px);font-size:11px;font-weight:600;background:var(--color-neutral-200, #f5f5f5);color:var(--color-neutral-600, #8c8c8c);flex-shrink:0}.dash .badge-estado:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.dash .badge-estado.activa{background:var(--color-success-bg, #eafaf3);color:var(--color-success, #35A878)}.admin-tools-grid{display:grid;grid-template-columns:repeat(2,1fr)}@media(max-width:860px){.quick-actions,.conv-mini-grid,.admin-tools-grid{grid-template-columns:1fr}.dash-section-head{flex-direction:column;align-items:flex-start}}.dash .bloque{background:transparent;border:none;box-shadow:none;padding:0;margin:0}.dash .bloque>.block-header{display:none}.dash .registros-grid{gap:14px}.dash .registro-card{background:#fff;border:1px solid var(--color-neutral-300, #f0f0f0);border-left:4px solid var(--color-neutral-400, #d9d9d9);border-radius:var(--radius-md, 14px);padding:18px 20px;box-shadow:none;transition:box-shadow .18s ease,transform .18s ease}.dash .registro-card:hover{box-shadow:var(--shadow-md, 0 6px 20px rgba(16,28,74,.08));transform:translateY(-2px)}.dash .registro-card.completado{background:#fff;border-left-color:var(--color-success, #35A878)}.dash .registro-card.borrador{background:#fff;border-left-color:var(--color-warning, #D8A444)}.dash .registro-card.vencido{background:#fff;border-left-color:var(--color-error, #cd422f)}.dash .registro-info strong{color:var(--color-ink, #101C4A);font-size:1rem}.dash .registro-estado{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:3px 10px;border-radius:var(--radius-pill, 999px);font-size:12px;font-weight:600;background:var(--color-success-bg, #eafaf3);color:var(--color-success, #35A878)!important}.dash .registro-estado.estado-borrador{background:var(--color-warning-bg, #fcf6ed);color:var(--color-warning, #D8A444)!important}.dash .registro-estado.estado-vencido{background:var(--color-error-bg, #faecea);color:var(--color-error, #cd422f)!important}.dash .registro-codigo{color:var(--color-neutral-600, #8c8c8c)}.dash .registro-fecha{color:var(--color-neutral-500, #bfbfbf)}.dash .registro-icono{font-size:1.9rem}.dash .btn-editar{background:var(--color-ink, #101C4A);border-color:var(--color-ink, #101C4A)}.dash .btn-editar:hover{background:var(--color-ink-hover, #1b2a63)}.dash .btn-ver{background:var(--btn-primary, #3662FF)!important}.dash .btn-ver:hover{filter:brightness(.95)}.dash .btn-docs{background:var(--color-neutral-200, #f5f5f5);color:var(--color-ink, #101C4A)}.dash .btn-docs:hover{background:var(--color-neutral-300, #f0f0f0)}.fomento-seccion{margin-top:22px}.fomento-seccion-head h3{margin:0;font-size:1.02rem;color:var(--color-ink, #101C4A)}.fomento-seccion-head p{margin:2px 0 0;font-size:.86rem}.fomento-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(288px,336px));gap:16px;margin-top:10px}.fomento-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:20px;cursor:pointer;font-family:var(--font-family-base);background:#fff;border:1px solid var(--color-neutral-300, #f0f0f0);border-radius:var(--radius-md, 14px);transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease}.fomento-card:hover{background:#fff;box-shadow:var(--shadow-md, 0 6px 20px rgba(16,28,74,.08));transform:translateY(-3px);border-color:var(--color-neutral-400, #d9d9d9)}.fomento-card-top{display:flex;align-items:flex-start;justify-content:space-between;width:100%;margin-bottom:16px}.fomento-card-ic{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;transition:transform .16s ease}.fomento-card:hover .fomento-card-ic{transform:scale(1.06)}.fomento-card-ic.tint-blue{background:var(--color-blue-50, #ebeffc);color:var(--btn-primary, #3662FF)}.fomento-card-ic.tint-violet{background:#f0ecfb;color:var(--color-violet-500, #5333b4)}.fomento-card-ic.tint-amber{background:var(--color-warning-bg, #fcf6ed);color:var(--color-warning, #D8A444)}.fomento-card-ic.tint-green{background:#eafaf3;color:var(--color-success, #35A878)}.fomento-card-badge{min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--color-warning, #D8A444);color:#3a2a06;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}.fomento-card-title{margin:0 0 6px;font-size:1.02rem;color:var(--color-ink, #101C4A);border:none}.fomento-card-title:before{content:none}.fomento-card-desc{margin:0 0 16px;font-size:.85rem;color:var(--color-neutral-600, #8c8c8c);line-height:1.45;flex:1}.fomento-card-cta{display:inline-flex;align-items:center;gap:4px;font-weight:600;font-size:.88rem;color:var(--btn-primary, #3662FF)}.fomento-card:hover .fomento-card-cta{gap:8px}@media(max-width:1100px){.fomento-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.fomento-grid{grid-template-columns:1fr}}
