.member-hub-body{min-height:100vh;background:var(--bg)}
.member-hub-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-bottom:1px solid var(--line);background:rgba(10,14,20,.96)}
.member-hub-header>div,.member-hub-header nav{display:flex;gap:12px;align-items:center}
.member-hub-brand{color:var(--accent);font-weight:900;letter-spacing:.12em}
.member-hub-shell{max-width:1450px;margin:auto;padding:24px}
.member-hub-app{display:grid;grid-template-columns:250px minmax(0,1fr);gap:20px}
.member-hub-sidebar{position:sticky;top:84px;align-self:start}
.member-hub-character-card,.member-dashboard-panel,.member-request-new,.member-raid-resource-card{border:1px solid var(--line);border-radius:12px;background:var(--panel2);padding:16px}
.member-hub-character-card{margin-bottom:10px}
.member-hub-nav{display:flex;flex-direction:column;gap:6px}
.member-hub-nav button{width:100%;justify-content:flex-start}
.member-hub-nav button.active{border-color:var(--accent);color:var(--accent)}
.member-hub-section-head{display:flex;justify-content:space-between;gap:20px;margin-bottom:16px}
.member-hub-section-head h1{margin:2px 0}
.member-hub-section-head p{margin:0;color:var(--muted)}
.primary-link-button{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border:1px solid var(--accent);border-radius:8px;color:var(--accent);font-weight:800}
.member-dashboard-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
.member-dashboard-stats article{display:flex;flex-direction:column;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}
.member-dashboard-stats span{color:var(--muted);font-size:10px;text-transform:uppercase}
.member-dashboard-stats strong{font-size:28px}
.member-recent-loot,#member-request-history,#member-raid-resources{display:flex;flex-direction:column;gap:8px}
.member-recent-loot-row,.member-request-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}
.member-recent-loot-row>span{display:flex;flex-direction:column}
.member-recent-loot-row small,.member-request-row small{color:var(--muted);font-size:9px}
.member-resource-filters{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}
.member-resource-filters button.active{border-color:var(--accent);color:var(--accent)}
.member-resource-type,.member-resource-mandatory,.member-request-status-badge{display:inline-flex;min-height:20px;align-items:center;padding:0 7px;border-radius:10px;font-size:9px;font-weight:900;text-transform:uppercase}
.member-resource-type{border:1px solid var(--line);color:var(--muted)}
.member-resource-mandatory{margin-left:5px;border:1px solid #c49434;color:#e8b64e}
.member-resource-actions,.member-request-actions{display:flex;gap:8px;margin-top:10px}
.member-request-new{margin-bottom:16px}
.member-request-new label{display:flex;flex-direction:column;gap:5px;margin-top:10px}
.member-request-status-badge.requested{color:#e8b64e}
.member-request-status-badge.filled{color:#69d394}
.hidden{display:none!important}
@media(max-width:850px){.member-hub-app{grid-template-columns:1fr}.member-hub-sidebar{position:static}.member-hub-nav{flex-direction:row;overflow:auto}.member-dashboard-stats{grid-template-columns:1fr}}


/* Original Member tools are now hosted inside the dedicated Hub. */
.member-hub-existing-tools {
  display:contents;
}

.member-hub-existing-tools-residual {
  display:contents;
}

.member-hub-tool-view {
  min-width:0;
}

.member-hub-tool-view > section {
  margin:0;
}

.member-hub-tool-view .member-resource-toolbar,
.member-hub-tool-view .member-loot-toolbar {
  margin-top:10px;
}

.member-hub-tool-error {
  margin-bottom:10px;
}

/* Old private Member subtab navigation is replaced by Hub sidebar navigation. */
#member-private-tools-nav {
  display:none !important;
}


.member-hub-login-card {
  max-width:560px;
  margin:60px auto;
  padding:22px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--panel2);
}

.member-hub-login-card h2 {
  margin:4px 0 8px;
}

.member-hub-login-card > p {
  color:var(--muted);
}

.member-hub-linked-account-residual > .member-account-head,
.member-hub-linked-account-residual > #member-character-status,
.member-hub-linked-account-residual > #member-character-form {
  display:none !important;
}


