:root {
  --mib-black: #070707;
  --mib-surface: #101010;
  --mib-surface-2: #171717;
  --mib-line: #2a2a2a;
  --mib-gold: #ffad0a;
  --mib-gold-strong: #ffad0a;
  --mib-text: #fafafa;
  --mib-muted: #a1a1aa;
  color-scheme: dark;
}

body.mibBrandTheme [hidden] {
  display: none !important;
}

html,
body,
body.theme-dark,
body.theme-light {
  background: var(--mib-black) !important;
  color: var(--mib-text) !important;
}

body {
  min-width: 0;
  overflow-x: hidden;
  letter-spacing: 0;
}

body.mibBrandTheme {
  --portal-pos-bg: #070707;
  --portal-pos-surface: #101010;
  --portal-pos-surface-2: #171717;
  --portal-pos-border: #2a2a2a;
  --portal-pos-text: #fafafa;
  --portal-pos-muted: #a1a1aa;
  --portal-text: #fafafa;
}

body > main {
  background:
    linear-gradient(rgba(7, 7, 7, .96), rgba(7, 7, 7, .99)),
    url('/mib_design.jpeg') center 18% / 520px auto no-repeat !important;
}

body.mibBrandTheme > main,
body.mibBrandTheme.theme-light > main,
body.mibBrandTheme.theme-dark > main {
  background:
    linear-gradient(rgba(7, 7, 7, .96), rgba(7, 7, 7, .99)),
    url('/mib_design.jpeg') center 18% / 520px auto no-repeat !important;
  color: var(--mib-text) !important;
}

body.portalLocked > main {
  padding-top: 0 !important;
}

header,
body.theme-light header,
body.theme-dark header {
  min-height: 118px !important;
  padding: 0 28px !important;
  border-bottom: 1px solid var(--mib-line) !important;
  background: rgba(7, 7, 7, .96) !important;
  color: var(--mib-text) !important;
}

.portalHeaderInner {
  width: min(1180px, 100%);
  min-height: 118px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(280px, 1.15fr) auto;
  align-items: center;
  gap: 28px;
}

.portalBrandMark,
.portalWebsiteLink {
  color: var(--mib-text) !important;
  text-decoration: none;
}

.portalBrandMark {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  justify-self: start;
}

.portalBrandMark img {
  width: 48px;
  height: 58px;
  object-fit: contain;
  background: #000;
}

.portalBrandMark span {
  display: grid;
  gap: 2px;
}

.portalBrandMark strong {
  color: var(--mib-text) !important;
  font-size: 18px;
  line-height: 1;
}

.portalBrandMark small {
  color: var(--mib-muted) !important;
  font-size: 11px;
  line-height: 1.2;
}

.portalHeaderTitle {
  text-align: left;
}

.portalHeaderKicker {
  margin: 0 0 7px !important;
  color: var(--mib-gold) !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase;
}

body.theme-light #pageTitle,
body.theme-light #pageSub,
body.theme-dark #pageTitle,
body.theme-dark #pageSub,
#pageTitle,
#pageSub {
  color: var(--mib-text) !important;
}

#pageTitle {
  margin: 0 !important;
  font-size: clamp(28px, 3vw, 42px) !important;
  line-height: 1.05 !important;
}

#pageSub {
  margin: 10px 0 0 !important;
  color: var(--mib-muted) !important;
}

.portalWebsiteLink {
  justify-self: end;
  padding: 11px 15px;
  border: 1px solid #45454c;
  border-radius: 4px;
  background: #111114;
  font-size: 14px;
  font-weight: 800;
}

.portalWebsiteLink:is(:hover, :focus-visible) {
  border-color: var(--mib-gold);
  background: var(--mib-gold);
  color: #050505 !important;
  outline: none;
}

body.mibBrandTheme .portalBrandMark,
body.mibBrandTheme .portalWebsiteLink,
body.mibBrandTheme .portalBrandMark strong,
body.mibBrandTheme .portalBrandMark small {
  color: var(--mib-text) !important;
}

.portalEntryShell {
  width: min(1120px, calc(100% - 40px)) !important;
  margin: 0 auto !important;
  padding: 36px 0 64px !important;
  gap: 18px !important;
}

.portalStartGuide,
.portalLoginCard,
.portalRegistrationCard,
.card,
body.theme-light .card,
body.theme-dark .card {
  border: 1px solid var(--mib-line) !important;
  border-top: 3px solid var(--mib-gold-strong) !important;
  border-radius: 6px !important;
  background: rgba(16, 16, 16, .98) !important;
  color: var(--mib-text) !important;
  box-shadow: none !important;
}

