/* ═══════════════════════════════════════════════
   Hash Nance — 마이페이지
   ═══════════════════════════════════════════════ */

/* ── Layout ── */
.my-main {
  min-height: calc(100vh - 60px);
  background: var(--bg-body);
}
.my-container {
  max-width: var(--w-container);
  margin: 0 auto;
  padding: 0 1.5rem;
}

/* Active nav link */
.nav-link--active {
  color: var(--c-brand) !important;
  font-weight: 600;
}

/* ── Loading ── */
.my-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 60vh;
  gap: 1rem;
  color: var(--c-dim);
  font-size: .875rem;
}
.my-loading-spinner {
  width: 36px;
  height: 36px;
  border: 3px solid rgba(13,148,136,.15);
  border-top-color: var(--c-brand);
  border-radius: 50%;
  animation: mySpin .7s linear infinite;
}
@keyframes mySpin { to { transform: rotate(360deg); } }

/* ── Profile Hero ── */
.my-profile-hero {
  position: relative;
  background: linear-gradient(135deg, #0f766e 0%, #0d9488 40%, #14b8a6 100%);
  padding: clamp(2rem, 4vw, 3rem) 1.5rem clamp(2.5rem, 5vw, 4rem);
  overflow: hidden;
}
.my-profile-hero-bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 80% 60% at 20% 100%, rgba(255,255,255,.08), transparent 50%),
    radial-gradient(ellipse 60% 50% at 80% 0%, rgba(0,0,0,.1), transparent 50%);
  pointer-events: none;
}
.my-profile-inner {
  position: relative;
  max-width: var(--w-container);
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 1.25rem;
}
.my-avatar-wrap {
  position: relative;
  flex-shrink: 0;
}
.my-avatar {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: rgba(255,255,255,.2);
  backdrop-filter: blur(12px);
  border: 2px solid rgba(255,255,255,.3);
  color: #fff;
  font-family: var(--f-display);
  font-size: 1.5rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.my-avatar-img {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid rgba(255,255,255,.3);
}
.my-avatar-edit {
  position: absolute;
  bottom: -2px;
  right: -2px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(255,255,255,.95);
  border: 1.5px solid rgba(0,0,0,.08);
  box-shadow: 0 2px 8px rgba(0,0,0,.12);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--c-sub);
  transition: all .2s var(--ease);
  padding: 0;
}
.my-avatar-edit:hover {
  background: var(--c-brand);
  color: #fff;
  border-color: var(--c-brand);
  transform: scale(1.1);
}
.my-avatar-edit.is-uploading {
  pointer-events: none;
  opacity: .6;
}
.my-avatar-edit.is-uploading::after {
  content: "";
  width: 12px;
  height: 12px;
  border: 2px solid rgba(13,148,136,.2);
  border-top-color: var(--c-brand);
  border-radius: 50%;
  animation: mySpin .6s linear infinite;
  position: absolute;
}
.my-avatar-edit.is-uploading svg {
  visibility: hidden;
}
.my-profile-info {
  display: flex;
  flex-direction: column;
  gap: .25rem;
}
.my-profile-welcome {
  font-size: .9375rem;
  font-weight: 600;
  color: rgba(255,255,255,.9);
  margin: 0;
  letter-spacing: -.02em;
}
.my-profile-name {
  font-family: var(--f-display);
  font-size: 1.375rem;
  font-weight: 700;
  color: #fff;
  margin: 0;
  letter-spacing: -.02em;
}
.my-profile-email {
  font-size: .8125rem;
  color: rgba(255,255,255,.7);
}
/* ── 회원 등급 배지 (프리미엄 디자인) ── */
.my-profile-tier-wrap {
  margin-top: .5rem;
}
.my-profile-tier {
  display: inline-flex;
  align-items: baseline;
  gap: .4rem;
  padding: .4rem .8rem .4rem .7rem;
  border-radius: 10px;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .02em;
  position: relative;
  overflow: hidden;
  border: 1px solid transparent;
  box-shadow: 0 2px 8px rgba(0,0,0,.12);
  transition: transform .2s ease, box-shadow .2s ease;
}
.my-profile-tier .tier-kr {
  font-weight: 800;
  letter-spacing: -.01em;
  line-height: 1.2;
}
.my-profile-tier .tier-en {
  font-size: .65em;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .12em;
  opacity: .92;
}
.my-profile-tier::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  opacity: .5;
  pointer-events: none;
}
.my-profile-tier:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0,0,0,.18);
}

/* 일반 (Member) — 차분한 네이비 */
.my-profile-tier.tier-member {
  background: linear-gradient(160deg, #4b5563 0%, #374151 50%, #1f2937 100%);
  color: #e5e7eb;
  border-color: rgba(255,255,255,.12);
}
.my-profile-tier.tier-member::before {
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.15), transparent);
}

