/* Scoped to member/auth pages. Never recolor the shop or Odoo backend. */
.empire-journey {
  --empire-accent: #ffa900;
  --empire-paper: #f7f7f3;
  --empire-muted: #b9b9b3;
  --bs-body-color: #f7f7f3;
  --bs-body-bg: #151515;
  --bs-border-color: #363636;
  color-scheme: dark;
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  color: var(--empire-paper);
  background: #0b0b0b;
  font-family: Futura, "Futura PT", "Avenir Next", Avenir, system-ui, sans-serif;
  overflow-wrap: anywhere;
}
.empire-journey *, .empire-journey *::before, .empire-journey *::after { box-sizing: border-box; }
.empire-journey a { color: var(--empire-paper); text-underline-offset: 4px; }
.empire-journey a:hover { color: var(--empire-accent); }
.empire-journey :focus-visible { outline: 3px solid var(--empire-accent); outline-offset: 4px; }
.empire-journey-header, .empire-journey-footer {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: 1.1rem max(1.25rem, calc((100vw - 1180px)/2));
}
.empire-journey-header { border-bottom: 1px solid #292929; min-height: 76px; }
.empire-journey-brand { display: flex; align-items: center; gap: 1rem; text-decoration: none; }
.empire-journey-brand img { width: 146px; height: 36px; object-fit: contain; }
.empire-journey-brand span { font-size: .65rem; letter-spacing: .14em; color: var(--empire-muted); }
.empire-journey-back { min-height: 44px; display: flex; align-items: center; gap: .65rem; font-size: .875rem; }
.empire-journey-body { flex: 1; min-width: 0; width: 100%; }
.empire-journey-footer { border-top: 1px solid #292929; color: var(--empire-muted); font-size: .8rem; }
.empire-journey-footer a { min-height: 44px; display: inline-flex; align-items: center; }
.empire-auth-shell { max-width: 1180px; margin: auto; padding: clamp(2rem, 6vw, 5rem) 1.25rem; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 7vw, 7rem); align-items: center; }
.empire-auth-intro h1 { color: var(--empire-paper); font: 800 clamp(2.8rem, 5.8vw, 5.6rem)/.98 Futura, "Avenir Next", system-ui, sans-serif; letter-spacing: -.055em; max-width: 8.5ch; margin: .6rem 0 1.5rem; }
.empire-auth-intro > p:not(.empire-eyebrow) { color: var(--empire-muted); max-width: 32ch; font-size: 1.05rem; line-height: 1.55; }
.empire-eyebrow { font-size: .69rem; letter-spacing: .17em; font-weight: 800; color: var(--empire-accent); margin: 0; }
.empire-auth-benefits { list-style: none; padding: 0; margin: 2.5rem 0 0; }
.empire-auth-benefits li { padding: .7rem 0; border-bottom: 1px solid #292929; font-size: .9rem; }
.empire-auth-benefits span { margin-right: 1rem; color: var(--empire-accent); font-size: .7rem; }
.empire-auth-panel { background: #151515; border: 1px solid #363636; border-radius: 20px; padding: clamp(1.25rem, 3vw, 2.25rem); min-width: 0; }
.empire-auth-panel .oe_login_form, .empire-auth-panel .oe_signup_form, .empire-auth-panel .oe_reset_password_form { max-width: none !important; margin: 0 !important; padding: 0 !important; }
.empire-auth-panel .form-label { color: var(--empire-paper); font-size: .9rem; }
.empire-auth-panel .form-control { min-height: 50px; font-size: 16px; background: #0c0c0c; border: 1px solid #515151; color: var(--empire-paper); border-radius: 9px; }
.empire-auth-panel .form-control::placeholder { color: #969690; opacity: 1; }
.empire-auth-panel .form-control:focus { border-color: var(--empire-accent); box-shadow: 0 0 0 3px #ffa90025; }
.empire-auth-panel .input-group > .form-control { border-radius: 9px 0 0 9px; }
.empire-auth-panel .o_show_password { min-width: 46px; color: var(--empire-paper); background: #202020; border-color: #515151 !important; border-radius: 0 9px 9px 0; }
.empire-auth-panel .btn { min-height: 46px; display: inline-flex; justify-content: center; align-items: center; white-space: normal; }
.empire-auth-panel .btn-link { color: var(--empire-muted); font-size: .83rem; padding: .35rem .2rem; }
.empire-auth-panel .btn-primary, .empire-journey .btn-primary { background: var(--empire-accent); border-color: var(--empire-accent); color: #101010; font-weight: 800; border-radius: 9px; }
.empire-auth-panel .btn-primary:hover { background: #ffbd38; border-color: #ffbd38; color: #101010; }
.empire-auth-panel .list-group-item, .empire-auth-panel .btn-light { background: #202020; border-color: #515151; color: var(--empire-paper); }
.empire-auth-panel .text-muted, .empire-auth-panel .text-body-secondary { color: var(--empire-muted) !important; }
.empire-auth-panel .alert { font-size: .9rem; line-height: 1.5; }
.empire-activation h2 { color: var(--empire-paper); font-size: 1.4rem; }
.empire-activation > p { color: var(--empire-muted); line-height: 1.55; font-size: .9rem; }
.empire-activation button { width: 100%; }
.empire-journey-body > .container { max-width: 1180px; }
.empire-journey .card { --bs-card-bg: #171717; --bs-card-color: #f7f7f3; background: #171717; color: #f7f7f3; border-radius: 16px; }
.empire-journey .card-header { background: #202020; border-color: #363636; }
/* Website theme utilities also paint the card's children, not just .card. */
.empire-journey .card-body { background: #171717 !important; color: var(--empire-paper) !important; }
.empire-journey .card-header, .empire-journey .bg-light { background: #202020 !important; color: var(--empire-paper) !important; }
.empire-journey :is(h2, h3, h4, h5, h6), .empire-journey .card .text-dark { color: var(--empire-paper); }
.empire-journey img[alt="Credencial QR"] { background: #fff; border: 8px solid #fff; border-radius: 8px; }
.empire-journey .offcanvas { background: #171717; color: var(--empire-paper); }
.empire-journey .text-muted { color: var(--empire-muted) !important; }
/* Odoo's :not(.card[data-vxml] ...) selector has unusually high specificity. */
#wrapwrap .empire-journey .card-body .text-muted { color: var(--empire-muted) !important; }
#wrapwrap .empire-journey .o_portal_index_card > a.bg-100 { background: #202020 !important; color: var(--empire-paper) !important; border: 1px solid #363636; }
.empire-journey .text-primary { color: var(--empire-accent) !important; }
.empire-journey .table { --bs-table-bg: #171717; --bs-table-color: #f7f7f3; --bs-table-hover-color: #fff; --bs-table-hover-bg: #242424; --bs-table-border-color: #363636; }
.empire-journey .table-light { --bs-table-bg: #242424; --bs-table-color: #f7f7f3; }
.empire-journey .btn-outline-secondary, .empire-journey .btn-outline-primary { color: var(--empire-paper); border-color: #777; min-height: 44px; }
.empire-journey .btn-outline-secondary:hover, .empire-journey .btn-outline-primary:hover { color: #111; background: var(--empire-accent); border-color: var(--empire-accent); }
@media (max-width: 760px) {
  .empire-auth-shell { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; padding: 2rem 1.25rem; max-width: 520px; }
  .empire-auth-intro h1 { font-size: clamp(2.6rem, 10vw, 3.7rem); max-width: 11ch; margin-bottom: .85rem; }
  .empire-auth-intro > p:not(.empire-eyebrow) { margin-bottom: 0; font-size: .95rem; max-width: 34ch; }
  .empire-auth-benefits { display: none; }
  .empire-journey-header { padding: .85rem 1.25rem; min-height: 68px; }
  .empire-journey-brand img { width: 132px; }
  .empire-journey-brand span { font-size: .6rem; }
  .empire-journey-footer { flex-wrap: wrap; padding: .7rem 1.25rem; gap: .25rem 1rem; }
  .empire-journey-body > .container .d-flex { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) { .empire-journey * { scroll-behavior: auto !important; transition: none !important; } }
