/* Moon branding only: structure and controls come from Pyramid v2. */
:root:has(.moon-panel) {
  --pv2-bg: #05070a;
  --pv2-sidebar: #080b10;
  --pv2-surface: #0a0e14;
  --pv2-surface-raised: #101620;
  --pv2-surface-hover: #171e29;
  --pv2-line: #27303d;
  --pv2-line-strong: #655839;
  --pv2-text: #f1eee8;
  --pv2-text-soft: #d3cec4;
  --pv2-muted: #a8a49c;
  --pv2-muted-2: #93969e;
  --pv2-gold: #c9a45e;
  --pv2-gold-strong: #e6c987;
  --pv2-lapis: #9bb1cd;
  --pv2-lapis-soft: #1b2635;
}
.moon-panel .pv2-brand { min-height: 90px; }
.moon-panel-logo { display: block; width: 190px; max-width: calc(100% - 28px); height: 76px; object-fit: contain; }
.moon-login-logo { display: block; width: 400px; max-width: 100%; height: auto; object-fit: contain; }
.moon-panel .pv2-login-mobile-brand .moon-login-logo { width: 260px; margin: 0 auto; }
.moon-panel .pv2-login-identity { background: var(--pv2-surface); }
.moon-panel.pv2-login-body { background: var(--pv2-bg); }
html:has(.moon-panel.pv2-login-body) { background: var(--pv2-bg); }
.moon-panel .pv2-login-shell { background: var(--pv2-bg); }
.moon-panel .pv2-login-access { background: var(--pv2-surface); }
.moon-panel .pv2-login-form .pv2-field > div { background: var(--pv2-bg); border-color: var(--pv2-line); }
.moon-panel .pv2-login-form input { background: transparent; color: var(--pv2-text); }
.moon-panel .pv2-login-form input:-webkit-autofill { -webkit-box-shadow: 0 0 0 1000px var(--pv2-bg) inset; -webkit-text-fill-color: var(--pv2-text); }
.moon-panel .pv2-sidebar { background: var(--pv2-sidebar); }
.moon-feature-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.moon-feature { min-width: 0; border: 1px solid var(--pv2-line); border-radius: 6px; padding: 14px; }
.moon-feature.is-active { border-color: var(--pv2-line-strong); background: var(--pv2-surface-raised); }
.moon-feature header { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
.moon-feature header strong { font-size: 16px; overflow-wrap: anywhere; }
.moon-feature-toggle { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; white-space: nowrap; cursor: pointer; }
.moon-feature-toggle input { width: 18px; height: 18px; accent-color: var(--pv2-gold); }
.moon-feature-fields { display: grid; grid-template-columns: minmax(0, 1fr) 72px; gap: 12px; }
.moon-feature-fields input, .moon-feature-fields select { min-width: 0; width: 100%; }
@media (max-width: 720px) {
  .moon-feature-grid { grid-template-columns: 1fr; }
}
