/* ================= Zero Domain theme (login + console) ================= */
:root{
  --zl-cyan:#38bdf8;
  --zl-blue:#0ea5ff;
  --zl-ink:#040b16;
  --zl-text:#eaf6ff;
}
body.zl-login{
  background:var(--zl-ink) !important;
  color:var(--zl-text);
  overflow-x:hidden;
}
body.zl-login .min-h-screen,
body.zl-login .min-h-screen.flex{
  background:transparent !important;
}

/* ---------- split layout ---------- */
body.zl-login .login-split{
  position:relative;
  width:100%;
  max-width:none !important;
  min-height:100vh;
  display:grid !important;
  grid-template-columns:1.45fr 1fr !important;
  align-items:stretch !important;
  gap:0 !important;
  padding:0 !important;
  background:#040b16 !important;
  overflow:hidden;
}

/* ---------- left brand stage ---------- */
body.zl-login .login-split > div:first-child{
  position:relative;
  z-index:2;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  padding:26px 40px 26px !important;
  background-color:#050f1f !important;
  background-image:
    linear-gradient(rgba(56,189,248,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(56,189,248,.055) 1px, transparent 1px),
    radial-gradient(880px 720px at 46% 50%, rgba(14,110,220,.24), rgba(4,11,22,0) 68%) !important;
  background-size:48px 48px,48px 48px,100% 100% !important;
  background-position:center center !important;
  border-right:1px solid rgba(56,189,248,.10);
  overflow:hidden;
}
body.zl-login .login-split > div:first-child::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 50% 52%, rgba(14,140,255,.18), transparent 62%);
}

/* header lockup */
body.zl-login .login-split > div:first-child > div:first-child{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:10px !important;
  position:relative;
  z-index:5;
}
body.zl-login .login-split > div:first-child > div:first-child img{
  width:30px !important;
  height:30px !important;
  max-width:none !important;
  border-radius:8px !important;
  object-fit:cover !important;
  box-shadow:0 0 16px rgba(56,189,248,.35) !important;
  animation:none !important;
}
body.zl-login .login-split > div:first-child > div:first-child span{
  font-size:15px !important;
  line-height:1.2 !important;
  font-weight:600 !important;
  letter-spacing:.5px !important;
  background:none !important;
  -webkit-background-clip:border-box !important;
  background-clip:border-box !important;
  color:#c9e9ff !important;
  -webkit-text-fill-color:#c9e9ff !important;
  text-shadow:0 0 18px rgba(56,189,248,.35) !important;
}
body.zl-login .login-split > div:first-child > div:first-child span::after{
  content:none !important;
}

/* large centered logo */
.zl-hero-art{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:min(70%,660px);
  z-index:3;
  pointer-events:none;
  animation:zlFloat 7s ease-in-out infinite;
}
.zl-hero-art img{
  display:block;
  width:100%;
  height:auto;
  border-radius:6%;
  filter:
    drop-shadow(0 0 42px rgba(14,140,255,.45))
    drop-shadow(0 0 96px rgba(20,90,255,.28));
}

/* footer quote */
body.zl-login .login-split > div:first-child > div.mt-auto{
  margin-top:auto !important;
  position:relative;
  z-index:5;
}
body.zl-login .login-split > div:first-child > div.mt-auto p{
  font-size:12px !important;
  letter-spacing:1px;
  color:#6d8aa6 !important;
  background:none !important;
  -webkit-text-fill-color:#6d8aa6 !important;
}
.zl-features{display:none !important;}

