/* 工具栏弹窗 / 操作按钮：对齐登录页 boot 暖色体系 */

:root {
    --boot-ink: #1a2b34;
    --boot-ink-soft: #3d5560;
    --boot-muted: #6b808a;
    --boot-line: rgba(26, 43, 52, 0.12);
    --boot-surface: #fffaf3;
    --boot-panel: rgba(255, 252, 247, 0.96);
    --boot-accent: #c62828;
    --boot-accent-deep: #8e1a1a;
    --boot-accent-soft: rgba(198, 40, 40, 0.12);
    --boot-ok: #2f6b3a;
    --boot-shadow: 0 22px 56px rgba(26, 43, 52, 0.18);
    --boot-radius: 18px;
}

/* 顶部工具栏按钮颜色由 styles.css 负责，此处不再覆盖 */

.notification-dot {
    display: none !important;
}

/* ---------- 通用遮罩 / 面板 ---------- */
.compare-dialog,
.modal-container,
.log-dialog-overlay,
.config-dialog-overlay {
    background:
        radial-gradient(ellipse 70% 55% at 18% 18%, rgba(198, 40, 40, 0.14), transparent 58%),
        radial-gradient(ellipse 55% 45% at 88% 82%, rgba(180, 120, 60, 0.12), transparent 55%),
        rgba(26, 43, 52, 0.42) !important;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

.compare-dialog-content,
.profit-loss-modal,
.sales-modal,
.modal-content.profit-loss-modal,
.modal-content.sales-modal,
.log-dialog,
.config-dialog,
.edit-dialog.item-detail-dialog .dialog-content,
.edit-dialog.account-data-dialog .dialog-content {
    background: var(--boot-surface) !important;
    border: 1px solid rgba(255, 255, 255, 0.55) !important;
    border-radius: var(--boot-radius) !important;
    box-shadow: var(--boot-shadow) !important;
    font-family: "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
    color: var(--boot-ink);
}

/* 弹窗外壳不滚动；内部可滚动区域单独处理，避免 overflow:hidden 吞掉滚轮 */
.profit-loss-modal,
.sales-modal,
.modal-content.profit-loss-modal,
.modal-content.sales-modal,
.log-dialog,
.config-dialog {
    overflow: hidden;
}

.compare-dialog-content {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
}

.compare-dialog-header,
.modal-header,
.log-dialog-header,
.config-dialog-header {
    background: transparent !important;
    border-bottom: 1px solid var(--boot-line) !important;
    padding: 14px 18px !important;
}

.compare-dialog-header h2,
.modal-header h2,
.log-dialog-header h3,
.config-dialog-header h3 {
    color: var(--boot-ink) !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em;
}

.compare-dialog .close-btn,
.modal-container .close-btn,
.log-dialog-close,
.config-dialog-close {
    background: rgba(255, 255, 255, 0.65) !important;
    border: 1px solid var(--boot-line) !important;
    border-radius: 10px !important;
    color: var(--boot-muted) !important;
    width: auto !important;
    height: auto !important;
    padding: 2px 10px 4px !important;
    line-height: 1.2;
}

.compare-dialog .close-btn:hover,
.modal-container .close-btn:hover,
.log-dialog-close:hover,
.config-dialog-close:hover {
    color: var(--boot-accent) !important;
    border-color: rgba(198, 40, 40, 0.35) !important;
    background: var(--boot-accent-soft) !important;
}

/* 盈亏 / 卖出：时间范围胶囊 */
.range-btn {
    background: rgba(255, 255, 255, 0.7) !important;
    border: 1px solid var(--boot-line) !important;
    border-radius: 999px !important;
    color: var(--boot-ink-soft) !important;
    padding: 5px 11px !important;
}

.range-btn:hover {
    border-color: rgba(198, 40, 40, 0.35) !important;
    color: var(--boot-accent) !important;
    background: var(--boot-accent-soft) !important;
}

.range-btn.active {
    background: linear-gradient(135deg, var(--boot-accent), var(--boot-accent-deep)) !important;
    border-color: var(--boot-accent) !important;
    color: #fff !important;
}

.chart-summary .summary-item,
.summary-item {
    background: rgba(255, 255, 255, 0.55) !important;
    border: 1px solid var(--boot-line);
    border-radius: 12px !important;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.65) inset;
}

.summary-label {
    color: var(--boot-muted) !important;
}

.summary-value {
    color: var(--boot-ink) !important;
}

/* 价格对比：输入与主按钮 */
.compare-dialog .server-input {
    border: 1px solid var(--boot-line) !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.72) !important;
    padding: 10px 12px !important;
    color: var(--boot-ink);
}

.compare-dialog .server-input:focus {
    border-color: var(--boot-accent) !important;
    box-shadow: 0 0 0 3px var(--boot-accent-soft) !important;
}

.compare-dialog .server-select-group label {
    color: var(--boot-ink-soft);
    font-weight: 600;
    font-size: 13px;
}

.compare-run-btn {
    background: linear-gradient(135deg, var(--boot-accent), var(--boot-accent-deep)) !important;
    border-radius: 999px !important;
    box-shadow: 0 8px 18px rgba(198, 40, 40, 0.28) !important;
    font-weight: 600 !important;
    letter-spacing: 0.03em;
}

.compare-run-btn:hover {
    filter: brightness(1.05);
    background: linear-gradient(135deg, var(--boot-accent), var(--boot-accent-deep)) !important;
}

.compare-plan-btn {
    background: rgba(255, 255, 255, 0.75) !important;
    color: var(--boot-ink) !important;
    border: 1px solid var(--boot-line) !important;
    border-radius: 999px !important;
    font-weight: 600 !important;
}

.compare-plan-btn:hover {
    background: var(--boot-accent-soft) !important;
    border-color: rgba(198, 40, 40, 0.35) !important;
    color: var(--boot-accent-deep) !important;
}

.compare-plan-btn.cancel {
    background: var(--boot-accent-soft) !important;
    color: var(--boot-accent-deep) !important;
    border-color: rgba(198, 40, 40, 0.35) !important;
}

.compare-dialog-content.has-plan {
    border-color: rgba(47, 107, 58, 0.35) !important;
    box-shadow: 0 0 0 3px rgba(47, 107, 58, 0.08), var(--boot-shadow) !important;
}

.compare-dialog-content.has-plan .compare-dialog-header {
    background: rgba(47, 107, 58, 0.08) !important;
}

.compare-dialog .server-swap-btn {
    border: 1px solid var(--boot-line);
    background: rgba(255, 255, 255, 0.7);
    border-radius: 12px;
    color: var(--boot-ink-soft);
}

.compare-dialog .server-swap-btn:hover {
    border-color: rgba(198, 40, 40, 0.35);
    color: var(--boot-accent);
    background: var(--boot-accent-soft);
}

/* ---------- 服务器价格对比：对齐详情弹窗层级/字色/胶囊/紧凑行高 ---------- */
.compare-dialog-content {
    font-family: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif !important;
    color: #5a6d76 !important;
}

.compare-dialog-header {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.55) 0%, rgba(255, 250, 243, 0.2) 100%) !important;
    padding: 12px 16px 10px !important;
}

.compare-dialog-header h2 {
    font-family: "Noto Serif SC", "Songti SC", "STSong", "SimSun", serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #4a5f69 !important;
    letter-spacing: 0.04em;
}

.compare-dialog-body {
    padding: 14px 16px 10px !important;
}

.compare-dialog .server-select-container {
    gap: 14px;
    margin-bottom: 12px;
}

.compare-dialog .server-select-group label {
    font-size: 11px !important;
    font-weight: 500 !important;
    color: #6b7a82 !important;
    letter-spacing: 0.04em;
    margin-bottom: 6px !important;
}

.compare-dialog .server-input {
    font-size: 13px !important;
    font-weight: 600;
    color: #4a5f69 !important;
    padding: 8px 12px !important;
}

.compare-dialog .server-suggestions {
    background: rgba(255, 252, 247, 0.98) !important;
    border: 1px solid var(--boot-line) !important;
    border-radius: 0 0 10px 10px !important;
    box-shadow: 0 10px 24px rgba(26, 43, 52, 0.12) !important;
}

.compare-dialog .server-suggestion-item {
    font-size: 12px;
    font-weight: 600;
    color: #5a6d76;
    padding: 7px 10px;
    border-bottom: 1px solid rgba(26, 43, 52, 0.06);
}

.compare-dialog .server-suggestion-item:hover {
    background: rgba(198, 40, 40, 0.06) !important;
    color: var(--boot-accent);
}

.compare-dialog .server-account-roles-loading,
.compare-dialog .server-account-role-row {
    background: rgba(255, 255, 255, 0.72) !important;
    border: 1px solid var(--boot-line) !important;
    border-radius: 8px !important;
    color: #5a6d76 !important;
    font-size: 12px !important;
    font-weight: 600;
    padding: 5px 8px !important;
}

.compare-dialog .server-account-role-row .label,
.compare-dialog .server-account-role-transfer-remark {
    color: #8a969c !important;
    font-weight: 500;
}

.compare-dialog .server-account-role-edit-btn {
    font-size: 11px !important;
    font-weight: 600;
    border: 1px solid var(--boot-line) !important;
    border-radius: 6px !important;
    background: rgba(255, 255, 255, 0.85) !important;
    color: #5a6d76 !important;
}

.compare-dialog .server-account-role-edit-btn:hover {
    background: var(--boot-accent-soft) !important;
    border-color: rgba(198, 40, 40, 0.35) !important;
    color: var(--boot-accent) !important;
}

.compare-dialog .server-role-item {
    background: rgba(255, 255, 255, 0.85) !important;
    border: 1px solid var(--boot-line) !important;
    border-radius: 8px !important;
    font-size: 11px;
    font-weight: 600;
    color: #5a6d76;
}

.compare-dialog .server-role-item.server-role-item--labeled {
    padding: 3px 6px !important;
    gap: 2px 4px !important;
}

.compare-dialog .server-role-item.server-role-item--labeled .server-role-stat-lab {
    color: #8a969c !important;
    font-weight: 500;
}

.compare-dialog .server-role-item.server-role-item--labeled .server-role-stat-val {
    color: #4a5f69 !important;
    font-weight: 600 !important;
}

.compare-dialog .compare-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.compare-dialog .compare-run-btn,
.compare-dialog .compare-plan-btn {
    padding: 8px 16px !important;
    font-size: 13px !important;
}

