body.milcom-themed { background: #080b0e !important; isolation: isolate; }
body.milcom-themed::before { display: none; }
#login.milcom-login { position: fixed; inset: 0; z-index: 1300; min-height: 100svh; width: 100%; display: flex; flex-direction: column; align-items: center; justify-content: safe center; gap: 22px; padding: 28px 20px; overflow-y: auto; background: #080b0e; isolation: isolate; color: #e5edf2; }
#login.milcom-login[hidden], #login.milcom-login.hidden { display: none !important; }
.milcom-field { position: fixed; inset: 0; width: 100%; height: 100%; z-index: -1; pointer-events: none; }
#login.milcom-login > .login-brand, #login.milcom-login form > .brandmark { display: none; }
.milcom-login-brand { display: block; position: relative; width: min(480px, 100%); height: 110px; flex-shrink: 0; overflow: hidden; background: transparent; cursor: pointer; }
.milcom-login-brand img { position: absolute; top: 50%; transform: translateY(-50%); width: 100%; height: auto; display: block; filter: url(#milcom-logo-alpha); }
.milcom-login-brand::after { content: none; }
.milcom-login-project { margin: -18px 0 0; color: var(--milcom-accent); font-size: 13px; font-weight: 600; letter-spacing: .32em; text-indent: .32em; line-height: 1.4; }
.tracker-header-logo { display: block; position: relative; width: 170px; height: 44px; flex-shrink: 0; overflow: hidden; background: transparent; }
.tracker-header-logo img { position: absolute; width: 222px; max-width: none; height: auto; left: -27.4px; top: 50%; transform: translateY(-50%); filter: url(#milcom-logo-alpha); }
.tracker-header-logo::after { content: none; }
html[data-milcom-theme=gx] .tracker-header-logo::after { content: none; }
html[data-milcom-theme=gx] .identity { min-width: 0; }
@media (max-width: 620px) {
  html[data-milcom-theme=gx] .topbar { height: auto; min-height: 62px; flex-wrap: wrap; padding: 10px 12px; }
  html[data-milcom-theme=gx] .identity { flex: 1 1 100%; }
  html[data-milcom-theme=gx] .toptools { margin-left: auto; }
}
html[data-milcom-theme=tracker] .headerTools { flex-wrap: wrap; }
#trackerLogout { flex-shrink: 0; padding: 10px 14px; border: 1px solid var(--accent); border-radius: 8px; color: var(--accent); background: transparent; cursor: pointer; white-space: nowrap; }
#trackerLogout:hover { background: #ff963e18; }
#trackerLogout:disabled { opacity: .6; cursor: wait; }
#trackerLogoutStatus { color: #ffb5ab; font-size: 12px; }
#trackerLogoutStatus:empty { display: none; }
@media (max-width: 720px) { html[data-milcom-theme=tracker] .brandBlock { flex-wrap: wrap; } .tracker-header-logo { width: 140px; } .tracker-header-logo img { width: 183px; left: -22.6px; } }
html[data-milcom-theme=radar] .brand > .header-milcom { display: block; flex-shrink: 0; }
.header-milcom-mark { display: block; position: relative; width: 140px; height: 38px; overflow: hidden; background: transparent; }
.header-milcom-mark img { position: absolute; width: 183px; max-width: none; height: auto; left: -22.6px; top: 50%; transform: translateY(-50%); filter: url(#milcom-logo-alpha); }
.header-milcom-mark::after { content: none; }
@media (max-width: 720px) { html[data-milcom-theme=radar] .brand > .header-milcom { display: none; } }
#login.milcom-login > form, #login.milcom-login > .login-card { position: relative; flex-shrink: 0; margin: 0; width: min(410px, 100%); background: #101820ed; border: 1px solid color-mix(in srgb, var(--milcom-accent) 30%, #25333c); border-top: 2px solid var(--milcom-accent); border-radius: 14px; box-shadow: 0 22px 70px #0006; padding: 30px; }
#login.milcom-login input { background: #0b1119; color: #edf0f5; }
#login.milcom-login button[type=submit] { background: var(--milcom-accent); border-color: var(--milcom-accent); color: #081017; }
#login.milcom-login :focus-visible { outline: 2px solid var(--milcom-accent); outline-offset: 3px; }
@media (max-width: 480px) { #login.milcom-login { gap: 16px; padding: 22px 16px; } .milcom-login-brand { height: 88px; } #login.milcom-login > form, #login.milcom-login > .login-card { padding: 24px; } }

/* Never expose the login animation in an authenticated workspace. */
.milcom-field[hidden], body > .milcom-field { display: none !important; }

/* Keep the Flasher form compact enough for the shared logo and animated field. */
html[data-milcom-theme=flasher] .login-card .chip-art { margin: 0 0 18px; }
html[data-milcom-theme=flasher] .login-card h1 { font-size: 40px; margin: 16px 0; }
html[data-milcom-theme=flasher] .login-card .eyebrow { margin-top: 0; }
html[data-milcom-theme=flasher] .login-card > .muted { font-size: 13px; }
