/* ============ 超级管理员后台 ============ */

.adm-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;
  margin-bottom:16px}
.adm-title{font-size:1.15rem;font-weight:800;color:var(--ink,#0F2540)}
.adm-sub{font-size:.76rem;color:var(--text-3,#94A3B8);margin-top:3px}
.adm-tabs{display:flex;gap:6px;flex-wrap:wrap;background:#fff;padding:5px;border-radius:12px;
  border:1px solid var(--line,#E3E8EF)}
.adm-tab{padding:8px 16px;border:0;background:none;border-radius:8px;cursor:pointer;
  font-size:.8rem;font-weight:600;color:var(--text-2,#64748B);transition:all .22s var(--ease);
  font-family:inherit;white-space:nowrap}
.adm-tab:hover{background:#F8FAFC;color:var(--ink,#0F2540)}
.adm-tab.on{background:linear-gradient(135deg,#0F2540,#1E3E63);color:#F3D98B;
  box-shadow:0 3px 10px rgba(15,37,64,.2)}
.adm-tab.sm{padding:5px 12px;font-size:.74rem}

.adm-count{font-size:.72rem;font-weight:600;color:var(--text-3,#94A3B8);
  font-variant-numeric:tabular-nums}

/* ---------- 统计卡片 ---------- */
.adm-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}
.adm-card{background:#fff;border:1px solid var(--line,#E3E8EF);border-radius:13px;padding:14px 16px;
  position:relative;overflow:hidden;transition:all .24s var(--ease)}
.adm-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px}
.adm-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(15,37,64,.08)}
.adm-card.c-blue::before{background:#185FA5}
.adm-card.c-teal::before{background:#1D9E75}
.adm-card.c-green::before{background:#639922}
.adm-card.c-red::before{background:#A32D2D}
.adm-card.c-gold::before{background:#C9A24B}
.adm-card.c-purple::before{background:#534AB7}
.adm-card-l{font-size:.74rem;color:var(--text-3,#94A3B8);margin-bottom:6px}
.adm-card-v{font-size:1.55rem;font-weight:800;color:var(--ink,#0F2540);line-height:1;
  font-variant-numeric:tabular-nums}
.adm-card-v i{font-size:.7rem;font-weight:600;color:var(--text-3,#94A3B8);font-style:normal;margin-left:3px}

.adm-two{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
@media (max-width:900px){ .adm-two{grid-template-columns:1fr} }

/* ---------- 趋势柱 ---------- */
.adm-trend{display:flex;align-items:flex-end;gap:8px;height:130px;margin-top:14px}
.trend-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;
  height:100%;gap:5px}
.trend-n{font-size:.66rem;font-weight:700;color:var(--text-3,#94A3B8);font-variant-numeric:tabular-nums}
.trend-bar{width:100%;max-width:38px;border-radius:5px 5px 2px 2px;min-height:4px;
  background:linear-gradient(180deg,#2C5C8F,#0F2540);transition:height .5s var(--ease)}
.trend-l{font-size:.62rem;color:var(--text-3,#94A3B8);font-variant-numeric:tabular-nums}

/* ---------- 环形图 ---------- */
.adm-ring{display:flex;align-items:center;gap:20px;margin-top:12px;flex-wrap:wrap;justify-content:center}
.adm-legend{display:flex;flex-direction:column;gap:9px}
.adm-legend div{display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--text-2,#64748B)}
.adm-legend i{width:11px;height:11px;border-radius:3px;flex-shrink:0}
.adm-legend b{color:var(--ink,#0F2540);font-variant-numeric:tabular-nums;margin-left:auto}

/* ---------- 工具栏 ---------- */
.adm-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  margin-bottom:14px}
.adm-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.adm-search{padding:8px 13px;border:1px solid var(--line,#E3E8EF);border-radius:9px;
  font-size:.8rem;outline:none;min-width:220px;transition:all .22s var(--ease);font-family:inherit}
.adm-search:focus{border-color:#C9A24B;box-shadow:0 0 0 3px rgba(201,162,75,.13)}
.adm-filters{display:flex;gap:4px;background:#F8FAFC;padding:3px;border-radius:9px}

/* ---------- 表格 ---------- */
.adm-table-wrap{overflow-x:auto;border-radius:11px;border:1px solid var(--line,#E3E8EF)}
.adm-table{width:100%;border-collapse:collapse;font-size:.8rem;min-width:760px}
.adm-table th{background:#FAFBFC;padding:11px 14px;text-align:left;font-weight:700;
  color:var(--text-2,#64748B);font-size:.74rem;white-space:nowrap;
  border-bottom:1px solid var(--line,#E3E8EF)}
.adm-table td{padding:11px 14px;border-bottom:1px solid #F1F5F9;vertical-align:middle}
.adm-table tbody tr:last-child td{border-bottom:0}
.adm-table tbody tr:hover{background:#FAFBFC}
.adm-table .mono{font-family:var(--font-mono,ui-monospace,monospace);font-size:.76rem;
  letter-spacing:.02em}
.adm-table .mono.strong{font-weight:700;color:var(--ink,#0F2540)}
.adm-table .dim{color:var(--text-3,#94A3B8);font-size:.76rem}

.adm-user{display:flex;align-items:center;gap:10px}
.adm-ava{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#0F2540,#1E3E63);color:#F3D98B;font-weight:700;font-size:.8rem;
  flex-shrink:0}
.adm-uname{font-weight:600;color:var(--ink,#0F2540);font-size:.82rem}
.adm-uid{font-size:.7rem;color:var(--text-3,#94A3B8);margin-top:1px}
.tag-self{font-style:normal;font-size:.6rem;padding:1px 5px;border-radius:999px;
  background:#E6F1FB;color:#185FA5;font-weight:700;margin-left:5px}

.badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:.68rem;font-weight:700;
  white-space:nowrap}
.badge.b-green{background:#E1F5EE;color:#0F6E56}
.badge.b-red{background:#FCEBEB;color:#A32D2D}
.badge.b-gold{background:#FAEEDA;color:#854F0B}
.badge.b-gray{background:#F1EFE8;color:#5F5E5A}
.badge.b-amber{background:#FEF3E2;color:#BA7517}
.badge.b-blue{background:#E6F1FB;color:#185FA5}

/* ---------- 行内操作 ---------- */
.adm-ops{display:flex;gap:5px;justify-content:flex-end;flex-wrap:wrap}
.op{padding:4px 9px;border:1px solid var(--line,#E3E8EF);background:#fff;border-radius:7px;
  font-size:.7rem;color:var(--text-2,#64748B);cursor:pointer;transition:all .18s;
  white-space:nowrap;font-family:inherit}
.op:hover{border-color:#C9A24B;color:#B08A2E;background:#FBFAF6}
.op.warn:hover{border-color:#EF9F27;color:#BA7517;background:#FEF9F0}
.op.danger:hover{border-color:#F09595;color:#A32D2D;background:#FDF0EF}
.adm-locked{font-size:.7rem;color:var(--text-3,#94A3B8);font-style:italic}

/* ---------- 邀请码生成 ---------- */
.inv-gen{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-top:12px}
.inv-gen label{display:flex;flex-direction:column;gap:5px;font-size:.72rem;font-weight:600;
  color:var(--text-2,#64748B)}
.inv-gen label i{font-style:normal;font-weight:400;color:var(--text-3,#94A3B8)}
.inv-gen input,.inv-gen select{padding:8px 11px;border:1px solid var(--line,#E3E8EF);border-radius:9px;
  font-size:.8rem;outline:none;transition:all .22s var(--ease);font-family:inherit;background:#fff}
.inv-gen input:focus,.inv-gen select:focus{border-color:#C9A24B;box-shadow:0 0 0 3px rgba(201,162,75,.13)}
.inv-gen input[type=number]{width:88px}
.inv-gen input[type=text]{min-width:160px}
.inv-gen .btn{margin-left:auto}

/* ---------- 题库统计条 ---------- */
.bank-bars{display:flex;flex-direction:column;gap:11px;margin-top:14px}
.bank-row{display:flex;align-items:center;gap:11px}
.bank-lb{width:76px;flex-shrink:0;font-size:.78rem;color:var(--text-2,#64748B)}
.bank-track{flex:1;height:9px;background:#F1F5F9;border-radius:999px;overflow:hidden}
.bank-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#0F2540,#2C5C8F);
  transition:width .6s var(--ease)}
.bank-fill.c-blue{background:linear-gradient(90deg,#185FA5,#378ADD)}
.bank-fill.c-purple{background:linear-gradient(90deg,#534AB7,#7F77DD)}
.bank-fill.c-teal{background:linear-gradient(90deg,#1D9E75,#5DCAA5)}
.bank-fill.c-gold{background:linear-gradient(90deg,#C9A24B,#E0BC6C)}
.bank-n{width:46px;text-align:right;font-size:.78rem;font-weight:700;color:var(--ink,#0F2540);
  font-variant-numeric:tabular-nums;flex-shrink:0}

/* ---------- 危险按钮 ---------- */
.btn-danger{background:var(--red,#D0342C);color:#fff;border-color:var(--red,#D0342C)}
.btn-danger:hover{background:#B52A23;border-color:#B52A23}

/* ---------- 手机端 ---------- */
@media (max-width:768px){
  .adm-head{flex-direction:column;align-items:stretch}
  .adm-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}
  .adm-cards{grid-template-columns:repeat(2,1fr)}
  .adm-bar{flex-direction:column;align-items:stretch}
  .adm-actions{flex-direction:column;align-items:stretch}
  .adm-search{min-width:0;width:100%}
  .adm-ops{justify-content:flex-start}
  .inv-gen .btn{margin-left:0;width:100%}
  .inv-gen input[type=text]{min-width:0;flex:1}
  .bank-lb{width:62px;font-size:.74rem}
}