.compare-dialog .compare-plan-hint {
    margin-top: 8px !important;
    padding: 6px 10px !important;
    border-radius: 8px !important;
    font-size: 12px !important;
    font-weight: 600;
    color: #5a6d76 !important;
    background: rgba(255, 255, 255, 0.65) !important;
    border: 1px solid var(--boot-line) !important;
}

.compare-dialog .compare-plan-hint.exists {
    color: var(--boot-ok) !important;
    background: rgba(47, 107, 58, 0.1) !important;
    border-color: rgba(47, 107, 58, 0.28) !important;
}

.compare-dialog .compare-result-container {
    padding: 12px 16px 16px !important;
    border-top: 1px solid var(--boot-line) !important;
}

.compare-dialog .compare-result-container h3 {
    font-family: "Noto Serif SC", "Songti SC", "STSong", "SimSun", serif;
    font-size: 14px !important;
    font-weight: 700;
    color: #4a5f69 !important;
    letter-spacing: 0.06em;
    margin: 0 0 10px !important;
    padding-left: 10px;
    border-left: 3px solid var(--boot-accent);
}

.compare-dialog .loading-spinner {
    border: 3px solid rgba(26, 43, 52, 0.08) !important;
    border-top-color: var(--boot-accent) !important;
}

.compare-dialog .error-message {
    color: var(--boot-accent) !important;
    font-weight: 600;
}

.compare-dialog .no-data-message {
    color: #8a969c !important;
    font-weight: 600;
}

.compare-dialog .compare-table {
    --compare-table-fs: 12px;
    font-size: var(--compare-table-fs) !important;
    color: #5a6d76;
    border-collapse: separate;
    border-spacing: 0;
}

.compare-dialog .compare-table th,
.compare-dialog .compare-table td {
    padding: 4px 6px !important;
    line-height: 1.25 !important;
    font-size: var(--compare-table-fs) !important;
    font-weight: 600;
    color: #5a6d76;
    border-color: rgba(26, 43, 52, 0.1) !important;
    vertical-align: middle;
}

.compare-dialog .compare-table thead th,
.compare-dialog .compare-table th {
    background: linear-gradient(180deg, #f8f2e9 0%, #ebe2d4 100%) !important;
    color: #5a6d76 !important;
    font-weight: 600 !important;
    border-bottom: 2px solid rgba(198, 40, 40, 0.28) !important;
    position: sticky;
    top: 0;
    z-index: 2;
}

.compare-dialog .compare-table tbody tr:nth-child(even) {
    background-color: rgba(255, 248, 240, 0.65);
}

.compare-dialog .compare-table tbody tr:nth-child(odd) {
    background-color: rgba(255, 255, 255, 0.55);
}

.compare-dialog .compare-table tbody tr:hover {
    background-color: rgba(198, 40, 40, 0.06) !important;
}

.compare-dialog .compare-table tr.highlight-row {
    background-color: rgba(250, 140, 22, 0.1) !important;
    border-left: 3px solid rgba(250, 140, 22, 0.65);
}

.compare-dialog .compare-table tr.highlight-row:hover {
    background-color: rgba(250, 140, 22, 0.16) !important;
}

.compare-dialog .compare-table td.compare-cell-inventory {
    background-color: rgba(47, 107, 58, 0.1) !important;
}

.compare-dialog .compare-table .price-up {
    color: #ef4444 !important;
    font-weight: 600 !important;
}

.compare-dialog .compare-table .price-down {
    color: #10b981 !important;
    font-weight: 600 !important;
}

.compare-dialog .compare-table .price-sellable {
    color: #722ed1 !important;
    font-weight: 600 !important;
}

.compare-dialog .compare-table .high-ratio {
    color: #ef4444 !important;
    background-color: rgba(239, 68, 68, 0.1) !important;
    font-weight: 600 !important;
}

.compare-dialog .compare-table .medium-ratio {
    color: #d97706 !important;
    font-weight: 600 !important;
}

.compare-dialog .compare-table .low-ratio {
    color: #10b981 !important;
    font-weight: 600 !important;
}

/* 交易频率胶囊：与详细信息弹窗 .tag-超爆 / .tag-火爆 / .tag-普通 / .tag-勿入 一致 */
.compare-dialog .trade-frequency-tag,
.compare-dialog .tag.tag-超爆,
.compare-dialog .tag.tag-火爆,
.compare-dialog .tag.tag-普通,
.compare-dialog .tag.tag-勿入 {
    display: inline-block !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    padding: 1px 6px !important;
    border-radius: 4px !important;
    line-height: 1.35 !important;
    white-space: nowrap;
    border: 1px solid;
    box-shadow: none !important;
    vertical-align: middle;
}

.compare-dialog .tag.tag-超爆 {
    background-color: #fff1f0 !important;
    border-color: #ffa39e !important;
    color: #f5222d !important;
}

.compare-dialog .tag.tag-火爆 {
    background-color: #fff7e6 !important;
    border-color: #ffd591 !important;
    color: #fa8c16 !important;
}

.compare-dialog .tag.tag-普通 {
    background-color: #f6ffed !important;
    border-color: #b7eb8f !important;
    color: #52c41a !important;
}

.compare-dialog .tag.tag-勿入 {
    background-color: #f0f0f0 !important;
    border-color: #d9d9d9 !important;
    color: #666 !important;
}

.compare-dialog .compare-table .plan-buy-price-input {
    border: 1px solid var(--boot-line) !important;
    border-radius: 6px !important;
    background: rgba(255, 255, 255, 0.85) !important;
    color: #4a5f69 !important;
    font-size: 12px !important;
    font-weight: 600;
    padding: 3px 6px !important;
}

.compare-dialog .compare-table .plan-buy-price-input:focus {
    border-color: var(--boot-accent) !important;
    box-shadow: 0 0 0 2px var(--boot-accent-soft) !important;
}

.compare-dialog .plan-buy-price-label {
    color: #8a969c !important;
    font-size: 11px !important;
    font-weight: 500;
}

.compare-dialog .tsrd-server-pill {
    font-size: 11px !important;
    font-weight: 600 !important;
    padding: 1px 6px !important;
    border-radius: 4px !important;
    line-height: 1.35 !important;
}

/* 日志弹窗工具条 */
.log-status-area,
.config-status-area {
    background: rgba(255, 255, 255, 0.45) !important;
    border-bottom: 1px solid var(--boot-line) !important;
    color: var(--boot-ink-soft);
}

.log-sort-button,
.log-refresh-button,
.config-refresh-button,
.retry-button {
    background: rgba(255, 255, 255, 0.75) !important;
    border: 1px solid var(--boot-line) !important;
    border-radius: 999px !important;
    color: var(--boot-ink) !important;
    font-weight: 600;
}

.log-sort-button:hover,
.log-refresh-button:hover,
.config-refresh-button:hover,
.retry-button:hover {
    background: var(--boot-accent-soft) !important;
    border-color: rgba(198, 40, 40, 0.35) !important;
    color: var(--boot-accent-deep) !important;
}

/* ---------- 物品详细信息弹窗（对齐登录 / 对比弹窗暖色） ---------- */
.edit-dialog.item-detail-dialog {
    background:
        radial-gradient(ellipse 70% 55% at 18% 18%, rgba(198, 40, 40, 0.14), transparent 58%),
        radial-gradient(ellipse 55% 45% at 88% 82%, rgba(180, 120, 60, 0.12), transparent 55%),
        rgba(26, 43, 52, 0.42) !important;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    overscroll-behavior: contain;
}

.edit-dialog.item-detail-dialog .dialog-content {
    overflow: hidden !important;
    max-height: 92vh;
    display: flex;
    flex-direction: column;
    padding: 0 !important;
}

.edit-dialog.item-detail-dialog .dialog-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 12px 16px 10px;
    border-bottom: 1px solid var(--boot-line);
    flex-shrink: 0;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.55) 0%, rgba(255, 250, 243, 0.2) 100%);
    gap: 12px;
}

.edit-dialog.item-detail-dialog .dialog-header h2 {
    margin: 0 !important;
    font-family: "Noto Serif SC", "Songti SC", "STSong", "SimSun", serif;
    font-size: 18px;
    font-weight: 700;
    color: var(--boot-ink);
    letter-spacing: 0.04em;
    line-height: 1.3;
    white-space: nowrap;
}

.edit-dialog.item-detail-dialog .dialog-title-section {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: center !important;
    gap: 8px !important;
    min-width: 0;
    flex: 1 !important;
}

.edit-dialog.item-detail-dialog .dialog-title-main {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 12px;
    min-width: 0;
}

.edit-dialog.item-detail-dialog .header-buy-config {
    margin-top: 0;
    text-align: left !important;
    font-size: 11px;
    color: var(--boot-muted);
    line-height: 1.4;
    opacity: 0.92;
}

.edit-dialog.item-detail-dialog .header-buy-config .header-config-display {
    justify-content: flex-start !important;
    gap: 8px !important;
    font-size: 11px !important;
}

.edit-dialog.item-detail-dialog .header-buy-config .header-config-item {
    font-size: 11px !important;
    color: var(--boot-muted) !important;
    font-weight: 500 !important;
}

.edit-dialog.item-detail-dialog .header-buy-config .header-price-value {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: var(--boot-accent) !important;
}

.edit-dialog.item-detail-dialog .item-index-info {
    color: var(--boot-muted);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.02em;
    white-space: nowrap;
    margin-left: auto;
    padding: 3px 8px;
    border-radius: 999px;
    background: rgba(26, 43, 52, 0.06);
}

.edit-dialog.item-detail-dialog .close-btn {
    background: rgba(255, 255, 255, 0.65) !important;
    border: 1px solid var(--boot-line) !important;
    border-radius: 10px !important;
    color: var(--boot-muted) !important;
    padding: 2px 10px 4px !important;
    line-height: 1.2;
    font-size: 22px;
}

.edit-dialog.item-detail-dialog .close-btn:hover {
    color: var(--boot-accent) !important;
    border-color: rgba(198, 40, 40, 0.35) !important;
    background: var(--boot-accent-soft) !important;
}

.edit-dialog.item-detail-dialog .item-details-container {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding: 6px 12px 10px;
    display: flex;
    flex-direction: column;
}

