/* ============================================================
   Data Wallet — DATA 테마 (v1.4.0)
   The Data Foundation(datafdn.org)의 디자인 언어를 참고한 전면 개편.
   기존 styles.css 뒤에 로드되어 화면 껍데기를 덮어씁니다.
   (기능에 쓰이는 class / id 는 건드리지 않습니다)
   ============================================================ */

:root{
  --d-bg:#0a0a0a;
  --d-bg-soft:#101012;
  --d-panel:#141416;
  --d-line:rgba(255,255,255,.12);
  --d-line-strong:rgba(255,255,255,.22);
  --d-text:#f5f5f4;
  --d-dim:rgba(245,245,244,.58);
  --d-faint:rgba(245,245,244,.34);
  --d-accent:#f5f5f4;
  --d-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
}

/* ---------- 캔버스 ---------- */
body.dataTheme{
  background:var(--d-bg) !important;
  color:var(--d-text) !important;
}
body.dataTheme::before{
  content:"";
  position:fixed; inset:0; z-index:0; pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.028) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse at 50% 0%, #000 30%, transparent 78%);
}
body.dataTheme .page{ position:relative; z-index:1; }

/* ---------- 로그인/가입: 세로 1열 중앙 정렬 ---------- */
body.dataTheme .authPage:not(.hidden){
  background:var(--d-bg) !important;
  padding:0 !important;
  display:block !important;
  min-height:100vh;
}
/* .hidden 이 항상 이기도록 보장 (페이지 전환이 깨지지 않게) */
body.dataTheme .page.hidden,
body.dataTheme .screen.hidden,
body.dataTheme .hidden{ display:none !important; }
body.dataTheme .authShell{
  display:block !important;
  max-width:1080px;
  margin:0 auto;
  padding:56px 24px 72px;
  background:none !important;
  box-shadow:none !important;
  border-radius:0 !important;
  gap:0 !important;
}
body.dataTheme .authVisual{
  background:none !important;
  padding:0 !important;
  border-radius:0 !important;
  text-align:center;
  color:var(--d-text) !important;
}
body.dataTheme .authVisual::before,
body.dataTheme .authVisual::after{ display:none !important; }

/* 상단 라벨 */
body.dataTheme .authBadge{
  display:inline-block;
  background:none !important;
  border:1px solid var(--d-line) !important;
  border-radius:999px !important;
  color:var(--d-dim) !important;
  font-family:var(--d-mono);
  font-size:11px;
  letter-spacing:.16em;
  padding:7px 16px !important;
  margin-bottom:34px;
}

/* 로고 잠금장치 */
body.dataTheme .brand--hero{
  display:flex; flex-direction:column; align-items:center; gap:0;
  margin-bottom:30px;
}
body.dataTheme .brand--hero .authLogo{
  width:min(360px,74%) !important;
  height:auto !important;
  background:none !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}
body.dataTheme .brand--hero .authLogo img{
  width:100% !important; height:auto !important;
  border-radius:0 !important; object-fit:contain !important;
  /* 어두운 배경이므로 흰색 로고로 반전 */
  filter:invert(1) brightness(1.9);
}
body.dataTheme .brand--hero .brand__name{ display:none !important; }

/* 헤드라인 */
body.dataTheme .authTitle{
  color:var(--d-text) !important;
  font-size:clamp(30px,4.6vw,54px) !important;
  line-height:1.16 !important;
  letter-spacing:-.02em;
  font-weight:600 !important;
  margin:0 0 16px !important;
  text-shadow:none !important;
}
body.dataTheme .authLead{
  color:var(--d-dim) !important;
  font-size:15px !important;
  line-height:1.7 !important;
  max-width:620px;
  margin:0 auto 44px !important;
}

/* ---------- 지표 블록 ---------- */
body.dataTheme .ledgerStats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border:1px solid var(--d-line);
  border-radius:2px;
  margin:0 0 26px;
  background:var(--d-bg-soft);
}
body.dataTheme .ledgerStat{
  padding:26px 18px;
  border-right:1px solid var(--d-line);
  display:flex; flex-direction:column; gap:8px; align-items:center;
}
body.dataTheme .ledgerStat:last-child{ border-right:0; }
body.dataTheme .ledgerStat__num{
  font-family:var(--d-mono);
  font-size:clamp(22px,3vw,32px);
  font-weight:500;
  letter-spacing:-.02em;
  color:var(--d-text);
}
body.dataTheme .ledgerStat__label{
  font-size:11px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--d-faint);
}

/* ---------- 실시간 영수증 티커 ---------- */
body.dataTheme .ticker{
  border:1px solid var(--d-line);
  border-radius:2px;
  background:var(--d-bg-soft);
  overflow:hidden;
  text-align:left;
}
body.dataTheme .ticker__head{
  display:flex; align-items:center; gap:9px;
  padding:12px 16px;
  border-bottom:1px solid var(--d-line);
  font-family:var(--d-mono);
  font-size:10.5px;
  letter-spacing:.16em;
  color:var(--d-faint);
}
body.dataTheme .ticker__dot{
  width:6px; height:6px; border-radius:50%;
  background:#4ade80;
  box-shadow:0 0 0 3px rgba(74,222,128,.16);
  animation:dataPulse 1.8s ease-in-out infinite;
}
@keyframes dataPulse{ 0%,100%{opacity:1} 50%{opacity:.35} }
body.dataTheme .ticker__rows{ max-height:184px; overflow:hidden; }
body.dataTheme .ticker__row{
  display:grid;
  grid-template-columns:96px 1fr 1fr 62px;
  gap:12px;
  align-items:center;
  padding:11px 16px;
  border-bottom:1px solid rgba(255,255,255,.06);
  font-size:12px;
  color:var(--d-dim);
}
body.dataTheme .ticker__row:last-child{ border-bottom:0; }
body.dataTheme .ticker__row code{
  font-family:var(--d-mono);
  color:var(--d-text);
  font-size:11.5px;
}
body.dataTheme .ticker__row em{
  font-style:normal; text-align:right;
  color:var(--d-faint); font-size:11px;
}

/* ---------- 인증 카드: 흰 카드 → 얇은 테두리 패널 ---------- */
body.dataTheme .authCardWrap{
  max-width:440px;
  margin:44px auto 0;
  padding:0 !important;
  background:none !important;
}
body.dataTheme .authCard{
  background:var(--d-panel) !important;
  border:1px solid var(--d-line-strong) !important;
  border-radius:3px !important;
  box-shadow:none !important;
  padding:30px 28px !important;
}
body.dataTheme .authCard::before{ display:none !important; }
body.dataTheme .authCard__header{ align-items:center; }
body.dataTheme .authCard__title{
  color:var(--d-text) !important;
  font-size:20px !important;
  letter-spacing:-.01em;
}
body.dataTheme .authOrb{
  width:34px !important; height:34px !important;
  background:url('./assets/data/data-token.png') center/contain no-repeat !important;
  border:1px solid var(--d-line) !important;
  border-radius:50% !important;
}
body.dataTheme .authCard .sub{ color:var(--d-dim) !important; }

/* 입력 필드 */
body.dataTheme .field{
  background:#0d0d0f !important;
  border:1px solid var(--d-line) !important;
  border-radius:2px !important;
  box-shadow:none !important;
}
body.dataTheme .field:focus-within{ border-color:var(--d-line-strong) !important; }
body.dataTheme .input,
body.dataTheme .input--light,
body.dataTheme .select{
  color:var(--d-text) !important;
  background:transparent !important;
}
body.dataTheme .input::placeholder,
body.dataTheme .input--light::placeholder{ color:var(--d-faint) !important; }
body.dataTheme .field__icon{ filter:grayscale(1) opacity(.6); }

/* 버튼 */
body.dataTheme .btn--primary{
  background:var(--d-accent) !important;
  color:#0a0a0a !important;
  border:1px solid var(--d-accent) !important;
  border-radius:2px !important;
  box-shadow:none !important;
  font-weight:600 !important;
  letter-spacing:.01em;
}
body.dataTheme .btn--primary:hover{ filter:brightness(.9); }
body.dataTheme .btn--small,
body.dataTheme .btn:not(.btn--primary):not(.btn--danger){
  background:transparent !important;
  color:var(--d-text) !important;
  border:1px solid var(--d-line-strong) !important;
  border-radius:2px !important;
}
body.dataTheme .btn--danger{ border-radius:2px !important; }
body.dataTheme .muted{ color:var(--d-faint) !important; }

/* 하단 링크 */
body.dataTheme .loginIconLinks{ justify-content:center; }
body.dataTheme .iconLink{
  background:transparent !important;
  border:1px solid var(--d-line) !important;
  border-radius:2px !important;
}
body.dataTheme .iconLink--story-site img{ filter:invert(1) brightness(1.9); }
body.dataTheme .iconLink--x img{ filter:invert(1); }
body.dataTheme .blogIcon{ color:var(--d-dim) !important; }

/* ---------- 앱 화면: 상단 가로 내비 ---------- */
body.dataTheme .page--shell{
  background:var(--d-bg) !important;
  padding:0 !important;
}
body.dataTheme .appShell,
body.dataTheme .shell{
  background:none !important;
  box-shadow:none !important;
}
body.dataTheme .topbar{
  background:rgba(10,10,10,.86) !important;
  border-bottom:1px solid var(--d-line) !important;
  border-radius:0 !important;
  box-shadow:none !important;
  backdrop-filter:blur(10px);
}
body.dataTheme .topbar__eyebrow{
  font-family:var(--d-mono);
  font-size:10px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--d-faint) !important;
}
body.dataTheme .topbar__headline{ color:var(--d-text) !important; }
body.dataTheme .topbarBadge{
  background:transparent !important;
  border:1px solid var(--d-line) !important;
  color:var(--d-dim) !important;
  border-radius:999px !important;
  font-family:var(--d-mono);
  font-size:10.5px; letter-spacing:.08em;
}
body.dataTheme .topbar__logo img{ filter:invert(1) brightness(1.9); }

/* 하단 아이콘 바 → 상단 텍스트 탭 */
body.dataTheme .bottomNav{
  position:sticky !important;
  top:0; bottom:auto !important;
  left:0; right:0;
  width:100% !important;
  height:auto !important;
  flex-direction:row !important;
  justify-content:flex-start !important;
  gap:2px !important;
  padding:0 20px !important;
  background:rgba(10,10,10,.94) !important;
  border:0 !important;
  border-bottom:1px solid var(--d-line) !important;
  border-radius:0 !important;
  box-shadow:none !important;
  backdrop-filter:blur(10px);
  z-index:40;
  overflow-x:auto;
}
body.dataTheme .bottomNav .sideBrand{
  display:flex !important; align-items:center; gap:10px;
  padding:0 22px 0 0; margin-right:10px;
  border-right:1px solid var(--d-line);
  height:52px;
}
body.dataTheme .bottomNav .sideBrand img{
  height:20px; width:auto; filter:invert(1) brightness(1.9);
}
body.dataTheme .bottomNav .sideBrand span{
  font-family:var(--d-mono); font-size:9.5px;
  letter-spacing:.14em; color:var(--d-faint);
}
body.dataTheme .navItem{
  flex-direction:row !important;
  gap:8px !important;
  height:52px;
  padding:0 16px !important;
  border-radius:0 !important;
  background:none !important;
  border:0 !important;
  border-bottom:2px solid transparent !important;
  color:var(--d-faint) !important;
  white-space:nowrap;
}
body.dataTheme .navItem__icon{ font-size:13px; opacity:.75; }
body.dataTheme .navItem__label{
  font-size:13px; letter-spacing:.01em; font-weight:500;
}
body.dataTheme .navItem.is-active{
  color:var(--d-text) !important;
  border-bottom-color:var(--d-text) !important;
  background:none !important;
}
body.dataTheme .navItem.is-active .navItem__icon{ opacity:1; }
body.dataTheme .navIconSvg{ width:15px; height:15px; }

/* ---------- 카드 / 표 ---------- */
body.dataTheme .card,
body.dataTheme .panel,
body.dataTheme .screenHero,
body.dataTheme .sectionCard{
  background:var(--d-panel) !important;
  border:1px solid var(--d-line) !important;
  border-radius:3px !important;
  box-shadow:none !important;
  color:var(--d-text) !important;
}
body.dataTheme .h1,
body.dataTheme .h2,
body.dataTheme h1,
body.dataTheme h2,
body.dataTheme h3{ color:var(--d-text) !important; }
body.dataTheme .label,
body.dataTheme .sub,
body.dataTheme .adminHint{ color:var(--d-dim) !important; }

body.dataTheme table th{
  color:var(--d-faint) !important;
  border-bottom:1px solid var(--d-line) !important;
  font-weight:600;
  font-size:11.5px;
  letter-spacing:.06em;
  text-transform:uppercase;
}
body.dataTheme table td{
  color:var(--d-text) !important;
  border-bottom:1px solid rgba(255,255,255,.07) !important;
}

