/* Zylo: approved dark-glass entry page. Existing training/admin layouts stay intact. */
.brand .brand-domain { font-size:28px; font-weight:850; letter-spacing:-1.2px; }
body.is-guest .site-header { background:#101829; border-bottom-color:#ffffff0c; }
body.is-guest .header-tagline { font-size:13px; font-weight:500; }
body.is-guest .zylo-login { min-height:calc(100svh - 163px); padding:48px 0 60px; background:#101829; }
.zylo-login::before { display:none; }
body.is-guest .zylo-login::after { background:radial-gradient(ellipse at 22% 72%,#26335970,transparent 55%),radial-gradient(ellipse at 86% 44%,#24445a35,transparent 48%); }
.zylo-login .login-grid { grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); grid-template-areas:"copy card" "art card"; column-gap:64px; row-gap:12px; align-items:center; }
.zylo-login .login-copy { grid-area:copy; }
.zylo-login .login-copy h1 { font-size:clamp(52px,6.1vw,80px); line-height:1.05; letter-spacing:-.055em; margin:0 0 22px; color:#f6f8ff; }
body.is-guest .zylo-login .login-copy>p { color:#bdcbe0; font-size:17px; margin:0; }
.zylo-hero-art { grid-area:art; pointer-events:none; }
.zylo-hero-art img { display:block; width:100%; height:auto; }
.zylo-login .login-card { grid-area:card; width:100%; margin:0; padding:38px 32px 28px; border-radius:28px; }
body.is-guest .zylo-glass {
  position:relative; isolation:isolate; color:#f4f8ff; border:1px solid transparent;
  background:linear-gradient(135deg,#213650f2,#152238f5 48%,#202c49f2) padding-box,linear-gradient(140deg,#7cc8d6b3,#435c80 50%,#a392cdba) border-box;
  box-shadow:inset 0 1px 0 #ffffff14,0 24px 60px #050b1c66;
  -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px);
}
.zylo-glass::before { content:""; position:absolute; inset:-8px; border:1px solid #7893bc29; border-radius:inherit; z-index:-1; pointer-events:none; }
.zylo-login .login-card h2 { color:#f4f8ff; font-size:30px; line-height:1.2; margin-bottom:10px; }
.zylo-login .login-card>p { color:#b9c9e0; margin-bottom:28px; }
.zylo-login .login-card .stack-form { gap:20px; }
body.is-guest .zylo-glass label { color:#d4def0; font-size:14px; }
body.is-guest .zylo-glass input,body.is-guest .zylo-glass select {
  color-scheme:dark; color:#f4f8ff; background:#101b2e; border:1px solid #4a6181; border-radius:12px; min-height:52px; font-size:16px;
}
body.is-guest .zylo-glass input::placeholder { color:#9baec9; }
body.is-guest .zylo-glass input:focus,body.is-guest .zylo-glass select:focus { border-color:#9fdde6; box-shadow:0 0 0 4px #80d4de17; }
body.is-guest .zylo-glass input:-webkit-autofill { -webkit-box-shadow:0 0 0 100px #101b2e inset; -webkit-text-fill-color:#f4f8ff; caret-color:#f4f8ff; }
.zylo-input { position:relative; }
.zylo-input input { padding-left:46px; }
.zylo-field-icon { position:absolute; left:15px; top:15px; color:#90a7c8; pointer-events:none; }
.zylo-field-icon .ui-icon { width:20px; height:20px; }
.zylo-input .password-toggle { top:4px; right:4px; color:#a6bbd7; }
.zylo-input .password-toggle:hover,.zylo-input .password-toggle[aria-pressed="true"] { background:#2a3c57; color:#e4f8ff; }
body.is-guest .zylo-glass .button-primary { min-height:56px; color:#142325; background:#d9f56f; border-radius:999px; box-shadow:0 4px 0 #87a443,0 10px 22px #b6d84719; justify-content:center; font-size:17px; margin:8px 0 0; }
body.is-guest .zylo-glass .button-primary:hover { background:#e5ffa0; box-shadow:0 5px 0 #87a443,0 12px 26px #b6d84726; }
body.is-guest .zylo-glass .button-primary:active { transform:translateY(2px); box-shadow:0 2px 0 #87a443; }
body.is-guest .zylo-glass .button-secondary { min-height:52px; color:#edf7ff; background:#12273a; border:1px solid #71bccda1; border-radius:999px; font-size:16px; box-shadow:inset 0 1px 0 #ffffff0a; }
body.is-guest .zylo-glass .button-secondary:hover { background:#213d50; border-color:#a2e2ea; }
.zylo-divider { display:flex; align-items:center; gap:16px; color:#a1b6d2; margin:24px 0; font-size:13px; }
.zylo-divider::before,.zylo-divider::after { content:""; height:1px; flex:1; background:#718bad40; }
.zylo-login .login-card .form-note { color:#b9c9e0; border-color:#718bad40; margin:24px 0 0; padding-top:20px; font-size:12px!important; line-height:1.7; }
body.is-guest .zylo-glass :focus-visible { outline:3px solid #d9f56f; outline-offset:4px; }
body.is-guest .zylo-glass .notice-error { color:#74253a; background:#ffe8ed; border-color:#ffb9c9; }
.zylo-signup .back-link { color:#cdddf3; }
.zylo-signup .zylo-glass { padding:32px; margin-top:20px; }
.zylo-signup h1 { color:#f4f8ff; }
.zylo-signup .eyebrow { color:#d9f56f; }
.zylo-signup p,.zylo-signup .helper,.zylo-signup small { color:#bdcbe0; }
.zylo-signup .helper { line-height:1.7; }
@media(max-width:1050px) {
  .zylo-login .login-grid { column-gap:36px; }
  .zylo-login .login-card { padding:30px 25px 24px; }
  .zylo-login .login-card h2 { font-size:27px; }
}
@media(max-width:800px) {
  .zylo-login .login-grid { grid-template-columns:minmax(0,1fr); grid-template-areas:"copy" "card" "art"; max-width:540px; gap:34px; }
  body.is-guest .zylo-login { padding:32px 0 40px; }
  .zylo-login .login-copy h1 { font-size:56px; }
  .zylo-hero-art { max-width:460px; justify-self:center; }
  .zylo-login .login-card { padding:32px; }
}
@media(max-width:480px) {
  .brand .brand-domain { font-size:25px; }
  .zylo-login .login-copy h1 { font-size:46px; margin-bottom:14px; }
  body.is-guest .zylo-login .login-copy>p { font-size:15px; }
  .zylo-login .login-card { padding:28px 22px 24px; border-radius:23px; }
  .zylo-login .login-card h2 { font-size:26px; }
  .zylo-signup .zylo-glass { padding:24px 20px; }
  .zylo-signup .eyebrow { font-size:10px; letter-spacing:.7px; }
}