.edit-dialog.item-detail-dialog .server-distribution,
.edit-dialog.item-detail-dialog .chart-view,
.edit-dialog.item-detail-dialog .max-dropdown-analysis {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.edit-dialog.item-detail-dialog .item-summary-section {
    margin-bottom: 6px;
}

.edit-dialog.item-detail-dialog .item-summary-section h3 {
    color: var(--boot-ink);
    font-family: "Noto Serif SC", "Songti SC", "STSong", "SimSun", serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    margin: 0 0 8px;
    padding: 1px 0 1px 10px;
    border-left: 3px solid var(--boot-accent);
    line-height: 1.3;
}

.edit-dialog.item-detail-dialog .summary-main-container,
.edit-dialog.item-detail-dialog .summary-left-panel {
    width: 100%;
}

/* 总体概况：全部挤在同一行，KPI 略大、分类略小 */
.edit-dialog.item-detail-dialog .item-details-header {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch;
    gap: 6px !important;
    width: 100%;
    margin-bottom: 0;
    padding: 0;
    overflow-x: auto;
    overflow-y: hidden;
}

.edit-dialog.item-detail-dialog .summary-kpi-row,
.edit-dialog.item-detail-dialog .summary-meta-row {
    display: contents;
}

.edit-dialog.item-detail-dialog .summary-item {
    background: rgba(255, 255, 255, 0.72) !important;
    border: 1px solid var(--boot-line);
    border-radius: 8px !important;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset;
    min-width: 0 !important;
    width: auto !important;
    flex: 0 1 auto !important;
    padding: 5px 8px !important;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
}

.edit-dialog.item-detail-dialog .summary-item--kpi {
    flex: 0 1 auto !important;
    min-width: 96px !important;
    padding: 6px 10px !important;
    background: rgba(255, 255, 255, 0.88) !important;
    border-color: rgba(26, 43, 52, 0.12);
}

.edit-dialog.item-detail-dialog .summary-item--kpi-accent {
    background: linear-gradient(135deg, rgba(198, 40, 40, 0.08), rgba(255, 255, 255, 0.9)) !important;
    border-color: rgba(198, 40, 40, 0.28);
}

.edit-dialog.item-detail-dialog .summary-item--meta,
.edit-dialog.item-detail-dialog .summary-item--action {
    flex: 1 1 auto !important;
    min-width: 120px !important;
    padding: 6px 10px !important;
    background: rgba(255, 255, 255, 0.88) !important;
    border-color: rgba(26, 43, 52, 0.12);
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    align-items: flex-start !important;
    gap: 3px !important;
}

.edit-dialog.item-detail-dialog .summary-item--meta-wide {
    flex: 1.6 1 auto !important;
    min-width: 160px !important;
}

.edit-dialog.item-detail-dialog .summary-item--action {
    flex: 0 1 auto !important;
    min-width: 150px !important;
}

.edit-dialog.item-detail-dialog .summary-item .label {
    color: var(--boot-muted);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.2;
    white-space: nowrap;
}

.edit-dialog.item-detail-dialog .summary-item--kpi .label,
.edit-dialog.item-detail-dialog .summary-item--meta .label,
.edit-dialog.item-detail-dialog .summary-item--action .label {
    font-size: 11px;
    font-weight: 500;
    color: #6b7a82;
}

.edit-dialog.item-detail-dialog .summary-item .value {
    font-size: 13px;
    font-weight: 600;
    color: #4a5f69;
    line-height: 1.2;
    word-break: break-word;
    font-variant-numeric: tabular-nums;
}

.edit-dialog.item-detail-dialog .summary-item--kpi .value {
    font-size: 16px;
    font-weight: 600;
    letter-spacing: -0.01em;
    line-height: 1.15;
}

.edit-dialog.item-detail-dialog .summary-item--kpi .value.highlight-primary {
    color: #3b6fd4 !important;
    font-size: 17px;
}

.edit-dialog.item-detail-dialog .summary-item--kpi-accent .value {
    font-size: 17px;
}

/* 概况数字：恢复涨跌/可卖出语义色（不被统一字色盖掉） */
.edit-dialog.item-detail-dialog .summary-item .value.price-up,
.edit-dialog.item-detail-dialog .summary-item .value .price-up,
.edit-dialog.item-detail-dialog .day-change-stats-value .price-up {
    color: #ef4444 !important;
}

.edit-dialog.item-detail-dialog .summary-item .value.price-down,
.edit-dialog.item-detail-dialog .summary-item .value .price-down,
.edit-dialog.item-detail-dialog .day-change-stats-value .price-down {
    color: #10b981 !important;
}

.edit-dialog.item-detail-dialog .summary-item .value.price-sellable {
    color: #722ed1 !important;
}

.edit-dialog.item-detail-dialog .summary-item--meta .profit-category.significant-up2 { color: #b91c1c !important; }
.edit-dialog.item-detail-dialog .summary-item--meta .profit-category.significant-up { color: #ef4444 !important; }
.edit-dialog.item-detail-dialog .summary-item--meta .profit-category.up { color: #f87171 !important; }
.edit-dialog.item-detail-dialog .summary-item--meta .profit-category.slight-loss { color: #f59e0b !important; }
.edit-dialog.item-detail-dialog .summary-item--meta .profit-category.down { color: #34d399 !important; }
.edit-dialog.item-detail-dialog .summary-item--meta .profit-category.significant-down { color: #059669 !important; }

.edit-dialog.item-detail-dialog .summary-item--meta .value,
.edit-dialog.item-detail-dialog .summary-item--action .value {
    font-size: 13px !important;
    font-weight: 600;
    line-height: 1.25;
    color: #4a5f69;
    min-width: 0;
    width: 100%;
}

.edit-dialog.item-detail-dialog .summary-item .profit-categories,
.edit-dialog.item-detail-dialog .summary-item--meta .value {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 3px 5px !important;
    align-items: center !important;
    overflow: hidden;
}

.edit-dialog.item-detail-dialog .summary-item--meta .profit-category {
    font-size: 12px !important;
    font-weight: 600;
    white-space: nowrap;
    line-height: 1.2;
}

.edit-dialog.item-detail-dialog .summary-item--meta .tag {
    font-size: 12px !important;
    font-weight: 600;
    padding: 0 6px !important;
    border-radius: 4px !important;
    line-height: 1.45 !important;
    white-space: nowrap;
    margin: 0 !important;
}

.edit-dialog.item-detail-dialog .summary-item--action .adjust-profit-container {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 6px;
    width: 100%;
}

.edit-dialog.item-detail-dialog .summary-item--action .uniform-price-type,
.edit-dialog.item-detail-dialog .summary-item--action .apply-btn {
    font-size: 12px;
    font-weight: 600;
    padding: 2px 8px;
    line-height: 1.4;
    border-radius: 4px;
}

.edit-dialog.item-detail-dialog .day-change-stats-value {
    gap: 8px !important;
}

.edit-dialog.item-detail-dialog .day-change-stats-value > span {
    font-size: 13px !important;
    font-weight: 600;
}

/* 视图切换：独立一行，作为一级导航放大 */
.edit-dialog.item-detail-dialog .view-toggle-buttons--header {
    display: flex !important;
    align-items: stretch;
    gap: 0;
    flex-wrap: nowrap;
    margin: 2px 0 0;
    width: 100%;
    max-width: 760px;
    padding: 3px;
    border-radius: 12px;
    background: rgba(26, 43, 52, 0.06);
    border: 1px solid rgba(26, 43, 52, 0.08);
    box-sizing: border-box;
}

.edit-dialog.item-detail-dialog .view-toggle-btn {
    flex: 1 1 0;
    background: transparent !important;
    border: none !important;
    border-radius: 9px !important;
    color: #6b808a !important;
    padding: 9px 12px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer;
    white-space: nowrap;
    line-height: 1.25;
    box-shadow: none !important;
    transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.edit-dialog.item-detail-dialog .view-toggle-btn:hover {
    background: rgba(255, 255, 255, 0.72) !important;
    color: var(--boot-accent) !important;
    box-shadow: none !important;
}

.edit-dialog.item-detail-dialog .view-toggle-btn.active {
    background: linear-gradient(135deg, var(--boot-accent), var(--boot-accent-deep)) !important;
    color: #fff !important;
    box-shadow: 0 3px 10px rgba(198, 40, 40, 0.28) !important;
}

@media (max-width: 1100px) {
    .edit-dialog.item-detail-dialog .view-toggle-buttons--header {
        flex-wrap: wrap;
        max-width: 100%;
    }

    .edit-dialog.item-detail-dialog .view-toggle-btn {
        flex: 1 1 calc(33.33% - 2px);
        font-size: 13px !important;
        padding: 8px 10px !important;
    }

    .edit-dialog.item-detail-dialog .summary-item--kpi .value {
        font-size: 15px;
    }

    .edit-dialog.item-detail-dialog .summary-item--kpi .value.highlight-primary,
    .edit-dialog.item-detail-dialog .summary-item--kpi-accent .value {
        font-size: 16px;
    }
}

.edit-dialog.item-detail-dialog .item-nav-btn {
    background: linear-gradient(135deg, var(--boot-accent), var(--boot-accent-deep));
    box-shadow: 0 4px 12px rgba(198, 40, 40, 0.35);
}

.edit-dialog.item-detail-dialog .item-nav-btn:hover:not(:disabled) {
    box-shadow: 0 6px 16px rgba(198, 40, 40, 0.45);
}

.edit-dialog.item-detail-dialog .item-nav-btn:disabled {
    background: #ccc;
}

/* 服务器分布表：铺满容器，按比例分配列宽（数字窄、文本列吃剩余空间） */
.edit-dialog.item-detail-dialog .server-table-container {
    margin-top: 0;
    flex: 1 1 auto;
    min-height: 420px;
    max-height: none !important;
    height: min(760px, calc(92vh - 210px));
    overflow: auto;
    overscroll-behavior: contain;
    border: 1px solid var(--boot-line);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.55);
    box-shadow: none;
    width: 100%;
}

.edit-dialog.item-detail-dialog .chart-view .chart-container {
    flex: 1 1 auto;
    min-height: 420px;
    height: min(760px, calc(92vh - 210px)) !important;
}

.edit-dialog.item-detail-dialog .server-table {
    --detail-table-fs: 12px;
    width: 100% !important;
    min-width: 100% !important;
    table-layout: fixed !important;
    font-size: var(--detail-table-fs) !important;
    font-family: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif;
    border-collapse: separate;
    border-spacing: 0;
    color: #5a6d76;
    -webkit-font-smoothing: antialiased;
}

.edit-dialog.item-detail-dialog .server-table th,
.edit-dialog.item-detail-dialog .server-table td {
    padding: 2px 4px !important;
    border-color: rgba(26, 43, 52, 0.1);
    line-height: 1.2 !important;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
    letter-spacing: 0.01em;
    font-size: var(--detail-table-fs) !important;
    font-weight: 600;
    color: #5a6d76;
}

.edit-dialog.item-detail-dialog .server-table tbody tr {
    height: auto !important;
}

.edit-dialog.item-detail-dialog .server-table thead th {
    position: sticky;
    top: 0;
    z-index: 5;
    background: linear-gradient(180deg, #f8f2e9 0%, #ebe2d4 100%);
    color: #5a6d76;
    font-size: var(--detail-table-fs) !important;
    font-weight: 600;
    white-space: normal;
    word-break: keep-all;
    line-height: 1.15 !important;
    box-shadow: 0 1px 0 rgba(26, 43, 52, 0.08);
    border-bottom: 2px solid rgba(198, 40, 40, 0.28);
    letter-spacing: 0.02em;
    padding: 4px 3px !important;
    text-align: center;
    vertical-align: bottom;
}

.edit-dialog.item-detail-dialog .server-table thead th .th-main {
    display: block;
    font-size: inherit !important;
    font-weight: 600;
    color: inherit;
}

.edit-dialog.item-detail-dialog .server-table thead th .th-main.th-with-tip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

.edit-dialog.item-detail-dialog .server-table thead th .th-main.th-with-tip .summary-dist-btn {
    vertical-align: middle;
}

.edit-dialog.item-detail-dialog .server-table thead th .th-sub {
    display: block;
    margin-top: 1px;
    font-size: inherit !important;
    font-weight: 500;
    color: #8a969c;
    letter-spacing: 0.02em;
}

/* 兼容旧选择器 */
.edit-dialog.item-detail-dialog .server-table th {
    background: linear-gradient(180deg, #f8f2e9 0%, #ebe2d4 100%);
    color: #5a6d76;
    font-size: var(--detail-table-fs) !important;
    font-weight: 600;
}

.edit-dialog.item-detail-dialog .server-table tbody tr:nth-child(even) {
    background-color: rgba(255, 248, 240, 0.85);
}

.edit-dialog.item-detail-dialog .server-table tbody tr:nth-child(odd) {
    background-color: rgba(255, 255, 255, 0.7);
}

.edit-dialog.item-detail-dialog .server-table tbody tr:hover {
    background-color: rgba(198, 40, 40, 0.06);
    transform: none;
    box-shadow: none;
    cursor: pointer;
}

/* 前两列固定像素便于 sticky；主列加宽、次列收窄 */
.edit-dialog.item-detail-dialog .server-table th[data-sort="index"],
.edit-dialog.item-detail-dialog .server-table td:nth-child(1) { width: 34px !important; }
.edit-dialog.item-detail-dialog .server-table th[data-sort="server"],
.edit-dialog.item-detail-dialog .server-table td:nth-child(2) { width: 102px !important; }
.edit-dialog.item-detail-dialog .server-table th[data-sort="type"],
.edit-dialog.item-detail-dialog .server-table td:nth-child(3) { width: 6.5% !important; }
.edit-dialog.item-detail-dialog .server-table th[data-sort="price"],
.edit-dialog.item-detail-dialog .server-table td:nth-child(4) { width: 3.8% !important; }
.edit-dialog.item-detail-dialog .server-table th[data-sort="fivePrice"],
.edit-dialog.item-detail-dialog .server-table td:nth-child(5) { width: 3.8% !important; }
.edit-dialog.item-detail-dialog .server-table th[data-sort="minPrice"],
.edit-dialog.item-detail-dialog .server-table td:nth-child(6) { width: 5% !important; }
.edit-dialog.item-detail-dialog .server-table th[data-sort="mhbPrice"],
.edit-dialog.item-detail-dialog .server-table td:nth-child(7) { width: 4% !important; }
.edit-dialog.item-detail-dialog .server-table th[data-sort="count"],
.edit-dialog.item-detail-dialog .server-table td:nth-child(8) { width: 4.5% !important; }
.edit-dialog.item-detail-dialog .server-table th[data-sort="dayChange"],
.edit-dialog.item-detail-dialog .server-table td:nth-child(9) { width: 4.8% !important; }
.edit-dialog.item-detail-dialog .server-table th[data-sort="historyMin"],
.edit-dialog.item-detail-dialog .server-table td:nth-child(10) { width: 3.6% !important; }
.edit-dialog.item-detail-dialog .server-table th[data-sort="historyMax"],
.edit-dialog.item-detail-dialog .server-table td:nth-child(11) { width: 3.6% !important; }
.edit-dialog.item-detail-dialog .server-table th[data-sort="historyAvg"],
.edit-dialog.item-detail-dialog .server-table td:nth-child(12) { width: 3.6% !important; }
.edit-dialog.item-detail-dialog .server-table th[data-sort="note"],
.edit-dialog.item-detail-dialog .server-table td:nth-child(13) { width: 9% !important; }
.edit-dialog.item-detail-dialog .server-table th[data-sort="daySold"],
.edit-dialog.item-detail-dialog .server-table td:nth-child(14) { width: 3.2% !important; }
.edit-dialog.item-detail-dialog .server-table th[data-sort="tradeFreq"],
.edit-dialog.item-detail-dialog .server-table td:nth-child(15) { width: 5.2% !important; }
.edit-dialog.item-detail-dialog .server-table th[data-sort="personalData"],
.edit-dialog.item-detail-dialog .server-table td:nth-child(16) { width: 15.5% !important; }
.edit-dialog.item-detail-dialog .server-table th[data-sort="accountRole"],
.edit-dialog.item-detail-dialog .server-table td:nth-child(17) { width: 15.5% !important; }

/* 普通会员：隐藏个人数据/账号角色后，按可见列重分配，避免服务器列空、金币/开服被挤扁 */
.edit-dialog.item-detail-dialog.viewer-item-detail .server-table th[data-sort="personalData"],
.edit-dialog.item-detail-dialog.viewer-item-detail .server-table td:nth-child(16),
.edit-dialog.item-detail-dialog.viewer-item-detail .server-table th[data-sort="accountRole"],
.edit-dialog.item-detail-dialog.viewer-item-detail .server-table td:nth-child(17) {
    display: none !important;
    width: 0 !important;
    padding: 0 !important;
    border: none !important;
}

.edit-dialog.item-detail-dialog.viewer-item-detail .server-table th[data-sort="index"],
.edit-dialog.item-detail-dialog.viewer-item-detail .server-table td:nth-child(1) {
    width: 32px !important;
    max-width: 32px !important;
}

.edit-dialog.item-detail-dialog.viewer-item-detail .server-table th[data-sort="server"],
.edit-dialog.item-detail-dialog.viewer-item-detail .server-table td:nth-child(2) {
    width: 118px !important;
    max-width: 118px !important;
}

.edit-dialog.item-detail-dialog.viewer-item-detail .server-table th[data-sort="server"],
.edit-dialog.item-detail-dialog.viewer-item-detail .server-table td:nth-child(2) {
    left: 32px;
}

.edit-dialog.item-detail-dialog.viewer-item-detail .server-table th[data-sort="type"],
.edit-dialog.item-detail-dialog.viewer-item-detail .server-table td:nth-child(3) { width: 11% !important; }
.edit-dialog.item-detail-dialog.viewer-item-detail .server-table th[data-sort="price"],
.edit-dialog.item-detail-dialog.viewer-item-detail .server-table td:nth-child(4) { width: 5.2% !important; }
.edit-dialog.item-detail-dialog.viewer-item-detail .server-table th[data-sort="fivePrice"],
.edit-dialog.item-detail-dialog.viewer-item-detail .server-table td:nth-child(5) { width: 5.2% !important; }
.edit-dialog.item-detail-dialog.viewer-item-detail .server-table th[data-sort="minPrice"],
.edit-dialog.item-detail-dialog.viewer-item-detail .server-table td:nth-child(6) { width: 5.5% !important; }
.edit-dialog.item-detail-dialog.viewer-item-detail .server-table th[data-sort="mhbPrice"],
.edit-dialog.item-detail-dialog.viewer-item-detail .server-table td:nth-child(7) { width: 7.5% !important; }
.edit-dialog.item-detail-dialog.viewer-item-detail .server-table th[data-sort="count"],
.edit-dialog.item-detail-dialog.viewer-item-detail .server-table td:nth-child(8) { width: 5.5% !important; }
.edit-dialog.item-detail-dialog.viewer-item-detail .server-table th[data-sort="dayChange"],
.edit-dialog.item-detail-dialog.viewer-item-detail .server-table td:nth-child(9) { width: 5.5% !important; }
.edit-dialog.item-detail-dialog.viewer-item-detail .server-table th[data-sort="historyMin"],
.edit-dialog.item-detail-dialog.viewer-item-detail .server-table td:nth-child(10) { width: 5% !important; }
.edit-dialog.item-detail-dialog.viewer-item-detail .server-table th[data-sort="historyMax"],
.edit-dialog.item-detail-dialog.viewer-item-detail .server-table td:nth-child(11) { width: 5% !important; }
.edit-dialog.item-detail-dialog.viewer-item-detail .server-table th[data-sort="historyAvg"],
.edit-dialog.item-detail-dialog.viewer-item-detail .server-table td:nth-child(12) { width: 5% !important; }
.edit-dialog.item-detail-dialog.viewer-item-detail .server-table th[data-sort="note"],
.edit-dialog.item-detail-dialog.viewer-item-detail .server-table td:nth-child(13) { width: 13% !important; }
.edit-dialog.item-detail-dialog.viewer-item-detail .server-table th[data-sort="daySold"],
.edit-dialog.item-detail-dialog.viewer-item-detail .server-table td:nth-child(14) { width: 4% !important; }
.edit-dialog.item-detail-dialog.viewer-item-detail .server-table th[data-sort="tradeFreq"],
.edit-dialog.item-detail-dialog.viewer-item-detail .server-table td:nth-child(15) { width: 7% !important; }

.edit-dialog.item-detail-dialog.viewer-item-detail .server-table td.server-type-cell {
    overflow: hidden;
    text-overflow: ellipsis;
}

.edit-dialog.item-detail-dialog.viewer-item-detail .server-table td[data-type="number"] {
    overflow: visible;
    text-overflow: clip;
}

.edit-dialog.item-detail-dialog .server-table th[data-sort="index"],
.edit-dialog.item-detail-dialog .server-table td:nth-child(1) {
    position: sticky;
    left: 0;
    z-index: 3;
    background: #ebe2d4;
    text-align: center;
}

.edit-dialog.item-detail-dialog .server-table thead th[data-sort="index"] {
    z-index: 7;
    background: linear-gradient(180deg, #f8f2e9 0%, #ebe2d4 100%);
}

.edit-dialog.item-detail-dialog .server-table tbody td:nth-child(1) {
    background: inherit;
    z-index: 2;
}

.edit-dialog.item-detail-dialog .server-table th[data-sort="server"],
.edit-dialog.item-detail-dialog .server-table td:nth-child(2) {
    position: sticky;
    left: 34px;
    z-index: 3;
    background: #ebe2d4;
}

.edit-dialog.item-detail-dialog .server-table thead th[data-sort="server"] {
    z-index: 7;
    background: linear-gradient(180deg, #f8f2e9 0%, #ebe2d4 100%);
}

.edit-dialog.item-detail-dialog .server-table tbody td:nth-child(2) {
    background: inherit;
    z-index: 2;
    box-shadow: 2px 0 4px rgba(26, 43, 52, 0.06);
}

.edit-dialog.item-detail-dialog .server-table td.server-type-cell,
.edit-dialog.item-detail-dialog .server-table td[data-col="note"],
.edit-dialog.item-detail-dialog .server-table td.personal-data-cell,
.edit-dialog.item-detail-dialog .server-table td.account-role-cell,
.edit-dialog.item-detail-dialog .server-table td[data-sort="tradeFreq"],
.edit-dialog.item-detail-dialog .server-table td:nth-child(15) {
    white-space: nowrap;
    word-break: normal;
    line-height: 1.2 !important;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: var(--detail-table-fs) !important;
    font-weight: 600;
    color: #5a6d76;
}

.edit-dialog.item-detail-dialog .server-table td.server-type-cell {
    white-space: nowrap !important;
}

.edit-dialog.item-detail-dialog .server-table td.server-type-cell > span {
    display: inline !important;
    white-space: nowrap;
}

.edit-dialog.item-detail-dialog .server-table td.personal-data-cell > span,
.edit-dialog.item-detail-dialog .server-table td.account-role-cell,
.edit-dialog.item-detail-dialog .server-table td.personal-data-cell {
    font-size: inherit !important;
    font-weight: 600;
}

.edit-dialog.item-detail-dialog .server-table td.personal-data-cell > span {
    display: inline;
    margin: 0;
}

.edit-dialog.item-detail-dialog .server-table td[data-type="number"] {
    font-variant-numeric: tabular-nums;
    font-family: inherit;
    letter-spacing: 0;
    text-align: right;
    white-space: nowrap;
    font-size: var(--detail-table-fs) !important;
    font-weight: 600;
    color: #5a6d76;
}

.edit-dialog.item-detail-dialog .server-table td:nth-child(9).price-up,
.edit-dialog.item-detail-dialog .server-table td:nth-child(9) .price-up {
    color: #ef4444 !important;
}

.edit-dialog.item-detail-dialog .server-table td:nth-child(9).price-down,
.edit-dialog.item-detail-dialog .server-table td:nth-child(9) .price-down {
    color: #10b981 !important;
}

/* 表格内所有文字/标签统一字号，避免列与列大小不一 */
.edit-dialog.item-detail-dialog .server-table td *,
.edit-dialog.item-detail-dialog .server-table th * {
    font-size: inherit !important;
    font-weight: inherit;
}

.edit-dialog.item-detail-dialog .server-table .tag,
.edit-dialog.item-detail-dialog .server-table .server-type,
.edit-dialog.item-detail-dialog .server-table td.server-type-cell > span[class^="server-"] {
    margin: 0 2px 0 0;
    display: inline-block;
    font-size: inherit !important;
    padding: 0 4px !important;
    border-radius: 3px !important;
    line-height: 1.35 !important;
    font-weight: 600;
    vertical-align: middle;
}

/* 账号角色胶囊：强制分色字色（盖过表格 td 继承色，避免浅底上看不清） */
.edit-dialog.item-detail-dialog .server-table .account-role-tag {
    cursor: pointer !important;
    border: 1px solid !important;
    margin: 1px 2px 1px 0 !important;
    padding: 0 6px !important;
    border-radius: 10px !important;
    font-weight: 600 !important;
    white-space: nowrap;
}
.edit-dialog.item-detail-dialog .server-table .account-role-tag.account-role-v0 {
    background-color: #f5f5f5 !important;
    border-color: #bfbfbf !important;
    color: #434343 !important;
}
.edit-dialog.item-detail-dialog .server-table .account-role-tag.account-role-v1 {
    background-color: #f6ffed !important;
    border-color: #95de64 !important;
    color: #237804 !important;
}
.edit-dialog.item-detail-dialog .server-table .account-role-tag.account-role-v2 {
    background-color: #e6f7ff !important;
    border-color: #69c0ff !important;
    color: #0050b3 !important;
}
.edit-dialog.item-detail-dialog .server-table .account-role-tag.account-role-v3 {
    background-color: #fff7e6 !important;
    border-color: #ffc069 !important;
    color: #ad4e00 !important;
}
.edit-dialog.item-detail-dialog .server-table .account-role-tag.account-role-v4 {
    background-color: #fff1f0 !important;
    border-color: #ff7875 !important;
    color: #a8071a !important;
}
.edit-dialog.item-detail-dialog .server-table .account-role-tag.account-role-v5 {
    background-color: #f9f0ff !important;
    border-color: #b37feb !important;
    color: #391085 !important;
}

.edit-dialog.item-detail-dialog .server-table tbody tr:nth-child(even) td:nth-child(1),
.edit-dialog.item-detail-dialog .server-table tbody tr:nth-child(even) td:nth-child(2) {
    background-color: rgba(255, 248, 240, 0.95);
}

.edit-dialog.item-detail-dialog .server-table tbody tr:nth-child(odd) td:nth-child(1),
.edit-dialog.item-detail-dialog .server-table tbody tr:nth-child(odd) td:nth-child(2) {
    background-color: rgba(255, 255, 255, 0.95);
}

.edit-dialog.item-detail-dialog .server-table tbody tr:hover td:nth-child(1),
.edit-dialog.item-detail-dialog .server-table tbody tr:hover td:nth-child(2) {
    background-color: #f8ebe8;
}

.edit-dialog.item-detail-dialog .server-table .server-cell {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: baseline;
    gap: 4px;
    min-width: 0;
    line-height: 1.2;
}

.edit-dialog.item-detail-dialog .server-table .server-cell-area {
    font-size: inherit !important;
    font-weight: 600;
    color: #8a969c;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 0 0 auto;
    max-width: 46%;
}

.edit-dialog.item-detail-dialog .server-table .server-cell-name {
    font-weight: 600;
    font-size: inherit !important;
    color: #5a6d76;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
    flex: 1 1 auto;
}

.edit-dialog.item-detail-dialog .server-table .server-index-cell {
    text-align: center;
    font-weight: 600;
    font-size: inherit !important;
    color: #5a6d76;
}

/* ---------- 行情 tip 外壳：暖色面板；内部按材料/装备分别细化 ---------- */
.market-detail-tooltip,
.market-attrs-tooltip {
    --tip-ink: #5a6d76;
    --tip-muted: #8a969c;
    --tip-line: rgba(26, 43, 52, 0.12);
    --tip-panel: rgba(255, 252, 247, 0.98);
    --tip-card: rgba(255, 255, 255, 0.88);
    background:
        radial-gradient(ellipse 55% 45% at 12% 10%, rgba(198, 40, 40, 0.08), transparent 55%),
        var(--tip-panel) !important;
    border: 1px solid var(--tip-line) !important;
    border-radius: 14px !important;
    box-shadow: 0 18px 48px rgba(26, 43, 52, 0.18) !important;
    padding: 10px 12px !important;
    font-family: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif !important;
    color: var(--tip-ink) !important;
}

.market-detail-tooltip .tooltip-content,
.market-attrs-tooltip .tooltip-content {
    gap: 8px;
}

.market-detail-tooltip .tooltip-header,
.market-attrs-tooltip .tooltip-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 2px 2px 8px;
    border-bottom: 1px solid var(--tip-line);
    background: transparent !important;
}

.market-detail-tooltip .tooltip-header h3,
.market-attrs-tooltip .tooltip-header h3 {
    margin: 0;
    font-family: "Noto Serif SC", "Songti SC", "STSong", "SimSun", serif;
    font-size: 15px !important;
    font-weight: 700;
    color: #4a5f69 !important;
    letter-spacing: 0.02em;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

.market-detail-tooltip .tooltip-close-btn,
.market-attrs-tooltip .tooltip-close-btn {
    background: rgba(255, 255, 255, 0.7) !important;
    border: 1px solid var(--tip-line) !important;
    border-radius: 8px !important;
    color: var(--tip-muted) !important;
    width: 28px;
    height: 28px;
    font-size: 18px !important;
    line-height: 1;
}

.market-detail-tooltip .tooltip-close-btn:hover,
.market-attrs-tooltip .tooltip-close-btn:hover {
    color: var(--boot-accent) !important;
    border-color: rgba(198, 40, 40, 0.35) !important;
    background: var(--boot-accent-soft) !important;
}

.market-detail-tooltip .tooltip-log-btn,
.market-attrs-tooltip .tooltip-log-btn {
    padding: 4px 10px !important;
    border: 1px solid rgba(198, 40, 40, 0.28) !important;
    background: rgba(198, 40, 40, 0.08) !important;
    color: var(--boot-accent) !important;
    border-radius: 8px !important;
    cursor: pointer;
    font-size: 12px !important;
    font-weight: 600 !important;
}

.market-detail-tooltip .tooltip-log-btn:hover,
.market-attrs-tooltip .tooltip-log-btn:hover {
    background: rgba(198, 40, 40, 0.14) !important;
}

.market-detail-tooltip .tooltip-section,
.market-detail-tooltip .price-section,
.market-detail-tooltip .trade-section,
.market-detail-tooltip .high-price-section,
.market-detail-tooltip .chart-section,
.market-attrs-tooltip .mat-list-panel,
.market-attrs-tooltip .mat-side-box {
    background: var(--tip-card) !important;
    border: 1px solid var(--tip-line) !important;
    border-radius: 10px !important;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset;
    padding: 8px 10px !important;
}

.market-detail-tooltip .tooltip-section .section-title,
.market-attrs-tooltip .mat-panel-title {
    color: #6b7a82 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    margin-bottom: 6px !important;
    letter-spacing: 0.02em;
}

.market-detail-tooltip .tooltip-sales-badge,
.market-detail-tooltip .tooltip-maxmin-badge,
.market-detail-tooltip .tooltip-sell-adjust-badge,
.market-attrs-tooltip .tooltip-sales-badge,
.market-attrs-tooltip .tooltip-maxmin-badge,
.market-attrs-tooltip .tooltip-sell-adjust-badge {
    font-size: 11px !important;
    font-weight: 600 !important;
    border-radius: 4px !important;
    padding: 1px 6px !important;
    line-height: 1.35;
}

/* 图1：材料价列表 — 软底色胶囊 + 同色系字，避免蓝底白字/橙底白字打架 */
.market-detail-tooltip {
    font-size: 12px !important;
}

.market-detail-tooltip .price-entry,
.market-detail-tooltip .trade-item,
.market-detail-tooltip .server-entry {
    background: rgba(255, 255, 255, 0.72) !important;
    border: 1px solid rgba(26, 43, 52, 0.08);
    border-radius: 6px !important;
    font-size: 12px !important;
    font-weight: 600;
    color: var(--tip-ink) !important;
    height: auto !important;
    min-height: 24px;
    padding: 3px 8px !important;
    line-height: 1.25;
    gap: 6px;
}

.market-detail-tooltip .server-entry:hover,
.market-detail-tooltip .server-entry.clickable-server:hover {
    background: rgba(198, 40, 40, 0.06) !important;
    transform: none;
    box-shadow: none;
}

.market-detail-tooltip .price-rank {
    background: rgba(59, 130, 246, 0.12) !important;
    color: #3b6fd4 !important;
    border: 1px solid rgba(59, 130, 246, 0.28) !important;
    border-radius: 4px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    padding: 1px 6px !important;
    min-width: 30px;
    text-align: center;
}

.market-detail-tooltip .price-entry .amount,
.market-detail-tooltip .trade-item .trade-price {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #dc2626 !important;
}

.market-detail-tooltip .price-entry .gold {
    background: rgba(180, 120, 60, 0.12) !important;
    color: #9a6b2f !important;
    border: 1px solid rgba(180, 120, 60, 0.28) !important;
    border-radius: 4px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    padding: 1px 6px !important;
}

.market-detail-tooltip .trade-item .trade-time,
.market-detail-tooltip .server-entry .server-price {
    font-size: 12px !important;
    font-weight: 600;
    color: var(--tip-muted) !important;
}

.market-detail-tooltip .server-entry .server-name {
    font-size: 12px !important;
    font-weight: 600;
    color: #4a5f69 !important;
}

/* 图2：装备 tip — 胶囊保持可读尺寸，靠收紧字号/行距/列距压缩 */
.market-attrs-tooltip {
    font-size: 12px !important;
    padding: 8px 10px !important;
}

.market-attrs-tooltip .mat-top-row {
    gap: 8px !important;
}

.market-attrs-tooltip .mat-side-stack {
    flex: 0 0 360px !important;
    width: 360px !important;
    gap: 8px !important;
}

.market-attrs-tooltip .mat-list-panel,
.market-attrs-tooltip .mat-side-box {
    padding: 6px 8px !important;
}

.market-attrs-tooltip .mat-listing-scroll {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.market-attrs-tooltip .mat-side-scroll {
    max-height: 160px !important;
}

.market-attrs-tooltip .mat-card {
    /* 不强制白底，保留公示/高收藏等语义底色；两行紧凑布局 */
    border-radius: 8px !important;
    padding: 5px 10px !important;
    gap: 3px !important;
    font-size: 12px !important;
}

.market-attrs-tooltip .mat-card-head {
    gap: 8px !important;
    align-items: center !important;
}

.market-attrs-tooltip .mat-card-head-left {
    gap: 6px !important;
    flex-wrap: wrap !important;
    align-items: center !important;
}

.market-attrs-tooltip .mat-rank {
    background: rgba(59, 130, 246, 0.12) !important;
    color: #3b6fd4 !important;
    border: 1px solid rgba(59, 130, 246, 0.28) !important;
    border-radius: 4px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    min-width: 30px !important;
    padding: 1px 6px !important;
}

.market-attrs-tooltip .mat-price {
    color: #dc2626 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

.market-attrs-tooltip .mat-name {
    color: #5a6d76 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

.market-attrs-tooltip .mat-meta {
    color: #8a969c !important;
    font-size: 11px !important;
    font-weight: 500 !important;
}

.market-attrs-tooltip .mat-gold {
    background: rgba(180, 120, 60, 0.14) !important;
    color: #9a6b2f !important;
    border: 1px solid rgba(180, 120, 60, 0.28) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    padding: 2px 8px !important;
    border-radius: 4px !important;
}

.market-attrs-tooltip .mat-buy-btn {
    padding: 2px 8px !important;
    border: 1px solid rgba(5, 150, 105, 0.35) !important;
    background: rgba(5, 150, 105, 0.10) !important;
    color: #047857 !important;
    border-radius: 4px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
}

.market-attrs-tooltip .mat-buy-btn:hover {
    background: rgba(5, 150, 105, 0.18) !important;
    border-color: rgba(5, 150, 105, 0.50) !important;
    color: #065f46 !important;
}

.market-attrs-tooltip .mat-main {
    display: inline !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #4a5f69 !important;
    line-height: 1.25 !important;
    white-space: nowrap;
}

.market-attrs-tooltip .mat-chips {
    gap: 5px !important;
    margin: 0 !important;
}

/* 属性胶囊恢复正常大小，不再压成过小 pill */
.market-attrs-tooltip .mat-chip {
    font-size: 12px !important;
    font-weight: 600 !important;
    padding: 2px 8px !important;
    border-radius: 999px !important;
    line-height: 1.35 !important;
}

.market-attrs-tooltip .mat-hl-tag {
    font-size: 11px !important;
    font-weight: 600 !important;
    padding: 2px 8px !important;
    border-radius: 4px !important;
    line-height: 1.35 !important;
}

/* ---------- 修改/新增账号数据弹窗：对齐详细信息列表风格 ---------- */
.edit-dialog.account-data-dialog .dialog-content {
    padding: 14px 18px 12px !important;
    max-width: 1280px !important;
    width: 96% !important;
    max-height: 92vh;
}

.edit-dialog.account-data-dialog .dialog-content h2 {
    margin: 0 0 12px !important;
    padding: 0 0 10px !important;
    border-bottom: 1px solid var(--boot-line);
    font-family: "Noto Serif SC", "Songti SC", "STSong", "SimSun", serif;
    font-size: 18px !important;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: var(--boot-ink) !important;
    line-height: 1.3;
}

.edit-dialog.account-data-dialog .form-content {
    padding-right: 4px;
}

.edit-dialog.account-data-dialog .form-row {
    gap: 10px;
    margin-bottom: 8px;
}

.edit-dialog.account-data-dialog .form-group {
    margin-bottom: 8px;
}

.edit-dialog.account-data-dialog .form-group > label {
    color: var(--boot-muted) !important;
    font-size: 11px !important;
    font-weight: 600;
    letter-spacing: 0.02em;
    margin-bottom: 3px !important;
}

.edit-dialog.account-data-dialog .form-group input,
.edit-dialog.account-data-dialog .form-group select,
.edit-dialog.account-data-dialog .datetime-input-wrap .datetime-input {
    border: 1px solid var(--boot-line) !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, 0.88) !important;
    color: var(--boot-ink-soft) !important;
    font-size: 12px !important;
    font-weight: 600;
    line-height: 1.2;
    padding: 4px 8px !important;
    min-height: 28px;
    box-shadow: none !important;
}

.edit-dialog.account-data-dialog .form-group input:focus,
.edit-dialog.account-data-dialog .form-group select:focus,
.edit-dialog.account-data-dialog .datetime-input-wrap .datetime-input:focus {
    border-color: var(--boot-accent) !important;
    box-shadow: 0 0 0 2px var(--boot-accent-soft) !important;
    outline: none;
}

.edit-dialog.account-data-dialog .datetime-now-btn,
.edit-dialog.account-data-dialog .server-swap-btn {
    border: 1px solid rgba(42, 111, 151, 0.35) !important;
    border-radius: 999px !important;
    background: #f0f7fb !important;
    color: #1f5575 !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    padding: 4px 10px !important;
    min-height: 26px;
    box-shadow: none !important;
}

.edit-dialog.account-data-dialog .datetime-now-btn:hover,
.edit-dialog.account-data-dialog .server-swap-btn:hover {
    background: #e4f0f8 !important;
    border-color: rgba(42, 111, 151, 0.55) !important;
    color: #1a2b34 !important;
}

.edit-dialog.account-data-dialog .server-swap-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    padding: 0 !important;
    color: #1f5575;
}

.edit-dialog.account-data-dialog .server-swap-btn svg {
    width: 16px;
    height: 16px;
}

.edit-dialog.account-data-dialog .available-items {
    background: rgba(255, 255, 255, 0.55) !important;
    border: 1px solid var(--boot-line) !important;
    border-radius: 12px !important;
    padding: 8px !important;
    gap: 6px !important;
    max-height: 112px;
}

.edit-dialog.account-data-dialog .item-btn {
    border: 1px solid rgba(42, 111, 151, 0.35) !important;
    border-radius: 999px !important;
    background: #f0f7fb !important;
    color: #1f5575 !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.2;
    padding: 3px 8px !important;
    box-shadow: none !important;
}

.edit-dialog.account-data-dialog .item-btn:hover {
    background: #e4f0f8 !important;
    border-color: rgba(42, 111, 151, 0.55) !important;
    color: #1a2b34 !important;
}

.edit-dialog.account-data-dialog .item-btn .item-icon {
    width: 12px !important;
    height: 12px !important;
}

/* 物品列表：对齐详细信息 .server-table */
.edit-dialog.account-data-dialog .item-table {
    --detail-table-fs: 12px;
    width: 100% !important;
    margin-top: 6px !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    table-layout: fixed !important;
    font-family: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif;
    font-size: var(--detail-table-fs) !important;
    color: #5a6d76;
    background: rgba(255, 255, 255, 0.55);
    border: 1px solid var(--boot-line);
    border-radius: 12px;
    overflow: hidden;
    -webkit-font-smoothing: antialiased;
}

.edit-dialog.account-data-dialog .item-table th,
.edit-dialog.account-data-dialog .item-table td {
    padding: 1px 4px !important;
    border: none !important;
    border-bottom: 1px solid rgba(26, 43, 52, 0.1) !important;
    text-align: center;
    vertical-align: middle !important;
    line-height: 1.15 !important;
    font-size: var(--detail-table-fs) !important;
    font-weight: 600;
    color: #5a6d76;
    letter-spacing: 0.01em;
    height: 28px;
}

.edit-dialog.account-data-dialog .item-table thead th {
    background: linear-gradient(180deg, #f8f2e9 0%, #ebe2d4 100%) !important;
    color: #5a6d76 !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    position: sticky;
    top: 0;
    z-index: 2;
    box-shadow: 0 1px 0 rgba(26, 43, 52, 0.08);
}

.edit-dialog.account-data-dialog .item-table tbody tr {
    height: auto !important;
}

.edit-dialog.account-data-dialog .item-table tbody tr:nth-child(even):not([class*="item-row-profit"]):not(.item-sold-out) {
    background-color: rgba(255, 248, 240, 0.85);
}

.edit-dialog.account-data-dialog .item-table tbody tr:nth-child(odd):not([class*="item-row-profit"]):not(.item-sold-out) {
    background-color: rgba(255, 255, 255, 0.7);
}

.edit-dialog.account-data-dialog .item-table tbody tr:hover {
    background-color: rgba(198, 40, 40, 0.06) !important;
}

.edit-dialog.account-data-dialog .item-table th:nth-child(1),
.edit-dialog.account-data-dialog .item-table td:nth-child(1) {
    text-align: left !important;
    padding-left: 6px !important;
    width: 34% !important;
}

.edit-dialog.account-data-dialog .item-table th:nth-child(2),
.edit-dialog.account-data-dialog .item-table td:nth-child(2),
.edit-dialog.account-data-dialog .item-table th:nth-child(3),
.edit-dialog.account-data-dialog .item-table td:nth-child(3),
.edit-dialog.account-data-dialog .item-table th:nth-child(4),
.edit-dialog.account-data-dialog .item-table td:nth-child(4) {
    width: 8% !important;
}

.edit-dialog.account-data-dialog .item-table th:nth-child(5),
.edit-dialog.account-data-dialog .item-table td:nth-child(5) {
    width: 10% !important;
}

.edit-dialog.account-data-dialog .item-table th:nth-child(6),
.edit-dialog.account-data-dialog .item-table td:nth-child(6) {
    width: 24% !important;
    min-width: 210px;
}

.edit-dialog.account-data-dialog .edit-item-name-line {
    line-height: 1.15 !important;
    gap: 0 4px !important;
    flex-wrap: nowrap !important;
    max-width: 100%;
    overflow: hidden;
}

.edit-dialog.account-data-dialog .edit-item-title {
    font-weight: 600 !important;
    color: #5a6d76;
}

.edit-dialog.account-data-dialog .edit-item-meta-tag {
    font-size: 11px !important;
    font-weight: 500;
    line-height: 1.2;
}

.edit-dialog.account-data-dialog .item-table .item-icon {
    width: 14px !important;
    height: 14px !important;
    vertical-align: -2px;
    margin-right: 3px;
}

.edit-dialog.account-data-dialog .quantity-input,
.edit-dialog.account-data-dialog .price-input,
.edit-dialog.account-data-dialog .hadSale-input,
.edit-dialog.account-data-dialog .item-price-type {
    width: 92% !important;
    max-width: 100%;
    height: 22px !important;
    min-height: 22px !important;
    padding: 0 4px !important;
    border: 1px solid rgba(26, 43, 52, 0.16) !important;
    border-radius: 4px !important;
    background: rgba(255, 255, 255, 0.92) !important;
    color: #5a6d76 !important;
    font-size: 12px !important;
    font-weight: 600;
    line-height: 20px !important;
    box-sizing: border-box;
}

.edit-dialog.account-data-dialog .quantity-input:focus,
.edit-dialog.account-data-dialog .price-input:focus,
.edit-dialog.account-data-dialog .hadSale-input:focus,
.edit-dialog.account-data-dialog .item-price-type:focus {
    border-color: var(--boot-accent) !important;
    box-shadow: 0 0 0 2px var(--boot-accent-soft) !important;
    outline: none;
}

.edit-dialog.account-data-dialog .item-actions {
    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    white-space: nowrap;
}

.edit-dialog.account-data-dialog .item-actions .action-btn {
    appearance: none;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0 8px !important;
    height: 22px !important;
    min-height: 22px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(42, 111, 151, 0.35) !important;
    background: #f0f7fb !important;
    color: #1f5575 !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    box-shadow: none !important;
    white-space: nowrap;
    flex: 0 0 auto;
}

.edit-dialog.account-data-dialog .item-actions .action-btn:hover {
    background: #e4f0f8 !important;
    border-color: rgba(42, 111, 151, 0.55) !important;
    color: #1a2b34 !important;
}

.edit-dialog.account-data-dialog .item-actions .delete-item-btn {
    border-color: rgba(198, 40, 40, 0.35) !important;
    background: rgba(198, 40, 40, 0.08) !important;
    color: #c62828 !important;
}

.edit-dialog.account-data-dialog .item-actions .delete-item-btn:hover {
    background: rgba(198, 40, 40, 0.14) !important;
    border-color: rgba(198, 40, 40, 0.55) !important;
    color: #8e1a1a !important;
}

.edit-dialog.account-data-dialog .dialog-buttons {
    margin-top: 10px !important;
    padding-top: 10px !important;
    border-top: 1px solid var(--boot-line) !important;
    background: transparent !important;
}

.edit-dialog.account-data-dialog .dialog-buttons .action-btn,
.edit-dialog.account-data-dialog .dialog-buttons button {
    appearance: none;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 6px 14px !important;
    min-height: 30px;
    border-radius: 999px !important;
    border: 1px solid rgba(42, 111, 151, 0.35) !important;
    background: #f0f7fb !important;
    color: #1f5575 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.2;
    box-shadow: none !important;
}

.edit-dialog.account-data-dialog .dialog-buttons .action-btn:hover,
.edit-dialog.account-data-dialog .dialog-buttons button:hover {
    background: #e4f0f8 !important;
    border-color: rgba(42, 111, 151, 0.55) !important;
    color: #1a2b34 !important;
}

.edit-dialog.account-data-dialog .dialog-buttons .merge-btn {
    border-color: rgba(8, 151, 156, 0.4) !important;
    background: rgba(8, 151, 156, 0.08) !important;
    color: #08979c !important;
}

.edit-dialog.account-data-dialog .dialog-buttons .merge-btn:hover {
    background: rgba(8, 151, 156, 0.14) !important;
    border-color: rgba(8, 151, 156, 0.55) !important;
    color: #006d75 !important;
}

/* 盈利状态底色保留语义，略柔化以贴近暖色面板 */
.edit-dialog.account-data-dialog tr.item-row-profit-target-met {
    background-color: rgba(114, 46, 209, 0.12) !important;
}

.edit-dialog.account-data-dialog tr.item-row-profit-loss {
    background-color: rgba(47, 107, 58, 0.12) !important;
}

.edit-dialog.account-data-dialog tr.item-row-profit-below-target {
    background-color: rgba(198, 40, 40, 0.1) !important;
}

.edit-dialog.account-data-dialog tr.item-sold-out {
    opacity: 0.72;
}

/* ---------- 捡漏列表：复用详细信息弹窗暖色骨架 ---------- */
.edit-dialog.bargain-list-dialog .dialog-content {
    width: 96%;
    max-width: 1480px;
    max-height: 90vh;
}

.edit-dialog.bargain-list-dialog .dialog-title-section {
    gap: 10px !important;
}

.edit-dialog.bargain-list-dialog .bargain-filter-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 14px;
}

.edit-dialog.bargain-list-dialog .bargain-filter-field {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--boot-ink-soft);
    font-weight: 600;
    white-space: nowrap;
}

.edit-dialog.bargain-list-dialog .bargain-filter-field input[type="number"],
.edit-dialog.bargain-list-dialog .bargain-filter-field select {
    width: 72px;
    height: 28px;
    border: 1px solid var(--boot-line);
    border-radius: 8px;
    padding: 0 8px;
    font-size: 13px;
    color: var(--boot-ink);
    background: rgba(255, 255, 255, 0.88);
}

.edit-dialog.bargain-list-dialog .bargain-filter-field select {
    width: 88px;
}

.edit-dialog.bargain-list-dialog .bargain-filter-suffix {
    color: var(--boot-muted);
    font-weight: 600;
}

.edit-dialog.bargain-list-dialog .bargain-reset-btn {
    margin-left: auto;
    height: 28px;
    padding: 0 12px;
    border: 1px solid var(--boot-line);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: var(--boot-ink-soft);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
}

.edit-dialog.bargain-list-dialog .bargain-reset-btn:hover {
    border-color: rgba(198, 40, 40, 0.35);
    color: var(--boot-accent);
    background: var(--boot-accent-soft);
}

.edit-dialog.bargain-list-dialog .bargain-filter-hint {
    margin: 0;
    font-size: 12px;
    color: var(--boot-muted);
    line-height: 1.5;
    font-weight: 500;
}

.edit-dialog.bargain-list-dialog .bargain-table-wrap {
    height: min(680px, calc(90vh - 180px));
    min-height: 280px;
}

.edit-dialog.bargain-list-dialog .bargain-row {
    cursor: pointer;
}

.edit-dialog.bargain-list-dialog .bargain-item-inner {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    max-width: 100%;
    min-width: 0;
}

.edit-dialog.bargain-list-dialog .bargain-item-icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    object-fit: contain;
}

.edit-dialog.bargain-list-dialog .bargain-item-name {
    font-weight: 700;
    color: var(--boot-ink);
    overflow: hidden;
    text-overflow: ellipsis;
}

.edit-dialog.bargain-list-dialog .bargain-server-cell {
    overflow: hidden !important;
    text-overflow: ellipsis;
}

.edit-dialog.bargain-list-dialog .bargain-server-name {
    margin-right: 6px;
    font-weight: 600;
    color: var(--boot-ink-soft);
}

.edit-dialog.bargain-list-dialog .bargain-row td {
    white-space: nowrap !important;
}

.edit-dialog.bargain-list-dialog .bargain-num {
    text-align: right;
    font-variant-numeric: tabular-nums;
    padding-left: 2px !important;
    padding-right: 6px !important;
}

.edit-dialog.bargain-list-dialog .bargain-price-cell {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    white-space: nowrap !important;
    text-overflow: clip !important;
    line-height: 1.2 !important;
}

.edit-dialog.bargain-list-dialog .bargain-price-list {
    display: flex;
    flex-wrap: nowrap;
    gap: 2px 3px;
    align-items: center;
    width: max-content;
}

.edit-dialog.bargain-list-dialog .bargain-price-chip {
    font-variant-numeric: tabular-nums;
    font-size: 11px;
    line-height: 1.3;
    padding: 0 3px;
    border-radius: 3px;
    background: rgba(26, 43, 52, 0.06);
    color: #5a6d76;
    font-weight: 600;
    flex-shrink: 0;
}

.edit-dialog.bargain-list-dialog .bargain-price-chip.is-buyable {
    background: var(--boot-accent-soft);
    color: var(--boot-accent);
    font-weight: 700;
}

.edit-dialog.bargain-list-dialog .bargain-buy-cell {
    text-align: center;
    white-space: nowrap !important;
}

.edit-dialog.bargain-list-dialog .bargain-buy-btn {
    padding: 2px 8px;
    border: 1px solid #ffa39e;
    background: #fff1f0;
    color: #cf1322;
    border-radius: 4px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    white-space: nowrap;
}

.edit-dialog.bargain-list-dialog .bargain-buy-btn:hover {
    background: #ffccc7;
    border-color: #ff7875;
}

.edit-dialog.bargain-list-dialog .bargain-gap {
    display: inline-block;
    min-width: 52px;
    text-align: center;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.edit-dialog.bargain-list-dialog .bargain-gap-ok { color: #2f6b3a; }
.edit-dialog.bargain-list-dialog .bargain-gap-assumed { color: var(--boot-accent); }
.edit-dialog.bargain-list-dialog .bargain-gap-mid { color: var(--boot-accent); }
.edit-dialog.bargain-list-dialog .bargain-gap-high { color: var(--boot-accent-deep); }

.edit-dialog.bargain-list-dialog .bargain-over-buy {
    color: var(--boot-accent) !important;
}

.edit-dialog.bargain-list-dialog .bargain-empty {
    text-align: center;
    color: var(--boot-muted);
    padding: 36px 12px !important;
    font-weight: 500;
}

/* ---------- 可卖出列表 / 库存盈利表：复用详细信息弹窗暖色骨架 ---------- */
.edit-dialog.pd-style-dialog .dialog-content {
    width: 96%;
    max-width: 1480px;
    max-height: 92vh;
}

.edit-dialog.inventory-overview-dialog .dialog-content {
    max-width: 1600px;
}

.edit-dialog.pd-style-dialog .inv-profit-bins {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 10px;
    margin: 0;
    font-size: 12px;
    color: var(--boot-ink-soft);
    line-height: 1.45;
}

.edit-dialog.pd-style-dialog .inv-bin-item {
    margin-left: 0;
}

.edit-dialog.pd-style-dialog .inv-bin-label {
    opacity: 1;
    font-weight: 600;
}

.edit-dialog.pd-style-dialog .inv-bin-label-neg {
    color: var(--boot-ok);
}

.edit-dialog.pd-style-dialog .inv-bin-label-pos {
    color: var(--boot-accent);
}

.edit-dialog.pd-style-dialog .inv-bin-count {
    color: var(--boot-ink);
}

.edit-dialog.item-detail-dialog.pd-style-dialog .server-table-container {
    min-height: 240px;
    height: min(720px, calc(92vh - 140px));
}

.edit-dialog.pd-style-dialog .pd-result-table {
    --detail-table-fs: 12px;
    width: 100%;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    font-size: var(--detail-table-fs);
    font-family: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif;
    color: #5a6d76;
    -webkit-font-smoothing: antialiased;
}

.edit-dialog.pd-style-dialog .pd-result-table th,
.edit-dialog.pd-style-dialog .pd-result-table td {
    padding: 6px 8px;
    border: 1px solid rgba(26, 43, 52, 0.1);
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
    letter-spacing: 0.01em;
    font-size: var(--detail-table-fs);
    font-weight: 600;
    color: #5a6d76;
}

.edit-dialog.pd-style-dialog .pd-result-table thead th {
    position: sticky;
    top: 0;
    z-index: 5;
    background: linear-gradient(180deg, #f8f2e9 0%, #ebe2d4 100%);
    color: #5a6d76;
    font-weight: 600;
    white-space: nowrap;
    box-shadow: 0 1px 0 rgba(26, 43, 52, 0.08);
    border-bottom: 2px solid rgba(198, 40, 40, 0.28);
    text-align: center;
    vertical-align: middle;
}

.edit-dialog.pd-style-dialog .pd-result-table thead th[data-sort] {
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
    padding-right: 16px;
    position: relative;
}

.edit-dialog.pd-style-dialog .pd-result-table thead th[data-sort]:hover {
    background: linear-gradient(180deg, #f4ecdd 0%, #e6d8c4 100%);
}

.edit-dialog.pd-style-dialog .pd-result-table thead th[data-sort]::after {
    content: '';
    position: absolute;
    right: 5px;
    top: 50%;
    transform: translateY(-50%);
    border: 4px solid transparent;
    opacity: 0.35;
}

.edit-dialog.pd-style-dialog .pd-result-table thead th[data-sort]:not(.sort-asc):not(.sort-desc)::after {
    border-top-color: #5a6d76;
    margin-top: 2px;
}

.edit-dialog.pd-style-dialog .pd-result-table thead th[data-sort].sort-asc::after {
    border-bottom-color: #c62828;
    margin-top: -2px;
    opacity: 0.85;
}

.edit-dialog.pd-style-dialog .pd-result-table thead th[data-sort].sort-desc::after {
    border-top-color: #c62828;
    margin-top: 2px;
    opacity: 0.85;
}

.edit-dialog.pd-style-dialog .pd-result-table tbody tr:nth-child(even) {
    background-color: rgba(255, 248, 240, 0.85);
}

.edit-dialog.pd-style-dialog .pd-result-table tbody tr:nth-child(odd) {
    background-color: rgba(255, 255, 255, 0.7);
}

.edit-dialog.pd-style-dialog .pd-result-table tbody tr:hover {
    background-color: rgba(198, 40, 40, 0.06);
    cursor: pointer;
}

.edit-dialog.pd-style-dialog .pd-result-table .pd-group-header:hover {
    background: transparent;
    cursor: default;
}

.edit-dialog.pd-style-dialog .pd-result-table .pd-data-row td,
.edit-dialog.pd-style-dialog .pd-result-table tbody tr td:not(.inv-count-cell):not(.inv-cost-cell) {
    background: transparent;
}

.edit-dialog.pd-style-dialog .pd-result-table .pd-data-row:hover td,
.edit-dialog.pd-style-dialog .pd-result-table tbody tr:hover td {
    background: transparent;
}

.edit-dialog.pd-style-dialog .pd-result-table .pd-group-header {
    background: transparent;
    cursor: default;
}

.edit-dialog.pd-style-dialog .pd-result-table .pd-group-header td {
    padding: 0;
    border-top: 8px solid transparent;
    background: transparent;
    overflow: visible;
    text-align: left;
}

.edit-dialog.pd-style-dialog .pd-result-table .pd-group-title {
    background: linear-gradient(90deg, rgba(198, 40, 40, 0.08) 0%, rgba(255, 250, 243, 0.92) 58%);
    border-left-color: var(--boot-accent);
}

.edit-dialog.pd-style-dialog .pd-result-table .pd-group-header.pd-group-gold .pd-group-title {
    border-left-color: #c47a12;
    background: linear-gradient(90deg, rgba(250, 140, 22, 0.16) 0%, rgba(255, 250, 243, 0.92) 58%);
}

.edit-dialog.pd-style-dialog .pd-result-table .pd-group-header.pd-group-great .pd-group-title {
    border-left-color: var(--boot-ok);
    background: linear-gradient(90deg, rgba(47, 107, 58, 0.12) 0%, rgba(255, 250, 243, 0.92) 58%);
}

.edit-dialog.pd-style-dialog .pd-result-table .pd-group-header.pd-group-good .pd-group-title {
    border-left-color: #3d8b8b;
    background: linear-gradient(90deg, rgba(54, 207, 201, 0.12) 0%, rgba(255, 250, 243, 0.92) 58%);
}

.edit-dialog.pd-style-dialog .pd-group-name {
    color: var(--boot-ink);
}

.edit-dialog.pd-style-dialog .pd-group-meta {
    background: rgba(26, 43, 52, 0.06);
    color: var(--boot-ink-soft);
}

.edit-dialog.pd-style-dialog .pd-highlight {
    color: var(--boot-accent);
}

.edit-dialog.pd-style-dialog .pd-server-name,
.edit-dialog.pd-style-dialog .pd-cur-price,
.edit-dialog.pd-style-dialog .item-name-text {
    color: var(--boot-ink);
}

.edit-dialog.pd-style-dialog .pd-player {
    color: var(--boot-muted);
}

.edit-dialog.pd-style-dialog .pd-cell-target {
    color: var(--boot-accent);
}

.edit-dialog.pd-style-dialog .pd-qty-badge {
    background: var(--boot-accent-soft);
    color: var(--boot-accent-deep);
    border-color: rgba(198, 40, 40, 0.28);
}

.edit-dialog.pd-style-dialog .pd-empty {
    background: transparent;
    color: var(--boot-muted);
    padding: 36px 12px;
    font-weight: 500;
}

.edit-dialog.pd-style-dialog .lazy-load-hint {
    text-align: center;
    padding: 8px 0 10px;
    color: var(--boot-muted);
    font-size: 12px;
}