/* 숫자는 모노스페이스로 (원장 느낌) */
body.dataTheme .coinRow__price,
body.dataTheme .assetRow__value,
body.dataTheme .ledgerStat__num,
body.dataTheme .adminHoldings__amt,
body.dataTheme .adminHoldings__val{
  font-family:var(--d-mono);
  font-variant-numeric:tabular-nums;
}

/* 코인 목록 행 */
body.dataTheme .coinRow,
body.dataTheme .assetRow,
body.dataTheme .listRow{
  background:transparent !important;
  border-bottom:1px solid rgba(255,255,255,.07) !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
body.dataTheme .coinRow:hover,
body.dataTheme .assetRow:hover{ background:rgba(255,255,255,.03) !important; }

/* 시세 상태 알약 */
body.dataTheme #kiteLivePill{
  background:transparent !important;
  border:1px solid var(--d-line) !important;
  color:var(--d-dim) !important;
  font-family:var(--d-mono);
  font-size:11px;
  border-radius:999px !important;
}

/* 모달 */
body.dataTheme .modal__panel{
  background:var(--d-panel) !important;
  border:1px solid var(--d-line-strong) !important;
  border-radius:3px !important;
}
body.dataTheme .modal__title{ color:var(--d-text) !important; }

/* 관리자 TOP 버튼 */
body.dataTheme .adminTopBtn{
  background:var(--d-panel) !important;
  border:1px solid var(--d-line-strong) !important;
  border-radius:2px !important;
}
body.dataTheme .adminTopBtn__arrow,
body.dataTheme .adminTopBtn__label{
  color:var(--d-text) !important;
  -webkit-text-fill-color:var(--d-text) !important;
}

/* 관리자 보유코인 표 */
body.dataTheme .adminHoldings{
  background:#0d0d0f !important;
  border:1px solid var(--d-line) !important;
  border-radius:2px !important;
}
body.dataTheme #page-admin .adminHoldings__table th{
  color:var(--d-faint) !important; -webkit-text-fill-color:var(--d-faint) !important;
}
body.dataTheme #page-admin .adminHoldings__table td{
  color:var(--d-text) !important; -webkit-text-fill-color:var(--d-text) !important;
}

/* ---------- 반응형 ---------- */
@media (max-width:860px){
  body.dataTheme .authShell{ padding:36px 18px 56px; }
  body.dataTheme .ledgerStats{ grid-template-columns:1fr; }
  body.dataTheme .ledgerStat{
    border-right:0; border-bottom:1px solid var(--d-line);
    flex-direction:row; justify-content:space-between; padding:16px 18px;
  }
  body.dataTheme .ledgerStat:last-child{ border-bottom:0; }
  body.dataTheme .ticker__row{ grid-template-columns:1fr 1fr; }
  body.dataTheme .ticker__row span:first-child,
  body.dataTheme .ticker__row em{ display:none; }
  body.dataTheme .bottomNav .sideBrand{ display:none !important; }
  body.dataTheme .navItem{ padding:0 12px !important; }
}

/* ============================================================
   우선순위 보정 — 기존 storyTheme(밝은 테마) 규칙을 확실히 덮어씁니다.
   (기존 규칙이 body.storyTheme ... !important 라서 같은 수준 이상이 필요)
   ============================================================ */

/* 입력 필드 다크화 */
body.dataTheme.storyTheme .field{
  background:#0d0d0f !important;
  border:1px solid var(--d-line) !important;
  border-radius:2px !important;
  box-shadow:none !important;
}
body.dataTheme.storyTheme .field:focus-within{
  background:#0d0d0f !important;
  border-color:var(--d-line-strong) !important;
  box-shadow:0 0 0 3px rgba(255,255,255,.06) !important;
}
body.dataTheme.storyTheme .field .input,
body.dataTheme.storyTheme .field input{
  color:var(--d-text) !important;
  -webkit-text-fill-color:var(--d-text) !important;
  background:transparent !important;
}
body.dataTheme.storyTheme .field input::placeholder{ color:var(--d-faint) !important; }
body.dataTheme.storyTheme .field__icon{ filter:grayscale(1) invert(1); opacity:.5; }
body.dataTheme.storyTheme .field__ghost{ color:var(--d-dim) !important; }

/* 히어로 여백 정리 (기기 목업 제거로 생긴 빈 공간 축소) */
body.dataTheme.storyTheme .authVisual{
  background:none !important;
  min-height:0 !important;
  padding:0 !important;
}
body.dataTheme.storyTheme .authVisual::before,
body.dataTheme.storyTheme .authVisual::after{ content:none !important; display:none !important; }

/* 인증 카드 상단 그라데이션 띠 제거 */
body.dataTheme.storyTheme .authCard{
  background:var(--d-panel) !important;
  border:1px solid var(--d-line-strong) !important;
  border-radius:3px !important;
  box-shadow:none !important;
}
body.dataTheme.storyTheme .authCard::before{ content:none !important; display:none !important; }
body.dataTheme.storyTheme .authCardWrap{ margin-top:28px !important; }

/* 링크 아이콘 */
body.dataTheme.storyTheme .iconLink{
  background:transparent !important;
  border:1px solid var(--d-line) !important;
  border-radius:2px !important;
}
body.dataTheme.storyTheme .iconLink--story-site{
  background:transparent !important;
  width:auto !important;
  padding:0 14px !important;
}
body.dataTheme.storyTheme .iconLink--story-site img{ filter:invert(1) brightness(1.9); }
body.dataTheme.storyTheme .blogIcon{
  background:transparent !important;
  color:var(--d-dim) !important;
  border:0 !important;
}
body.dataTheme.storyTheme .iconLink--x img{ filter:invert(1); }

/* 버튼 */
body.dataTheme.storyTheme .btn--primary{
  background:var(--d-accent) !important;
  color:#0a0a0a !important;
  -webkit-text-fill-color:#0a0a0a !important;
  border:1px solid var(--d-accent) !important;
  border-radius:2px !important;
  box-shadow:none !important;
}
body.dataTheme.storyTheme .btn--small{
  background:transparent !important;
  color:var(--d-text) !important;
  -webkit-text-fill-color:var(--d-text) !important;
  border:1px solid var(--d-line-strong) !important;
  border-radius:2px !important;
}
body.dataTheme.storyTheme .muted{ color:var(--d-faint) !important; }
body.dataTheme.storyTheme .authCard .sub{ color:var(--d-dim) !important; }
body.dataTheme.storyTheme .authCard__title{ color:var(--d-text) !important; }

/* 인증 오브 */
body.dataTheme.storyTheme .authOrb{
  width:34px !important; height:34px !important;
  background:url('./assets/data/data-token.png') center/contain no-repeat !important;
  border:1px solid var(--d-line) !important;
  border-radius:50% !important;
  box-shadow:none !important;
}

/* ============================================================
   최우선 보정 — 기존 규칙이 #id 선택자를 쓰고 있어 같은 수준으로 맞춥니다.
   (body.storyTheme #loginForm .field 등을 덮어쓰기 위함)
   ============================================================ */
body.dataTheme #page-login .field,
body.dataTheme #page-signup .field,
body.dataTheme #loginForm .field,
body.dataTheme #signupForm .field,
body.dataTheme #loginForm .field:focus-within,
body.dataTheme #signupForm .field:focus-within{
  background:#0d0d0f !important;
  border:1px solid var(--d-line) !important;
  border-radius:2px !important;
  box-shadow:none !important;
}
body.dataTheme #loginForm .field:focus-within,
body.dataTheme #signupForm .field:focus-within{
  border-color:var(--d-line-strong) !important;
  box-shadow:0 0 0 3px rgba(255,255,255,.06) !important;
}
body.dataTheme #page-login .field input,
body.dataTheme #page-signup .field input,
body.dataTheme #loginForm .field input,
body.dataTheme #signupForm .field input,
body.dataTheme #loginForm .field .input,
body.dataTheme #signupForm .field .input{
  color:var(--d-text) !important;
  -webkit-text-fill-color:var(--d-text) !important;
  background:transparent !important;
}
body.dataTheme #loginForm .field input::placeholder,
body.dataTheme #signupForm .field input::placeholder{
  color:var(--d-faint) !important;
  -webkit-text-fill-color:var(--d-faint) !important;
}
/* 가입 폼 안내 문구 */
body.dataTheme #page-signup .fieldMsg{ color:var(--d-faint) !important; }
body.dataTheme #page-signup .fieldMsg.ok{ color:#4ade80 !important; }
body.dataTheme #page-signup .fieldMsg.bad{ color:#f87171 !important; }
/* 중복확인 버튼 */
body.dataTheme #page-signup .field__action{
  background:transparent !important;
  color:var(--d-text) !important;
  -webkit-text-fill-color:var(--d-text) !important;
  border:1px solid var(--d-line-strong) !important;
  border-radius:2px !important;
}

/* ============================================================
   앱 내비게이션: 세로 사이드바 → 상단 가로 탭
   기존 규칙이 #page-app .bottomNav 형태라 같은 수준으로 맞춥니다.
   ============================================================ */
body.dataTheme #page-app .bottomNav{
  position:sticky !important;
  top:0 !important;
  bottom:auto !important;
  left:auto !important;
  right:auto !important;
  transform:none !important;
  width:100% !important;
  min-height:0 !important;
  height:auto !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-start !important;
  grid-template-columns:none !important;
  gap:2px !important;
  margin:0 !important;
  padding:0 20px !important;
  order:-1 !important;
  background:rgba(10,10,10,.94) !important;
  border:0 !important;
  border-bottom:1px solid var(--d-line) !important;
  border-radius:0 !important;
  box-shadow:none !important;
  backdrop-filter:blur(10px);
  overflow-x:auto;
  z-index:40 !important;
}
body.dataTheme #page-app .navItem{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  min-height:0 !important;
  height:52px !important;
  padding:0 16px !important;
  border:0 !important;
  border-bottom:2px solid transparent !important;
  border-radius:0 !important;
  background:none !important;
  color:var(--d-faint) !important;
  -webkit-text-fill-color:var(--d-faint) !important;
  white-space:nowrap;
}
body.dataTheme #page-app .navItem:hover{
  background:none !important;
  color:var(--d-text) !important;
  -webkit-text-fill-color:var(--d-text) !important;
}
body.dataTheme #page-app .navItem.is-active{
  background:none !important;
  color:var(--d-text) !important;
  -webkit-text-fill-color:var(--d-text) !important;
  border-bottom:2px solid var(--d-text) !important;
}
body.dataTheme #page-app .navItem__icon{
  width:auto !important; height:auto !important;
  font-size:13px !important; opacity:.75;
}
body.dataTheme #page-app .navItem__label{
  font-size:13px !important; line-height:1 !important; font-weight:500 !important;
}
body.dataTheme #page-app .sideBrand{
  display:flex !important; align-items:center; gap:10px;
  height:52px; padding:0 22px 0 0; margin-right:10px;
  border-right:1px solid var(--d-line);
  background:none !important; border-radius:0 !important;
}
body.dataTheme #page-app .sideBrand img{
  height:20px !important; width:auto !important;
  filter:invert(1) brightness(1.9);
}
body.dataTheme #page-app .sideBrand span{
  font-family:var(--d-mono); font-size:9.5px;
  letter-spacing:.14em; color:var(--d-faint) !important;
  -webkit-text-fill-color:var(--d-faint) !important;
}
/* 데스크톱에서 사이드바 폭 지정을 무력화 */
@media (min-width:1051px){
  body.dataTheme #page-app .bottomNav{ width:100% !important; padding:0 20px !important; gap:2px !important; }
  body.dataTheme #page-app .navItem{ min-height:0 !important; height:52px !important; padding:0 16px !important; border-radius:0 !important; }
  body.dataTheme #page-app .navItem__icon{ width:auto !important; height:auto !important; font-size:13px !important; }
  body.dataTheme #page-app .navItem__label{ font-size:13px !important; line-height:1 !important; }
}
@media (max-width:1050px){
  body.dataTheme #page-app .bottomNav{ gap:2px !important; padding:0 14px !important; }
  body.dataTheme #page-app .navItem{ min-height:0 !important; height:50px !important; padding:0 12px !important; border-radius:0 !important; }
  body.dataTheme #page-app .navItem__icon{ width:auto !important; height:auto !important; font-size:12px !important; }
  body.dataTheme #page-app .navItem__label{ font-size:12.5px !important; }
  body.dataTheme #page-app .sideBrand{ display:none !important; }
}
/* 앱 셸이 세로 배치가 되도록 */
body.dataTheme #page-app:not(.hidden){
  display:flex !important;
  flex-direction:column !important;
  padding:0 !important;
  background:var(--d-bg) !important;
}
body.dataTheme #page-app .topbar{ order:0 !important; margin:0 !important; }

