:root{--bg:#050b0d;--panel:#0c151a;--panel2:#111d23;--line:#293940;--text:#f5f7f8;--muted:#8f9ba2;--green:#37d34f;--green2:#1fa43b;--red:#eb6565}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#030708;color:var(--text);font-family:Inter,sans-serif}body{min-height:100vh;overflow-x:hidden}
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(480px,.85fr);background:#050a0c}
.login-hero{position:relative;min-height:100vh;display:flex;flex-direction:column;overflow:hidden;background:
radial-gradient(circle at 50% 42%,rgba(44,255,78,.16),transparent 24%),
linear-gradient(180deg,rgba(2,10,8,.18),rgba(1,5,4,.8)),
linear-gradient(135deg,#06100d 0%,#081713 48%,#020706 100%)}
.login-hero:before{content:"";position:absolute;inset:0;background:
linear-gradient(75deg,transparent 47%,rgba(64,255,95,.045) 48%,transparent 49%),
linear-gradient(-75deg,transparent 47%,rgba(64,255,95,.035) 48%,transparent 49%);background-size:180px 180px;opacity:.65}
.login-hero:after{content:"";position:absolute;left:0;right:0;bottom:-8%;height:48%;background:
linear-gradient(90deg,transparent 49.6%,rgba(235,255,235,.14) 49.8%,rgba(235,255,235,.14) 50.2%,transparent 50.4%),
linear-gradient(0deg,rgba(32,110,46,.13),rgba(6,30,13,.5));clip-path:polygon(0 25%,100% 25%,100% 100%,0 100%);opacity:.85}
.hero-top{position:relative;z-index:2;padding:28px 34px}.mini-brand{display:flex;align-items:center;gap:10px;letter-spacing:.18em}.mini-brand img{width:28px;height:28px;object-fit:contain}.mini-brand strong{font-size:18px}.mini-brand span{width:1px;height:22px;background:#5b686d;margin:0 4px}.mini-brand small{font-size:9px;color:#c5cdcf;font-weight:700}
.hero-center{position:relative;z-index:2;margin:auto;text-align:center;width:min(760px,90%);padding-bottom:60px}.official-logo{width:clamp(170px,24vw,300px);aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 0 34px rgba(40,255,66,.34))}.hero-center h1{margin:-5px 0 9px;font:800 clamp(48px,5.8vw,88px)/.95 "Barlow Condensed",sans-serif;letter-spacing:.015em;text-shadow:0 5px 22px #000}.hero-line{height:3px;width:44px;background:var(--green);margin:19px auto}.hero-center p{font-size:clamp(16px,1.7vw,22px);letter-spacing:.03em;color:#d8dcdd}.hero-center p b{color:#4ee565;font-weight:500}
.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:46px auto 0;max-width:650px}.hero-stats article{min-height:84px;border:1px solid #33453f;background:rgba(8,20,17,.78);border-radius:10px;display:grid;grid-template-columns:42px 1fr;grid-template-rows:1fr 1fr;align-items:center;text-align:left;padding:13px 16px;backdrop-filter:blur(8px)}.hero-stats i{grid-row:1/3;color:#4ae061;font-size:24px}.hero-stats span{font-size:9px;letter-spacing:.13em;color:#bec5c7;font-weight:700}.hero-stats strong{font-size:20px;color:#49dc61}.hero-stats .closed{color:#ef7777}
.hero-foot{position:relative;z-index:2;display:flex;gap:15px;align-items:center;justify-content:center;padding:0 20px 28px;color:#9aa5a9;font-size:12px}.hero-foot span{height:1px;width:42px;background:#2dad43}.hero-foot i{font-size:11px}
.login-zone{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:34px;background:linear-gradient(135deg,#071014,#04090b);position:relative}.login-zone:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,rgba(29,118,54,.08),transparent 35%);pointer-events:none}
.login-card{position:relative;z-index:2;width:min(540px,100%);border:1px solid #33444b;border-radius:18px;background:linear-gradient(145deg,rgba(15,27,33,.97),rgba(8,15,19,.98));padding:32px 34px 30px;box-shadow:0 24px 70px rgba(0,0,0,.42)}.login-card:before{content:"";position:absolute;inset:-1px;border-radius:18px;padding:1px;background:linear-gradient(135deg,#b07729 0%,transparent 18%,transparent 80%,#203b31 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;pointer-events:none}
.login-icon{width:52px;height:52px;border:1px solid #1d5d32;border-radius:50%;display:grid;place-items:center;margin:auto;color:#42db5a;background:rgba(33,158,58,.07);font-size:20px}.login-card h2{text-align:center;font-size:27px;margin:13px 0 7px}.login-subtitle{text-align:center;color:var(--muted);font-size:12px;margin:0 0 22px}.login-error{display:flex;align-items:center;gap:8px;background:rgba(213,62,62,.12);border:1px solid rgba(233,92,92,.35);color:#ffaaaa;padding:10px 12px;border-radius:8px;font-size:12px;margin-bottom:15px}
.field-label{font-size:9px;font-weight:800;letter-spacing:.11em;color:#bdc3c6;display:block;margin:0 0 7px}.input-wrap{height:47px;border:1px solid #2f3e45;background:#121c22;border-radius:7px;display:flex;align-items:center;margin-bottom:18px;transition:.18s}.input-wrap:focus-within{border-color:#3ba852;box-shadow:0 0 0 2px rgba(50,171,74,.09)}.input-wrap>i{width:46px;text-align:center;color:#8d989e;border-right:1px solid #2b373d}.input-wrap input{height:100%;flex:1;min-width:0;background:transparent;border:0;outline:0;color:#f4f6f7;padding:0 13px;font-size:13px}.input-wrap input::placeholder{color:#69777e}.password-toggle{width:44px;height:100%;border:0;background:transparent;color:#98a2a7;cursor:pointer}
.experience-divider{display:grid;grid-template-columns:1fr auto 1fr;gap:13px;align-items:center;margin:25px 0 16px}.experience-divider span{height:1px;background:#27353b}.experience-divider b{font-size:9px;letter-spacing:.13em;color:#7f8b91}
.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.experience-option{position:relative;min-height:139px;border:1px solid #34434a;border-radius:10px;background:#10191e;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;cursor:pointer;transition:.18s;padding:13px}.experience-option input{position:absolute;opacity:0}.experience-option .experience-icon{font-size:29px;color:#98a3a8;margin-bottom:10px}.experience-option strong{font-size:14px}.experience-option small{color:#89949a;font-size:10px;line-height:1.45;margin-top:6px}.selected-check{display:none;position:absolute;right:10px;top:9px;width:22px;height:22px;border-radius:50%;place-items:center;background:#27aa44;color:#fff;font-size:10px}.experience-option.selected{border-color:#43d259;background:linear-gradient(145deg,rgba(31,113,47,.32),rgba(10,25,17,.7));box-shadow:inset 0 0 24px rgba(40,201,68,.08)}.experience-option.selected .experience-icon{color:#4de462}.experience-option.selected .selected-check{display:grid}
.remember-row{display:flex;align-items:center;justify-content:center;gap:8px;color:#9ba5aa;font-size:11px;margin:17px 0;cursor:pointer}.remember-row input{position:absolute;opacity:0}.fake-check{width:16px;height:16px;border:1px solid #3c6950;border-radius:2px;display:grid;place-items:center;color:transparent;font-size:9px}.remember-row input:checked+.fake-check{border-color:#31c94b;color:#46e25d;background:rgba(41,189,65,.08)}
.login-button{width:100%;height:50px;border:1px solid #49dc63;border-radius:7px;background:linear-gradient(180deg,#39c94e,#1ba536);color:#fff;font-weight:800;letter-spacing:.08em;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px;box-shadow:0 7px 22px rgba(30,163,52,.2);transition:.18s}.login-button:hover{filter:brightness(1.08);transform:translateY(-1px)}
.login-copy{position:absolute;bottom:16px;color:#657177;font-size:9px}.mobile-brand,.mobile-live-stats{display:none}
@media(max-width:980px){.login-shell{grid-template-columns:1fr}.login-hero{display:none}.login-zone{padding:26px 16px 42px;justify-content:flex-start;background:
radial-gradient(circle at 50% 7%,rgba(47,226,74,.16),transparent 27%),
linear-gradient(180deg,#06100d,#030708 58%)}.mobile-brand{display:flex;position:relative;z-index:2;flex-direction:column;align-items:center;text-align:center;padding:10px 0 20px}.mobile-brand img{width:clamp(145px,43vw,210px);filter:drop-shadow(0 0 25px rgba(44,255,67,.28))}.mobile-brand h1{font:800 clamp(38px,11vw,58px)/.95 "Barlow Condensed";margin:-3px 0 8px;letter-spacing:.01em}.mobile-brand p{font-size:clamp(13px,3.7vw,17px);margin:0 0 15px;color:#d7dddd}.mobile-brand p b{color:#4be063;font-weight:500}.mobile-season{display:flex;align-items:center;gap:9px;border:1px solid #31443d;background:rgba(12,23,19,.75);border-radius:999px;padding:9px 17px}.mobile-season i{color:#4cde63}.mobile-season span{font-size:9px;letter-spacing:.12em;color:#c2c8ca}.mobile-season strong{font-size:15px;color:#51de65}
.login-card{width:min(570px,100%);padding:22px 20px 20px;border-radius:15px}.login-icon,.login-card h2,.login-subtitle{display:none}.field-label{font-size:clamp(9px,2.6vw,11px)}.input-wrap{height:clamp(47px,12vw,55px)}.input-wrap input{font-size:clamp(13px,3.7vw,16px)}.experience-divider{margin:21px 0 14px}.experience-divider b{font-size:clamp(8.5px,2.4vw,10px)}.experience-option{min-height:clamp(125px,34vw,160px);padding:10px}.experience-option .experience-icon{font-size:clamp(28px,8vw,37px)}.experience-option strong{font-size:clamp(13px,3.8vw,16px)}.experience-option small{font-size:clamp(9px,2.75vw,11px)}.remember-row{font-size:clamp(10px,2.9vw,12px)}.login-button{height:clamp(49px,13vw,57px);font-size:clamp(13px,3.8vw,16px)}
.mobile-live-stats{display:grid;grid-template-columns:1fr 1fr;margin-top:20px;border:1px solid #26363d;border-radius:9px;background:#0e181d;padding:11px 8px}.mobile-live-stats div{display:grid;grid-template-columns:30px 1fr;grid-template-rows:1fr 1fr;align-items:center;padding:0 10px}.mobile-live-stats div+div{border-left:1px solid #2a383e}.mobile-live-stats i{grid-row:1/3;color:#48d95d;font-size:20px}.mobile-live-stats span{font-size:8px;letter-spacing:.1em;color:#aab2b6}.mobile-live-stats b{font-size:15px;color:#4ddd61}.mobile-live-stats .closed{color:#ea7777}.login-copy{position:static;margin-top:18px;font-size:8px}
}
@media(max-width:420px){.login-zone{padding-left:11px;padding-right:11px}.login-card{padding-left:14px;padding-right:14px}.experience-grid{gap:8px}.experience-option small{line-height:1.3}.mobile-brand img{width:145px}.mobile-brand h1{font-size:37px}}

/* v1.82 · Estado real en login */
.hero-stats strong.live,.mobile-live-stats b.live{color:#f3c44f!important}
.hero-stats strong.done,.mobile-live-stats b.done{color:#72d68a!important}
.hero-stats strong.maintenance,.mobile-live-stats b.maintenance{color:#e58a8a!important}
.hero-stats article:last-child strong{font-size:clamp(10px,1.05vw,15px)!important;white-space:nowrap}
.mobile-live-stats div:last-child b{font-size:9px!important;white-space:normal!important;line-height:1.05!important;text-align:right!important}


/* =========================================================
   LDLC LAB 1.93.400 · IDENTIDAD VISUAL
   Logo vertical en acceso + horizontal compacto en cabecera.
   Mantiene la estructura y lógica del login actual.
   ========================================================= */

.mini-brand{
  width:min(290px,46vw);
  display:block;
  letter-spacing:0;
}
.mini-brand img{
  display:block;
  width:100%;
  height:auto;
  max-height:74px;
  object-fit:contain;
  object-position:left center;
  filter:drop-shadow(0 7px 18px rgba(0,0,0,.22));
}

.hero-center .brand-vertical{
  width:clamp(220px,21vw,300px);
  height:auto;
  max-height:390px;
  aspect-ratio:auto;
  object-fit:contain;
  filter:drop-shadow(0 18px 38px rgba(0,0,0,.28));
}
.hero-center .brand-vertical + .hero-line{
  margin-top:18px;
}
.hero-center{
  padding-bottom:38px;
}
.hero-stats{
  margin-top:34px;
}

@media(max-width:980px){
  .mobile-brand .brand-vertical{
    width:clamp(145px,38vw,190px);
    height:auto;
    max-height:none;
    object-fit:contain;
    filter:drop-shadow(0 12px 28px rgba(0,0,0,.3));
    margin-bottom:10px;
  }
  .mobile-brand{
    padding-top:4px;
  }
}

@media(max-width:420px){
  .mobile-brand .brand-vertical{
    width:142px;
  }
}


/* =========================================================
   v1.93.410 · LOGIN · APP MODE
   ========================================================= */
@media (max-width:980px){
  html.ldlc-app-mode,
  html.ldlc-app-mode body{
    min-height:100dvh;
    overscroll-behavior-y:none;
    -webkit-tap-highlight-color:transparent;
  }

  html.ldlc-app-mode body{
    padding-top:env(safe-area-inset-top);
    padding-bottom:env(safe-area-inset-bottom);
    padding-left:env(safe-area-inset-left);
    padding-right:env(safe-area-inset-right);
  }

  html.ldlc-app-mode button,
  html.ldlc-app-mode a,
  html.ldlc-app-mode input{
    touch-action:manipulation;
  }
}

