/* ============================================================
   zg_auth.css · 账号/合规页星际皮肤（与 zg_game.css 同一设计语言）
   深空星海底 + 硬阴影面板 + 青/紫/金点缀。命名空间 .zg-page。
   ============================================================ */
.zg-page{
  --out:#0B0F34; --panel:#2A3690; --panel2:#3745AC; --dk:#1C2468; --deep:#141B52;
  --cy:#3EE8FF; --bl:#5C86FF; --pu:#B76BFF; --gd:#FFCD3D; --gn:#2BF0B3; --rd:#FF5C85;
  --ink:#F4F7FF; --dim:#CFD7FB;
  --shadow:5px 5px 0 rgba(2,4,16,.68); --shadow-sm:3px 3px 0 rgba(2,4,16,.6);
  position:relative; min-height:100vh; margin:0;
  background:#1A2160; color:var(--ink);
  font:14px/1.65 "HarmonyOS Sans SC","PingFang SC","Microsoft YaHei",system-ui,-apple-system,sans-serif;
  -webkit-font-smoothing:antialiased;
}
.zg-page::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:
    radial-gradient(1.6px 1.6px at 40px 60px,#fff,transparent),
    radial-gradient(1.2px 1.2px at 130px 38px,#8FF3FF,transparent),
    radial-gradient(2px 2px at 206px 168px,#fff,transparent),
    radial-gradient(1.4px 1.4px at 84px 214px,#FFD98A,transparent),
    radial-gradient(1.3px 1.3px at 240px 92px,#FFB8DC,transparent),
    radial-gradient(1.2px 1.2px at 168px 248px,#8CFFD9,transparent);
  background-size:280px 280px;opacity:.5}
.zg-page::after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(circle 480px at 2% -4%,rgba(62,232,255,.17) 0 99.5%,transparent 100%),
    radial-gradient(circle 560px at 104% 16%,rgba(183,107,255,.17) 0 99.5%,transparent 100%),
    radial-gradient(circle 520px at 98% 94%,rgba(255,122,184,.14) 0 99.5%,transparent 100%),
    radial-gradient(circle 580px at 4% 104%,rgba(43,240,179,.12) 0 99.5%,transparent 100%)}
.zg-page .zg-wrap{position:relative;z-index:1}

/* ---------- 顶部导航 ---------- */
.zg-nav{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:14px;
  padding:11px 24px;background:var(--dk);border-bottom:2px solid var(--out);
  box-shadow:0 3px 0 rgba(61,232,255,.55)}
.zg-nav .logo{font-weight:800;font-size:15px;letter-spacing:.5px;color:var(--ink);
  text-decoration:none;display:flex;align-items:center;gap:8px;margin-right:auto}
.zg-nav .logo .dot{width:26px;height:26px;border-radius:9px;display:inline-flex;align-items:center;
  justify-content:center;background:var(--cy);color:var(--out);font-size:14px;
  border:2px solid var(--out);box-shadow:inset -4px -4px 0 0 #1FB6D6,2px 2px 0 rgba(2,4,16,.6)}
.zg-nav a.zg-link{color:var(--dim);text-decoration:none;font-size:13px;font-weight:700;
  padding:6px 12px;border-radius:10px;border:2px solid transparent}
.zg-nav a.zg-link:hover{color:var(--cy);border-color:var(--out);background:var(--panel2)}

/* ---------- 面板 / 卡片 ---------- */
.zg-card{background:var(--panel);border:2px solid var(--out);border-radius:16px;
  box-shadow:var(--shadow);padding:22px 24px;margin-bottom:18px}
.zg-card h2{margin:0 0 4px;font-size:17px;color:var(--ink);display:flex;align-items:center;gap:8px}
.zg-card h2 .z-ic{width:26px;height:26px;border-radius:8px;background:var(--cy);color:var(--out);
  display:inline-flex;align-items:center;justify-content:center;font-size:13px;
  border:2px solid var(--out);box-shadow:inset -3px -3px 0 0 #1FB6D6}
.zg-card .sub{font-size:12.5px;color:var(--dim);margin:0 0 14px}
.zg-hero{display:flex;align-items:center;gap:16px}
.zg-avatar{width:58px;height:58px;flex:none;border-radius:18px;display:flex;align-items:center;
  justify-content:center;font-size:28px;border:2px solid var(--out);background:var(--cy);
  box-shadow:inset -6px -6px 0 0 #1FB6D6,var(--shadow-sm)}
.zg-hero b{font-size:17px;letter-spacing:.5px;display:block}
.zg-hero .tag{display:inline-block;margin-top:4px;font-size:11px;font-weight:800;
  padding:1px 10px;border-radius:99px;background:var(--dk);color:var(--cy);
  border:2px solid var(--out)}

/* ---------- 统计格 ---------- */
.zg-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.zg-stat{background:var(--deep);border:2px solid var(--out);border-radius:14px;
  padding:12px 14px;box-shadow:inset 0 0 0 1px rgba(61,232,255,.14)}
.zg-stat b{display:block;font-size:22px;color:var(--gd);font-variant-numeric:tabular-nums}
.zg-stat span{font-size:11.5px;color:var(--dim)}

/* ---------- 表单 ---------- */
.zg-field{margin-bottom:13px}
.zg-field label{display:block;font-size:12px;font-weight:800;color:var(--cy);
  letter-spacing:1px;margin-bottom:5px}
.zg-input{width:100%;padding:10px 13px;border-radius:12px;font:inherit;font-size:14px;
  color:var(--ink);background:var(--deep);border:2px solid var(--out);
  box-shadow:inset 0 2px 0 rgba(0,0,0,.4);outline:none}
.zg-input::placeholder{color:#7C87C9}
.zg-input:focus{border-color:var(--cy);box-shadow:0 0 0 3px rgba(62,232,255,.22),inset 0 2px 0 rgba(0,0,0,.4)}
.zg-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:100%;
  padding:11px 20px;border-radius:13px;font:inherit;font-size:14.5px;font-weight:800;
  cursor:pointer;color:var(--out);background:var(--cy);border:2px solid var(--out);
  box-shadow:var(--shadow-sm);transition:.15s;text-decoration:none}
.zg-btn:hover{transform:translate(-1px,-2px);box-shadow:var(--shadow)}
.zg-btn:active{transform:translate(1px,1px);box-shadow:1px 1px 0 rgba(2,4,16,.6)}
.zg-btn.gold{background:var(--gd)}
.zg-btn.ghost{background:var(--panel2);color:var(--ink)}
.zg-btn.ghost:hover{color:var(--cy)}
.zg-btn.warn{background:var(--rd);color:var(--ink)}
.zg-row{display:flex;gap:12px}
.zg-row>*{flex:1}
.zg-check{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;color:var(--dim);
  line-height:1.6;margin:4px 0 14px}
.zg-check input{margin-top:3px;accent-color:var(--cy);width:15px;height:15px}
.zg-check a{color:var(--cy);text-decoration:none;font-weight:700}
.zg-check a:hover{text-decoration:underline}

/* ---------- 提示条 ---------- */
.zg-alert{padding:10px 14px;border-radius:12px;font-size:13px;font-weight:700;margin-bottom:14px;
  border:2px solid var(--out)}
.zg-alert.bad{background:rgba(255,92,133,.16);color:var(--rd);box-shadow:inset 0 0 0 1px rgba(255,92,133,.35)}
.zg-alert.ok{background:rgba(43,240,179,.14);color:var(--gn);box-shadow:inset 0 0 0 1px rgba(43,240,179,.35)}

/* ---------- 选项卡 ---------- */
.zg-tabs{display:flex;gap:8px;background:var(--deep);padding:5px;border-radius:14px;
  border:2px solid var(--out);margin-bottom:18px}
.zg-tabs button{flex:1;padding:9px 0;border-radius:10px;font:inherit;font-size:13.5px;
  font-weight:800;cursor:pointer;color:var(--dim);background:transparent;border:2px solid transparent}
.zg-tabs button.on{background:var(--panel2);color:var(--cy);border-color:var(--out);
  box-shadow:2px 2px 0 rgba(2,4,16,.6)}

/* ---------- 表格 ---------- */
.zg-table{width:100%;border-collapse:collapse;font-size:13px}
.zg-table th{text-align:left;padding:8px 10px;color:var(--cy);font-size:11.5px;
  letter-spacing:1px;border-bottom:2px solid var(--out);white-space:nowrap}
.zg-table td{padding:8px 10px;border-bottom:1px solid rgba(74,90,208,.35);color:var(--ink)}
.zg-table tr:last-child td{border-bottom:none}
.zg-table .empty{color:var(--dim);text-align:center;padding:18px 0}
.zg-table .small{font-size:12px;color:var(--dim)}
.v-ac{color:var(--gn)} .v-wa{color:var(--rd)} .v-re,.v-tle,.v-ce{color:var(--gd)}

/* ---------- 管理端小组件 ---------- */
.zg-config-grid{display:grid;grid-template-columns:170px 1fr;gap:10px 14px;align-items:center}
.zg-config-grid label{font-size:13px;font-weight:700;color:var(--dim)}
.zg-config-grid .hint{font-size:11.5px;color:#7C87C9}
.inline{display:inline-flex;gap:6px;align-items:center}
.in-mini{width:110px;padding:6px 9px;border-radius:9px;font:inherit;font-size:12.5px;
  color:var(--ink);background:var(--deep);border:2px solid var(--out);outline:none}
.in-mini:focus{border-color:var(--cy)}
.btn-mini{padding:6px 12px;border-radius:9px;font:inherit;font-size:12px;font-weight:800;
  cursor:pointer;color:var(--out);background:var(--cy);border:2px solid var(--out);
  box-shadow:2px 2px 0 rgba(2,4,16,.6)}
.btn-mini:hover{transform:translate(-1px,-1px)}
.btn-mini.warn{background:var(--gd)}
.ops{white-space:nowrap}

/* ---------- 合规文档页 ---------- */
.zg-doc{max-width:860px}
.zg-doc h1{font-size:21px;margin:0 0 6px;color:var(--ink)}
.zg-doc .up{font-size:12px;color:var(--dim);margin-bottom:18px}
.zg-doc h3{font-size:15px;color:var(--cy);margin:20px 0 8px}
.zg-doc p,.zg-doc li{font-size:13.5px;color:var(--dim);line-height:1.9}
.zg-doc strong{color:var(--ink)}
.zg-doc ul{padding-left:22px}

/* ---------- 页脚 ---------- */
.zg-foot{position:relative;z-index:1;text-align:center;padding:26px 16px 34px;
  color:#7C87C9;font-size:12px;line-height:1.9}
.zg-foot a{color:var(--dim);text-decoration:none;margin:0 7px}
.zg-foot a:hover{color:var(--cy)}

/* ---------- 登录页布局 ---------- */
.zg-login{min-height:100vh;display:flex;flex-direction:column}
.zg-login .zg-main{flex:1;display:flex;align-items:center;justify-content:center;padding:34px 16px}
.zg-login .zg-card{width:100%;max-width:430px;padding:26px 28px}
.zg-brand{text-align:center;margin-bottom:16px}
.zg-brand .ship{width:64px;height:64px;margin:0 auto 10px;border-radius:20px;display:flex;
  align-items:center;justify-content:center;font-size:30px;background:var(--panel2);
  border:2px solid var(--out);box-shadow:inset -6px -6px 0 0 rgba(0,0,0,.28),var(--shadow-sm)}
.zg-brand h1{font-size:20px;margin:0;letter-spacing:1px}
.zg-brand p{margin:4px 0 0;font-size:12.5px;color:var(--dim)}
.zg-alt{text-align:center;font-size:12.5px;color:var(--dim);margin-top:14px}
.zg-alt a{color:var(--cy);font-weight:800;text-decoration:none;cursor:pointer}
.zg-alt a:hover{text-decoration:underline}
.zg-hide{display:none!important}

@media(max-width:640px){
  .zg-stats{grid-template-columns:repeat(2,1fr)}
  .zg-card{padding:18px 16px}
  .zg-config-grid{grid-template-columns:1fr}
}