/* ============================================================
   앱 셸 그리드 해제 — 사이드바 열(210px)을 없애고 세로 스택으로
   (기존: body.storyTheme #page-app.page--shell:not(.hidden){grid-template-columns:210px ...})
   ============================================================ */
body.dataTheme #page-app.page--shell:not(.hidden),
body.dataTheme #page-admin.page--shell:not(.hidden){
  display:flex !important;
  flex-direction:column !important;
  grid-template-columns:none !important;
  grid-template-areas:none !important;
  gap:0 !important;
  padding:0 !important;
  background:var(--d-bg) !important;
}
@media (min-width:1051px){
  body.dataTheme #page-app.page--shell:not(.hidden),
  body.dataTheme #page-admin.page--shell:not(.hidden){
    display:flex !important;
    grid-template-columns:none !important;
  }
}
@media (max-width:1050px){
  body.dataTheme #page-app.page--shell:not(.hidden),
  body.dataTheme #page-admin.page--shell:not(.hidden){
    display:flex !important;
    grid-template-columns:none !important;
  }
}
/* 본문 영역이 가로 전체를 쓰도록 */
body.dataTheme #page-app > .screen,
body.dataTheme #page-app > main,
body.dataTheme #page-app > .appMain{
  width:100% !important;
  max-width:1180px !important;
  margin:0 auto !important;
  padding:26px 20px 60px !important;
  grid-column:auto !important;
}
body.dataTheme #page-app .topbar{
  width:100% !important;
  max-width:none !important;
  grid-column:auto !important;
}

/* ============================================================
   앱/관리자 본문 다크화
   기존이 body.storyTheme #page-app .xxx 형태이므로 동일 수준으로 맞춥니다.
   ============================================================ */
body.dataTheme #page-app .topbar,
body.dataTheme #page-admin .topbar{
  background:rgba(10,10,10,.9) !important;
  border-bottom:1px solid var(--d-line) !important;
  box-shadow:none !important;
  border-radius:0 !important;
  backdrop-filter:blur(10px);
}
body.dataTheme #page-app .topbar__headline,
body.dataTheme #page-admin .topbar__headline{
  color:var(--d-text) !important; -webkit-text-fill-color:var(--d-text) !important;
}
body.dataTheme #page-app .topbar__eyebrow{
  color:var(--d-faint) !important; -webkit-text-fill-color:var(--d-faint) !important;
  font-family:var(--d-mono); letter-spacing:.18em; text-transform:uppercase; font-size:10px;
}
body.dataTheme #page-app .topbarBadge,
body.dataTheme #page-admin .topbarBadge{
  background:transparent !important;
  border:1px solid var(--d-line) !important;
  color:var(--d-dim) !important; -webkit-text-fill-color:var(--d-dim) !important;
  font-family:var(--d-mono); font-size:10.5px;
}
body.dataTheme #page-app .topbar__logo,
body.dataTheme #page-admin .topbar__logo{
  background:transparent !important; border:1px solid var(--d-line) !important;
}
body.dataTheme #page-app .topbar__logo img,
body.dataTheme #page-admin .topbar__logo img{ filter:none; }

/* 카드/패널류 */
body.dataTheme #page-app .screenHero,
body.dataTheme #page-app .moreHero,
body.dataTheme #page-app .card,
body.dataTheme #page-app .marketShell,
body.dataTheme #page-app .securityBanner,
body.dataTheme #page-app .featurePanel,
body.dataTheme #page-app .statCard,
body.dataTheme #page-app .menuItem,
body.dataTheme #page-app .estimateCard,
body.dataTheme #page-app .tableWrap,
body.dataTheme #page-app .activityItem,
body.dataTheme #page-app .walletAside__card,
body.dataTheme #page-app .showcaseCard,
body.dataTheme #page-app .portfolioHero,
body.dataTheme #page-admin .card,
body.dataTheme #page-admin .tableWrap,
body.dataTheme #page-admin .screenHero{
  background:var(--d-panel) !important;
  border:1px solid var(--d-line) !important;
  border-radius:3px !important;
  box-shadow:none !important;
  color:var(--d-text) !important;
}
body.dataTheme #page-app .screenHero__title,
body.dataTheme #page-app .h1,
body.dataTheme #page-app .h2,
body.dataTheme #page-admin .h1,
body.dataTheme #page-admin .h2{
  color:var(--d-text) !important; -webkit-text-fill-color:var(--d-text) !important;
}
body.dataTheme #page-app .screenHero__text,
body.dataTheme #page-app .sub,
body.dataTheme #page-app .label,
body.dataTheme #page-app .muted,
body.dataTheme #page-admin .sub,
body.dataTheme #page-admin .label,
body.dataTheme #page-admin .adminHint{
  color:var(--d-dim) !important; -webkit-text-fill-color:var(--d-dim) !important;
}
body.dataTheme #page-app .eyebrow,
body.dataTheme #page-app .screenHero__eyebrow{
  color:var(--d-faint) !important; -webkit-text-fill-color:var(--d-faint) !important;
  font-family:var(--d-mono); letter-spacing:.16em; text-transform:uppercase;
}

/* 코인/자산 행 */
body.dataTheme #page-app .coinRow,
body.dataTheme #page-app .assetRow,
body.dataTheme #page-app .listRow,
body.dataTheme #page-app .activityItem{
  background:transparent !important;
  border:0 !important;
  border-bottom:1px solid rgba(255,255,255,.07) !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
body.dataTheme #page-app .coinRow:hover,
body.dataTheme #page-app .assetRow:hover{ background:rgba(255,255,255,.03) !important; }
body.dataTheme #page-app .coinRow *,
body.dataTheme #page-app .assetRow *{ -webkit-text-fill-color:currentColor; }
body.dataTheme #page-app .coinRow__name,
body.dataTheme #page-app .assetRow__name{ color:var(--d-text) !important; }
body.dataTheme #page-app .coinRow__ticker,
body.dataTheme #page-app .assetRow__sub{ color:var(--d-faint) !important; }
body.dataTheme #page-app .coinRow__price,
body.dataTheme #page-app .assetRow__value{
  color:var(--d-text) !important;
  font-family:var(--d-mono); font-variant-numeric:tabular-nums;
}
/* 실시간/변동 배지 */
body.dataTheme #page-app .pill,
body.dataTheme #page-app .badge,
body.dataTheme #page-app .coinRow__badge{
  background:transparent !important;
  border:1px solid var(--d-line) !important;
  color:var(--d-dim) !important; -webkit-text-fill-color:var(--d-dim) !important;
  border-radius:999px !important;
  font-family:var(--d-mono); font-size:10.5px;
}

/* 내비 아이콘의 알약 배경 제거 */
body.dataTheme #page-app .navItem__icon{
  background:none !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
}

/* 메뉴(설정) 항목 */
body.dataTheme #page-app .menuItem{
  border-radius:2px !important;
}
body.dataTheme #page-app .menuItem__label{ color:var(--d-text) !important; -webkit-text-fill-color:var(--d-text) !important; }

/* 관리자 표/입력 */
body.dataTheme #page-admin .input--light,
body.dataTheme #page-admin .select,
body.dataTheme #page-admin .input--fixed{
  background:#0d0d0f !important;
  border:1px solid var(--d-line) !important;
  border-radius:2px !important;
  color:var(--d-text) !important;
  -webkit-text-fill-color:var(--d-text) !important;
}
body.dataTheme #page-admin .input--light::placeholder{ color:var(--d-faint) !important; }
body.dataTheme #page-admin table th{
  color:var(--d-faint) !important; -webkit-text-fill-color:var(--d-faint) !important;
  background:transparent !important;
  border-bottom:1px solid var(--d-line) !important;
}
body.dataTheme #page-admin table td{
  color:var(--d-text) !important; -webkit-text-fill-color:var(--d-text) !important;
  border-bottom:1px solid rgba(255,255,255,.07) !important;
}
body.dataTheme #page-admin .chip{
  background:transparent !important;
  border:1px solid var(--d-line-strong) !important;
  color:var(--d-text) !important; -webkit-text-fill-color:var(--d-text) !important;
  border-radius:2px !important;
}

/* ============================================================
   코인/자산 목록 가독성 (다크 배경에 맞춘 대비 확보)
   ============================================================ */
body.dataTheme #page-app .coinName,
body.dataTheme #page-app .assetName{
  color:var(--d-text) !important;
  -webkit-text-fill-color:var(--d-text) !important;
  font-weight:600 !important;
}
body.dataTheme #page-app .coinTicker,
body.dataTheme #page-app .assetSub{
  color:var(--d-faint) !important;
  -webkit-text-fill-color:var(--d-faint) !important;
  font-family:var(--d-mono); font-size:11px; letter-spacing:.04em;
}
body.dataTheme #page-app .coinPrice,
body.dataTheme #page-app .assetValue{
  color:var(--d-text) !important;
  -webkit-text-fill-color:var(--d-text) !important;
  font-family:var(--d-mono); font-variant-numeric:tabular-nums;
  font-weight:500 !important;
}
body.dataTheme #page-app .coinChange.pos{ color:#4ade80 !important; -webkit-text-fill-color:#4ade80 !important; }
body.dataTheme #page-app .coinChange.neg{ color:#f87171 !important; -webkit-text-fill-color:#f87171 !important; }
body.dataTheme #page-app .coinChange.neu{ color:var(--d-faint) !important; -webkit-text-fill-color:var(--d-faint) !important; }
body.dataTheme #page-app .coinChange{ font-family:var(--d-mono); font-size:11.5px; }
body.dataTheme #page-app .badge{
  background:transparent !important;
  border:1px solid var(--d-line) !important;
  color:var(--d-faint) !important; -webkit-text-fill-color:var(--d-faint) !important;
  font-family:var(--d-mono); font-size:10px; letter-spacing:.06em;
  border-radius:999px !important;
}
body.dataTheme #page-app .coinItem{
  background:transparent !important;
  border:0 !important;
  border-bottom:1px solid rgba(255,255,255,.07) !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
body.dataTheme #page-app .coinItem:hover{ background:rgba(255,255,255,.03) !important; }
body.dataTheme #page-app .coinIcon{
  background:transparent !important;
  border:1px solid var(--d-line) !important;
  box-shadow:none !important;
}

/* 탭 밑줄의 잔여 그라데이션/글로우 제거 */
body.dataTheme #page-app .navItem::before,
body.dataTheme #page-app .navItem::after{
  content:none !important; display:none !important;
}

/* 섹션 소제목 */
body.dataTheme #page-app .sectionTitle,
body.dataTheme #page-app .cardTitle,
body.dataTheme #page-app .listTitle{
  color:var(--d-dim) !important;
  -webkit-text-fill-color:var(--d-dim) !important;
  font-family:var(--d-mono);
  font-size:11px !important;
  letter-spacing:.14em;
  text-transform:uppercase;
}
/* 재연결 버튼 */
body.dataTheme #page-app .btn{
  border-radius:2px !important;
}


/* ============================================================
   페이지 전환 보증 — 숨김이 항상 이기도록 마지막에 선언
   ============================================================ */
body.dataTheme .page.hidden,
body.dataTheme .screen.hidden,
body.dataTheme #page-login.hidden,
body.dataTheme #page-signup.hidden,
body.dataTheme #page-app.hidden,
body.dataTheme #page-admin.hidden,
body.dataTheme .hidden{ display:none !important; }

/* 관리자 회원 목록 가독성 */
body.dataTheme #page-admin #memberTable td,
body.dataTheme #page-admin #memberTable td *{
  color:var(--d-text) !important;
  -webkit-text-fill-color:var(--d-text) !important;
}
body.dataTheme #page-admin #memberTable th{
  color:var(--d-faint) !important;
  -webkit-text-fill-color:var(--d-faint) !important;
}
body.dataTheme #page-admin .adminCardTitle,
body.dataTheme #page-admin .label{
  color:var(--d-dim) !important; -webkit-text-fill-color:var(--d-dim) !important;
}

/* 관리자 회원 목록 행 다크화 (흰 배경 잔존 제거) */
body.dataTheme #page-admin #memberTable,
body.dataTheme #page-admin #memberTable tbody,
body.dataTheme #page-admin #memberTable thead,
body.dataTheme #page-admin #memberTable tr{
  background:transparent !important;
}
body.dataTheme #page-admin #memberTable tbody tr{
  background:transparent !important;
  border-bottom:1px solid rgba(255,255,255,.07) !important;
}
body.dataTheme #page-admin #memberTable tbody tr:hover{
  background:rgba(255,255,255,.04) !important;
}
body.dataTheme #page-admin #memberTable tbody tr td{
  background:transparent !important;
}
body.dataTheme #page-admin .tableWrap{ background:var(--d-panel) !important; }
/* 목록 안 '선택' 버튼 */
body.dataTheme #page-admin #memberTable .btn,
body.dataTheme #page-admin #memberTable button{
  background:transparent !important;
  border:1px solid var(--d-line-strong) !important;
  color:var(--d-text) !important; -webkit-text-fill-color:var(--d-text) !important;
  border-radius:2px !important;
}
/* 표 상단 라벨 */
body.dataTheme #page-admin .adminListLabel,
body.dataTheme #page-admin .cardEyebrow{
  color:var(--d-faint) !important; -webkit-text-fill-color:var(--d-faint) !important;
}
/* 삭제 버튼 대비 */
body.dataTheme #page-admin .btn--danger{
  background:transparent !important;
  border:1px solid #f87171 !important;
  color:#f87171 !important; -webkit-text-fill-color:#f87171 !important;
}

