﻿:root {
  --console-blue: #0b57d0;
  --console-blue-hover: #0842a0;
  --console-blue-soft: #e8f0fe;
  --console-ink: #1f1f1f;
  --console-muted: #5f6368;
  --console-border: #dadce0;
  --console-surface: #f8fafd;
  --console-green: #188038;
  --console-yellow: #b06000;
  --console-red: #c5221f;
}
body {
  color: var(--console-ink);
  background: var(--console-surface) !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", Arial, sans-serif !important;
  letter-spacing: 0;
}
#page-topbar { background: rgba(255,255,255,.98); border-bottom: 1px solid var(--console-border); box-shadow: none; }
.navbar-header { min-height: 68px; }
.navbar-brand-box { background: #fff !important; border-right: 1px solid var(--console-border); }

  /* Logo 区域强制白色 - 最高优先级 */
  .navbar-brand-box,
  body[data-sidebar="dark"] .navbar-brand-box,
  body[data-topbar="dark"] .navbar-brand-box,
  .navbar-header .navbar-brand-box {
    background: #fff !important;
    background-color: #fff !important;
    border-right: 1px solid var(--console-border) !important;
  }
  
  .navbar-brand-box .logo,
  .navbar-brand-box .logo-dark,
  .navbar-brand-box .logo-light {
    background: transparent !important;
  }
.logo-lg img { max-width: 166px; max-height: 38px; object-fit: contain; }
  /* 侧边栏 - 强制白色背景 */
  .vertical-menu,
  .navbar-brand-box,
  #sidebar-menu,
  .simplebar-content-wrapper,
  .simplebar-content,
  body[data-sidebar="dark"] .vertical-menu,
  body[data-sidebar="dark"] .navbar-brand-box {
    background: #fff !important;
    background-color: #fff !important;
    border-right: 1px solid var(--console-border);
  }
  
  /* 侧边栏链接 */
  #sidebar-menu ul li a {
    color: #3c4043 !important;
    border-radius: 0;
    font-weight: 500;
  }
  
  #sidebar-menu ul li a i {
    color: #5f6368 !important;
  }
  
  #sidebar-menu ul li a:hover {
    color: var(--console-blue) !important;
    background: var(--console-surface) !important;
  }
  
  #sidebar-menu ul li.mm-active > a,
  #sidebar-menu ul li a.active {
    color: var(--console-blue) !important;
    background: var(--console-blue-soft) !important;
    border-right: 3px solid var(--console-blue);
  }
  
  #sidebar-menu ul li.mm-active > a i,
  #sidebar-menu ul li a.active i {
    color: var(--console-blue) !important;
  }