/* Member Hub side tabs: readable, subtle depressed selected state. */
.member-hub-nav button {
  color:var(--text) !important;
  background:transparent;
  border-color:var(--line);
  box-shadow:none;
  transform:none;
}

.member-hub-nav button:hover {
  color:var(--text) !important;
  background:var(--panel2);
}

.member-hub-nav button.active {
  color:var(--text) !important;
  background:var(--panel2) !important;
  border-color:var(--accent) !important;
  box-shadow:inset 0 2px 5px rgba(0,0,0,.38);
  transform:translateY(1px);
}

.member-hub-nav button.active:hover {
  color:var(--text) !important;
  background:var(--panel2) !important;
}

.member-dashboard-stats {
  grid-template-columns:
    repeat(2,minmax(0,1fr));
}

@media(max-width:850px) {
  .member-dashboard-stats {
    grid-template-columns:1fr;
  }
}


/* Larger item portraits / slots in Member Hub Guild Bank. */
#member-hub-view-bank .member-bank-slot-grid {
  grid-template-columns:
    repeat(
      10,
      minmax(
        58px,
        1fr
      )
    );
  gap:8px;
}

#member-hub-view-bank .member-bank-slot {
  border-radius:8px;
}

@media(max-width:1050px) {
  #member-hub-view-bank .member-bank-slot-grid {
    grid-template-columns:
      repeat(
        8,
        minmax(
          52px,
          1fr
        )
      );
  }
}

@media(max-width:650px) {
  #member-hub-view-bank .member-bank-slot-grid {
    grid-template-columns:
      repeat(
        6,
        minmax(
          44px,
          1fr
        )
      );
    gap:6px;
  }
}

/* Raid Resource filter tabs: same readable depressed state as side nav. */
.member-resource-filters button {
  color:var(--text) !important;
  background:transparent;
  border-color:var(--line);
  box-shadow:none;
  transform:none;
}

.member-resource-filters button:hover {
  color:var(--text) !important;
  background:var(--panel2);
}

.member-resource-filters button.active {
  color:var(--text) !important;
  background:var(--panel2) !important;
  border-color:var(--accent) !important;
  box-shadow:
    inset 0 2px 5px rgba(0,0,0,.38);
  transform:translateY(1px);
}

/* Member-personal AH tracking controls. */
.member-auction-tracking {
  display:grid;
  gap:8px;
  margin:0 0 12px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel2);
}

.member-auction-tracking > div:first-child {
  display:flex;
  flex-direction:column;
  gap:2px;
}

.member-auction-tracking small {
  color:var(--muted);
}

.member-auction-track-controls {
  display:grid;
  grid-template-columns:
    minmax(0,1fr)
    auto;
  gap:8px;
}

.member-auction-row {
  grid-template-columns:
    minmax(220px,1fr)
    repeat(4,minmax(90px,auto))
    auto !important;
}

.member-auction-untrack {
  align-self:center;
}

@media(max-width:850px) {
  .member-auction-track-controls {
    grid-template-columns:1fr;
  }

  .member-auction-row {
    grid-template-columns:1fr !important;
  }
}


/*
  Guild Bank v2.5:
  Restore the original slot/grid dimensions.
  Only the artwork inside occupied slots should be larger.
*/
#member-hub-view-bank .member-bank-slot-grid {
  grid-template-columns:
    repeat(
      14,
      minmax(
        42px,
        1fr
      )
    );
  gap:5px;
}

#member-hub-view-bank .member-bank-slot {
  border-radius:6px;
}

#member-hub-view-bank .member-bank-slot-picture {
  position:absolute;
  inset:0;
  width:100% !important;
  height:100% !important;
  display:block;
  object-fit:cover;
  object-position:center;
}