/* 브론즈 (Bronze) — 구리 메탈릭 */
.my-profile-tier.tier-bronze {
  background: linear-gradient(160deg, #d97706 0%, #b45309 35%, #92400e 70%, #78350f 100%);
  color: #fef3c7;
  border-color: rgba(251,191,36,.35);
  box-shadow: 0 2px 10px rgba(180,83,9,.35), inset 0 1px 0 rgba(255,255,255,.15);
}
.my-profile-tier.tier-bronze::before {
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.3), transparent);
}

/* 실버 (Silver) — 은 메탈릭 */
.my-profile-tier.tier-silver {
  background: linear-gradient(160deg, #f1f5f9 0%, #cbd5e1 30%, #94a3b8 65%, #64748b 100%);
  color: #0f172a;
  border-color: rgba(255,255,255,.5);
  box-shadow: 0 2px 10px rgba(100,116,139,.3), inset 0 1px 0 rgba(255,255,255,.6);
}
.my-profile-tier.tier-silver::before {
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.8), transparent);
}

/* 골드 (Gold) — 금 메탈릭 */
.my-profile-tier.tier-gold {
  background: linear-gradient(160deg, #fde047 0%, #facc15 25%, #eab308 50%, #ca8a04 75%, #a16207 100%);
  color: #422006;
  border-color: rgba(253,224,71,.6);
  box-shadow: 0 2px 12px rgba(234,179,8,.4), inset 0 1px 0 rgba(255,255,255,.45);
}
.my-profile-tier.tier-gold::before {
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.5), transparent);
}

/* 사파이어 (Sapphire) — 보석 블루 */
.my-profile-tier.tier-sapphire {
  background: linear-gradient(160deg, #38bdf8 0%, #0ea5e9 40%, #0284c7 70%, #0369a1 100%);
  color: #fff;
  border-color: rgba(56,189,248,.45);
  box-shadow: 0 2px 12px rgba(2,132,199,.4), inset 0 1px 0 rgba(255,255,255,.2);
}
.my-profile-tier.tier-sapphire::before {
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.35), transparent);
}

/* 플래티넘 (Platinum) — 백금/펄 */
.my-profile-tier.tier-platinum {
  background: linear-gradient(160deg, #f8fafc 0%, #e2e8f0 25%, #cbd5e1 55%, #94a3b8 100%);
  color: #1e293b;
  border-color: rgba(255,255,255,.7);
  box-shadow: 0 2px 12px rgba(148,163,184,.25), inset 0 1px 0 rgba(255,255,255,.9);
}
.my-profile-tier.tier-platinum::before {
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.95), transparent);
}

/* 다이아몬드 (Diamond) — 프리즘/바이올렛 */
.my-profile-tier.tier-diamond {
  background: linear-gradient(160deg, #e9d5ff 0%, #c4b5fd 25%, #a78bfa 50%, #7c3aed 75%, #5b21b6 100%);
  color: #fff;
  border-color: rgba(196,181,253,.5);
  box-shadow: 0 2px 14px rgba(124,58,237,.45), inset 0 1px 0 rgba(255,255,255,.25);
}
.my-profile-tier.tier-diamond::before {
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.4), transparent);
}

