/* Borja Amores / LAB — presentation only; authentication remains in Authelia. */
:root{--primary:#a7f3ce!important;--primary-foreground:#081711!important;--ring:#a7f3ce!important;--custom-icon:#a7f3ce!important;--custom-loading-bar:#a7f3ce!important}
html{min-height:100%;background:#080c10!important}body{margin:0;background:radial-gradient(ellipse at 19% 48%,#11332966,transparent 42%),radial-gradient(ellipse at 90% 15%,#142b4660,transparent 40%),#080c10!important;color:#eef5f2!important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;min-height:100vh}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(#a7f3ce05 1px,transparent 1px),linear-gradient(90deg,#a7f3ce05 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(transparent,#000,transparent)}
.lab-brand{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;max-width:1240px;margin:auto;padding:32px 48px;color:#b5c6c0;font-size:12px;letter-spacing:.08em}.lab-brand a{color:#f3f8f6;text-decoration:none;font-weight:650;letter-spacing:-.035em;font-size:21px}.lab-brand a span{font-weight:400;color:#8aa299;font-size:12px;letter-spacing:.12em;margin-left:12px}.lab-access{display:flex;align-items:center;gap:9px;margin-right:42px}.lab-access:before{content:"";width:6px;height:6px;background:#a7f3ce;border-radius:50%;box-shadow:0 0 14px #a7f3ce80}
.lab-intro{position:absolute;top:50%;left:max(48px,calc((100vw - 1144px)/2));width:min(44vw,550px);transform:translateY(-43%);z-index:1}.lab-eyebrow{font:11px ui-monospace,SFMono-Regular,monospace;letter-spacing:.19em;color:#a7f3ce;margin:0 0 22px}.lab-intro h1{font-size:clamp(42px,4.5vw,68px);font-weight:600;letter-spacing:-.065em;line-height:1.04;margin:0;max-width:540px}.lab-intro h1 span{display:block;background:linear-gradient(110deg,#a7f3ce,#8ebfff);background-clip:text;-webkit-text-fill-color:transparent}.lab-description{font-size:16px;line-height:1.7;color:#9cafa8;max-width:360px;margin:22px 0}.lab-orbit{height:200px;width:290px;position:relative;perspective:700px;margin:28px 0 22px 26px;pointer-events:none}.lab-orbit:before{content:"";position:absolute;width:150px;height:150px;left:70px;top:25px;border-radius:50%;background:radial-gradient(circle at 32% 27%,#a7f3ce55,#20493e66 38%,#080f1880 70%);border:1px solid #a7f3ce33;box-shadow:inset -20px -20px 50px #050a10,0 0 70px #70e6ba10}.lab-orbit i{position:absolute;inset:35px 0;border:1px solid #a7f3ce38;border-radius:50%;transform:rotate(-25deg);animation:lab-orbit 22s ease-in-out infinite alternate}.lab-orbit i:nth-child(2){transform:rotate(55deg);border-color:#80b8f033;animation-delay:-9s}.lab-orbit i:nth-child(3){transform:rotate(110deg);animation-delay:-15s}.lab-orbit i:before{content:"";position:absolute;left:40px;top:10px;width:5px;height:5px;border-radius:50%;background:#b3f6d9;box-shadow:0 0 14px #a7f3ce}.lab-orbit b{position:absolute;inset:0;display:grid;place-items:center;font:32px ui-monospace,monospace;color:#c6f8e1;text-shadow:0 0 30px #a7f3ce66;font-weight:400}.lab-caption{display:flex;gap:20px;color:#718b80;font:10px ui-monospace,monospace;letter-spacing:.1em}.lab-caption span:first-child{color:#a7f3ce}
#root{position:relative;margin-left:50%;width:50%;min-height:calc(100vh - 110px);display:flex;align-items:center;justify-content:center;padding:30px 48px 100px 28px;box-sizing:border-box}#root>div:not(.hidden){width:100%;max-width:440px}#root header{position:fixed;right:max(32px,calc((100vw - 1190px)/2));top:25px;z-index:5}#root #first-factor-stage{min-height:0!important;text-align:left}#first-factor-stage>div{max-width:none!important;padding:36px!important;background:linear-gradient(145deg,#16221fe8,#10171de8);border:1px solid #b9efcf22;border-radius:24px;box-shadow:0 30px 90px #0005,inset 0 1px 0 #ffffff06;position:relative}#first-factor-stage>div:before{content:"ACCESO AL LAB";display:block;font:10px ui-monospace,monospace;letter-spacing:.17em;color:#a7f3ce;margin-bottom:24px}#UserSvg{width:38px!important;margin:0 0 14px!important;opacity:.9}#first-factor-stage .w-full.p-2{padding:0!important}#first-factor-stage h5{font-size:29px;letter-spacing:-.04em;font-weight:550;margin-bottom:10px}#form-login{margin-top:12px}#form-login input{background:#080e1280!important;border-color:#b1d3c12b;border-radius:10px;color:#eef5f2;height:60px}#form-login input:focus{border-color:#a7f3ce!important;box-shadow:0 0 0 3px #a7f3ce15!important}#form-login label{color:#9db0a7}#form-login input:focus+label{color:#a7f3ce}#form-login input[aria-invalid=true]{border-color:#ef8a8a!important}#sign-in-button{background:#a7f3ce!important;color:#0c2017!important;border-radius:10px;height:50px;text-transform:none;font-weight:650;font-size:14px;box-shadow:0 4px 24px #a7f3ce0a}#sign-in-button:hover{background:#c4f9e0!important;transform:translateY(-1px)}#sign-in-button:focus-visible{outline:2px solid #e1fff1;outline-offset:4px}#first-factor-stage a[href="https://www.authelia.com"]{color:#7e958a!important;margin-top:16px;font-size:10px}#language-button{color:#91a99d}button:focus-visible,a:focus-visible{outline:2px solid #a7f3ce;outline-offset:4px}.lab-foot{position:relative;z-index:1;margin:-56px auto 0;padding:0 48px 24px;max-width:1240px;display:flex;justify-content:space-between;color:#6e857a;font-size:11px}.lab-foot a{color:#a0b5aa;text-decoration:none}.lab-foot a:hover{color:#a7f3ce}
@keyframes lab-orbit{to{transform:rotate(175deg) rotateX(25deg)}}
@media(min-width:1700px){.lab-intro{left:calc(50% - 570px)}}
@media(max-width:900px){.lab-brand{padding:25px 24px}.lab-brand a span{display:none}.lab-access{font-size:10px;margin-right:42px}#root header{right:12px;top:18px}.lab-intro{position:relative;top:auto;left:auto;transform:none;width:auto;margin:40px 24px 25px;text-align:center}.lab-intro h1{font-size:43px;max-width:none}.lab-description{margin:16px auto;font-size:14px;max-width:340px}.lab-orbit,.lab-caption{display:none}.lab-eyebrow{margin-bottom:16px}#root{margin:0;width:100%;min-height:0;padding:0 20px 65px}#first-factor-stage>div{padding:28px!important}.lab-foot{margin:0;padding:0 24px 24px;font-size:10px}.lab-foot span{max-width:180px}body{min-height:100vh}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Keep private status and native language control in separate header slots. */
.lab-brand{box-sizing:border-box;min-height:92px;gap:20px}
.lab-access{margin-right:88px;white-space:nowrap;flex-shrink:0}
#root header{right:max(48px,calc((100vw - 1144px)/2));top:26px;width:64px}
#root header>div{padding:0!important}
#language-button{margin:0!important;min-width:44px;min-height:44px;justify-content:center}
@media(max-width:900px){.lab-brand{min-height:78px;gap:12px}.lab-access{margin-right:64px}#root header{right:24px;top:17px;width:44px}}