/*
  Wowhead remains on the anchor for the TBC tooltip, but its injected icon is
  no longer used as the visible bank artwork.
*/
#member-hub-view-bank .member-bank-slot.occupied > ins,
#member-hub-view-bank .member-bank-slot.occupied > .wowhead-icon {
  display:none !important;
}

@media(max-width:900px) {
  #member-hub-view-bank .member-bank-slot-grid {
    grid-template-columns:
      repeat(
        10,
        minmax(
          38px,
          1fr
        )
      );
  }
}

@media(max-width:700px) {
  #member-hub-view-bank .member-bank-slot-grid {
    grid-template-columns:
      repeat(
        7,
        minmax(
          36px,
          1fr
        )
      );
  }
}

/* Equipped-gear synchronization / enchant eligibility. */
.member-equipment-sync {
  display:grid;
  grid-template-columns:
    minmax(0,1fr)
    auto;
  gap:8px 12px;
  align-items:center;
  margin:10px 0 4px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel2);
}

.member-equipment-sync > div {
  display:flex;
  flex-direction:column;
  gap:2px;
}

.member-equipment-sync small {
  color:var(--muted);
}

.member-equipment-sync .form-status {
  grid-column:1 / -1;
}

@media(max-width:700px) {
  .member-equipment-sync {
    grid-template-columns:1fr;
  }

  .member-equipment-sync .form-status {
    grid-column:1;
  }
}


.member-equipment-manual {
  display:grid;
  gap:9px;
  margin:10px 0 4px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel2);
}

.member-equipment-manual > div:first-child {
  display:flex;
  flex-direction:column;
  gap:2px;
}

.member-equipment-manual small {
  color:var(--muted);
}

.member-equipment-manual-grid {
  display:grid;
  grid-template-columns:
    minmax(140px,.75fr)
    minmax(130px,.6fr)
    minmax(190px,1fr)
    auto;
  gap:8px;
}

.member-equipment-current-list {
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-top:3px;
}

.member-equipment-current-row {
  display:grid;
  grid-template-columns:
    minmax(0,1fr)
    auto;
  gap:10px;
  align-items:center;
  padding:8px 9px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--panel);
}

.member-equipment-current-row > div {
  display:flex;
  flex-direction:column;
  gap:2px;
}

@media(max-width:900px) {
  .member-equipment-manual-grid {
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:650px) {
  .member-equipment-manual-grid,
  .member-equipment-current-row {
    grid-template-columns:1fr;
  }
}


/*
  Guild Bank V2.7:
  Keep the existing slot/grid dimensions.
  Use Wowhead's item-ID-resolved artwork again (avoids bad icon_name records),
  but scale only the artwork to roughly 80% of the slot.
*/
#member-hub-view-bank .member-bank-slot.occupied > ins,
#member-hub-view-bank .member-bank-slot.occupied > .wowhead-icon,
#member-hub-view-bank .member-bank-slot.occupied .member-bank-slot-icon > ins {
  position:absolute !important;
  inset:10% !important;
  width:80% !important;
  height:80% !important;
  display:block !important;
}

#member-hub-view-bank .member-bank-slot.occupied > ins img,
#member-hub-view-bank .member-bank-slot.occupied > .wowhead-icon img,
#member-hub-view-bank .member-bank-slot.occupied .member-bank-slot-icon > ins img,
#member-hub-view-bank .member-bank-slot.occupied img[src*="wow.zamimg.com"] {
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  border-radius:4px;
}

/* Hide the V2.5 custom direct-icon picture if an old browser DOM retains it. */
#member-hub-view-bank .member-bank-slot-picture {
  display:none !important;
}


.member-resource-lead-only {
  display:inline-flex;
  min-height:20px;
  align-items:center;
  margin-left:5px;
  padding:0 7px;
  border:1px solid var(--accent);
  border-radius:10px;
  color:var(--accent);
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
}