body.mibBrandTheme #portalEntryShell .portalStartGuide,
body.mibBrandTheme #portalEntryShell #manualLookupCard,
body.mibBrandTheme #portalEntryShell #portalRegistrationCard {
  border: 1px solid var(--mib-line) !important;
  border-top: 3px solid var(--mib-gold-strong) !important;
  background: rgba(16, 16, 16, .98) !important;
  color: var(--mib-text) !important;
  box-shadow: none !important;
}

.portalStartGuide,
.portalLoginCard {
  padding: 28px !important;
}

.portalEyebrow {
  margin: 0 0 7px !important;
  color: var(--mib-gold) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  text-transform: uppercase;
}

.portalStartGuide h2,
.portalLoginCard h2,
.portalRegistrationCard h2 {
  margin: 0 0 14px !important;
  color: var(--mib-text) !important;
  letter-spacing: 0 !important;
}

.portalStartGuide p,
.portalLoginCard p,
.portalRegistrationCard p,
.portalStartGuide span,
.portalLoginCard span,
.portalRegistrationCard span {
  color: var(--mib-muted) !important;
}

body.mibBrandTheme #portalEntryShell :is(.portalStartGuide, #manualLookupCard, #portalRegistrationCard) :is(h1, h2, h3, strong, label) {
  color: var(--mib-text) !important;
}

body.mibBrandTheme #portalEntryShell :is(.portalStartGuide, #manualLookupCard, #portalRegistrationCard) :is(p, span, small) {
  color: var(--mib-muted) !important;
}

body.mibBrandTheme #portalEntryShell .portalEyebrow {
  color: var(--mib-gold) !important;
}

.portalIntentGrid {
  gap: 10px !important;
}

.portalIntentGrid button,
.portalCommerceLinks a {
  min-height: 78px !important;
  padding: 16px !important;
  border: 1px solid #353535 !important;
  border-radius: 4px !important;
  background: #0c0c0c !important;
  color: var(--mib-text) !important;
  box-shadow: none !important;
  transform: none !important;
}

body.mibBrandTheme #portalEntryShell .portalIntentGrid button,
body.mibBrandTheme #portalEntryShell .portalCommerceLinks a {
  border: 1px solid #353535 !important;
  background: #0c0c0c !important;
  color: var(--mib-text) !important;
  box-shadow: none !important;
}

body.mibBrandTheme #portalEntryShell :is(.portalIntentGrid button, .portalCommerceLinks a) strong {
  color: var(--mib-text) !important;
}

body.mibBrandTheme #portalEntryShell :is(.portalIntentGrid button, .portalCommerceLinks a) span {
  color: var(--mib-muted) !important;
}

.portalIntentGrid button strong,
.portalCommerceLinks a strong {
  color: var(--mib-text) !important;
}

.portalIntentGrid button:is(:hover, :focus-visible),
.portalCommerceLinks a:is(:hover, :focus-visible) {
  border-color: var(--mib-gold) !important;
  background: #19160d !important;
  outline: 2px solid rgba(251, 191, 36, .18) !important;
}

.portalIntentGrid button:first-child {
  border-color: var(--mib-gold) !important;
  background: var(--mib-gold) !important;
}

body.mibBrandTheme #portalEntryShell .portalIntentGrid button:first-child {
  border-color: var(--mib-gold) !important;
  background: var(--mib-gold) !important;
}

body.mibBrandTheme #portalEntryShell .portalIntentGrid button:first-child :is(strong, span) {
  color: #080808 !important;
}

.portalIntentGrid button:first-child strong,
.portalIntentGrid button:first-child span {
  color: #080808 !important;
}

.portalCommerceLinks {
  gap: 10px !important;
}

.portalRegisterLink,
#manualLookupBtn,
#portalRegistrationSubmit,
body.portalPageMode main button:not(.secondary):not(.menuToggle):not(.portalTextAction) {
  border: 1px solid var(--mib-gold) !important;
  border-radius: 4px !important;
  background: var(--mib-gold) !important;
  color: #080808 !important;
  box-shadow: none !important;
}

body.mibBrandTheme #portalEntryShell .portalRegisterLink,
body.mibBrandTheme #portalEntryShell #manualLookupBtn,
body.mibBrandTheme #portalEntryShell #portalRegistrationSubmit {
  border-color: var(--mib-gold) !important;
  background: var(--mib-gold) !important;
  color: #080808 !important;
}

