.login-bg .login-panel-wrap{width:460px!important;height:460px}.login-bg .login-card{width:100%;height:100%;border-radius:50%!important}.login-bg .login-card .card-body{height:100%;padding:57px 68px!important;display:flex;flex-direction:column;justify-content:center}.login-bg .login-pane-header{margin-bottom:20px!important}.login-bg .login-pane-eyebrow{width:202px;height:52px;margin-bottom:8px!important}.login-bg .login-pane-title{font-size:22px!important}.login-bg .login-card form .mb-3{margin-bottom:11px!important}.login-bg .login-card form .mb-4{margin-bottom:14px!important}.login-bg .login-input{height:41px!important}.login-bg .login-submit{height:43px!important}
.login-bg .login-register-link{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:13px;padding:8px 10px;border:1px solid rgba(103,232,249,.26);border-radius:11px;background:linear-gradient(100deg,rgba(34,211,238,.10),rgba(250,204,21,.07));color:#dffbff;font-size:11px;font-weight:700;line-height:1.2;text-decoration:none;box-shadow:inset 0 1px rgba(255,255,255,.08);transition:transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease}.login-bg .login-register-link span{color:rgba(226,245,239,.68);font-weight:500}.login-bg .login-register-link i{font-size:13px;transition:transform .2s ease}.login-bg .login-register-link:hover,.login-bg .login-register-link:focus-visible{color:#fff;border-color:rgba(250,204,21,.56);background:linear-gradient(100deg,rgba(34,211,238,.19),rgba(250,204,21,.16));transform:translateY(-1px)}.login-bg .login-register-link:hover i,.login-bg .login-register-link:focus-visible i{transform:translateX(3px)}
.login-request-notice{position:fixed;top:22px;left:50%;z-index:10020;display:flex;align-items:center;gap:9px;width:min(calc(100vw - 32px),460px);padding:12px 15px;border:1px solid;border-radius:12px;transform:translateX(-50%);box-shadow:0 14px 35px rgba(2,6,23,.28);font-size:12px;font-weight:600;transition:opacity .25s ease,transform .25s ease}.login-request-notice.is-hiding{opacity:0;transform:translate(-50%,-10px)}.login-request-notice-success{border-color:rgba(134,239,172,.42);background:rgba(20,83,45,.94);color:#dcfce7}.login-request-notice-error{border-color:rgba(253,164,175,.44);background:rgba(127,29,29,.94);color:#ffe4e6}.login-request-notice i{font-size:16px}@media(max-width:540px){.login-request-notice{top:12px;font-size:11px}}
.login-register-modal .modal-content{overflow:hidden;border:1px solid rgba(125,211,252,.30);border-radius:20px;background:linear-gradient(145deg,#0b2538,#102f3d);box-shadow:0 24px 64px rgba(2,6,23,.48);color:#f8fafc}.login-register-modal .modal-header{align-items:flex-start;padding:25px 26px 20px;border-color:rgba(186,230,253,.14)}.login-register-modal .modal-header h2{margin:8px 0 6px;font:700 25px/1.15 Manrope}.login-register-modal .modal-header p{margin:0;color:rgba(226,245,239,.67);font-size:12px;line-height:1.5}.login-register-kicker{display:inline-flex;align-items:center;gap:7px;color:#7dd3fc;font-size:10px;font-weight:800;letter-spacing:.12em}.login-register-modal .modal-body{padding:24px 26px}.login-register-modal .form-label{display:block;margin-bottom:7px;color:rgba(226,245,239,.78);font-size:11px;font-weight:700}.login-register-modal .form-label span{color:#facc15}.login-register-modal .form-control,.login-register-modal .form-select{min-height:45px;border:1px solid rgba(186,230,253,.22);border-radius:10px;background-color:rgba(248,252,255,.96);color:#102b3e;font-size:13px}.login-register-modal .form-control:focus,.login-register-modal .form-select:focus{border-color:#67e8f9;box-shadow:0 0 0 4px rgba(34,211,238,.14)}.login-register-modal .modal-footer{display:flex;align-items:center;gap:9px;padding:17px 26px 23px;border-color:rgba(186,230,253,.14)}.login-register-modal .modal-footer p{flex:1 1 100%;margin:0 0 3px;color:rgba(226,245,239,.58);font-size:11px}.login-register-modal .modal-footer p i{color:#67e8f9}.login-register-modal .modal-footer .btn{min-height:42px;border-radius:10px;font-size:12px;font-weight:700}.login-register-modal .modal-footer .btn-primary:disabled{opacity:.55;cursor:not-allowed}

/* A circular card leaves too little horizontal space for form controls on phones. */
@media(max-width:540px){
  .login-bg .login-shell{min-height:100svh;padding:24px 16px 104px!important}
  .login-bg .login-panel-wrap{width:min(100%,390px)!important;height:auto!important}
  .login-bg .login-card{width:100%!important;height:auto!important;border-radius:20px!important}
  .login-bg .login-card .card-body{height:auto!important;padding:28px 24px!important;display:block!important}
  .login-bg .login-pane-header{margin-bottom:20px!important}
  .login-bg .login-pane-eyebrow{width:176px!important;height:44px!important;margin-bottom:9px!important}
  .login-bg .login-pane-title{font-size:23px!important}
  .login-bg .login-card form .mb-3{margin-bottom:14px!important}
  .login-bg .login-card form .mb-4{margin-bottom:18px!important}
  .login-bg .login-input{display:block!important;width:100%!important;min-width:0!important;height:46px!important;padding:0 14px!important;box-sizing:border-box!important}
  .login-bg .login-submit{width:100%!important;height:46px!important}
  .login-bg .login-register-link{margin-top:16px;padding:10px 12px;border:1px solid rgba(103,232,249,.32);border-radius:12px;background:linear-gradient(100deg,rgba(34,211,238,.14),rgba(250,204,21,.10));font-size:12px;box-shadow:inset 0 1px rgba(255,255,255,.12),0 8px 20px rgba(2,132,199,.12);transition:transform .2s ease,background .2s ease,border-color .2s ease}
  .login-bg .login-register-link span{color:rgba(226,245,239,.70);font-weight:500}
  .login-bg .login-register-link i{font-size:14px;transition:transform .2s ease}
  .login-bg .login-register-link:hover,.login-bg .login-register-link:focus-visible{color:#fff;border-color:rgba(250,204,21,.62);background:linear-gradient(100deg,rgba(34,211,238,.24),rgba(250,204,21,.20));transform:translateY(-1px)}
  .login-bg .login-register-link:hover i,.login-bg .login-register-link:focus-visible i{transform:translateX(3px)}

  /* Keep the decorative portal from competing with the form on small screens. */
  .login-bg .dcc-login-portal,.login-bg .dcc-login-orbit,.login-bg .dcc-login-beam{display:none!important}
  .login-bg .dcc-login-route{opacity:.18!important}
}

@media(max-width:360px){
  .login-bg .login-shell{padding-right:12px!important;padding-left:12px!important}
  .login-bg .login-card .card-body{padding:24px 20px!important}
  .login-bg .login-pane-eyebrow{width:160px!important;height:40px!important}
  .login-bg .login-pane-title{font-size:21px!important}
}
