:root{--navy:#071426;--navy2:#0b203b;--blue:#347cff;--blue2:#68a0ff;--mint:#4ee1b2;--ink:#142238;--muted:#697991;--line:#dfe7f1}
*{box-sizing:border-box}html,body{min-height:100%}
body.publisher-login-page{margin:0!important;width:100%;height:100dvh;min-height:0;overflow:hidden;color:var(--ink);background:linear-gradient(115deg,#071426 0,#0a1c33 46%,#edf3fb 46%,#f7f9fc 100%)!important;font-family:"Inter",ui-sans-serif,system-ui,sans-serif!important;-webkit-font-smoothing:antialiased}
.publisher-login-page h1,.publisher-login-page h2,.publisher-login-page h3,.publisher-login-page .navbar-brand,.publisher-login-page .big{font-family:"Plus Jakarta Sans","Inter",sans-serif}
.publisher-login-page .navbar{height:82px;margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.publisher-login-page .navbar .container{max-width:1180px}
.publisher-login-page .navbar-brand{display:flex;align-items:center;gap:11px;color:#fff!important;font-size:1rem!important;line-height:1.05;letter-spacing:-.03em}
.publisher-login-page .navbar-brand small{display:block;margin-top:4px;color:#9cb0c9;font:700 8px/1 "Inter",sans-serif;letter-spacing:.16em;text-transform:uppercase}
.login-brand-mark{width:38px;height:38px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--blue),var(--blue2));border-radius:11px;font-size:1rem;box-shadow:0 8px 24px rgba(52,124,255,.35)}
.publisher-login-page .navbar-toggler{border-color:rgba(255,255,255,.25);filter:invert(1)}
.publisher-login-page .navbar-nav{gap:.2rem}.publisher-login-page .nav-link{padding:.52rem .75rem!important;color:#aebed1!important;border-radius:8px;font-size:.75rem;font-weight:650}.publisher-login-page .nav-link:hover,.publisher-login-page .nav-link.active{color:#fff!important;background:rgba(255,255,255,.08)}
.login-top-nav{display:flex;align-items:center;gap:5px;margin-left:auto;padding:5px;background:rgba(255,255,255,.68);border:1px solid #e0e7f0;border-radius:11px;box-shadow:0 7px 24px rgba(17,35,64,.05)}.login-top-nav>a{display:inline-flex;align-items:center;min-height:35px;padding:0 11px;color:#53647b;text-decoration:none;border-radius:7px;font-size:.7rem;font-weight:700;white-space:nowrap;transition:.18s}.login-top-nav>a:hover{color:#174f9f;background:#edf4ff}.login-top-nav .top-signup{color:#fff;background:#347cff}.login-top-nav .top-signup:hover{color:#fff;background:#236bea}.back-to-site{gap:6px;border-left:1px solid #dfe6ef;border-radius:0 7px 7px 0!important}
.publisher-login-page .page-wrap{width:100%;max-width:1180px;height:100dvh;min-height:0;margin:0 auto;padding:100px 20px 20px;display:flex;align-items:stretch}
.publisher-login-page .shell{width:100%;height:100%;max-height:none;overflow:hidden;background:#fff;border:1px solid rgba(255,255,255,.22);border-radius:20px;box-shadow:0 32px 85px rgba(3,15,31,.28)}
.publisher-login-page .shell>.row{height:100%}.publisher-login-page .shell>.row>[class*="col-"]{height:100%}
.publisher-login-page .login-panel{display:flex;flex-direction:column;justify-content:center;height:100%;min-height:0;padding:clamp(28px,5vh,48px) 58px;background:#fff}
.publisher-login-page .brand-pill{display:inline-flex;align-self:flex-start;align-items:center;gap:9px;margin-bottom:22px;padding:7px 11px;color:#3264ae;background:#eef4ff;border:1px solid #dae7ff;border-radius:999px;font-size:.68rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase}
.publisher-login-page .brand-pill span{width:7px;height:7px;background:#25bd8c;border-radius:50%;box-shadow:0 0 0 4px rgba(37,189,140,.13)}
.publisher-login-page .h-title{margin:0 0 10px;color:var(--navy);font-size:clamp(2rem,3vw,2.75rem);font-weight:800;letter-spacing:-.055em}
.publisher-login-page .sub{max-width:410px;margin:0 0 30px;color:var(--muted);font-size:.92rem;line-height:1.6}
.publisher-login-page .form-label{margin-bottom:8px;color:#334258;font-size:.72rem;font-weight:750;letter-spacing:.015em}
.publisher-login-page .form-control{height:50px;margin:0!important;padding:0 15px;color:var(--ink)!important;background:#f8fafc!important;border:1px solid #dce4ee!important;border-radius:10px!important;font-size:.86rem;box-shadow:none!important}
.publisher-login-page .form-control::placeholder{color:#98a4b5}.publisher-login-page .form-control:focus{background:#fff!important;border-color:var(--blue)!important;box-shadow:0 0 0 4px rgba(52,124,255,.1)!important}
.password-field{position:relative}.password-field .form-control{padding-right:50px}.password-toggle{position:absolute;right:7px;top:50%;width:37px;height:37px;display:grid;place-items:center;padding:0;transform:translateY(-50%);color:#7e8ca0;background:transparent;border:0;border-radius:8px}.password-toggle:hover{color:#326fd5;background:#edf4ff}.password-toggle:focus-visible{outline:3px solid rgba(52,124,255,.2)}.eye-icon{position:relative;width:18px;height:12px;border:1.8px solid currentColor;border-radius:50% 0 50% 0;transform:rotate(45deg)}.eye-icon:after{content:"";position:absolute;width:5px;height:5px;left:5px;top:2px;background:currentColor;border-radius:50%}.password-toggle[aria-pressed="true"] .eye-icon:before{content:"";position:absolute;width:22px;height:2px;left:-3px;top:4px;background:#7e8ca0;transform:rotate(-45deg);z-index:2}
.publisher-login-page .link-muted{color:#326fd5;text-decoration:none;font-size:.76rem;font-weight:700}.publisher-login-page .link-muted:hover{color:#1754bd;text-decoration:underline}
.publisher-login-page .btn-primary{min-height:51px;display:flex;align-items:center;justify-content:center;gap:10px;padding:0 18px;color:#fff;background:linear-gradient(135deg,#236bea,#4388ff)!important;border:0!important;border-radius:10px!important;font-size:.86rem;font-weight:750;box-shadow:0 12px 25px rgba(52,124,255,.24)!important;transition:.2s}.publisher-login-page .btn-primary:hover{transform:translateY(-1px);box-shadow:0 16px 30px rgba(52,124,255,.3)!important}
.publisher-login-page .login-panel>.small{padding-top:18px;margin-top:20px!important;border-top:1px solid var(--line);color:#7b889a!important;font-size:.76rem}
.login-security-note{display:flex;align-items:center;gap:11px;margin-top:20px;padding:12px 13px;color:#5e6e83;background:#f7f9fc;border:1px solid #e5ebf2;border-radius:9px;font-size:.69rem;line-height:1.35}.login-security-note>span:first-child{width:25px;height:25px;display:grid;place-items:center;flex:0 0 auto;color:#14855f;background:#e3f7ef;border-radius:50%;font-weight:900}.login-security-note strong{display:block;color:#334258;font-size:.72rem}
.publisher-login-page .promo-panel{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;height:100%;min-height:0;padding:clamp(28px,5vh,48px) 54px;color:#fff;background:radial-gradient(circle at 85% 15%,rgba(52,124,255,.45),transparent 31%),linear-gradient(145deg,#071426,#0b2340)!important;border:0!important}
.publisher-login-page .promo-panel:after{content:"";position:absolute;width:380px;height:380px;right:-225px;bottom:-195px;border:1px solid rgba(103,158,255,.2);border-radius:50%;box-shadow:0 0 0 65px rgba(74,134,244,.055),0 0 0 130px rgba(74,134,244,.035)}
.publisher-login-page .promo-badge{align-self:flex-start;position:relative;z-index:1;padding:0;color:#a9c7fb;background:none;font-size:.68rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.publisher-login-page .promo-badge:before{content:"";display:inline-block;width:24px;height:2px;margin:0 9px 3px 0;background:var(--mint)}
.publisher-login-page .big{position:relative;z-index:1;max-width:500px;margin:20px 0 15px;color:#fff;font-size:clamp(2rem,3.3vw,3.25rem);font-weight:750;line-height:1.12;letter-spacing:-.055em}
.publisher-login-page .lead{position:relative;z-index:1;max-width:520px;margin-bottom:27px;color:#aebfd3;font-size:.94rem;line-height:1.7}
.publisher-login-page .feature-list{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:0;padding:0;list-style:none}.publisher-login-page .feature-list li{position:relative;margin:0;padding:15px 15px 15px 42px;color:#bdcce0;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1);border-radius:10px;font-size:.75rem;line-height:1.45}.publisher-login-page .feature-list li:before{content:"✓";position:absolute;left:15px;top:15px;color:var(--mint);font-weight:900}.publisher-login-page .feature-list strong{display:block;color:#fff;font-size:.78rem}
.publisher-login-page .highlight,.publisher-login-page .cards,.publisher-login-page .cta-row,.publisher-login-page .terms,.publisher-login-page .dropup{display:none!important}
.publisher-login-page .alert{padding:.75rem 1rem;border:1px solid #f4c9cf;border-radius:9px;font-size:.78rem}
@media(max-width:991.98px){body.publisher-login-page{height:auto;min-height:100vh;overflow:auto;background:#eef3f9!important}.publisher-login-page .navbar{height:auto;min-height:72px;padding:.6rem 0!important;background:var(--navy)!important}.login-top-nav{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);box-shadow:none}.login-top-nav>a{color:#b7c6d8}.login-top-nav>a:hover{color:#fff;background:rgba(255,255,255,.1)}.login-top-nav .top-signup{color:#fff;background:#347cff}.back-to-site{border-left-color:rgba(255,255,255,.15)}.publisher-login-page .navbar-collapse{padding-top:.65rem}.publisher-login-page .page-wrap{height:auto;min-height:0;padding-top:92px;display:block}.publisher-login-page .shell>.row,.publisher-login-page .shell>.row>[class*="col-"]{height:auto}.publisher-login-page .promo-panel,.publisher-login-page .login-panel{height:auto;min-height:auto}.publisher-login-page .promo-panel{border-radius:0}}
@media(max-width:740px){.login-top-nav>a:not(.top-signup):not(.back-to-site){display:none}}
@media(max-width:575.98px){.publisher-login-page .page-wrap{padding:18px 12px 45px}.publisher-login-page .shell{border-radius:15px}.publisher-login-page .login-panel,.publisher-login-page .promo-panel{padding:38px 25px}.publisher-login-page .feature-list{grid-template-columns:1fr}.publisher-login-page .big{font-size:2.05rem}}
@media(min-width:992px) and (max-height:820px){.publisher-login-page .page-wrap{padding-top:88px;padding-bottom:14px}.publisher-login-page .login-panel,.publisher-login-page .promo-panel{padding-top:22px;padding-bottom:22px}.publisher-login-page .brand-pill{margin-bottom:11px}.publisher-login-page .h-title{font-size:1.95rem}.publisher-login-page .sub{margin-bottom:14px}.publisher-login-page .form-control{height:42px}.publisher-login-page .btn-primary{min-height:43px}.login-security-note{margin-top:10px;padding:7px 10px}.publisher-login-page .login-panel>.small{padding-top:9px;margin-top:10px!important}.publisher-login-page .big{margin-top:11px;font-size:2.2rem}.publisher-login-page .lead{margin-bottom:13px}.publisher-login-page .feature-list{gap:7px}.publisher-login-page .feature-list li{padding-top:8px;padding-bottom:8px}.publisher-login-page .feature-list li:before{top:8px}}

/* Fixed desktop composition: the complete card always stays inside the viewport. */
@media(min-width:992px){
  .publisher-login-page .page-wrap{max-width:1160px;height:100dvh;padding:88px 20px 12px;align-items:flex-start;justify-content:center}
  .publisher-login-page .shell{height:min(690px,calc(100dvh - 100px));max-height:690px}
  .publisher-login-page .login-panel{padding:30px 54px}
  .publisher-login-page .promo-panel{padding:34px 50px}
  .publisher-login-page .brand-pill{margin-bottom:13px}
  .publisher-login-page .h-title{margin-bottom:7px;font-size:clamp(1.95rem,2.8vw,2.45rem)}
  .publisher-login-page .sub{margin-bottom:17px;font-size:.86rem}
  .publisher-login-page .form-control{height:46px}
  .publisher-login-page .btn-primary{min-height:47px}
  .login-security-note{margin-top:11px;padding:8px 10px}
  .publisher-login-page .login-panel>.small{padding-top:10px;margin-top:11px!important}
  .publisher-login-page .big{margin:14px 0 10px;font-size:clamp(2rem,2.9vw,2.7rem)}
  .publisher-login-page .lead{margin-bottom:16px;font-size:.86rem}
  .publisher-login-page .feature-list{gap:8px}
  .publisher-login-page .feature-list li{padding:10px 10px 10px 38px}
  .publisher-login-page .feature-list li:before{top:10px}
}

/* Centered two-panel sign-in experience. */
body.publisher-login-page{background:radial-gradient(circle at 18% 18%,rgba(52,124,255,.14),transparent 28rem),linear-gradient(145deg,#071426,#0b203b)!important}
.publisher-login-page>.navbar{display:none!important}
.publisher-login-page .page-wrap{max-width:1040px;padding:22px!important;align-items:center!important}
.publisher-login-page .shell{height:min(650px,calc(100dvh - 44px))!important;max-height:650px!important;border:1px solid rgba(255,255,255,.13);border-radius:18px;box-shadow:0 34px 90px rgba(0,0,0,.42)}
.publisher-login-page .shell>.row{flex-direction:row-reverse}
.publisher-login-page .shell>.row>[class*="col-"]{width:50%;flex:0 0 50%;max-width:50%}
.publisher-login-page .login-panel{padding:44px 50px!important;background:#fff}
.publisher-login-page .brand-pill{margin-bottom:17px;padding:6px 10px;font-size:.61rem}
.publisher-login-page .h-title{font-size:2rem!important;letter-spacing:-.045em}
.publisher-login-page .sub{margin-bottom:24px;font-size:.81rem}
.publisher-login-page .form-label{font-size:.68rem}
.publisher-login-page .form-control{height:46px!important;background:#f6f8fb!important}
.publisher-login-page .btn-primary{min-height:47px!important}
.publisher-login-page .promo-panel{position:relative;padding:0!important;background:radial-gradient(circle at 78% 18%,rgba(74,139,255,.32),transparent 27%),linear-gradient(150deg,#071426,#0b2343 60%,#164d97)!important}
.publisher-login-page .promo-badge,.publisher-login-page .promo-panel>.big,.publisher-login-page .promo-panel>.lead,.publisher-login-page .promo-panel>.feature-list{display:none!important}
.visual-top{position:absolute;z-index:4;top:28px;left:30px;right:30px;display:flex;align-items:center;justify-content:space-between}
.visual-brand{display:flex;align-items:center;gap:9px;color:#fff;text-decoration:none}.visual-brand>span{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:linear-gradient(145deg,#347cff,#6da4ff);font-size:.82rem;font-weight:800;box-shadow:0 7px 20px rgba(52,124,255,.34)}.visual-brand strong{font:750 .82rem/1.05 "Plus Jakarta Sans",sans-serif}.visual-brand small{display:block;margin-top:3px;color:#8fa8c7;font:700 6px/1 "Inter",sans-serif;letter-spacing:.15em;text-transform:uppercase}
.visual-back{padding:7px 9px;color:#b4c6dc;text-decoration:none;border:1px solid rgba(255,255,255,.14);border-radius:7px;font-size:.61rem;font-weight:650}.visual-back:hover{color:#fff;background:rgba(255,255,255,.08)}
.visual-nav{display:flex;align-items:center;gap:2px;padding:3px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.13);border-radius:9px;backdrop-filter:blur(10px)}.visual-nav a{min-height:29px;display:inline-flex;align-items:center;padding:0 9px;color:#abc0d9;text-decoration:none;border-radius:6px;font-size:.58rem;font-weight:700;white-space:nowrap;transition:.18s}.visual-nav a:hover{color:#fff;background:rgba(255,255,255,.09)}.visual-nav .visual-signup{color:#fff;background:#347cff}.visual-nav .visual-signup:hover{background:#4b8cff}
@media(min-width:992px) and (max-width:1120px){.visual-nav a{padding-inline:7px}.visual-brand strong{font-size:.75rem}.visual-top{left:24px;right:24px}}
.visual-art{position:absolute;z-index:1;inset:0;overflow:hidden}.visual-art:before,.visual-art:after{content:"";position:absolute;border-radius:50%;filter:blur(.2px)}.visual-art:before{width:480px;height:480px;left:-230px;top:100px;border:1px solid rgba(100,156,255,.2);box-shadow:0 0 0 70px rgba(66,128,239,.05),0 0 0 140px rgba(66,128,239,.035)}.visual-art:after{width:420px;height:420px;right:-270px;bottom:-155px;border:1px solid rgba(91,226,188,.18);box-shadow:0 0 0 58px rgba(61,143,255,.07),0 0 0 116px rgba(61,143,255,.04)}.visual-art i{position:absolute;display:block;height:1px;background:linear-gradient(90deg,transparent,rgba(108,161,255,.52),transparent);transform:rotate(-18deg)}.visual-art i:nth-child(1){width:650px;left:-80px;top:220px}.visual-art i:nth-child(2){width:560px;left:20px;top:280px}.visual-art i:nth-child(3){width:470px;left:90px;top:340px}.visual-art span{position:absolute;width:9px;height:9px;right:26%;top:34%;border-radius:50%;background:#4ee1b2;box-shadow:0 0 0 8px rgba(78,225,178,.09),0 0 24px rgba(78,225,178,.5)}
.visual-caption{position:absolute;z-index:3;left:42px;right:42px;bottom:43px}.visual-caption h2{margin:0;color:#fff;font:750 2.35rem/1.1 "Plus Jakarta Sans",sans-serif;letter-spacing:-.055em}.visual-caption p{max-width:330px;margin:14px 0 0;color:#aebfd4;font-size:.78rem;line-height:1.55}
.publisher-login-page .login-security-note{margin-top:13px}.publisher-login-page .login-panel>.small{margin-top:13px!important;padding-top:12px}
@media(min-width:992px) and (max-height:700px){.publisher-login-page .shell{height:calc(100dvh - 28px)!important}.publisher-login-page .login-panel{padding-top:24px!important;padding-bottom:24px!important}.publisher-login-page .brand-pill{margin-bottom:10px}.publisher-login-page .sub{margin-bottom:14px}.publisher-login-page .form-control{height:40px!important}.publisher-login-page .btn-primary{min-height:42px!important}.publisher-login-page .login-security-note{margin-top:8px}.publisher-login-page .login-panel>.small{margin-top:8px!important;padding-top:8px}.visual-caption{bottom:28px}.visual-caption h2{font-size:1.95rem}}
@media(max-width:991.98px){body.publisher-login-page{height:auto;overflow:auto}.publisher-login-page .page-wrap{padding:18px!important}.publisher-login-page .shell{height:auto!important;max-height:none!important}.publisher-login-page .shell>.row{flex-direction:column}.publisher-login-page .shell>.row>[class*="col-"]{width:100%;height:auto;max-width:100%;flex:0 0 auto}.publisher-login-page .login-panel{padding:40px 30px!important}.publisher-login-page .promo-panel{display:none}}

/* Keep the full portal navigation within the existing visual panel. */
.visual-top{flex-wrap:wrap;gap:16px}
.visual-nav{flex-wrap:wrap;max-width:100%}
.visual-nav a{padding-inline:7px}
.publisher-login-page .h-title{font-weight:800!important}

@media (max-width: 575.98px) {
  .publisher-login-page .form-control { font-size: 16px!important; }
  .publisher-login-page .login-panel { padding: 28px 20px!important; }
  .publisher-login-page .password-toggle { min-width: 44px; min-height: 44px; }
}