body.mibBrandTheme #portalEntryShell .portalRegisterLink :is(span, strong),
body.mibBrandTheme #portalEntryShell #manualLookupBtn,
body.mibBrandTheme #portalEntryShell #portalRegistrationSubmit {
  color: #080808 !important;
}

html body.mibBrandTheme.portalLocked > main #portalEntryShell.portalEntryShell > #portalStartGuide.portalStartGuide,
html body.mibBrandTheme.portalLocked > main #portalEntryShell.portalEntryShell > #manualLookupCard.portalLoginCard {
  border: 1px solid var(--mib-line) !important;
  border-top: 3px solid var(--mib-gold-strong) !important;
  background: rgba(16, 16, 16, .98) !important;
  color: var(--mib-text) !important;
}

html body.mibBrandTheme.portalLocked #portalStartGuide.portalStartGuide :is(h1, h2, h3, strong, label),
html body.mibBrandTheme.portalLocked #manualLookupCard.portalLoginCard :is(h1, h2, h3, strong, label) {
  color: var(--mib-text) !important;
}

html body.mibBrandTheme.portalLocked #portalStartGuide.portalStartGuide :is(p, span, small),
html body.mibBrandTheme.portalLocked #manualLookupCard.portalLoginCard :is(p, span, small) {
  color: var(--mib-muted) !important;
}

html body.mibBrandTheme.portalLocked #portalStartGuide.portalStartGuide .portalEyebrow,
html body.mibBrandTheme.portalLocked #manualLookupCard.portalLoginCard .portalEyebrow {
  color: var(--mib-gold) !important;
}

html body.mibBrandTheme.portalLocked #portalStartGuide.portalStartGuide .portalIntentGrid button,
html body.mibBrandTheme.portalLocked #portalStartGuide.portalStartGuide .portalCommerceLinks a {
  border: 1px solid #353535 !important;
  background: #0c0c0c !important;
  color: var(--mib-text) !important;
}

html body.mibBrandTheme.portalLocked #portalStartGuide.portalStartGuide :is(.portalIntentGrid button, .portalCommerceLinks a) :is(strong, span) {
  color: var(--mib-text) !important;
}

html body.mibBrandTheme.portalLocked #portalStartGuide.portalStartGuide .portalIntentGrid button:first-child,
html body.mibBrandTheme.portalLocked #portalStartGuide.portalStartGuide .portalRegisterLink,
html body.mibBrandTheme.portalLocked #manualLookupCard.portalLoginCard #manualLookupBtn {
  border-color: var(--mib-gold) !important;
  background: var(--mib-gold) !important;
  color: #080808 !important;
}

html body.mibBrandTheme.portalLocked #portalStartGuide.portalStartGuide .portalIntentGrid button:first-child :is(strong, span),
html body.mibBrandTheme.portalLocked #portalStartGuide.portalStartGuide .portalRegisterLink :is(strong, span),
html body.mibBrandTheme.portalLocked #manualLookupCard.portalLoginCard #manualLookupBtn {
  color: #080808 !important;
}

html body.mibBrandTheme.portalLocked #portalStartGuide.portalStartGuide .portalIntentGrid button:first-child *,
html body.mibBrandTheme.portalLocked #portalStartGuide.portalStartGuide .portalRegisterLink * {
  color: #080808 !important;
  -webkit-text-fill-color: #080808 !important;
}

html body.mibBrandTheme.portalLocked #manualLookupCard.portalLoginCard :is(input, textarea, select) {
  border-color: #424242 !important;
  background: #080808 !important;
  color: var(--mib-text) !important;
  -webkit-text-fill-color: var(--mib-text) !important;
}

#themeToggle,
#themeToggleSide {
  display: none !important;
}

body.mibBrandTheme.portalPageMode > aside#sideMenu {
  border-right: 1px solid var(--mib-line) !important;
  background: #090909 !important;
  color: var(--mib-text) !important;
}

body.mibBrandTheme.portalPageMode > aside#sideMenu :is(h1, p, strong, span) {
  color: inherit !important;
}

body.mibBrandTheme.portalPageMode > aside#sideMenu > img {
  object-fit: contain !important;
  background: #000 !important;
  border-color: #333 !important;
}

body.mibBrandTheme.portalPageMode > aside#sideMenu :is(button, .portalExternalLink, select) {
  border: 1px solid #363636 !important;
  border-radius: 4px !important;
  background: #101010 !important;
  color: var(--mib-text) !important;
  box-shadow: none !important;
}