/* ============================================================
   로그인/가입: 스크롤 없이 한 화면에 들어오도록 압축 (v1.4.1)
   - 영수증 티커 제거에 맞춰 여백을 다시 잡습니다.
   - 화면 높이에 따라 요소 크기가 유동적으로 줄어듭니다.
   ============================================================ */
body.dataTheme .authPage:not(.hidden){
  min-height:100dvh;
  display:flex !important;
  align-items:center;
  justify-content:center;
}
body.dataTheme .authShell{
  width:100%;
  max-width:1080px;
  margin:0 auto;
  padding:clamp(16px,3vh,36px) 24px !important;
  display:block !important;
}
/* 상단 라벨 */
body.dataTheme .authBadge{
  margin-bottom:clamp(12px,2.2vh,26px) !important;
  padding:6px 14px !important;
  font-size:10.5px;
}
/* 로고 */
body.dataTheme .brand--hero{ margin-bottom:clamp(10px,2vh,22px) !important; }
body.dataTheme .brand--hero .authLogo{
  width:clamp(190px,26vh,300px) !important;
}
/* 헤드라인 */
body.dataTheme .authTitle{
  font-size:clamp(22px,3.4vh,40px) !important;
  margin:0 0 clamp(6px,1.2vh,14px) !important;
}
body.dataTheme .authLead{
  font-size:clamp(12.5px,1.6vh,14.5px) !important;
  line-height:1.6 !important;
  margin:0 auto clamp(12px,2.4vh,28px) !important;
}
/* 지표 블록 압축 */
body.dataTheme .ledgerStats{ margin:0 0 clamp(12px,2vh,22px) !important; }
body.dataTheme .ledgerStat{ padding:clamp(12px,2vh,22px) 16px !important; gap:5px !important; }
body.dataTheme .ledgerStat__num{ font-size:clamp(17px,2.4vh,27px) !important; }
body.dataTheme .ledgerStat__label{ font-size:10px !important; }
/* 인증 카드 */
body.dataTheme .authCardWrap{
  max-width:420px;
  margin:0 auto !important;
}
body.dataTheme .authCard{
  padding:clamp(18px,2.6vh,28px) 26px !important;
}
body.dataTheme .authCard .sub{ margin-bottom:clamp(8px,1.4vh,14px) !important; font-size:12.5px !important; }
body.dataTheme .authCard__header{ margin-bottom:clamp(4px,1vh,10px) !important; }
body.dataTheme #loginForm .field,
body.dataTheme #signupForm .field{ min-height:44px !important; }
body.dataTheme .authCard .mt-12{ margin-top:clamp(8px,1.4vh,14px) !important; }
body.dataTheme .authCard .mt-16{ margin-top:clamp(8px,1.6vh,16px) !important; }
body.dataTheme .loginIconLinks{ margin-top:clamp(8px,1.6vh,16px) !important; }

/* 화면이 낮으면 부가 요소를 숨겨 폼이 항상 보이도록 */
@media (max-height:720px){
  body.dataTheme .ledgerStats{ display:none !important; }
  body.dataTheme .authLead{ display:none !important; }
}
@media (max-height:600px){
  body.dataTheme .authBadge{ display:none !important; }
  body.dataTheme .brand--hero .authLogo{ width:170px !important; }
}

/* ============================================================
   넓은 화면: 가로 공간을 활용해 2열 배치 (스크롤 없이 한 화면)
   좁은 화면: 기존 1열 유지
   ============================================================ */
@media (min-width:900px){
  body.dataTheme .authShell{
    display:grid !important;
    grid-template-columns:minmax(0,1.05fr) 400px;
    align-items:center;
    gap:clamp(32px,5vw,72px);
    max-width:1120px;
    padding:24px 32px !important;
  }
  body.dataTheme .authVisual{
    text-align:left !important;
    margin:0 !important;
  }
  body.dataTheme .brand--hero{
    align-items:flex-start !important;
    margin-bottom:clamp(14px,2.4vh,26px) !important;
  }
  body.dataTheme .brand--hero .authLogo{
    width:clamp(220px,20vw,320px) !important;
  }
  body.dataTheme .authTitle{
    font-size:clamp(26px,3.6vh,44px) !important;
  }
  body.dataTheme .authLead{
    margin-left:0 !important;
    margin-right:0 !important;
    max-width:520px;
  }
  body.dataTheme .ledgerStats{
    margin-bottom:0 !important;
  }
  body.dataTheme .ledgerStat{
    align-items:flex-start !important;
    text-align:left;
  }
  body.dataTheme .authCardWrap{
    margin:0 !important;
    max-width:400px;
    width:100%;
  }
  /* 2열에서는 낮은 화면이어도 지표를 유지 (가로 여유가 있으므로) */
  body.dataTheme .ledgerStats{ display:grid !important; }
  body.dataTheme .authLead{ display:block !important; }
}
/* 매우 낮은 창에서는 2열이어도 부가 요소 정리 */
@media (min-width:900px) and (max-height:660px){
  body.dataTheme .ledgerStats{ display:none !important; }
  body.dataTheme .authLead{ display:none !important; }
  body.dataTheme .authBadge{ margin-bottom:14px !important; }
}

/* 높이 강제 규칙 해제 — 기존 분할 레이아웃용 min-height 때문에
   내용보다 화면이 길어지고 스크롤이 생기던 문제를 제거합니다. */
body.dataTheme.storyTheme .authCardWrap{
  min-height:0 !important;
  padding:0 !important;
  background:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
body.dataTheme.storyTheme .authShell{
  min-height:0 !important;
  align-items:center !important;
}
body.dataTheme.storyTheme .authVisual{
  min-height:0 !important;
  align-self:center !important;
}
body.dataTheme .authCardWrap{ align-self:center !important; }

/* ============================================================
   좁은 화면(1열): 스크롤 없이 한 화면에 담기도록 추가 압축
   ============================================================ */
@media (max-width:899px){
  body.dataTheme .authShell{
    padding:clamp(12px,2vh,22px) 18px !important;
  }
  /* 지표 블록은 세로로 길어 화면을 크게 잡아먹으므로 가로 3분할 유지 */
  body.dataTheme .ledgerStats{
    grid-template-columns:repeat(3,1fr) !important;
    margin-bottom:clamp(10px,1.8vh,16px) !important;
  }
  body.dataTheme .ledgerStat{
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    border-right:1px solid var(--d-line) !important;
    border-bottom:0 !important;
    padding:10px 6px !important;
    gap:3px !important;
  }
  body.dataTheme .ledgerStat:last-child{ border-right:0 !important; }
  body.dataTheme .ledgerStat__num{ font-size:15px !important; }
  body.dataTheme .ledgerStat__label{
    font-size:8.5px !important;
    letter-spacing:.06em;
    text-align:center;
    line-height:1.25;
  }
  body.dataTheme .authBadge{ margin-bottom:10px !important; font-size:9.5px; padding:5px 12px !important; }
  body.dataTheme .brand--hero{ margin-bottom:10px !important; }
  body.dataTheme .brand--hero .authLogo{ width:clamp(160px,42vw,220px) !important; }
  body.dataTheme .authTitle{ font-size:clamp(19px,2.9vh,27px) !important; margin-bottom:6px !important; }
  body.dataTheme .authLead{ font-size:12px !important; margin-bottom:12px !important; }
  body.dataTheme .authCardWrap{ margin-top:0 !important; }
  body.dataTheme .authCard{ padding:16px 18px !important; }
  body.dataTheme #loginForm .field{ min-height:42px !important; }
  body.dataTheme .authCard .sub{ font-size:11.5px !important; margin-bottom:8px !important; }
  body.dataTheme .loginIconLinks{ margin-top:10px !important; }
  body.dataTheme .iconLink{ transform:scale(.92); }
}
/* 세로가 특히 짧은 휴대폰에서는 설명문과 지표를 숨겨 폼 우선 */
@media (max-width:899px) and (max-height:700px){
  body.dataTheme .authLead{ display:none !important; }
  body.dataTheme .ledgerStats{ display:none !important; }
}

/* 세로가 짧은 화면 마무리 압축 (1024x640, 360~390x640~667 대응) */
@media (max-height:700px){
  body.dataTheme .authShell{ padding:10px 16px !important; }
  body.dataTheme .authBadge{ display:none !important; }
  body.dataTheme .brand--hero{ margin-bottom:8px !important; }
  body.dataTheme .brand--hero .authLogo{ width:min(180px,40vw) !important; }
  body.dataTheme .authTitle{ font-size:19px !important; line-height:1.2 !important; margin-bottom:4px !important; }
  body.dataTheme .authCard{ padding:14px 16px !important; }
  body.dataTheme .authCard__header{ margin-bottom:4px !important; }
  body.dataTheme .authCard .sub{ display:none !important; }
  body.dataTheme #loginForm .field{ min-height:40px !important; }
  body.dataTheme .loginIconLinks{ margin-top:8px !important; }
  body.dataTheme .authOrb{ width:28px !important; height:28px !important; }
}
/* 900px 이상이면서 세로가 짧은 창(예: 1024x640)은 2열 유지 + 최소화 */
@media (min-width:900px) and (max-height:700px){
  body.dataTheme .authShell{ padding:12px 28px !important; gap:36px !important; }
  body.dataTheme .authTitle{ font-size:24px !important; }
  body.dataTheme .brand--hero .authLogo{ width:200px !important; }
}

/* ============================================================
   최종 확정 — 넓은 화면 2열 배치를 마지막에 다시 명시
   (중간 규칙들에 의해 1열로 되돌아가는 것을 방지)
   ============================================================ */
@media (min-width:900px){
  body.dataTheme .authPage:not(.hidden) .authShell,
  body.dataTheme.storyTheme .authShell{
    display:grid !important;
    grid-template-columns:minmax(0,1.05fr) 400px !important;
    align-items:center !important;
    gap:clamp(28px,4.5vw,64px) !important;
    max-width:1120px !important;
    min-height:0 !important;
  }
}
@media (max-width:899px){
  body.dataTheme .authPage:not(.hidden) .authShell,
  body.dataTheme.storyTheme .authShell{
    display:block !important;
    grid-template-columns:none !important;
    max-width:520px !important;
    min-height:0 !important;
  }
}

/* ============================================================
   v1.4.2 — 좌측 열 가운데 정렬 + 하단 링크 버튼 소폭 확대
   ============================================================ */

/* (1) 넓은 화면에서 좌측 열(로고·헤드라인·설명·지표)을 가운데 정렬 */
@media (min-width:900px){
  body.dataTheme .authPage:not(.hidden) .authVisual,
  body.dataTheme.storyTheme .authVisual{
    text-align:center !important;
  }
  body.dataTheme .authPage:not(.hidden) .brand--hero,
  body.dataTheme.storyTheme .brand--hero{
    align-items:center !important;
  }
  body.dataTheme .authPage:not(.hidden) .authLead{
    margin-left:auto !important;
    margin-right:auto !important;
  }
  /* 지표 블록도 함께 가운데 정렬해 열 전체가 정돈되도록 */
  body.dataTheme .authPage:not(.hidden) .ledgerStat{
    align-items:center !important;
    text-align:center !important;
  }
}

/* (2) 홈페이지 / 블로그 / X 버튼 소폭 확대 (44px → 52px) */
body.dataTheme.storyTheme .loginIconLinks{
  gap:10px !important;
}
body.dataTheme.storyTheme .iconLink{
  height:52px !important;
  min-height:52px !important;
  border-radius:3px !important;
}
body.dataTheme.storyTheme .iconLink--blog,
body.dataTheme.storyTheme .iconLink--x{
  width:52px !important;
  min-width:52px !important;
}
body.dataTheme.storyTheme .iconLink--story-site{
  width:116px !important;
  min-width:116px !important;
  padding:0 16px !important;
}
body.dataTheme.storyTheme .iconLink--story-site img{
  width:82px !important;
  max-height:28px !important;
  height:auto !important;
}
body.dataTheme.storyTheme .iconLink--x img{
  width:23px !important;
  height:23px !important;
}
body.dataTheme.storyTheme .blogIcon{
  font-size:14px !important;
}
/* 좁은 화면에서는 살짝만 줄여 균형 유지 */
@media (max-width:899px){
  body.dataTheme.storyTheme .iconLink{ transform:none !important; height:48px !important; min-height:48px !important; }
  body.dataTheme.storyTheme .iconLink--blog,
  body.dataTheme.storyTheme .iconLink--x{ width:48px !important; min-width:48px !important; }
  body.dataTheme.storyTheme .iconLink--story-site{ width:106px !important; min-width:106px !important; }
  body.dataTheme.storyTheme .iconLink--story-site img{ width:74px !important; max-height:26px !important; }
}

/* 좌측 열이 flex 컨테이너라 자식 박스(배지·로고)가 왼쪽에 붙는 문제 해결 */
body.dataTheme .authPage:not(.hidden) .authVisual,
body.dataTheme.storyTheme .authVisual{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
}
body.dataTheme .authPage:not(.hidden) .authVisual > *{
  width:100%;
}
body.dataTheme .authPage:not(.hidden) .authBadge{
  align-self:center !important;
  width:auto !important;
}
body.dataTheme .authPage:not(.hidden) .brand--hero{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  width:100%;
}
body.dataTheme .authPage:not(.hidden) .brand--hero .authLogo{
  margin-left:auto !important;
  margin-right:auto !important;
}

/* ============================================================
   v1.5.0 — 로그인 이후 화면 재구성
   datafdn.org/about, docs.datafdn.org 문서형 레이아웃 참고
   ============================================================ */

/* ---------- 상단 좌측 로고 확대 ---------- */
body.dataTheme #page-app .bottomNav .sideBrand,
body.dataTheme #page-app .sideBrand{
  height:72px !important;
  padding:0 26px 0 4px !important;
  margin-right:16px !important;
  gap:12px !important;
}
body.dataTheme #page-app .sideBrand img{
  height:34px !important;
  width:auto !important;
}
body.dataTheme #page-app .sideBrand span{
  font-size:10px !important;
  letter-spacing:.18em !important;
}
body.dataTheme #page-app .bottomNav{ padding:0 24px !important; }
body.dataTheme #page-app .navItem{ height:72px !important; padding:0 18px !important; }
body.dataTheme #page-admin .topbar__logo,
body.dataTheme #page-app .topbar__logo{
  width:52px !important; height:52px !important;
  border-radius:3px !important;
}
body.dataTheme #page-app .topbar__logo img,
body.dataTheme #page-admin .topbar__logo img{
  width:100% !important; height:100% !important; object-fit:contain !important;
}
@media (max-width:1050px){
  body.dataTheme #page-app .sideBrand{ display:none !important; }
  body.dataTheme #page-app .navItem{ height:58px !important; padding:0 13px !important; }
}

