/* allnet.css — ALL.NET 服务页面（旧版主站 SPA）
   Layout 与新站 AllnetPage 统一：768px 容器 + 3 卡槽 Tab + 官方 my-aime 卡信息格式 */

.allnet-wrap {
  max-width: 768px;
  margin: 0 auto;
}

.allnet-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 16px;
  margin-bottom: 16px;
}

.allnet-card {
  background: #fff;
  border: 1px solid #e3e6ea;
  border-radius: 10px;
  padding: 16px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
.allnet-card--wide { grid-column: 1 / -1; }
.allnet-card__title {
  font-size: 15px;
  font-weight: 600;
  margin: 0 0 12px;
  padding-bottom: 8px;
  border-bottom: 2px solid #f0f2f5;
  color: #333;
}
.allnet-card__title i { color: #4a90d9; margin-right: 4px; }
.allnet-level-options { display:flex; flex-wrap:wrap; gap:12px 24px; border:0; padding:8px 0; margin:0; }
.allnet-level-options label { display:flex; align-items:center; gap:7px; cursor:pointer; }
.allnet-level-options input { margin:0; }
.allnet-level-options:disabled { opacity:.5; }
.allnet-level-note { font-size:13px; line-height:1.6; margin:10px 0; opacity:.8; }

/* 三态 */
.allnet-state { text-align: center; padding: 48px 16px; }
.allnet-state__icon { font-size: 42px; color: #c0c4cc; margin-bottom: 14px; }
.allnet-state__text { font-size: 15px; color: #606266; line-height: 1.9; }

/* 激活状态行 */
.allnet-activate-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 8px 4px; border-bottom: 1px dashed #f0f2f5;
}
.allnet-activate-row:last-child { border-bottom: none; }
.allnet-activate-row__name { font-weight: 600; font-size: 14px; }
.allnet-badge {
  font-size: 12px; padding: 3px 10px; border-radius: 12px; font-weight: 600;
}
.allnet-badge--on { background: #e8f7ee; color: #2e9e5b; }
.allnet-badge--off { background: #f4f4f5; color: #909399; }
.allnet-soon { font-weight: 400; font-size: 11px; }

/* ═══ Aime 卡槽 Tab（固定 3 槽） ═══ */
.allnet-tabs { display: flex; gap: 6px; margin-bottom: 12px; }
.allnet-tab {
  flex: 1; padding: 9px 0; text-align: center; cursor: pointer;
  background: #f4f6f8; border: 1px solid #e3e6ea; border-radius: 8px;
  font-weight: 600; font-size: 14px; color: #606266; transition: all 0.15s;
}
.allnet-tab small { display: block; font-size: 11px; font-weight: 400; opacity: 0.75; }
.allnet-tab.isActive {
  background: #4a90d9; color: #fff; border-color: #4a90d9;
}

/* ═══ 卡详情（官方 my-aime 信息格式） ═══ */
.allnet-carddetail { background: #fafbfc; border: 1px solid #eef0f2; border-radius: 8px; padding: 14px; }
.allnet-carddetail__head { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.allnet-carddetail__no { font-weight: 700; font-size: 15px; color: #333; }
.allnet-carddetail__main {
  background: #fff3d6; color: #b8860b; font-size: 11px; font-weight: 700;
  padding: 2px 8px; border-radius: 10px;
}

/* my-aime 信息区块：label 上 / value 下 */
.allnet-aimeinfo { background: #fff; border: 1px solid #eef0f2; border-radius: 8px; overflow: hidden; }
.allnet-aimeinfo__row { padding: 10px 14px; border-bottom: 1px solid #eef0f2; text-align: left; }
.allnet-aimeinfo__row:last-child { border-bottom: none; }
.allnet-aimeinfo__label { font-size: 12px; color: #909399; margin-bottom: 2px; }
.allnet-aimeinfo__code {
  font-family: Consolas, monospace; font-size: 17px; letter-spacing: 2px; color: #333;
}
.allnet-aimeinfo__value { font-size: 14px; color: #333; }
.allnet-aimeinfo__sub { font-size: 12px; color: #909399; margin-top: 2px; }

/* 备注名（官方下拉折叠 + 确定 / 取消） */
.allnet-remark {
  border: 1px solid #eef0f2; border-radius: 8px; margin-top: 10px;
  overflow: hidden; background: #fff;
}
.allnet-remark__toggle {
  width: 100%; display: flex; justify-content: space-between; align-items: center;
  padding: 10px 14px; background: none; border: none; cursor: pointer;
  font-size: 14px; color: #333; text-align: left;
}
.allnet-remark__toggle:hover { background: #f7f9fb; }
.allnet-remark__toggle em { font-style: normal; color: #909399; font-size: 13px; margin-left: 6px; }
.allnet-remark__toggle i { font-style: normal; color: #909399; font-size: 12px; }
.allnet-remark__body { padding: 0 14px 12px; }
.allnet-remark__body input {
  width: 100%; padding: 8px 10px; border: 1px solid #dcdfe6; border-radius: 6px;
  font-size: 14px; margin-bottom: 8px; box-sizing: border-box;
}
.allnet-remark__body input:focus { outline: none; border-color: #4a90d9; }
.allnet-remark__btns { display: flex; gap: 8px; }

/* 卡操作按钮行 */
.allnet-carddetail__ops, .allnet-mini { margin: 0; }
.allnet-carddetail__ops { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.allnet-mini {
  font-size: 13px; padding: 6px 14px; border: 1px solid #dcdfe6; background: #fff;
  border-radius: 6px; cursor: pointer; color: #606266; transition: all 0.15s;
}
.allnet-mini:hover { border-color: #4a90d9; color: #4a90d9; }
/* 解绑：红底白字 */
.allnet-mini--danger { color: #fff; background: #f56c6c; border-color: #f56c6c; font-weight: 500; }
.allnet-mini--danger:hover { background: #e05555; border-color: #e05555; color: #fff; }

.allnet-transferform {
  margin-top: 10px; padding: 12px; background: #fdf6ec;
  border: 1px solid #f5e0b8; border-radius: 6px;
}
.allnet-transferform .allnet-input { width: calc(100% - 96px); display: inline-block; }

/* 空卡槽（槽内绑定表单） */
.allnet-emptyslot {
  text-align: center; padding: 22px 14px;
  border: 1px dashed #dcdfe6; border-radius: 8px; background: #fff;
}
.allnet-emptyslot__title { font-size: 14px; color: #333; margin: 0 0 12px; font-weight: 600; }

.allnet-bindrow { display: flex; gap: 8px; margin: 0 0 8px; }
.allnet-input {
  flex: 1; padding: 8px 10px; border: 1px solid #dcdfe6; border-radius: 6px;
  font-size: 14px; font-family: Consolas, monospace;
}
.allnet-input--num { width: 64px; flex: none; text-align: center; }
.allnet-input:focus { outline: none; border-color: #4a90d9; }

.allnet-hint { font-size: 12px; color: #909399; margin-top: 8px; line-height: 1.6; }
.allnet-muted { color: #909399; font-size: 13px; }
.allnet-count {
  font-size: 12px; background: #f0f2f5; color: #606266;
  padding: 2px 8px; border-radius: 10px; margin-left: 6px; font-weight: 400;
}

/* ═══ 按钮体系（本页自绘，不依赖全局 btn） ═══ */
.allnet-btn {
  padding: 8px 20px; border: none; border-radius: 8px;
  background: #4a90d9; color: #fff; font-size: 14px; font-weight: 500;
  cursor: pointer; transition: all 0.15s;
}
.allnet-btn:hover { background: #3a80c9; }
.allnet-btn--amber { background: #e6a23c; }
.allnet-btn--amber:hover { background: #d0932f; }
.allnet-btn--danger { background: #f56c6c; }
.allnet-btn--danger:hover { background: #e05555; }
.allnet-btn--ghost { background: #fff; border: 1px solid #dcdfe6; color: #606266; }
.allnet-btn--ghost:hover { background: #f4f6f8; }
.allnet-btn--sm { padding: 6px 16px; font-size: 13px; }
.allnet-btn:disabled { opacity: 0.5; cursor: not-allowed; }

/* コース */
.allnet-course-state {
  display: flex; justify-content: space-between; align-items: center;
  background: #f8f9fb; border-radius: 8px; padding: 12px 16px; margin-bottom: 14px;
}
.allnet-course-state__label { font-size: 17px; font-weight: 700; }
.allnet-course-state.free .allnet-course-state__label { color: #909399; }
.allnet-course-state.standard .allnet-course-state__label { color: #4a90d9; }
.allnet-course-state.premium .allnet-course-state__label { color: #d4a017; }
.allnet-course-state__expire { font-size: 13px; color: #606266; }

.allnet-shop__row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 12px 8px; border-bottom: 1px dashed #f0f2f5; gap: 10px; flex-wrap: wrap;
}
.allnet-shop__row:last-child { border-bottom: none; }
.allnet-shop__row.is-disabled { opacity: 0.55; }
.allnet-shop__info { display: flex; flex-direction: column; gap: 2px; }
.allnet-shop__info b { font-size: 14px; }
.allnet-shop__info span { font-size: 12px; color: #909399; }
.allnet-shop__balance { color: #4a90d9; font-weight: 600; }
.allnet-shop__append { color: #d4a017; }
.allnet-shop__actions { display: flex; align-items: center; gap: 8px; }
.allnet-shop__unit { font-size: 13px; color: #606266; }
.allnet-shop__cancel { text-align: right; padding: 10px 8px 0; }

/* 复制按钮 */
.allnet-copy {
  font-size: 11px; padding: 3px 8px; border: 1px solid #dcdfe6; background: #fff;
  border-radius: 4px; cursor: pointer; color: #606266; margin-left: 8px;
}
.allnet-copy:hover { border-color: #4a90d9; color: #4a90d9; }

/* 服务器信息：浅底深字（与卡片风格一致，亮色清晰） */
.allnet-keychip { margin-bottom: 10px; }
.allnet-keychip__label { font-size: 12px; color: #909399; margin-bottom: 3px; }
.allnet-keychip__code {
  display: inline-block; font-family: Consolas, monospace; font-size: 14px;
  background: #f4f6f8; color: #333; border: 1px solid #e3e6ea;
  padding: 6px 12px; border-radius: 6px;
  vertical-align: middle;
}

@media (max-width: 768px) {
  .allnet-grid { grid-template-columns: 1fr; }
  .allnet-shop__row { flex-direction: column; align-items: flex-start; }
  .allnet-bindrow { flex-direction: column; }
  .allnet-bindrow .allnet-btn { width: 100%; }
}

/* Element Plus style message box, mounted directly under body. */
.allnet-wechat-code { font:600 24px monospace; letter-spacing:2px; overflow-wrap:anywhere; padding:14px; border:1px solid var(--border-color,#ddd); border-radius:8px; }
#allnet-wechat [hidden] { display:none !important; }
.allnet-message-overlay { position:fixed; inset:0; z-index:10010; display:flex; align-items:center; justify-content:center; padding:20px; background:rgba(0,0,0,.5); }
.allnet-message-box { width:420px; max-width:100%; max-height:85dvh; overflow:auto; padding:20px; border:1px solid var(--border-color,#ebeef5); border-radius:8px; background:var(--card-bg,#fff); color:var(--text-color,#303133); box-shadow:0 12px 32px rgba(0,0,0,.2); font-size:14px; }
.allnet-message-box header { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:14px; }
.allnet-message-box h3 { margin:0; font-size:18px; font-weight:500; color:inherit; }
.allnet-message-close { border:0; background:none; color:inherit; font-size:24px; cursor:pointer; padding:0 4px; }
.allnet-message-content { line-height:1.8; overflow-wrap:anywhere; }
.allnet-message-box footer { display:flex; justify-content:flex-end; gap:10px; margin-top:20px; }
.allnet-message-box footer button { padding:8px 16px; border:1px solid #dcdfe6; border-radius:4px; background:transparent; color:inherit; cursor:pointer; }
.allnet-message-box footer .allnet-message-confirm { background:#409eff; border-color:#409eff; color:#fff; }
.allnet-message-box button:focus-visible { outline:2px solid #409eff; outline-offset:3px; }
body.dark-mode .allnet-message-box, [data-theme="dark"] .allnet-message-box { background:#1d1e1f; color:#e5eaf3; border-color:#414243; }
@media (prefers-color-scheme:dark) { .allnet-message-box { background:#1d1e1f; color:#e5eaf3; border-color:#414243; } }

.allnet-import-tabs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px; }
.allnet-import-label { display:block; margin:14px 0; line-height:1.7; }
.allnet-import-label select, .allnet-import-label input[type=file] { display:block; width:100%; box-sizing:border-box; margin-top:6px; }
.allnet-import-stats { display:grid; grid-template-columns:1fr 1fr; gap:8px 20px; margin:16px 0; }
.allnet-import-stats > div { display:flex; justify-content:space-between; gap:10px; padding:8px 0; border-bottom:1px solid #e3e6ea; }
.allnet-import-stats dd { margin:0; font-weight:bold; }
#allnet-import-summary { margin:14px 0; font-size:14px; line-height:1.8; }
#allnet-save-import [hidden] { display:none !important; }
@media(max-width:480px) { .allnet-import-stats { grid-template-columns:1fr; } }