body.mibBrandTheme.portalPageMode > aside#sideMenu :is(button, .portalExternalLink):is(:hover, :focus-visible) {
  border-color: var(--mib-gold) !important;
  color: var(--mib-gold) !important;
  outline: none !important;
}

body.mibBrandTheme.portalPageMode > aside#sideMenu button.navActive {
  border-color: var(--mib-gold) !important;
  background: #17140d !important;
  color: var(--mib-gold) !important;
  -webkit-text-fill-color: var(--mib-gold) !important;
  box-shadow: inset 3px 0 0 var(--mib-gold) !important;
}

body.mibBrandTheme.portalPageMode > aside#sideMenu button.navActive * {
  color: var(--mib-gold) !important;
  -webkit-text-fill-color: var(--mib-gold) !important;
}

.marketplaceList {
  display: grid;
  gap: 12px;
  margin-top: 20px;
}

.marketplaceItem {
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr);
  min-height: 138px;
  overflow: hidden;
  border: 1px solid var(--mib-line);
  border-radius: 4px;
  background: #0c0c0c;
}

.marketplaceImage {
  min-height: 138px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-right: 1px solid var(--mib-line);
  background: #050505;
  color: var(--mib-gold);
  font-weight: 800;
}

.marketplaceImage img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.marketplaceItemBody {
  min-width: 0;
  padding: 18px;
}

.marketplaceItemHead {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.marketplaceItemHead h3 {
  margin: 4px 0 0;
  font-size: 19px;
}

.marketplaceItemHead > strong,
.marketplaceCategory {
  color: var(--mib-gold) !important;
}

.marketplaceCategory {
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.marketplaceItemBody > p {
  margin: 12px 0;
  color: var(--mib-muted) !important;
}

.marketplaceItem dl {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin: 14px 0 0;
  padding-top: 12px;
  border-top: 1px solid var(--mib-line);
}

.marketplaceItem dl div {
  display: flex;
  gap: 8px;
}

.marketplaceItem :is(dt, dd) {
  margin: 0;
  font-size: 13px;
}

.marketplaceItem dt {
  color: var(--mib-muted);
}

.marketplaceItem dd {
  color: var(--mib-text);
}

.marketplaceEmpty {
  display: grid;
  gap: 8px;
  padding: 28px;
  border: 1px dashed #3a3a3a;
  border-radius: 4px;
  background: #0c0c0c;
  text-align: center;
}

.marketplaceEmpty strong {
  color: var(--mib-text) !important;
}

.marketplaceEmpty span {
  color: var(--mib-muted) !important;
}

#sideMenu :is(#navOrders, #navMarketplace) {
  cursor: pointer !important;
  touch-action: manipulation;
}

body.commercePageOpen > main > #portalCommandBar,
body.commercePageOpen > main > #portalSmartPulse {
  display: none !important;
}

body.commercePageOpen > main > :is(#ordersPanel, #marketplacePanel).portalPageActive {
  margin-top: 20px !important;
}

.marketplaceLoading {
  min-height: 150px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 14px;
  color: var(--mib-text);
}

.marketplaceLoading span {
  width: 28px;
  height: 28px;
  border: 3px solid #3f3f46;
  border-top-color: var(--mib-gold);
  border-radius: 50%;
  animation: mibMarketplaceSpin .7s linear infinite;
}

.marketplaceAction,
.marketplaceRetry {
  justify-self: center;
  margin-top: 8px;
  padding: 11px 16px;
  border: 1px solid var(--mib-gold) !important;
  border-radius: 4px !important;
  background: var(--mib-gold) !important;
  color: #090909 !important;
  font: inherit;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}

html body.mibBrandTheme.portalPageMode > main > #marketplacePanel .marketplaceAction,
html body.mibBrandTheme.portalPageMode > main > #marketplacePanel .marketplaceRetry {
  color: #080808 !important;
  -webkit-text-fill-color: #080808 !important;
}

@keyframes mibMarketplaceSpin {
  to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
  .marketplaceLoading span { animation: none; }
}

@media (max-width: 640px) {
  .marketplaceItem {
    grid-template-columns: 92px minmax(0, 1fr);
  }

  .marketplaceItemHead {
    display: grid;
    gap: 10px;
  }

  .marketplaceItemBody {
    padding: 14px;
  }
}

body.mibBrandTheme.portalPageMode > aside#sideMenu .portalExternalLink {
  color: var(--mib-gold) !important;
}

body.mibBrandTheme.portalPageMode > main {
  background: var(--mib-black) !important;
}

