/* Login geometry and styling matched to CEA DMS. */
html{font-size:16px;color-scheme:dark}button,input{font:inherit}a{text-decoration:none}
*{box-sizing:border-box}.scheduler-login-exact{min-height:100vh;margin:0;padding:24px;overflow:hidden;display:flex;align-items:center;justify-content:center;font-family:Helvetica,Arial,sans-serif;color:#e7eef1;background:linear-gradient(145deg,#001d2a 0%,#002a3a 50%,#073747 100%)}
.scheduler-login-exact:before,.scheduler-login-exact:after{content:"";position:fixed;border-radius:50%;pointer-events:none}
.scheduler-login-exact:before{width:540px;height:540px;left:-220px;top:-220px;background:radial-gradient(circle,rgba(23,158,217,.14),transparent 68%)}
.scheduler-login-exact:after{width:620px;height:620px;right:-260px;bottom:-310px;background:radial-gradient(circle,rgba(9,99,138,.18),transparent 68%)}
.scheduler-login-exact .login-shell{width:min(560px,100%);position:relative;z-index:1}
.scheduler-login-exact .login-reference-card{width:min(560px,100%);margin:0 auto;padding:30px 38px 32px;border-radius:20px;background-color:rgba(24,63,82,.28);background-image:linear-gradient(135deg,rgba(255,255,255,.075) 0%,rgba(255,255,255,.022) 40%,rgba(21,61,79,.18) 100%);border:1px solid rgba(160,205,220,.34);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),inset 0 -1px 0 rgba(0,0,0,.08),0 24px 60px rgba(0,0,0,.22);-webkit-backdrop-filter:blur(24px) saturate(145%) brightness(1.04);backdrop-filter:blur(24px) saturate(145%) brightness(1.04)}
.scheduler-login-exact .login-brand-row{display:flex;align-items:center;justify-content:center;gap:18px;padding:2px 4px 18px}
.register-login-logo{width:82px;height:82px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.register-login-logo img{display:block;width:78px;height:78px;filter:brightness(0) invert(1) drop-shadow(0 5px 12px rgba(0,0,0,.18))}
.scheduler-login-exact .login-brand-main{display:flex;align-items:center;gap:12px;color:#fff;white-space:nowrap}
.scheduler-login-exact .login-brand-cea{font-size:34px;line-height:1;font-weight:700;letter-spacing:.01em}
.scheduler-login-exact .login-brand-divider{display:block;width:1px;height:32px;background:rgba(255,255,255,.78)}
.scheduler-login-exact .login-brand-rmm{font-size:27px;line-height:1;font-weight:500}
.scheduler-login-exact .login-brand-subtitle{margin-top:7px;color:#e2edf1;font-size:15px;font-weight:400;white-space:nowrap}
.scheduler-login-exact .login-reference-separator{height:1px;width:100%;background:rgba(160,205,220,.20);margin:2px 0 24px}
.scheduler-login-exact .login-reference-heading{text-align:center;margin-bottom:24px}
.scheduler-login-exact .login-reference-heading h1{margin:0 0 7px;color:#fff;font-size:26px;line-height:1.2;font-weight:700}
.scheduler-login-exact .login-reference-heading p{margin:0;color:#b8c8ce;font-size:13px;font-weight:400}
.scheduler-login-exact .login-error{font-size:12px;line-height:1.45;color:#ffd9dd;background:rgba(90,37,41,.78);border:1px solid #8d4249;border-radius:9px;padding:10px 12px;margin-bottom:14px}
.scheduler-login-exact .login-reference-field{display:block;margin:15px 0;color:#e7eef1;text-align:left}
.scheduler-login-exact .login-reference-field>span{display:block;margin-bottom:7px;color:#e7eef1;font-size:13px;font-weight:500}
.scheduler-login-exact .login-input-shell{position:relative}
.scheduler-login-exact .login-input-icon{position:absolute;left:13px;top:50%;width:20px;height:20px;transform:translateY(-50%);color:#b9cad0;z-index:2;pointer-events:none}
.scheduler-login-exact .login-input-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.scheduler-login-exact .login-input-shell input{width:100%;height:52px;padding:0 14px 0 45px;border-radius:9px;background:rgba(4,42,58,.68);border:1px solid rgba(87,135,153,.55);color:#fff;outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.scheduler-login-exact .login-input-shell input::placeholder{color:#81969e}
.scheduler-login-exact .login-input-shell input:focus{background:rgba(5,47,64,.78);border-color:#179ed9;box-shadow:0 0 0 2px rgba(23,158,217,.16)}
.scheduler-signin{position:relative;width:100%;height:56px;margin-top:20px;border-radius:9px;border:1px solid rgba(82,190,235,.72);background-image:linear-gradient(180deg,rgba(255,255,255,.14) 0%,rgba(255,255,255,.04) 42%,rgba(0,0,0,.08) 100%),linear-gradient(135deg,#20a9e4 0%,#179ed9 55%,#1288bb 100%);color:#fff;font-size:15px;font-weight:700;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.20),inset 0 -1px 0 rgba(0,0,0,.10),0 2px 7px rgba(0,0,0,.14);transform:none}
.scheduler-signin:hover,.scheduler-signin:focus-visible{background-image:linear-gradient(180deg,rgba(255,255,255,.18) 0%,rgba(255,255,255,.05) 40%,rgba(0,0,0,.14) 100%),linear-gradient(135deg,#168ebb 0%,#107fa9 52%,#0b688d 100%);border-color:rgba(85,188,226,.78);box-shadow:inset 0 1px 0 rgba(255,255,255,.24),inset 0 -1px 0 rgba(0,0,0,.16),0 3px 9px rgba(0,0,0,.19);transform:none}
#loginSignInButton .login-signin-normal,#loginSignInButton .login-signin-busy{position:absolute;inset:0;width:100%;height:100%;align-items:center;justify-content:center}
#loginSignInButton .login-signin-normal{display:flex}#loginSignInButton .login-signin-busy{display:none;gap:10px}#loginSignInButton.signing-in .login-signin-normal{display:none}#loginSignInButton.signing-in .login-signin-busy{display:flex}
.scheduler-login-exact .login-wait-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.38);border-top-color:#fff;border-radius:50%;animation:schedulerLoginSpin .75s linear infinite;flex:0 0 auto}
@keyframes schedulerLoginSpin{to{transform:rotate(360deg)}}
.scheduler-login-exact .login-reference-foot{margin-top:22px;color:#c4d3d8;font-size:11px;text-align:center}
.scheduler-login-exact .security-notice{margin-top:18px;color:#9fb3bb;font-size:10px;line-height:1.45;text-align:center}
@media(max-width:640px){.scheduler-login-exact .login-reference-card{padding:26px 22px}.scheduler-login-exact .login-brand-row{gap:12px}.register-login-logo{width:68px;height:68px}.register-login-logo img{width:64px;height:64px}.scheduler-login-exact .login-brand-cea{font-size:28px}.scheduler-login-exact .login-brand-rmm{font-size:22px}.scheduler-login-exact .login-brand-subtitle{font-size:12px}}
/* Dual-login branding and official old-logo placement. */
.scheduler-login-exact .dual-login-brand{display:grid!important;grid-template-columns:82px minmax(0,1fr) 82px;align-items:center;gap:14px;width:100%}
.scheduler-login-exact .dual-login-brand .register-login-logo{width:82px;height:82px}
.scheduler-login-exact .dual-login-brand .register-login-logo img{display:block;width:82px;height:82px;object-fit:contain;filter:drop-shadow(0 5px 12px rgba(0,0,0,.2))}
.scheduler-login-exact .dual-login-brand .login-brand-text{text-align:center;min-width:0}
.scheduler-login-exact .dual-login-brand .login-brand-main{justify-content:center}
.scheduler-login-exact .dual-login-brand .login-brand-subtitle{text-align:center}
/* Keep both DMS login emblems equal to the Admin Panel login-logo scale. */
.scheduler-login-exact .login-reference-card{width:min(620px,100%)!important}
.scheduler-login-exact .dual-login-brand{grid-template-columns:112px minmax(220px,1fr) 112px!important;gap:16px!important}
.scheduler-login-exact .dual-login-brand .register-login-logo,
.scheduler-login-exact .dual-login-brand .register-login-logo img{width:112px!important;height:112px!important}
@media(max-width:640px){
  .scheduler-login-exact .dual-login-brand{grid-template-columns:70px minmax(0,1fr) 70px!important;gap:8px!important}
  .scheduler-login-exact .dual-login-brand .register-login-logo,
  .scheduler-login-exact .dual-login-brand .register-login-logo img{width:70px!important;height:70px!important}
}
@media(max-width:420px){
  .scheduler-login-exact .dual-login-brand{grid-template-columns:58px minmax(0,1fr) 58px!important;gap:6px!important}
  .scheduler-login-exact .dual-login-brand .register-login-logo,
  .scheduler-login-exact .dual-login-brand .register-login-logo img{width:58px!important;height:58px!important}
}

.scheduler-login-exact{overflow:auto}.scheduler-login-exact .login-brand-rmm{color:#0c94bf;font-size:18px}.scheduler-login-exact .login-brand-main{align-items:flex-end}.scheduler-login-exact .login-brand-subtitle{font-size:13px}.scheduler-login-exact .login-brand-divider{align-self:center}.scheduler-login-exact .scheduler-signin{display:flex;align-items:center;justify-content:center;gap:10px}.scheduler-signin svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}@media(max-width:640px){.scheduler-login-exact .dual-login-brand .login-brand-main{gap:8px}.scheduler-login-exact .dual-login-brand .login-brand-cea{font-size:24px}.scheduler-login-exact .dual-login-brand .login-brand-rmm{font-size:16px}.scheduler-login-exact .dual-login-brand .login-brand-divider{height:25px}.scheduler-login-exact .dual-login-brand .login-brand-subtitle{font-size:10px;white-space:normal}}@media(max-width:420px){.scheduler-login-exact .dual-login-brand .login-brand-cea{font-size:21px}.scheduler-login-exact .dual-login-brand .login-brand-rmm{font-size:14px}.scheduler-login-exact .dual-login-brand .login-brand-main{gap:6px}}
