/* Slightly larger shared BRIDE brand lockup. */
.brand-mark { width: 50px !important; height: 50px !important; }
.brand > span { width: 170px !important; height: 50px !important; }

/* Home sidebar lockup: keep the two supplied image assets together inside its
   250px column, without the inherited card padding creating a visual gap. */
.sidebar > .brand {
  width: 100%;
  margin: 0 0 30px;
  padding: 3px 0;
  gap: 0;
  overflow: hidden;
}
.sidebar > .brand .brand-mark { width: 48px !important; height: 48px !important; flex: 0 0 48px; }
.sidebar > .brand > span { width: 166px !important; height: 48px !important; margin-left: -5px; flex: 0 0 166px; }

.back-to-login { border: 0; background: transparent; color: var(--green); font: 700 12px 'DM Sans'; cursor: pointer; margin: -5px 0 27px; }

/* Account Management cards within My Church only. */
#church #management .management-stats > div {
  position: relative;
  overflow: hidden;
  border: 0;
  color: #fff;
  min-height: 112px;
  padding: 20px;
  box-shadow: 0 12px 25px rgba(20, 58, 49, .16);
}
#church #management .management-stats > div::after {
  content: '';
  position: absolute;
  width: 92px;
  height: 92px;
  border-radius: 50%;
  right: -28px;
  top: -33px;
  background: rgba(255,255,255,.15);
}
#church #management .management-stats b { color: #fff; font-size: 29px; position: relative; z-index: 1; }
#church #management .management-stats span { color: rgba(255,255,255,.84); position: relative; z-index: 1; font-weight: 700; }
#church #management .management-stats > div:nth-child(4n + 1) { background: linear-gradient(140deg, #0f5c4a, #20846b); }
#church #management .management-stats > div:nth-child(4n + 2) { background: linear-gradient(140deg, #a86a17, #d69a36); }
#church #management .management-stats > div:nth-child(4n + 3) { background: linear-gradient(140deg, #216a8d, #4d96ba); }
#church #management .management-stats > div:nth-child(4n + 4) { background: linear-gradient(140deg, #67477f, #9470af); }
#church #management .management-card {
  border: 1px solid rgba(25, 71, 59, .09);
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 12px 27px rgba(22, 70, 58, .10);
}
#church #management .management-card .section-title { margin: -17px -17px 14px; padding: 16px 17px 13px; }
#church #management .management-card:first-of-type { background: #fbfefc; border-top: 4px solid #2b9675; }
#church #management .management-card:first-of-type .section-title { background: linear-gradient(90deg, #e5f5ed, #f7fcf9); }
#church #management .management-card:last-of-type { background: #fcfbfe; border-top: 4px solid #7a5aa2; }
#church #management .management-card:last-of-type .section-title { background: linear-gradient(90deg, #eee8f7, #faf8fd); }
#church #management .account-row { border-color: rgba(25, 71, 59, .10); }
#church #management .account-actions button { background: #fff; box-shadow: 0 2px 5px rgba(20,58,49,.06); }

/* Secure invitation and request controls in My Church Management. */
#church #management .invitation-management { border-top: 4px solid #ba7a20; background: #fffdfa; }
#church #management .invitation-management .section-title { background: linear-gradient(90deg, #fff2dc, #fffdfa); }
#church #management .invitation-list { display: grid; gap: 10px; }
#church #management .invitation-row {
  display: grid;
  grid-template-columns: minmax(160px, 1.6fr) minmax(160px, 1.2fr) auto auto;
  align-items: center;
  gap: 12px;
  padding: 13px;
  border: 1px solid rgba(128, 82, 22, .14);
  border-radius: 12px;
  background: rgba(255,255,255,.86);
}
#church #management .invitation-row strong,
#church #management .invitation-row small { display: block; }
#church #management .request-heading { margin: 22px 0 10px; font-size: 17px; color: #234a40; }
#church #management #invite-result button { margin-left: 8px; }
#church #management .temporary-credentials { border-top: 4px solid #246a8b; background: linear-gradient(135deg, #edf8fc, #fff); }
#church #management .temporary-credentials h2 { margin: 0 0 8px; color: #174c68; }
#church #management .temporary-credentials code { display: block; margin: 9px 0; padding: 10px 12px; border-radius: 8px; color: #123f55; background: #fff; border: 1px dashed #6fa0b4; font: 600 13px ui-monospace, Consolas, monospace; overflow-wrap: anywhere; }
#church #management .temporary-credentials .account-actions { margin-top: 13px; }

