
:root{
  --bg:#02040a;
  --card:#050814;
  --line:rgba(218,232,255,.42);
  --line-strong:rgba(235,244,255,.62);
  --blue:#179bff;
  --cyan:#7bdfff;
  --purple:#9b6bff;
  --gold:#f5c84c;
  --green:#36df83;
  --red:#ff7560;
  --text:#f6f9ff;
  --muted:#96a3b8;
  --soft:#c9d6ea;
  --font:"Pretendard","Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
body{
  min-height:100vh;
  background:#02040a;
  color:var(--text);
  font-family:var(--font);
  letter-spacing:-.035em;
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
}
.phone{
  width:390px;
  max-width:100%;
  min-height:100vh;
  margin:0 auto;
  padding:24px 14px 96px;
  background:
    radial-gradient(circle at 65% -4%,rgba(23,155,255,.22),transparent 30%),
    radial-gradient(circle at 3% 45%,rgba(155,107,255,.12),transparent 30%),
    linear-gradient(180deg,#030713 0%,#000 100%);
}
.wrap{
  max-width:1180px;
  min-height:100vh;
  margin:auto;
  padding:24px;
  background:
    radial-gradient(circle at top,rgba(23,155,255,.12),transparent 34%),
    #02040a;
}
.top{
  display:grid;
  grid-template-columns:44px 1fr 44px;
  align-items:center;
  margin:0 0 18px;
}
.logo-area{text-align:center}
.logo-img{
  width:84px;
  height:auto;
  display:inline-block;
  filter:drop-shadow(0 0 14px rgba(23,155,255,.62));
}
.iconbtn{
  width:40px;
  height:40px;
  border-radius:50%;
  border:1.2px solid var(--line-strong);
  background:rgba(255,255,255,.025);
  color:#eef6ff;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-size:18px;
  box-shadow:0 0 14px rgba(23,155,255,.10);
}
.logo-title{
  font-size:19px;
  font-weight:800;
  letter-spacing:-.04em;
}
.logo-title span{color:var(--cyan)}
.sub-title{
  display:block;
  color:var(--muted);
  font-size:9px;
  letter-spacing:2.4px;
  margin-top:3px;
  font-weight:500;
}
.card{
  background:
    linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.012)),
    rgba(1,4,12,.78);
  border:1.25px solid var(--line);
  border-radius:18px;
  padding:16px;
  margin-bottom:12px;
  box-shadow:
    inset 0 0 20px rgba(255,255,255,.025),
    0 16px 36px rgba(0,0,0,.32),
    0 0 18px rgba(23,155,255,.08);
}
.card h2{
  font-size:18px;
  line-height:1.25;
  font-weight:800;
  letter-spacing:-.045em;
  margin-bottom:12px;
}
.login-logo{
  text-align:center;
  margin:34px 0 24px;
}
.mark{
  width:94px;
  height:94px;
  margin:0 auto 16px;
  background:url('NEW_LOGO.png') center/contain no-repeat;
  filter:drop-shadow(0 0 18px rgba(23,155,255,.72));
}
.login-logo h1{
  font-size:25px;
  font-weight:850;
  letter-spacing:-.04em;
}
.login-logo p{
  color:var(--muted);
  font-size:12px;
  margin-top:8px;
  font-weight:400;
}
input,select,textarea{
  width:100%;
  height:48px;
  border-radius:13px;
  border:1px solid rgba(218,232,255,.45);
  background:rgba(0,0,0,.35);
  color:#fff;
  padding:0 14px;
  margin-top:10px;
  outline:none;
  font-family:var(--font);
  font-size:14px;
  font-weight:400;
}
textarea{height:92px;padding:12px}
select option{color:#111}
.btn{
  height:48px;
  border:0;
  border-radius:13px;
  background:linear-gradient(135deg,#1398ff,#0067ff);
  color:#fff;
  font-size:14px;
  font-weight:760;
  text-decoration:none;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 16px;
  cursor:pointer;
  box-shadow:0 0 16px rgba(23,155,255,.24);
}
.btn.dark{
  background:rgba(255,255,255,.025);
  border:1px solid var(--line);
  color:#eaf4ff;
}
.btn.small{height:36px;font-size:12px}
.full{width:100%;margin-top:14px}

/* Premium whale balance card */
.hero-card{
  min-height:216px;
  position:relative;
  overflow:hidden;
  padding:22px 18px 18px;
  border-color:rgba(218,232,255,.56);
  background:
    radial-gradient(circle at 83% 16%,rgba(123,223,255,.26),transparent 18%),
    radial-gradient(circle at 78% 58%,rgba(23,155,255,.22),transparent 32%),
    linear-gradient(108deg,#01040a 0%,#061126 48%,#02224b 100%);
}
.hero-card:before{
  content:"";
  position:absolute;
  right:15px;
  bottom:26px;
  width:168px;
  height:112px;
  background:
    radial-gradient(ellipse at 46% 52%,rgba(123,223,255,.62),transparent 62%);
  clip-path:polygon(7% 51%,20% 29%,42% 12%,70% 12%,94% 32%,82% 49%,64% 56%,50% 78%,35% 94%,24% 82%,18% 64%);
  opacity:.82;
  filter:drop-shadow(0 0 15px rgba(123,223,255,.55));
}
.hero-card:after{
  content:"";
  position:absolute;
  right:34px;
  bottom:52px;
  width:106px;
  height:42px;
  border-radius:50%;
  border-top:1.3px solid rgba(123,223,255,.75);
  transform:rotate(-17deg);
  opacity:.85;
}
.balance-label{
  color:var(--blue);
  font-size:14px;
  font-weight:650;
  position:relative;
  z-index:2;
}
.big-balance{
  position:relative;
  z-index:2;
  font-size:37px;
  line-height:1.02;
  font-weight:830;
  margin:30px 0 17px;
  letter-spacing:-1.4px;
  text-shadow:0 0 14px rgba(123,223,255,.24);
}
.valuation{
  position:relative;
  z-index:2;
  font-size:15px;
  font-weight:650;
  color:#d7f4ff;
}
.hero-meta{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-top:24px;
  max-width:224px;
}
.hero-meta div+div{
  border-left:1px solid rgba(218,232,255,.28);
  padding-left:16px;
}
.hero-meta small{
  display:block;
  color:#a8b4c8;
  font-size:12px;
  margin-bottom:5px;
  font-weight:400;
}
.hero-meta b{
  font-size:15px;
  font-weight:700;
}

/* Address */
.address-title{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:18px;
  font-weight:760;
  letter-spacing:-.045em;
}
.address-title i{
  width:26px;
  height:26px;
  border-radius:8px;
  background:linear-gradient(135deg,#7c3cff,#2196ff);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-style:normal;
  font-size:13px;
  box-shadow:0 0 14px rgba(155,107,255,.35);
}
.address{
  width:100%;
  word-break:break-all;
  background:rgba(0,0,0,.35);
  border:1px solid rgba(218,232,255,.42);
  border-radius:13px;
  padding:13px;
  color:#f5f8ff;
  font-size:15px;
  line-height:1.35;
  margin-top:12px;
  letter-spacing:.01em;
}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}

/* Token status */
.status-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:12px;
}
.status-box{
  min-height:84px;
  border:1px solid var(--line);
  border-radius:14px;
  padding:13px;
  background:rgba(1,4,12,.66);
}
.status-box.blue{border-color:rgba(56,189,248,.62)}
.status-box.red{border-color:rgba(255,117,96,.62)}
.status-box.gold{border-color:rgba(245,200,76,.62)}
.status-box.green{border-color:rgba(54,223,131,.62)}
.status-box small{
  display:block;
  font-size:11.5px;
  margin-bottom:8px;
  font-weight:500;
}
.status-box.blue small,.status-box.blue b{color:#85ddff}
.status-box.red small,.status-box.red b{color:#ff9a86}
.status-box.gold small,.status-box.gold b{color:#f9d869}
.status-box.green small,.status-box.green b{color:#78f0a8}
.status-box b{
  display:block;
  font-size:14.5px;
  line-height:1.32;
  font-weight:730;
}
.allocation-summary{
  margin-top:12px;
  border:1px solid rgba(218,232,255,.35);
  border-radius:14px;
  display:grid;
  grid-template-columns:1fr 1fr;
  overflow:hidden;
  background:rgba(0,0,0,.24);
}
.allocation-summary div{padding:13px}
.allocation-summary div+div{border-left:1px solid rgba(218,232,255,.25)}
.allocation-summary small{
  color:var(--muted);
  display:block;
  margin-bottom:6px;
  font-size:12px;
}
.allocation-summary b{
  color:var(--gold);
  font-size:16px;
  font-weight:780;
}

/* Main menu */
.menu{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
}
.menu a{
  min-height:96px;
  border:1px solid var(--line);
  border-radius:14px;
  color:#fff;
  text-decoration:none;
  background:rgba(1,4,12,.58);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-align:center;
}
.menu a span{
  font-size:25px;
  color:var(--blue);
  text-shadow:0 0 12px rgba(23,155,255,.6);
}
.menu a b{
  font-size:12.5px;
  font-weight:720;
}
.menu small{
  font-size:10px;
  color:var(--muted);
  line-height:1.2;
}

.info-row{
  display:flex;
  justify-content:space-between;
  gap:14px;
  padding:12px 0;
  border-bottom:1px solid rgba(218,232,255,.20);
}
.info-row:last-child{border-bottom:0}
.info-row span{
  color:var(--muted);
  font-size:12.5px;
  font-weight:400;
}
.info-row b{
  text-align:right;
  font-size:13.5px;
  font-weight:700;
}
.tag{
  display:inline-flex;
  padding:5px 9px;
  border-radius:999px;
  color:#85ddff;
  border:1px solid rgba(56,189,248,.5);
  background:rgba(56,189,248,.08);
  font-size:11px;
  font-weight:700;
}
.tag.green{
  border-color:rgba(54,223,131,.5);
  color:#78f0a8;
  background:rgba(54,223,131,.08);
}
.qr{
  width:198px;
  height:198px;
  margin:18px auto;
  border-radius:12px;
  background:#fff;
  border:12px solid #fff;
  background-image:linear-gradient(90deg,#111 12px,transparent 12px),linear-gradient(#111 12px,transparent 12px);
  background-size:24px 24px;
}
.tx{
  display:grid;
  grid-template-columns:40px 1fr auto;
  gap:10px;
  align-items:center;
  padding:13px 0;
  border-bottom:1px solid rgba(218,232,255,.20);
}
.tx-ico{
  width:36px;
  height:36px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(23,155,255,.58);
  color:var(--cyan);
  font-size:13px;
}
.date{
  color:var(--muted);
  font-size:11.5px;
  margin-top:4px;
}
.amount{
  color:var(--gold);
  font-weight:780;
  text-align:right;
  font-size:13px;
}
.bottom{
  position:fixed;
  left:50%;
  bottom:10px;
  transform:translateX(-50%);
  width:min(372px,calc(100% - 18px));
  height:74px;
  background:rgba(0,0,0,.82);
  border:1.2px solid var(--line-strong);
  border-radius:20px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  align-items:center;
  backdrop-filter:blur(18px);
  box-shadow:0 -6px 28px rgba(0,0,0,.35),0 0 18px rgba(23,155,255,.10);
}
.nav{
  text-decoration:none;
  color:#93a0b5;
  text-align:center;
  font-size:10.5px;
  font-weight:500;
}
.nav span{
  display:block;
  font-size:20px;
  margin-bottom:4px;
}
.nav.active{
  color:var(--blue);
}
.tabs{
  display:flex;
  gap:8px;
  overflow:auto;
  margin-bottom:16px;
}
.tab{
  padding:9px 13px;
  border-radius:13px;
  background:rgba(255,255,255,.025);
  border:1px solid rgba(218,232,255,.35);
  color:#d5deec;
  text-decoration:none;
  font-size:12.5px;
}
.tab.active{
  background:linear-gradient(135deg,#1398ff,#0067ff);
  color:#fff;
  font-weight:760;
}
.table-wrap{overflow:auto}
.table{
  width:100%;
  border-collapse:collapse;
  min-width:900px;
}
.table th,.table td{
  padding:12px;
  border-bottom:1px solid rgba(218,232,255,.18);
  text-align:left;
  white-space:nowrap;
}
.table th{
  color:#9ca8bc;
  font-size:12px;
  font-weight:600;
}
.footer-note{
  color:var(--muted);
  font-size:12px;
  margin-top:20px;
}
.admin-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:18px;
}
.admin-logo{
  height:58px;
  width:auto;
  filter:drop-shadow(0 0 16px rgba(23,155,255,.55));
}
@media(max-width:760px){
  .wrap{padding:16px}
  .grid4{grid-template-columns:1fr 1fr}
}
@media(max-width:430px){
  .phone{width:100%}
  .big-balance{font-size:35px}
  .hero-card{min-height:210px}
  .hero-card:before{width:150px;height:104px;right:12px}
  .menu{grid-template-columns:repeat(4,1fr);gap:8px}
  .menu a{min-height:90px}
}