/* ---------- right login panel ---------- */
body.zl-login .login-split > div:nth-child(2){
  position:relative;
  z-index:2;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:40px 34px !important;
  background:linear-gradient(155deg,#0b1e38 0%,#071427 46%,#050d1a 100%) !important;
  overflow:hidden;
}
body.zl-login .login-split > div:nth-child(2)::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:620px;
  height:620px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(circle, rgba(14,120,220,.22), rgba(14,120,220,0) 66%);
  filter:blur(10px);
  pointer-events:none;
}
body.zl-login .login-split > div:nth-child(2) > div{
  position:relative;
  z-index:3;
  width:360px !important;
  max-width:100% !important;
  padding:30px 28px 26px !important;
  margin:0 !important;
  background:linear-gradient(165deg, rgba(10,28,52,.86), rgba(4,14,28,.90)) !important;
  border:1px solid rgba(56,189,248,.22) !important;
  border-radius:14px !important;
  box-shadow:
    0 0 0 1px rgba(56,189,248,.05),
    0 26px 70px rgba(0,0,0,.58),
    0 0 64px rgba(14,120,255,.16) !important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  animation:zlIn .45s ease-out both;
}
body.zl-login .login-split > div:nth-child(2) > div::after{
  content:none !important;
}
body.zl-login .zl-card-logo{
  display:none !important;
}
body.zl-login .login-split h1{
  font-size:22px !important;
  font-weight:600 !important;
  letter-spacing:.5px;
  color:#f2fbff !important;
}
body.zl-login .login-split .text-center p{
  font-size:12.5px !important;
  color:#7d95ad !important;
}
body.zl-login .login-split form{
  margin-top:22px !important;
}
body.zl-login .login-split form > div{
  margin-bottom:14px !important;
}
body.zl-login .login-split form label{
  font-size:12.5px !important;
  color:#9fb3c8 !important;
  font-weight:500 !important;
  margin-bottom:6px !important;
}
body.zl-login .login-split form input:not([type=checkbox]){
  width:100% !important;
  height:40px !important;
  padding:0 12px !important;
  background:rgba(4,14,28,.92) !important;
  border:1px solid #16395f !important;
  border-radius:8px !important;
  color:#e8f6ff !important;
  font-size:13.5px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02) !important;
  transition:border-color .18s, box-shadow .18s;
}
body.zl-login .login-split form input:not([type=checkbox]):focus{
  border-color:rgba(56,189,248,.85) !important;
  box-shadow:0 0 0 3px rgba(56,189,248,.10),0 0 24px -8px rgba(14,165,255,.75) !important;
  outline:none !important;
}
body.zl-login .login-split form input[type=checkbox]{
  appearance:none !important;
  -webkit-appearance:none !important;
  width:15px !important;
  height:15px !important;
  border:1px solid rgba(56,189,248,.50) !important;
  border-radius:3px !important;
  background:rgba(2,10,22,.85) !important;
  position:relative;
  cursor:pointer;
  flex:0 0 auto;
}
body.zl-login .login-split form input[type=checkbox]:checked{
  background:linear-gradient(135deg,#0ea5ff,#2563eb) !important;
  border-color:#38bdf8 !important;
  box-shadow:0 0 12px rgba(56,189,248,.45);
}
body.zl-login .login-split form input[type=checkbox]:checked::after{
  content:"";
  position:absolute;
  left:3.5px;
  top:1px;
  width:5px;
  height:8px;
  border:solid #fff;
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
}
body.zl-login .login-split form label span{
  color:#8fa8c0 !important;
  font-size:12px !important;
}
body.zl-login .login-split form button[type=submit]{
  height:44px !important;
  margin-top:6px;
  border-radius:8px !important;
  border:1px solid rgba(125,211,252,.50) !important;
  background:linear-gradient(100deg,#38bdf8 0%,#3b82f6 52%,#2563eb 100%) !important;
  color:#fff !important;
  font-size:14.5px !important;
  font-weight:600 !important;
  letter-spacing:2px !important;
  box-shadow:0 12px 30px -10px rgba(14,165,255,.80), inset 0 1px 0 rgba(255,255,255,.28) !important;
  transition:transform .18s, filter .18s, box-shadow .18s;
}
body.zl-login .login-split form button[type=submit]:hover{
  filter:brightness(1.07);
  transform:translateY(-1px);
  box-shadow:0 16px 38px -10px rgba(14,165,255,.95), inset 0 1px 0 rgba(255,255,255,.30) !important;
}

/* ---------- console sidebar brand ---------- */
[data-slot="sidebar-header"] button{
  background:linear-gradient(90deg,rgba(8,28,52,.92),rgba(6,18,36,.55)) !important;
  border-color:rgba(56,189,248,.28) !important;
}
[data-slot="sidebar-header"] button span{
  background-image:linear-gradient(90deg,#f4fcff,#7dd3fc 45%,#2563eb) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  color:transparent !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  font-size:12px !important;
  line-height:1.15 !important;
  letter-spacing:0 !important;
  text-align:left;
  display:block;
}
[data-slot="sidebar-header"] img{
  box-shadow:0 0 14px rgba(56,189,248,.35);
}
[data-slot="sidebar-menu-button"][data-active="true"]{
  background:linear-gradient(90deg,rgba(14,165,255,.18),rgba(37,99,235,.06)) !important;
  color:#7dd3fc !important;
  border-color:rgba(56,189,248,.35) !important;
}

/* ---------- motion ---------- */
@keyframes zlFloat{
  0%,100%{transform:translate(-50%,-50%) translateY(0)}
  50%{transform:translate(-50%,-50%) translateY(-7px)}
}
@keyframes zlIn{
  from{opacity:0;transform:translateY(14px) scale(.985)}
  to{opacity:1;transform:none}
}

/* ---------- mobile ---------- */
@media (max-width:1023px){
  body.zl-login .login-split{
    grid-template-columns:1fr !important;
  }
  body.zl-login .login-split > div:first-child{
    display:none !important;
  }
  body.zl-login .login-split > div:nth-child(2){
    min-height:100vh;
    padding:28px 18px !important;
    background:
      radial-gradient(700px 500px at 50% 0%, rgba(14,110,220,.20), transparent 70%),
      linear-gradient(180deg,#071427 0%,#040b16 100%) !important;
  }
  body.zl-login .login-split > div:nth-child(2) > div{
    width:100% !important;
    padding:28px 22px 24px !important;
  }
  body.zl-login .zl-card-logo{
    display:flex !important;
    flex-direction:column;
    align-items:center;
    gap:8px;
    margin-bottom:18px;
  }
  body.zl-login .zl-card-logo img{
    width:56px;
    height:56px;
    border-radius:14px;
    box-shadow:0 0 22px rgba(56,189,248,.40);
  }
  body.zl-login .zl-card-title{
    font-size:13px;
    letter-spacing:1px;
    color:#bfe4ff;
  }
  body.zl-login .login-split h1{
    font-size:24px !important;
  }
}


/* ---------- HK build (EAGLE19 / lingyu r771) compatibility ---------- */
body.zl-login .zl-hero-art{display:block !important;}
body.zl-login .login-split > div:nth-child(2){}
body.zl-login .ly-hero-brand{display:none !important;}
body.zl-login .ly-panel{display:none !important;}
body.zl-login .ly-fico{display:none !important;}
body.zl-login .ly-fitem,
body.zl-login .ly-fright,
body.zl-login .ly-foot{display:none !important;}
body.zl-login .ly-card{
  transform:none !important;
  animation:none !important;
  min-height:0 !important;
  height:auto !important;
}
body.zl-login .ly-card::before,
body.zl-login .ly-card::after{content:none !important; display:none !important;}
body.zl-login .ly-card > .text-center{display:block !important;}
body.zl-login .ly-card form{
  position:static !important;
  inset:auto !important;
  margin:0 !important;
  height:auto !important;
}
body.zl-login .ly-card form > *{
  position:static !important;
  left:auto !important;
  top:auto !important;
  height:auto !important;
}
body.zl-login .ly-card form > div{width:auto !important; margin:0 0 14px !important;}
body.zl-login .ly-card form > button[type=submit]{width:100% !important; height:44px !important; margin-top:6px !important;}
body.zl-login .ly-eye, body.zl-login .ly-forgot{display:none !important;}
body.zl-login .login-split form input:not([type=checkbox]){
  padding-left:12px !important;
  background-image:none !important;
}

/* ---------- HK console sidebar lockup ---------- */
body.ly-skin [data-slot="sidebar-header"] img.ly-brand-logo{
  width:36px !important;
  height:36px !important;
  flex:0 0 36px !important;
  border-radius:9px !important;
  object-fit:cover !important;
  box-shadow:0 0 16px rgba(56,189,248,.35) !important;
}
body.ly-skin [data-slot="sidebar-header"] .ly-brand-box{
  position:static !important;
  left:auto !important;
  top:auto !important;
  width:auto !important;
  min-width:0 !important;
  flex:1 1 auto !important;
  overflow:hidden !important;
  z-index:auto !important;
}
body.ly-skin [data-slot="sidebar-header"] .ly-brand-name{
  font-size:12px !important;
  line-height:1.2 !important;
  white-space:pre-line !important;
  display:block !important;
  letter-spacing:.5px !important;
  background-image:linear-gradient(90deg,#f4fcff,#7dd3fc 55%,#38bdf8) !important;
  -webkit-background-clip:text !important;
  background-clip:text !important;
  color:transparent !important;
}
body.ly-skin [data-slot="sidebar-header"] .ly-brand-sub{display:none !important;}


/* ---------- device distribution bars (missing sky/blue gradient vars) ---------- */
.bg-gradient-to-r.from-sky-400.to-blue-500{
  background-image:linear-gradient(90deg,#38bdf8 0%,#3b82f6 100%) !important;
}
.bg-gradient-to-r.from-sky-300.to-cyan-400{
  background-image:linear-gradient(90deg,#7dd3fc 0%,#22d3ee 100%) !important;
}