body.mibBrandTheme.portalPageMode > main > header {
  border-bottom-color: var(--mib-line) !important;
  background: #090909 !important;
}

body.mibBrandTheme.portalPageMode > main :is(
  #portalCommandBar,
  #portalSmartPulse,
  section.card,
  .card,
  .stat,
  .portalWelcomeCopy,
  .portalPriority,
  .portalCommandMetrics,
  .portalContextDock,
  .portalPulseBody,
  .repairItem,
  .messageItem,
  .purchaseDetail,
  .purchaseList
) {
  border-color: var(--mib-line) !important;
  background: var(--mib-surface) !important;
  color: var(--mib-text) !important;
  box-shadow: none !important;
}

body.mibBrandTheme.portalPageMode > main :is(
  #portalCommandBar,
  #portalSmartPulse,
  section.card,
  .card,
  .stat,
  .portalWelcomeCopy,
  .portalPriority,
  .portalCommandMetrics,
  .portalContextDock,
  .portalPulseBody
) :is(h1, h2, h3, h4, strong, b, label) {
  color: var(--mib-text) !important;
}

body.mibBrandTheme.portalPageMode > main :is(
  #portalCommandBar,
  #portalSmartPulse,
  section.card,
  .card,
  .stat,
  .portalWelcomeCopy,
  .portalPriority,
  .portalCommandMetrics,
  .portalContextDock,
  .portalPulseBody
) :is(p, span, small) {
  color: var(--mib-muted) !important;
}

body.mibBrandTheme.portalPageMode > main .portalEyebrow,
body.mibBrandTheme.portalPageMode > main .portalPulseTitle {
  color: var(--mib-gold) !important;
}

body.mibBrandTheme.portalPageMode > main button:not(.secondary):not(.menuToggle):not(.portalTextAction) {
  border-color: #4b3a0d !important;
  border-radius: 4px !important;
  background: #17140d !important;
  color: var(--mib-text) !important;
}

body.mibBrandTheme.portalPageMode > main button:not(.secondary):not(.menuToggle):not(.portalTextAction):is(:hover, :focus-visible) {
  border-color: var(--mib-gold) !important;
  color: var(--mib-gold) !important;
}

body.mibBrandTheme.portalPageMode > main :is(.portalPriority, .portalContextDock) button:first-of-type,
body.mibBrandTheme.portalPageMode > main #saveInstrumentEntry,
body.mibBrandTheme.portalPageMode > main #createRepair,
body.mibBrandTheme.portalPageMode > main #sendMessage,
body.mibBrandTheme.portalPageMode > main #sendOrderRequest,
body.mibBrandTheme.portalPageMode > main #sendRentalRequest {
  border-color: var(--mib-gold) !important;
  background: var(--mib-gold) !important;
  color: #080808 !important;
}

html body.mibBrandTheme.portalPageMode > main > :is(
  #content,
  #accountPanel,
  #instrumentsPanel,
  #purchasesPanel,
  #receiptClaimPanel,
  #walletPanel,
  #messagePanel,
  #wikiPanel,
  #ordersPanel,
  #marketplacePanel,
  #rentalPanel,
  #legalPanel,
  #newRepairPanel
) {
  border: 1px solid var(--mib-line) !important;
  border-top: 3px solid var(--mib-gold-strong) !important;
  background: var(--mib-surface) !important;
  color: var(--mib-text) !important;
  box-shadow: none !important;
}

html body.mibBrandTheme.theme-dark.portalPageMode > main > #content.card.portalPageActive,
html body.mibBrandTheme.theme-dark.portalPageMode > main > #accountPanel.card,
html body.mibBrandTheme.theme-dark.portalPageMode > main > #instrumentsPanel.card,
html body.mibBrandTheme.theme-dark.portalPageMode > main > #purchasesPanel.card,
html body.mibBrandTheme.theme-dark.portalPageMode > main > #receiptClaimPanel.card,
html body.mibBrandTheme.theme-dark.portalPageMode > main > #walletPanel.card,
html body.mibBrandTheme.theme-dark.portalPageMode > main > #messagePanel.card,
html body.mibBrandTheme.theme-dark.portalPageMode > main > #wikiPanel.card,
html body.mibBrandTheme.theme-dark.portalPageMode > main > #ordersPanel.card,
html body.mibBrandTheme.theme-dark.portalPageMode > main > #marketplacePanel.card,
html body.mibBrandTheme.theme-dark.portalPageMode > main > #rentalPanel.card,
html body.mibBrandTheme.theme-dark.portalPageMode > main > #legalPanel.card,
html body.mibBrandTheme.theme-dark.portalPageMode > main > #newRepairPanel.card,
html body.mibBrandTheme.theme-dark.portalPageMode > main > #portalCommandBar.portalCommandBar,
html body.mibBrandTheme.theme-dark.portalPageMode > main > #portalSmartPulse.portalSmartPulse {
  border-color: var(--mib-line) !important;
  background: var(--mib-surface) !important;
  color: var(--mib-text) !important;
  box-shadow: none !important;
}