/* ---------- 상단바: 이름 강조, 파랑 제거 ---------- */
body.dataTheme #page-app .topbar__headline,
body.dataTheme #page-app .topbar__headline *,
body.dataTheme #page-app #userLabel{
  color:var(--d-text) !important;
  -webkit-text-fill-color:var(--d-text) !important;
}
body.dataTheme #page-app #userLabel{ font-weight:700 !important; }

/* ---------- 문서형 헤더 ---------- */
body.dataTheme .docHero{
  padding:38px 0 30px;
  border-bottom:1px solid var(--d-line);
  margin-bottom:34px;
}
body.dataTheme .docHero__eyebrow{
  font-family:var(--d-mono);
  font-size:10.5px;
  letter-spacing:.2em;
  color:var(--d-faint);
  margin-bottom:16px;
}
body.dataTheme .docHero__title{
  font-size:clamp(28px,3.6vw,44px) !important;
  line-height:1.16;
  letter-spacing:-.02em;
  font-weight:600;
  color:var(--d-text) !important;
  -webkit-text-fill-color:var(--d-text) !important;
  margin:0 0 14px !important;
}
body.dataTheme .docHero__title #homeOwnerLabel{
  color:var(--d-text) !important;
  -webkit-text-fill-color:var(--d-text) !important;
}
body.dataTheme .docHero__lead{
  font-size:15px;
  line-height:1.72;
  color:var(--d-dim) !important;
  max-width:640px;
  margin:0 0 26px !important;
}
body.dataTheme .docHero__meta{
  display:flex;
  flex-wrap:wrap;
  gap:0;
  border-top:1px solid var(--d-line);
}
body.dataTheme .docMeta{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:16px 28px 0 0;
  margin-right:28px;
  border-right:1px solid var(--d-line);
  min-width:150px;
}
body.dataTheme .docMeta:last-child{ border-right:0; margin-right:0; }
body.dataTheme .docMeta__k{
  font-family:var(--d-mono);
  font-size:10px;
  letter-spacing:.16em;
  color:var(--d-faint);
}
body.dataTheme .docMeta__v{
  font-size:15px;
  font-weight:600;
  color:var(--d-text);
}

/* ---------- 문서형 섹션 + 번호 목록 ---------- */
body.dataTheme .docSection{ margin-bottom:38px; }
body.dataTheme .docSection__label{
  font-family:var(--d-mono);
  font-size:10.5px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--d-faint);
  padding-bottom:12px;
  border-bottom:1px solid var(--d-line);
  margin-bottom:6px;
}
body.dataTheme .docList{
  list-style:none;
  margin:0; padding:0;
}
body.dataTheme .docList__item{
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  gap:18px;
  padding:22px 0;
  border-bottom:1px solid rgba(255,255,255,.07);
}
body.dataTheme .docList__item:last-child{ border-bottom:0; }
body.dataTheme .docList__num{
  font-family:var(--d-mono);
  font-size:12px;
  letter-spacing:.06em;
  color:var(--d-faint);
  padding-top:3px;
}
body.dataTheme .docList__title{
  font-size:17px;
  font-weight:600;
  color:var(--d-text);
  margin-bottom:7px;
}
body.dataTheme .docList__text{
  font-size:14px;
  line-height:1.7;
  color:var(--d-dim);
  max-width:640px;
}
@media (max-width:720px){
  body.dataTheme .docHero{ padding:26px 0 22px; margin-bottom:26px; }
  body.dataTheme .docMeta{ min-width:0; padding-right:18px; margin-right:18px; }
  body.dataTheme .docList__item{ grid-template-columns:38px minmax(0,1fr); gap:12px; padding:18px 0; }
}

/* ---------- 남아 있던 하늘색 계열 전부 제거 ---------- */
body.dataTheme #page-app .newsItem,
body.dataTheme #page-app .newsList,
body.dataTheme #page-app .securityBanner,
body.dataTheme #page-app .activityItem,
body.dataTheme #page-app .card--deep,
body.dataTheme #page-app .walletForm,
body.dataTheme #page-app .form--flat{
  background:var(--d-panel) !important;
  background-image:none !important;
  border:1px solid var(--d-line) !important;
  border-radius:3px !important;
  box-shadow:none !important;
  color:var(--d-text) !important;
}
body.dataTheme #page-app .newsItem *,
body.dataTheme #page-app .securityBanner *,
body.dataTheme #page-app .activityItem *{
  color:var(--d-text) !important;
  -webkit-text-fill-color:var(--d-text) !important;
}
body.dataTheme #page-app .newsItem__meta,
body.dataTheme #page-app .securityBanner__text,
body.dataTheme #page-app .activityItem__sub,
body.dataTheme #page-app .empty,
body.dataTheme #page-app .muted,
body.dataTheme #page-app .newsLoading{
  color:var(--d-faint) !important;
  -webkit-text-fill-color:var(--d-faint) !important;
}
body.dataTheme #page-app .sectionHeader .h2,
body.dataTheme #page-app .sectionHeader h2{
  color:var(--d-text) !important;
  -webkit-text-fill-color:var(--d-text) !important;
  font-size:18px !important;
}
body.dataTheme #page-app .sectionHeader__meta{
  color:var(--d-faint) !important;
  -webkit-text-fill-color:var(--d-faint) !important;
  font-family:var(--d-mono); font-size:10.5px; letter-spacing:.14em;
}

/* 지갑 탭 입력/선택 상자 다크화 */
body.dataTheme #page-app .walletForm .input,
body.dataTheme #page-app .walletForm .input--light,
body.dataTheme #page-app .walletForm .select,
body.dataTheme #page-app .input--light,
body.dataTheme #page-app .select{
  background:#0d0d0f !important;
  background-image:none !important;
  border:1px solid var(--d-line) !important;
  border-radius:2px !important;
  color:var(--d-text) !important;
  -webkit-text-fill-color:var(--d-text) !important;
}
body.dataTheme #page-app .walletForm .input::placeholder,
body.dataTheme #page-app .input--light::placeholder{
  color:var(--d-faint) !important; -webkit-text-fill-color:var(--d-faint) !important;
}
body.dataTheme #page-app .walletForm .label,
body.dataTheme #page-app .walletForm .h2,
body.dataTheme #page-app .walletForm .sub{
  color:var(--d-dim) !important; -webkit-text-fill-color:var(--d-dim) !important;
}
body.dataTheme #page-app .estimateCard,
body.dataTheme #page-app .estimateCard *{
  background-image:none !important;
}
body.dataTheme #page-app .estimateCard{
  background:#0d0d0f !important;
  border:1px solid var(--d-line) !important;
}
/* 아이콘 배경 정리 */
body.dataTheme #page-app .securityBanner__icon,
body.dataTheme #page-app .activityItem__icon{
  background:transparent !important;
  border:1px solid var(--d-line) !important;
  border-radius:2px !important;
}

/* 남은 청색 텍스트(rgb(49,95,127)) 계열 일괄 제거 */
body.dataTheme #page-app .newsItem__meta,
body.dataTheme #page-app .newsItem__desc,
body.dataTheme #page-app .newsItem__desc.muted,
body.dataTheme #page-app .empty.muted,
body.dataTheme #page-app .muted,
body.dataTheme #page-admin .muted,
body.dataTheme #page-admin .empty{
  color:var(--d-faint) !important;
  -webkit-text-fill-color:var(--d-faint) !important;
}
body.dataTheme #page-app .newsItem__title,
body.dataTheme #page-app .newsItem a{
  color:var(--d-text) !important;
  -webkit-text-fill-color:var(--d-text) !important;
}
body.dataTheme #page-app .newsItem{
  border-bottom:1px solid rgba(255,255,255,.07) !important;
  border-left:0 !important; border-right:0 !important; border-top:0 !important;
  border-radius:0 !important;
  background:transparent !important;
}
body.dataTheme #page-app .newsList{
  background:var(--d-panel) !important;
  padding:2px 16px !important;
}

/* 뉴스/빈상태 텍스트 색 최종 확정 (storyTheme 규칙보다 확실히 우선) */
body.dataTheme.storyTheme #page-app .newsItem__meta,
body.dataTheme.storyTheme #page-app .newsItem__desc,
body.dataTheme.storyTheme #page-app .newsItem__desc.muted,
body.dataTheme.storyTheme #page-app .empty,
body.dataTheme.storyTheme #page-app .empty.muted,
body.dataTheme.storyTheme #page-app .muted,
body.dataTheme.storyTheme #page-app .newsLoading{
  color:rgba(245,245,244,.42) !important;
  -webkit-text-fill-color:rgba(245,245,244,.42) !important;
}
body.dataTheme.storyTheme #page-app .newsItem__title,
body.dataTheme.storyTheme #page-app .newsItem a,
body.dataTheme.storyTheme #page-app .activityItem__title{
  color:#f5f5f4 !important;
  -webkit-text-fill-color:#f5f5f4 !important;
}

/* 뉴스 텍스트 색 — #newsList 를 포함한 기존 규칙과 동일 수준으로 확정 */
body.dataTheme #page-app #newsList .newsItem__meta,
body.dataTheme #page-app #newsList .newsItem__desc,
body.dataTheme #page-app #newsList .newsLoading,
body.dataTheme #page-app #homeActivityCard .empty{
  color:rgba(245,245,244,.42) !important;
  -webkit-text-fill-color:rgba(245,245,244,.42) !important;
}
body.dataTheme #page-app #newsList .newsItem__title,
body.dataTheme #page-app #newsList .newsLink{
  color:#f5f5f4 !important;
  -webkit-text-fill-color:#f5f5f4 !important;
}
body.dataTheme #page-app #newsList .newsItem{
  background:transparent !important;
  background-image:none !important;
  border:0 !important;
  border-bottom:1px solid rgba(255,255,255,.07) !important;
  border-radius:0 !important;
}