.menu-title { color: #80868b !important; font-size: 11px; font-weight: 700; text-transform: uppercase; }
.main-content { background: var(--console-surface); }
.page-content { padding-top: 92px; }
.page-title-box h4, .card-title { color: var(--console-ink); font-weight: 600; letter-spacing: 0; }
.breadcrumb-item, .breadcrumb-item a { color: var(--console-muted); }
.card { border: 1px solid var(--console-border); border-radius: 8px; box-shadow: none !important; }
.card-header, .card-footer { background: #fff; border-color: var(--console-border); }
.btn { min-height: 36px; border-radius: 4px; font-weight: 500; box-shadow: none !important; }
.btn-primary { color: #fff; background: var(--console-blue); border-color: var(--console-blue); }
.btn-primary:hover, .btn-primary:focus, .btn-primary:not(:disabled):not(.disabled):active { background: var(--console-blue-hover); border-color: var(--console-blue-hover); }
.btn-outline-primary { color: var(--console-blue); border-color: var(--console-blue); }
.btn-outline-primary:hover { color: #fff; background: var(--console-blue); }
.btn-light, .btn-default { color: #3c4043; background: #fff; border-color: var(--console-border); }
.form-control, .custom-select { min-height: 40px; color: var(--console-ink); background-color: #fff; border-color: #bdc1c6; border-radius: 4px; box-shadow: none; }
.form-control:focus, .custom-select:focus { border-color: var(--console-blue); box-shadow: 0 0 0 2px rgba(11,87,208,.14); }
.table { color: #3c4043; }
.table thead th { color: #5f6368; background: var(--console-surface); border-bottom: 1px solid var(--console-border); font-size: 12px; font-weight: 600; }
.table td, .table th { vertical-align: middle; border-color: #eef0f2; }
.table-hover tbody tr:hover { background: #f8fafd; }
.pagination .page-link { color: var(--console-blue); border-color: var(--console-border); }
.pagination .active .page-link { color: #fff; background: var(--console-blue); border-color: var(--console-blue); }
.dropdown-menu { border: 1px solid var(--console-border); border-radius: 8px; box-shadow: 0 8px 24px rgba(60,64,67,.16); }
.dropdown-item:hover, .dropdown-item:focus { color: var(--console-blue); background: var(--console-blue-soft); }
.modal-content { border: 0; border-radius: 8px; box-shadow: 0 12px 32px rgba(60,64,67,.24); }
.modal-header, .modal-footer { border-color: var(--console-border); }
.alert { border-radius: 4px; }
.badge { border-radius: 4px; font-weight: 600; }
.status-active, .status-paid, .status-success { color: #137333 !important; background: #e6f4ea !important; border-color: #ceead6 !important; }
.status-pending, .status-unpaid { color: #8d4e00 !important; background: #fef7e0 !important; border-color: #fce8b2 !important; }
.status-suspended, .status-failed { color: #b31412 !important; background: #fce8e6 !important; border-color: #fad2cf !important; }
.status-cancelled, .status-deleted { color: #5f6368 !important; background: #f1f3f4 !important; border-color: var(--console-border) !important; }
.user-center_header { color: var(--console-blue) !important; background: var(--console-blue-soft) !important; box-shadow: none !important; }
.idc-console-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 20px; }
.idc-console-card { min-width: 0; padding: 24px; background: #fff; border: 1px solid var(--console-border); border-radius: 8px; }
.idc-console-account { grid-column: span 4; }
.idc-console-summary { grid-column: span 8; }
.idc-console-products { grid-column: span 5; }
.idc-console-resources { grid-column: span 7; min-height: 330px; }
.idc-console-news { grid-column: span 5; min-height: 330px; }
.idc-console-card-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.idc-console-card h2 { margin: 0; font-size: 18px; font-weight: 600; }
.idc-console-card-head a { font-size: 13px; font-weight: 500; }
.idc-account-row { display: flex; align-items: center; gap: 16px; }
.idc-account-avatar { flex: 0 0 auto; display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; color: var(--console-blue); background: var(--console-blue-soft); border-radius: 50%; font-size: 20px; font-weight: 600; }
.idc-account-name { color: var(--console-ink); font-size: 17px; font-weight: 600; overflow-wrap: anywhere; }
.idc-account-meta { margin-top: 3px; color: var(--console-muted); font-size: 13px; }
.idc-account-actions { display: flex; gap: 8px; margin-top: 22px; }
.idc-account-actions a { flex: 1; display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 7px 12px; color: var(--console-blue); border: 1px solid var(--console-border); border-radius: 4px; font-weight: 500; }
.idc-account-actions a:hover { background: var(--console-blue-soft); border-color: #a8c7fa; text-decoration: none; }
.idc-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.idc-stat { min-width: 0; padding: 16px; background: var(--console-surface); border-radius: 6px; }
.idc-stat-label { color: var(--console-muted); font-size: 12px; }
.idc-stat-value { margin-top: 8px; color: var(--console-ink); font-size: 22px; font-weight: 600; overflow-wrap: anywhere; }
.idc-product-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.idc-product-link { display: flex; align-items: center; justify-content: space-between; min-height: 48px; padding: 10px 13px; color: #3c4043; background: var(--console-surface); border: 1px solid transparent; border-radius: 6px; overflow: hidden; }
.idc-product-link:hover { color: var(--console-blue); background: var(--console-blue-soft); border-color: #c4d7f8; text-decoration: none; }
.idc-product-link span:first-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.idc-product-count { flex: 0 0 auto; margin-left: 8px; color: var(--console-muted); }
.idc-news-list { margin: 0; padding: 0; list-style: none; }
.idc-news-item { padding: 13px 0; border-bottom: 1px solid #eef0f2; }
.idc-news-item:first-child { padding-top: 0; }
.idc-news-item:last-child { border-bottom: 0; }
.idc-news-time { display: block; color: var(--console-muted); font-size: 12px; }
.idc-news-title { display: block; margin-top: 4px; color: #3c4043; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.idc-news-title:hover { color: var(--console-blue); text-decoration: none; }
.idc-empty { display: flex; align-items: center; justify-content: center; min-height: 150px; color: var(--console-muted); }
.footer { color: var(--console-muted); background: #fff; border-top: 1px solid var(--console-border); }
@media (max-width: 1199px) {
  .idc-console-account, .idc-console-summary, .idc-console-products, .idc-console-resources, .idc-console-news { grid-column: span 12; }
  .idc-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .page-content { padding-top: 82px; }
  .idc-console-grid { gap: 14px; }
  .idc-stat-grid { grid-template-columns: 1fr; }
  .idc-product-links { grid-template-columns: 1fr; }
}

  /* 表格容器溢出修复 */
  .card-body {
    overflow-x: auto;
  }
  
  .table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  
  .table {
    min-width: 100%;
    margin-bottom: 0;
  }
  
  /* 确保表格在小容器内可横向滚动 */
  .card .table-responsive {
    margin: -1rem -1.25rem;
    padding: 1rem 1.25rem;
  }

  /* 资源列表表格容器 */
  .idc-table-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    width: 100%;
  }
  
  .idc-table-wrapper table {
    min-width: 100%;
    table-layout: auto;
  }
  
  /* 确保资源卡片高度自适应内容 */
  .idc-console-resources {
    overflow: hidden;
  }