:root{--navy:#061522;--cyan:#35bce8;--lime:#bcef00;--glass:rgba(7,22,36,.72);--border:rgba(153,220,255,.26)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:"Plus Jakarta Sans",Inter,"Segoe UI",Arial,sans-serif;color:#fff}body{background:#071827}
.login-page{min-height:100vh;background:linear-gradient(90deg,rgba(3,14,23,.68),rgba(4,19,32,.20) 54%,rgba(3,13,22,.55)),url('../img/login-factory-bg.png') center/cover fixed no-repeat;overflow-x:hidden}
.login-page:after{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 18% 18%,rgba(255,198,99,.16),transparent 28%),linear-gradient(180deg,rgba(4,15,24,.04),rgba(4,15,24,.58))}
.login-shell{position:relative;z-index:2;min-height:100vh;display:grid;grid-template-columns:minmax(0,1.28fr) minmax(380px,.72fr);align-items:center;gap:6vw;padding:70px clamp(28px,5.8vw,94px)}
.login-brand{max-width:760px;text-shadow:0 7px 26px rgba(0,0,0,.42)}
.brand-chip{display:inline-flex;padding:9px 16px;border:1px solid rgba(168,228,255,.42);border-radius:999px;background:rgba(8,35,56,.36);backdrop-filter:blur(8px);font-size:12px;font-weight:600;letter-spacing:.19em;color:#d3f3ff}
.login-brand h1{font-family:Manrope,"Plus Jakarta Sans",sans-serif;font-size:clamp(3rem,4.7vw,5.45rem);font-weight:800;line-height:1.01;letter-spacing:-.052em;margin:28px 0 20px;max-width:13ch}
.login-brand h1 em{font-style:normal;color:var(--lime);text-shadow:0 0 25px rgba(188,239,0,.25)}
.login-brand p{max-width:650px;margin:21px 0 0;font-size:clamp(1rem,1.18vw,1.18rem);font-weight:400;line-height:1.8;color:rgba(244,250,253,.87);letter-spacing:-.01em}
.login-route{display:flex;align-items:center;gap:11px;width:max-content;max-width:100%;margin:9px 0 0;font-family:Manrope,"Plus Jakarta Sans",sans-serif;font-size:clamp(.92rem,1.15vw,1.1rem);font-weight:600;letter-spacing:.01em;color:#e4edf2}
.login-route i{display:block;width:53px;height:2px;background:linear-gradient(90deg,transparent,var(--cyan));box-shadow:0 0 10px rgba(53,188,232,.75)}
.login-route i:last-child{background:linear-gradient(90deg,var(--lime),transparent);box-shadow:0 0 10px rgba(188,239,0,.55)}
.login-route strong{color:#49c8f3;font-weight:800}.login-route b{color:var(--lime);font-weight:800}.login-route span{font-weight:500;color:#e5edf2}
.login-card-wrap{display:flex;justify-content:center}.login-card{width:min(460px,100%);padding:32px;border-radius:27px;background:linear-gradient(145deg,rgba(8,31,49,.87),rgba(4,17,28,.76));border:1px solid var(--border);box-shadow:0 30px 80px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.08);backdrop-filter:blur(19px)}
.login-logo-box{width:78px;height:78px;border-radius:19px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(31,91,124,.52),rgba(7,27,44,.9));border:1px solid rgba(117,213,255,.35);box-shadow:0 0 35px rgba(47,190,237,.18)}.login-logo-box img{width:65px;height:65px;object-fit:contain}
.login-heading{margin:22px 0 25px}.login-heading span{font-size:.68rem;letter-spacing:.2em;color:#88dcff;font-weight:700}.login-heading h2{font-family:Manrope,"Plus Jakarta Sans",sans-serif;font-size:1.65rem;line-height:1.25;margin:8px 0 7px}.login-heading p{margin:0;color:#adc3d1;line-height:1.55;font-size:.9rem}
.field-label{display:block;margin:17px 0 8px;color:#cfe6f2;font-size:.78rem;font-weight:700}.field-control{height:54px;border-radius:13px;border:1px solid rgba(151,212,239,.2);background:rgba(1,11,20,.54);display:flex;align-items:center;padding:0 14px;transition:.2s}.field-control:focus-within{border-color:rgba(65,195,239,.68);box-shadow:0 0 0 3px rgba(53,188,232,.1)}.field-control svg{width:19px;height:19px;fill:none;stroke:#74c9e8;stroke-width:1.7;margin-right:11px}.field-control input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:#fff;font-size:.94rem}.field-control input::placeholder{color:#6f8796}.password-toggle{border:0;background:transparent;color:#73d5f7;font-size:.64rem;font-weight:800;cursor:pointer;letter-spacing:.08em}
.form-meta{display:flex;justify-content:space-between;gap:12px;margin:15px 1px 18px;font-size:.72rem;color:#94aab8}.form-meta label{display:flex;align-items:center;gap:7px}.form-meta input{accent-color:var(--cyan)}
.login-button{width:100%;height:55px;border:0;border-radius:14px;background:linear-gradient(90deg,#1187bc,#42c8ee);color:#041520;font-size:.95rem;font-weight:850;display:flex;align-items:center;justify-content:center;gap:13px;cursor:pointer;box-shadow:0 12px 30px rgba(21,153,204,.3);transition:.22s}.login-button:hover{transform:translateY(-2px);filter:brightness(1.07)}.login-button b{font-size:1.2rem}.login-alert{margin:-8px 0 13px;padding:11px 13px;border-radius:10px;background:rgba(202,54,72,.16);border:1px solid rgba(255,111,127,.28);font-size:.8rem;color:#ffd6db}.preview-note{margin-top:17px;padding:10px 12px;text-align:center;border-radius:10px;background:rgba(188,239,0,.07);border:1px dashed rgba(188,239,0,.24);font-size:.73rem;color:#d9eca0}.login-card footer{text-align:center;margin-top:23px;font-size:.67rem;letter-spacing:.06em;color:#708b9d}
.splash{position:fixed;z-index:1000;inset:0;background:radial-gradient(circle at center,#0b2941,#030c14 66%);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .65s ease,visibility .65s}.splash-hide{opacity:0;visibility:hidden}.splash-aura{position:absolute;width:270px;height:270px;border-radius:50%;background:radial-gradient(circle,rgba(52,197,239,.25),transparent 65%);animation:pulse 1.6s ease-in-out infinite}.splash-logo{position:relative;width:145px;height:145px;object-fit:contain;filter:drop-shadow(0 0 26px rgba(56,205,255,.38));animation:logoIn 1.45s cubic-bezier(.2,.75,.25,1) both}.splash-title{margin-top:17px;font-size:1.25rem;font-weight:850;letter-spacing:.25em}.splash-caption{margin-top:8px;color:#8eb3c7;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.splash-line{width:170px;height:2px;background:rgba(255,255,255,.09);overflow:hidden;margin-top:19px}.splash-line span{display:block;width:55%;height:100%;background:linear-gradient(90deg,transparent,#4dd1ff,transparent);animation:load 1.2s infinite}.is-loading .login-shell{opacity:0;transform:scale(1.01)}.login-shell{transition:opacity .75s ease,transform .75s ease}.login-page:not(.is-loading) .login-shell{opacity:1;transform:none}
@keyframes logoIn{0%{opacity:0;transform:scale(.3) rotate(-5deg)}58%{opacity:1;transform:scale(1.08)}100%{transform:scale(1)}}@keyframes pulse{50%{transform:scale(1.12);opacity:.65}}@keyframes load{from{transform:translateX(-120%)}to{transform:translateX(270%)}}
@media(max-width:1050px){.login-shell{grid-template-columns:minmax(0,1fr) minmax(360px,.72fr);gap:4vw;padding-left:42px;padding-right:42px}.login-brand h1{font-size:clamp(2.8rem,5vw,4.4rem)}}
@media(max-width:900px){.login-shell{grid-template-columns:1fr;padding:105px 22px 45px}.login-brand{text-align:center;margin:auto}.login-brand h1{margin-left:auto;margin-right:auto;max-width:15ch}.login-route{margin-left:auto;margin-right:auto}.login-card-wrap{margin-top:12px}}
@media(max-width:620px){.login-route i{width:28px}.login-route{gap:7px;font-size:.82rem}.login-brand h1{font-size:2.7rem}.login-brand p{font-size:.94rem;line-height:1.7}.login-card{padding:25px 20px;border-radius:22px}.form-meta{font-size:.66rem}.splash-logo{width:120px;height:120px}}


/* V11 login refinement */
.login-page{color-scheme:dark}
.login-brand h1{
  max-width:14ch;
  font-family:"Sora",Manrope,"Plus Jakarta Sans",sans-serif;
  font-size:clamp(2.9rem,4.45vw,5.15rem);
  font-weight:650;
  line-height:1.055;
  letter-spacing:-.055em;
  text-wrap:balance;
}
.login-brand h1 span{font-weight:700}
.login-brand h1 em{font-weight:750}
.field-control{
  position:relative;
  overflow:hidden;
  background:linear-gradient(145deg,rgba(2,17,28,.78),rgba(4,25,39,.66));
  border-color:rgba(119,201,235,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
.field-control:focus-within{
  border-color:rgba(70,205,248,.8);
  box-shadow:0 0 0 3px rgba(53,188,232,.11),inset 0 1px 0 rgba(255,255,255,.04);
}
.field-control input{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  height:100%;
  padding:0;
  background:transparent!important;
  color:#f4fbff!important;
  caret-color:var(--cyan);
  border-radius:0;
  box-shadow:none!important;
}
.field-control input:-webkit-autofill,
.field-control input:-webkit-autofill:hover,
.field-control input:-webkit-autofill:focus,
.field-control input:-webkit-autofill:active{
  -webkit-text-fill-color:#f4fbff!important;
  caret-color:#f4fbff!important;
  -webkit-box-shadow:0 0 0 1000px #071b2a inset!important;
  box-shadow:0 0 0 1000px #071b2a inset!important;
  border:0!important;
  transition:background-color 9999s ease-out 0s;
}
.form-meta label{cursor:pointer;user-select:none}
.form-meta input[type="checkbox"]{
  appearance:none;
  -webkit-appearance:none;
  width:16px;height:16px;
  display:grid;place-items:center;
  margin:0;
  border:1px solid rgba(142,204,232,.48);
  border-radius:4px;
  background:rgba(2,15,25,.8);
  cursor:pointer;
}
.form-meta input[type="checkbox"]::after{
  content:"";
  width:8px;height:4px;
  border-left:2px solid #061522;
  border-bottom:2px solid #061522;
  transform:rotate(-45deg) scale(0);
  transition:transform .15s ease;
}
.form-meta input[type="checkbox"]:checked{
  border-color:var(--lime);
  background:var(--lime);
  box-shadow:0 0 12px rgba(188,239,0,.25);
}
.form-meta input[type="checkbox"]:checked::after{transform:rotate(-45deg) scale(1)}
.login-button{
  height:58px;
  gap:12px;
  background:linear-gradient(105deg,#177fb8 0%,#35bfe8 58%,#72d7f3 100%);
  color:#031520;
  font-family:"Sora",Manrope,sans-serif;
  font-size:.9rem;
  font-weight:750;
  letter-spacing:.025em;
}
.login-button svg{
  width:22px;height:22px;
  fill:none;stroke:currentColor;stroke-width:1.9;
  stroke-linecap:round;stroke-linejoin:round;
  transition:transform .28s ease;
}
.login-button:hover svg{transform:translateY(-2px) rotate(-4deg)}
.login-button:active{transform:translateY(0) scale(.99)}
@media(max-width:620px){.login-brand h1{font-size:2.5rem;line-height:1.08}}
