/* Acceso y arranque: identidad DataMinder, sin recursos externos. */
body[data-screen=loading],body[data-screen=login]{background:#fff}
#startup-splash{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:19px;overflow:hidden;background:radial-gradient(ellipse at 52% 30%,#302c60 0%,#17172f 62%,#111326 100%);color:#f7f4ff;transition:opacity .45s ease,visibility .45s ease}
#startup-splash.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.startup-halo{position:absolute;width:min(80vw,500px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#a65a9c35, #70c5d51a 42%,transparent 70%);animation:startup-breathe 3.5s ease-in-out infinite}
.startup-logo{position:relative;width:min(72vw,300px);height:auto;object-fit:contain;filter:drop-shadow(0 18px 35px #0006);animation:startup-rise .8s ease both}
.startup-progress{position:relative;width:min(60vw,190px);height:4px;border-radius:999px;overflow:hidden;background:#ffffff26;margin-top:12px}
.startup-progress span{display:block;width:45%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#a65a9c,#70c5d5);animation:startup-slide 1.5s ease-in-out infinite}
#startup-splash p{position:relative;font-size:13px;font-weight:600;letter-spacing:.02em;margin:0;text-align:center;padding:0 20px}
#startup-splash small{position:relative;color:#bcb9d2;font-size:11px}
@keyframes startup-rise{from{opacity:0;transform:translateY(20px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes startup-breathe{50%{transform:scale(1.18);opacity:.7}}
@keyframes startup-slide{from{transform:translateX(-110%)}to{transform:translateX(330%)}}
.access-screen{min-height:100dvh;display:grid;grid-template-columns:minmax(420px,1fr) minmax(380px,.95fr)}
.access-main{display:flex;flex-direction:column;padding:clamp(30px,5vw,65px);background:#fff;min-width:0}
.access-card{width:100%;max-width:390px;margin:auto;padding:15px 0 30px}
.access-identity{display:flex;gap:14px;align-items:center;text-decoration:none;color:#263146;margin-bottom:56px;width:fit-content}
.access-is{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:#edf6f8;color:#155e75;font-weight:600;font-size:25px;letter-spacing:-2px}
.access-identity strong{font-size:17px;letter-spacing:-.5px}.access-identity small{display:block;font-size:8px;letter-spacing:2.5px;margin-top:3px}
.access-eyebrow{color:#8260a5;font-size:9px;font-weight:600;letter-spacing:1.7px;margin-bottom:13px}
.access-card h1{font-size:clamp(26px,2.7vw,34px);letter-spacing:-1.2px;line-height:1.2;color:#24283b;margin:0 0 15px}
.access-intro{font-size:12px;line-height:1.85;color:#7a7e8e;margin-bottom:29px;max-width:360px}
.access-form fieldset{display:flex;flex-direction:column;gap:9px;border:0;margin:0;padding:0;min-width:0;border-radius:0}
.access-form label{font-size:11px;font-weight:600;color:#4d5266}.access-form input{font-size:12px;padding:13px 14px;min-height:48px;border-color:#dfe1e9;border-radius:9px;background:#fff;color:#263146;margin-bottom:12px}
.access-form input:focus{outline:0;border-color:#8b70b7;box-shadow:0 0 0 3px #a18bc51a}
.password-field{position:relative}.password-field input{padding-right:79px;margin-bottom:7px}.password-field button{position:absolute;right:6px;top:6px;padding:8px 9px;font-size:10px;border:0;background:transparent;color:#77628f;font-weight:600}
.access-submit{display:flex;align-items:center;justify-content:space-between;width:100%;background:#554393;border-color:#554393;padding:13px 16px;font-size:12px;min-height:48px;margin-top:6px;box-shadow:0 6px 16px #55439318}
.access-submit span{font-size:19px;line-height:1}.access-help{font-size:10px;line-height:1.8;color:#9394a0;margin:18px 0 0}
.access-foot{display:flex;align-items:center;justify-content:center;gap:9px;color:#8a8b9a;font-size:10px;border-top:1px solid #eeeef3;margin-top:30px;padding-top:22px}
.access-copyright{font-size:9px;color:#a1a1ad;text-align:center;letter-spacing:.15px;margin:18px 0 0}
.access-error{border:1px solid #efd2d9;background:#fff5f7;border-radius:9px;padding:12px 14px;color:#973d54;font-size:11px;line-height:1.7;margin-bottom:20px}
#retry-access{font-size:11px;margin-top:15px;color:#554393}
.access-side{position:relative;isolation:isolate;overflow:hidden;padding:clamp(40px,5vw,72px);display:flex;flex-direction:column;justify-content:space-between;gap:65px;background:radial-gradient(ellipse at 20% 10%,#383068,#20203f 56%,#17172f);color:#f9f7ff}
.access-side:before{content:"";position:absolute;z-index:-1;width:480px;height:480px;border:1px solid #bba6ef12;border-radius:50%;right:-240px;bottom:8%;box-shadow:0 0 0 55px #bba6ef07,0 0 0 110px #bba6ef04}
.access-logo-card{width:172px;align-self:flex-start;background:#fff;border-radius:14px;padding:15px;box-shadow:0 8px 25px #00000012}.access-logo-card img{width:100%;height:auto;display:block;filter:drop-shadow(0 6px 15px #0002)}
.access-side-copy{margin:auto 0}.access-side-copy>span{color:#baacd9;letter-spacing:1.8px;font-size:9px;font-weight:600}
.access-side-copy h2{font-size:clamp(32px,3.6vw,49px);line-height:1.2;letter-spacing:-1.8px;color:#fff;font-weight:600;margin:20px 0 22px}
.access-side-copy p{font-size:12px;line-height:1.9;color:#b9b3ce;margin:0;max-width:350px}
.access-brand-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.access-brand-tags span{font-size:10px;color:#d6cee6;border:1px solid #b9a8dd2b;padding:6px 12px;border-radius:6px;background:#ffffff04}
.access-side-foot{font-size:10px;color:#9b91b5;letter-spacing:.4px;margin:0}
.noscript-notice{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;background:#17172f;color:#fff;padding:30px;text-align:center}
body:has(.noscript-notice) #startup-splash{display:none}
@media(max-width:900px){.access-screen{grid-template-columns:minmax(360px,1.1fr) minmax(300px,.9fr)}.access-main{padding:35px}.access-side{padding:38px}.access-side-copy h2{font-size:36px}}
@media(max-width:700px){.access-screen{display:flex;flex-direction:column;min-height:100dvh}.access-side{display:none}.access-main{flex:1;min-height:100dvh;padding:30px 25px}.access-card{max-width:390px;margin:auto;padding:10px 0 20px}.access-identity{margin-bottom:42px}.access-copyright{font-size:8px}.access-card h1{font-size:30px}}
@media(prefers-reduced-motion:reduce){.startup-logo,.startup-halo,.startup-progress span{animation:none}#startup-splash{transition:none}}
body:has(#startup-splash){overflow:hidden}
