/* HIVE - mobile-first dark mining app */
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{background:#05070f;font-family:'Segoe UI',Roboto,-apple-system,Helvetica,Arial,sans-serif;color:var(--text,#eef1ff)}
body{min-height:100vh}
a{text-decoration:none;color:inherit}
input,select,textarea,button{font-family:inherit;font-size:15px}

.phone{max-width:480px;margin:0 auto;min-height:100vh;position:relative;
  background:var(--bg,#070b1c);
  background-image:radial-gradient(900px 380px at 15% -8%,rgba(124,77,255,.30),transparent 60%),
                   radial-gradient(700px 340px at 100% 6%,rgba(0,224,184,.14),transparent 62%);
  background-attachment:fixed;padding-bottom:86px;overflow-x:hidden}

/* ---------- top bar ---------- */
.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;
  padding:12px 14px;backdrop-filter:blur(14px);background:rgba(7,11,28,.78);
  border-bottom:1px solid rgba(255,255,255,.07)}
.brand{display:flex;align-items:center;gap:8px}
.logo-img{height:30px;width:auto;display:block}
.logo-hex{font-size:24px;color:var(--accent);line-height:1;filter:drop-shadow(0 0 8px var(--accent))}
.brand-text{font-weight:800;letter-spacing:3px;font-size:19px}
.topbar-right{display:flex;align-items:center;gap:8px}
.icon-btn{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);font-size:15px}
.lang-select{position:relative}
.lang-btn{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);color:var(--text);
  padding:7px 10px;border-radius:20px;font-size:12.5px;cursor:pointer}
.caret{opacity:.7;font-size:10px}
.lang-menu{display:none;position:absolute;right:0;top:38px;background:#141b3c;border:1px solid rgba(255,255,255,.12);
  border-radius:12px;overflow:hidden;min-width:140px;box-shadow:0 16px 40px rgba(0,0,0,.55);z-index:60}
.lang-menu.open{display:block}
.lang-menu a{display:block;padding:11px 14px;font-size:14px;border-bottom:1px solid rgba(255,255,255,.06)}
.lang-menu a:last-child{border-bottom:0}
.lang-menu a.active{color:var(--accent);font-weight:700}

.content{padding:14px}