/* 블랙 (VVIP) — 블랙 & 골드 */
.my-profile-tier.tier-black {
  background: linear-gradient(160deg, #334155 0%, #1e293b 35%, #0f172a 70%, #020617 100%);
  color: #fcd34d;
  border-color: rgba(252,211,77,.4);
  box-shadow: 0 2px 16px rgba(0,0,0,.5), 0 0 20px rgba(252,211,77,.12), inset 0 1px 0 rgba(252,211,77,.15);
}
.my-profile-tier.tier-black::before {
  background: linear-gradient(90deg, transparent, rgba(252,211,77,.25), transparent);
}
.my-profile-tier.tier-black:hover {
  box-shadow: 0 4px 20px rgba(0,0,0,.5), 0 0 28px rgba(252,211,77,.18), inset 0 1px 0 rgba(252,211,77,.2);
}

/* ── Stats Grid ── */
.my-stats-section {
  margin-top: -1.5rem;
  position: relative;
  z-index: 2;
}
/* USDT Rate Bar */
.my-usdt-rate {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .4375rem .875rem;
  background: var(--bg-card);
  border: var(--border);
  border-radius: var(--r-full);
  margin-bottom: 1rem;
  font-size: .6875rem;
  font-weight: 500;
  color: var(--c-sub);
}
.my-usdt-rate-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 6px rgba(34,197,94,.5);
  animation: ratePulse 2s ease-in-out infinite;
}
@keyframes ratePulse { 0%,100% { opacity: 1; } 50% { opacity: .4; } }
.my-usdt-rate-label {
  font-weight: 600;
  color: var(--c-dim);
  letter-spacing: .03em;
}
.my-usdt-rate-value {
  font-family: var(--f-mono);
  font-weight: 700;
  color: var(--c-text);
  font-size: .75rem;
}
.my-usdt-rate-change {
  font-family: var(--f-mono);
  font-weight: 600;
  font-size: .625rem;
  padding: .0625rem .3125rem;
  border-radius: 3px;
}
.my-usdt-rate-change.rate-up {
  color: #16a34a;
  background: rgba(34,197,94,.08);
}
.my-usdt-rate-change.rate-down {
  color: #dc2626;
  background: rgba(239,68,68,.08);
}
.my-usdt-rate-src {
  font-size: .5625rem;
  font-weight: 600;
  color: var(--c-dim);
  opacity: .6;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.my-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: .75rem;
}
.my-stat-card {
  position: relative;
  background: var(--bg-card);
  border: 1px solid rgba(0,0,0,.05);
  border-radius: var(--r-lg);
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
  padding: 1.125rem 1.25rem;
  display: flex;
  flex-direction: column;
  gap: .75rem;
  transition: all .25s var(--ease);
  animation: statFadeIn .5s var(--ease) both;
  overflow: hidden;
}
.my-stat-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2.5px;
  opacity: .7;
}
.my-stat-wallet::before { background: linear-gradient(90deg, #3b82f6, #60a5fa); }
.my-stat-today::before { background: linear-gradient(90deg, #059669, #34d399); }
.my-stat-total::before { background: linear-gradient(90deg, #0d9488, #2dd4bf); }
.my-stat-rigs::before { background: linear-gradient(90deg, #d97706, #fbbf24); }

.my-stat-card:nth-child(1) { animation-delay: .05s; }
.my-stat-card:nth-child(2) { animation-delay: .1s; }
.my-stat-card:nth-child(3) { animation-delay: .15s; }
.my-stat-card:nth-child(4) { animation-delay: .2s; }
@keyframes statFadeIn {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
.my-stat-card:hover {
  border-color: rgba(13,148,136,.15);
  box-shadow: 0 4px 20px rgba(0,0,0,.06);
  transform: translateY(-2px);
}

.my-stat-top {
  display: flex;
  align-items: center;
  gap: .5rem;
}
.my-stat-icon {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  flex-shrink: 0;
}
.my-stat-wallet .my-stat-icon { background: rgba(37,99,235,.08); color: #3b82f6; }
.my-stat-today .my-stat-icon { background: rgba(5,150,105,.08); color: #059669; }
.my-stat-total .my-stat-icon { background: rgba(13,148,136,.08); color: var(--c-brand); }
.my-stat-rigs .my-stat-icon { background: rgba(217,119,6,.08); color: #d97706; }

.my-stat-label {
  font-size: .6875rem;
  font-weight: 600;
  color: var(--c-dim);
  letter-spacing: .02em;
}

.my-stat-body {
  display: flex;
  flex-direction: column;
  gap: .25rem;
}
.my-stat-row {
  display: flex;
  align-items: baseline;
  gap: .375rem;
}
.my-stat-value {
  font-family: var(--f-mono);
  font-size: 1.375rem;
  font-weight: 700;
  color: var(--c-text);
  letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}
.my-stat-unit {
  font-size: .5625rem;
  font-weight: 700;
  color: var(--c-dim);
  text-transform: uppercase;
  letter-spacing: .06em;
  opacity: .7;
}
.my-stat-krw {
  font-family: var(--f-mono);
  font-size: .6875rem;
  font-weight: 600;
  line-height: 1;
  min-height: .75rem;
  letter-spacing: -.01em;
}
.my-stat-wallet .my-stat-krw { color: #3b82f6; }
.my-stat-today .my-stat-krw { color: #059669; }
.my-stat-total .my-stat-krw { color: var(--c-brand); }

/* Rigs card special display */
.my-stat-rigs-display {
  display: flex;
  align-items: center;
  gap: .375rem;
  position: relative;
}
.my-stat-rigs-num {
  font-family: var(--f-mono);
  font-size: 2rem;
  font-weight: 800;
  color: #d97706;
  line-height: 1;
  letter-spacing: -.03em;
}
.my-stat-rigs-unit {
  font-size: .75rem;
  font-weight: 700;
  color: var(--c-dim);
  align-self: flex-end;
  padding-bottom: .1875rem;
}
.my-stat-rigs-pulse {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(217,119,6,.3);
  margin-left: auto;
}
.my-stat-rigs-status {
  display: inline-flex;
  align-items: center;
  gap: .3125rem;
  font-size: .625rem;
  font-weight: 600;
  color: var(--c-dim);
  letter-spacing: .02em;
}
.my-stat-rigs-status.is-active {
  color: #d97706;
}
.my-stat-rigs-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-dim);
  opacity: .4;
}
.my-stat-rigs-dot--active {
  background: #f59e0b;
  opacity: 1;
  box-shadow: 0 0 8px rgba(245,158,11,.5);
  animation: rigsDotPulse 1.5s ease-in-out infinite;
}
@keyframes rigsDotPulse {
  0%, 100% { box-shadow: 0 0 4px rgba(245,158,11,.4); }
  50% { box-shadow: 0 0 12px rgba(245,158,11,.7); }
}

/* ── Action Buttons ── */
.my-actions-section {
  padding: 1.5rem 0 0;
}
.my-actions-row {
  display: flex;
  gap: .75rem;
  flex-wrap: wrap;
}
.my-action-btn {
  flex: 1;
  min-width: 120px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .5rem;
  padding: 1rem .75rem;
  background: var(--bg-card);
  border: var(--border);
  border-radius: var(--r-md);
  box-shadow: var(--shadow-xs);
  cursor: pointer;
  text-decoration: none;
  font-family: var(--f-body);
  transition: all .2s var(--ease);
}
.my-action-btn:hover {
  border-color: rgba(13,148,136,.25);
  box-shadow: var(--shadow-sm);
  transform: translateY(-2px);
}
.my-action-icon {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: all .2s var(--ease);
}
.my-action-text {
  font-size: .8125rem;
  font-weight: 600;
  color: var(--c-text);
}

.my-action-deposit .my-action-icon {
  background: rgba(5,150,105,.1);
  color: var(--c-green);
}
.my-action-deposit:hover .my-action-icon {
  background: var(--c-green);
  color: #fff;
}
.my-action-withdraw .my-action-icon {
  background: rgba(37,99,235,.1);
  color: var(--c-blue);
}
.my-action-withdraw:hover .my-action-icon {
  background: var(--c-blue);
  color: #fff;
}
.my-action-buy .my-action-icon {
  background: rgba(13,148,136,.1);
  color: var(--c-brand);
}
.my-action-buy:hover .my-action-icon {
  background: var(--c-brand);
  color: #fff;
}
.my-action-referral .my-action-icon {
  background: rgba(217,119,6,.1);
  color: var(--c-amber);
}
.my-action-referral:hover .my-action-icon {
  background: var(--c-amber);
  color: #fff;
}

/* ── Mining History ── */
.my-history-section {
  padding: 1.5rem 0 3rem;
}
.my-history-card {
  background: var(--bg-card);
  border: var(--border);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-card);
  overflow: hidden;
}
.my-history-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.5rem;
  border-bottom: var(--border);
}
.my-history-title-wrap {
  display: flex;
  flex-direction: column;
  gap: .35rem;
}
.my-history-cycle-hint {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  font-size: .7rem;
  color: #22c55e;
  font-weight: 500;
  letter-spacing: .01em;
  opacity: .85;
}
.my-history-cycle-hint svg { opacity: .7; }

/* ── Reward Hint Wrap ── */
.my-hint-wrap {
  display: inline-flex;
  align-items: center;
  gap: .375rem;
  position: relative;
}

/* ── Reward Hint Button ── */
.my-hint-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  padding: 0;
  border: 1px solid rgba(148,163,184,.15);
  border-radius: 50%;
  background: rgba(148,163,184,.06);
  cursor: pointer;
  color: rgba(148,163,184,.55);
  transition: color .2s, background .2s, border-color .2s, transform .15s;
  -webkit-tap-highlight-color: transparent;
  flex-shrink: 0;
  outline: none;
}
.my-hint-btn:hover,
.my-hint-btn.is-active {
  color: #a5b4fc;
  background: rgba(99,102,241,.1);
  border-color: rgba(99,102,241,.25);
  transform: scale(1.08);
}

/* ── Reward Hint Tooltip (overlay) ── */
.my-hint-tooltip {
  display: none;
  position: fixed;
  z-index: 9999;
  padding: 0;
}
.my-hint-tooltip.is-visible {
  display: block;
  animation: hintFadeIn .2s cubic-bezier(.4,0,.2,1) both;
}
@keyframes hintFadeIn {
  from { opacity: 0; transform: translateY(4px); }
  to   { opacity: 1; transform: translateY(0); }
}
.my-hint-tooltip-inner {
  width: 280px;
  max-width: calc(100vw - 2rem);
  padding: .875rem 1rem;
  font-size: .75rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: .01em;
  color: #cbd5e1;
  background: linear-gradient(145deg, rgba(15,20,42,.98), rgba(22,28,52,.98));
  border: 1px solid rgba(99,102,241,.18);
  border-radius: 14px;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow:
    0 8px 24px rgba(0,0,0,.35),
    0 2px 6px rgba(0,0,0,.15),
    inset 0 1px 0 rgba(255,255,255,.04);
}
.my-hint-tooltip-head {
  display: flex;
  align-items: center;
  gap: .375rem;
  font-size: .75rem;
  font-weight: 600;
  color: #a5b4fc;
  margin-bottom: .625rem;
  padding-bottom: .5rem;
  border-bottom: 1px solid rgba(99,102,241,.12);
}
.my-hint-tooltip-head svg {
  flex-shrink: 0;
  opacity: .75;
}
.my-hint-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  margin-left: auto;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: rgba(148,163,184,.08);
  color: rgba(148,163,184,.5);
  cursor: pointer;
  transition: background .15s, color .15s;
  outline: none;
  -webkit-tap-highlight-color: transparent;
}
.my-hint-close:hover {
  background: rgba(239,68,68,.12);
  color: #f87171;
}
.my-hint-tooltip p {
  margin: 0 0 .3rem;
}
.my-hint-tooltip p:last-child {
  margin-bottom: 0;
}
.my-hint-tooltip strong {
  color: #a5b4fc;
  font-weight: 600;
}

.my-history-title {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-family: var(--f-display);
  font-size: .9375rem;
  font-weight: 700;
  color: var(--c-text);
  margin: 0;
}
.my-history-title svg {
  color: var(--c-brand);
}
.my-history-total {
  font-size: .75rem;
  font-weight: 500;
  color: var(--c-dim);
}

.my-history-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.my-history-table {
  min-width: 460px;
  width: 100%;
}
.my-history-thead {
  display: grid;
  grid-template-columns: 1.2fr 1.5fr 1fr;
  gap: .5rem;
  padding: .625rem 1.5rem;
  background: var(--bg-inset);
  font-size: .625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--c-dim);
}
.my-th-amount {
  text-align: right;
}

/* History Row */
.my-history-row {
  display: grid;
  grid-template-columns: 1.2fr 1.5fr 1fr;
  gap: .5rem;
  padding: .75rem 1.5rem;
  align-items: center;
  border-bottom: 1px solid rgba(0,0,0,.03);
  transition: background .15s var(--ease);
}
.my-history-row:last-child { border-bottom: none; }
.my-history-row:hover { background: rgba(13,148,136,.015); }

.my-row-date {
  font-size: .75rem;
  color: var(--c-sub);
  font-variant-numeric: tabular-nums;
}
.my-row-date-sub {
  font-size: .625rem;
  color: var(--c-dim);
  display: block;
}
.my-row-rig {
  display: flex;
  align-items: center;
  gap: .5rem;
}
.my-row-rig-dot {
  width: 8px;
  height: 8px;
  border-radius: 3px;
  background: var(--c-brand);
  flex-shrink: 0;
}
.my-row-rig-info {
  display: flex;
  flex-direction: column;
  gap: .0625rem;
}
.my-row-rig-name {
  font-size: .8125rem;
  font-weight: 600;
  color: var(--c-text);
  line-height: 1.2;
}
.my-row-rig-gpu {
  font-size: .625rem;
  color: var(--c-dim);
}
.my-row-amount {
  font-family: var(--f-mono);
  font-size: .8125rem;
  font-weight: 600;
  color: var(--c-green);
  text-align: right;
  font-variant-numeric: tabular-nums;
}

/* Empty state */
.my-history-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 3rem 1rem;
  gap: .75rem;
  text-align: center;
}
.my-history-empty p {
  color: var(--c-dim);
  font-size: .875rem;
  margin: 0;
}

/* ── Pagination ── */
.my-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  padding: .875rem 1.5rem;
  border-top: var(--border);
}
.my-page-btn {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bg-inset);
  border: var(--border);
  border-radius: var(--r-xs);
  cursor: pointer;
  color: var(--c-sub);
  transition: all .15s var(--ease);
}
.my-page-btn:hover:not(:disabled) {
  background: var(--c-brand);
  color: #fff;
  border-color: var(--c-brand);
}
.my-page-btn:disabled {
  opacity: .35;
  cursor: not-allowed;
}
.my-page-info {
  font-size: .75rem;
  font-weight: 600;
  color: var(--c-sub);
  font-variant-numeric: tabular-nums;
}

/* ── Toast (reuse from auth) ── */
.toast-container {
  position: fixed;
  top: max(1.5rem, env(safe-area-inset-top));
  right: max(1.5rem, env(safe-area-inset-right));
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: .5rem;
}
.toast {
  padding: .875rem 1.25rem;
  background: var(--bg-card);
  border: var(--border);
  border-radius: var(--r-sm);
  box-shadow: var(--shadow-md);
  font-size: .8125rem;
  font-weight: 500;
  color: var(--c-text);
  display: flex;
  align-items: center;
  gap: .5rem;
  animation: toastIn .35s var(--ease) both;
  max-width: 340px;
}
.toast.success { border-left: 3px solid var(--c-green); }
.toast.error { border-left: 3px solid var(--c-red); }
.toast.info { border-left: 3px solid var(--c-blue); }
@keyframes toastIn {
  from { opacity: 0; transform: translateX(20px); }
  to { opacity: 1; transform: translateX(0); }
}

/* ══════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════ */

@media (max-width: 1024px) {
  .my-stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .my-profile-inner {
    flex-direction: column;
    text-align: center;
  }
  .my-profile-info {
    align-items: center;
  }
  .my-avatar, .my-avatar-img {
    width: 56px;
    height: 56px;
    font-size: 1.25rem;
  }
  .my-avatar-edit {
    width: 24px;
    height: 24px;
  }
  .my-avatar-edit svg {
    width: 12px;
    height: 12px;
  }
  .my-profile-name {
    font-size: 1.25rem;
  }
  .my-stats-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: .625rem;
  }
  .my-stat-card {
    padding: .875rem 1rem;
    gap: .5rem;
  }
  .my-stat-value {
    font-size: 1.125rem;
  }
  .my-actions-row {
    gap: .5rem;
  }
  .my-action-btn {
    min-width: 0;
    padding: .875rem .5rem;
  }
  .my-action-icon {
    width: 38px;
    height: 38px;
  }
  .my-action-text {
    font-size: .75rem;
  }
  .my-history-head {
    padding: .875rem 1.25rem;
  }
  .my-history-thead {
    padding: .5rem 1.25rem;
  }
  .my-history-row {
    padding: .75rem 1.25rem;
  }
}

@media (max-width: 520px) {
  .my-container {
    padding: 0 .75rem;
  }
  .my-usdt-rate {
    font-size: .625rem;
    padding: .3125rem .625rem;
    gap: .375rem;
    margin-bottom: .75rem;
  }
  .my-usdt-rate-value { font-size: .6875rem; }
  .my-usdt-rate-change { font-size: .5625rem; }
  .my-stats-grid {
    grid-template-columns: 1fr 1fr;
    gap: .5rem;
  }
  .my-stat-card {
    gap: .375rem;
    padding: .75rem .875rem;
  }
  .my-stat-icon {
    width: 28px;
    height: 28px;
    border-radius: 6px;
  }
  .my-stat-icon svg {
    width: 16px;
    height: 16px;
  }
  .my-stat-label {
    font-size: .625rem;
  }
  .my-stat-body { gap: .125rem; }
  .my-stat-value {
    font-size: 1rem;
  }
  .my-stat-unit { font-size: .5rem; }
  .my-stat-krw {
    font-size: .5625rem;
  }
  .my-stat-rigs-num { font-size: 1.5rem; }
  .my-stat-rigs-unit { font-size: .625rem; }
  .my-stat-rigs-status { font-size: .5625rem; }
  .my-actions-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: .375rem;
  }
  .my-action-btn {
    padding: .75rem .375rem;
    min-width: 0;
  }
  .my-action-icon {
    width: 34px;
    height: 34px;
  }
  .my-action-icon svg {
    width: 16px;
    height: 16px;
  }
  .my-action-text {
    font-size: .6875rem;
  }
  .my-profile-hero {
    padding: 1.5rem 1rem 2.5rem;
  }
  .my-profile-name {
    font-size: 1.125rem;
  }
  .my-profile-email {
    font-size: .75rem;
  }
  .my-history-thead,
  .my-history-row {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

/* ═══ Active Mining Rig Card ═══ */
.my-rig-section { padding: 0 0 .25rem; }

.my-rig-card {
  background: linear-gradient(160deg, rgba(34,197,94,.04) 0%, rgba(16,185,129,.015) 100%);
  border: 1px solid rgba(34,197,94,.1);
  border-radius: 18px;
  padding: 1.25rem 1.375rem;
  position: relative;
  overflow: hidden;
  transition: border-color .25s, box-shadow .25s;
}
.my-rig-card:hover {
  border-color: rgba(34,197,94,.2);
  box-shadow: 0 4px 20px rgba(34,197,94,.06);
}
.my-rig-card::before {
  content: "";
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at top right, rgba(34,197,94,.05), transparent 65%);
  pointer-events: none;
}

.my-rig-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
  gap: .5rem;
}
.my-rig-status {
  display: flex;
  align-items: center;
  gap: .4375rem;
}
.my-rig-status-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 6px rgba(34,197,94,.45);
  animation: rigPulse 2.5s ease-in-out infinite;
}
@keyframes rigPulse {
  0%, 100% { opacity: 1; box-shadow: 0 0 6px rgba(34,197,94,.45); }
  50% { opacity: .55; box-shadow: 0 0 14px rgba(34,197,94,.7); }
}
.my-rig-status-text {
  font-size: .75rem;
  font-weight: 600;
  color: #22c55e;
  letter-spacing: .02em;
}
.my-rig-badge {
  padding: .1875rem .625rem;
  background: linear-gradient(135deg, #22c55e, #10b981);
  border-radius: 20px;
  color: #fff;
  font-size: .6875rem;
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 1.4;
}

.my-rig-body {
  display: flex;
  gap: 1.25rem;
  align-items: stretch;
}
.my-rig-left {
  display: flex;
  gap: .875rem;
  align-items: center;
  flex: 1 1 0;
  min-width: 0;
}
.my-rig-image-wrap {
  width: 64px; height: 40px;
  border-radius: 8px;
  background: #111827;
  border: 1px solid rgba(255,255,255,.06);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
}
.my-rig-image {
  width: 100%; height: 100%;
  object-fit: contain;
  border-radius: 8px;
  background: #111827;
}
.my-rig-icon-fallback { opacity: .25; }
.my-rig-info {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: .125rem;
}
.my-rig-name {
  font-size: 1rem;
  font-weight: 700;
  color: var(--c-text, #f0f0f5);
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.3;
}
.my-rig-gpu {
  display: block;
  font-size: .75rem;
  color: var(--c-text-sub, #9ca3af);
  line-height: 1.3;
}
.my-rig-started {
  display: block;
  font-size: .6875rem;
  color: var(--c-dim, rgba(148,163,184,.65));
  line-height: 1.3;
}

.my-rig-metrics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: .5rem;
  flex-shrink: 0;
  align-self: center;
}
.my-rig-metric {
  text-align: center;
  padding: .625rem .375rem;
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(255,255,255,.045);
  border-radius: 10px;
  min-width: 0;
}
.my-rig-metric-label {
  display: block;
  font-size: .625rem;
  color: rgba(148,163,184,.7);
  margin-bottom: .25rem;
  white-space: nowrap;
  letter-spacing: .01em;
}
.my-rig-metric-value {
  display: block;
  font-size: .8125rem;
  font-weight: 700;
  color: var(--c-text, #f0f0f5);
  font-family: 'JetBrains Mono', monospace;
  white-space: nowrap;
  line-height: 1.2;
}
.my-rig-metric-highlight .my-rig-metric-value {
  color: #34d399;
}

.my-rig-header-right {
  display: flex;
  align-items: center;
  gap: .375rem;
  flex-shrink: 0;
}
.my-rig-stop-btn {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  padding: .3125rem .625rem;
  background: rgba(239,68,68,.06);
  border: 1px solid rgba(239,68,68,.18);
  border-radius: 8px;
  color: #f87171;
  font-size: .6875rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .2s;
  white-space: nowrap;
}
.my-rig-stop-btn:hover {
  background: rgba(239,68,68,.14);
  border-color: rgba(239,68,68,.32);
}
.my-rig-stop-btn:disabled,
.my-rig-restart-btn:disabled,
.my-rig-delete-btn:disabled {
  opacity: .45;
  cursor: not-allowed;
  pointer-events: none;
}

.my-rig-restart-btn {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  padding: .3125rem .625rem;
  background: rgba(34,197,94,.06);
  border: 1px solid rgba(34,197,94,.18);
  border-radius: 8px;
  color: #34d399;
  font-size: .6875rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .2s;
  white-space: nowrap;
}
.my-rig-restart-btn:hover {
  background: rgba(34,197,94,.14);
  border-color: rgba(34,197,94,.32);
}

.my-rig-delete-btn {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  padding: .3125rem .5rem;
  background: rgba(107,114,128,.05);
  border: 1px solid rgba(107,114,128,.12);
  border-radius: 8px;
  color: #9ca3af;
  font-size: .6875rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .2s;
  white-space: nowrap;
}
.my-rig-delete-btn:hover {
  background: rgba(239,68,68,.08);
  border-color: rgba(239,68,68,.18);
  color: #f87171;
}

/* ── Multiple rig cards spacing ── */
#myRigsContainer > .my-rig-card { margin-bottom: .75rem; }
#myRigsContainer > .my-rig-card:last-child { margin-bottom: 0; }

/* ── Stopped rig card ── */
.my-rig-card--stopped {
  background: linear-gradient(160deg, rgba(107,114,128,.035) 0%, rgba(75,85,99,.015) 100%);
  border-color: rgba(107,114,128,.1);
  opacity: .75;
}
.my-rig-card--stopped:hover {
  border-color: rgba(107,114,128,.18);
  box-shadow: none;
}
.my-rig-card--stopped::before {
  background: radial-gradient(ellipse at top right, rgba(107,114,128,.03), transparent 60%);
}
.my-rig-card--stopped .my-rig-badge {
  background: linear-gradient(135deg, #6b7280, #4b5563);
}
.my-rig-status-dot--stopped {
  background: #6b7280;
  box-shadow: 0 0 4px rgba(107,114,128,.25);
  animation: none;
}
.my-rig-status-text--stopped {
  color: #6b7280;
}

/* ── Maintenance (관리자 점검중) rig card ── */
.my-rig-card--maintenance {
  background: linear-gradient(160deg, rgba(245,158,11,.04) 0%, rgba(217,119,6,.015) 100%);
  border-color: rgba(245,158,11,.2);
  opacity: .88;
}
.my-rig-card--maintenance:hover {
  border-color: rgba(245,158,11,.3);
  box-shadow: 0 4px 20px rgba(245,158,11,.05);
}
.my-rig-card--maintenance::before {
  background: radial-gradient(ellipse at top right, rgba(245,158,11,.04), transparent 60%);
}
.my-rig-card--maintenance .my-rig-badge {
  background: linear-gradient(135deg, #f59e0b, #d97706);
}
.my-rig-status-dot--maintenance {
  background: #f59e0b;
  box-shadow: 0 0 6px rgba(245,158,11,.35);
  animation: pulse-maintenance 2.5s ease-in-out infinite;
}
@keyframes pulse-maintenance {
  0%, 100% { opacity: 1; box-shadow: 0 0 6px rgba(245,158,11,.35); }
  50%       { opacity: .55; box-shadow: 0 0 12px rgba(245,158,11,.55); }
}
.my-rig-status-text--maintenance {
  color: #d97706;
  font-weight: 700;
}
.my-rig-maintenance-notice {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  font-size: .6875rem;
  font-weight: 600;
  color: #d97706;
  background: rgba(245,158,11,.08);
  border: 1px solid rgba(245,158,11,.2);
  border-radius: 8px;
  padding: .25rem .5rem;
  pointer-events: none;
  user-select: none;
  white-space: nowrap;
}

/* ── Rig Card Responsive ── */
@media (max-width: 900px) {
  .my-rig-body {
    flex-direction: column;
    gap: .875rem;
  }
  .my-rig-metrics {
    grid-template-columns: repeat(4, 1fr);
    width: 100%;
  }
}
@media (max-width: 640px) {
  .my-rig-card {
    padding: 1rem;
    border-radius: 14px;
  }
  .my-rig-header {
    margin-bottom: .75rem;
  }
  .my-rig-body {
    flex-direction: column;
    gap: .75rem;
  }
  .my-rig-left {
    gap: .75rem;
  }
  .my-rig-image-wrap {
    width: 56px;
    height: 35px;
    border-radius: 6px;
  }
  .my-rig-image { border-radius: 6px; }
  .my-rig-name { font-size: .9375rem; }
  .my-rig-gpu { font-size: .6875rem; }
  .my-rig-started { font-size: .625rem; }
  .my-rig-metrics {
    grid-template-columns: repeat(2, 1fr);
    gap: .375rem;
  }
  .my-rig-metric {
    padding: .5rem .375rem;
    border-radius: 8px;
  }
  .my-rig-metric-label { font-size: .5625rem; }
  .my-rig-metric-value { font-size: .75rem; }
  .my-rig-badge { font-size: .625rem; padding: .15rem .5rem; }
  .my-rig-stop-btn,
  .my-rig-restart-btn { font-size: .625rem; padding: .25rem .5rem; }
  .my-rig-stop-btn svg,
  .my-rig-restart-btn svg,
  .my-rig-delete-btn svg { width: 12px; height: 12px; }
  .my-rig-delete-btn { font-size: .625rem; padding: .25rem .4375rem; }
  .my-rig-maintenance-notice { font-size: .625rem; padding: .2rem .4375rem; }
  #myRigsContainer > .my-rig-card { margin-bottom: .625rem; }
}
@media (max-width: 380px) {
  .my-rig-card { padding: .875rem .75rem; }
  .my-rig-header-right { gap: .25rem; }
  .my-rig-image-wrap { width: 48px; height: 30px; }
  .my-rig-name { font-size: .875rem; }
  .my-rig-metrics { gap: .3125rem; }
  .my-rig-metric { padding: .4375rem .25rem; }
  .my-rig-metric-value { font-size: .6875rem; }
}