html body.mibBrandTheme.theme-dark.portalPageMode > main > #content.card.portalPageActive :is(
  .stat,
  .twoCol,
  .portalPasswordPrompt,
  .repairItem,
  .messageItem
),
html body.mibBrandTheme.theme-dark.portalPageMode > main > #accountPanel.card :is(.stat, .repairItem),
html body.mibBrandTheme.theme-dark.portalPageMode > main #accountSummary.grid > .stat {
  border-color: var(--mib-line) !important;
  background: #0c0c0c !important;
  color: var(--mib-text) !important;
  box-shadow: none !important;
}

html body.mibBrandTheme.theme-dark.portalPageMode > main :is(
  #content.card.portalPageActive,
  #accountPanel.card,
  #portalCommandBar.portalCommandBar,
  #portalSmartPulse.portalSmartPulse
) :is(h1, h2, h3, h4, strong, b, label) {
  color: var(--mib-text) !important;
}

html body.mibBrandTheme.theme-dark.portalPageMode > main :is(
  #content.card.portalPageActive,
  #accountPanel.card,
  #portalCommandBar.portalCommandBar,
  #portalSmartPulse.portalSmartPulse
) :is(p, span, small) {
  color: var(--mib-muted) !important;
}

html body.mibBrandTheme.portalPageMode > main > :is(
  #content,
  #accountPanel,
  #instrumentsPanel,
  #purchasesPanel,
  #receiptClaimPanel,
  #walletPanel,
  #messagePanel,
  #wikiPanel,
  #ordersPanel,
  #marketplacePanel,
  #rentalPanel,
  #legalPanel,
  #newRepairPanel
) :is(.stat, .repairItem, .messageItem, form, .purchaseDetail, .purchaseList) {
  border-color: var(--mib-line) !important;
  background: #0c0c0c !important;
  color: var(--mib-text) !important;
  box-shadow: none !important;
}

html body.mibBrandTheme.portalPageMode > main > :is(
  #content,
  #accountPanel,
  #instrumentsPanel,
  #purchasesPanel,
  #receiptClaimPanel,
  #walletPanel,
  #messagePanel,
  #wikiPanel,
  #ordersPanel,
  #rentalPanel,
  #legalPanel,
  #newRepairPanel
) button:not(.secondary):not(.portalTextAction):not(.wikiCard):not(.wikiCategory) {
  border-color: var(--mib-gold) !important;
  background: var(--mib-gold) !important;
  color: #080808 !important;
  -webkit-text-fill-color: #080808 !important;
}

html body.mibBrandTheme.portalPageMode > main > :is(
  #content,
  #accountPanel,
  #instrumentsPanel,
  #purchasesPanel,
  #receiptClaimPanel,
  #walletPanel,
  #messagePanel,
  #wikiPanel,
  #ordersPanel,
  #rentalPanel,
  #legalPanel,
  #newRepairPanel
) button:not(.secondary):not(.portalTextAction):not(.wikiCard):not(.wikiCategory) * {
  color: #080808 !important;
  -webkit-text-fill-color: #080808 !important;
}

.portalRegisterLink span,
.portalRegisterLink strong,
#manualLookupBtn,
#portalRegistrationSubmit {
  color: #080808 !important;
}

.portalRegisterLink:is(:hover, :focus-visible),
#manualLookupBtn:is(:hover, :focus-visible),
#portalRegistrationSubmit:is(:hover, :focus-visible) {
  background: #ffd04b !important;
  outline: 2px solid rgba(251, 191, 36, .22) !important;
}

.portalHelpLine a,
.portalTextAction,
a:not(.mibWhatsapp) {
  color: var(--mib-gold) !important;
}

.portalAccessNotice {
  display: grid;
  gap: 4px;
  margin-top: 14px;
  padding: 12px 14px;
  border-left: 3px solid var(--mib-gold);
  background: rgba(251, 191, 36, .07);
  color: var(--mib-text);
}

