:root {
  --sg-black: #030303;
  --sg-ink: #0b0b0c;
  --sg-panel: #101011;
  --sg-iron: #1b1a1b;
  --sg-rose: #d29a9e;
  --sg-rose-bright: #f1c0b3;
  --sg-rose-deep: #75464c;
  --sg-text: #f5eee9;
  --sg-muted: #988d8b;
  --sg-line: rgba(242, 190, 179, .18);
}

.sg-dashboard, .sg-directory, .sg-gallery, .sg-affiliate-cta, .sg-field, .sg-cover, .sg-avatar, .sg-portrait, .sg-live-badge {
  box-sizing: border-box;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.sg-dashboard {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(205px, 250px) minmax(0, 1fr);
  gap: clamp(18px, 3vw, 42px);
  min-height: 620px;
  overflow: hidden;
  padding: clamp(18px, 4vw, 52px);
  background: #000;
  color: var(--sg-text);
}

.sg-dashboard::before {
  position: absolute;
  inset: 0;
  z-index: -2;
  background: radial-gradient(circle at 70% 14%, rgba(119, 54, 68, .23), transparent 32%), radial-gradient(circle at 25% 80%, rgba(54, 39, 44, .22), transparent 38%);
  content: "";
}

.sg-iron-card {
  background: linear-gradient(145deg, #282628 0%, #0d0d0e 37%, #1e1a1c 70%, #0a0a0a 100%);
  border: 1px solid var(--sg-line);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), inset 0 -1px 0 rgba(0,0,0,.9), 0 22px 60px rgba(0,0,0,.34);
}

.sg-iron-card::after {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(112deg, transparent 18%, rgba(255,255,255,.11) 46%, transparent 60%);
  background-size: 240% 100%;
  pointer-events: none;
  content: "";
  animation: sg-shimmer 7s ease-in-out infinite;
}

.sg-dashboard__nav {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  min-height: 520px;
  padding: 22px;
  border-radius: 24px;
}

.sg-brand-lockup { display: flex; align-items: center; gap: 10px; color: var(--sg-text); font-size: 14px; font-weight: 700; letter-spacing: .08em; text-transform: lowercase; }
.sg-brand-mark { display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid var(--sg-rose); border-radius: 10px 10px 10px 2px; color: #050505; background: linear-gradient(135deg, var(--sg-rose-bright), var(--sg-rose-deep)); font-family: Georgia, serif; font-size: 20px; font-weight: 800; }
.sg-dashboard__nav nav { display: grid; gap: 8px; margin-top: 50px; }
.sg-dashboard__nav nav a, .sg-dashboard__logout { position: relative; z-index: 1; padding: 11px 12px; border-radius: 10px; color: var(--sg-muted); font-size: 13px; text-decoration: none; transition: color .2s ease, background .2s ease, transform .2s ease; }
.sg-dashboard__nav nav a:hover, .sg-dashboard__nav nav a:focus-visible { color: var(--sg-text); background: rgba(210,154,158,.12); transform: translateX(3px); }
.sg-dashboard__nav nav .sg-nav-child { margin-left: 16px; font-size: 12px; }
.sg-dashboard__logout { margin-top: auto; border-top: 1px solid var(--sg-line); padding-top: 18px; }
.sg-dashboard__main { position: relative; z-index: 1; min-width: 0; }

.sg-section-heading { position: relative; z-index: 1; margin-bottom: 20px; }
.sg-eyebrow, .sg-field__label { display: block; color: var(--sg-rose); font-size: 10px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.sg-section-heading h2 { margin: 6px 0 0; color: var(--sg-text); font-family: Georgia, serif; font-size: clamp(26px, 4vw, 48px); font-weight: 400; line-height: 1; }
.sg-section-heading h2, .sg-eyebrow, .sg-field__label, .sg-live-badge { text-shadow: 0 0 18px rgba(241,192,179,.2); animation: sg-label-shimmer 5s ease-in-out infinite; }

.sg-cover { position: relative; min-height: 220px; overflow: hidden; border-radius: 22px; background-color: #131011; background-position: center; background-size: cover; }
.sg-cover::before { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(0,0,0,.85)); content: ""; }
.sg-avatar { position: relative; display: inline-flex; overflow: hidden; width: fit-content; padding: 5px; border-radius: 50%; }
.sg-avatar img { display: block; border-radius: 50%; object-fit: cover; }
.sg-portrait { position: relative; max-width: 360px; margin: 0; overflow: hidden; border-radius: 22px; }
.sg-portrait img { display: block; width: 100%; aspect-ratio: 4/5; object-fit: cover; }
.sg-portrait figcaption { position: absolute; right: 15px; bottom: 14px; left: 15px; color: var(--sg-text); font-family: Georgia, serif; font-size: 20px; text-shadow: 0 2px 12px #000; }

.sg-live-badge { display: inline-flex; align-items: center; gap: 7px; width: fit-content; padding: 6px 10px; border: 1px solid rgba(239, 142, 157, .35); border-radius: 999px; color: #f4bec0; background: rgba(85, 22, 35, .45); font-size: 11px; font-weight: 700; }
.sg-live-badge i { display: block; width: 7px; height: 7px; border-radius: 50%; background: #fb6c81; box-shadow: 0 0 0 4px rgba(251,108,129,.12), 0 0 12px #fb6c81; animation: sg-pulse 1.7s infinite; }

.sg-field { position: relative; display: grid; gap: 7px; max-width: 560px; padding: 14px 0; border-bottom: 1px solid var(--sg-line); color: var(--sg-text); }
.sg-field__value { color: #ded4d2; font-size: 15px; line-height: 1.55; }
.sg-field__value--empty { color: var(--sg-muted); font-style: italic; }
.sg-field__input { width: 100%; box-sizing: border-box; padding: 10px 12px; border: 1px solid var(--sg-line); border-radius: 10px; color: var(--sg-text); background: rgba(255,255,255,.04); }
.sg-geo-trigger { width: fit-content; padding: 0; border: 0; color: var(--sg-rose-bright); background: transparent; font-size: 11px; cursor: pointer; }
.sg-geo-result { font-size: 11px; }
.sg-geo-result a { color: var(--sg-rose-bright); }

.sg-directory, .sg-gallery { position: relative; padding: clamp(20px, 3vw, 36px); border-radius: 24px; color: var(--sg-text); background-color: #050505; }
.sg-directory__grid, .sg-gallery__grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 14px; }
.sg-member-card { position: relative; min-width: 0; overflow: hidden; border-radius: 16px; color: var(--sg-text); background: #121112; transition: transform .25s ease, box-shadow .25s ease; }
.sg-member-card:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(0,0,0,.35); }
.sg-member-card a { display: block; color: inherit; text-decoration: none; }
.sg-member-card img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; opacity: .86; }
.sg-member-card span { display: flex; align-items: center; justify-content: space-between; gap: 6px; padding: 10px; font-size: 12px; }
.sg-member-card .sg-live-badge { padding: 3px 6px; font-size: 8px; }
.sg-connect-button { position: relative; z-index: 1; width: calc(100% - 20px); margin: 0 10px 10px; padding: 8px 10px; border: 1px solid rgba(241,192,179,.38); border-radius: 8px; color: var(--sg-rose-bright); background: rgba(210,154,158,.08); font-size: 11px; cursor: pointer; transition: background .2s ease, color .2s ease; }
.sg-connect-button:hover, .sg-connect-button.is-sent { color: #080808; background: var(--sg-rose-bright); }
.sg-gallery__grid figure { position: relative; margin: 0; overflow: hidden; border-radius: 14px; background: #111; }
.sg-gallery__grid img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; transition: transform .5s ease; }
.sg-gallery__grid figure:hover img { transform: scale(1.06) rotate(1deg); }
.sg-muted { position: relative; z-index: 1; color: var(--sg-muted); font-size: 13px; }

.sg-affiliate-cta { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 20px; overflow: hidden; max-width: 560px; padding: 18px 20px; border-radius: 16px; color: var(--sg-text); text-decoration: none; }
.sg-affiliate-cta span { position: relative; z-index: 1; font-family: Georgia, serif; font-size: 21px; }
.sg-affiliate-cta b { position: relative; z-index: 1; color: var(--sg-rose-bright); font-size: 22px; }
.sg-login-form { display: grid; gap: 14px; max-width: 420px; padding: 24px; border-radius: 20px; color: var(--sg-text); }
.sg-login-form label { display: grid; gap: 7px; color: var(--sg-rose); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.sg-login-form input[type="text"], .sg-login-form input[type="password"] { box-sizing: border-box; width: 100%; padding: 12px; border: 1px solid var(--sg-line); border-radius: 10px; color: var(--sg-text); background: rgba(255,255,255,.04); }
.sg-login-form__remember { display: flex !important; grid-template-columns: auto 1fr; align-items: center; color: var(--sg-muted) !important; font-size: 11px !important; letter-spacing: 0 !important; text-transform: none !important; }
.sg-login-form button { padding: 12px 15px; border: 0; border-radius: 10px; color: #080808; background: linear-gradient(135deg, var(--sg-rose-bright), var(--sg-rose)); font-weight: 800; cursor: pointer; }

.sg-dashboard__bubbles { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.sg-bubble { position: absolute; display: block; width: 35px; height: 35px; padding: 0; border: 1px solid rgba(246,195,187,.44); border-radius: 50%; background: radial-gradient(circle at 30% 25%, rgba(255,255,255,.62), rgba(217,137,154,.18) 18%, rgba(32,15,23,.14) 58%, rgba(255,255,255,.24)); box-shadow: inset -5px -7px 10px rgba(239,153,170,.22), inset 5px 4px 7px rgba(255,255,255,.22), 0 0 18px rgba(233,158,169,.16); pointer-events: auto; cursor: pointer; animation: sg-float 16s linear infinite; }
.sg-bubble::after { position: absolute; inset: 7px 10px auto auto; width: 9px; height: 4px; border-radius: 50%; background: rgba(255,255,255,.55); content: ""; transform: rotate(-28deg); }
.sg-bubble--one { top: 86%; left: 23%; animation-delay: -5s; }
.sg-bubble--two { top: 79%; left: 77%; width: 22px; height: 22px; animation-duration: 20s; animation-delay: -9s; }
.sg-bubble--three { top: 95%; left: 53%; width: 52px; height: 52px; animation-duration: 23s; animation-delay: -15s; }
.sg-bubble--four { top: 87%; left: 91%; width: 16px; height: 16px; animation-duration: 13s; animation-delay: -4s; }
.sg-bubble.is-popping { animation: sg-pop .5s ease forwards; }

@keyframes sg-shimmer { 0%, 65% { background-position: 240% 0; } 85%, 100% { background-position: -50% 0; } }
@keyframes sg-label-shimmer { 0%, 100% { opacity: .86; } 50% { opacity: 1; text-shadow: 0 0 22px rgba(241,192,179,.5); } }
@keyframes sg-pulse { 50% { transform: scale(.7); opacity: .65; } }
@keyframes sg-float { 0% { transform: translate3d(0, 20px, 0) rotate(0deg); opacity: 0; } 10% { opacity: .82; } 50% { transform: translate3d(24px, -46vh, 0) rotate(160deg); } 100% { transform: translate3d(-18px, -105vh, 0) rotate(340deg); opacity: 0; } }
@keyframes sg-pop { 0% { opacity: 1; transform: scale(1); } 55% { opacity: .75; transform: scale(1.35); } 100% { opacity: 0; transform: scale(.05); } }

@media (max-width: 720px) {
  .sg-dashboard { display: block; padding: 15px; }
  .sg-dashboard__nav { min-height: auto; margin-bottom: 18px; padding: 16px; }
  .sg-dashboard__nav nav { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 20px; }
  .sg-dashboard__nav nav .sg-nav-child { margin-left: 0; }
  .sg-dashboard__logout { margin-top: 14px; }
}