/* Screenshot reference: a compact access card in an uninterrupted star field.
   Loaded after the shared theme. All layout and decorative rules are login-only. */
html:root[data-theme][data-shx-theme] body #login-view {
  --shot-card-width: 375px;
  --shot-card-padding: 24px;
  --shot-heading: 20px;
  --shot-copy: 12px;
  --shot-input-height: 40px;
  --shot-ink: #ececf1;
  --shot-muted: #9496a2;
  --shot-border: rgba(231,231,240,.21);
  --shot-field: rgba(255,255,255,.065);
  --login-star: #bbd8f3;
  --login-line: #9ed0fb;
  position: relative; display: grid !important; grid-template-columns: 1fr !important;
  width: 100% !important; max-width: none !important; min-height: 100dvh !important;
  margin: 0 !important; border: 0; border-radius: 0 !important; overflow: hidden;
  background: radial-gradient(ellipse at 73% 31%,rgba(91,50,54,.30),transparent 33%),
    radial-gradient(ellipse at 5% 77%,rgba(24,68,82,.20),transparent 32%),
    radial-gradient(ellipse at 96% 87%,rgba(49,30,68,.16),transparent 30%),#0b0b10 !important;
  color: var(--shot-ink) !important;
}
html:root[data-theme="light"][data-shx-theme] body #login-view {
  --shot-card-width: 375px; --shot-card-padding: 24px; --shot-heading: 20px;
  --shot-copy: 12px; --shot-input-height: 40px; --shot-ink: #292c32;
  --shot-muted: #777c86; --shot-border: rgba(167,176,188,.22);
  --shot-field: rgba(255,255,255,.76); --login-star: #7c899b;
  --login-line: #657d99;
  background: radial-gradient(ellipse at 50% 25%,#f6f8fc 0%,#f5f7fa 47%,#edf1f6 100%) !important;
}
html:root[data-theme][data-shx-theme] body #login-view .brand-stage {
  position: absolute !important; inset: 0 !important; width: 100%; height: 100%;
  min-height: 0 !important; padding: 16px !important; overflow: hidden;
  border-radius: 0 !important; background: transparent !important;
}
html:root[data-theme][data-shx-theme] body #login-view .brand-stage::before { opacity: .35; }
html:root[data-theme][data-shx-theme] body #login-view .brand-top {
  position: absolute; left: 17px; top: 16px; z-index: 3; gap: 7px;
  justify-content: flex-start !important; font-size: 11px !important;
  line-height: 1.4; letter-spacing: .03em; color: var(--shot-ink) !important;
}
html:root[data-theme][data-shx-theme] body #login-view .brand-top img {
  width: 23px; height: 23px; border-radius: 7px;
}
html:root[data-theme][data-shx-theme] body #login-view .brand-top small {
  font-size: 5px !important; letter-spacing: .1em !important; color: var(--shot-muted) !important;
}
html:root[data-theme][data-shx-theme] body #login-view :is(.brand-message,.brand-footer,.card-overline,.login-side>footer) { display: none !important; }
html:root[data-theme][data-shx-theme] body #login-view .login-side {
  position: relative; grid-column: 1; width: 100%; min-height: 100dvh !important;
  box-sizing: border-box; display: flex !important; align-items: center; justify-content: center;
  padding: 80px 20px !important; border-radius: 0 !important; box-shadow: none !important;
  background: transparent !important; pointer-events: none;
}
html:root[data-theme][data-shx-theme] body #login-view .login-side .login-box {
  position: relative; box-sizing: border-box; width: var(--shot-card-width) !important;
  max-width: 100% !important; min-width: 0; padding: 27px var(--shot-card-padding) 22px !important;
  margin: 0; border: 1px solid var(--shot-border) !important; border-radius: 24px !important;
  color: var(--shot-ink) !important; transform: none !important;
  background: linear-gradient(152deg,rgba(255,255,255,.13),rgba(255,255,255,.025) 45%,rgba(255,255,255,.035)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12),0 15px 35px rgba(0,0,0,.21) !important;
  backdrop-filter: blur(12px) !important; -webkit-backdrop-filter: blur(12px) !important;
  pointer-events: auto;
}
html:root[data-theme="light"][data-shx-theme] body #login-view .login-side .login-box {
  padding-top: 27px !important; padding-bottom: 22px !important; border-color: rgba(255,255,255,.8) !important;
  transform: none !important; border-radius: 24px !important;
  background: linear-gradient(145deg,rgba(255,255,255,.72),rgba(255,255,255,.33)) !important;
  box-shadow: inset 0 1px 0 #fff,0 12px 24px rgba(34,43,57,.12) !important;
}
html:root[data-theme][data-shx-theme] body #login-view .login-box::after { box-shadow: none; opacity: .3; }
html:root[data-theme][data-shx-theme] body #login-view .login-card-heading {
  display: flex; align-items: center; text-align: center; gap: 5px; margin: 0 0 22px !important;
}
html:root[data-theme][data-shx-theme] body #login-view :is(#login-title,.login-card-heading h2) {
  margin: 0 !important; font-size: var(--shot-heading) !important; font-weight: 650;
  line-height: 1.45; letter-spacing: -.03em; color: var(--shot-ink) !important;
}
html:root[data-theme][data-shx-theme] body #login-view .login-card-heading>p {
  margin: 0 !important; color: var(--shot-muted) !important; font-size: var(--shot-copy) !important;
  line-height: 1.5; letter-spacing: 0;
}
html:root[data-theme][data-shx-theme] body #login-view #login-form { display: flex; flex-direction: column; }
html:root[data-theme][data-shx-theme] body #login-view #login-form>label {
  color: var(--shot-muted) !important; font-size: var(--shot-copy) !important; line-height: 1.5;
}
html:root[data-theme][data-shx-theme] body #login-view #login-form>label+label { margin-top: 12px !important; }
html:root[data-theme][data-shx-theme] body #login-view .login-box input:not([type="hidden"]):not([type="range"]):not([type="checkbox"]):not([type="radio"]) {
  width: 100%; height: var(--shot-input-height) !important; min-height: var(--shot-input-height) !important;
  margin-top: 5px; padding: 6px 10px !important; font-size: var(--shot-copy) !important;
  border: 1px solid var(--shot-border) !important; border-radius: 9px !important;
  color: var(--shot-ink) !important; background: var(--shot-field) !important;
  -webkit-text-fill-color: var(--shot-ink) !important; caret-color: var(--shot-ink) !important;
  box-shadow: inset 0 1px 1px rgba(255,255,255,.06) !important;
}
html:root[data-theme][data-shx-theme] body #login-view .login-box input:is(:-webkit-autofill,:-webkit-autofill:hover,:-webkit-autofill:focus) {
  -webkit-text-fill-color: var(--shot-ink) !important; caret-color: var(--shot-ink) !important;
  box-shadow: 0 0 0 100px #f9fafc inset !important;
}
html:root[data-theme="dark"][data-shx-theme] body #login-view .login-box input:is(:-webkit-autofill,:-webkit-autofill:hover,:-webkit-autofill:focus) {
  box-shadow: 0 0 0 100px #292a30 inset !important;
}
html:root[data-theme][data-shx-theme] body #login-view .login-box input::placeholder { color: var(--shot-muted) !important; opacity: .85 !important; }
html:root[data-theme][data-shx-theme] body #login-view #password-toggle {
  top: 5px; bottom: auto; right: 1px; height: var(--shot-input-height) !important;
  min-height: var(--shot-input-height) !important; width: 30px !important; min-width: 0;
  color: var(--shot-muted) !important; background: transparent !important;
}
html:root[data-theme][data-shx-theme] body #login-view #password-toggle svg { width: 13px; height: 13px; }
html:root[data-theme][data-shx-theme] body #login-view #login-form .login-submit {
  order: 2; display: flex; justify-content: center; height: var(--shot-input-height) !important;
  min-height: var(--shot-input-height) !important; margin-top: 22px !important; padding: 0 10px;
  border: 1px solid rgba(135,243,222,.4) !important; border-radius: 10px !important;
  background: linear-gradient(110deg,#53d9c6,#109d88) !important;
  color: #063d34 !important; font-size: var(--shot-copy) !important; letter-spacing: .15em;
  box-shadow: inset 0 1px rgba(255,255,255,.35),0 3px 16px rgba(37,203,174,.22) !important;
}
html:root[data-theme="light"][data-shx-theme] body #login-view #login-form .login-submit { color: #fff !important; }
html:root[data-theme][data-shx-theme] body #login-view .login-submit>span:last-child { display: none; }
html:root[data-theme][data-shx-theme] body #login-view .login-note {
  order: 3; justify-content: center; margin-top: 18px !important;
  color: var(--shot-muted) !important; font-size: calc(var(--shot-copy) - 1px) !important;
}
html:root[data-theme][data-shx-theme] body #login-view .login-note svg { display: none; }
html:root[data-theme][data-shx-theme] body #login-view #login-status173 {
  order: 4; min-height: 0; margin: 8px 0 0; font-size: var(--shot-copy) !important;
}
html:root[data-theme][data-shx-theme] body #login-view #login-status173:empty { display: none; }
html:root[data-theme][data-shx-theme] body #login-view #login-error { order: 1; font-size: 11px !important; }
html:root[data-theme][data-shx-theme] body #login-view .login-side>.shx-theme-toggle {
  position: absolute; top: 14px !important; right: 14px !important; width: 24px !important;
  height: 24px !important; min-height: 24px; min-width: 24px; border-radius: 7px;
  pointer-events: auto;
}
html:root[data-theme][data-shx-theme] body #login-view .shx-theme-toggle svg { width: 12px; height: 12px; }
html:root[data-theme="dark"][data-shx-theme] body #login-view .login-galaxy { filter: brightness(2.3) saturate(.45) !important; opacity: .9; }
html:root[data-theme="light"][data-shx-theme] body #login-view .login-galaxy { filter: grayscale(1) brightness(.8) !important; opacity: .58; }
html:root[data-theme][data-shx-theme] body #login-view .login-constellations { opacity: 1; }
html:root[data-theme="dark"][data-shx-theme] body #login-view .login-constellation circle { filter: drop-shadow(0 0 3px #91c9ff); }
@media(max-width:600px) {
  html:root[data-theme][data-shx-theme] body #login-view { --shot-card-width: 375px; --shot-card-padding: 24px; --shot-heading: 18px; --shot-copy: 11px; --shot-input-height: 42px; }
  html:root[data-theme][data-shx-theme] body #login-view .login-side .login-box { transform: none !important; }
  html:root[data-theme][data-shx-theme] body #login-view .login-box input:not([type="hidden"]):not([type="range"]):not([type="checkbox"]):not([type="radio"]) { font-size: 16px !important; }
  html:root[data-theme][data-shx-theme] body #login-view .login-side>.shx-theme-toggle { width: 44px !important; height: 44px !important; }
}
@media(prefers-reduced-transparency:reduce) {
  html:root[data-theme][data-shx-theme] body #login-view .login-side .login-box { background: #202025 !important; }
  html:root[data-theme="light"][data-shx-theme] body #login-view .login-side .login-box { background: #f9fafc !important; }
}

/* The login grid must still obey the app's view switch. */
html:root[data-theme][data-shx-theme] body #login-view[hidden] { display:none !important; }