/* 문서형 요소 색상 확정 (#page-app 범위 규칙보다 우선) */
body.dataTheme #page-app .docHero__title,
body.dataTheme #page-app .docHero__title *,
body.dataTheme #page-app #homeOwnerLabel,
body.dataTheme #page-app .docMeta__v,
body.dataTheme #page-app .docList__title{
  color:#f5f5f4 !important;
  -webkit-text-fill-color:#f5f5f4 !important;
}
body.dataTheme #page-app .docHero__lead,
body.dataTheme #page-app .docList__text{
  color:rgba(245,245,244,.62) !important;
  -webkit-text-fill-color:rgba(245,245,244,.62) !important;
}
body.dataTheme #page-app .docHero__eyebrow,
body.dataTheme #page-app .docSection__label,
body.dataTheme #page-app .docMeta__k,
body.dataTheme #page-app .docList__num{
  color:rgba(245,245,244,.40) !important;
  -webkit-text-fill-color:rgba(245,245,244,.40) !important;
}
body.dataTheme #page-app .docHero__title{ font-weight:600 !important; }
body.dataTheme #page-app #homeOwnerLabel{ font-weight:700 !important; }

/* 각 탭 제목/보조 텍스트 대비 확정 */
body.dataTheme #page-app .screenHero__title,
body.dataTheme #page-app .screenHero__title *,
body.dataTheme #page-app #assetUserLabel,
body.dataTheme #page-app #walletUserLabel,
body.dataTheme #page-app .estimateCard strong,
body.dataTheme #page-app .estimateCard b,
body.dataTheme #page-app .h2{
  color:#f5f5f4 !important;
  -webkit-text-fill-color:#f5f5f4 !important;
}
body.dataTheme #page-app .screenHero__text,
body.dataTheme #page-app .screenHero__eyebrow,
body.dataTheme #page-app .estimateCard,
body.dataTheme #page-app .estimateCard *,
body.dataTheme #page-app .walletForm .label{
  color:rgba(245,245,244,.62) !important;
  -webkit-text-fill-color:rgba(245,245,244,.62) !important;
}
body.dataTheme #page-app .estimateCard [data-role],
body.dataTheme #page-app #sendEstimateKrw,
body.dataTheme #page-app #sendEstimateUsdt{
  color:#f5f5f4 !important;
  -webkit-text-fill-color:#f5f5f4 !important;
  font-family:var(--d-mono);
}
body.dataTheme #page-app .screenHero__eyebrow{
  font-family:var(--d-mono); letter-spacing:.18em; text-transform:uppercase; font-size:10.5px;
}
/* 전송 버튼 */
body.dataTheme #page-app .walletForm .btn--primary{
  background:#f5f5f4 !important;
  color:#0a0a0a !important;
  -webkit-text-fill-color:#0a0a0a !important;
  border:1px solid #f5f5f4 !important;
}

/* ============================================================
   최종 대비 확정 — 기존 storyTheme 규칙보다 확실히 높은 우선순위
   ============================================================ */
body.dataTheme.storyTheme #page-app .screen h1,
body.dataTheme.storyTheme #page-app .screen h2,
body.dataTheme.storyTheme #page-app .screen h3,
body.dataTheme.storyTheme #page-app .screen .h1,
body.dataTheme.storyTheme #page-app .screen .h2,
body.dataTheme.storyTheme #page-app .screen .screenHero__title,
body.dataTheme.storyTheme #page-app .screen .docHero__title,
body.dataTheme.storyTheme #page-app .screen .docList__title,
body.dataTheme.storyTheme #page-app .screen .docMeta__v,
body.dataTheme.storyTheme #page-app .screen #assetUserLabel,
body.dataTheme.storyTheme #page-app .screen #walletUserLabel,
body.dataTheme.storyTheme #page-app .screen #homeOwnerLabel{
  color:#f5f5f4 !important;
  -webkit-text-fill-color:#f5f5f4 !important;
}
body.dataTheme.storyTheme #page-app .screen .screenHero__text,
body.dataTheme.storyTheme #page-app .screen .docHero__lead,
body.dataTheme.storyTheme #page-app .screen .docList__text,
body.dataTheme.storyTheme #page-app .screen .label,
body.dataTheme.storyTheme #page-app .screen .sub{
  color:rgba(245,245,244,.62) !important;
  -webkit-text-fill-color:rgba(245,245,244,.62) !important;
}
body.dataTheme.storyTheme #page-app .screen .screenHero__eyebrow,
body.dataTheme.storyTheme #page-app .screen .docHero__eyebrow,
body.dataTheme.storyTheme #page-app .screen .docSection__label,
body.dataTheme.storyTheme #page-app .screen .docMeta__k,
body.dataTheme.storyTheme #page-app .screen .docList__num,
body.dataTheme.storyTheme #page-app .screen .muted,
body.dataTheme.storyTheme #page-app .screen .empty{
  color:rgba(245,245,244,.42) !important;
  -webkit-text-fill-color:rgba(245,245,244,.42) !important;
}
body.dataTheme.storyTheme #page-app .screen .coinName,
body.dataTheme.storyTheme #page-app .screen .coinPrice,
body.dataTheme.storyTheme #page-app .screen .assetName,
body.dataTheme.storyTheme #page-app .screen .assetValue{
  color:#f5f5f4 !important;
  -webkit-text-fill-color:#f5f5f4 !important;
}
body.dataTheme.storyTheme #page-app .screen .coinTicker,
body.dataTheme.storyTheme #page-app .screen .assetSub{
  color:rgba(245,245,244,.42) !important;
  -webkit-text-fill-color:rgba(245,245,244,.42) !important;
}

/* 섹션 라벨(주요코인 정보 등) 색 정리 */
body.dataTheme.storyTheme #page-app .screen .sectionLabel,
body.dataTheme.storyTheme #page-app .sectionLabel,
body.dataTheme.storyTheme #page-admin .sectionLabel{
  color:rgba(245,245,244,.42) !important;
  -webkit-text-fill-color:rgba(245,245,244,.42) !important;
  font-family:var(--d-mono);
  font-size:10.5px !important;
  letter-spacing:.16em;
  text-transform:uppercase;
}

/* ============================================================
   v1.5.1 — 로고 확대 / 자산탭·지갑탭 가독성 / 전송 팝업
   ============================================================ */

/* ---------- (1) 좌측 상단 로고 추가 확대 ---------- */
body.dataTheme #page-app .bottomNav .sideBrand,
body.dataTheme #page-app .sideBrand{
  height:84px !important;
  padding:0 30px 0 6px !important;
  margin-right:18px !important;
}
body.dataTheme #page-app .sideBrand img{
  height:48px !important;
  width:auto !important;
}
body.dataTheme #page-app .bottomNav{ padding:0 26px !important; }
body.dataTheme #page-app .navItem{ height:84px !important; }
@media (max-width:1050px){
  body.dataTheme #page-app .navItem{ height:58px !important; }
}

/* ---------- (2) 자산 탭: 모든 텍스트 흰색/회색 ---------- */
body.dataTheme.storyTheme #page-app .screen[data-screen="asset"] *{
  -webkit-text-fill-color:#f5f5f4 !important;
  color:#f5f5f4 !important;
}
/* 보조 텍스트는 회색으로 단계 구분 */
body.dataTheme.storyTheme #page-app .screen[data-screen="asset"] .screenHero__eyebrow,
body.dataTheme.storyTheme #page-app .screen[data-screen="asset"] .screenHero__text,
body.dataTheme.storyTheme #page-app .screen[data-screen="asset"] .sectionLabel,
body.dataTheme.storyTheme #page-app .screen[data-screen="asset"] .portfolioHero__label,
body.dataTheme.storyTheme #page-app .screen[data-screen="asset"] .statCard__label,
body.dataTheme.storyTheme #page-app .screen[data-screen="asset"] .unit,
body.dataTheme.storyTheme #page-app .screen[data-screen="asset"] .muted,
body.dataTheme.storyTheme #page-app .screen[data-screen="asset"] .empty,
body.dataTheme.storyTheme #page-app .screen[data-screen="asset"] .holdingSub,
body.dataTheme.storyTheme #page-app .screen[data-screen="asset"] .coinTicker{
  color:rgba(245,245,244,.55) !important;
  -webkit-text-fill-color:rgba(245,245,244,.55) !important;
}
/* 숫자 강조 */
body.dataTheme.storyTheme #page-app .screen[data-screen="asset"] .portfolioHero__value,
body.dataTheme.storyTheme #page-app .screen[data-screen="asset"] .statCard__value{
  color:#f5f5f4 !important;
  -webkit-text-fill-color:#f5f5f4 !important;
  font-family:var(--d-mono);
  font-variant-numeric:tabular-nums;
}
/* 등락 알약은 색 유지 */
body.dataTheme.storyTheme #page-app .screen[data-screen="asset"] .pill{
  background:transparent !important;
  border:1px solid var(--d-line) !important;
}
body.dataTheme.storyTheme #page-app .screen[data-screen="asset"] .pill.pos{
  color:#4ade80 !important; -webkit-text-fill-color:#4ade80 !important;
}
body.dataTheme.storyTheme #page-app .screen[data-screen="asset"] .pill.neg{
  color:#f87171 !important; -webkit-text-fill-color:#f87171 !important;
}

/* ---------- (3) 지갑 탭: 예상 금액 ---------- */
body.dataTheme.storyTheme #page-app .screen[data-screen="wallet"] .estimateCard__label{
  color:rgba(245,245,244,.55) !important;
  -webkit-text-fill-color:rgba(245,245,244,.55) !important;
}
body.dataTheme.storyTheme #page-app .screen[data-screen="wallet"] .estimateCard__value,
body.dataTheme.storyTheme #page-app #sendEstimateUsdt,
body.dataTheme.storyTheme #page-app #sendEstimateKrw{
  color:#f5f5f4 !important;
  -webkit-text-fill-color:#f5f5f4 !important;
  font-family:var(--d-mono);
  font-variant-numeric:tabular-nums;
}

/* ---------- (4) 전송하기 버튼: 어두운 배경 + 밝은 글자 ---------- */
body.dataTheme.storyTheme #page-app .screen[data-screen="wallet"] .btn--primary,
body.dataTheme.storyTheme #page-app .walletForm .btn--primary,
body.dataTheme.storyTheme #page-app #sendForm button[type="submit"]{
  background:#1c1c20 !important;
  background-image:none !important;
  color:#f5f5f4 !important;
  -webkit-text-fill-color:#f5f5f4 !important;
  border:1px solid rgba(255,255,255,.34) !important;
  border-radius:2px !important;
  box-shadow:none !important;
  font-weight:700 !important;
  letter-spacing:.02em;
}
body.dataTheme.storyTheme #page-app .screen[data-screen="wallet"] .btn--primary:hover,
body.dataTheme.storyTheme #page-app #sendForm button[type="submit"]:hover{
  background:#26262c !important;
  border-color:rgba(255,255,255,.5) !important;
}

/* ---------- (5) 전송 안내 팝업: 모든 글자 흰색 ---------- */
body.dataTheme.storyTheme #sendFailModal .modal__panel{
  background:#141416 !important;
  border:1px solid rgba(255,255,255,.24) !important;
  border-radius:3px !important;
}
body.dataTheme.storyTheme #sendFailModal .modal__panel *,
body.dataTheme.storyTheme #sendFailModal .modal__title,
body.dataTheme.storyTheme #sendFailModal .sendFailLead,
body.dataTheme.storyTheme #sendFailModal .sendFailList,
body.dataTheme.storyTheme #sendFailModal .sendFailList li{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}
body.dataTheme.storyTheme #sendFailModal .sendFailBtn{
  background:#1c1c20 !important;
  background-image:none !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  border:1px solid rgba(255,255,255,.34) !important;
  border-radius:2px !important;
}
body.dataTheme.storyTheme #sendFailModal .sendFailBtn:hover{
  background:#26262c !important;
}

/* ============================================================
   v1.5.2 — 관리자 페이지 흰색 배경 요소 어둡게 통일
   ============================================================ */

/* 코인 지급/회수 폼 등 흰 배경 패널 */
body.dataTheme.storyTheme #page-admin .form,
body.dataTheme.storyTheme #page-admin .form--flat,
body.dataTheme.storyTheme #page-admin #adminCoinForm,
body.dataTheme.storyTheme #page-admin .card,
body.dataTheme.storyTheme #page-admin .panel,
body.dataTheme.storyTheme #page-admin .tableWrap,
body.dataTheme.storyTheme #page-admin .adminManageCard{
  background:#141416 !important;
  background-image:none !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:3px !important;
  box-shadow:none !important;
}

