/* 守护火花 · administrative modules. Keep this file after the shared theme. */
.admin-layout .main-content {
  --brand: #167b74;
  --brand-hover: #11635e;
  --brand-light: #edf3ed;
  --brand-tint: #edf3ed;
  --brand-tint-border: #d8e4da;
  --brand-shadow: #167b7412;
  --brand-shadow-strong: #167b7420;
  --page-bg: #f7f5f0;
  --card-bg: #fff;
  --card-border: #e3e7de;
  --text-strong: #152d32;
  --text-muted: #7a8b82;
  --text-faint: #9ba69d;
  min-width: 0;
  color: #152d32;
}

.admin-layout .main-content > div,
.admin-layout .main-content :is(.el-card, .el-card__body, .el-card__header, .rea-admin-workspace) {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.admin-layout .main-content > :is(.dashboard-page, .users-container, .accounts-container, .records-container, .configs-container, .configs-page, .packages-container, .announcements-container, .admin-orders-page, .license-page, .env-page, .update-page, .card-keys-page, .browser-page, .agent-levels-container, .proxies-container, .logs-container) {
  width: 100%;
  padding: 0;
  min-height: 0;
  background: transparent !important;
  overflow: visible;
}

.admin-layout .main-content :is(.bg-decoration, .bg-circle) {
  display: none !important;
}

.admin-layout .main-content .page-header {
  position: relative;
  align-items: center;
  padding: 0 0 23px;
  margin-bottom: 0;
  gap: 18px;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.admin-layout .main-content :is(.header-left, .header-text, .header-info, .group-info, .stat-info) {
  min-width: 0;
}

.admin-layout .main-content :is(.page-header h1, .page-header h2, .page-title, .header-text h2) {
  margin-top: 0;
  color: #152d32;
  font-size: 26px;
  font-weight: 600;
  letter-spacing: -.035em;
  background: none !important;
  -webkit-text-fill-color: currentColor;
}

.admin-layout .main-content :is(.header-text p, .page-header p, .page-subtitle, .page-desc) {
  color: #7a8b82;
  font-size: 12px;
  line-height: 1.8;
}

.admin-layout .main-content :is(.header-icon, .title-icon, .config-item-icon, .group-icon, .group-icon-blue, .group-icon-purple, .group-icon-green, .group-icon-cyan, .icon-box, .resource-icon, .empty-illustration) {
  flex-shrink: 0;
  background: #edf3ed !important;
  color: #167b74 !important;
  box-shadow: none !important;
  border-radius: 12px;
}

.admin-layout .main-content :is(.group-icon-orange, .icon-box.orange, .resource-icon.disk) {
  background: #fbede3 !important;
  color: #c56e42 !important;
}

.admin-layout .main-content .group-icon-red {
  background: #f8ece7 !important;
  color: #b96652 !important;
}

.admin-layout .main-content :is(.group-name, .config-name, .empty-title, .card-header h3, .header-title, .rea-admin-panel h2) {
  color: #203c35;
  font-weight: 600;
}

.admin-layout .main-content :is(.group-count, .config-key, .config-item-desc, .empty-desc, .field-hint, .form-tip, .rate-hint, .cookie-tip, .rea-admin-muted) {
  color: #809084;
  line-height: 1.75;
}

.admin-layout .main-content .stats-row {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 22px;
}

.admin-layout .main-content :is(.stats-grid, .stats-cards, .stat-grid, .rea-admin-metrics, .charts-grid, .recent-section) {
  min-width: 0;
}

.admin-layout .main-content :is(.stat-card, .rea-admin-metric) {
  min-width: 0;
  border: 1px solid #e3e7de;
  border-radius: 15px;
  background: #fff;
  box-shadow: none;
  backdrop-filter: none;
}

.admin-layout .main-content .stat-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 5px 18px #29423008;
}

.admin-layout .main-content :is(.stat-icon, .stat-icon-primary, .stat-icon-success, .stat-icon.total, .stat-icon.unused, .stat-icon.used) {
  background: #edf3ed !important;
  color: #167b74 !important;
  box-shadow: none !important;
}

.admin-layout .main-content :is(.stat-icon-warning, .stat-icon.orders, .stat-icon.revenue) {
  background: #fbede3 !important;
  color: #c56e42 !important;
}

.admin-layout .main-content :is(.stat-icon.banned, .stat-icon.failed) {
  background: #f8ece7 !important;
  color: #b96652 !important;
}

.admin-layout .main-content :is(.stat-value, .rea-admin-number, .resource-value, .balance-value) {
  color: #203c35;
  font-variant-numeric: tabular-nums;
}

.admin-layout .main-content :is(.stat-label, .stat-title, .rea-admin-label) {
  color: #809084;
}

.admin-layout .main-content :is(.filter-card, .table-card, .chart-card, .section-card, .config-group-card, .group-card, .license-card, .info-card, .env-card, .resource-card, .current-version-card, .status-card, .version-list-card, .rea-admin-panel) {
  min-width: 0;
  max-width: 100%;
  border: 1px solid #e3e7de;
  border-radius: 16px;
  background: #fff;
  box-shadow: none !important;
}

.admin-layout .main-content :is(.config-group-card, .config-item) {
  animation: none;
  opacity: 1;
  transform: none;
}

.admin-layout .main-content :is(.config-group-card, .group-card) > .el-card__header {
  padding: 21px 23px;
  background: #f8f9f4 !important;
  border-bottom: 1px solid #e7ebe1;
}

.admin-layout .main-content :is(.config-group-card, .group-card) > .el-card__body {
  padding: 23px;
}

.admin-layout .main-content .config-grid {
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
  gap: 16px;
}

.admin-layout .main-content .config-item {
  min-width: 0;
  padding: 19px;
  background: #fff !important;
  border: 1px solid #e3e7de;
  border-radius: 12px;
  box-shadow: none;
}

.admin-layout .main-content .config-item:hover {
  border-color: #b4cbbd;
  transform: none;
  box-shadow: 0 4px 14px #29423006;
}

.admin-layout .main-content :is(.config-item-header, .card-header, .card-header-left, .header-actions, .rea-admin-panel-title) {
  min-width: 0;
  gap: 12px;
}

.admin-layout .main-content :is(.saving-indicator, .text-primary, .card-key-text, .card-key) {
  color: #167b74;
}

.admin-layout .main-content :is(.image-preview, .image-preview2, .cron-builder, .interval-builder) {
  background: #f6f8f1 !important;
  border-color: #e0e7d9;
}

.admin-layout .main-content :is(.avatar-placeholder, .avatar-placeholder-large) {
  background: #dce9df !important;
  color: #366951;
}

.admin-layout .main-content :is(.type-option.active, .frequency-tabs .freq-tab.active) {
  background: #edf3ed !important;
  border-color: #9abfae;
  color: #167b74;
  box-shadow: none;
}

.admin-layout .main-content :is(.cron-builder .freq-tab.active, .bar, .bar-fill) {
  background: #5b9176 !important;
  color: #fff;
  box-shadow: none;
}

.admin-layout .main-content :is(button, .el-button) {
  background-image: none !important;
  box-shadow: none !important;
  border-radius: 9px;
}

.admin-layout .main-content .el-button--primary:not(.is-link):not(.is-text):not(.is-plain) {
  background: #167b74 !important;
  border-color: #167b74 !important;
  color: #fff !important;
}

.admin-layout .main-content .el-button--primary:not(.is-link):not(.is-text):not(.is-plain):hover {
  background: #11635e !important;
  border-color: #11635e !important;
}

.admin-layout .main-content .el-button--primary.is-plain {
  background: #edf3ed !important;
  border-color: #c0d7c8 !important;
  color: #167b74 !important;
}

.admin-layout .main-content .el-button--success:not(.is-link):not(.is-text) {
  background: #edf3e8 !important;
  border-color: #c9d9be !important;
  color: #4e7755 !important;
}

.admin-layout .main-content .el-button--warning:not(.is-link):not(.is-text) {
  background: #fcf2e7 !important;
  border-color: #e8d4b6 !important;
  color: #a57334 !important;
}

.admin-layout .main-content .el-button--danger:not(.is-link):not(.is-text) {
  background: #f9eee9 !important;
  border-color: #e7c6b9 !important;
  color: #b35f4c !important;
}

.admin-layout .main-content .el-button.is-disabled {
  opacity: .55;
  cursor: not-allowed;
}

.admin-layout .main-content :is(.el-input, .el-input-number, .el-select, .el-textarea, .el-date-editor) {
  max-width: 100%;
  min-width: 0;
}

.admin-layout .main-content :is(.el-input__wrapper, .el-select__wrapper, .el-textarea__inner) {
  background: #fff;
  box-shadow: 0 0 0 1px #dfe5da inset;
  border-radius: 9px;
}

.admin-layout .main-content :is(.el-input__wrapper.is-focus, .el-select__wrapper.is-focused, .el-textarea__inner:focus) {
  box-shadow: 0 0 0 1px #167b74 inset;
}

.admin-layout .main-content :is(.table-card, .table-container, .desktop-table) {
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: #bccdc0 #f5f7f0;
}

.admin-layout .main-content .el-table {
  --el-table-header-bg-color: #f5f7f0;
  --el-table-header-text-color: #718574;
  --el-table-text-color: #4b6254;
  --el-table-border-color: #e9ede4;
  --el-table-row-hover-bg-color: #f6f8f2;
  --el-table-current-row-bg-color: #eff4e9;
}

.admin-layout .main-content .el-pagination {
  --el-pagination-button-bg-color: #fff;
  --el-pagination-hover-color: #167b74;
}

.admin-layout .main-content .el-pagination .el-pager li.is-active {
  background: #edf3ed !important;
  color: #167b74 !important;
  border-color: #c0d7c8;
}

.admin-layout .main-content :is(.tip-bar, .test-email-tip, .test-ai-tip, .auth-hint, .requirement-hint) {
  background: #edf3ed;
  border-color: #d7e4d9;
  color: #426e5b;
}

.admin-layout .main-content :is(.config-tip, .batch-tip) {
  background: #fcf4e8;
  border-color: #ead8b8;
  color: #9a733b;
}

.admin-layout .main-content .code-block {
  max-width: 100%;
  overflow-x: auto;
  background: #203a3c;
  color: #e5eee6;
}

@media (max-width: 1000px) {
  .admin-layout .main-content :is(.stats-cards, .stat-grid, .rea-admin-metrics) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .admin-layout .main-content {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .admin-layout .main-content > div {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .admin-layout .main-content :is(.page-header, .rea-admin-heading, .card-header, .rea-admin-panel-title) {
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 13px;
  }

  .admin-layout .main-content :is(.page-header h1, .page-header h2, .page-title, .header-text h2) {
    font-size: 23px;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }

  .admin-layout .main-content :is(.header-left, .card-header-left) {
    max-width: 100%;
    gap: 11px;
  }

  .admin-layout .main-content .header-icon {
    width: 44px;
    height: 44px;
    font-size: 23px;
  }

  .admin-layout .main-content :is(.header-actions, .action-buttons, .rea-admin-actions, .batch-bar) {
    display: flex;
    flex-wrap: wrap;
    max-width: 100%;
    gap: 8px;
  }

  .admin-layout .main-content :is(.header-actions, .action-buttons, .rea-admin-actions, .batch-bar) .el-button {
    margin-left: 0;
  }

  .admin-layout .main-content :is(.filter-bar, .filter-form) {
    flex-wrap: wrap;
    min-width: 0;
    max-width: 100%;
    gap: 10px;
  }

  .admin-layout .main-content .filter-bar > * {
    min-width: 0 !important;
    max-width: 100%;
  }

  .admin-layout .main-content .el-form-item {
    max-width: 100%;
    margin-right: 0;
  }

  .admin-layout .main-content .el-form-item__content {
    min-width: 0;
    max-width: 100%;
  }

  .admin-layout .main-content :is(.table-card, .table-container, .desktop-table, .filter-card) {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border-radius: 13px;
  }

  .admin-layout .main-content :is(.table-card, .filter-card) {
    padding: 13px;
  }

  .admin-layout .main-content .table-card > .el-card__body {
    padding: 3px;
    overflow-x: auto;
  }

  .admin-layout .main-content :is(.config-grid, .stats-row, .env-grid, .resource-grid, .rea-admin-details, .rea-admin-columns, .charts-grid, .recent-section) {
    grid-template-columns: minmax(0, 1fr);
  }

  .admin-layout .main-content :is(.config-group-card, .group-card) > :is(.el-card__body, .el-card__header) {
    padding: 16px;
  }

  .admin-layout .main-content .config-item {
    padding: 15px;
  }

  .admin-layout .main-content :is(.stats-grid, .stats-cards, .stat-grid, .rea-admin-metrics) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .admin-layout .main-content .stat-card {
    padding: 16px 12px;
    gap: 10px;
  }

  .admin-layout .main-content .stat-icon {
    width: 36px;
    height: 36px;
    font-size: 20px;
  }

  .admin-layout .main-content :is(.pagination-wrapper, .pagination-wrap, .el-pagination) {
    max-width: 100%;
    flex-wrap: wrap;
    gap: 7px;
  }

  .admin-layout .main-content .rea-admin-detail {
    grid-template-columns: 86px minmax(0, 1fr);
    gap: 10px;
  }
}