.portalAccessNotice strong {
  color: var(--mib-gold) !important;
  font-size: 14px;
}

.portalAccessNotice span {
  color: var(--mib-muted) !important;
  font-size: 13px;
  line-height: 1.45;
}

body #portalEntryShell .portalLoginCard .portalTextAction.portalPasswordRecoveryButton {
  display: block !important;
  width: 100% !important;
  min-height: 44px;
  margin-top: 10px !important;
  padding: 10px 14px !important;
  border: 1px solid var(--mib-gold) !important;
  border-radius: 4px !important;
  background: transparent !important;
  color: var(--mib-gold) !important;
  font-weight: 800 !important;
  text-align: center !important;
  text-decoration: none !important;
  cursor: pointer;
}

body #portalEntryShell .portalLoginCard .portalTextAction.portalPasswordRecoveryButton:is(:hover, :focus-visible) {
  background: var(--mib-gold) !important;
  color: #080808 !important;
  outline: 2px solid rgba(251, 191, 36, .2) !important;
  outline-offset: 2px;
}

.lookupBox,
.portalLoginFields,
.portalRegistrationBenefits,
.portalPasswordResetBox {
  background: transparent !important;
  border-color: var(--mib-line) !important;
}

input,
textarea,
select,
body.theme-light input,
body.theme-light textarea,
body.theme-dark input,
body.theme-dark textarea {
  border: 1px solid #424242 !important;
  border-radius: 4px !important;
  background: #080808 !important;
  color: var(--mib-text) !important;
  box-shadow: none !important;
}

body.mibBrandTheme #portalEntryShell :is(input, textarea, select) {
  border: 1px solid #424242 !important;
  background: #080808 !important;
  color: var(--mib-text) !important;
  -webkit-text-fill-color: var(--mib-text) !important;
}

body.mibBrandTheme #portalEntryShell :is(input, textarea)::placeholder {
  color: #71717a !important;
  -webkit-text-fill-color: #71717a !important;
}

input:focus,
textarea:focus,
select:focus {
  border-color: var(--mib-gold) !important;
  outline: 2px solid rgba(251, 191, 36, .16) !important;
}

input::placeholder,
textarea::placeholder {
  color: #71717a !important;
}

.secondary,
.menuToggle {
  border: 1px solid #404040 !important;
  border-radius: 4px !important;
  background: #171717 !important;
  color: var(--mib-text) !important;
}

.portalRegistrationBenefits li b {
  color: var(--mib-gold) !important;
}

.portalRegistrationBrand img {
  object-fit: contain !important;
  background: #000 !important;
}

.mobileTopbar,
body.theme-light .mobileTopbar,
body.theme-dark .mobileTopbar {
  border-bottom: 1px solid var(--mib-line) !important;
  background: rgba(7, 7, 7, .98) !important;
  color: var(--mib-text) !important;
}

.mobileBrand img {
  object-fit: contain !important;
  background: #000 !important;
}

.mobileBrand strong,
.mobileBrand span {
  color: var(--mib-text) !important;
}

@media (max-width: 900px) {
  header {
    min-height: 104px !important;
    padding: 0 20px !important;
  }

  .portalHeaderInner {
    min-height: 104px;
    grid-template-columns: 1fr auto;
    gap: 16px;
  }

  .portalBrandMark {
    display: none;
  }

  .portalHeaderTitle {
    text-align: left;
  }

  .portalWebsiteLink {
    padding: 9px 11px;
  }

  .portalEntryShell {
    width: min(100% - 28px, 720px) !important;
    padding: 24px 0 48px !important;
  }
}

@media (max-width: 640px) {
  header {
    display: none !important;
  }

  .portalEntryShell {
    width: calc(100% - 24px) !important;
    padding: 18px 0 38px !important;
  }

  .portalStartGuide,
  .portalLoginCard,
  .portalRegistrationCard {
    padding: 20px !important;
  }

  .portalIntentGrid,
  .portalCommerceLinks {
    grid-template-columns: 1fr !important;
  }

  .portalIntentGrid button,
  .portalCommerceLinks a {
    min-height: 70px !important;
  }
}

/* Same visual language as the public MIB site: compact black header, amber accent, clear hierarchy. */
body.mibBrandTheme > main > header {
  min-height: 92px !important;
  background: #09090b !important;
}

body.mibBrandTheme .portalHeaderInner {
  min-height: 92px;
}

body.mibBrandTheme .portalBrandMark img {
  width: 44px;
  height: 44px;
  border: 1px solid #2c2c31;
  border-radius: 4px;
}