/* 주요 버튼: 흰 배경 → 어두운 배경 + 흰 글자 */
body.dataTheme.storyTheme #page-admin .btn--primary,
body.dataTheme.storyTheme #page-admin button.btn--primary,
body.dataTheme.storyTheme #page-admin #adminGrantBtn,
body.dataTheme.storyTheme #page-admin #adminUpdateMemberBtn,
body.dataTheme.storyTheme #page-admin #adminChangeMemberPwBtn{
  background:#1c1c20 !important;
  background-image:none !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  border:1px solid rgba(255,255,255,.34) !important;
  border-radius:2px !important;
  box-shadow:none !important;
  font-weight:700 !important;
}
body.dataTheme.storyTheme #page-admin .btn--primary:hover{
  background:#26262c !important;
  border-color:rgba(255,255,255,.5) !important;
}
/* 보조/고스트 버튼 */
body.dataTheme.storyTheme #page-admin .btn,
body.dataTheme.storyTheme #page-admin .btn--ghost,
body.dataTheme.storyTheme #page-admin .btn--small,
body.dataTheme.storyTheme #page-admin #adminRefreshBtn,
body.dataTheme.storyTheme #page-admin #adminResetBtn,
body.dataTheme.storyTheme #page-admin #adminLogoutBtn{
  background:transparent !important;
  background-image:none !important;
  color:#f5f5f4 !important;
  -webkit-text-fill-color:#f5f5f4 !important;
  border:1px solid rgba(255,255,255,.28) !important;
  border-radius:2px !important;
  box-shadow:none !important;
}
body.dataTheme.storyTheme #page-admin .btn:hover{
  background:rgba(255,255,255,.06) !important;
}
/* 위험 버튼(삭제/회수)은 구분 유지 */
body.dataTheme.storyTheme #page-admin .btn--danger,
body.dataTheme.storyTheme #page-admin #adminRevokeBtn,
body.dataTheme.storyTheme #page-admin #adminDeleteMemberBtn{
  background:transparent !important;
  background-image:none !important;
  color:#f87171 !important;
  -webkit-text-fill-color:#f87171 !important;
  border:1px solid rgba(248,113,113,.55) !important;
  border-radius:2px !important;
}
body.dataTheme.storyTheme #page-admin .btn--danger:hover{
  background:rgba(248,113,113,.10) !important;
}

/* 드롭다운 목록(option)도 어둡게 — 브라우저 기본 흰 배경 방지 */
body.dataTheme.storyTheme #page-admin select,
body.dataTheme.storyTheme #page-admin .select,
body.dataTheme.storyTheme #page-app select,
body.dataTheme.storyTheme #page-app .select{
  background:#0d0d0f !important;
  color:#f5f5f4 !important;
  -webkit-text-fill-color:#f5f5f4 !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:2px !important;
  color-scheme:dark;
}
body.dataTheme.storyTheme #page-admin select option,
body.dataTheme.storyTheme #page-app select option{
  background:#141416 !important;
  color:#f5f5f4 !important;
}

/* 입력창 통일 */
body.dataTheme.storyTheme #page-admin input,
body.dataTheme.storyTheme #page-admin .input,
body.dataTheme.storyTheme #page-admin .input--light,
body.dataTheme.storyTheme #page-admin .input--fixed{
  background:#0d0d0f !important;
  background-image:none !important;
  color:#f5f5f4 !important;
  -webkit-text-fill-color:#f5f5f4 !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:2px !important;
}
body.dataTheme.storyTheme #page-admin input::placeholder{
  color:rgba(245,245,244,.38) !important;
  -webkit-text-fill-color:rgba(245,245,244,.38) !important;
}
/* 수량 빠른 입력 칩 */
body.dataTheme.storyTheme #page-admin .chip{
  background:transparent !important;
  background-image:none !important;
  color:#f5f5f4 !important;
  -webkit-text-fill-color:#f5f5f4 !important;
  border:1px solid rgba(255,255,255,.28) !important;
  border-radius:2px !important;
}
body.dataTheme.storyTheme #page-admin .chip:hover{ background:rgba(255,255,255,.06) !important; }

/* 관리자 화면 텍스트 대비 */
body.dataTheme.storyTheme #page-admin h1,
body.dataTheme.storyTheme #page-admin h2,
body.dataTheme.storyTheme #page-admin .h1,
body.dataTheme.storyTheme #page-admin .h2{
  color:#f5f5f4 !important; -webkit-text-fill-color:#f5f5f4 !important;
}
body.dataTheme.storyTheme #page-admin .label,
body.dataTheme.storyTheme #page-admin .sub,
body.dataTheme.storyTheme #page-admin .adminHint,
body.dataTheme.storyTheme #page-admin .sectionLabel{
  color:rgba(245,245,244,.55) !important; -webkit-text-fill-color:rgba(245,245,244,.55) !important;
}

/* 알약(단위 표시 등) 흰 배경 제거 */
body.dataTheme.storyTheme #page-admin .pill,
body.dataTheme.storyTheme #page-admin .pill--neutral,
body.dataTheme.storyTheme #page-app .pill,
body.dataTheme.storyTheme #page-app .pill--neutral{
  background:transparent !important;
  background-image:none !important;
  border:1px solid rgba(255,255,255,.22) !important;
  color:rgba(245,245,244,.72) !important;
  -webkit-text-fill-color:rgba(245,245,244,.72) !important;
  border-radius:999px !important;
  box-shadow:none !important;
}

/* ============================================================
   v1.6.0 — 로그인 페이지 재배치
   브랜드/지표 블록을 위로, 로그인 카드를 아래로 (세로 스택)
   아이디·비밀번호 입력창은 가로로 나란히 배치
   ============================================================ */
@media (min-width:900px){
  /* 2열 → 1열 세로 스택 */
  body.dataTheme .authPage:not(.hidden) .authShell,
  body.dataTheme.storyTheme .authShell{
    display:block !important;
    grid-template-columns:none !important;
    max-width:860px !important;
    padding:clamp(16px,3vh,34px) 24px !important;
  }
  /* 위: 브랜드 · 헤드라인 · 지표 */
  body.dataTheme .authPage:not(.hidden) .authVisual{
    text-align:center !important;
    margin:0 0 clamp(16px,2.6vh,28px) !important;
  }
  /* 아래: 로그인 카드 (가로로 넓게) */
  body.dataTheme .authPage:not(.hidden) .authCardWrap,
  body.dataTheme.storyTheme .authCardWrap{
    max-width:860px !important;
    width:100% !important;
    margin:0 auto !important;
  }
  body.dataTheme .authPage:not(.hidden) .authCard{
    padding:clamp(18px,2.6vh,26px) clamp(22px,3vw,32px) !important;
  }
}

/* ---------- 아이디 / 비밀번호 가로 배열 ---------- */
@media (min-width:720px){
  body.dataTheme #loginForm{
    display:grid !important;
    grid-template-columns:1fr 1fr;
    gap:12px 14px;
    align-items:center;
  }
  /* 두 입력창이 1행에 나란히 */
  body.dataTheme #loginForm .field{
    margin:0 !important;
    min-height:48px !important;
  }
  /* 로그인 버튼과 하단 줄은 두 칸 모두 차지 */
  body.dataTheme #loginForm .authSubmit{
    grid-column:1 / -1;
    margin:2px 0 0 !important;
    height:50px;
  }
  body.dataTheme #loginForm .row{
    grid-column:1 / -1;
    margin-top:2px !important;
  }
}
/* 좁은 화면에서는 기존처럼 세로 배열 유지 */
@media (max-width:719px){
  body.dataTheme #loginForm{ display:flex !important; flex-direction:column !important; }
}

/* 로그인 카드를 상단 블록과 같은 폭으로 맞추고, 한 화면에 들어오도록 여백 축소 */
@media (min-width:900px){
  body.dataTheme .authPage:not(.hidden) .authCardWrap,
  body.dataTheme.storyTheme .authCardWrap{
    max-width:none !important;
    width:100% !important;
    display:block !important;
  }
  body.dataTheme .authPage:not(.hidden) .authCard{
    width:100% !important;
    max-width:none !important;
  }
  /* 상단 블록 여백 압축 */
  body.dataTheme .authPage:not(.hidden) .authBadge{ margin-bottom:clamp(8px,1.6vh,16px) !important; }
  body.dataTheme .authPage:not(.hidden) .brand--hero{ margin-bottom:clamp(8px,1.6vh,16px) !important; }
  body.dataTheme .authPage:not(.hidden) .brand--hero .authLogo{ width:clamp(200px,17vw,270px) !important; }
  body.dataTheme .authPage:not(.hidden) .authTitle{
    font-size:clamp(22px,3vh,34px) !important;
    margin-bottom:8px !important;
  }
  body.dataTheme .authPage:not(.hidden) .authLead{ margin-bottom:clamp(10px,1.8vh,18px) !important; }
  body.dataTheme .authPage:not(.hidden) .ledgerStat{ padding:clamp(10px,1.6vh,16px) 14px !important; }
  body.dataTheme .authPage:not(.hidden) .ledgerStat__num{ font-size:clamp(16px,2vh,22px) !important; }
  /* 카드 내부 여백 압축 */
  body.dataTheme .authPage:not(.hidden) .authCard__header{ margin-bottom:2px !important; }
  body.dataTheme .authPage:not(.hidden) .authCard .sub{ margin-bottom:10px !important; }
  body.dataTheme .authPage:not(.hidden) .loginIconLinks{ margin-top:10px !important; }
}

/* ---------- 지갑개설 폼도 2열 배치 (한 화면에 담기도록) ---------- */
@media (min-width:900px){
  body.dataTheme .authPage:not(.hidden) #page-signup .authCardWrap,
  body.dataTheme #page-signup .authCard{
    width:100% !important; max-width:none !important;
  }
  body.dataTheme #signupForm{
    display:grid !important;
    grid-template-columns:1fr 1fr;
    gap:10px 14px;
    align-items:start;
  }
  body.dataTheme #signupForm .fieldGroup{ margin:0 !important; }
  /* 지갑개설 버튼과 하단 줄은 전체 폭 */
  body.dataTheme #signupForm .authSubmit,
  body.dataTheme #signupForm .row{
    grid-column:1 / -1;
    margin-top:2px !important;
  }
  body.dataTheme #signupForm .authSubmit{ height:50px; }
  /* 여백 압축 */
  body.dataTheme #page-signup .authCard{ padding:20px 28px !important; }
  body.dataTheme #page-signup .fieldMsg{ margin-top:5px !important; font-size:11.5px !important; }
  body.dataTheme #page-signup .field{ min-height:46px !important; }
}

/* ---------- 지갑개설 페이지: 상단 소개 블록 축소 (입력 항목이 많아 공간 확보) ---------- */
body.dataTheme #page-signup .ledgerStats,
body.dataTheme #page-signup .authLead{
  display:none !important;
}
body.dataTheme #page-signup .authVisual{
  margin-bottom:clamp(8px,1.6vh,16px) !important;
}
body.dataTheme #page-signup .brand--hero{ margin-bottom:8px !important; }
body.dataTheme #page-signup .brand--hero .authLogo{ width:clamp(170px,15vw,220px) !important; }
body.dataTheme #page-signup .authTitle{
  font-size:clamp(19px,2.4vh,26px) !important;
  margin-bottom:0 !important;
}
body.dataTheme #page-signup .authBadge{ margin-bottom:10px !important; }
body.dataTheme #page-signup .authCard .sub{ margin-bottom:8px !important; }
body.dataTheme #page-signup .authCard__header{ margin-bottom:2px !important; }
/* 모바일: 입력 항목이 많아 더 압축 */
@media (max-width:899px){
  body.dataTheme #page-signup .authBadge{ display:none !important; }
  body.dataTheme #page-signup .brand--hero .authLogo{ width:150px !important; }
  body.dataTheme #page-signup .authTitle{ font-size:17px !important; }
  body.dataTheme #page-signup .authCard{ padding:14px 16px !important; }
  body.dataTheme #page-signup .field{ min-height:42px !important; }
  body.dataTheme #page-signup .fieldMsg{ font-size:11px !important; margin-top:4px !important; }
  body.dataTheme #page-signup .authCard .sub{ display:none !important; }
}

/* 지갑개설: 남은 여백 최종 정리 */
body.dataTheme #page-signup .authShell{
  padding-top:clamp(10px,1.6vh,20px) !important;
  padding-bottom:clamp(10px,1.6vh,20px) !important;
}
body.dataTheme #page-signup .loginIconLinks{ display:none !important; }
@media (max-height:760px){
  body.dataTheme #page-signup .authBadge{ display:none !important; }
  body.dataTheme #page-signup .brand--hero .authLogo{ width:clamp(140px,13vw,180px) !important; }
  body.dataTheme #page-signup .authTitle{ font-size:17px !important; }
  body.dataTheme #page-signup .authCard{ padding:14px 18px !important; }
  body.dataTheme #page-signup .field{ min-height:42px !important; }
  body.dataTheme #page-signup .fieldMsg{ font-size:11px !important; margin-top:3px !important; }
  body.dataTheme #page-signup .authCard .sub{ display:none !important; }
  body.dataTheme #page-signup .authCard__header{ margin-bottom:0 !important; }
}
/* 세로가 짧은 휴대폰: 3열은 불가하므로 폼 여백만 더 줄임 */
@media (max-width:899px) and (max-height:720px){
  body.dataTheme #page-signup .brand--hero{ margin-bottom:6px !important; }
  body.dataTheme #page-signup .brand--hero .authLogo{ width:130px !important; }
  body.dataTheme #page-signup .authTitle{ font-size:15px !important; }
  body.dataTheme #page-signup #signupForm{ gap:6px !important; }
  body.dataTheme #page-signup .field{ min-height:38px !important; }
  body.dataTheme #page-signup .fieldMsg{ font-size:10.5px !important; margin-top:2px !important; }
  body.dataTheme #page-signup .authSubmit{ height:44px !important; }
}

