/* ============================================================
   GoldDesk auth pages — split-screen (login / forgot password)
   Left 70% animated branding, right 30% form.
   ============================================================ */
html,body{ height:100%; }
body.gd-login{ margin:0; background:#0f1620; overflow-x:hidden; }
.gd-wrap{ display:flex; min-height:100vh; }

/* ---------------- LEFT 70% : animated branding ---------------- */
.gd-left{
  flex:0 0 70%; max-width:70%; position:relative; overflow:hidden; color:#fff;
  background:linear-gradient(125deg,#0f1620 0%,#1B2735 42%,#243347 70%,#1a2740 100%);
  background-size:220% 220%; animation:gdGradient 16s ease infinite;
  display:flex; align-items:center; justify-content:center;
}
@keyframes gdGradient{ 0%{background-position:0% 50%} 50%{background-position:100% 50%} 100%{background-position:0% 50%} }
.gd-orb{ position:absolute; border-radius:50%; filter:blur(46px); opacity:.30; animation:gdFloat 14s ease-in-out infinite; }
.gd-orb.o1{ width:340px;height:340px; background:#C7981F; top:-70px; left:-60px; }
.gd-orb.o2{ width:260px;height:260px; background:#E6BA50; bottom:-60px; right:8%; animation-delay:-4s; }
.gd-orb.o3{ width:200px;height:200px; background:#3a5a8c; top:40%; right:-40px; animation-delay:-8s; opacity:.22; }
@keyframes gdFloat{ 0%,100%{transform:translateY(0) translateX(0)} 50%{transform:translateY(-30px) translateX(18px)} }
.gd-star{ position:absolute; color:#F7E28E; opacity:0; animation:gdTwinkle 4s ease-in-out infinite; text-shadow:0 0 8px rgba(230,186,80,.8); }
@keyframes gdTwinkle{ 0%,100%{opacity:0; transform:scale(.4)} 50%{opacity:.9; transform:scale(1)} }

/* Franchise variant — distinct emerald/teal + gold wallpaper (different from HO navy) */
.gd-left.gd-left-fr{ background:linear-gradient(125deg,#0b241f 0%,#124a3c 36%,#173d47 66%,#131c27 100%); background-size:220% 220%; }
.gd-left-fr .gd-orb.o1{ background:#2fae8f; }
.gd-left-fr .gd-orb.o2{ background:#E6BA50; }
.gd-left-fr .gd-orb.o3{ background:#1f8f7a; opacity:.28; }
.gd-left-fr .gd-hero-title b{ color:#4fd8b4; }
.gd-left-fr .gd-features li{ border-color:rgba(79,216,180,.20); }
.gd-left-fr .gd-features li .fa{ background:linear-gradient(135deg,#4fd8b4,#1f8f7a); color:#08201b; box-shadow:0 4px 12px rgba(31,143,122,.35); }
.gd-left-fr .gd-features li.gd-active{ background:rgba(79,216,180,.12); border-color:rgba(79,216,180,.5); }
.gd-left-fr .gd-star{ color:#8fe9d4; text-shadow:0 0 8px rgba(79,216,180,.8); }

.gd-left-inner{ position:relative; z-index:2; width:78%; max-width:720px; padding:20px; }
.gd-hero-logo{ width:min(420px,60%); height:auto; margin-bottom:26px; filter:drop-shadow(0 6px 24px rgba(0,0,0,.45)); animation:gdRise .8s cubic-bezier(.2,.7,.2,1) both; }
.gd-hero-title{ font-size:30px; font-weight:700; line-height:1.35; margin:0 0 30px; color:#f2f5fa; animation:gdRise .8s .1s cubic-bezier(.2,.7,.2,1) both; }
.gd-hero-title b{ color:#E6BA50; }
@keyframes gdRise{ from{opacity:0; transform:translateY(26px)} to{opacity:1; transform:translateY(0)} }

.gd-features{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:14px 22px; }
.gd-features li{
  display:flex; align-items:flex-start; gap:14px; padding:14px 16px; border-radius:12px;
  background:rgba(255,255,255,.05); border:1px solid rgba(230,186,80,.16); backdrop-filter:blur(4px);
  transition:transform .35s, box-shadow .35s, border-color .35s, background .35s;
  opacity:0; animation:gdRise .7s cubic-bezier(.2,.7,.2,1) both;
}
.gd-features li:nth-child(1){animation-delay:.20s}
.gd-features li:nth-child(2){animation-delay:.32s}
.gd-features li:nth-child(3){animation-delay:.44s}
.gd-features li:nth-child(4){animation-delay:.56s}
.gd-features li:nth-child(5){animation-delay:.68s}
.gd-features li:nth-child(6){animation-delay:.80s}
.gd-features li .fa{
  flex:0 0 auto; width:42px; height:42px; border-radius:10px; font-size:19px; display:flex; align-items:center; justify-content:center;
  color:#1B2735; background:linear-gradient(135deg,#F7E28E,#C7981F); box-shadow:0 4px 12px rgba(199,152,31,.35);
}
.gd-features li b{ display:block; font-size:14.5px; color:#fff; font-weight:600; }
.gd-features li span{ display:block; font-size:12px; color:#aab6c6; margin-top:2px; }
.gd-features li.gd-active{ transform:translateY(-4px) scale(1.03); background:rgba(230,186,80,.12); border-color:rgba(230,186,80,.55); box-shadow:0 10px 26px rgba(0,0,0,.35); }

/* ---------------- RIGHT 30% : form ---------------- */
.gd-right{ flex:0 0 30%; max-width:30%; min-width:330px; background:#f4f6fa; display:flex; align-items:center; justify-content:center; padding:24px; position:relative; }
.gd-right .login-box{ width:100%; max-width:340px; margin:0; }
.gd-right .login-logo{ background:transparent; box-shadow:none; padding:0 0 14px; }
.gd-right .login-logo img{ width:230px; }
.gd-right .login-box-body{ box-shadow:0 12px 34px rgba(20,29,40,.14); border-top:4px solid #C7981F; }
.gd-lang{ position:absolute; top:14px; right:18px; z-index:5; }
/* ---------------- password strength meter ---------------- */
.gd-pw-meter{ margin-top:8px; display:none; }
.gd-pw-meter.show{ display:block; animation:gdRise .3s ease both; }
.gd-pw-bar{ height:6px; border-radius:4px; background:#e6e9ef; overflow:hidden; }
.gd-pw-bar > i{ display:block; height:100%; width:0; border-radius:4px; transition:width .3s ease, background .3s ease; }
.gd-pw-text{ display:inline-block; margin-top:5px; font-size:11.5px; font-weight:600; letter-spacing:.2px; }
/* level colours */
.gd-pw-0 .gd-pw-bar > i{ width:20%;  background:#e74c3c; }  .gd-pw-0 .gd-pw-text{ color:#e74c3c; }
.gd-pw-1 .gd-pw-bar > i{ width:40%;  background:#e67e22; }  .gd-pw-1 .gd-pw-text{ color:#e67e22; }
.gd-pw-2 .gd-pw-bar > i{ width:60%;  background:#f1c40f; }  .gd-pw-2 .gd-pw-text{ color:#c9a406; }
.gd-pw-3 .gd-pw-bar > i{ width:80%;  background:#2ecc71; }  .gd-pw-3 .gd-pw-text{ color:#27ae60; }
.gd-pw-4 .gd-pw-bar > i{ width:100%; background:#27ae60; }  .gd-pw-4 .gd-pw-text{ color:#1e8449; }

/* ---------------- bottom news ticker (marquee) ---------------- */
.gd-ticker{
  position:fixed; left:0; right:0; bottom:0; height:34px; overflow:hidden; z-index:120;
  background:linear-gradient(90deg,#141d28,#1B2735 55%,#243347); border-top:2px solid #C7981F;
  box-shadow:0 -4px 14px rgba(0,0,0,.25); white-space:nowrap;
}
.gd-ticker-track{ display:inline-block; white-space:nowrap; will-change:transform; animation:gdMarquee 34s linear infinite; }
.gd-ticker:hover .gd-ticker-track{ animation-play-state:paused; }
.gd-ticker-item{ display:inline-block; padding:0 55px; line-height:34px; font-size:12.5px; letter-spacing:.2px; color:#e9edf3; }
.gd-ticker-item b{ color:#E6BA50; font-weight:600; }
.gd-ticker-item .fa{ color:#C7981F; }
@keyframes gdMarquee{ from{transform:translateX(0)} to{transform:translateX(-50%)} }
/* keep form clear of the fixed ticker */
.gd-right{ padding-bottom:46px; }

@media (max-width:992px){
  .gd-left{ display:none; }
  .gd-right{ flex-basis:100%; max-width:100%; background:transparent; }
  body.gd-login{ background:linear-gradient(160deg,#1B2735,#243347); }
  .gd-right .login-logo{ background:#fff; padding:20px; border-radius:12px; box-shadow:0 10px 30px rgba(0,0,0,.28); }
}
