/* Small overlay on Elastic. Keep its responsive layout and keyboard behaviour. */
:root { --mr-blue: #238ab6; --mr-ink: #0b1019; }
.btn-primary { background-color: #076b91; border-color: #076b91; }
.btn-primary:hover, .btn-primary:focus { background-color: #075574; border-color: #075574; }
.btn:focus-visible, a:focus-visible { outline: 3px solid #81adff; outline-offset: 3px; }
#layout-menu { background: #0b1323; }
#taskmenu a { color: #bdcbe2; }
#taskmenu a.selected, #taskmenu a:hover { color: #fff; background-color: #234275; }
#taskmenu a.compose { background: #076b91; color: #fff; }
#layout-menu #logo { object-fit: contain; }
.listing li.selected > a, .listing tr.selected td { background-color: #e7efff; color: #173b82; }
html.dark-mode .listing li.selected > a, html.dark-mode .listing tr.selected td { background-color: #233e68; color: #edf3ff; }
body.task-login { background: #0a0f18; color: #eef3ff; }
body.task-login #layout { background: transparent; }
body.task-login #layout-content.mr-login {
  display: flex; flex-direction: column; width: 100%; max-width: none;
  height: 100%; min-height: 100dvh; padding: 0 clamp(24px, 6vw, 96px);
  overflow-y: auto; text-align: left; background: radial-gradient(ellipse at 18% 50%, #10203b 0, transparent 55%), #0a0f18;
}
.mr-masthead { display: flex; align-items: center; justify-content: space-between; padding: 30px 0; border-bottom: 1px solid #243046; }
.mr-masthead img { width: 160px; height: auto; display: block; }
.mr-masthead > span { color: #b9c9e5; letter-spacing: .22em; font-size: 12px; font-weight: 700; }
.mr-login-grid { width: 100%; max-width: 1120px; margin: auto; padding: 64px 0; display: grid; grid-template-columns: 1.2fr 1fr; gap: clamp(40px, 7vw, 112px); align-items: center; }
.mr-eyebrow { color: #88adff; font-size: 12px; font-weight: 700; letter-spacing: .17em; margin: 0 0 24px; }
.mr-intro h1 { color: #f0f5ff; font-size: clamp(34px, 4vw, 58px); line-height: 1.12; letter-spacing: -.035em; font-weight: 650; margin: 0 0 24px; }
.mr-description { color: #b5c3d9; font-size: 17px; line-height: 1.7; max-width: 350px; }
.mr-domain { margin-top: 44px; color: #b9c9e5; display: flex; gap: 12px; align-items: center; font-size: 14px; }
.mr-domain > span { display: inline-grid; place-items: center; width: 36px; height: 36px; background: #172d50; border: 1px solid #325384; border-radius: 10px; color: #90b9ff; font-size: 20px; }
.mr-card { background: #121c2c; border: 1px solid #2b3c55; padding: 36px; border-radius: 18px; box-shadow: 0 24px 70px #0003; }
.mr-card h2 { font-size: 26px; letter-spacing: -.025em; color: #f0f5ff; margin: 0 0 10px; }
.mr-card-description { color: #b5c3d9; margin: 0 0 28px; }
body.task-login #login-form { position: static; top: auto; width: 100%; max-width: none; margin: 0; text-align: left; }
body.task-login #login-form .input-group { margin-bottom: 16px; }
body.task-login #login-form .form-control { height: 48px; color: #f3f6ff; background: #0b1422; border-color: #41516b; font-size: 15px; }
body.task-login #login-form .form-control::placeholder { color: #acbad0; opacity: 1; }
body.task-login #login-form .form-control:focus { border-color: #8eafff; box-shadow: 0 0 0 3px #238ab638; }
body.task-login #login-form .input-group-text { color: #a7bedf; background: #172337; border-color: #41516b; }
body.task-login #login-form button { min-height: 48px; border-radius: 6px; font-weight: 600; letter-spacing: .03em; }
.mr-help { color: #b5c3d9; font-size: 13px; line-height: 1.65; margin: 22px 0 0; }
.mr-help strong { font-weight: 500; color: #dbe7fa; }
body.task-login #login-footer { margin: 0; }
.mr-footer { display: flex; justify-content: space-between; gap: 20px; padding: 24px 0; border-top: 1px solid #243046; color: #9aabc4; font-size: 12px; }
.mr-footer a { color: #b9cfff; }
@media (max-width: 760px) {
  .mr-masthead { padding: 20px 0; }
  .mr-masthead img { width: 135px; }
  .mr-login-grid { grid-template-columns: 1fr; gap: 28px; padding: 32px 0; max-width: 440px; }
  .mr-eyebrow { margin-bottom: 14px; }
  .mr-intro h1 { font-size: 34px; margin-bottom: 12px; }
  .mr-description { font-size: 15px; margin-bottom: 0; }
  .mr-domain { display: none; }
  .mr-card { padding: 26px 22px; border-radius: 14px; }
  .mr-footer { font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; } }

.mr-masthead img { width: 205px; }

.mr-masthead img { background: #f5f7fb; padding: 8px; border-radius: 8px; }

.ct-wordmark { color: #f0f5ff; font-size: 26px; font-weight: 700; letter-spacing: -.025em; }
.mr-masthead a:hover { text-decoration: none; }