body.mibBrandTheme .portalBrandMark strong {
  font-size: 19px;
  letter-spacing: .02em;
}

body.mibBrandTheme .portalBrandMark small {
  color: #a1a1aa !important;
  font-size: 11px;
}

body.mibBrandTheme #pageTitle {
  font-size: clamp(24px, 2.3vw, 32px) !important;
}

body.mibBrandTheme #pageSub {
  margin-top: 6px !important;
  font-size: 14px;
}

body.mibBrandTheme .portalEntryShell {
  width: min(1180px, calc(100% - 48px)) !important;
  padding-top: 32px !important;
}

body.mibBrandTheme .portalStartGuide,
body.mibBrandTheme .portalLoginCard,
body.mibBrandTheme .portalRegistrationCard {
  border-top-color: var(--mib-gold) !important;
}

body.mibBrandTheme .portalIntentGrid button,
body.mibBrandTheme .portalCommerceLinks a,
body.mibBrandTheme .portalCommerceLinks button {
  border-color: #303036 !important;
  border-radius: 4px !important;
  background: #0d0d0f !important;
}

body.mibBrandTheme .portalIntentGrid button:is(:hover, :focus-visible),
body.mibBrandTheme .portalCommerceLinks a:is(:hover, :focus-visible),
body.mibBrandTheme .portalCommerceLinks button:is(:hover, :focus-visible) {
  border-color: var(--mib-gold) !important;
  background: #17140d !important;
  outline: none;
}

body.mibBrandTheme .portalIntentGrid button[aria-pressed="true"],
body.mibBrandTheme .portalIntentGrid button.is-active {
  border-color: var(--mib-gold) !important;
  background: var(--mib-gold) !important;
  color: #050505 !important;
}

body.mibBrandTheme .portalIntentGrid button[aria-pressed="true"] :is(strong, span),
body.mibBrandTheme .portalIntentGrid button.is-active :is(strong, span) {
  color: #050505 !important;
}

@media (max-width: 900px) {
  body.mibBrandTheme > main > header,
  body.mibBrandTheme .portalHeaderInner {
    min-height: 78px !important;
  }

  body.mibBrandTheme .portalHeaderKicker,
  body.mibBrandTheme .portalBrandMark {
    display: none;
  }
}

@media (max-width: 640px) {
  body.mibBrandTheme .mobileTopbar {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 64px;
    padding: 0 14px;
  }

  body.mibBrandTheme .mobileBrand,
  body.mibBrandTheme .mobileActions {
    display: flex;
    align-items: center;
  }

  body.mibBrandTheme .mobileBrand {
    min-width: 0;
    gap: 9px;
  }

  body.mibBrandTheme .mobileBrand > div {
    display: grid;
    gap: 2px;
    min-width: 0;
  }

  body.mibBrandTheme .mobileActions {
    gap: 8px;
  }

  body.mibBrandTheme .mobileActions .menuToggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 40px;
    padding: 0 10px;
  }

  body.mibBrandTheme .mobileBrand img {
    width: 38px;
    height: 38px;
    border: 1px solid #2c2c31;
    border-radius: 4px;
  }

  body.mibBrandTheme .mobileBrand strong {
    font-size: 17px;
  }

  body.mibBrandTheme .mobileBrand span {
    color: #a1a1aa !important;
    font-size: 11px;
  }

  body.mibBrandTheme .portalEntryShell {
    width: calc(100% - 28px) !important;
  }

  body.mibBrandTheme > aside#sideMenu {
    display: none !important;
  }

  body.mibBrandTheme.menuOpen > aside#sideMenu {
    position: fixed !important;
    top: 64px !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 80;
    display: flex !important;
    width: 100vw !important;
    min-height: calc(100dvh - 64px) !important;
    padding: 16px 14px 28px;
    border: 0 !important;
    border-top: 1px solid var(--mib-line) !important;
    background: #09090b !important;
    overflow-y: auto;
  }

  body.mibBrandTheme.menuOpen > aside#sideMenu > :is(img, h1, .sub) {
    display: none !important;
  }

  body.mibBrandTheme.menuOpen > aside#sideMenu .navScroll {
    display: grid;
    width: 100%;
    align-content: start;
    gap: 8px;
    overflow: visible;
  }

  body.mibBrandTheme.menuOpen > aside#sideMenu button,
  body.mibBrandTheme.menuOpen > aside#sideMenu select {
    width: 100%;
    min-height: 46px;
    text-align: left;
  }
}