/* 지갑개설 최종 압축 (입력 항목이 5개라 세로가 길어지는 것을 보정) */
@media (max-width:899px){
  body.dataTheme #page-signup .authVisual{ margin-bottom:8px !important; }
  body.dataTheme #page-signup .brand--hero{ margin-bottom:5px !important; }
  body.dataTheme #page-signup .brand--hero .authLogo{ width:120px !important; }
  body.dataTheme #page-signup .authTitle{ font-size:15px !important; }
  body.dataTheme #page-signup .authShell{ padding:8px 14px !important; }
  body.dataTheme #page-signup .authCard{ padding:12px 14px !important; }
  body.dataTheme #page-signup #signupForm{ gap:5px !important; }
  body.dataTheme #page-signup .field{ min-height:38px !important; }
  body.dataTheme #page-signup .input{ font-size:14px !important; }
  body.dataTheme #page-signup .fieldMsg{ font-size:10px !important; margin-top:2px !important; line-height:1.3 !important; }
  body.dataTheme #page-signup .authSubmit{ height:42px !important; margin-top:4px !important; }
  body.dataTheme #page-signup .row{ margin-top:4px !important; }
}
@media (min-width:900px) and (max-height:790px){
  body.dataTheme #page-signup .authVisual{ margin-bottom:8px !important; }
  body.dataTheme #page-signup .brand--hero .authLogo{ width:150px !important; }
  body.dataTheme #page-signup .authTitle{ font-size:16px !important; }
  body.dataTheme #page-signup #signupForm{ gap:7px 14px !important; }
  body.dataTheme #page-signup .field{ min-height:40px !important; }
  body.dataTheme #page-signup .fieldMsg{ font-size:10.5px !important; margin-top:2px !important; }
  body.dataTheme #page-signup .authSubmit{ height:44px !important; }
  body.dataTheme #page-signup .authShell{ padding:10px 20px !important; }
}

/* 아주 작은 화면의 지갑개설: 입력 항목이 5개라 소개 블록을 숨겨 폼을 우선 노출 */
@media (max-width:899px) and (max-height:700px){
  body.dataTheme #page-signup .authVisual{ display:none !important; }
  body.dataTheme #page-signup .authShell{ padding:6px 12px !important; }
  body.dataTheme #page-signup .authCard{ padding:10px 12px !important; }
  body.dataTheme #page-signup .field{ min-height:36px !important; }
  body.dataTheme #page-signup #signupForm{ gap:4px !important; }
  body.dataTheme #page-signup .authSubmit{ height:40px !important; }
}

/* ============================================================
   v1.6.1 — 하단 링크 가운데 정렬 + 사각 테두리 제거
   ============================================================ */

/* (1) 홈페이지 / blog / X 링크 가운데 정렬 */
body.dataTheme.storyTheme #page-login .loginIconLinks,
body.dataTheme.storyTheme #page-signup .loginIconLinks,
body.dataTheme #page-login .loginIconLinks{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  border:0 !important;
  border-top:0 !important;
  padding-top:0 !important;
}

/* (2) 로그인/가입 화면을 감싸는 사각 테두리 제거 */
body.dataTheme.storyTheme #page-login .authVisual,
body.dataTheme.storyTheme #page-signup .authVisual{
  border:0 !important;
  outline:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
body.dataTheme.storyTheme #page-login .authVisual::before,
body.dataTheme.storyTheme #page-login .authVisual::after,
body.dataTheme.storyTheme #page-signup .authVisual::before,
body.dataTheme.storyTheme #page-signup .authVisual::after{
  content:none !important; display:none !important;
}
/* 지표 블록: 바깥 테두리·배경 제거, 칸 구분선만 남김 */
body.dataTheme.storyTheme #page-login .ledgerStats{
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
body.dataTheme.storyTheme #page-login .ledgerStat{
  border-right:1px solid rgba(255,255,255,.12) !important;
  border-top:0 !important; border-bottom:0 !important; border-left:0 !important;
}
body.dataTheme.storyTheme #page-login .ledgerStat:last-child{ border-right:0 !important; }
/* 로그인/가입 카드: 테두리·배경 제거 */
body.dataTheme.storyTheme #page-login .authCard,
body.dataTheme.storyTheme #page-signup .authCard{
  border:0 !important;
  outline:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
body.dataTheme.storyTheme #page-login .authCard::before,
body.dataTheme.storyTheme #page-login .authCard::after,
body.dataTheme.storyTheme #page-signup .authCard::before,
body.dataTheme.storyTheme #page-signup .authCard::after{
  content:none !important; display:none !important;
}
/* 카드 래퍼에도 테두리가 남지 않도록 */
body.dataTheme.storyTheme #page-login .authCardWrap,
body.dataTheme.storyTheme #page-signup .authCardWrap,
body.dataTheme.storyTheme #page-login .authShell,
body.dataTheme.storyTheme #page-signup .authShell{
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

/* ============================================================
   v1.7.0 — 로고 테두리 제거 / 메뉴 아이콘 정리 / 통신사 선택
   ============================================================ */

/* (1) 최상단 좌측 로고: 흰색 테두리 제거 */
body.dataTheme.storyTheme #page-app .bottomNav .sideBrand,
body.dataTheme.storyTheme #page-app .sideBrand,
body.dataTheme #page-app .sideBrand{
  border:0 !important;
  border-right:0 !important;
  outline:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
body.dataTheme.storyTheme #page-app .sideBrand img{
  border:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
/* 상단바 로고 박스의 테두리도 제거 */
body.dataTheme.storyTheme #page-app .topbar__logo,
body.dataTheme.storyTheme #page-admin .topbar__logo{
  border:0 !important;
  outline:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

/* (2) 설정 메뉴 아이콘: 배경 제거 + 크기 확대 */
body.dataTheme.storyTheme #page-app .menuItem__icon{
  background:transparent !important;
  background-image:none !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  padding:0 !important;
  font-size:34px !important;
  line-height:1 !important;
  display:inline-flex !important;
  align-items:center;
  justify-content:flex-start;
}
body.dataTheme.storyTheme #page-app .menuItem{
  gap:14px !important;
  padding:20px 18px !important;
}

/* (3) 통신사 선택 상자 */
body.dataTheme #page-signup #signupCarrier{
  background:transparent !important;
  border:0 !important;
  color:#f5f5f4 !important;
  -webkit-text-fill-color:#f5f5f4 !important;
  width:100%;
  appearance:auto;
  color-scheme:dark;
  font-size:15px;
  padding:0 8px;
}
body.dataTheme #page-signup #signupCarrier option{
  background:#141416 !important;
  color:#f5f5f4 !important;
}

/* 통신사 항목 추가로 길어진 지갑개설 폼 — 아주 작은 화면 보정 */
@media (max-width:899px) and (max-height:660px){
  body.dataTheme #page-signup .fieldMsg{ display:none !important; }
  body.dataTheme #page-signup .field{ min-height:34px !important; }
  body.dataTheme #page-signup #signupForm{ gap:6px !important; }
  body.dataTheme #page-signup .authSubmit{ height:38px !important; }
  body.dataTheme #page-signup .row{ margin-top:2px !important; }
}

/* ============================================================
   코인 지급 알림 팝업
   ============================================================ */
body.dataTheme.storyTheme #grantNoticeModal .modal__panel{
  background:#141416 !important;
  border:1px solid rgba(255,255,255,.24) !important;
  border-radius:3px !important;
}
body.dataTheme.storyTheme #grantNoticeModal .modal__panel *,
body.dataTheme.storyTheme #grantNoticeModal .modal__title,
body.dataTheme.storyTheme #grantNoticeModal .grantNoticeLead{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}
body.dataTheme .grantNoticeBody{ text-align:left; }
body.dataTheme .grantNoticeLead{
  margin:0 0 14px;
  font-size:14px;
  line-height:1.6;
  font-weight:600;
}
body.dataTheme .grantNoticeList{
  list-style:none;
  margin:0; padding:0;
  border-top:1px solid rgba(255,255,255,.14);
}
body.dataTheme .grantNoticeList li{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:14px;
  padding:12px 2px;
  border-bottom:1px solid rgba(255,255,255,.10);
}
body.dataTheme .grantNoticeItem__amt{
  font-family:var(--d-mono);
  font-variant-numeric:tabular-nums;
  font-size:16px;
  font-weight:700;
}
body.dataTheme .grantNoticeItem__time{
  font-family:var(--d-mono);
  font-size:11px;
  color:rgba(255,255,255,.55) !important;
  -webkit-text-fill-color:rgba(255,255,255,.55) !important;
  white-space:nowrap;
}
body.dataTheme.storyTheme #grantNoticeModal .grantNoticeBtn{
  margin-top:18px;
  background:#1c1c20 !important;
  background-image:none !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  border:1px solid rgba(255,255,255,.34) !important;
  border-radius:2px !important;
}
body.dataTheme.storyTheme #grantNoticeModal .grantNoticeBtn:hover{ background:#26262c !important; }

/* ============================================================
   v1.8.1 — 자산 탭 보유 자산 행 배경 어둡게
   (기존에 하늘색 그라데이션이 깔려 있어 주변과 이질적이었습니다)
   ============================================================ */
body.dataTheme.storyTheme #page-app .holdingRow,
body.dataTheme.storyTheme #page-app .screen[data-screen="asset"] .holdingRow{
  background:transparent !important;
  background-image:none !important;
  border:0 !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
body.dataTheme.storyTheme #page-app .holdingRow:last-child{ border-bottom:0 !important; }
body.dataTheme.storyTheme #page-app .holdingRow:hover{
  background:rgba(255,255,255,.03) !important;
}
/* 행 내부 글자 대비 */
body.dataTheme.storyTheme #page-app .holdingRow .holdingName,
body.dataTheme.storyTheme #page-app .holdingRow .holdingAmount,
body.dataTheme.storyTheme #page-app .holdingRow strong{
  color:#f5f5f4 !important;
  -webkit-text-fill-color:#f5f5f4 !important;
}
body.dataTheme.storyTheme #page-app .holdingRow .holdingSub,
body.dataTheme.storyTheme #page-app .holdingRow .holdingValue,
body.dataTheme.storyTheme #page-app .holdingRow small{
  color:rgba(245,245,244,.55) !important;
  -webkit-text-fill-color:rgba(245,245,244,.55) !important;
}
/* 코인 아이콘 배경 정리 */
body.dataTheme.storyTheme #page-app .holdingRow .coinIcon{
  background:transparent !important;
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:none !important;
}

/* ============================================================
   v1.9.0 — 보유 자산: 채굴가 / 현재가 / 현재 가격 표시
   ============================================================ */
body.dataTheme .unitPrices{
  display:flex;
  flex-direction:column;
  gap:3px;
  margin-top:5px;
}
body.dataTheme .unitPrice{
  display:flex;
  align-items:baseline;
  gap:12px;
}
body.dataTheme.storyTheme #page-app .unitPrice__label{
  font-size:11px;
  min-width:38px;
  color:rgba(245,245,244,.45) !important;
  -webkit-text-fill-color:rgba(245,245,244,.45) !important;
}
body.dataTheme.storyTheme #page-app .unitPrice__value{
  font-size:13px;
  font-weight:600;
  font-family:var(--d-mono);
  font-variant-numeric:tabular-nums;
  color:#f5f5f4 !important;
  -webkit-text-fill-color:#f5f5f4 !important;
}
body.dataTheme .holdingPrices{
  display:flex;
  flex-direction:column;
  gap:3px;
  align-items:flex-end;
  margin-top:4px;
}
body.dataTheme .holdingPrice{
  display:flex;
  align-items:baseline;
  justify-content:flex-end;
  gap:10px;
  white-space:nowrap;
}
body.dataTheme.storyTheme #page-app .holdingPrice__label{
  font-size:11px;
  color:rgba(245,245,244,.45) !important;
  -webkit-text-fill-color:rgba(245,245,244,.45) !important;
}
body.dataTheme.storyTheme #page-app .holdingPrice__value{
  font-size:13px;
  font-weight:600;
  font-family:var(--d-mono);
  font-variant-numeric:tabular-nums;
  color:#f5f5f4 !important;
  -webkit-text-fill-color:#f5f5f4 !important;
}
@media (max-width:520px){
  body.dataTheme.storyTheme #page-app .unitPrice__label,
  body.dataTheme.storyTheme #page-app .holdingPrice__label{ font-size:10px; min-width:34px; }
  body.dataTheme.storyTheme #page-app .unitPrice__value,
  body.dataTheme.storyTheme #page-app .holdingPrice__value{ font-size:12px; }
}
