/* Shared presentation contract. Native application adapters may override layout. */
#bm-login-aside {
  --bm-form-width:clamp(420px,40vw,560px);
  box-sizing:border-box; position:fixed; top:0; bottom:0; left:var(--bm-form-width);
  width:calc(100% - var(--bm-form-width)); height:100vh; height:100svh; min-height:100svh;
  z-index:0; isolation:isolate; overflow:auto;
  display:flex; flex-direction:column; padding:clamp(40px,5vw,88px);
  background:#080f20; color:#f3f7ff; text-align:left;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
#bm-login-aside::before,
#bm-login-aside::after { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; }
#bm-login-aside::before {
  background:url('/bluemoonly-brand/shared/background.png') left top/cover no-repeat;
  background-position:0 0; animation:bm-login-moon-drift 32s ease-in-out infinite alternate;
}
#bm-login-aside::after { background:linear-gradient(180deg,#080f2000 15%,#080f2030 48%,#080f20c4 100%); }
.bm-login-copy {
  position:relative; flex:none; min-width:0; width:100%; max-width:700px; margin-top:auto;
  animation:bm-login-copy-enter .65s cubic-bezier(.2,.7,.3,1) both;
}
.bm-login-eyebrow { margin:0 0 24px; color:#98c8ff; font-size:11px; font-weight:600; line-height:1.6; letter-spacing:2px; }
.bm-login-title {
  margin:0 0 24px; color:#f3f7ff; font-size:clamp(36px,4vw,64px);
  font-weight:600; line-height:1.12; letter-spacing:-1.5px; overflow-wrap:break-word;
}
.bm-login-title>span { display:block; }
.bm-login-title>span:last-child { color:#98c8ff; }
.bm-login-description { max-width:480px; margin:0; color:#cad7e9; font-size:16px; line-height:1.8; }
.bm-login-labels { display:flex; flex-wrap:wrap; gap:12px 22px; list-style:none; padding:22px 0 0; margin:32px 0 0; border-top:1px solid #ffffff2b; }
.bm-login-labels>li { margin:0; padding:0; color:#b8cce5; font-size:11px; font-weight:500; line-height:1.6; letter-spacing:1.2px; }
body[data-bm-login-shell] {
  --bm-form-width:clamp(420px,40vw,560px);
  --bm-login-panel:#fff; --bm-login-ink:#142a44; --bm-login-muted:#526984;
  margin:0;
}
body[data-bm-login-theme=dark] { --bm-login-panel:#111d32; --bm-login-ink:#edf6ff; --bm-login-muted:#b8c9df; }
/* AI: preserve all Svelte nodes; turn its fixed centering layer into normal flow. */
body[data-bm-login-shell=ai] #auth-page {
  position:relative; z-index:1; box-sizing:border-box; width:var(--bm-form-width)!important;
  height:auto!important; max-height:none!important; min-height:100vh; min-height:100svh;
  background:var(--bm-login-panel)!important; color:var(--bm-login-ink);
}
body[data-bm-login-shell=ai] #auth-container {
  position:relative!important; inset:auto!important; width:100%!important;
  min-height:100vh; min-height:100svh; height:auto;
}
body[data-bm-login-shell=ai] #auth-container>div {
  box-sizing:border-box; min-width:0; min-height:100vh; min-height:100svh; padding:48px 28px;
}
body[data-bm-login-shell=ai] #auth-login-card {
  box-sizing:border-box; width:100%!important; max-width:400px!important; padding:0!important;
  margin-inline:auto; border:0!important; border-radius:0; background:transparent!important; box-shadow:none!important;
}
/* Admin: one full-height form panel; native toolbar, theme and form remain. */
body[data-bm-login-shell=admin] #EvoLoginApp {
  position:relative; z-index:1; width:var(--bm-form-width); min-height:100vh; min-height:100svh;
  background:var(--bm-login-panel)!important; color:var(--bm-login-ink);
}
body[data-bm-login-shell=admin] #EvoLoginApp .Overlay {
  box-sizing:border-box; width:100%!important; height:auto!important; min-height:100vh; min-height:100svh;
  padding:96px 40px 64px; overflow:visible; background:transparent!important;
}
body[data-bm-login-shell=admin] #EvoLoginApp .Overlay .Wrapper {
  box-sizing:border-box; width:100%!important; max-width:400px!important; min-width:0!important;
  height:auto!important; min-height:0!important; padding:0!important; zoom:1!important;
  border:0!important; border-radius:0!important; background:transparent!important; box-shadow:none!important;
}
body[data-bm-login-shell=admin] #EvoLoginApp .DateTimeBlock {
  position:static; inset:auto; width:100%; margin:24px 0 0; padding:0;
  color:var(--bm-login-muted); font-size:12px; line-height:1.6;
}
body[data-bm-login-shell=admin] #EvoLoginApp .Toolbar { z-index:100; }
/* Database: native chooser/form cards remain inside the left document column. */
body[data-bm-login-shell=db]#loginform { margin:0!important; background:var(--bm-login-panel)!important; }
body[data-bm-login-shell=db] #page_content {
  position:relative; z-index:1; box-sizing:border-box; width:var(--bm-form-width);
  min-height:100vh; min-height:100svh; margin:0!important; padding:44px 32px;
  display:flex; flex-direction:column; justify-content:center;
  background:var(--bm-login-panel);
}
body[data-bm-login-shell=db] #page_content>.container { box-sizing:border-box; width:100%!important; max-width:400px!important; margin-inline:auto; }
body[data-bm-login-shell=db] #page_content a.logo { display:block; width:100%; max-width:340px; margin-inline:auto; }
body[data-bm-login-shell=db] #imLogo { width:100%; max-width:100%!important; }
@media(max-width:959px) {
  #bm-login-aside { position:relative; inset:auto; width:100%; height:auto; min-height:280px; padding:32px 24px; }
  #bm-login-aside::before { background-size:auto 480px; background-position:left top; opacity:.55; }
  #bm-login-aside::after { background:linear-gradient(90deg,#080f20b8,#080f2080),linear-gradient(180deg,#080f2020,#080f20a8); }
  .bm-login-copy { max-width:560px; margin:0 auto; }
  .bm-login-eyebrow { font-size:10px; margin-bottom:14px; letter-spacing:1.6px; }
  .bm-login-title { font-size:clamp(28px,6vw,38px); letter-spacing:-.8px; margin-bottom:16px; }
  .bm-login-description { font-size:14px; line-height:1.75; }
  .bm-login-labels { margin-top:22px; padding-top:16px; gap:10px 18px; }
  .bm-login-labels>li { font-size:10px; letter-spacing:1px; }
  body[data-bm-login-shell=ai] #auth-page,
  body[data-bm-login-shell=admin] #EvoLoginApp,
  body[data-bm-login-shell=db] #page_content { width:100%!important; min-height:0; }
  body[data-bm-login-shell=ai] #auth-container { min-height:0!important; }
  body[data-bm-login-shell=ai] #auth-container>div { min-height:0!important; padding:44px 24px 36px; }
  body[data-bm-login-shell=admin] #EvoLoginApp .Overlay { min-height:0; padding:104px 24px 36px; }
  body[data-bm-login-shell=admin] #EvoLoginApp .Toolbar { background:#0b1528; border-bottom:1px solid #203651; }
  body[data-bm-login-shell=admin] #EvoLoginApp .DateTimeBlock { position:static; inset:auto; padding:0; margin-top:24px; color:var(--bm-login-muted); }
  body[data-bm-login-shell=db] #page_content { padding:32px 20px; }
}
@keyframes bm-login-copy-enter { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@keyframes bm-login-moon-drift { from { background-position:0 0; } to { background-position:4px -5px; } }
@media(prefers-reduced-motion:reduce) {
  #bm-login-aside::before,.bm-login-copy { animation:none!important; transform:none!important; }
}