/* ---------- cards / generic ---------- */
.card{background:var(--card,#101736);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:16px;margin-bottom:14px;
  box-shadow:0 10px 30px rgba(0,0,0,.28)}
.card-title{font-size:15px;font-weight:800;letter-spacing:.5px;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.card-title:before{content:'';width:4px;height:16px;border-radius:3px;background:linear-gradient(var(--primary),var(--accent))}
.muted{color:#93a0c8;font-size:13px}
.row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.mt{margin-top:12px}.mb{margin-bottom:12px}
.center{text-align:center}
.small{font-size:12px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.pill{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700}
.pill.pending{background:rgba(255,193,7,.16);color:#ffc107}
.pill.approved{background:rgba(0,224,184,.16);color:var(--accent)}
.pill.rejected{background:rgba(255,77,109,.16);color:#ff4d6d}

/* ---------- hero balance ---------- */
.hero{border-radius:22px;padding:18px;margin-bottom:14px;
  background:linear-gradient(135deg,var(--primary),#3a1d8a 55%,#101736);
  border:1px solid rgba(255,255,255,.14);position:relative;overflow:hidden}
.hero:after{content:'';position:absolute;right:-40px;top:-60px;width:190px;height:190px;border-radius:50%;
  background:radial-gradient(circle,rgba(0,224,184,.35),transparent 70%)}
.hero .label{font-size:12.5px;opacity:.85}
.hero .big{font-size:34px;font-weight:800;margin-top:4px;letter-spacing:.5px}
.hero .wallets{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;position:relative;z-index:2}
.hero .wallets div{background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:10px 12px}
.hero .wallets b{display:block;font-size:17px;margin-top:3px}

/* ---------- quick action icons ---------- */
.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;text-align:center}
.quick a{display:block;padding:6px 2px}
.quick .ico{width:48px;height:48px;margin:0 auto 6px;border-radius:16px;display:grid;place-items:center;font-size:20px;
  background:linear-gradient(150deg,rgba(124,77,255,.35),rgba(0,224,184,.18));border:1px solid rgba(255,255,255,.14)}
.quick span{font-size:12px;color:#c8cfe8}

/* ---------- stats ---------- */
.stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.stat{background:var(--card);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:14px;text-align:center}
.stat b{display:block;font-size:20px;margin-top:4px;color:var(--accent)}

/* ---------- ticker ---------- */
.ticker{overflow:hidden;white-space:nowrap;border-radius:12px;background:rgba(255,255,255,.05);padding:9px 0;
  border:1px solid rgba(255,255,255,.07)}
.ticker span{display:inline-block;padding-left:100%;animation:scroll 26s linear infinite;font-size:13px}
@keyframes scroll{0%{transform:translateX(0)}100%{transform:translateX(-100%)}}
.log-list{max-height:170px;overflow:hidden}
.log-list div{padding:9px 0;border-bottom:1px dashed rgba(255,255,255,.09);font-size:13.5px}
.log-list b{color:var(--accent)}

/* ---------- prices ---------- */
.coin{margin-bottom:12px}
.coin-head{display:flex;align-items:center;gap:8px;font-weight:800;margin-bottom:8px}
.coin-dot{width:24px;height:24px;border-radius:50%;background:linear-gradient(var(--primary),var(--accent));
  display:grid;place-items:center;font-size:10px;font-weight:800;color:#06102a}
.ex{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:10px}
.ex .name{font-size:11px;color:#93a0c8;letter-spacing:1px}
.ex .val{font-size:15px;font-weight:700;margin-top:3px}
.up{color:#00e0b8;font-size:11.5px}.down{color:#ff4d6d;font-size:11.5px}

/* ---------- forms ---------- */
.field{margin-bottom:13px}
.field label{display:block;font-size:12.5px;color:#a8b3d6;margin-bottom:6px}
.input,input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],select,textarea{
  width:100%;padding:13px 14px;border-radius:13px;background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.13);color:var(--text);outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(124,77,255,.18)}
select option{background:#101736;color:#fff}
.btn{display:block;width:100%;padding:14px;border:0;border-radius:14px;font-weight:800;letter-spacing:1px;cursor:pointer;
  background:linear-gradient(135deg,var(--primary),#5b2ee0);color:#fff;box-shadow:0 10px 24px rgba(124,77,255,.35)}
.btn:active{transform:translateY(1px)}
.btn-ghost{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);box-shadow:none}
.btn-accent{background:linear-gradient(135deg,var(--accent),#00a98d);color:#04211c}
.btn-sm{width:auto;display:inline-block;padding:9px 14px;font-size:13px;border-radius:11px}
.tabs{display:flex;background:rgba(255,255,255,.06);border-radius:14px;padding:4px;margin-bottom:16px}
.tabs button,.tabs a{flex:1;padding:10px;border:0;background:transparent;color:#a8b3d6;border-radius:11px;cursor:pointer;text-align:center;font-size:14px}
.tabs .on{background:var(--primary);color:#fff;font-weight:700}
.check{display:flex;align-items:center;gap:9px;font-size:13px;color:#c0c9e6;margin:12px 0}
.check input{width:17px;height:17px;accent-color:var(--primary)}
.pin-row{display:flex;gap:9px;justify-content:space-between}
.pin-row input{text-align:center;font-size:20px;padding:12px 0;letter-spacing:2px}

/* ---------- auth ---------- */
.auth-wrap{padding:26px 18px 40px;text-align:center}
.auth-logo{font-size:52px;color:var(--accent);filter:drop-shadow(0 0 16px rgba(0,224,184,.55))}
.auth-title{font-size:32px;font-weight:800;letter-spacing:8px;margin:6px 0 22px}
.auth-card{background:var(--card);border:1px solid rgba(255,255,255,.09);border-radius:22px;padding:20px;text-align:left;
  box-shadow:0 20px 50px rgba(0,0,0,.45)}
.auth-alt{margin-top:16px;font-size:13.5px;color:#a8b3d6}
.auth-alt a{color:var(--accent);font-weight:700}

/* ---------- lists ---------- */
.list{background:var(--card);border:1px solid rgba(255,255,255,.08);border-radius:18px;overflow:hidden}
.list a,.list .item{display:flex;align-items:center;justify-content:space-between;padding:15px 16px;
  border-bottom:1px solid rgba(255,255,255,.06);font-size:14.5px}
.list a:last-child,.list .item:last-child{border-bottom:0}
.list .arrow{color:#6c78a3}
.method{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.06);cursor:pointer}
.method:last-child{border-bottom:0}
.method .m-ico{width:38px;height:38px;border-radius:12px;background:linear-gradient(150deg,rgba(124,77,255,.4),rgba(0,224,184,.25));
  display:grid;place-items:center;font-size:12px;font-weight:800}
.method.sel{background:rgba(124,77,255,.16)}
.table{width:100%;border-collapse:collapse;font-size:13px}
.table th{text-align:left;color:#93a0c8;font-weight:600;padding:9px 8px;border-bottom:1px solid rgba(255,255,255,.1)}
.table td{padding:10px 8px;border-bottom:1px solid rgba(255,255,255,.06)}

/* ---------- vip cards ---------- */
.vip-card{background:linear-gradient(140deg,rgba(124,77,255,.28),var(--card) 60%);border:1px solid rgba(255,255,255,.12);
  border-radius:20px;padding:16px;margin-bottom:14px;position:relative;overflow:hidden}
.vip-card h3{font-size:17px;margin-bottom:10px}
.vip-line{display:flex;justify-content:space-between;font-size:13.5px;padding:5px 0;color:#cfd6ee}
.vip-line b{color:#fff}
.rebate{margin-top:10px;font-size:12px;color:#a8b3d6;background:rgba(0,0,0,.25);border-radius:10px;padding:8px 10px}

/* ---------- mining ---------- */
.rig{border-radius:22px;padding:22px;text-align:center;background:radial-gradient(circle at 50% 20%,rgba(124,77,255,.4),var(--card) 65%);
  border:1px solid rgba(255,255,255,.13);margin-bottom:14px}
.rig .hash{font-size:38px;font-weight:800;color:var(--accent);text-shadow:0 0 22px rgba(0,224,184,.5)}
.rig .unit{font-size:13px;color:#a8b3d6;margin-top:4px}
.pulse{width:110px;height:110px;margin:8px auto 14px;border-radius:50%;border:2px solid rgba(0,224,184,.4);
  display:grid;place-items:center;font-size:38px;animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(0,224,184,.35)}50%{box-shadow:0 0 0 18px rgba(0,224,184,0)}}

/* ---------- tab bar ---------- */
.tabbar{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;z-index:50;
  display:grid;grid-template-columns:repeat(5,1fr);background:rgba(10,15,36,.96);
  border-top:1px solid rgba(255,255,255,.09);backdrop-filter:blur(12px);padding:8px 0 10px}
.tabbar a{text-align:center;color:#7f8cb5;font-size:11px;display:block}
.tabbar i{display:block;font-style:normal;font-size:20px;margin-bottom:2px}
.tabbar a.on{color:var(--accent)}

.cs-float{position:fixed;right:calc(50% - 240px + 14px);bottom:98px;width:50px;height:50px;border-radius:50%;z-index:45;
  background:linear-gradient(135deg,var(--primary),var(--accent));display:grid;place-items:center;font-size:22px;
  box-shadow:0 10px 26px rgba(0,0,0,.5)}
@media(max-width:500px){.cs-float{right:14px}}

.flash{margin:10px 14px 0;padding:11px 14px;border-radius:12px;font-size:13.5px}
.flash-ok{background:rgba(0,224,184,.14);border:1px solid rgba(0,224,184,.4);color:#7ff3dd}
.flash-err{background:rgba(255,77,109,.14);border:1px solid rgba(255,77,109,.4);color:#ffa8b8}

.qr{background:#fff;padding:10px;border-radius:16px;display:inline-block}
.code-box{display:flex;align-items:center;justify-content:space-between;gap:10px;background:rgba(255,255,255,.06);
  border:1px dashed rgba(255,255,255,.25);border-radius:13px;padding:12px 14px;word-break:break-all;font-size:13px}

/* ---------- admin ---------- */
.admin body{background:#0d1220}
.adm{max-width:1200px;margin:0 auto;padding:0}
.adm-top{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:#101736;
  border-bottom:1px solid rgba(255,255,255,.1);position:sticky;top:0;z-index:30}
.adm-wrap{display:flex;min-height:calc(100vh - 60px)}
.adm-side{width:225px;flex:none;background:#0c1230;border-right:1px solid rgba(255,255,255,.08);padding:12px 0}
.adm-side a{display:block;padding:11px 18px;font-size:14px;color:#b7c0e0;border-left:3px solid transparent}
.adm-side a.on,.adm-side a:hover{background:rgba(124,77,255,.16);color:#fff;border-left-color:var(--accent)}
.adm-main{flex:1;padding:18px;min-width:0;overflow-x:auto}
.adm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.adm h1{font-size:20px;margin-bottom:14px}
.adm h2{font-size:16px;margin:20px 0 10px}
.adm .table td,.adm .table th{white-space:nowrap}
.adm-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
@media(max-width:820px){.adm-side{width:64px}.adm-side a{font-size:10px;padding:10px 6px;text-align:center}}