/* Music Ministry directory and registration. */
.topbar-spacer { flex: 1; }
.music-top-tab { height: 38px; margin-left: 18px; display: inline-flex; align-items: center; gap: 8px; border: 0; color: #fff; background: linear-gradient(135deg, #165b49, #2a8368); border-radius: 9px; padding: 0 15px; font: 700 12px 'DM Sans'; cursor: pointer; white-space: nowrap; box-shadow: 0 5px 12px rgba(20, 78, 61, .2); transition: transform .18s ease, box-shadow .18s ease; }
.music-top-tab span { display:grid; place-items:center; width:21px; height:21px; border-radius:50%; background:rgba(255,255,255,.18); color:#f8d27c; font-size:15px; }
.music-top-tab:hover { transform:translateY(-1px); box-shadow:0 8px 16px rgba(20,78,61,.27); }
.music-choice-row { display: flex; gap: 11px; margin-bottom: 20px; padding: 7px; width: max-content; background:#edf5f0; border:1px solid #dcebe2; border-radius:12px; }
.music-choice-row button { min-width:135px; }
.music-registration { display: grid; grid-template-columns: minmax(210px, .75fr) minmax(0, 1.25fr); gap: 32px; align-items: start; padding:26px; border-top:4px solid #c89436; }
#music-ministry-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap:18px; row-gap:18px; padding:4px 0; }
#music-ministry-form label { display: grid; gap: 6px; color: #52635c; font-size: 11px; font-weight: 700; }
#music-ministry-form label.full { grid-column: 1 / -1; }
#music-ministry-form input { min-height:42px; border:1px solid #d8e3dc; border-radius:9px; padding:11px 12px; color:var(--ink); background:#fbfdfb; font:inherit; outline-color:var(--green); }
#music-ministry-form input:focus { border-color:#4f9a7d; box-shadow:0 0 0 3px rgba(45,130,102,.12); }
#music-ministry-form button { justify-self:start; min-width:172px; min-height:42px; }
.music-directory { margin-top:22px; padding:24px 26px; border-top:4px solid #2b8268; }
.music-profile-list { display:grid; gap:11px; margin-top:18px; }
.music-profile-row { display:grid; grid-template-columns:46px minmax(0,1fr) auto; gap:15px; align-items:center; padding:14px 15px; border:1px solid #e0e9e3; border-radius:11px; background:#fbfdfb; }
.music-profile-row strong, .music-profile-row small { display: block; }
.music-profile-row small { color: var(--muted); font-size: 11px; margin-top: 3px; }
.music-profile-row a { text-decoration:none; padding:8px 11px; }
@media(max-width:700px) { .music-top-tab { margin-left:10px; padding:0 10px; font-size:11px; } .music-registration { grid-template-columns:1fr; gap:18px; padding:20px; } #music-ministry-form { grid-template-columns:1fr; gap:15px; } #music-ministry-form label.full { grid-column:auto; } .music-directory { padding:20px; } }
@media(max-width:600px) { .music-top-tab { display:none; } }

/* Music Library */
.music-library-hero { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:26px 28px; color:#fff; border-radius:15px; background:linear-gradient(120deg, #123f35, #276d5a 60%, #b7842d); box-shadow:0 12px 28px rgba(18,63,53,.16); }
.music-library-hero h2 { margin:0 0 7px; font:700 25px 'Playfair Display'; }.music-library-hero p:not(.eyebrow) { max-width:510px; margin:0; color:rgba(255,255,255,.8); }.music-library-hero .soft { border-color:rgba(255,255,255,.5); background:rgba(255,255,255,.13); color:#fff; }
.music-library-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(250px,.75fr); gap:18px; margin-top:18px; }.music-catalog,.music-playlist { padding:20px; }.music-playlist { border-top:4px solid #c89436; }.music-library-list,.music-playlist-list { display:grid; gap:9px; }
.music-media-tabs { display:flex; gap:8px; margin:4px 0 16px; padding-bottom:12px; border-bottom:1px solid #e3ebe5; }.music-media-tabs button { border:0; border-radius:8px; background:#eef4f0; color:#557168; padding:8px 13px; font:700 11px 'DM Sans'; cursor:pointer; }.music-media-tabs button.active { background:#1f755d; color:#fff; box-shadow:0 4px 9px rgba(20,91,72,.18); }
.music-library-row { display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:12px; align-items:center; padding:12px; border:1px solid #e0e9e3; border-radius:10px; background:#fbfdfb; }.music-library-row strong,.music-library-row small { display:block; }.music-library-row small { margin-top:3px; color:var(--muted); font-size:10px; }.music-media-icon { display:grid; place-items:center; width:40px; height:40px; color:#fff; border-radius:10px; background:#2b8268; font-size:18px; }.music-media-icon.video { background:#9a6430; }.music-library-actions { display:flex; gap:6px; }.music-library-actions button { border:1px solid #cfddd5; border-radius:7px; background:#fff; color:var(--green); padding:6px 8px; font:700 10px 'DM Sans'; cursor:pointer; }.music-library-actions .remove-playlist { color:#b75046; border-color:#efd1cd; }.bride-music-player { display:block; width:100%; max-height:340px; margin:16px 0 0; border-radius:12px; background:#10231d; }
@media(max-width:700px) { .music-library-hero { align-items:flex-start; flex-direction:column; padding:21px; }.music-library-layout { grid-template-columns:1fr; }.music-library-row { grid-template-columns:40px minmax(0,1fr); }.music-library-actions { grid-column:1/-1; }.music-library-actions button { flex:1; } }
@media (max-width: 700px) {
  #church #management .invitation-row { grid-template-columns: 1fr auto; gap: 8px; }
  #church #management .invitation-row > small { grid-column: 1 / -1; }
  #church #management .invitation-row .account-actions { grid-column: 1 / -1; }
}
