/* Budologix Lab — tema del portal de login (Authelia). Se inyecta con lab-login-proxy.
   Authelia usa Tailwind con variables CSS: redefinirlas cambia todo el tema sin tocar su código. */
@import url(/lab-login/fonts/inter.css);

[data-theme][data-theme],:root:root{
  --background:#06070c;--foreground:#eef0fb;
  --card:rgba(18,21,36,.72);--card-foreground:#eef0fb;
  --popover:#121524;--popover-foreground:#eef0fb;
  --primary:#7c5cff;--primary-foreground:#fff;
  --secondary:#ff8a5b;--secondary-foreground:#fff;
  --muted:rgba(255,255,255,.05);--muted-foreground:#a3a8c3;
  --accent:rgba(124,92,255,.16);--accent-foreground:#fff;
  --border:rgba(255,255,255,.1);--input:rgba(255,255,255,.14);--ring:#7c5cff;
  --success:#22c55e;--destructive:#ff5d6c;--warning:#f5b83d;--info:#22d3ee;
  --radius:.85rem;--custom-icon:#fff;--custom-loading-bar:#7c5cff;--divider:rgba(255,255,255,.1);
  color-scheme:dark;
}
html,body{background:#06070c!important;color:#eef0fb;font-family:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif!important;-webkit-font-smoothing:antialiased;min-height:100vh}
body *{font-family:inherit}
::selection{background:rgba(124,92,255,.4)}

/* ---- fondo ---- */
.lab-aurora{position:fixed;inset:-20%;z-index:0;pointer-events:none;filter:blur(70px);opacity:.6}
.lab-aurora i{position:absolute;border-radius:50%;mix-blend-mode:screen;animation:lab-drift 26s ease-in-out infinite alternate}
.lab-aurora i:nth-child(1){width:52vw;height:52vw;left:-4%;top:-6%;background:radial-gradient(circle,rgba(124,92,255,.6),transparent 65%)}
.lab-aurora i:nth-child(2){width:44vw;height:44vw;right:-6%;top:20%;background:radial-gradient(circle,rgba(34,211,238,.38),transparent 65%);animation-duration:32s;animation-delay:-9s}
.lab-aurora i:nth-child(3){width:40vw;height:40vw;left:30%;bottom:-12%;background:radial-gradient(circle,rgba(111,156,200,.4),transparent 65%);animation-duration:38s;animation-delay:-15s}
@keyframes lab-drift{0%{transform:translate(0,0) scale(1)}50%{transform:translate(6vw,4vh) scale(1.12)}100%{transform:translate(-4vw,8vh) scale(.94)}}
#lab-fx{position:fixed;inset:0;z-index:0;pointer-events:none}
.lab-grid{position:fixed;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse at center,#000 10%,transparent 70%);mask-image:radial-gradient(ellipse at center,#000 10%,transparent 70%)}
#root{position:relative;z-index:1}
header,[role=banner]{background:transparent!important;box-shadow:none!important;border:0!important}

/* ---- tarjeta del formulario ---- */
[id$="-stage"]>div{position:relative;max-width:440px!important;margin:24px auto;padding:38px 34px 22px!important;border-radius:26px;
  background:linear-gradient(160deg,rgba(26,30,50,.78),rgba(12,14,26,.82));border:1px solid rgba(255,255,255,.1);
  box-shadow:0 40px 100px -30px rgba(0,0,0,.85),0 0 0 1px rgba(124,92,255,.08),inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);animation:lab-rise .9s cubic-bezier(.2,.8,.2,1) both}
[id$="-stage"]>div::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;pointer-events:none;
  background:linear-gradient(140deg,rgba(124,92,255,.7),rgba(34,211,238,.25) 35%,transparent 60%,rgba(111,156,200,.4));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
@keyframes lab-rise{from{opacity:0;transform:translateY(24px) scale(.98)}}

/* logo: se reemplaza el de Authelia por el de Budologix */
[id$="-stage"]>div>div>div:first-child{display:flex;flex-direction:column;align-items:center;gap:6px;padding:0 0 14px!important}
[id$="-stage"]>div>div>div:first-child>*{display:none!important}
[id$="-stage"]>div>div>div:first-child::before{content:"";width:84px;height:84px;border-radius:24px;
  background:url(/lab-login/logo.png) center/62% no-repeat,radial-gradient(circle at 30% 20%,rgba(111,156,200,.4),rgba(14,18,32,.95) 70%);
  border:1px solid rgba(111,156,200,.4);box-shadow:0 18px 50px -12px rgba(111,156,200,.75),inset 0 1px 0 rgba(255,255,255,.1);animation:lab-float 6s ease-in-out infinite}
[id$="-stage"]>div>div>div:first-child::after{content:"Budologix Lab";margin-top:12px;font-size:13px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  background:linear-gradient(120deg,#c9d8ee,#8fb3dc 50%,#22d3ee);-webkit-background-clip:text;background-clip:text;color:transparent}
@keyframes lab-float{50%{transform:translateY(-6px)}}

/* títulos */
[id$="-stage"] h1,[id$="-stage"] h2,[id$="-stage"] h3,[id$="-stage"] h4,[id$="-stage"] h5{font-size:24px!important;font-weight:700!important;letter-spacing:-.02em;margin:2px 0 4px!important;
  background:linear-gradient(120deg,#fff 30%,#b9a8ff 70%,#22d3ee);-webkit-background-clip:text;background-clip:text;color:transparent!important}
[id$="-stage"] h6{font-size:14px!important;font-weight:500!important;color:#a3a8c3!important}

/* campos */
[id$="-stage"] input[type=text],[id$="-stage"] input[type=password],[id$="-stage"] input[type=email],[id$="-stage"] input:not([type]),[id$="-stage"] input[inputmode]{
  height:50px!important;border-radius:13px!important;background:rgba(255,255,255,.04)!important;border:1px solid rgba(255,255,255,.12)!important;
  color:#eef0fb!important;font-size:15px!important;padding-left:16px!important;transition:border-color .2s,box-shadow .2s,background .2s!important}
[id$="-stage"] input:hover{border-color:rgba(255,255,255,.22)!important}
[id$="-stage"] input:focus{outline:none!important;border-color:#7c5cff!important;background:rgba(124,92,255,.07)!important;box-shadow:0 0 0 4px rgba(124,92,255,.2),0 0 30px -8px rgba(124,92,255,.7)!important}
[id$="-stage"] input::placeholder{color:#6b7090!important}
[id$="-stage"] label{color:#a3a8c3!important}
input:-webkit-autofill{-webkit-text-fill-color:#eef0fb!important;-webkit-box-shadow:0 0 0 1000px #151a2b inset!important;caret-color:#eef0fb}
/* campos del código de 6 dígitos */
#one-time-password-method input{width:48px!important;height:58px!important;padding:0!important;text-align:center;font-size:22px!important;font-weight:700!important;font-variant-numeric:tabular-nums}

/* botones */
[id$="-stage"] button{border-radius:13px!important;transition:transform .15s,box-shadow .25s,filter .2s!important}
#sign-in-button,[id$="-stage"] button[type=submit]{position:relative;overflow:hidden;height:50px!important;border:0!important;color:#fff!important;font-weight:600!important;font-size:15px!important;letter-spacing:.01em;
  background:linear-gradient(135deg,#7c5cff,#5b8def 55%,#22d3ee)!important;box-shadow:0 14px 34px -12px rgba(124,92,255,.9)!important}
#sign-in-button::after,[id$="-stage"] button[type=submit]::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.4) 50%,transparent 70%);transform:translateX(-120%);animation:lab-sheen 4.5s ease-in-out infinite}
@keyframes lab-sheen{0%,65%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
#sign-in-button:hover,[id$="-stage"] button[type=submit]:hover{filter:brightness(1.08);box-shadow:0 18px 44px -12px rgba(124,92,255,1)!important}
#sign-in-button:active{transform:scale(.98)}
#sign-in-button:disabled{filter:grayscale(.4) brightness(.8)}
[id$="-stage"] button:not([type=submit]):not(#sign-in-button){background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12)}
[id$="-stage"] button:not([type=submit]):not(#sign-in-button):hover{border-color:#7c5cff;box-shadow:0 0 0 1px rgba(124,92,255,.35),0 10px 30px -10px rgba(124,92,255,.5)}
[role=checkbox],button[role=checkbox]{border-radius:6px!important}
[role=checkbox][data-state=checked]{background:linear-gradient(135deg,#7c5cff,#22d3ee)!important;border-color:transparent!important}
a{color:#8fb3dc}
.method-option button{background:rgba(255,255,255,.03)!important;border:1px solid rgba(255,255,255,.1)!important}
.method-option button:hover{border-color:#7c5cff!important;background:rgba(124,92,255,.08)!important}

/* pie de página */
[id$="-stage"]>div>div>div:last-child{margin-top:14px;opacity:.55}
.lab-foot{position:fixed;left:0;right:0;bottom:18px;z-index:1;display:flex;justify-content:center;gap:18px;font-size:12px;color:#6b7090;pointer-events:none}
.lab-foot span{display:inline-flex;align-items:center;gap:7px}
.lab-foot i{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 10px #22c55e}
@media (max-width:520px){[id$="-stage"]>div{padding:30px 22px 18px!important;margin:12px;border-radius:22px}.lab-foot{display:none}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important}}
